ATLAS Offline Software
GenerateBphysicsChainDefs.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 
11 from TriggerMenuMT.HLT.Config.Utility.ChainDictTools import splitChainDict
12 from TriggerMenuMT.HLT.Config.Utility.ChainMerging import mergeChainDefs
13 from .BphysicsChainConfiguration import BphysicsChainConfiguration
14 
15 def generateChainConfigs(flags, chainDict, perSig_lengthOfChainConfigs):
16 
17  if not chainDict['topo']:
18  log.error('No topo given -> not a bphysics chain...')
19 
20  listOfChainDicts = splitChainDict(chainDict)
21 
22  listOfChainDefs=[]
23  for subChainDict in listOfChainDicts:
24  subChain = BphysicsChainConfiguration(subChainDict).assembleBphysChain(flags)
25  listOfChainDefs += [subChain]
26 
27  log.debug('length of chaindefs %s', len(listOfChainDefs))
28 
29  if len(listOfChainDefs) > 1:
30  chainDef, perSig_lengthOfChainConfigs = mergeChainDefs(listOfChainDefs, chainDict, perSig_lengthOfChainConfigs)
31  else:
32  chainDef = listOfChainDefs[0]
33 
34  log.debug('ChainDef %s', chainDef)
35  return chainDef, perSig_lengthOfChainConfigs
grepfile.info
info
Definition: grepfile.py:38
python.HLT.Bphysics.BphysicsChainConfiguration.BphysicsChainConfiguration
Class/function to configure muon chains.
Definition: BphysicsChainConfiguration.py:26
ChainDictTools.splitChainDict
def splitChainDict(chainDict)
Definition: ChainDictTools.py:104
ChainMerging.mergeChainDefs
def mergeChainDefs(listOfChainDefs, chainDict, perSig_lengthOfChainConfigs=None)
Definition: ChainMerging.py:15
python.HLT.Bphysics.GenerateBphysicsChainDefs.generateChainConfigs
def generateChainConfigs(flags, chainDict, perSig_lengthOfChainConfigs)
Definition: GenerateBphysicsChainDefs.py:15