ATLAS Offline Software
GenerateMuonChainDefs.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
2 
3 
6 
7 from AthenaCommon.Logging import logging
8 log = logging.getLogger(__name__)
9 logging.getLogger().info("Importing %s",__name__)
10 from TriggerMenuMT.HLT.Config.Utility.ChainDictTools import splitChainDict
11 from TriggerMenuMT.HLT.Config.Utility.ChainMerging import mergeChainDefs
12 from .MuonChainConfiguration import MuonChainConfiguration
13 from AthenaConfiguration.AthConfigFlags import AthConfigFlags
14 
15 
16 def generateChainConfigs(flags, chainDict, perSig_lengthOfChainConfigs):
17 
18  listOfChainDicts = splitChainDict(chainDict)
19  listOfChainDefs=[]
20 
21  for subChainDict in listOfChainDicts:
22  log.debug('Assembling subChainsDict %s for chain %s', len(listOfChainDefs), subChainDict['chainName'] )
23  Muon = MuonChainConfiguration(subChainDict).assembleChain(flags)
24 
25  listOfChainDefs += [Muon]
26 
27 
28  if len(listOfChainDefs)>1:
29  theChainDef, perSig_lengthOfChainConfigs = mergeChainDefs(listOfChainDefs, chainDict, perSig_lengthOfChainConfigs)
30  else:
31  theChainDef = listOfChainDefs[0]
32 
33  return theChainDef, perSig_lengthOfChainConfigs
34 
35 def prepareDefaultSignatureFlags(inflags : AthConfigFlags) -> AthConfigFlags:
36  """
37  invoked before generateChainConfigs method to prevent repeated cloning of flags within chain generation
38  """
39  from TrigInDetConfig.utils import cloneFlagsToActiveConfig
40  flags = cloneFlagsToActiveConfig(inflags, "muon", log)
41  return flags
42 
43 
python.HLT.Muon.MuonChainConfiguration.MuonChainConfiguration
Class/function to configure muon chains.
Definition: MuonChainConfiguration.py:32
python.HLT.Muon.GenerateMuonChainDefs.generateChainConfigs
def generateChainConfigs(flags, chainDict, perSig_lengthOfChainConfigs)
Definition: GenerateMuonChainDefs.py:16
python.utils.cloneFlagsToActiveConfig
AthConfigFlags cloneFlagsToActiveConfig(AthConfigFlags flags, str config_name, logging.Logger log)
Definition: Trigger/TrigTools/TrigInDetConfig/python/utils.py:54
python.HLT.Muon.GenerateMuonChainDefs.prepareDefaultSignatureFlags
AthConfigFlags prepareDefaultSignatureFlags(AthConfigFlags inflags)
Definition: GenerateMuonChainDefs.py:35
ChainDictTools.splitChainDict
def splitChainDict(chainDict)
Definition: ChainDictTools.py:104
ChainMerging.mergeChainDefs
def mergeChainDefs(listOfChainDefs, chainDict, perSig_lengthOfChainConfigs=None)
Definition: ChainMerging.py:15
python.ParticleTypeUtil.info
def info
Definition: ParticleTypeUtil.py:87