From 0a97598731186a74e0ac3e0481063e5353a64443 Mon Sep 17 00:00:00 2001 From: Tomasz Bold <tomasz.bold@gmail.com> Date: Wed, 18 Nov 2020 15:05:07 +0000 Subject: [PATCH] Refactored CAMenuSequence ctor to simplify its use (related to HLT newJO config) --- .../Electron/generateElectron.py | 14 ++----- .../python/HLTMenuConfig/Jet/generateJet.py | 7 +--- .../HLTMenuConfig/Menu/MenuComponents.py | 39 ++++++++----------- .../python/HLTMenuConfig/Muon/generateMuon.py | 27 +++++-------- .../HLTMenuConfig/Photon/generatePhoton.py | 14 ++----- 5 files changed, 35 insertions(+), 66 deletions(-) diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Electron/generateElectron.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Electron/generateElectron.py index e04d987296f4..8bdd03dc0b28 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Electron/generateElectron.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Electron/generateElectron.py @@ -34,11 +34,8 @@ def generateChains( flags, chainDict ): accCalo.addEventAlgo(l2CaloHypo, sequenceName=stepView.getName()) - fastCaloSequence = CAMenuSequence( Sequence = l2CaloReco.sequence(), - Maker = l2CaloReco.inputMaker(), - Hypo = l2CaloHypo, - HypoToolGen = TrigEgammaFastCaloHypoToolFromDict, - CA = accCalo) + fastCaloSequence = CAMenuSequence(accCalo, + HypoToolGen = TrigEgammaFastCaloHypoToolFromDict) accCalo.printConfig() # this cannot work for asymmetric combined chains....FP @@ -84,11 +81,8 @@ def generateChains( flags, chainDict ): accTrk.addEventAlgo(fastElectronHypoAlg, sequenceName=stepView.getName()) from TrigEgammaHypo.TrigEgammaFastElectronHypoTool import TrigEgammaFastElectronHypoToolFromDict - fastInDetSequence = CAMenuSequence(Sequence = fastInDetReco.sequence(), - Maker = fastInDetReco.inputMaker(), - Hypo = fastElectronHypoAlg, - HypoToolGen = TrigEgammaFastElectronHypoToolFromDict, - CA = accTrk) + fastInDetSequence = CAMenuSequence(accTrk, + HypoToolGen = TrigEgammaFastElectronHypoToolFromDict) fastInDetStep = ChainStep( name=secondStepName, Sequences=[fastInDetSequence], chainDicts=[chainDict], multiplicity=getChainMultFromDict(chainDict)) diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/generateJet.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/generateJet.py index 11a1e9117e57..9f74d1abac38 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/generateJet.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/generateJet.py @@ -86,11 +86,8 @@ def generateChains( flags, chainDict ): hypo.Jets = jetsfullname acc.addEventAlgo(hypo, sequenceName=stepView.getName() ) - jetSequence = CAMenuSequence( Sequence = inEventReco.sequence(), - Maker = inEventReco.inputMaker(), - Hypo = hypo, - HypoToolGen = trigJetHypoToolFromDict, - CA = acc) + jetSequence = CAMenuSequence(acc, + HypoToolGen = trigJetHypoToolFromDict) jetStep = ChainStep(name=stepName, Sequences=[jetSequence], chainDicts=[chainDict]) diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/MenuComponents.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/MenuComponents.py index 6b5e09bfbdb2..e7c9a1b8626e 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/MenuComponents.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/MenuComponents.py @@ -529,9 +529,16 @@ class MenuSequence(object): 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) + def __init__(self, ca, HypoToolGen ): + self.ca = ca + allAlgs = ca.getEventAlgos() + inputMaker = [ a for a in allAlgs if isInputMakerBase(a)] + assert len(inputMaker) == 1, "Wrong number of input makers in the compnent accumulator {}".format(len(inputMaker)) + inputMaker = inputMaker[0] + hypoAlg = [ a for a in allAlgs if isHypoAlg(a)] + assert len(hypoAlg) == 1, "Wrong number of hypo algs in the compnent accumulator {}".format(len(hypoAlg)) + hypoAlg = hypoAlg[0] + MenuSequence.__init__(self, ca.getSequence(), inputMaker, hypoAlg, HypoToolGen) @property def sequence(self): @@ -872,13 +879,11 @@ class InEventReco( ComponentAccumulator ): def mergeReco( self, ca ): """ Merged CA movnig reconstruction algorithms into the right sequence """ - return self.merge( ca, sequenceName=self.recoSeq.getName() ) + return self.merge( ca, sequenceName=self.recoSeq.name ) - def addHypoAlg(self, alg): - self.addEventAlgo( alg, self.mainSeq.name ) - - def sequence( self ): - return self.mainSeq + def addRecoAlgo( self, algo ): + """ Place algorithm in the correct reconstruction sequence """ + return self.addEventAlgo( algo, sequenceName=self.recoSeq.name ) def inputMaker( self ): return self.inputMakerAlg @@ -910,25 +915,13 @@ class InViewReco(ComponentAccumulator): self.viewsSeq = parOR( self.viewMakerAlg.ViewNodeName ) self.addSequence( self.viewsSeq, self.mainSeq.name ) - def addInput(self, inKey, outKey ): - """Adds input (DecisionsContainer) from which the views should be created """ - self.viewMakerAlg.InputMakerInputDecisions += [ inKey ] - self.viewMakerAlg.InputMakerOutputDecisions = outKey - def mergeReco( self, ca ): """ Merge CA movnig reconstruction algorithms into the right sequence """ - return self.merge( ca, sequenceName=self.viewsSeq.getName() ) + return self.merge( ca, sequenceName=self.viewsSeq.name ) def addRecoAlgo( self, algo ): """ Place algorithm in the correct reconstruction sequence """ - return self.addEventAlgo( algo, sequenceName=self.viewsSeq.getName() ) - - - def addHypoAlg(self, alg): - self.addEventAlgo( alg, self.mainSeq.name ) - - def sequence( self ): - return self.mainSeq + return self.addEventAlgo( algo, sequenceName=self.viewsSeq.name ) def inputMaker( self ): return self.viewMakerAlg diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/generateMuon.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/generateMuon.py index c687d6abc0cb..ccf2337ed4f8 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/generateMuon.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/generateMuon.py @@ -211,11 +211,8 @@ def generateChains( flags, chainDict ): acc.addEventAlgo(l2muFastHypo, sequenceName=stepView.getName()) - l2muFastSequence = CAMenuSequence( Sequence = reco.sequence(), - Maker = reco.inputMaker(), - Hypo = l2muFastHypo, - HypoToolGen = TrigMufastHypoToolFromDict, - CA = acc ) + l2muFastSequence = CAMenuSequence(acc, + HypoToolGen = TrigMufastHypoToolFromDict ) l2muFastStep = ChainStep( name=stepName, Sequences=[l2muFastSequence], chainDicts=[chainDict] ) @@ -240,17 +237,14 @@ def generateChains( flags, chainDict ): accL2CB.merge(recoL2CB, sequenceName = stepL2CBReco.getName()) - l2muCombHypo = l2MuCombHypoCfg( flags, - name = 'TrigL2MuCombHypo', - muCombInfo = 'HLT_MuonL2CBInfo' ) + l2muCombHypo = l2MuCombHypoCfg(flags, + name = 'TrigL2MuCombHypo', + muCombInfo = 'HLT_MuonL2CBInfo' ) accL2CB.addEventAlgo(l2muCombHypo, sequenceName=stepL2CBView.getName()) - l2muCombSequence = CAMenuSequence( Sequence = recoL2CB.sequence(), - Maker = recoL2CB.inputMaker(), - Hypo = l2muCombHypo, - HypoToolGen = TrigmuCombHypoToolFromDict, - CA = accL2CB ) + l2muCombSequence = CAMenuSequence(accL2CB, + HypoToolGen = TrigmuCombHypoToolFromDict) l2muCombStep = ChainStep( name=stepL2CBName, Sequences=[l2muCombSequence], chainDicts=[chainDict] ) @@ -323,11 +317,8 @@ def generateChains( flags, chainDict ): accMS.addEventAlgo(efmuMSHypo, sequenceName=stepEFMSView.getName()) - efmuMSSequence = CAMenuSequence( Sequence = recoMS.sequence(), - Maker = recoMS.inputMaker(), - Hypo = efmuMSHypo, - HypoToolGen = TrigMuonEFMSonlyHypoToolFromDict, - CA = accMS ) + efmuMSSequence = CAMenuSequence(accMS, + HypoToolGen = TrigMuonEFMSonlyHypoToolFromDict) efmuMSStep = ChainStep( name=stepEFMSName, Sequences=[efmuMSSequence], chainDicts=[chainDict] ) diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Photon/generatePhoton.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Photon/generatePhoton.py index acdc24d9714e..37ea9deccf31 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Photon/generatePhoton.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Photon/generatePhoton.py @@ -34,11 +34,8 @@ def generateChains(flags, chainDict): accCalo.addEventAlgo(l2CaloHypo, sequenceName=stepView.getName()) - fastCaloSequence = CAMenuSequence( Sequence = l2CaloReco.sequence(), - Maker = l2CaloReco.inputMaker(), - Hypo = l2CaloHypo, - HypoToolGen = TrigEgammaFastCaloHypoToolFromDict, - CA = accCalo ) + fastCaloSequence = CAMenuSequence(accCalo, + HypoToolGen = TrigEgammaFastCaloHypoToolFromDict) fastCaloStep = ChainStep(firstStepName, [fastCaloSequence], multiplicity=[1],chainDicts=[chainDict] ) @@ -58,11 +55,8 @@ def generateChains(flags, chainDict): accPhoton.addEventAlgo(l2PhotonHypo, sequenceName=stepView.getName()) - l2PhotonSequence = CAMenuSequence( Sequence = l2PhotonReco.sequence(), - Maker = l2PhotonReco.inputMaker(), - Hypo = l2PhotonHypo, - HypoToolGen = TrigEgammaFastPhotonHypoToolFromDict, - CA = accPhoton ) + l2PhotonSequence = CAMenuSequence(accPhoton, + HypoToolGen = TrigEgammaFastPhotonHypoToolFromDict) l2PhotonStep = ChainStep(secondStepName, [l2PhotonSequence], multiplicity=[1],chainDicts=[chainDict] ) -- GitLab