ATLAS Offline Software
Loading...
Searching...
No Matches
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
7from AthenaCommon.Logging import logging
8log = logging.getLogger(__name__)
9logging.getLogger().info('Importing %s', __name__)
10
11from TriggerMenuMT.HLT.Config.Utility.ChainDictTools import splitChainDict
12from TriggerMenuMT.HLT.Config.Utility.ChainMerging import mergeChainDefs
13from .BphysicsChainConfiguration import BphysicsChainConfiguration
14
15def 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
generateChainConfigs(flags, chainDict, perSig_lengthOfChainConfigs)