diff --git a/MuonSpectrometer/MuonConfig/python/MuonBytestreamDecodeConfig.py b/MuonSpectrometer/MuonConfig/python/MuonBytestreamDecodeConfig.py index 1e41a120ebc95f124a2c07dc233230101d4248ee..6d21d423a6c804d112fbb14e8ab06a78dc930461 100644 --- a/MuonSpectrometer/MuonConfig/python/MuonBytestreamDecodeConfig.py +++ b/MuonSpectrometer/MuonConfig/python/MuonBytestreamDecodeConfig.py @@ -67,7 +67,7 @@ def RpcBytestreamDecodeCfg(flags, forTrigger=False): if forTrigger: # Configure the RAW data provider for ROI access - RpcRawDataProvider.RoIs = "MURoIs" # Maybe we don't want to hard code this? + RpcRawDataProvider.RoIs = "HLT_MURoIs" # Maybe we don't want to hard code this? acc.addEventAlgo(RpcRawDataProvider, primary=True) return acc diff --git a/MuonSpectrometer/MuonConfig/python/MuonRdoDecodeConfig.py b/MuonSpectrometer/MuonConfig/python/MuonRdoDecodeConfig.py index 7b742a887e8e3a0855e46215c632bc4b1cc9e0cd..518adbeb454e850a20fd11a69f785f796efb521c 100644 --- a/MuonSpectrometer/MuonConfig/python/MuonRdoDecodeConfig.py +++ b/MuonSpectrometer/MuonConfig/python/MuonRdoDecodeConfig.py @@ -62,7 +62,7 @@ def RpcRDODecodeCfg(flags, forTrigger=False): if forTrigger: # Set the algorithm to RoI mode RpcRdoToRpcPrepData.DoSeededDecoding = True - RpcRdoToRpcPrepData.RoIs = "MURoIs" + RpcRdoToRpcPrepData.RoIs = "HLT_MURoIs" acc.addEventAlgo(RpcRdoToRpcPrepData) @@ -93,7 +93,7 @@ def TgcRDODecodeCfg(flags, forTrigger=False): if forTrigger: # Set the algorithm to RoI mode TgcRdoToTgcPrepData.DoSeededDecoding = True - TgcRdoToTgcPrepData.RoIs = "MURoIs" + TgcRdoToTgcPrepData.RoIs = "HLT_MURoIs" acc.addEventAlgo(TgcRdoToTgcPrepData) return acc @@ -126,7 +126,7 @@ def MdtRDODecodeCfg(flags, forTrigger=False): if forTrigger: # Set the algorithm to RoI mode MdtRdoToMdtPrepData.DoSeededDecoding = True - MdtRdoToMdtPrepData.RoIs = "MURoIs" + MdtRdoToMdtPrepData.RoIs = "HLT_MURoIs" acc.addEventAlgo(MdtRdoToMdtPrepData) return acc @@ -159,7 +159,7 @@ def CscRDODecodeCfg(flags, forTrigger=False): if forTrigger: # Set the algorithm to RoI mode CscRdoToCscPrepData.DoSeededDecoding = True - CscRdoToCscPrepData.RoIs = "MURoIs" + CscRdoToCscPrepData.RoIs = "HLT_MURoIs" acc.addEventAlgo(CscRdoToCscPrepData) return acc diff --git a/Reconstruction/RecJobTransforms/share/skeleton.RDOtoRDOtrigger.py b/Reconstruction/RecJobTransforms/share/skeleton.RDOtoRDOtrigger.py index 809f621921b9d8723d2f481cfa0c811d2253e14d..2eb0c0bed39ef34b529f7031c2eef8bb4ad50de5 100644 --- a/Reconstruction/RecJobTransforms/share/skeleton.RDOtoRDOtrigger.py +++ b/Reconstruction/RecJobTransforms/share/skeleton.RDOtoRDOtrigger.py @@ -264,7 +264,9 @@ for i in outSequence.getAllChildren(): from TriggerJobOpts.TriggerConfig import collectHypos, collectFilters, collectDecisionObjects hypos = collectHypos( findSubSequence(topSequence, "HLTAllSteps") ) filters = collectFilters( findSubSequence(topSequence, "HLTAllSteps") ) - decObj = collectDecisionObjects( hypos, filters, findAlgorithm(topSequence, "L1Decoder") ) + decObj = collectDecisionObjects( hypos, filters, + findAlgorithm(topSequence, "L1Decoder"), + findAlgorithm(topSequence, "DecisionSummaryMakerAlg") ) StreamRDO.ItemList += [ "xAOD::TrigCompositeContainer#"+obj for obj in decObj ] StreamRDO.ItemList += [ "xAOD::TrigCompositeAuxContainer#"+obj+"Aux." for obj in decObj ] StreamRDO.MetadataItemList += [ "xAOD::TriggerMenuContainer#*", "xAOD::TriggerMenuAuxContainer#*" ] diff --git a/Trigger/TrigAlgorithms/TrigL2MuonSA/TrigL2MuonSA/MuFastSteering.h b/Trigger/TrigAlgorithms/TrigL2MuonSA/TrigL2MuonSA/MuFastSteering.h index a4ea16b7e8aa2e56302a959782c5cc2f6ed9394f..e6ead1e5dad8a6ce7a47432be847619669cc59a7 100644 --- a/Trigger/TrigAlgorithms/TrigL2MuonSA/TrigL2MuonSA/MuFastSteering.h +++ b/Trigger/TrigAlgorithms/TrigL2MuonSA/TrigL2MuonSA/MuFastSteering.h @@ -244,11 +244,11 @@ class MuFastSteering : public HLT::FexAlgo, //ReadHandle MURoIs SG::ReadHandleKey<TrigRoiDescriptorCollection> m_roiCollectionKey{ - this, "MuRoIs", "MURoIs", "Name of the input data from L1Decoder"}; + this, "MuRoIs", "HLT_MURoIs", "Name of the input data from L1Decoder"}; //ReadHandle RecMuonRoIs SG::ReadHandleKey<DataVector<LVL1::RecMuonRoI>> m_recRoiCollectionKey{ - this, "RecMuonRoI", "RecMURoIs", "Name of the input data on LVL1::RecMuonRoI produced by L1Decoder"}; + this, "RecMuonRoI", "HLT_RecMURoIs", "Name of the input data on LVL1::RecMuonRoI produced by L1Decoder"}; //WriteHandle <xAOD::L2StandAloneMuonContainer> SG::WriteHandleKey<xAOD::L2StandAloneMuonContainer> m_muFastContainerKey{ diff --git a/Trigger/TrigAlgorithms/TrigL2MuonSA/python/TrigL2MuonSAConfig_newJO.py b/Trigger/TrigAlgorithms/TrigL2MuonSA/python/TrigL2MuonSAConfig_newJO.py index 711856784f377fe94827186173572c629ef3f6d7..5f0c241191ad0128356a2eeea146e415ef34dd57 100644 --- a/Trigger/TrigAlgorithms/TrigL2MuonSA/python/TrigL2MuonSAConfig_newJO.py +++ b/Trigger/TrigAlgorithms/TrigL2MuonSA/python/TrigL2MuonSAConfig_newJO.py @@ -273,14 +273,14 @@ def AlignmentBarrelLUTSvcCfg( flags ): # In the future, above functions should be moved to TrigL2MuonSA package(?) -def l2MuFastAlgCfg( flags, roisKey="MURoIs" ): +def l2MuFastAlgCfg( flags, roisKey="HLT_MURoIs" ): acc = ComponentAccumulator() # Get Reco alg of muFast step muFastAcc, muFastFex = muFastSteeringCfg( flags, roisKey ) muFastFex.MuRoIs = roisKey - muFastFex.RecMuonRoI = "RecMURoIs" + muFastFex.RecMuonRoI = "HLT_RecMURoIs" muFastFex.MuonL2SAInfo = muFastInfo muFastFex.forID = "forID" muFastFex.forMS = "forMS" diff --git a/Trigger/TrigAlgorithms/TrigT2CaloCommon/python/CaloDef.py b/Trigger/TrigAlgorithms/TrigT2CaloCommon/python/CaloDef.py index 8ce862cadb681821d03af9643657902d578ce0ef..d5dc4604ef53d4035ef9d64fcf0bb8aeb6147bbd 100644 --- a/Trigger/TrigAlgorithms/TrigT2CaloCommon/python/CaloDef.py +++ b/Trigger/TrigAlgorithms/TrigT2CaloCommon/python/CaloDef.py @@ -15,7 +15,7 @@ def setMinimalCaloSetup() : # defined as private within this module, so that they can be configured only in functions in this module ######################## -def _algoHLTCaloCell(name="HLTCaloCellMaker", inputEDM='FSRoI', outputEDM='CellsClusters', RoIMode=True, OutputLevel=ERROR) : +def _algoHLTCaloCell(name="HLTCaloCellMaker", inputEDM='HLT_FSRoI', outputEDM='CellsClusters', RoIMode=True, OutputLevel=ERROR) : setMinimalCaloSetup() from AthenaCommon.AppMgr import ServiceMgr as svcMgr from TrigCaloRec.TrigCaloRecConfig import HLTCaloCellMaker @@ -43,7 +43,7 @@ def _algoHLTTopoClusterLC(inputEDM="CellsClusters", OutputLevel=ERROR, algSuffix algo.OutputLevel=OutputLevel return algo -def _algoL2Egamma(inputEDM="EMRoIs",OutputLevel=ERROR,doRinger=False, ClustersName="HLT_L2CaloEMClusters", RingerKey="HLT_L2CaloRinger"): +def _algoL2Egamma(inputEDM="HLT_EMRoIs",OutputLevel=ERROR,doRinger=False, ClustersName="HLT_L2CaloEMClusters", RingerKey="HLT_L2CaloRinger"): setMinimalCaloSetup() from TrigT2CaloEgamma.TrigT2CaloEgammaConfig import T2CaloEgamma_ReFastAlgo algo=T2CaloEgamma_ReFastAlgo("FastCaloL2EgammaAlg", doRinger=doRinger, RingerKey=RingerKey) diff --git a/Trigger/TrigAlgorithms/TrigT2CaloCommon/share/testDataAccessService.py b/Trigger/TrigAlgorithms/TrigT2CaloCommon/share/testDataAccessService.py index f83fbf8cd1e431553cebda4706820e017fe2e110..53337c24d215e4439435e2a9ef534220b3b9ef58 100644 --- a/Trigger/TrigAlgorithms/TrigT2CaloCommon/share/testDataAccessService.py +++ b/Trigger/TrigAlgorithms/TrigT2CaloCommon/share/testDataAccessService.py @@ -44,7 +44,7 @@ if TriggerFlags.doCalo: from TrigCaloRec.TrigCaloRecConf import HLTCaloCellMaker, HLTCaloCellSumMaker algo1=HLTCaloCellMaker("testFastAlgo1") - algo1.RoIs="StoreGateSvc+EMRoIs" + algo1.RoIs="StoreGateSvc+HLT_EMRoIs" algo1.TrigDataAccessMT=svcMgr.TrigCaloDataAccessSvc #algo1.roiMode=False algo1.OutputLevel=VERBOSE @@ -60,7 +60,7 @@ if TriggerFlags.doCalo: algo=T2CaloEgamma_ReFastAlgo("testReFastAlgo") algo.OutputLevel=VERBOSE - algo.RoIs="StoreGateSvc+EMRoIs" + algo.RoIs="StoreGateSvc+HLT_EMRoIs" topSequence += algo diff --git a/Trigger/TrigSteer/L1Decoder/python/L1DecoderConfig.py b/Trigger/TrigSteer/L1Decoder/python/L1DecoderConfig.py index 37ce1c086afc2c10075f3385419485bd2bbf219c..a1073c1dc5e6151742227ba48e81d3fddcb6c7ed 100644 --- a/Trigger/TrigSteer/L1Decoder/python/L1DecoderConfig.py +++ b/Trigger/TrigSteer/L1Decoder/python/L1DecoderConfig.py @@ -10,15 +10,15 @@ def mapThresholdToL1DecisionCollection(threshold): Translates L1 threshold name of the DecisionsContainer name in the L1Decoder unpacking tools """ if threshold == "" or threshold == "FS": - return "L1FS" + return "HLTNav_L1FS" - mapThresholdToL1Decoder = { "EM" : "L1EM", - "MU" : "L1MU", - "J" : "L1J", - "TAU": "L1TAU", - "XE" : "L1MET", - "XS" : "L1MET", - "TE" : "L1MET" } + mapThresholdToL1Decoder = { "EM" : "HLTNav_L1EM", + "MU" : "HLTNav_L1MU", + "J" : "HLTNav_L1J", + "TAU": "HLTNav_L1TAU", + "XE" : "HLTNav_L1MET", + "XS" : "HLTNav_L1MET", + "TE" : "HLTNav_L1MET" } # remove actual threshold value from L1 threshold string for thresholdType, l1Collection in mapThresholdToL1Decoder.iteritems(): @@ -34,26 +34,26 @@ def createCaloRoIUnpackers(): from L1Decoder.L1DecoderConf import EMRoIsUnpackingTool, METRoIsUnpackingTool, JRoIsUnpackingTool, RerunRoIsUnpackingTool, TAURoIsUnpackingTool from L1Decoder.L1DecoderMonitoring import RoIsUnpackingMonitoring from TrigEDMConfig.TriggerEDMRun3 import recordable - emUnpacker = EMRoIsUnpackingTool(Decisions = recordable("L1EM"), - OutputTrigRoIs = recordable("EMRoIs"), + emUnpacker = EMRoIsUnpackingTool(Decisions = "HLTNav_L1EM", + OutputTrigRoIs = recordable("HLT_EMRoIs"), MonTool = RoIsUnpackingMonitoring( prefix="EM", maxCount=30 )) # emUnpacker.MonTool = RoIsUnpackingMonitoring( prefix="EM", maxCount=30 ) emRerunUnpacker = RerunRoIsUnpackingTool("EMRerunRoIsUnpackingTool", - SourceDecisions="L1EM", - Decisions="RerunL1EM" ) + SourceDecisions="HLTNav_L1EM", + Decisions="HLTNav_RerunL1EM" ) - metUnpacker = METRoIsUnpackingTool(Decisions = recordable("L1MET")) + metUnpacker = METRoIsUnpackingTool(Decisions = "HLTNav_L1MET") - tauUnpacker = TAURoIsUnpackingTool(Decisions = "L1TAU", - OutputTrigRoIs = "TAURoIs") + tauUnpacker = TAURoIsUnpackingTool(Decisions = "HLTNav_L1TAU", + OutputTrigRoIs = recordable("HLT_TAURoI")) tauUnpacker.MonTool = RoIsUnpackingMonitoring( prefix="TAU", maxCount=30 ) - jUnpacker = JRoIsUnpackingTool(Decisions = recordable("L1J"), - OutputTrigRoIs = recordable("JETRoI") ) + jUnpacker = JRoIsUnpackingTool(Decisions = "HLTNav_L1J", + OutputTrigRoIs = recordable("HLT_JETRoI") ) jUnpacker.MonTool = RoIsUnpackingMonitoring( prefix="J", maxCount=30 ) @@ -65,14 +65,14 @@ def createMuonRoIUnpackers(): from L1Decoder.L1DecoderMonitoring import RoIsUnpackingMonitoring from TrigEDMConfig.TriggerEDMRun3 import recordable - muUnpacker = MURoIsUnpackingTool(Decisions = recordable("L1MU"), - OutputTrigRoIs = recordable("MURoIs")) + muUnpacker = MURoIsUnpackingTool(Decisions = "HLTNav_L1MU", + OutputTrigRoIs = recordable("HLT_MURoIs")) muUnpacker.MonTool = RoIsUnpackingMonitoring( prefix="MU", maxCount=20 ) muRerunUnpacker = RerunRoIsUnpackingTool("MURerunRoIsUnpackingTool", - SourceDecisions="L1MU", - Decisions="RerunL1MU" ) + SourceDecisions="HLTNav_L1MU", + Decisions="HLTNav_RerunL1MU" ) return [muUnpacker],[muRerunUnpacker] @@ -114,7 +114,6 @@ class L1Decoder(L1Decoder) : def L1DecoderCfg(flags): - from TrigEDMConfig.TriggerEDMRun3 import recordable from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator from L1Decoder.L1DecoderConf import L1Decoder, CTPUnpackingTool @@ -122,7 +121,7 @@ def L1DecoderCfg(flags): acc = ComponentAccumulator() decoderAlg = L1Decoder() - decoderAlg.L1DecoderSummaryKey = recordable("L1DecoderSummary") + decoderAlg.L1DecoderSummaryKey = "L1DecoderSummary" # Transient, consumed by DecisionSummaryMakerAlg decoderAlg.ctpUnpacker = CTPUnpackingTool( ForceEnableAllChains = flags.Trigger.L1Decoder.forceEnableAllChains, MonTool = CTPUnpackingMonitoring(512, 200) ) diff --git a/Trigger/TrigSteer/L1Decoder/src/CTPUnpackingTool.h b/Trigger/TrigSteer/L1Decoder/src/CTPUnpackingTool.h index f83f3c0abc7639661f3a114a0e8234e715a891ae..a202b4aa64e382ff1676805b1b77797e5e77cd9d 100644 --- a/Trigger/TrigSteer/L1Decoder/src/CTPUnpackingTool.h +++ b/Trigger/TrigSteer/L1Decoder/src/CTPUnpackingTool.h @@ -30,6 +30,7 @@ public: private: + // TODO Remove if HLTConfigSvc and LVL1ConfigSvc are no longer needed to put the HLTTriggerMenu and L1Menu in the DetectorStore ServiceHandle<TrigConf::ILVL1ConfigSvc> m_lvl1ConfigSvc{this, "LVL1ConfigSvc", "TrigConf::LVL1ConfigSvc/LVL1ConfigSvc", ""}; ServiceHandle<TrigConf::IHLTConfigSvc> m_hltConfigSvc{this, "HLTConfigSvc", "TrigConf::HLTConfigSvc/HLTConfigSvc", ""}; diff --git a/Trigger/TrigSteer/L1Decoder/src/EMRoIsUnpackingTool.h b/Trigger/TrigSteer/L1Decoder/src/EMRoIsUnpackingTool.h index 6ae9f68c35e50aae53e4bf807a95b67366ed79c8..9f31b15ac343dbe779ccd29fe75747d1427d528d 100644 --- a/Trigger/TrigSteer/L1Decoder/src/EMRoIsUnpackingTool.h +++ b/Trigger/TrigSteer/L1Decoder/src/EMRoIsUnpackingTool.h @@ -42,10 +42,10 @@ private: ///@{ @name Properties SG::WriteHandleKey<TrigRoiDescriptorCollection> m_trigRoIsKey{ - this, "OutputTrigRoIs", "EMRoIs", "Name of the RoIs object produced by the unpacker"}; + this, "OutputTrigRoIs", "HLT_EMRoIs", "Name of the RoIs object produced by the unpacker"}; SG::WriteHandleKey< DataVector<LVL1::RecEmTauRoI> > m_recRoIsKey{ - this, "OutputRecRoIs", "RecEMRoIs", "Name of the RoIs object produced by the unpacker"}; + this, "OutputRecRoIs", "HLT_RecEMRoIs", "Name of the RoIs object produced by the unpacker"}; Gaudi::Property<float> m_roIWidth{this, "RoIWidth", 0.1, "Size of RoI in eta/ phi"}; ///@} diff --git a/Trigger/TrigSteer/L1Decoder/src/JRoIsUnpackingTool.h b/Trigger/TrigSteer/L1Decoder/src/JRoIsUnpackingTool.h index 0ebe26d3162edda2070a04f21bb862033d14c56c..541a5da2fa465da0c1cb9264e70329b4ca4337cc 100644 --- a/Trigger/TrigSteer/L1Decoder/src/JRoIsUnpackingTool.h +++ b/Trigger/TrigSteer/L1Decoder/src/JRoIsUnpackingTool.h @@ -33,17 +33,17 @@ public: virtual StatusCode start() override; private: SG::WriteHandleKey<TrigRoiDescriptorCollection> m_trigRoIsKey{ - this, "OutputTrigRoIs", "JETRoIs", "Name of the RoIs object produced by the unpacker"}; + this, "OutputTrigRoIs", "HLT_JETRoIs", "Name of the RoIs object produced by the unpacker"}; SG::WriteHandleKey< DataVector<LVL1::RecJetRoI> > m_recRoIsKey{ - this, "OutputRecRoIs", "RecJETRoIs", "Name of the RoIs object produced by the unpacker"}; + this, "OutputRecRoIs", "HLT_RecJETRoIs", "Name of the RoIs object produced by the unpacker"}; Gaudi::Property<float> m_roIWidth{ this, "RoIWidth", 0.4, "Size of RoI in eta/ phi"}; - Gaudi::Property<std::string> m_fsRoIKey{ this, "FSRoIKey", "FSRoI", "The key of FS RoI made earlier by the L1Decoder" }; + Gaudi::Property<std::string> m_fsRoIKey{ this, "FSRoIKey", "HLT_FSRoI", "The key of FS RoI made earlier by the L1Decoder" }; ServiceHandle<TrigConf::ILVL1ConfigSvc> m_configSvc; std::vector<TrigConf::TriggerThreshold*> m_jetThresholds; diff --git a/Trigger/TrigSteer/L1Decoder/src/L1Decoder.h b/Trigger/TrigSteer/L1Decoder/src/L1Decoder.h index 0b2fd0b6b9279b2af736fb9fbdb0b7d5790c3281..5b34bfb786c9c86dc09a1ba89a3bc53416ed3198 100644 --- a/Trigger/TrigSteer/L1Decoder/src/L1Decoder.h +++ b/Trigger/TrigSteer/L1Decoder/src/L1Decoder.h @@ -55,10 +55,10 @@ private: "Object with the time stamp when decoding started" }; SG::WriteHandleKey<TrigRoiDescriptorCollection> m_trigFSRoIKey{ - this, "OutputFSTrigRoI", "FSRoI", "Name of the RoIs object containing the single FS RoI tagged with all chains in which FS reconstruction happens and have no dependencey on L1 information"}; + this, "OutputFSTrigRoI", "HLT_FSRoI", "Name of the RoIs object containing the single FS RoI tagged with all chains in which FS reconstruction happens and have no dependencey on L1 information"}; SG::WriteHandleKey<TrigCompositeUtils::DecisionContainer> m_FSDecisions{ - this, "FSDecisions", "L1FS", "Name of the decisions container (suitable for filters) containing all unprescaled chains"}; + this, "FSDecisions", "HLTNav_L1FS", "Name of the decisions container (suitable for filters) containing all unprescaled chains"}; Gaudi::Property<bool> m_doCostMonitoring{this, "DoCostMonitoring", false, "Enables start-of-event cost monitoring behavior."}; diff --git a/Trigger/TrigSteer/L1Decoder/src/METRoIsUnpackingTool.h b/Trigger/TrigSteer/L1Decoder/src/METRoIsUnpackingTool.h index 60f98749fe3b71da33a45ed4fd6af3b43423f3fe..2360f3c5a1b4dfca855eea74f542193bf11472cd 100644 --- a/Trigger/TrigSteer/L1Decoder/src/METRoIsUnpackingTool.h +++ b/Trigger/TrigSteer/L1Decoder/src/METRoIsUnpackingTool.h @@ -30,7 +30,7 @@ public: virtual StatusCode start() override; private: - Gaudi::Property<std::string> m_fsRoIKey{ this, "FSRoIKey", "FSRoI", "The key of FS RoI made earlier by the L1Decoder" }; + Gaudi::Property<std::string> m_fsRoIKey{ this, "FSRoIKey", "HLT_FSRoI", "The key of FS RoI made earlier by the L1Decoder" }; ServiceHandle<TrigConf::ILVL1ConfigSvc> m_configSvc; LVL1::JEPRoIDecoder m_jepDecoder; diff --git a/Trigger/TrigSteer/L1Decoder/src/MURoIsUnpackingTool.h b/Trigger/TrigSteer/L1Decoder/src/MURoIsUnpackingTool.h index fa972de7236edaa11af8d32a97c1ceb495f792f1..2af1e894ef941a3e67c00bf6f28f8116b98cff3f 100644 --- a/Trigger/TrigSteer/L1Decoder/src/MURoIsUnpackingTool.h +++ b/Trigger/TrigSteer/L1Decoder/src/MURoIsUnpackingTool.h @@ -40,10 +40,10 @@ private: ///@{ @name Properties SG::WriteHandleKey< TrigRoiDescriptorCollection > m_trigRoIsKey{ - this, "OutputTrigRoIs", "MURoIs", "Name of the RoIs object produced by the unpacker"}; + this, "OutputTrigRoIs", "HLT_MURoIs", "Name of the RoIs object produced by the unpacker"}; SG::WriteHandleKey< DataVector<LVL1::RecMuonRoI> > m_recRoIsKey{ - this, "OutputRecRoIs", "RecMURoIs", "Name of the RoIs object produced by the unpacker"}; + this, "OutputRecRoIs", "HLT_RecMURoIs", "Name of the RoIs object produced by the unpacker"}; Gaudi::Property<float> m_roIWidth{"RoIWidth", 0.1, "Size of RoI in eta/ phi"}; ///@} diff --git a/Trigger/TrigSteer/L1Decoder/src/RoIsUnpackingEmulationTool.h b/Trigger/TrigSteer/L1Decoder/src/RoIsUnpackingEmulationTool.h index ce907e35bc44157854ca8e92df0249b0a17a64d0..692c146aacc514373a7c4c569ed40239ec1bfd30 100644 --- a/Trigger/TrigSteer/L1Decoder/src/RoIsUnpackingEmulationTool.h +++ b/Trigger/TrigSteer/L1Decoder/src/RoIsUnpackingEmulationTool.h @@ -32,12 +32,13 @@ class RoIsUnpackingEmulationTool : public RoIsUnpackingToolBase { virtual StatusCode start() override; private: + // Used indirectly to place the HLT JSON object into the DetStore ServiceHandle<TrigConf::IHLTConfigSvc> m_hltConfigSvc{this, "HLTConfigSvc", "TrigConf::HLTConfigSvc/HLTConfigSvc", ""}; ///@{ @name Properties SG::WriteHandleKey<TrigRoiDescriptorCollection> m_trigRoIsKey{ - this, "OutputTrigRoIs", "EMRoIs", "Name of the RoIs object produced by the unpacker"}; + this, "OutputTrigRoIs", "HLT_EMRoIs", "Name of the RoIs object produced by the unpacker"}; Gaudi::Property<float> m_roIWidth{"RoIWidth", 0.1, "Size of RoI in eta/ phi"}; diff --git a/Trigger/TrigSteer/L1Decoder/src/RoIsUnpackingToolBase.cxx b/Trigger/TrigSteer/L1Decoder/src/RoIsUnpackingToolBase.cxx index 4e1ec6337b9b5f5d873ab284d77e948b4014a4fd..8e9eae747f57e3f1f092ee402cc1647526e7a7be 100644 --- a/Trigger/TrigSteer/L1Decoder/src/RoIsUnpackingToolBase.cxx +++ b/Trigger/TrigSteer/L1Decoder/src/RoIsUnpackingToolBase.cxx @@ -41,14 +41,14 @@ StatusCode RoIsUnpackingToolBase::decodeMapping( std::function< bool(const std:: for ( const std::string& th: thresholds ) { counter++; if ( filter(th) ) { - m_thresholdToChainMapping[ HLT::Identifier( th ) ].push_back( HLT::Identifier( chain.name() ) ); - ATH_MSG_DEBUG( "Associating " << chain.name() << " with threshold " << th ); - if ( thresholds.size() > 1 ) { - std::string legName = createLegName( chain.name(), counter); - m_thresholdToChainMapping[ HLT::Identifier(th) ].push_back( HLT::Identifier( legName ) ); - m_legToChainMapping.insert( std::make_pair( HLT::Identifier( legName ), HLT::Identifier( chain.name() ) ) ); - ATH_MSG_INFO( "Associating additional chain leg " << legName << " with threshold " << th ); - } + m_thresholdToChainMapping[ HLT::Identifier( th ) ].push_back( HLT::Identifier( chain.name() ) ); + ATH_MSG_DEBUG( "Associating " << chain.name() << " with threshold " << th ); + if ( thresholds.size() > 1 ) { + std::string legName = createLegName( chain.name(), counter); + m_thresholdToChainMapping[ HLT::Identifier(th) ].push_back( HLT::Identifier( legName ) ); + m_legToChainMapping.insert( std::make_pair( HLT::Identifier( legName ), HLT::Identifier( chain.name() ) ) ); + ATH_MSG_INFO( "Associating additional chain leg " << legName << " with threshold " << th ); + } } } } diff --git a/Trigger/TrigSteer/L1Decoder/src/TAURoIsUnpackingTool.h b/Trigger/TrigSteer/L1Decoder/src/TAURoIsUnpackingTool.h index 2e4c1d16a1b556690fe8c8c6ed388adb918b0461..d284a69e9ff22f545c9a2464a6975f16ed3e3825 100644 --- a/Trigger/TrigSteer/L1Decoder/src/TAURoIsUnpackingTool.h +++ b/Trigger/TrigSteer/L1Decoder/src/TAURoIsUnpackingTool.h @@ -41,10 +41,10 @@ private: ///@{ @name Properties SG::WriteHandleKey<TrigRoiDescriptorCollection> m_trigRoIsKey{ - this, "OutputTrigRoIs", "TAURoIs", "Name of the RoIs object produced by the unpacker"}; + this, "OutputTrigRoIs", "HLT_TAURoIs", "Name of the RoIs object produced by the unpacker"}; SG::WriteHandleKey< DataVector<LVL1::RecEmTauRoI> > m_recRoIsKey{ - this, "OutputRecRoIs", "RecTAURoIs", "Name of the RoIs object produced by the unpacker"}; + this, "OutputRecRoIs", "HLT_RecTAURoIs", "Name of the RoIs object produced by the unpacker"}; Gaudi::Property<float> m_roIWidth{this, "RoIWidth", 0.1, "Size of RoI in eta/ phi"}; ///@} diff --git a/Trigger/TrigSteer/ViewAlgsTest/share/EVTest.py b/Trigger/TrigSteer/ViewAlgsTest/share/EVTest.py index abdd0f49aa0c869d8ee87add5427de991214f121..1cf075373371772e8a7a850c21783585cc230b7e 100644 --- a/Trigger/TrigSteer/ViewAlgsTest/share/EVTest.py +++ b/Trigger/TrigSteer/ViewAlgsTest/share/EVTest.py @@ -37,7 +37,7 @@ ctpUnpacker = CTPUnpackingEmulationTool( OutputLevel = DEBUG, ForceEnableAllCha #ctpUnpacker.CTPToChainMapping = [ "0:HLT_g100", "1:HLT_e20", "2:HLT_mu20", "3:HLT_2mu8", "3:HLT_mu8", "33:HLT_2mu8", "15:HLT_mu8_e8" ] l1Decoder.ctpUnpacker = ctpUnpacker -emUnpacker = RoIsUnpackingEmulationTool("EMRoIsUnpackingTool", OutputLevel=DEBUG, InputFilename="rois.dat", OutputTrigRoIs="L1EMRoIs", Decisions="L1EM" ) +emUnpacker = RoIsUnpackingEmulationTool("EMRoIsUnpackingTool", OutputLevel=DEBUG, InputFilename="rois.dat", OutputTrigRoIs="HLT_L1EMRoIs", Decisions="HLTNav_L1EM" ) ThresholdToChainMapping = ["EM7 : HLT_e8", "EM7 : HLT_mu8_e8", "EM20 : HLT_e20", "EM50 : HLT_2g50", "EM100 : HLT_g100" ] l1Decoder.roiUnpackers = [emUnpacker] @@ -52,7 +52,7 @@ viewAlgsContainer = seqAND( "ViewAlgsContainer" ) steps = [ parOR("step0Filtering"), parOR("step1InViewReco") ] -steps[0] += seqFilter( "Step0EM", Inputs=["L1EM"], Outputs=["step0EM"], +steps[0] += seqFilter( "Step0EM", Inputs=["HLTNav_L1EM"], Outputs=["step0EM"], Chains=[ x.split(':')[-1].strip() for x in ThresholdToChainMapping ] ) # all chains @@ -64,7 +64,7 @@ viewAlgsContainer += viewAlg algs=[ useExisting( "Step0EM" ) ] from ViewAlgsTest.ViewAlgsTestConf import TestViewDriver EMViewsMaker = TestViewDriver( "EMViewsMaker", OutputLevel = DEBUG, - RoIsContainer = 'L1EMRoIs', RoIsViewOutput="InViewRoI", + RoIsContainer = 'HLTNav_L1EMRoIs', RoIsViewOutput="InViewRoI", ClustersViewInput="ViewClusters", Views="EMClusterViews", ViewNodeName = viewAlgsContainer.name(), Scheduler = AlgScheduler.getScheduler() ) algs.append( EMViewsMaker ) diff --git a/Trigger/TrigSteer/ViewAlgsTest/share/creatingEVTest.ref b/Trigger/TrigSteer/ViewAlgsTest/share/creatingEVTest.ref index 9ea78db835dbc390bf2bbcb3589f30a554648170..777867ae03a8a5f120799d62070fcb156d23f315 100644 --- a/Trigger/TrigSteer/ViewAlgsTest/share/creatingEVTest.ref +++ b/Trigger/TrigSteer/ViewAlgsTest/share/creatingEVTest.ref @@ -1,11 +1,12 @@ -EMViewsMaker 0 DEBUG Property update for OutputLevel : new value = 2 -EMViewsMaker 0 DEBUG input handles: 1 -EMViewsMaker 0 DEBUG output handles: 2 -EMViewsMaker 0 DEBUG Data Deps for EMViewsMaker -algInView 0 DEBUG Property update for OutputLevel : new value = 2 -algInView 0 DEBUG input handles: 1 -algInView 0 DEBUG output handles: 1 -algInView 0 DEBUG Data Deps for algInView -EMViewsMaker 0 DEBUG input handles: 1 -EMViewsMaker 0 DEBUG output handles: 2 -EMViewsMaker 0 DEBUG Data Deps for EMViewsMaker +EMViewsMaker 0 DEBUG Property update for OutputLevel : new value = 2 +EMViewsMaker 0 DEBUG input handles: 1 +EMViewsMaker 0 DEBUG output handles: 2 +EMViewsMaker 0 DEBUG Data Deps for EMViewsMaker +algInView 0 DEBUG Property update for OutputLevel : new value = 2 +algInView 0 DEBUG input handles: 1 +algInView 0 DEBUG output handles: 1 +algInView 0 DEBUG Data Deps for algInView + * EMViewsMaker +EMViewsMaker 0 DEBUG input handles: 1 +EMViewsMaker 0 DEBUG output handles: 2 +EMViewsMaker 0 DEBUG Data Deps for EMViewsMaker diff --git a/Trigger/TrigSteer/ViewAlgsTest/share/mergingEVTest.ref b/Trigger/TrigSteer/ViewAlgsTest/share/mergingEVTest.ref index 9ea78db835dbc390bf2bbcb3589f30a554648170..777867ae03a8a5f120799d62070fcb156d23f315 100644 --- a/Trigger/TrigSteer/ViewAlgsTest/share/mergingEVTest.ref +++ b/Trigger/TrigSteer/ViewAlgsTest/share/mergingEVTest.ref @@ -1,11 +1,12 @@ -EMViewsMaker 0 DEBUG Property update for OutputLevel : new value = 2 -EMViewsMaker 0 DEBUG input handles: 1 -EMViewsMaker 0 DEBUG output handles: 2 -EMViewsMaker 0 DEBUG Data Deps for EMViewsMaker -algInView 0 DEBUG Property update for OutputLevel : new value = 2 -algInView 0 DEBUG input handles: 1 -algInView 0 DEBUG output handles: 1 -algInView 0 DEBUG Data Deps for algInView -EMViewsMaker 0 DEBUG input handles: 1 -EMViewsMaker 0 DEBUG output handles: 2 -EMViewsMaker 0 DEBUG Data Deps for EMViewsMaker +EMViewsMaker 0 DEBUG Property update for OutputLevel : new value = 2 +EMViewsMaker 0 DEBUG input handles: 1 +EMViewsMaker 0 DEBUG output handles: 2 +EMViewsMaker 0 DEBUG Data Deps for EMViewsMaker +algInView 0 DEBUG Property update for OutputLevel : new value = 2 +algInView 0 DEBUG input handles: 1 +algInView 0 DEBUG output handles: 1 +algInView 0 DEBUG Data Deps for algInView + * EMViewsMaker +EMViewsMaker 0 DEBUG input handles: 1 +EMViewsMaker 0 DEBUG output handles: 2 +EMViewsMaker 0 DEBUG Data Deps for EMViewsMaker diff --git a/Trigger/TrigValidation/TrigUpgradeTest/python/EmuStepProcessingConfig.py b/Trigger/TrigValidation/TrigUpgradeTest/python/EmuStepProcessingConfig.py index ac537f0b74c1b85c81e2c389db8e1ea0950f6c9c..db3c13ebe3ee2d97ab3fda25eb038d4842e2000a 100644 --- a/Trigger/TrigValidation/TrigUpgradeTest/python/EmuStepProcessingConfig.py +++ b/Trigger/TrigValidation/TrigUpgradeTest/python/EmuStepProcessingConfig.py @@ -214,12 +214,12 @@ def generateL1DecoderAndChains(): ctpUnpacker = CTPUnpackingEmulationTool( ForceEnableAllChains=False , InputFilename="ctp.dat" ) l1Decoder.ctpUnpacker = ctpUnpacker - emUnpacker = RoIsUnpackingEmulationTool("EMRoIsUnpackingTool", InputFilename="l1emroi.dat", OutputTrigRoIs="L1EMRoIs", Decisions="L1EM", ThresholdPrefix="EM" ) - emUnpacker.Decisions="L1EM" + emUnpacker = RoIsUnpackingEmulationTool("EMRoIsUnpackingTool", InputFilename="l1emroi.dat", OutputTrigRoIs="HLT_L1EMRoIs", Decisions="HLTNav_L1EM", ThresholdPrefix="EM" ) + emUnpacker.Decisions="HLTNav_L1EM" - muUnpacker = RoIsUnpackingEmulationTool("MURoIsUnpackingTool", InputFilename="l1muroi.dat", OutputTrigRoIs="L1MURoIs", Decisions="L1MU", ThresholdPrefix="MU" ) - muUnpacker.Decisions="L1MU" + muUnpacker = RoIsUnpackingEmulationTool("MURoIsUnpackingTool", InputFilename="l1muroi.dat", OutputTrigRoIs="HLT_L1MURoIs", Decisions="HLTNav_L1MU", ThresholdPrefix="MU" ) + muUnpacker.Decisions="HLTNav_L1MU" l1Decoder.roiUnpackers = [emUnpacker, muUnpacker] diff --git a/Trigger/TrigValidation/TrigUpgradeTest/python/TestUtils.py b/Trigger/TrigValidation/TrigUpgradeTest/python/TestUtils.py index a7f55a9e0f8ec9d34bff806dccf6bb16bc641367..eb9cbf6c25b948dbacdfa86eb6c3fe0e0f5ec4df 100644 --- a/Trigger/TrigValidation/TrigUpgradeTest/python/TestUtils.py +++ b/Trigger/TrigValidation/TrigUpgradeTest/python/TestUtils.py @@ -49,7 +49,7 @@ class L1EmulationTest(L1Decoder): if TriggerFlags.doID() or TriggerFlags.doCalo(): emUnpacker = RoIsUnpackingEmulationTool("EMRoIsUnpackingTool", Decisions = "EMRoIDecisions", - OutputTrigRoIs = "EMRoIs", + OutputTrigRoIs = "HLT_EMRoIs", OutputLevel = self.getDefaultProperty("OutputLevel")) self.roiUnpackers += [emUnpacker] print emUnpacker @@ -59,7 +59,7 @@ class L1EmulationTest(L1Decoder): if TriggerFlags.doMuon(): muUnpacker = RoIsUnpackingEmulationTool("MURoIsUnpackingTool", Decisions = "MURoIDecisions", - OutputTrigRoIs = "MURoIs", + OutputTrigRoIs = "HLT_MURoIs", OutputLevel=self.getDefaultProperty("OutputLevel")) self.roiUnpackers += [muUnpacker] diff --git a/Trigger/TrigValidation/TrigUpgradeTest/share/Calo.py b/Trigger/TrigValidation/TrigUpgradeTest/share/Calo.py index 6e4e216708775b9c7504429b5817c27c046887b9..08652747d81d3c6cd70d1bb98543eabb5827bae4 100644 --- a/Trigger/TrigValidation/TrigUpgradeTest/share/Calo.py +++ b/Trigger/TrigValidation/TrigUpgradeTest/share/Calo.py @@ -30,7 +30,7 @@ if TriggerFlags.doCalo: if ( doHLTCaloTopo ) : from TrigT2CaloCommon.CaloDef import HLTFSTopoRecoSequence - recosequence, caloclusters = HLTFSTopoRecoSequence("FSRoI") + recosequence, caloclusters = HLTFSTopoRecoSequence("HLT_FSRoI") steps+=recosequence if ( doL2Egamma ) : @@ -38,8 +38,8 @@ if TriggerFlags.doCalo: from TrigT2CaloCommon.CaloDef import createFastCaloSequence filterL1RoIsAlg = RoRSeqFilter( "filterL1RoIsAlg") - filterL1RoIsAlg.Input = ["L1EM"] - filterL1RoIsAlg.Output = ["FilteredEMRoIDecisions"] + filterL1RoIsAlg.Input = ["HLTNav_L1EM"] + filterL1RoIsAlg.Output = ["HLTNav_FilteredEMRoIDecisions"] filterL1RoIsAlg.Chains = [ "HLT_e3_etcut", "HLT_e5_etcut", "HLT_e7_etcut" ] (fastCaloSequence, sequenceOut) = createFastCaloSequence(filterL1RoIsAlg.Output[0]) steps+=stepSeq("finalCaloSequence", filterL1RoIsAlg, [ fastCaloSequence ]) diff --git a/Trigger/TrigValidation/TrigUpgradeTest/share/CaloRinger.py b/Trigger/TrigValidation/TrigUpgradeTest/share/CaloRinger.py index b2cbf79e6f6a33ee4a77369139319c117d7ec785..f69fac9b2b682acbbd963669f4b2ca3430e08492 100644 --- a/Trigger/TrigValidation/TrigUpgradeTest/share/CaloRinger.py +++ b/Trigger/TrigValidation/TrigUpgradeTest/share/CaloRinger.py @@ -30,7 +30,7 @@ if TriggerFlags.doCalo: if ( doHLTCaloTopo ) : from TrigT2CaloCommon.CaloDef import HLTFSTopoRecoSequence - recosequence, caloclusters = HLTFSTopoRecoSequence("FSRoI") + recosequence, caloclusters = HLTFSTopoRecoSequence("HLT_FSRoI") steps+=recosequence if ( doL2Egamma ) : @@ -38,8 +38,8 @@ if TriggerFlags.doCalo: from TrigT2CaloCommon.CaloDef import createFastCaloSequence filterL1RoIsAlg = RoRSeqFilter( "filterL1RoIsAlg") - filterL1RoIsAlg.Input = ["L1EM"] - filterL1RoIsAlg.Output = ["FilteredEMRoIDecisions"] + filterL1RoIsAlg.Input = ["HLTNav_L1EM"] + filterL1RoIsAlg.Output = ["HLTNav_FilteredEMRoIDecisions"] filterL1RoIsAlg.Chains = [ "HLT_e3_etcut", "HLT_e5_etcut", "HLT_e7_etcut" ] (fastCaloSequence, sequenceOut) = createFastCaloSequence(filterL1RoIsAlg.Output[0], doRinger=True, ClustersName="HLT_L2CaloEMClusters", diff --git a/Trigger/TrigValidation/TrigUpgradeTest/share/EmuScalingCFTest.py b/Trigger/TrigValidation/TrigUpgradeTest/share/EmuScalingCFTest.py index bd9216290c851d0b0b7a25f853a348b33354fd62..996ddd5f732d5297586da269633f1612b249aa72 100644 --- a/Trigger/TrigValidation/TrigUpgradeTest/share/EmuScalingCFTest.py +++ b/Trigger/TrigValidation/TrigUpgradeTest/share/EmuScalingCFTest.py @@ -104,9 +104,9 @@ def process(): ctpUnpacker = CTPUnpackingEmulationTool( ForceEnableAllChains=False , InputFilename="ctp.dat" ) l1Decoder.ctpUnpacker = ctpUnpacker - emUnpacker = RoIsUnpackingEmulationTool("EMRoIsUnpackingTool", InputFilename="l1emroi.dat", OutputTrigRoIs="L1EMRoIs", Decisions="L1EM", ThresholdPrefix="EM" ) + emUnpacker = RoIsUnpackingEmulationTool("EMRoIsUnpackingTool", InputFilename="l1emroi.dat", OutputTrigRoIs="HLT_L1EMRoIs", Decisions="HLTNav_L1EM", ThresholdPrefix="EM" ) from TrigUpgradeTest.EmuStepProcessingConfig import thresholdToChains - emUnpacker.Decisions="L1EM" + emUnpacker.Decisions="HLTNav_L1EM" l1Decoder.roiUnpackers = [emUnpacker] diff --git a/Trigger/TrigValidation/TrigUpgradeTest/share/IDCalo.py b/Trigger/TrigValidation/TrigUpgradeTest/share/IDCalo.py index 9f86957c5232a1e6151ba6253ff26df1d3fc0a3e..068aa76ae9f2b5061bb7b25c24245738e53f4efd 100644 --- a/Trigger/TrigValidation/TrigUpgradeTest/share/IDCalo.py +++ b/Trigger/TrigValidation/TrigUpgradeTest/share/IDCalo.py @@ -14,7 +14,7 @@ from AthenaCommon.AlgSequence import AthSequencer viewSeq = AthSequencer("AthViewSeq", Sequential=True, ModeOR=False, StopOverride=False) topSequence += viewSeq -roiCollectionName = "EMRoIs" +roiCollectionName = "HLT_EMRoIs" # View maker alg from AthenaCommon import CfgMgr diff --git a/Trigger/TrigValidation/TrigUpgradeTest/share/L1CF.py b/Trigger/TrigValidation/TrigUpgradeTest/share/L1CF.py index 8904a8bdbed980408dbf14e4890ac697cc320a74..df5de9375e5a8bccffda6272ab96f2bf57d43e5d 100644 --- a/Trigger/TrigValidation/TrigUpgradeTest/share/L1CF.py +++ b/Trigger/TrigValidation/TrigUpgradeTest/share/L1CF.py @@ -17,10 +17,10 @@ ctpUnpacker = CTPUnpackingEmulationTool( ForceEnableAllChains=False , InputFilen #ctpUnpacker.CTPToChainMapping = [ "0:HLT_g100", "1:HLT_e20", "2:HLT_mu20", "3:HLT_2mu8", "3:HLT_mu8", "33:HLT_2mu8", "15:HLT_mu8_e8" ] l1Decoder.ctpUnpacker = ctpUnpacker -emUnpacker = RoIsUnpackingEmulationTool("EMRoIsUnpackingTool", InputFilename="l1emroi.dat", OutputTrigRoIs="L1EMRoIs", Decisions="L1EM" ) +emUnpacker = RoIsUnpackingEmulationTool("EMRoIsUnpackingTool", InputFilename="l1emroi.dat", OutputTrigRoIs="HLT_L1EMRoIs", Decisions="HLTNav_L1EM" ) emUnpacker.ThresholdToChainMapping = ["EM7 : HLT_mu8_e8", "EM20 : HLT_e20", "EM50 : HLT_2g50", "EM100 : HLT_g100" ] -muUnpacker = RoIsUnpackingEmulationTool("MURoIsUnpackingTool", InputFilename="l1muroi.dat", OutputTrigRoIs="L1MURoIs", Decisions="L1MU" ) +muUnpacker = RoIsUnpackingEmulationTool("MURoIsUnpackingTool", InputFilename="l1muroi.dat", OutputTrigRoIs="HLT_L1MURoIs", Decisions="HLTNav_L1MU" ) muUnpacker.ThresholdToChainMapping = ["MU6 : HLT_mu6", "MU8 : HLT_mu8", "MU8 : HLT_2mu8", "MU8 : HLT_mu8_e8", "MU10 : HLT_mu20", "EM100 : HLT_g100" ] l1Decoder.roiUnpackers = [emUnpacker, muUnpacker] diff --git a/Trigger/TrigValidation/TrigUpgradeTest/share/MinBias.py b/Trigger/TrigValidation/TrigUpgradeTest/share/MinBias.py index 904d5bfd7b9222427aec76f83736657d448c47c6..615f20e93455fe59e87d2d9a6ae975911fd53e68 100644 --- a/Trigger/TrigValidation/TrigUpgradeTest/share/MinBias.py +++ b/Trigger/TrigValidation/TrigUpgradeTest/share/MinBias.py @@ -9,9 +9,9 @@ viewAlgs = makeInDetAlgs(whichSignature='MinBias', separateTrackParticleCreator= for viewAlg in viewAlgs: if "RoIs" in viewAlg.properties(): - viewAlg.RoIs = "FSRoI" + viewAlg.RoIs = "HLT_FSRoI" if "roiCollectionName" in viewAlg.properties(): - viewAlg.roiCollectionName = "FSRoI" + viewAlg.roiCollectionName = "HLT_FSRoI" from AthenaCommon.AlgSequence import AlgSequence topSequence = AlgSequence() diff --git a/Trigger/TrigValidation/TrigUpgradeTest/share/cfTest.py b/Trigger/TrigValidation/TrigUpgradeTest/share/cfTest.py index 93e5c12d3f94488fd8af3caf39f7c060b8444df8..a8bfc11225426cbfb5854e529bec064cffa04068 100644 --- a/Trigger/TrigValidation/TrigUpgradeTest/share/cfTest.py +++ b/Trigger/TrigValidation/TrigUpgradeTest/share/cfTest.py @@ -91,9 +91,9 @@ mueChains = [ 'HLT_mu8_e8' ] steps = [ parOR("step%i" % i) for i in range(5)] stepNo = 0 -steps[stepNo] += seqFilter( "Step1MU", Inputs=["L1MU"], Outputs=["step0MU"], Chains=muChains ) -steps[stepNo] += seqFilter( "Step1MU_E", Inputs=["L1MU", "L1EM"], Outputs=["step0MU","step0EM"], Chains=mueChains ) -steps[stepNo] += seqFilter( "Step1EM", Inputs=["L1EM"], Outputs=["step0EM"], Chains=(eChains + gChains) ) +steps[stepNo] += seqFilter( "Step1MU", Inputs=["HLTNav_L1MU"], Outputs=["step0MU"], Chains=muChains ) +steps[stepNo] += seqFilter( "Step1MU_E", Inputs=["HLTNav_L1MU", "HLTNav_L1EM"], Outputs=["step0MU","step0EM"], Chains=mueChains ) +steps[stepNo] += seqFilter( "Step1EM", Inputs=["HLTNav_L1EM"], Outputs=["step0EM"], Chains=(eChains + gChains) ) emHypo = hypo("Step1ElGamHypo", Input="EMClusters", Output="EMDecisions") emHypoTools = [ emHTool("HLT_e2"), emHTool("HLT_e3"), emHTool("HLT_e5"), diff --git a/Trigger/TrigValidation/TrigUpgradeTest/share/egammaRinger.py b/Trigger/TrigValidation/TrigUpgradeTest/share/egammaRinger.py index a4e22f5f48d5f89439a0818f98345ab8c1099f71..2a67c14ca3fc172a6f1468c6e4fad3093607467a 100644 --- a/Trigger/TrigValidation/TrigUpgradeTest/share/egammaRinger.py +++ b/Trigger/TrigValidation/TrigUpgradeTest/share/egammaRinger.py @@ -36,7 +36,7 @@ steps+=_algoHLTTopoCluster(OutputLevel=DEBUG) filterL1RoIsAlg = RoRSeqFilter( "filterL1RoIsAlg") -filterL1RoIsAlg.Input = ["L1EM"] +filterL1RoIsAlg.Input = ["HLTNav_L1EM"] filterL1RoIsAlg.Output = ["FilteredEMRoIDecisions"] filterL1RoIsAlg.Chains = [ "HLT_e3_etcut", diff --git a/Trigger/TrigValidation/TrigUpgradeTest/share/full_menu.py b/Trigger/TrigValidation/TrigUpgradeTest/share/full_menu.py index 5d89b34f8931221fb6c05fdeab4abd325764862e..2e9c943d1f7b85cd30144ee5e27fa60fbecbc1ba 100644 --- a/Trigger/TrigValidation/TrigUpgradeTest/share/full_menu.py +++ b/Trigger/TrigValidation/TrigUpgradeTest/share/full_menu.py @@ -44,32 +44,35 @@ if opt.reverseViews: # Configure trigger output using parts of the NewJO configuration # in a somewhat hacky way ########################################## -from TriggerJobOpts.TriggerConfig import collectHypos, collectFilters, collectDecisionObjects, triggerOutputCfg +from TriggerJobOpts.TriggerConfig import collectHypos, collectFilters, collectDecisionObjects, triggerOutputCfg, collectFilterDecisionObjects from AthenaCommon.CFElements import findAlgorithm,findSubSequence hypos = collectHypos(findSubSequence(topSequence, "HLTAllSteps")) filters = collectFilters(findSubSequence(topSequence, "HLTAllSteps")) +# find DecisionSummaryMakerAlg +summaryMakerAlg = findAlgorithm(topSequence, "DecisionSummaryMakerAlg") +if not summaryMakerAlg: + __log.warning("Failed to find DecisionSummaryMakerAlg") + # try to find L1Decoder l1decoder = findAlgorithm(topSequence,'L1Decoder') if not l1decoder: l1decoder = findAlgorithm(topSequence,'L1EmulationTest') -if l1decoder: - decObj = collectDecisionObjects( hypos, filters, l1decoder ) +if l1decoder and summaryMakerAlg: + decObj = collectDecisionObjects( hypos, filters, l1decoder, summaryMakerAlg ) + decObjFilterOut = collectFilterDecisionObjects(filters, inputs=False, outputs=True) __log.debug("Decision Objects to write to output [hack method - should be replaced with triggerRunCfg()]") __log.debug(decObj) else: - __log.warning("Failed to find L1Decoder, cannot determine Decision names for output configuration") + __log.warning("Failed to find L1Decoder or DecisionSummaryMakerAlg, cannot determine Decision names for output configuration") decObj = [] + decObjFilterOut = [] -# find DecisionSummaryMakerAlg -summaryMakerAlg = findAlgorithm(topSequence, "DecisionSummaryMakerAlg") -if not summaryMakerAlg: - __log.warning("Failed to find DecisionSummaryMakerAlg") from AthenaConfiguration.AllConfigFlags import ConfigFlags from AthenaCommon.Configurable import Configurable Configurable.configurableRun3Behavior+=1 -acc, edmSet = triggerOutputCfg(ConfigFlags, decObj, summaryMakerAlg) +acc, edmSet = triggerOutputCfg(ConfigFlags, decObj, decObjFilterOut, summaryMakerAlg) Configurable.configurableRun3Behavior-=1 acc.appendToGlobals() diff --git a/Trigger/TrigValidation/TrigUpgradeTest/share/full_menu_cf.py b/Trigger/TrigValidation/TrigUpgradeTest/share/full_menu_cf.py index 9fb6ba15abbfbde0b8a1d5e66f7a8be9de2c37fd..ae0dbf8766c5139e0a047cdab9a3631bee8baf6a 100644 --- a/Trigger/TrigValidation/TrigUpgradeTest/share/full_menu_cf.py +++ b/Trigger/TrigValidation/TrigUpgradeTest/share/full_menu_cf.py @@ -288,32 +288,35 @@ makeHLTTree( triggerConfigHLT=TriggerConfigHLT ) # Configure trigger output using parts of the NewJO configuration # in a somewhat hacky way - copy-pasted from full_menu.py ########################################## -from TriggerJobOpts.TriggerConfig import collectHypos, collectFilters, collectDecisionObjects, triggerOutputCfg +from TriggerJobOpts.TriggerConfig import collectHypos, collectFilters, collectDecisionObjects, collectFilterDecisionObjects, triggerOutputCfg from AthenaCommon.CFElements import findAlgorithm,findSubSequence hypos = collectHypos(findSubSequence(topSequence, "HLTAllSteps")) filters = collectFilters(findSubSequence(topSequence, "HLTAllSteps")) +# find DecisionSummaryMakerAlg +summaryMakerAlg = findAlgorithm(topSequence, "DecisionSummaryMakerAlg") +if not summaryMakerAlg: + __log.warning("Failed to find DecisionSummaryMakerAlg") + # try to find L1Decoder l1decoder = findAlgorithm(topSequence,'L1Decoder') if not l1decoder: l1decoder = findAlgorithm(topSequence,'L1EmulationTest') -if l1decoder: - decObj = collectDecisionObjects( hypos, filters, l1decoder ) +if l1decoder and summaryMakerAlg: + decObj = collectDecisionObjects( hypos, filters, l1decoder, summaryMakerAlg ) + decObjFilterOut = collectFilterDecisionObjects(filters, inputs=False, outputs=True) __log.debug("Decision Objects to write to output [hack method - should be replaced with triggerRunCfg()]") __log.debug(decObj) else: - __log.warning("Failed to find L1Decoder, cannot determine Decision names for output configuration") + __log.warning("Failed to find L1Decoder or summaryMakerAlg, cannot determine Decision names for output configuration") decObj = [] + decObjFilterOut = [] -# find DecisionSummaryMakerAlg -summaryMakerAlg = findAlgorithm(topSequence, "DecisionSummaryMakerAlg") -if not summaryMakerAlg: - __log.warning("Failed to find DecisionSummaryMakerAlg") from AthenaConfiguration.AllConfigFlags import ConfigFlags from AthenaCommon.Configurable import Configurable Configurable.configurableRun3Behavior+=1 -acc, edmSet = triggerOutputCfg(ConfigFlags, decObj, summaryMakerAlg) +acc, edmSet = triggerOutputCfg(ConfigFlags, decObj, decObjFilterOut, summaryMakerAlg) Configurable.configurableRun3Behavior-=1 acc.appendToGlobals() diff --git a/Trigger/TrigValidation/TrigUpgradeTest/share/met.fromCells.py b/Trigger/TrigValidation/TrigUpgradeTest/share/met.fromCells.py index c46d6e88fb0e3db3e7f02c6ea93d854f3f104494..16d2f0e68522f32539cb5f9a74e15d8ca374c66b 100644 --- a/Trigger/TrigValidation/TrigUpgradeTest/share/met.fromCells.py +++ b/Trigger/TrigValidation/TrigUpgradeTest/share/met.fromCells.py @@ -63,7 +63,7 @@ hypoAlg.HypoTools=[makeMETHypoTool()] hypoAlg.METContainerKey=metAlg.METContainerKey hypoAlg.OutputLevel = DEBUG -hypoAlg.HypoInputDecisions = "L1MET" +hypoAlg.HypoInputDecisions = "HLTNav_L1MET" hypoAlg.HypoOutputDecisions = "EFMETDecisions" topSequence += hypoAlg diff --git a/Trigger/TrigValidation/TrigUpgradeTest/share/met.fromClusters.py b/Trigger/TrigValidation/TrigUpgradeTest/share/met.fromClusters.py index 3ce0d9c441e89e71c597693f957b3d87d5bae9d7..f92ecec9a0392b6d4555db009521d9d663e088af 100644 --- a/Trigger/TrigValidation/TrigUpgradeTest/share/met.fromClusters.py +++ b/Trigger/TrigValidation/TrigUpgradeTest/share/met.fromClusters.py @@ -61,7 +61,7 @@ hypoAlg.HypoTools=[makeMETHypoTool()] hypoAlg.METContainerKey=metAlg.METContainerKey hypoAlg.OutputLevel = DEBUG -hypoAlg.HypoInputDecisions = "L1MET" +hypoAlg.HypoInputDecisions = "HLTNav_L1MET" hypoAlg.HypoOutputDecisions = "EFMETDecisions" topSequence += hypoAlg diff --git a/Trigger/TrigValidation/TrigUpgradeTest/share/met.fromClustersPufit.py b/Trigger/TrigValidation/TrigUpgradeTest/share/met.fromClustersPufit.py index bcc689af6f2c59c84c926e39e22075d45141d90a..18922cf35b04ab901201ec75628b9020d51cc3dc 100644 --- a/Trigger/TrigValidation/TrigUpgradeTest/share/met.fromClustersPufit.py +++ b/Trigger/TrigValidation/TrigUpgradeTest/share/met.fromClustersPufit.py @@ -53,7 +53,7 @@ hypoAlg.HypoTools=[makeMETHypoTool()] hypoAlg.METContainerKey=metAlg.METContainerKey hypoAlg.OutputLevel = DEBUG -hypoAlg.HypoInputDecisions = "L1MET" +hypoAlg.HypoInputDecisions = "HLTNav_L1MET" hypoAlg.HypoOutputDecisions = "EFMETDecisions" topSequence += hypoAlg diff --git a/Trigger/TrigValidation/TrigUpgradeTest/share/met.fromJets.py b/Trigger/TrigValidation/TrigUpgradeTest/share/met.fromJets.py index d4d9dec5a9595cb01db1a30dd88c2c512a289d42..0a339755f599b8c61d9b189c1ce337621399e60a 100644 --- a/Trigger/TrigValidation/TrigUpgradeTest/share/met.fromJets.py +++ b/Trigger/TrigValidation/TrigUpgradeTest/share/met.fromJets.py @@ -71,7 +71,7 @@ hypoAlg.HypoTools=[makeMETHypoTool()] hypoAlg.METContainerKey=metAlg.METContainerKey hypoAlg.OutputLevel = DEBUG -hypoAlg.HypoInputDecisions = "L1MET" +hypoAlg.HypoInputDecisions = "HLTNav_L1MET" hypoAlg.HypoOutputDecisions = "EFMETDecisions" topSequence += hypoAlg diff --git a/Trigger/TrigValidation/TrigUpgradeTest/share/met.seq.test.py b/Trigger/TrigValidation/TrigUpgradeTest/share/met.seq.test.py index ee843e5434da487c369c3d100b6aee057d429c1e..1eaa2a5b5752fc2736a885ec26396af7a2898d7f 100644 --- a/Trigger/TrigValidation/TrigUpgradeTest/share/met.seq.test.py +++ b/Trigger/TrigValidation/TrigUpgradeTest/share/met.seq.test.py @@ -11,7 +11,7 @@ topSequence = AlgSequence() from DecisionHandling.DecisionHandlingConf import InputMakerForRoI InputMakerAlg = InputMakerForRoI("MetCellInputMaker", RoIsLink="initialRoI") InputMakerAlg.RoIs='METCellRoI' -InputMakerAlg.InputMakerInputDecisions=["L1MET"] +InputMakerAlg.InputMakerInputDecisions=["HLTNav_L1MET"] InputMakerAlg.InputMakerOutputDecisions=["InputMaker_from_L1MET"] topSequence += InputMakerAlg diff --git a/Trigger/TrigValidation/TrigUpgradeTest/share/simpleJetJob.py b/Trigger/TrigValidation/TrigUpgradeTest/share/simpleJetJob.py index 86cd3117a011ca3d0b2fbe99d6af658863b862cd..c71d9cb2021e8e9a63cf374fc64e50b54d075d05 100644 --- a/Trigger/TrigValidation/TrigUpgradeTest/share/simpleJetJob.py +++ b/Trigger/TrigValidation/TrigUpgradeTest/share/simpleJetJob.py @@ -35,7 +35,7 @@ if TriggerFlags.doCalo: L1JetDecisions=unpack.Decisions - inputRoIs="FSRoI" + inputRoIs="HLT_FSRoI" hypoDecisions=L1JetDecisions addFiltering=True diff --git a/Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDMRun3.py b/Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDMRun3.py index 57b095848c18fa92a66ee02bd5d8fd68bcacadc0..579a116906f3b8260a407cc8e6169b53a3e67601 100644 --- a/Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDMRun3.py +++ b/Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDMRun3.py @@ -31,7 +31,8 @@ def recordable( name ): If the names are correct the outputKey is assigned with SomeKey, if there is a missmatch an exception is thrown. """ - if name in ["HLTNav_Summary", "L1DecoderSummary"] or "L1" in name or "RoI" in name: + if "HLTNav_" in name: + __log.error( "Don't call recordable({0}), or add any \"HLTNav_\" collection manually to the EDM. See:collectDecisionObjects.".format( name ) ) pass else: #negative filtering if not name.startswith( "HLT_" ): @@ -63,32 +64,20 @@ JetVars = '.'.join(JetVarsToKeep) TriggerHLTListRun3 = [ #framework/steering - ('xAOD::TrigCompositeContainer#HLTNav_Summary', 'BS ESD AODFULL AODSLIM', 'Steer'), - ('xAOD::TrigCompositeAuxContainer#HLTNav_SummaryAux.', 'BS ESD AODFULL AODSLIM', 'Steer'), - ('xAOD::TrigCompositeContainer#L1DecoderSummary', 'BS ESD AODFULL AODSLIM', 'Steer'), - ('xAOD::TrigCompositeAuxContainer#L1DecoderSummaryAux.', 'BS ESD AODFULL AODSLIM', 'Steer'), - ('xAOD::TrigDecision#xTrigDecision' , 'ESD AODFULL AODSLIM', 'Steer'), ('xAOD::TrigDecisionAuxInfo#xTrigDecisionAux.', 'ESD AODFULL AODSLIM', 'Steer'), ('xAOD::TrigConfKeys#TrigConfKeys' , 'ESD AODFULL AODSLIM', 'Steer'), - ('TrigRoiDescriptorCollection#EMRoIs', 'BS ESD AODFULL AODSLIM', 'Steer'), - ('TrigRoiDescriptorCollection#MURoIs', 'BS ESD AODFULL AODSLIM', 'Steer'), - ('TrigRoiDescriptorCollection#METRoI', 'BS ESD AODFULL AODSLIM', 'Steer'), - ('TrigRoiDescriptorCollection#JETRoI', 'BS ESD AODFULL AODSLIM', 'Steer'), + ('TrigRoiDescriptorCollection#HLT_EMRoIs', 'BS ESD AODFULL AODSLIM', 'Steer'), + ('TrigRoiDescriptorCollection#HLT_MURoIs', 'BS ESD AODFULL AODSLIM', 'Steer'), + ('TrigRoiDescriptorCollection#HLT_METRoI', 'BS ESD AODFULL AODSLIM', 'Steer'), + ('TrigRoiDescriptorCollection#HLT_JETRoI', 'BS ESD AODFULL AODSLIM', 'Steer'), + ('TrigRoiDescriptorCollection#HLT_TAURoI', 'BS ESD AODFULL AODSLIM', 'Steer'), + ('TrigRoiDescriptorCollection#HLT_FSRoI', 'BS ESD AODFULL AODSLIM', 'Steer'), ('TrigRoiDescriptorCollection#HLT_RoiForTau', 'BS ESD AODFULL AODSLIM', 'Steer', 'inViews = TAUCaloViews'), ('TrigRoiDescriptorCollection#HLT_RoiForID2', 'BS ESD AODFULL AODSLIM', 'Steer', 'inViews = TAUIDViews'), ('TrigRoiDescriptorCollection#HLT_RoiForID1', 'BS ESD AODFULL AODSLIM', 'Steer', 'inViews = TAUID2Views'), - ('xAOD::TrigCompositeContainer#L1EM', 'BS ESD AODFULL AODSLIM', 'Steer'), - ('xAOD::TrigCompositeAuxContainer#L1EMAux.', 'BS ESD AODFULL AODSLIM', 'Steer'), - ('xAOD::TrigCompositeContainer#L1MU', 'BS ESD AODFULL AODSLIM', 'Steer'), - ('xAOD::TrigCompositeAuxContainer#L1MUAux.', 'BS ESD AODFULL AODSLIM', 'Steer'), - ('xAOD::TrigCompositeContainer#L1MET', 'BS ESD AODFULL AODSLIM', 'Steer'), - ('xAOD::TrigCompositeAuxContainer#L1METAux.', 'BS ESD AODFULL AODSLIM', 'Steer'), - ('xAOD::TrigCompositeContainer#L1J', 'BS ESD AODFULL AODSLIM', 'Steer'), - ('xAOD::TrigCompositeAuxContainer#L1JAux.', 'BS ESD AODFULL AODSLIM', 'Steer'), - ('xAOD::TrigCompositeContainer#HLT_TrigCostContainer', 'CostMonDS ESD', 'Steer'), ('xAOD::TrigCompositeAuxContainer#HLT_TrigCostContainerAux.alg.store.view.thread.slot.roi.start.stop.', 'CostMonDS ESD', 'Steer'), diff --git a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerConfig.py b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerConfig.py index daa08bd5527641dd50b3ed69fc5bf093b4276666..ec5bfc3e65b61a91e2b15037f4f3c3fd4ce660bb 100644 --- a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerConfig.py +++ b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerConfig.py @@ -82,6 +82,8 @@ def collectL1DecoderDecisionObjects(l1decoder): __log.info("Collecting decision objects from L1 decoder instance") decisionObjects.update([ d.Decisions for d in l1decoder.roiUnpackers ]) decisionObjects.update([ d.Decisions for d in l1decoder.rerunRoiUnpackers ]) + # decisionObjects.add( l1decoder.FSDecisions ) # Crashes? + decisionObjects.add( "HLTNav_L1FS" ) # Hard-coded, but should be l1decoder.FSDecisions return decisionObjects def collectHypoDecisionObjects(hypos, inputs = True, outputs = True): @@ -114,17 +116,28 @@ def collectFilterDecisionObjects(filters, inputs = True, outputs = True): decisionObjects.update( filt.Output ) return decisionObjects -def collectDecisionObjects( hypos, filters, l1decoder ): +def collectHLTSummaryDecisionObjects(hltSummary): + decisionObjects = set() + __log.info("Collecting decision objects from hltSummary") + decisionObjects.update( hltSummary.DecisionsSummaryKey ) + return decisionObjects + +def collectDecisionObjects( hypos, filters, l1decoder, hltSummary ): """ Returns the set of all decision objects of HLT """ decObjL1 = collectL1DecoderDecisionObjects(l1decoder) - decObjHypo = collectHypoDecisionObjects(hypos) - decObjFilter = collectFilterDecisionObjects(filters) + decObjHypo = collectHypoDecisionObjects(hypos, inputs = True, outputs = True) + decObjFilter = collectFilterDecisionObjects(filters, inputs = True, outputs = True) + # InputMaker are not needed explicitly as the Filter Outputs = InputMaker Inputs + # and InputMaker Outputs = Hypo Inputs + # Therefore we implicitly collect all navigaiton I/O of all InputMakers + decObjSummary = collectHLTSummaryDecisionObjects(hltSummary) decisionObjects = set() decisionObjects.update(decObjL1) decisionObjects.update(decObjHypo) decisionObjects.update(decObjFilter) + decisionObjects.update(decObjSummary) return decisionObjects def triggerSummaryCfg(flags, hypos): @@ -188,7 +201,7 @@ def triggerMonitoringCfg(flags, hypos, filters, l1Decoder): return acc, mon -def triggerOutputCfg(flags, decObj, summaryAlg): +def triggerOutputCfg(flags, decObj, decObjFilterOut, summaryAlg): # Following cases are considered: # 1) Running in partition or athenaHLT - configure BS output written by the HLT framework # 2) Running offline athena and writing BS - configure BS output written by OutputStream alg @@ -227,13 +240,13 @@ def triggerOutputCfg(flags, decObj, summaryAlg): # Create the configuration if onlineWriteBS: __log.info("Configuring online ByteStream HLT output") - acc = triggerBSOutputCfg(flags, decObj, summaryAlg) + acc = triggerBSOutputCfg(flags, decObj, decObjFilterOut, summaryAlg) elif offlineWriteBS: __log.info("Configuring offline ByteStream HLT output") - acc = triggerBSOutputCfg(flags, decObj, summaryAlg, offline=True) + acc = triggerBSOutputCfg(flags, decObj, decObjFilterOut, summaryAlg, offline=True) elif writePOOL: __log.info("Configuring POOL HLT output") - acc = triggerPOOLOutputCfg(flags, decObj, edmSet) + acc = triggerPOOLOutputCfg(flags, decObj, decObjFilterOut, edmSet) else: __log.info("No HLT output writing is configured") acc = ComponentAccumulator() @@ -241,7 +254,7 @@ def triggerOutputCfg(flags, decObj, summaryAlg): return acc, edmSet -def triggerBSOutputCfg(flags, decObj, summaryAlg, offline=False): +def triggerBSOutputCfg(flags, decObj, decObjFilterOut, summaryAlg, offline=False): from TriggerMenuMT.HLTMenuConfig.Menu import EventBuildingInfo from TrigEDMConfig.TriggerEDM import getTriggerEDMList from TrigEDMConfig.TriggerEDMRun3 import persistent @@ -260,8 +273,11 @@ def triggerBSOutputCfg(flags, decObj, summaryAlg, offline=False): # Add decision containers (navigation) for item in decObj: + dynamic = '.-' + if item in decObjFilterOut: + dynamic = '.remap_linkColKeys.remap_linkColIndices.' typeName = 'xAOD::TrigCompositeContainer#{:s}'.format(item) - typeNameAux = 'xAOD::TrigCompositeAuxContainer#{:s}Aux.-'.format(item) + typeNameAux = 'xAOD::TrigCompositeAuxContainer#{:s}Aux{:s}'.format(item, dynamic) if typeName not in ItemModuleDict.keys(): ItemModuleDict[typeName] = [EventBuildingInfo.getFullHLTResultID()] if typeNameAux not in ItemModuleDict.keys(): @@ -319,7 +335,7 @@ def triggerBSOutputCfg(flags, decObj, summaryAlg, offline=False): return acc -def triggerPOOLOutputCfg(flags, decObj, edmSet): +def triggerPOOLOutputCfg(flags, decObj, decObjFilterOut, edmSet): # Get the list from TriggerEDM from TrigEDMConfig.TriggerEDM import getTriggerEDMList edmList = getTriggerEDMList(edmSet, flags.Trigger.EDMDecodingVersion) @@ -331,8 +347,11 @@ def triggerPOOLOutputCfg(flags, decObj, edmSet): # Add decision containers (navigation) for item in decObj: + dynamic = '.-' + if item in decObjFilterOut: + dynamic = '.remap_linkColKeys.remap_linkColIndices.' itemsToRecord.append('xAOD::TrigCompositeContainer#{:s}'.format(item)) - itemsToRecord.append('xAOD::TrigCompositeAuxContainer#{:s}Aux.-'.format(item)) + itemsToRecord.append('xAOD::TrigCompositeAuxContainer#{:s}Aux{:s}'.format(item, dynamic)) # Create OutputStream outputType = '' @@ -365,7 +384,7 @@ def triggerPOOLOutputCfg(flags, decObj, edmSet): return acc -def triggerMergeViewsAndAddMissingEDMCfg( edmSet, hypos, viewMakers, decObj ): +def triggerMergeViewsAndAddMissingEDMCfg( edmSet, hypos, viewMakers, decObj, decObjFilterOut ): from TrigOutputHandling.TrigOutputHandlingConf import HLTEDMCreatorAlg, HLTEDMCreator from TrigEDMConfig.TriggerEDMRun3 import TriggerHLTListRun3 @@ -435,7 +454,7 @@ def triggerMergeViewsAndAddMissingEDMCfg( edmSet, hypos, viewMakers, decObj ): __log.debug("The GapFiller is ensuring the creation of all the decision object collections: '{}'".format( decObj ) ) # Append and hence confirm all TrigComposite collections # Gap filler is also used to perform re-mapping of the HypoAlg outputs which is a sub-set of decObj - tool.FixLinks = list(collectHypoDecisionObjects(hypos, inputs=False, outputs=True)) + tool.FixLinks = list(decObjFilterOut) tool.TrigCompositeContainer += list(decObj) alg.OutputTools += [tool] @@ -484,8 +503,10 @@ def triggerRunCfg( flags, menu=None ): from TrigCostMonitorMT.TrigCostMonitorMTConfig import TrigCostMonitorMTCfg acc.merge( TrigCostMonitorMTCfg( flags ) ) - decObj = collectDecisionObjects( hypos, filters, l1DecoderAlg ) + decObj = collectDecisionObjects( hypos, filters, l1DecoderAlg, summaryAlg ) + decObjFilterOut = collectFilterDecisionObjects(filters, inputs=False, outputs=True) __log.info( "Number of decision objects found in HLT CF %d", len( decObj ) ) + __log.info( "Of which, %d are the outputs of filters", len( decObjFilterOut ) ) __log.info( str( decObj ) ) HLTTop = seqOR( "HLTTop", [ l1DecoderAlg, HLTSteps, summaryAlg, monitoringAlg ] ) @@ -497,11 +518,11 @@ def triggerRunCfg( flags, menu=None ): # configure components need to normalise output before writing out viewMakers = collectViewMakers( HLTSteps ) - outputAcc, edmSet = triggerOutputCfg( flags, decObj, summaryAlg ) + outputAcc, edmSet = triggerOutputCfg( flags, decObj, decObjFilterOut, summaryAlg ) acc.merge( outputAcc ) if edmSet: - mergingAlg = triggerMergeViewsAndAddMissingEDMCfg( [edmSet] , hypos, viewMakers, decObj ) + mergingAlg = triggerMergeViewsAndAddMissingEDMCfg( [edmSet] , hypos, viewMakers, decObj, decObjFilterOut ) acc.addEventAlgo( mergingAlg, sequenceName="HLTTop" ) return acc diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/HLTCFConfig.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/HLTCFConfig.py index 572f6294d23245034e269ce391df25c0cc42306a..4e6f8fb06ec2bfc31515002c3b065a188fb37477 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/HLTCFConfig.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/HLTCFConfig.py @@ -160,10 +160,11 @@ def makeHLTTree(newJO=False, triggerConfigHLT = None): summary= makeSummary("TriggerSummaryFinal", flatDecisions) hltTop += summary + # TODO - check we are not running things twice. Once here and once in TriggerConfig.py # add signature monitor from TriggerJobOpts.TriggerConfig import collectHypos, collectFilters, collectViewMakers, collectDecisionObjects,\ - triggerMonitoringCfg, triggerSummaryCfg, triggerMergeViewsAndAddMissingEDMCfg + triggerMonitoringCfg, triggerSummaryCfg, triggerMergeViewsAndAddMissingEDMCfg, collectFilterDecisionObjects from AthenaConfiguration.AllConfigFlags import ConfigFlags from AthenaCommon.Configurable import Configurable Configurable.configurableRun3Behavior+=1 @@ -171,17 +172,18 @@ def makeHLTTree(newJO=False, triggerConfigHLT = None): hypos = collectHypos(steps) filters = collectFilters(steps) viewMakers = collectViewMakers(steps) - decObj = collectDecisionObjects( hypos, filters, l1decoder[0] ) summaryAcc, summaryAlg = triggerSummaryCfg( ConfigFlags, hypos ) hltTop += summaryAlg summaryAcc.appendToGlobals() + decObj = collectDecisionObjects( hypos, filters, l1decoder[0], summaryAlg ) + decObjFilterOut = collectFilterDecisionObjects(filters, inputs=False, outputs=True) monAcc, monAlg = triggerMonitoringCfg( ConfigFlags, hypos, filters, l1decoder[0] ) monAcc.appendToGlobals() hltTop += monAlg # this is a shotcut for now, we always assume we may be writing ESD & AOD outputs, so all gaps will be filled - edmAlg = triggerMergeViewsAndAddMissingEDMCfg(['AOD', 'ESD'], hypos, viewMakers, decObj ) + edmAlg = triggerMergeViewsAndAddMissingEDMCfg(['AOD', 'ESD'], hypos, viewMakers, decObj, decObjFilterOut) hltTop += edmAlg Configurable.configurableRun3Behavior-=1 diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/MuonSetup.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/MuonSetup.py index ac44b94b0e2348a49a6891ef7caa2871e294b855..52eece3a63e3fac3d0f72a79eddd9e8ab5cbb791 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/MuonSetup.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/MuonSetup.py @@ -298,7 +298,7 @@ def muFastRecoSequence( RoIs ): muFastAlg.DataPreparator = MuFastDataPreparator - muFastAlg.RecMuonRoI = "RecMURoIs" + muFastAlg.RecMuonRoI = "HLT_RecMURoIs" muFastAlg.MuRoIs = RoIs muFastAlg.MuonL2SAInfo = muNames.L2SAName muFastAlg.MuonCalibrationStream = "MuonCalibrationStream" @@ -492,7 +492,7 @@ def muEFSARecoSequence( RoIs, name ): for efAlg in efAlgs: if "RoIs" in efAlg.properties(): if name == "FS": - efAlg.RoIs = "FSRoI" + efAlg.RoIs = "HLT_FSRoI" else: efAlg.RoIs = RoIs muEFSARecoSequence += efAlg