From 4dab9d213d9bd3ad623ed288fa6e70856dbacd22 Mon Sep 17 00:00:00 2001 From: Tomasz Bold Date: Tue, 2 Mar 2021 18:57:45 +0100 Subject: [PATCH] Unify namsing of HLT menu related ComponentAccumulators --- .../python/TrigmuCombConfig_newJO.py | 4 ++-- .../Electron/ElectronRecoSequences.py | 4 ++-- .../Electron/generateElectron.py | 14 ++++++------ .../python/HLTMenuConfig/Jet/generateJet.py | 14 ++++++------ .../HLTMenuConfig/Menu/MenuComponents.py | 10 ++++----- .../python/HLTMenuConfig/Muon/generateMuon.py | 22 +++++++++---------- .../Photon/PhotonRecoSequences.py | 4 ++-- .../HLTMenuConfig/Photon/generatePhoton.py | 7 +++--- .../python/HLTMenuConfig/Tau/generateTau.py | 6 ++--- 9 files changed, 42 insertions(+), 43 deletions(-) diff --git a/Trigger/TrigAlgorithms/TrigmuComb/python/TrigmuCombConfig_newJO.py b/Trigger/TrigAlgorithms/TrigmuComb/python/TrigmuCombConfig_newJO.py index 882d60ff436..8cf815367c3 100644 --- a/Trigger/TrigAlgorithms/TrigmuComb/python/TrigmuCombConfig_newJO.py +++ b/Trigger/TrigAlgorithms/TrigmuComb/python/TrigmuCombConfig_newJO.py @@ -57,7 +57,7 @@ def muCombCfg(flags, postFix="", useBackExtrp=True): def l2MuCombRecoCfg(flags, name="L2MuCombReco"): - from TriggerMenuMT.HLTMenuConfig.Menu.MenuComponents import InViewReco + from TriggerMenuMT.HLTMenuConfig.Menu.MenuComponents import InViewRecoCA ViewCreatorFetchFromViewROITool=CompFactory.ViewCreatorFetchFromViewROITool viewMakerAlg = CompFactory.EventViewCreatorAlgorithm("IM"+name, ViewFallThrough = True, @@ -68,7 +68,7 @@ def l2MuCombRecoCfg(flags, name="L2MuCombReco"): Views = name+'Views', ViewNodeName = name+"InView") - reco = InViewReco(name, viewMaker=viewMakerAlg) + reco = InViewRecoCA(name, viewMaker=viewMakerAlg) acc, alg = muCombCfg(flags) alg.L2StandAloneMuonContainerName=muFastInfo diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Electron/ElectronRecoSequences.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Electron/ElectronRecoSequences.py index 0d8f6ad75f6..e7e990caef9 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Electron/ElectronRecoSequences.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Electron/ElectronRecoSequences.py @@ -6,9 +6,9 @@ from AthenaConfiguration.ComponentFactory import CompFactory from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator def l2CaloRecoCfg( flags ): - from TriggerMenuMT.HLTMenuConfig.Menu.MenuComponents import InViewReco + from TriggerMenuMT.HLTMenuConfig.Menu.MenuComponents import InViewRecoCA - reco = InViewReco('FastCaloEMReco', roisKey='EMCaloRoIs') + reco = InViewRecoCA('FastCaloEMReco', roisKey='EMCaloRoIs') # algAcc, alg = l2CaloAlgCfg( flags, roisKey = reco.name+'RoIs' ) from TrigT2CaloEgamma.TrigT2CaloEgammaMTConfig import fastL2EgammaClusteringAlg ca = ComponentAccumulator() diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Electron/generateElectron.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Electron/generateElectron.py index fed21670374..a41d65b0169 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Electron/generateElectron.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Electron/generateElectron.py @@ -1,8 +1,8 @@ # Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration from TriggerMenuMT.HLTMenuConfig.Electron.ElectronRecoSequences import l2CaloRecoCfg, l2CaloHypoCfg -from TriggerMenuMT.HLTMenuConfig.Menu.MenuComponents import CAMenuSequence, \ - ChainStep, Chain, EmptyMenuSequence, InViewReco, SelectionCA +from TriggerMenuMT.HLTMenuConfig.Menu.MenuComponents import MenuSequenceCA, \ + ChainStep, Chain, EmptyMenuSequence, InViewRecoCA, SelectionCA from TrigEgammaHypo.TrigEgammaFastCaloHypoTool import TrigEgammaFastCaloHypoToolFromDict from TrigEDMConfig.TriggerEDMRun3 import recordable @@ -27,7 +27,7 @@ def generateChains(flags, chainDict): selAcc.addHypoAlgo(l2CaloHypo) - fastCaloSequence = CAMenuSequence(selAcc, + fastCaloSequence = MenuSequenceCA(selAcc, HypoToolGen=TrigEgammaFastCaloHypoToolFromDict) # this cannot work for asymmetric combined chains....FP @@ -51,7 +51,7 @@ def generateChains(flags, chainDict): from TrigInDetConfig.TrigInDetConfig import trigInDetFastTrackingCfg idTracking = trigInDetFastTrackingCfg(flags, roisKey=evtViewMaker.InViewRoIs, signatureName="Electron") - fastInDetReco = InViewReco('FastElectron', viewMaker=evtViewMaker) + fastInDetReco = InViewRecoCA('FastElectron', viewMaker=evtViewMaker) fastInDetReco.mergeReco(idTracking) fastInDetReco.addRecoAlgo(CompFactory.AthViews.ViewDataVerifier(name='VDVElectronFastCalo', DataObjects=[('xAOD::TrigEMClusterContainer', 'StoreGateSvc+HLT_FastCaloEMClusters')]) ) @@ -66,7 +66,7 @@ def generateChains(flags, chainDict): selAcc.addHypoAlgo(fastElectronHypoAlg) from TrigEgammaHypo.TrigEgammaFastElectronHypoTool import TrigEgammaFastElectronHypoToolFromDict - fastInDetSequence = CAMenuSequence(selAcc, + fastInDetSequence = MenuSequenceCA(selAcc, HypoToolGen=TrigEgammaFastElectronHypoToolFromDict) return ChainStep( name=selAcc.name, Sequences=[fastInDetSequence], chainDicts=[chainDict], multiplicity=getChainMultFromDict(chainDict)) @@ -77,7 +77,7 @@ def generateChains(flags, chainDict): # # # Precision calo def __precisonCalo(): - recoAcc = InViewReco('ElectronRoITopoClusterReco') + recoAcc = InViewRecoCA('ElectronRoITopoClusterReco') recoAcc.addRecoAlgo(CompFactory.AthViews.ViewDataVerifier(name='VDV'+recoAcc.name, DataObjects=[('TrigRoiDescriptorCollection', recoAcc.inputMaker().InViewRoIs), ('CaloBCIDAverage', 'StoreGateSvc+CaloBCIDAverage')])) @@ -99,7 +99,7 @@ def generateChains(flags, chainDict): CaloClusters=recordable('HLT_CaloEMClusters')) selAcc.addHypoAlgo(hypoAlg) from TrigEgammaHypo.TrigEgammaPrecisionCaloHypoTool import TrigEgammaPrecisionCaloHypoToolFromDict - menuSequence = CAMenuSequence(selAcc, + menuSequence = MenuSequenceCA(selAcc, HypoToolGen=TrigEgammaPrecisionCaloHypoToolFromDict) return ChainStep(name=selAcc.name, Sequences=[menuSequence], 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 9e5cbcf9ecc..be5230183a3 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 CAMenuSequence, ChainStep, Chain, InEventReco, createStepView +from TriggerMenuMT.HLTMenuConfig.Menu.MenuComponents import MenuSequenceCA, ChainStep, Chain, InEventRecoCA, createStepView from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator from AthenaConfiguration.ComponentFactory import CompFactory import pprint @@ -43,17 +43,17 @@ def generateChains( flags, chainDict ): acc.printConfig() from TrigT2CaloCommon.CaloDef import clusterFSInputMaker - inEventReco = InEventReco("JetReco",inputMaker=clusterFSInputMaker()) + InEventReco = InEventRecoCA("JetReco",inputMaker=clusterFSInputMaker()) cellsname = "CaloCellsFS" clustersname = "HLT_CaloTopoClustersFS" cellmakerCfg = HLTCaloCellMakerCfg(flags, cellsname, cdaSvc) - inEventReco.mergeReco( cellmakerCfg ) + InEventReco.mergeReco( cellmakerCfg ) from CaloRec.CaloTopoClusterConfig import CaloTopoClusterCfg - inEventReco.mergeReco( CaloTopoClusterCfg( flags, + InEventReco.mergeReco( CaloTopoClusterCfg( flags, cellsname = cellsname, clustersname = clustersname, doLCCalib = False) ) @@ -78,9 +78,9 @@ def generateChains( flags, chainDict ): # May need a switch to disable automatic modifier prerequisite generation jetRecoComps = JetRecConfig.JetRecCfg(HLT_AntiKt4EMTopo_subjesIS, flags) - inEventReco.mergeReco(jetRecoComps) + InEventReco.mergeReco(jetRecoComps) - acc.merge(inEventReco,stepReco.getName()) + acc.merge(InEventReco,stepReco.getName()) #hypo from TrigHLTJetHypo.TrigJetHypoToolConfig import trigJetHypoToolFromDict @@ -89,7 +89,7 @@ def generateChains( flags, chainDict ): hypo.Jets = jetsfullname acc.addEventAlgo(hypo, sequenceName=stepView.getName() ) - jetSequence = CAMenuSequence(acc, + jetSequence = MenuSequenceCA(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 88558758c87..755cc1512c4 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/MenuComponents.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/MenuComponents.py @@ -528,7 +528,7 @@ class MenuSequence(object): %(self.name, hyponame, self._maker.Alg.getName(), self.sequence.Alg.getName(), hypotool) -class CAMenuSequence(MenuSequence): +class MenuSequenceCA(MenuSequence): ''' MenuSequence with Compoment Accumulator ''' def __init__(self, ca, HypoToolGen ): @@ -858,10 +858,10 @@ def createComboAlg(dummyFlags, name, multiplicity, comboHypoCfg): from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator -class InEventReco( ComponentAccumulator ): +class InEventRecoCA( ComponentAccumulator ): """ Class to handle in-event reco """ def __init__(self, name, inputMaker=None): - super( InEventReco, self ).__init__() + super( InEventRecoCA, self ).__init__() self.name = name self.mainSeq = seqAND( name ) self.addSequence( self.mainSeq ) @@ -885,10 +885,10 @@ class InEventReco( ComponentAccumulator ): -class InViewReco(ComponentAccumulator): +class InViewRecoCA(ComponentAccumulator): """ Class to handle in-view reco, sets up the View maker if not provided and exposes InputMaker so that more inputs to it can be added in the process of assembling the menu """ def __init__(self, name, viewMaker=None, roisKey=None): - super( InViewReco, self ).__init__() + super( InViewRecoCA, self ).__init__() self.name = name self.mainSeq = seqAND( name ) self.addSequence( self.mainSeq ) diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/generateMuon.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/generateMuon.py index dddba9e1c86..811ff698a99 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-2021 CERN for the benefit of the ATLAS collaboration -from TriggerMenuMT.HLTMenuConfig.Menu.MenuComponents import CAMenuSequence, ChainStep, Chain, EmptyMenuSequence, SelectionCA, InViewReco +from TriggerMenuMT.HLTMenuConfig.Menu.MenuComponents import MenuSequenceCA, ChainStep, Chain, EmptyMenuSequence, SelectionCA, InViewRecoCA from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator from TrigL2MuonSA.TrigL2MuonSAConfig_newJO import l2MuFastAlgCfg, l2MuFastHypoCfg @@ -250,7 +250,7 @@ def muFastStep(flags, chainDict): # Step 1 (L2MuonSA) selAcc = SelectionCA("L2MuFastReco") # Set EventViews for L2MuonSA step - reco = InViewReco("L2MuFastReco") + reco = InViewRecoCA("L2MuFastReco") #external data loading to view reco.mergeReco( MuFastViewDataVerifier() ) @@ -270,7 +270,7 @@ def muFastStep(flags, chainDict): selAcc.addHypoAlgo(l2muFastHypo) - l2muFastSequence = CAMenuSequence(selAcc, + l2muFastSequence = MenuSequenceCA(selAcc, HypoToolGen = TrigMufastHypoToolFromDict ) return ChainStep( name=selAcc.name, Sequences=[l2muFastSequence], chainDicts=[chainDict] ) @@ -295,7 +295,7 @@ def muCombStep(flags, chainDict): muCombInfo = 'HLT_MuonL2CBInfo' ) selAccL2CB.addHypoAlgo(l2muCombHypo) - l2muCombSequence = CAMenuSequence(selAccL2CB, + l2muCombSequence = MenuSequenceCA(selAccL2CB, HypoToolGen = TrigmuCombHypoToolFromDict) return ChainStep( name=selAccL2CB.name, Sequences=[l2muCombSequence], chainDicts=[chainDict] ) @@ -322,7 +322,7 @@ def muEFSAStep(flags, chainDict, name='RoI'): InViewRoIs = viewName+'RoIs', Views = viewName+'Views', ViewNodeName = viewName+"InView") - recoMS = InViewReco(name=viewName, viewMaker=viewMakerAlg) + recoMS = InViewRecoCA(name=viewName, viewMaker=viewMakerAlg) #Probably this block will eventually need to move somewhere more central recoMS.merge( BeamPipeGeometryCfg(flags) ) @@ -354,7 +354,7 @@ def muEFSAStep(flags, chainDict, name='RoI'): selAccMS.addHypoAlgo(efmuMSHypo) - efmuMSSequence = CAMenuSequence(selAccMS, + efmuMSSequence = MenuSequenceCA(selAccMS, HypoToolGen = TrigMuonEFMSonlyHypoToolFromDict) return ChainStep( name=selAccMS.name, Sequences=[efmuMSSequence], chainDicts=[chainDict] ) @@ -381,12 +381,12 @@ def muEFCBStep(flags, chainDict, name='RoI'): InViewRoIs = viewName+'RoIs', Views = viewName+'Views', ViewNodeName = viewName+"InView") - recoCB = InViewReco("EFMuCBReco_"+name, viewMaker=viewMakerAlg) + recoCB = InViewRecoCA("EFMuCBReco_"+name, viewMaker=viewMakerAlg) #ID tracking recoCB.mergeReco(trigInDetFastTrackingCfg( flags, roisKey=recoCB.inputMaker().InViewRoIs, signatureName="MuonFS" )) trackName = "HLT_IDTrack_MuonFS_FTF" else: - recoCB = InViewReco(viewName) + recoCB = InViewRecoCA(viewName) recoCB.inputMaker().RequireParentView = True recoCB.mergeReco(EFMuonCBViewDataVerifierCfg(name)) @@ -411,7 +411,7 @@ def muEFCBStep(flags, chainDict, name='RoI'): selAccEFCB.addHypoAlgo(efmuCBHypo) - efmuCBSequence = CAMenuSequence(selAccEFCB, + efmuCBSequence = MenuSequenceCA(selAccEFCB, HypoToolGen = TrigMuonEFCombinerHypoToolFromDict) return ChainStep( name=selAccEFCB.name, Sequences=[efmuCBSequence], chainDicts=[chainDict] ) @@ -434,7 +434,7 @@ def muEFIsoStep(flags, chainDict): InViewRoIs = viewName+'RoIs', Views = viewName+'Views', ViewNodeName = viewName+"InView") - recoIso = InViewReco("EFMuIsoReco", viewMaker=viewMakerAlg) + recoIso = InViewRecoCA("EFMuIsoReco", viewMaker=viewMakerAlg) #ID tracking recoIso.mergeReco(trigInDetFastTrackingCfg( flags, roisKey=recoIso.inputMaker().InViewRoIs, signatureName="MuonIso" )) recoIso.mergeReco(MuIsoViewDataVerifierCfg()) @@ -446,7 +446,7 @@ def muEFIsoStep(flags, chainDict): inputMuons = "MuonsIso" ) selAccEFIso.addHypoAlgo(efmuIsoHypo) - efmuIsoSequence = CAMenuSequence(selAccEFIso, + efmuIsoSequence = MenuSequenceCA(selAccEFIso, HypoToolGen = TrigMuonEFTrackIsolationHypoToolFromDict) return ChainStep( name=selAccEFIso.name, Sequences=[efmuIsoSequence], chainDicts=[chainDict] ) diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Photon/PhotonRecoSequences.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Photon/PhotonRecoSequences.py index 00ead372a12..2bc8a7ea083 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Photon/PhotonRecoSequences.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Photon/PhotonRecoSequences.py @@ -113,9 +113,9 @@ def photonViewDataVerifierCfg(): return result def l2PhotonRecoCfg( flags ): - from TriggerMenuMT.HLTMenuConfig.Menu.MenuComponents import InViewReco + from TriggerMenuMT.HLTMenuConfig.Menu.MenuComponents import InViewRecoCA - reco = InViewReco("L2PhotonReco") + reco = InViewRecoCA("L2PhotonReco") reco.inputMaker().RequireParentView = True reco.inputMaker().RoIsLink="initialRoI" diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Photon/generatePhoton.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Photon/generatePhoton.py index 37ea9deccf3..9bf2dd2229b 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 CAMenuSequence, \ +from TriggerMenuMT.HLTMenuConfig.Menu.MenuComponents import MenuSequenceCA, \ ChainStep, Chain, createStepView from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator @@ -14,7 +14,6 @@ from AthenaCommon.Logging import logging log = logging.getLogger( 'TriggerMenuMT.HLTMenuConfig.Photon.generatePhoton' ) def generateChains(flags, chainDict): - firstStepName = 'FastCaloPhoton' stepReco, stepView = createStepView(firstStepName) @@ -34,7 +33,7 @@ def generateChains(flags, chainDict): accCalo.addEventAlgo(l2CaloHypo, sequenceName=stepView.getName()) - fastCaloSequence = CAMenuSequence(accCalo, + fastCaloSequence = MenuSequenceCA(accCalo, HypoToolGen = TrigEgammaFastCaloHypoToolFromDict) fastCaloStep = ChainStep(firstStepName, [fastCaloSequence], multiplicity=[1],chainDicts=[chainDict] ) @@ -55,7 +54,7 @@ def generateChains(flags, chainDict): accPhoton.addEventAlgo(l2PhotonHypo, sequenceName=stepView.getName()) - l2PhotonSequence = CAMenuSequence(accPhoton, + l2PhotonSequence = MenuSequenceCA(accPhoton, HypoToolGen = TrigEgammaFastPhotonHypoToolFromDict) l2PhotonStep = ChainStep(secondStepName, [l2PhotonSequence], multiplicity=[1],chainDicts=[chainDict] ) diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Tau/generateTau.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Tau/generateTau.py index fa386cbeb6e..af6dcbf2e00 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Tau/generateTau.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Tau/generateTau.py @@ -1,11 +1,11 @@ # Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration -from TriggerMenuMT.HLTMenuConfig.Menu.MenuComponents import Chain, ChainStep, CAMenuSequence, SelectionCA, InViewReco, EmptyMenuSequence +from TriggerMenuMT.HLTMenuConfig.Menu.MenuComponents import Chain, ChainStep, MenuSequenceCA, SelectionCA, InViewRecoCA, EmptyMenuSequence from AthenaConfiguration.ComponentFactory import CompFactory from TriggerMenuMT.HLTMenuConfig.Menu.DictFromChainName import getChainMultFromDict def generateChains( flags, chainDict ): def __calo(): - recoAcc = InViewReco('CaloTauReco') + recoAcc = InViewRecoCA('CaloTauReco') from TrigCaloRec.TrigCaloRecConfig import hltCaloTopoClusteringCfg recoAcc.addRecoAlgo(CompFactory.AthViews.ViewDataVerifier(name='VDV'+recoAcc.name, DataObjects=[('TrigRoiDescriptorCollection', recoAcc.inputMaker().InViewRoIs), @@ -31,7 +31,7 @@ def generateChains( flags, chainDict ): taujets = "HLT_TrigTauRecMerged_CaloOnly" ) selAcc.addHypoAlgo(hypoAlg) from TrigTauHypo.TrigTauHypoTool import TrigL2TauHypoToolFromDict - menuCA = CAMenuSequence(selAcc, HypoToolGen=TrigL2TauHypoToolFromDict) + menuCA = MenuSequenceCA(selAcc, HypoToolGen=TrigL2TauHypoToolFromDict) return ChainStep(name=selAcc.name, Sequences=[menuCA], chainDicts=[chainDict], multiplicity=getChainMultFromDict(chainDict)) thresholds = [p["L1threshold"] for p in chainDict['chainParts'] if p['signature'] == 'Tau' ] -- GitLab