ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
TrkConfig
python
AtlasExtrapolatorToolsConfig.py
Go to the documentation of this file.
1
# Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
2
# Configuration of tools needed by the Extrapolator
3
from
AthenaConfiguration.ComponentAccumulator
import
ComponentAccumulator
4
from
AthenaConfiguration.ComponentFactory
import
CompFactory
5
from
AthenaConfiguration.AccumulatorCache
import
AccumulatorCache
6
7
8
# Configured Energy Loss uses the TrkUtils parametrization for
9
# energy loss due to ionization and radiation
10
# Ionization (PDG 2011 formula 27.11)
11
# H. Bichsel, Rev. Mod. Phys. 60, 663 (1988)
12
def
AtlasEnergyLossUpdatorCfg
(flags,
13
name='AtlasEnergyLossUpdator',
14
**kwargs):
15
result = ComponentAccumulator()
16
result.setPrivateTools(CompFactory.Trk.EnergyLossUpdator(name, **kwargs))
17
return
result
18
19
20
# Configured Updators for Layer based material effects
21
# by default applies Multiple Scattering and
22
# Energy Loss.
23
def
AtlasMaterialEffectsUpdatorCfg
(flags,
24
name='AtlasMaterialEffectsUpdator',
25
**kwargs):
26
result = ComponentAccumulator()
27
28
kwargs.setdefault(
"EnergyLossUpdator"
, result.popToolsAndMerge(
29
AtlasEnergyLossUpdatorCfg
(flags)))
30
kwargs.setdefault(
"MultipleScatteringUpdator"
, result.popToolsAndMerge(
31
AtlasMultipleScatteringUpdatorCfg
(flags)))
32
33
result.setPrivateTools(
34
CompFactory.Trk.MaterialEffectsUpdator(name, **kwargs))
35
return
result
36
37
38
def
AtlasMaterialEffectsUpdatorLandauCfg
(flags,
39
name='AtlasMaterialEffectsUpdatorLandau',
40
**kwargs):
41
# Landau most probable energy loss is not additive
42
# special treatment on how we accumulate
43
kwargs.setdefault(
"LandauMode"
,
True
)
44
return
AtlasMaterialEffectsUpdatorCfg
(flags, name, **kwargs)
45
46
47
def
AtlasNoElossMaterialEffectsUpdatorCfg
(flags,
48
name='AtlasNoElossMaterialEffectsUpdator',
49
**kwargs):
50
kwargs.setdefault(
"EnergyLoss"
,
False
)
51
return
AtlasMaterialEffectsUpdatorCfg
(flags, name, **kwargs)
52
53
54
def
InDetMaterialEffectsUpdatorCfg
(flags,
55
name="InDetMaterialEffectsUpdator",
56
**kwargs):
57
if
not
flags.BField.solenoidOn:
58
import
AthenaCommon.SystemOfUnits
as
Units
59
kwargs.setdefault(
"EnergyLoss"
,
False
)
60
kwargs.setdefault(
"ForceMomentum"
,
True
)
61
kwargs.setdefault(
"ForcedMomentumValue"
, 1000*Units.MeV)
62
return
AtlasMaterialEffectsUpdatorCfg
(flags, name, **kwargs)
63
64
65
def
ITkMaterialEffectsUpdatorCfg
(flags,
66
name="ITkMaterialEffectsUpdator",
67
**kwargs):
68
return
InDetMaterialEffectsUpdatorCfg
(flags, name, **kwargs)
69
70
71
# Navigator used in order to handle the
72
# navigation inside the Tracking Geometry
73
# i.e search for the next TrackingVolume
74
@AccumulatorCache
75
def
AtlasNavigatorCfg
(flags,
76
name='AtlasNavigator',
77
**kwargs):
78
# get the correct TrackingGeometry setup
79
result = ComponentAccumulator()
80
if
'TrackingGeometryKey'
not
in
kwargs:
81
from
TrackingGeometryCondAlg.AtlasTrackingGeometryCondAlgConfig
import
(
82
TrackingGeometryCondAlgCfg)
83
acc = TrackingGeometryCondAlgCfg(flags)
84
geom_cond_key = acc.getPrimary().TrackingGeometryWriteKey
85
result.merge(acc)
86
kwargs.setdefault(
"TrackingGeometryKey"
, geom_cond_key)
87
result.setPrivateTools(CompFactory.Trk.Navigator(name, **kwargs))
88
return
result
89
90
91
# Temporary until condition algorithm for tracking geometry
92
# can be used also for FastSim
93
def
FastSimNavigatorCfg
(flags,
94
name="AtlasNavigator",
95
**kwargs):
96
if
flags.Sim.ISF.UseTrackingGeometryCond:
97
return
AtlasNavigatorCfg
(flags, name, **kwargs)
98
99
result = ComponentAccumulator()
100
if
'TrackingGeometrySvc'
not
in
kwargs:
101
from
TrkConfig.AtlasTrackingGeometrySvcConfig
import
(
102
TrackingGeometrySvcCfg)
103
acc = TrackingGeometrySvcCfg(flags)
104
kwargs.setdefault(
"TrackingGeometrySvc"
, acc.getPrimary())
105
kwargs.setdefault(
"TrackingGeometryKey"
,
''
)
106
result.merge(acc)
107
108
result.setPrivateTools(CompFactory.Trk.Navigator(name, **kwargs))
109
return
result
110
111
# Uses Highland formula for sigma
112
# from Trk::MaterialInteraction::sigmaMS
113
# (PDG 2018 formula 33.15)
114
# G.R. Lynch and O.I Dahl, Nucl. Instrum. Methods B58, 6 (1991).
115
# Eq. (33.15) is Eq. 12 from this paper
116
# = default config
117
118
119
def
AtlasMultipleScatteringUpdatorCfg
(flags,
120
name="AtlasMultipleScatteringUpdator",
121
**kwargs):
122
acc = ComponentAccumulator()
123
kwargs.setdefault(
"UseTrkUtils"
,
True
)
124
acc.setPrivateTools(
125
CompFactory.Trk.MultipleScatteringUpdator(name, **kwargs))
126
return
acc
127
128
# Uses Highland formula for sigma
129
# from Trk::MultipleScatteringUpdator::sigmaSquare
130
# (PDG 2010 formula 27.14)
131
# V.L. Highland, Nucl. Instrum. Methods 129, 497 (1975),
132
# and Nucl. Instrum. Methods 161, 171 (1979)
133
# = non default config, used for GlobalChi2Fitter
134
135
136
def
InDetMultipleScatteringUpdatorCfg
(flags,
137
name="InDetMultipleScatteringUpdator",
138
**kwargs):
139
acc = ComponentAccumulator()
140
kwargs.setdefault(
"UseTrkUtils"
,
False
)
141
acc.setPrivateTools(
142
CompFactory.Trk.MultipleScatteringUpdator(name, **kwargs))
143
return
acc
144
145
146
def
ITkMultipleScatteringUpdatorCfg
(flags,
147
name="ITkMultipleScatteringUpdator",
148
**kwargs):
149
return
InDetMultipleScatteringUpdatorCfg
(flags, name, **kwargs)
150
151
152
def
fatrasMultipleScatteringUpdatorCfg
(flags,
153
name="ISF_FatrasMultipleScatteringUpdator",
154
**kwargs):
155
result = ComponentAccumulator()
156
157
from
ISF_FatrasServices.ISF_FatrasConfig
import
TrkExRndSvcMTCfg
158
kwargs.setdefault(
"RandomNumberService"
,
159
result.getPrimaryAndMerge(TrkExRndSvcMTCfg(flags)))
160
kwargs.setdefault(
"RandomStreamName"
,
161
flags.Sim.Fatras.TrkExRandomStreamName)
162
kwargs.setdefault(
"GaussianMixtureModel"
,
163
flags.Sim.Fatras.GaussianMixtureModel)
164
165
result.setPrivateTools(
166
CompFactory.Trk.MultipleScatteringUpdator(name, **kwargs))
167
return
result
168
169
170
def
NIMatEffUpdatorCfg
(flags, name="NIMatEffUpdator", **kwargs):
171
result = ComponentAccumulator()
172
173
kwargs.setdefault(
"MaterialEffectsUpdator"
, result.popToolsAndMerge(
174
AtlasMaterialEffectsUpdatorCfg
(flags)))
175
176
result.setPrivateTools(CompFactory.Trk.NIMatEffUpdator(name, **kwargs))
177
return
result
python.AtlasExtrapolatorToolsConfig.AtlasNoElossMaterialEffectsUpdatorCfg
AtlasNoElossMaterialEffectsUpdatorCfg(flags, name='AtlasNoElossMaterialEffectsUpdator', **kwargs)
Definition
AtlasExtrapolatorToolsConfig.py:49
python.AtlasExtrapolatorToolsConfig.NIMatEffUpdatorCfg
NIMatEffUpdatorCfg(flags, name="NIMatEffUpdator", **kwargs)
Definition
AtlasExtrapolatorToolsConfig.py:170
python.AtlasExtrapolatorToolsConfig.FastSimNavigatorCfg
FastSimNavigatorCfg(flags, name="AtlasNavigator", **kwargs)
Definition
AtlasExtrapolatorToolsConfig.py:95
python.AtlasExtrapolatorToolsConfig.InDetMaterialEffectsUpdatorCfg
InDetMaterialEffectsUpdatorCfg(flags, name="InDetMaterialEffectsUpdator", **kwargs)
Definition
AtlasExtrapolatorToolsConfig.py:56
python.AtlasExtrapolatorToolsConfig.fatrasMultipleScatteringUpdatorCfg
fatrasMultipleScatteringUpdatorCfg(flags, name="ISF_FatrasMultipleScatteringUpdator", **kwargs)
Definition
AtlasExtrapolatorToolsConfig.py:154
python.AtlasExtrapolatorToolsConfig.AtlasEnergyLossUpdatorCfg
AtlasEnergyLossUpdatorCfg(flags, name='AtlasEnergyLossUpdator', **kwargs)
Definition
AtlasExtrapolatorToolsConfig.py:14
python.AtlasExtrapolatorToolsConfig.ITkMultipleScatteringUpdatorCfg
ITkMultipleScatteringUpdatorCfg(flags, name="ITkMultipleScatteringUpdator", **kwargs)
Definition
AtlasExtrapolatorToolsConfig.py:148
python.AtlasExtrapolatorToolsConfig.AtlasMaterialEffectsUpdatorLandauCfg
AtlasMaterialEffectsUpdatorLandauCfg(flags, name='AtlasMaterialEffectsUpdatorLandau', **kwargs)
Definition
AtlasExtrapolatorToolsConfig.py:40
python.AtlasExtrapolatorToolsConfig.AtlasNavigatorCfg
AtlasNavigatorCfg(flags, name='AtlasNavigator', **kwargs)
Definition
AtlasExtrapolatorToolsConfig.py:77
python.AtlasExtrapolatorToolsConfig.AtlasMaterialEffectsUpdatorCfg
AtlasMaterialEffectsUpdatorCfg(flags, name='AtlasMaterialEffectsUpdator', **kwargs)
Definition
AtlasExtrapolatorToolsConfig.py:25
python.AtlasExtrapolatorToolsConfig.ITkMaterialEffectsUpdatorCfg
ITkMaterialEffectsUpdatorCfg(flags, name="ITkMaterialEffectsUpdator", **kwargs)
Definition
AtlasExtrapolatorToolsConfig.py:67
python.AtlasExtrapolatorToolsConfig.AtlasMultipleScatteringUpdatorCfg
AtlasMultipleScatteringUpdatorCfg(flags, name="AtlasMultipleScatteringUpdator", **kwargs)
Definition
AtlasExtrapolatorToolsConfig.py:121
python.AtlasExtrapolatorToolsConfig.InDetMultipleScatteringUpdatorCfg
InDetMultipleScatteringUpdatorCfg(flags, name="InDetMultipleScatteringUpdator", **kwargs)
Definition
AtlasExtrapolatorToolsConfig.py:138
Generated on
for ATLAS Offline Software by
1.17.0