ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
InnerDetector
InDetValidation
InDetTrackPerfMon
python
InDetAlgorithmConfig.py
Go to the documentation of this file.
1
#
2
# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3
#
4
5
'''@file InDetAlgorithmConfig.py
6
@author M. Aparo
7
@date 02-10-2023
8
@brief CA-based python configurations for the event algorithms in this package
9
'''
10
11
from
AthenaConfiguration.ComponentAccumulator
import
ComponentAccumulator
12
from
AthenaConfiguration.ComponentFactory
import
CompFactory
13
14
15
def
TruthHitDecoratorAlgCfg
( flags, name="InDetPhysValTruthDecoratorAlg", **kwargs ):
16
'''
17
create decoration algorithm which decorates
18
truth particles with track parameters at the perigee.
19
'''
20
acc = ComponentAccumulator()
21
22
from
TrkConfig.AtlasExtrapolatorConfig
import
AtlasExtrapolatorCfg
23
extrapolator = acc.popToolsAndMerge( AtlasExtrapolatorCfg( flags ) )
24
acc.addPublicTool( extrapolator )
25
kwargs.setdefault(
"Extrapolator"
, extrapolator )
26
27
PixelClusterContainerName =
"PixelClusters"
28
SCTClusterContainerName =
"SCT_Clusters"
29
if
flags.Detector.GeometryITk :
30
if
flags.PhysVal.IDTPM.currentTrkAna.useActsSiMeasurements :
31
PixelClusterContainerName =
"ITkPixelMeasurements_offl"
32
SCTClusterContainerName =
"ITkStripMeasurements_offl"
33
else
:
34
PixelClusterContainerName =
"ITkPixelMeasurements"
35
SCTClusterContainerName =
"ITkStripMeasurements"
36
37
kwargs.setdefault(
"PixelClusterContainerName"
, PixelClusterContainerName )
38
kwargs.setdefault(
"SCTClusterContainerName"
, SCTClusterContainerName )
39
40
doTechEff =
False
41
for
trkAnaName
in
flags.PhysVal.IDTPM.trkAnaNames:
42
if
getattr( flags.PhysVal.IDTPM, trkAnaName+
".plotTechnicalEfficiencies"
):
43
doTechEff =
True
44
break
45
kwargs.setdefault(
'TruthParticleIndexDecoration'
,
'origTruthIndex'
if
doTechEff
else
''
)
46
47
48
acc.addEventAlgo( CompFactory.InDetPhysValTruthDecoratorAlg( name, **kwargs ) )
49
return
acc
50
51
52
def
OfflineElectronDecoratorAlgCfg
( flags, name="OfflineElectronDecoratorAlg", **kwargs ):
53
acc = ComponentAccumulator()
54
acc.addEventAlgo( CompFactory.IDTPM.OfflineElectronDecoratorAlg( name, **kwargs ) )
55
return
acc
56
57
58
def
OfflineElectronGSFDecoratorAlgCfg
( flags, name="OfflineElectronGSFDecoratorAlg", **kwargs ):
59
acc = ComponentAccumulator()
60
kwargs.setdefault(
"OfflineTrkParticleContainerName"
,
"GSFTrackParticles"
)
61
kwargs.setdefault(
"useGSF"
,
True
)
62
acc.addEventAlgo( CompFactory.IDTPM.OfflineElectronDecoratorAlg( name, **kwargs ) )
63
return
acc
64
65
66
def
OfflineMuonDecoratorAlgCfg
( flags, name="OfflineMuonDecoratorAlg", **kwargs ):
67
acc = ComponentAccumulator()
68
acc.addEventAlgo( CompFactory.IDTPM.OfflineMuonDecoratorAlg( name, **kwargs ) )
69
return
acc
70
71
72
def
OfflineMuonCombDecoratorAlgCfg
( flags, name="OfflineMuonDecoratorAlg", **kwargs ):
73
acc = ComponentAccumulator()
74
kwargs.setdefault(
"OfflineTrkParticleContainerName"
,
"CombinedMuonTrackParticles"
)
75
kwargs.setdefault(
"useCombinedMuonTracks"
,
True
)
76
acc.addEventAlgo( CompFactory.IDTPM.OfflineMuonDecoratorAlg( name, **kwargs ) )
77
return
acc
78
79
80
def
OfflineTauBDT1prongDecoratorAlgCfg
( flags, name="OfflineTauBDT1prongDecoratorAlg", **kwargs ):
81
acc = ComponentAccumulator()
82
kwargs.setdefault(
"Prefix"
,
"LinkedTauBDT1prong_"
)
83
kwargs.setdefault(
"TauType"
,
"BDT"
)
84
kwargs.setdefault(
"TauNprongs"
, 1 )
85
acc.addEventAlgo( CompFactory.IDTPM.OfflineTauDecoratorAlg( name, **kwargs ) )
86
return
acc
87
88
89
def
OfflineTauBDT3prongDecoratorAlgCfg
( flags, name="OfflineTauBDT3prongDecoratorAlg", **kwargs ):
90
acc = ComponentAccumulator()
91
kwargs.setdefault(
"Prefix"
,
"LinkedTauBDT3prong_"
)
92
kwargs.setdefault(
"TauType"
,
"BDT"
)
93
kwargs.setdefault(
"TauNprongs"
, 3 )
94
acc.addEventAlgo( CompFactory.IDTPM.OfflineTauDecoratorAlg( name, **kwargs ) )
95
return
acc
96
97
98
def
OfflineTauRNN1prongDecoratorAlgCfg
( flags, name="OfflineTauRNN1prongDecoratorAlg", **kwargs ):
99
acc = ComponentAccumulator()
100
kwargs.setdefault(
"Prefix"
,
"LinkedTauRNN1prong_"
)
101
kwargs.setdefault(
"TauType"
,
"RNN"
)
102
kwargs.setdefault(
"TauNprongs"
, 1 )
103
acc.addEventAlgo( CompFactory.IDTPM.OfflineTauDecoratorAlg( name, **kwargs ) )
104
return
acc
105
106
107
def
OfflineTauRNN3prongDecoratorAlgCfg
( flags, name="OfflineTauRNN3prongDecoratorAlg", **kwargs ):
108
acc = ComponentAccumulator()
109
kwargs.setdefault(
"Prefix"
,
"LinkedTauRNN3prong_"
)
110
kwargs.setdefault(
"TauType"
,
"RNN"
)
111
kwargs.setdefault(
"TauNprongs"
, 3 )
112
acc.addEventAlgo( CompFactory.IDTPM.OfflineTauDecoratorAlg( name, **kwargs ) )
113
return
acc
114
115
116
def
OfflineJetDecoratorAlgCfg
( flags, name="OfflineJetDecoratorAlg", **kwargs ):
117
acc = ComponentAccumulator()
118
kwargs.setdefault(
"Prefix"
,
"LinkedJet_"
)
119
kwargs.setdefault(
"OfflineTrkParticleContainerName"
,
120
flags.PhysVal.IDTPM.currentTrkAna.OfflineTrkKey )
121
kwargs.setdefault(
"JetContainerName"
, flags.PhysVal.IDTPM.currentTrkAna.JetContainerName )
122
kwargs.setdefault(
"maxTrkJetDR"
, flags.PhysVal.IDTPM.currentTrkAna.maxTrkJetDR )
123
kwargs.setdefault(
"JetAbsEtaMin"
, flags.PhysVal.IDTPM.currentTrkAna.jetMinAbsEta )
124
kwargs.setdefault(
"JetAbsEtaMax"
, flags.PhysVal.IDTPM.currentTrkAna.jetMaxAbsEta )
125
kwargs.setdefault(
"JetPtMin"
, flags.PhysVal.IDTPM.currentTrkAna.jetMinPt )
126
kwargs.setdefault(
"JetPtMax"
, flags.PhysVal.IDTPM.currentTrkAna.jetMaxPt )
127
acc.addEventAlgo( CompFactory.IDTPM.OfflineJetDecoratorAlg( name, **kwargs ) )
128
return
acc
129
130
131
def
OfflineObjectDecoratorAlgCfg
( flags, name="OfflineObjectDecoratorAlg", **kwargs ):
132
'''
133
create decoration algorithm(s) to decorate offline tracks with a link to
134
the offline object they correspond to in the event reconstruction
135
'''
136
acc = ComponentAccumulator()
137
138
objStrList = []
139
tauTypeList = []
140
for
trkAnaName
in
flags.PhysVal.IDTPM.trkAnaNames:
141
objStr = getattr( flags.PhysVal.IDTPM, trkAnaName+
".SelectOfflineObject"
)
142
if
objStr : objStrList.append( objStr )
143
tauType = getattr( flags.PhysVal.IDTPM, trkAnaName+
".TauType"
)
144
if
tauType : tauTypeList.append( tauType )
145
146
if
"ElectronGSF"
in
objStrList:
147
acc.merge(
OfflineElectronGSFDecoratorAlgCfg
(flags) )
148
149
if
"Electron"
in
objStrList:
150
acc.merge(
OfflineElectronDecoratorAlgCfg
(flags) )
151
152
if
"MuonComb"
in
objStrList:
153
acc.merge(
OfflineMuonCombDecoratorAlgCfg
(flags) )
154
155
if
"Muon"
in
objStrList:
156
acc.merge(
OfflineMuonDecoratorAlgCfg
(flags) )
157
158
if
"Tau"
in
objStrList:
159
if
"BDT"
in
tauTypeList:
160
acc.merge(
OfflineTauBDT1prongDecoratorAlgCfg
(flags) )
161
acc.merge(
OfflineTauBDT3prongDecoratorAlgCfg
(flags) )
162
if
"RNN"
in
tauTypeList:
163
acc.merge(
OfflineTauRNN1prongDecoratorAlgCfg
(flags) )
164
acc.merge(
OfflineTauRNN3prongDecoratorAlgCfg
(flags) )
165
166
if
"Jet"
in
objStrList:
167
acc.merge(
OfflineJetDecoratorAlgCfg
(flags) )
168
169
return
acc
170
171
172
def
TruthDecoratorAlgCfg
( flags, name="TruthDecoratorAlg", **kwargs ):
173
acc = ComponentAccumulator()
174
acc.addEventAlgo( CompFactory.IDTPM.TruthDecoratorAlg( name, **kwargs ) )
175
return
acc
InDetAlgorithmConfig.OfflineMuonDecoratorAlgCfg
OfflineMuonDecoratorAlgCfg(flags, name="OfflineMuonDecoratorAlg", **kwargs)
Definition
InDetAlgorithmConfig.py:66
InDetAlgorithmConfig.OfflineTauBDT3prongDecoratorAlgCfg
OfflineTauBDT3prongDecoratorAlgCfg(flags, name="OfflineTauBDT3prongDecoratorAlg", **kwargs)
Definition
InDetAlgorithmConfig.py:89
InDetAlgorithmConfig.OfflineJetDecoratorAlgCfg
OfflineJetDecoratorAlgCfg(flags, name="OfflineJetDecoratorAlg", **kwargs)
Definition
InDetAlgorithmConfig.py:116
InDetAlgorithmConfig.OfflineElectronDecoratorAlgCfg
OfflineElectronDecoratorAlgCfg(flags, name="OfflineElectronDecoratorAlg", **kwargs)
Definition
InDetAlgorithmConfig.py:52
InDetAlgorithmConfig.OfflineTauRNN1prongDecoratorAlgCfg
OfflineTauRNN1prongDecoratorAlgCfg(flags, name="OfflineTauRNN1prongDecoratorAlg", **kwargs)
Definition
InDetAlgorithmConfig.py:98
InDetAlgorithmConfig.OfflineTauRNN3prongDecoratorAlgCfg
OfflineTauRNN3prongDecoratorAlgCfg(flags, name="OfflineTauRNN3prongDecoratorAlg", **kwargs)
Definition
InDetAlgorithmConfig.py:107
InDetAlgorithmConfig.OfflineElectronGSFDecoratorAlgCfg
OfflineElectronGSFDecoratorAlgCfg(flags, name="OfflineElectronGSFDecoratorAlg", **kwargs)
Definition
InDetAlgorithmConfig.py:58
InDetAlgorithmConfig.TruthDecoratorAlgCfg
TruthDecoratorAlgCfg(flags, name="TruthDecoratorAlg", **kwargs)
Definition
InDetAlgorithmConfig.py:172
InDetAlgorithmConfig.OfflineObjectDecoratorAlgCfg
OfflineObjectDecoratorAlgCfg(flags, name="OfflineObjectDecoratorAlg", **kwargs)
Definition
InDetAlgorithmConfig.py:131
InDetAlgorithmConfig.OfflineTauBDT1prongDecoratorAlgCfg
OfflineTauBDT1prongDecoratorAlgCfg(flags, name="OfflineTauBDT1prongDecoratorAlg", **kwargs)
Definition
InDetAlgorithmConfig.py:80
InDetAlgorithmConfig.OfflineMuonCombDecoratorAlgCfg
OfflineMuonCombDecoratorAlgCfg(flags, name="OfflineMuonDecoratorAlg", **kwargs)
Definition
InDetAlgorithmConfig.py:72
InDetAlgorithmConfig.TruthHitDecoratorAlgCfg
TruthHitDecoratorAlgCfg(flags, name="InDetPhysValTruthDecoratorAlg", **kwargs)
Definition
InDetAlgorithmConfig.py:15
Generated on
for ATLAS Offline Software by
1.17.0