ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TriggerCommon
TriggerMenuMT
python
HLT
Tau
GenerateTauChainDefs.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
.TauChainConfiguration
import
TauChainConfiguration
14
from
..Ditau.DitauChainConfiguration
import
DitauChainConfiguration
15
from
..Jet.JetChainConfiguration
import
JetChainConfiguration
16
from
AthenaConfiguration.AthConfigFlags
import
AthConfigFlags
17
18
def
generateJetChainConfigs
(flags, subChainDict):
19
jet_cfg =
JetChainConfiguration
(subChainDict)
20
jet_cfg.prepareDataDependencies(flags)
21
jet = jet_cfg.assembleChain(flags)
22
jet_name = jet_cfg.jetName
23
return
jet, jet_name
24
25
def
generateChainConfigs
(flags, chainDict, perSig_lengthOfChainConfigs):
26
27
28
listOfChainDicts = splitChainDict(chainDict)
29
listOfChainDefs=[]
30
31
for
subChainDict
in
listOfChainDicts:
32
log.debug(
'Assembling subChainsDict %s for chain %s'
, len(listOfChainDefs), subChainDict[
'chainName'
] )
33
if
subChainDict[
'sigDicts'
][
'Tau'
][0] ==
'Tau'
:
34
Tau =
TauChainConfiguration
(subChainDict).assembleChain(flags)
35
listOfChainDefs += [Tau]
36
if
subChainDict[
'sigDicts'
][
'Tau'
][0] ==
'Ditau'
:
37
Jet, jet_name =
generateJetChainConfigs
(flags, subChainDict)
38
Ditau =
DitauChainConfiguration
(subChainDict, jet_name).assembleChain(flags)
39
Jet.append_step_to_jet(Ditau.steps)
40
listOfChainDefs += [Jet]
41
42
43
if
len(listOfChainDefs)>1:
44
theChainDef, perSig_lengthOfChainConfigs = mergeChainDefs(listOfChainDefs, chainDict, perSig_lengthOfChainConfigs)
45
46
else
:
47
theChainDef = listOfChainDefs[0]
48
49
log.debug(
"theChainDef: %s"
, theChainDef)
50
return
theChainDef, perSig_lengthOfChainConfigs
51
52
53
def
prepareDefaultSignatureFlags
(inflags : AthConfigFlags) -> AthConfigFlags:
54
"""
55
invoked before generateChainConfigs method to prevent repeated cloning of flags within chain generation
56
"""
57
from
TrigInDetConfig.utils
import
cloneFlagsToActiveConfig
58
flags = cloneFlagsToActiveConfig(inflags,
"tauIso"
, log)
#tauIso is most frequently invoked
59
return
flags
60
python.HLT.Ditau.DitauChainConfiguration.DitauChainConfiguration
Definition
DitauChainConfiguration.py:14
python.HLT.Jet.JetChainConfiguration.JetChainConfiguration
Definition
JetChainConfiguration.py:32
python.HLT.Tau.TauChainConfiguration.TauChainConfiguration
Class to configure tau chains.
Definition
TauChainConfiguration.py:36
python.HLT.Tau.GenerateTauChainDefs.generateChainConfigs
generateChainConfigs(flags, chainDict, perSig_lengthOfChainConfigs)
Definition
GenerateTauChainDefs.py:25
python.HLT.Tau.GenerateTauChainDefs.generateJetChainConfigs
generateJetChainConfigs(flags, subChainDict)
Definition
GenerateTauChainDefs.py:18
python.HLT.Tau.GenerateTauChainDefs.prepareDefaultSignatureFlags
AthConfigFlags prepareDefaultSignatureFlags(AthConfigFlags inflags)
Definition
GenerateTauChainDefs.py:53
Generated on
for ATLAS Offline Software by
1.17.0