From b61e09bb097633f5c309075aa94fef4a64059848 Mon Sep 17 00:00:00 2001 From: Aleksandra Poreba <aleksandra.poreba@cern.ch> Date: Tue, 18 Feb 2020 11:37:37 +0100 Subject: [PATCH] Add Component Accumulator MenuSequence container --- .../Electron/generateElectron.py | 6 +-- .../python/HLTMenuConfig/Jet/generateJet.py | 4 +- .../HLTMenuConfig/Menu/MenuComponents.py | 38 +++++++++++++------ .../python/HLTMenuConfig/Muon/generateMuon.py | 6 +-- .../HLTMenuConfig/Photon/generatePhoton.py | 6 +-- 5 files changed, 37 insertions(+), 23 deletions(-) diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Electron/generateElectron.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Electron/generateElectron.py index 15b447344e39..89d33701806d 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Electron/generateElectron.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Electron/generateElectron.py @@ -1,7 +1,7 @@ # Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration from TriggerMenuMT.HLTMenuConfig.Electron.ElectronRecoSequences import l2CaloRecoCfg, l2CaloHypoCfg -from TriggerMenuMT.HLTMenuConfig.Menu.MenuComponents import MenuSequence, \ +from TriggerMenuMT.HLTMenuConfig.Menu.MenuComponents import CAMenuSequence, \ ChainStep, Chain, getChainStepName, createStepView from TrigEgammaHypo.TrigL2CaloHypoTool import TrigL2CaloHypoToolFromDict @@ -33,7 +33,7 @@ def generateChains( flags, chainDict ): accCalo.addEventAlgo(l2CaloHypo, sequenceName=stepView.getName()) - fastCaloSequence = MenuSequence( Sequence = l2CaloReco.sequence(), + fastCaloSequence = CAMenuSequence( Sequence = l2CaloReco.sequence(), Maker = l2CaloReco.inputMaker(), Hypo = l2CaloHypo, HypoToolGen = None, @@ -69,7 +69,7 @@ def generateChains( flags, chainDict ): accTrk.addEventAlgo(fakeHypoAlg, sequenceName=stepView.getName()) - fastInDetSequence = MenuSequence( Sequence = fastInDetReco.sequence(), + fastInDetSequence = CAMenuSequence( Sequence = fastInDetReco.sequence(), Maker = fastInDetReco.inputMaker(), Hypo = fakeHypoAlg, HypoToolGen = None, diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/generateJet.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/generateJet.py index 838a14d8b7f2..88a417bfeebf 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/generateJet.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/generateJet.py @@ -1,6 +1,6 @@ # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration -from TriggerMenuMT.HLTMenuConfig.Menu.MenuComponents import MenuSequence, ChainStep, Chain, InEventReco, getChainStepName, createStepView +from TriggerMenuMT.HLTMenuConfig.Menu.MenuComponents import CAMenuSequence, ChainStep, Chain, InEventReco, getChainStepName, createStepView from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator @@ -65,7 +65,7 @@ def generateChains( flags, chainDict ): hypo.Jets = jetsfullname acc.addEventAlgo(hypo) - jetSequence = MenuSequence( Sequence = inEventReco.sequence(), + jetSequence = CAMenuSequence( Sequence = inEventReco.sequence(), Maker = inEventReco.inputMaker(), Hypo = hypo, HypoToolGen = trigJetHypoToolFromDict, diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/MenuComponents.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/MenuComponents.py index 791722265720..dd5e9ded32ad 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/MenuComponents.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/MenuComponents.py @@ -1,5 +1,5 @@ -# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration +# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration from AthenaCommon.Logging import logging log = logging.getLogger( __name__ ) @@ -286,12 +286,11 @@ class MenuSequence(object): """ Class to group reco sequences with the Hypo""" """ By construction it has one Hypo Only; behaviour changed to support muFastOvlpRmSequence() which has two, but this will change""" - def __init__(self, Sequence, Maker, Hypo, HypoToolGen, CA=None ): + def __init__(self, Sequence, Maker, Hypo, HypoToolGen): assert Maker.name().startswith("IM"), "The input maker {} name needs to start with letter: IM".format(Maker.name()) self._sequence = Node( Alg=Sequence) self._maker = InputMakerNode( Alg = Maker ) self._seed='' - self.ca = CA if isinstance(Hypo, list): # we will remove support for this and will issue error log.warning("Sequence %s has more than one Hypo; correct your sequence in the next development cycle", self.name) @@ -349,23 +348,14 @@ class MenuSequence(object): @property def sequence(self): - if self.ca is not None: - makerAlg = self.ca.getEventAlgo(self._maker.Alg.name()) - self._maker.Alg = makerAlg return self._sequence @property def maker(self): - if self.ca is not None: - makerAlg = self.ca.getEventAlgo(self._maker.Alg.name()) - self._maker.Alg = makerAlg return self._maker @property def hypo(self): - if self.ca is not None: - hypoAlg = self.ca.getEventAlgo(self._hypo.Alg.name()) - self._hypo.Alg = hypoAlg return self._hypo def connectToFilter(self, outfilter): @@ -401,6 +391,30 @@ class MenuSequence(object): %(self.name, hyponame, self.maker.Alg.name(), self.sequence.Alg.name(), hypotool) +class CAMenuSequence(MenuSequence): + ''' MenuSequence with Compoment Accumulator ''' + + def __init__(self, Sequence, Maker, Hypo, HypoToolGen, CA): + self.ca = CA + MenuSequence.__init__(self, Sequence, Maker, Hypo, HypoToolGen) + + @property + def sequence(self): + makerAlg = self.ca.getEventAlgo(self._maker.Alg.name()) + self._maker.Alg = makerAlg + return self._sequence + + @property + def maker(self): + makerAlg = self.ca.getEventAlgo(self._maker.Alg.name()) + self._maker.Alg = makerAlg + return self._maker + + @property + def hypo(self): + hypoAlg = self.ca.getEventAlgo(self._hypo.Alg.name()) + self._hypo.Alg = hypoAlg + return self._hypo ################################################# diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/generateMuon.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/generateMuon.py index ca28955174bf..9a6dd64a406d 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/generateMuon.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/generateMuon.py @@ -1,6 +1,6 @@ # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration -from TriggerMenuMT.HLTMenuConfig.Menu.MenuComponents import MenuSequence, ChainStep, Chain, getChainStepName, createStepView +from TriggerMenuMT.HLTMenuConfig.Menu.MenuComponents import CAMenuSequence, ChainStep, Chain, getChainStepName, createStepView from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator from TrigL2MuonSA.TrigL2MuonSAConfig_newJO import l2MuFastRecoCfg, l2MuFastHypoCfg @@ -30,7 +30,7 @@ def generateChains( flags, chainDict ): acc.addEventAlgo(l2muFastHypo, sequenceName=stepView.getName()) - l2muFastSequence = MenuSequence( Sequence = l2muFastReco.sequence(), + l2muFastSequence = CAMenuSequence( Sequence = l2muFastReco.sequence(), Maker = l2muFastReco.inputMaker(), Hypo = l2muFastHypo, HypoToolGen = None, @@ -65,7 +65,7 @@ def generateChains( flags, chainDict ): fakeHypoAlg.HypoTools = [ makeFakeHypoTool(chainDict['chainName'], None) ] accMS.addEventAlgo(fakeHypoAlg, sequenceName=stepEFMSView.getName()) - efmuMSSequence = MenuSequence( Sequence = recoMS.sequence(), + efmuMSSequence = CAMenuSequence( Sequence = recoMS.sequence(), Maker = recoMS.inputMaker(), Hypo = fakeHypoAlg, HypoToolGen = None, diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Photon/generatePhoton.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Photon/generatePhoton.py index d43cd7ea23ad..9a68071fb951 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Photon/generatePhoton.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Photon/generatePhoton.py @@ -2,7 +2,7 @@ from TriggerMenuMT.HLTMenuConfig.Electron.ElectronRecoSequences import l2CaloRecoCfg, l2CaloHypoCfg from TriggerMenuMT.HLTMenuConfig.Photon.PhotonRecoSequences import l2PhotonRecoCfg, l2PhotonHypoCfg -from TriggerMenuMT.HLTMenuConfig.Menu.MenuComponents import MenuSequence, \ +from TriggerMenuMT.HLTMenuConfig.Menu.MenuComponents import CAMenuSequence, \ ChainStep, Chain, getChainStepName, createStepView from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator @@ -29,7 +29,7 @@ def generateChains(flags, chainDict): accCalo.addEventAlgo(l2CaloHypo, sequenceName=stepView.getName()) - fastCaloSequence = MenuSequence( Sequence = l2CaloReco.sequence(), + fastCaloSequence = CAMenuSequence( Sequence = l2CaloReco.sequence(), Maker = l2CaloReco.inputMaker(), Hypo = l2CaloHypo, HypoToolGen = None, @@ -55,7 +55,7 @@ def generateChains(flags, chainDict): accPhoton.addEventAlgo(l2PhotonHypo, sequenceName=stepView.getName()) - l2PhotonSequence = MenuSequence( Sequence = l2PhotonReco.sequence(), + l2PhotonSequence = CAMenuSequence( Sequence = l2PhotonReco.sequence(), Maker = l2PhotonReco.inputMaker(), Hypo = l2PhotonHypo, HypoToolGen = None, -- GitLab