diff --git a/Trigger/TrigAlgorithms/TrigmuComb/python/TrigmuCombConfig_newJO.py b/Trigger/TrigAlgorithms/TrigmuComb/python/TrigmuCombConfig_newJO.py index 3514038b9872662c3b7c7e6c01c846d064d3186d..35c2417cf93cc122fa63cf32735682bf899b11a7 100644 --- a/Trigger/TrigAlgorithms/TrigmuComb/python/TrigmuCombConfig_newJO.py +++ b/Trigger/TrigAlgorithms/TrigmuComb/python/TrigmuCombConfig_newJO.py @@ -64,7 +64,11 @@ def l2MuCombRecoCfg(flags): acc, alg = muCombCfg(flags) alg.L2StandAloneMuonContainerName=muFastInfo alg.L2CombinedMuonContainerName = muCombInfo - reco.addRecoAlg(alg) + + muCombAcc = ComponentAccumulator() + muCombAcc.addEventAlgo(alg) + + reco.mergeReco(muCombAcc) reco.merge(acc) return reco diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Electron/generateElectron.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Electron/generateElectron.py index b4469d313425d51723a3419e8356dacca2dd7206..7bbf1df01a3651d3e5f7d550f7ce95fc71b33264 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Electron/generateElectron.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Electron/generateElectron.py @@ -38,8 +38,6 @@ def generateChains( flags, chainDict ): HypoToolGen = TrigEgammaFastCaloHypoToolFromDict, CA = accCalo) - fastCaloSequence.createHypoTools(chainDict) - accCalo.printConfig() fastCaloStep = ChainStep(name=firstStepName, Sequences=[fastCaloSequence], chainDicts=[chainDict]) @@ -73,8 +71,6 @@ def generateChains( flags, chainDict ): HypoToolGen = makeFakeHypoTool, CA = accTrk) - fastInDetSequence.createHypoTools(chainDict) - fastInDetStep = ChainStep( name=secondStepName, Sequences=[fastInDetSequence], chainDicts=[chainDict]) l1Thresholds=[] diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/generateJet.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/generateJet.py index 778d9b8dc99212cac95e19a6ec80f78e3fade93e..2ea955bb789f464074bcc20239ddda1edb111166 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/generateJet.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/generateJet.py @@ -7,6 +7,17 @@ import pprint from AthenaCommon.Logging import logging log = logging.getLogger( 'TriggerMenuMT.HLTMenuConfig.Jet.generateJet' ) +def HLTCaloCellMakerCfg( cellsname, cdaSvc ): + from AthenaConfiguration.ComponentFactory import CompFactory + cellmaker = CompFactory.HLTCaloCellMaker("HLTCaloCellMaker_FS") + cellmaker.RoIs = "FSJETRoI" + cellmaker.TrigDataAccessMT = cdaSvc + cellmaker.CellsName = cellsname + + result = ComponentAccumulator() + result.addEventAlgo(cellmaker) + return result + def generateChains( flags, chainDict ): stepName = getChainStepName('Jet', 1) @@ -27,14 +38,10 @@ def generateChains( flags, chainDict ): cellsname = "CaloCellsFS" clustersname = "HLT_CaloTopoClustersFS" + + cellmakerCfg = HLTCaloCellMakerCfg(cellsname, cdaSvc) - from AthenaConfiguration.ComponentFactory import CompFactory - cellmaker = CompFactory.HLTCaloCellMaker("HLTCaloCellMaker_FS") - cellmaker.RoIs = "FSJETRoI" - cellmaker.TrigDataAccessMT = cdaSvc - cellmaker.CellsName = cellsname - - inEventReco.addRecoAlg(cellmaker) + inEventReco.mergeReco( cellmakerCfg ) from CaloRec.CaloTopoClusterConfig import CaloTopoClusterCfg inEventReco.mergeReco( CaloTopoClusterCfg( flags, @@ -66,6 +73,7 @@ def generateChains( flags, chainDict ): #hypo from TrigHLTJetHypo.TrigJetHypoToolConfig import trigJetHypoToolFromDict + from AthenaConfiguration.ComponentFactory import CompFactory hypo = CompFactory.TrigJetHypoAlgMT("TrigJetHypoAlgMT_a4tcem_subjesIS") jetsfullname = jetprefix+TrigAntiKt4EMTopoSubJES.basename+jetsuffix+"Jets" hypo.Jets = jetsfullname @@ -77,7 +85,7 @@ def generateChains( flags, chainDict ): HypoToolGen = trigJetHypoToolFromDict, CA = acc) - jetStep = ChainStep(stepName, [jetSequence]) + jetStep = ChainStep(name=stepName, Sequences=[jetSequence], chainDicts=[chainDict]) l1Thresholds=[] for part in chainDict['chainParts']: @@ -87,6 +95,6 @@ def generateChains( flags, chainDict ): acc.printConfig() - chain = Chain( chainDict['chainName'], L1Thresholds=l1Thresholds, ChainSteps=[ jetStep ] ) + chain = Chain( chainDict['chainName'], L1Thresholds=l1Thresholds, ChainSteps=[jetStep] ) return chain diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/HLTCFConfig_newJO.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/HLTCFConfig_newJO.py index 6970ca18cbf3574924e2267ac8fda10ac8165fe0..e936754bc87aff643c94f210fea5162098e8337b 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/HLTCFConfig_newJO.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/HLTCFConfig_newJO.py @@ -73,29 +73,16 @@ def generateDecisionTree(chains): """ filtersStep = getFiltersStepSeq( stepNumber ) - singleRecSeq = getSingleMenuSeq( stepNumber, stepName ) + singleMenuSeq = getSingleMenuSeq( stepNumber, stepName ) filterName = CFNaming.filterName( stepName ) filterAlg = CompFactory.RoRSeqFilter( filterName ) acc.addEventAlgo( filterAlg, sequenceName=filtersStep.name ) - acc.addEventAlgo( filterAlg, sequenceName=singleRecSeq.name ) + acc.addEventAlgo( filterAlg, sequenceName=singleMenuSeq.name ) log.debug('Creted filter {}'.format(filterName)) return filterAlg - - @memoize - def getComboHypo( stepNumber, step ): - """ - Returns, if need be created, combo hypo for a given step - """ - - # todo: change name to be retrieved via CFNaming - # so based on input hypos - comboHypoName = step.combo.name - comboHypo = CompFactory.ComboHypo(comboHypoName) - - return comboHypo @memoize def findInputMaker( stepCounter, stepName ): @@ -156,11 +143,6 @@ def generateDecisionTree(chains): hypoAlg.HypoInputDecisions = "" hypoAlg.HypoOutputDecisions = "" - if step.isCombo: - comboHypo = getComboHypo( stepCounter, step ) - comboHypo.HypoInputDecisions = [] - comboHypo.HypoOutputDecisions = [] - # connect all outputs (decision DF) for chain in chains: for stepCounter, step in enumerate( chain.steps, 1 ): @@ -169,6 +151,7 @@ def generateDecisionTree(chains): # Filters linking filterAlg = getFilterAlg( stepCounter, step.name ) filterAlg.Chains = addAndAssureUniqness( filterAlg.Chains, chain.name, "{} filter alg chains".format( filterAlg.name ) ) + if stepCounter == 1: filterAlg.Input = addAndAssureUniqness( filterAlg.Input, chain.L1decisions[0], "{} L1 input".format( filterAlg.name ) ) else: # look into the previous step @@ -192,7 +175,16 @@ def generateDecisionTree(chains): hypoAlg.HypoOutputDecisions = assureUnsetOrTheSame( hypoAlg.HypoOutputDecisions, hypoOutName, "{} hypo output".format( hypoAlg.name ) ) - hypoAlg.HypoTools.append( sequence._hypoToolConf.confAndCreate( TriggerConfigHLT.getChainDictFromChainName( chain.name ) ) ) + # Hypo Tools + if step.isCombo: + from TriggerMenuMT.HLTMenuConfig.Menu.ChainDictTools import splitChainInDict + chainDictLeg = splitChainInDict(chain.name)[seqCounter] + hypoAlg.HypoTools.append( sequence._hypoToolConf.confAndCreate( chainDictLeg ) ) + + # to be deleted after ComboHypos will be properly configured and included in DF + hypoAlg.HypoTools.append( sequence._hypoToolConf.confAndCreate( TriggerConfigHLT.getChainDictFromChainName( chain.name ) ) ) + else: + hypoAlg.HypoTools.append( sequence._hypoToolConf.confAndCreate( TriggerConfigHLT.getChainDictFromChainName( chain.name ) ) ) for chain in chains: diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/MenuComponents.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/MenuComponents.py index 5c82972d645ede5ac961e4875ac125e65e5bf130..b30c7d10536480bedf9fc035f583182095bf5fd7 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/MenuComponents.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/MenuComponents.py @@ -919,11 +919,6 @@ class InEventReco( ComponentAccumulator ): """ Merged CA movnig reconstruction algorithms into the right sequence """ return self.merge( ca, sequenceName=self.recoSeq.getName() ) - def addRecoAlg( self, alg ): - """Reconstruction alg to be run per event""" - log.warning( "InViewReco.addRecoAlgo: consider using mergeReco that takes care of the CA accumulation and moving algorithms" ) - self.addEventAlgo( alg, self.recoSeq.name ) - def addHypoAlg(self, alg): self.addEventAlgo( alg, self.mainSeq.name ) @@ -973,11 +968,6 @@ class InViewReco( ComponentAccumulator ): """ Merged CA movnig reconstruction algorithms into the right sequence """ return self.merge( ca, sequenceName=self.viewsSeq.getName() ) - def addRecoAlg( self, alg ): - """Reconstruction alg to be run per view""" - log.warning( "InViewReco.addRecoAlgo: consider using mergeReco that takes care of the CA accumulation and moving algorithms" ) - self.addEventAlgo( alg, self.viewsSeq.name ) - def addHypoAlg(self, alg): self.addEventAlgo( alg, self.mainSeq.name ) diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/generateMuon.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/generateMuon.py index a2411a112fd2131e7c3698c14db59cef2a03ba49..1567e8b6f8b32850abb74270767167758638272d 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/generateMuon.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/generateMuon.py @@ -18,6 +18,17 @@ def fakeHypoAlgCfg(flags, name="FakeHypoForMuon"): HLTTest__TestHypoAlg=CompFactory.HLTTest.TestHypoAlg return HLTTest__TestHypoAlg( name, Input="" ) +def EFMuonViewDataVerifierCfg(): + EFMuonViewDataVerifier = CompFactory.getComp("AthViews::ViewDataVerifier")("EFMuonViewDataVerifier") + EFMuonViewDataVerifier.DataObjects = [( 'Muon::MdtPrepDataContainer' , 'StoreGateSvc+MDT_DriftCircles' ), + ( 'Muon::TgcPrepDataContainer' , 'StoreGateSvc+TGC_Measurements' ), + ( 'Muon::RpcPrepDataContainer' , 'StoreGateSvc+RPC_Measurements' ), + ( 'Muon::CscStripPrepDataContainer' , 'StoreGateSvc+CSC_Measurements' ), + ( 'Muon::CscPrepDataContainer' , 'StoreGateSvc+CSC_Clusters' )] + result = ComponentAccumulator() + result.addEventAlgo(EFMuonViewDataVerifier) + return result + def generateChains( flags, chainDict ): chainDict = splitChainDict(chainDict)[0] @@ -93,7 +104,10 @@ def generateChains( flags, chainDict ): # Get Reco alg of muFast Step in order to set into the view algAcc, alg = l2MuFastAlgCfg( flags, roisKey=reco.name+"RoIs") - reco.addRecoAlg( alg ) + l2MuFastAlgAcc = ComponentAccumulator() + l2MuFastAlgAcc.addEventAlgo(alg) + + reco.mergeReco( l2MuFastAlgAcc ) reco.merge( algAcc ) # l2muFastReco = l2MuFastRecoCfg(flags) acc.merge( reco, sequenceName=stepReco.getName() ) @@ -111,8 +125,6 @@ def generateChains( flags, chainDict ): HypoToolGen = TrigMufastHypoToolFromDict, CA = acc ) - l2muFastSequence.createHypoTools(chainDict) - l2muFastStep = ChainStep( name=stepName, Sequences=[l2muFastSequence], chainDicts=[chainDict] ) ### Set muon step2 ### @@ -136,14 +148,9 @@ def generateChains( flags, chainDict ): from TriggerMenuMT.HLTMenuConfig.Menu.MenuComponents import InViewReco recoMS = InViewReco("EFMuMSReco") recoMS.inputMaker().RequireParentView = True - EFMuonViewDataVerifier = CompFactory.getComp("AthViews::ViewDataVerifier")("EFMuonViewDataVerifier") - EFMuonViewDataVerifier.DataObjects = [( 'Muon::MdtPrepDataContainer' , 'StoreGateSvc+MDT_DriftCircles' ), - ( 'Muon::TgcPrepDataContainer' , 'StoreGateSvc+TGC_Measurements' ), - ( 'Muon::RpcPrepDataContainer' , 'StoreGateSvc+RPC_Measurements' ), - ( 'Muon::CscStripPrepDataContainer' , 'StoreGateSvc+CSC_Measurements' ), - ( 'Muon::CscPrepDataContainer' , 'StoreGateSvc+CSC_Clusters' )] - recoMS.addRecoAlg(EFMuonViewDataVerifier) + EFMuonViewDataVerifier = EFMuonViewDataVerifierCfg() + recoMS.mergeReco(EFMuonViewDataVerifier) from MuonConfig.MuonSegmentFindingConfig import MooSegmentFinderAlgCfg segCfg = MooSegmentFinderAlgCfg(muonflags,name="TrigMooSegmentFinder",UseTGCNextBC=False, UseTGCPriorBC=False) @@ -174,8 +181,6 @@ def generateChains( flags, chainDict ): HypoToolGen = makeFakeHypoTool, CA = accMS ) - efmuMSSequence.createHypoTools(chainDict) - efmuMSStep = ChainStep( name=stepEFMSName, Sequences=[efmuMSSequence], chainDicts=[chainDict] ) l1Thresholds=[] diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Photon/PhotonRecoSequences.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Photon/PhotonRecoSequences.py index d15c10cfe6e8b5c8f4e57e8f4e8fc5b71a1d6606..edf03f50c8c74df97a627f59f7d2756f3d03f6b7 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Photon/PhotonRecoSequences.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Photon/PhotonRecoSequences.py @@ -90,6 +90,16 @@ def l2PhotonAlgCfg( flags ): return acc, photonFex + +def photonViewDataVerifierCfg(): + from AthenaConfiguration.ComponentFactory import CompFactory + moveClusters = CompFactory.getComp("AthViews::ViewDataVerifier")("photonViewDataVerifier") + moveClusters.DataObjects = [ ('xAOD::TrigEMClusterContainer','StoreGateSvc+HLT_L2CaloEMClusters') ] + + result = ComponentAccumulator() + result.addEventAlgo(moveClusters) + return result + def l2PhotonRecoCfg( flags ): from TriggerMenuMT.HLTMenuConfig.Menu.MenuComponents import InViewReco @@ -97,14 +107,15 @@ def l2PhotonRecoCfg( flags ): reco.inputMaker().RequireParentView = True reco.inputMaker().RoIsLink="initialRoI" - from AthenaConfiguration.ComponentFactory import CompFactory - moveClusters = CompFactory.getComp("AthViews::ViewDataVerifier")("photonViewDataVerifier") - moveClusters.DataObjects = [ ('xAOD::TrigEMClusterContainer','StoreGateSvc+HLT_L2CaloEMClusters') ] - - reco.addRecoAlg( moveClusters ) + moveClustersCfg = photonViewDataVerifierCfg() + reco.mergeReco( moveClustersCfg ) algAcc, alg = l2PhotonAlgCfg( flags ) - reco.addRecoAlg( alg ) + + l2PhotonAlgAcc = ComponentAccumulator() + l2PhotonAlgAcc.addEventAlgo(alg) + + reco.mergeReco( l2PhotonAlgAcc ) reco.merge( algAcc ) return reco diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Photon/generatePhoton.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Photon/generatePhoton.py index 4d7f974abef4c99378402506aa497b37009726e4..398c8b14b457218c1c5a262345d1c5d8a4852a79 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Photon/generatePhoton.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Photon/generatePhoton.py @@ -37,8 +37,6 @@ def generateChains(flags, chainDict): HypoToolGen = TrigEgammaFastCaloHypoToolFromDict, CA = accCalo ) - fastCaloSequence.createHypoTools(chainDict) - fastCaloStep = ChainStep(firstStepName, [fastCaloSequence]) @@ -63,8 +61,6 @@ def generateChains(flags, chainDict): HypoToolGen = TrigEgammaFastPhotonHypoToolFromDict, CA = accPhoton ) - l2PhotonSequence.createHypoTools(chainDict) - l2PhotonStep = ChainStep(secondStepName, [l2PhotonSequence])