diff --git a/Trigger/TrigAlgorithms/TrigL2MuonSA/src/MuFastSteering.cxx b/Trigger/TrigAlgorithms/TrigL2MuonSA/src/MuFastSteering.cxx index 3169847a8bc76a9c45e85aaca886c9806e76ba8c..93af085417960d865919c1441657785eca2b1d90 100644 --- a/Trigger/TrigAlgorithms/TrigL2MuonSA/src/MuFastSteering.cxx +++ b/Trigger/TrigAlgorithms/TrigL2MuonSA/src/MuFastSteering.cxx @@ -321,7 +321,7 @@ StatusCode MuFastSteering::execute() for (size_t size=0; size<roiCollection->size(); size++){ const LVL1::RecMuonRoI* recRoI = matchingRecRoI( roiCollection->at(size)->roiWord(), *recRoiCollection ); - CHECK( recRoI != nullptr ); + if( recRoI == nullptr ) continue; recRoIVector.push_back(recRoI); ATH_MSG_DEBUG("REGTEST: " << m_recRoiCollectionKey.key() << " eta/phi = " << (recRoI)->eta() << "/" << (recRoI)->phi()); ATH_MSG_DEBUG("REGTEST: " << m_recRoiCollectionKey.key() << " size = " << recRoIVector.size()); @@ -1842,7 +1842,8 @@ bool MuFastSteering::storeMSRoiDescriptor(const TrigRoiDescriptor* const float phiHalfWidth = 0.1; const float etaHalfWidth = 0.1; - TrigRoiDescriptor* MSroiDescriptor = new TrigRoiDescriptor(roids->l1Id(), + TrigRoiDescriptor* MSroiDescriptor = new TrigRoiDescriptor(roids->roiWord(), + roids->l1Id(), roids->roiId(), pattern.etaMap, pattern.etaMap - etaHalfWidth, @@ -1909,7 +1910,8 @@ bool MuFastSteering::storeIDRoiDescriptor(const TrigRoiDescriptor* if (pattern.isTgcFailure || pattern.isRpcFailure) phiHalfWidth *= scalePhiWidthForFailure; - TrigRoiDescriptor* IDroiDescriptor = new TrigRoiDescriptor(roids->l1Id(), + TrigRoiDescriptor* IDroiDescriptor = new TrigRoiDescriptor(roids->roiWord(), + roids->l1Id(), roids->roiId(), pattern.etaVtx, pattern.etaVtx - etaHalfWidth, diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/MuonSequenceSetup.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/MuonSequenceSetup.py index 1db463f1684e2daf14f10ccf80d1f2a96d8c1aff..125532d328340ff32086b37537e09e17e6040498 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/MuonSequenceSetup.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/MuonSequenceSetup.py @@ -142,7 +142,7 @@ def muCombAlgSequence(ConfigFlags): # muCombIDSequence = parOR("l2muCombIDSequence", [muFastIDRecoSequence, muCombFilterSequence]) # for Inside-out L2SA - muFastIORecoSequence, sequenceOutL2SAIO = muFastRecoSequence( "MURoIs", doFullScanID=False, InsideOutMode=True ) + muFastIORecoSequence, sequenceOutL2SAIO = muFastRecoSequence( l2muCombViewsMaker.InViewRoIs, doFullScanID=False, InsideOutMode=True ) insideoutMuonChainFilter = MuonChainFilterAlg("FilterInsideOutMuonChains") insideoutMuonChains = getInsideOutMuonChainNames() insideoutMuonChainFilter.ChainsToFilter = insideoutMuonChains diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/MuonSetup.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/MuonSetup.py index 57209cf03234fb7814026744cf7a34e1c17278e8..a4e2acacb564f197c17ac2c24ccd6a05136166f9 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/MuonSetup.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/MuonSetup.py @@ -347,29 +347,26 @@ def muFastRecoSequence( RoIs, doFullScanID = False, InsideOutMode=False ): muFastRecoSequence = parOR("l2Mu"+postFix+"ViewNode") # In insideout mode, need to inherit muon decoding objects for TGC, RPC, MDT, CSC + import AthenaCommon.CfgMgr as CfgMgr + ViewVerify = CfgMgr.AthViews__ViewDataVerifier("muFastRecoVDV"+postFix) if InsideOutMode: - import AthenaCommon.CfgMgr as CfgMgr - ViewVerify = CfgMgr.AthViews__ViewDataVerifier("muFastIOmodeViewDataVerifier") ViewVerify.DataObjects = [('Muon::TgcPrepDataContainer','StoreGateSvc+TGC_Measurements'), ('TgcRdoContainer' , 'StoreGateSvc+TGCRDO'), ('Muon::RpcPrepDataContainer','StoreGateSvc+RPC_Measurements'), - ('Muon::MdtPrepDataContainer','StoreGateSvc+MDT_DriftCircles'), - ('TrigRoiDescriptorCollection','StoreGateSvc+MURoIs')] + ('Muon::MdtPrepDataContainer','StoreGateSvc+MDT_DriftCircles')] if MuonGeometryFlags.hasCSC(): ViewVerify.DataObjects += [('Muon::CscPrepDataContainer','StoreGateSvc+CSC_Clusters')] if MuonGeometryFlags.hasSTGC(): ViewVerify.DataObjects += [('Muon::sTgcPrepDataContainer','StoreGateSvc+STGC_Measurements')] if MuonGeometryFlags.hasMM(): ViewVerify.DataObjects += [('Muon::MMPrepDataContainer','StoreGateSvc+MM_Measurements')] - muFastRecoSequence+=ViewVerify - - import AthenaCommon.CfgMgr as CfgMgr - muFastRecoVDV = CfgMgr.AthViews__ViewDataVerifier("muFastRecoVDV") - muFastRecoVDV.DataObjects = [( 'TrigRoiDescriptorCollection' , 'StoreGateSvc+'+RoIs ), - ( 'xAOD::EventInfo' , 'StoreGateSvc+EventInfo' ), - ( 'DataVector< LVL1::RecMuonRoI >' , 'StoreGateSvc+HLT_RecMURoIs' )] + #muFastRecoSequence+=ViewVerify + else: + ViewVerify.DataObjects += [( 'TrigRoiDescriptorCollection' , 'StoreGateSvc+'+RoIs )] + ViewVerify.DataObjects += [( 'xAOD::EventInfo' , 'StoreGateSvc+EventInfo' ), + ( 'DataVector< LVL1::RecMuonRoI >' , 'StoreGateSvc+HLT_RecMURoIs' )] - muFastRecoSequence += muFastRecoVDV + muFastRecoSequence += ViewVerify if MuonGeometryFlags.hasCSC(): # Configure the L2 CSC data preparator - we can turn off the data decoding here @@ -480,7 +477,9 @@ def muFastRecoSequence( RoIs, doFullScanID = False, InsideOutMode=False ): muFastAlg.FILL_FSIDRoI = doFullScanID muFastAlg.InsideOutMode = InsideOutMode muFastAlg.TrackParticlesContainerName = TrackParticlesName - + #Do not run topo road and inside-out mode at the same time + if InsideOutMode: + muFastAlg.topoRoad = False muFastRecoSequence += muFastAlg sequenceOut = muFastAlg.MuonL2SAInfo