ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
InnerDetector
InDetAlignment
InDetAlignConfig
python
ITkAlignToolsConfig.py
Go to the documentation of this file.
1
# Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
2
3
from
AthenaConfiguration.ComponentAccumulator
import
ComponentAccumulator
4
from
AthenaConfiguration.ComponentFactory
import
CompFactory
5
6
def
ITkAlignModuleToolCfg
(flags, name="ITkAlignModuleTool", **kwargs):
7
cfg = ComponentAccumulator()
8
cfg.setPrivateTools(CompFactory.InDet.InDetAlignModuleTool(name, **kwargs))
9
return
cfg
10
11
def
ITkGeometryManagerToolCfg
(flags, name="ITkGeometryManagerTool", **kwargs):
12
13
cfg = ComponentAccumulator()
14
15
kwargs.setdefault(
"PixelDetectorManager"
,
"ITkPixel"
)
16
kwargs.setdefault(
"StripDetectorManager"
,
"ITkStrip"
)
17
kwargs.setdefault(
"AlignModuleTool"
, cfg.addPublicTool(
18
cfg.popToolsAndMerge(
ITkAlignModuleToolCfg
(flags))))
19
20
kwargs.setdefault(
"AlignPixel"
, flags.ITk.Align.alignITkPixel)
21
kwargs.setdefault(
"AlignSCT"
, flags.ITk.Align.alignITkStrip)
22
kwargs.setdefault(
"AlignmentLevel"
, -1)
23
kwargs.setdefault(
"ModuleSelection"
, [])
24
25
if
flags.ITk.Align.alignITkPixel:
26
kwargs.setdefault(
"PixelGeometryManager"
, cfg.addPublicTool(
27
cfg.popToolsAndMerge(
ITkPixelGeometryManagerToolCfg
(flags))))
28
29
if
flags.ITk.Align.alignITkStrip:
30
kwargs.setdefault(
"SCTGeometryManager"
, cfg.addPublicTool(
31
cfg.popToolsAndMerge(
ITkStripGeometryManagerToolCfg
(flags))))
32
33
cfg.setPrivateTools(CompFactory.InDet.SiGeometryManagerTool(name, **kwargs))
34
return
cfg
35
36
def
ITkPixelGeometryManagerToolCfg
(flags, name="ITkPixelManagerTool", **kwargs):
37
38
cfg = ComponentAccumulator()
39
40
kwargs.setdefault(
"AlignModuleTool"
, cfg.addPublicTool(
41
cfg.popToolsAndMerge(
ITkAlignModuleToolCfg
(flags))))
42
43
kwargs.setdefault(
"PixelDetectorManager"
,
"ITkPixel"
)
44
kwargs.setdefault(
"EtaCorrection"
,
False
)
45
46
47
kwargs.setdefault(
"AlignmentLevel"
, 1)
48
# kwargs.setdefault("AlignmentLevelBarrel", 12)
49
# kwargs.setdefault("AlignmentLevelEndcaps", 12)
50
51
kwargs.setdefault(
"SetSoftCutBarrelX"
, 0.02)
52
kwargs.setdefault(
"SetSoftCutBarrelY"
, 0.02)
53
kwargs.setdefault(
"SetSoftCutBarrelZ"
, 0.02)
54
kwargs.setdefault(
"SetSoftCutBarrelRotX"
, 0.05)
55
kwargs.setdefault(
"SetSoftCutBarrelRotY"
, 0.05)
56
kwargs.setdefault(
"SetSoftCutBarrelRotZ"
, 0.05)
57
kwargs.setdefault(
"SetSoftCutEndcapX"
, 0.02)
58
kwargs.setdefault(
"SetSoftCutEndcapY"
, 0.02)
59
kwargs.setdefault(
"SetSoftCutEndcapZ"
, 0.02)
60
kwargs.setdefault(
"SetSoftCutEndcapRotX"
, 0.05)
61
kwargs.setdefault(
"SetSoftCutEndcapRotY"
, 0.05)
62
kwargs.setdefault(
"SetSoftCutEndcapRotZ"
, 0.05)
63
64
cfg.setPrivateTools(
65
CompFactory.InDet.PixelGeometryManagerTool(name, **kwargs))
66
return
cfg
67
68
def
ITkStripGeometryManagerToolCfg
(flags, name="ITkStripManagerTool", **kwargs):
69
70
cfg = ComponentAccumulator()
71
72
kwargs.setdefault(
"AlignModuleTool"
, cfg.addPublicTool(
73
cfg.popToolsAndMerge(
ITkAlignModuleToolCfg
(flags))))
74
75
kwargs.setdefault(
"StripDetectorManager"
,
"ITkStrip"
)
76
77
78
kwargs.setdefault(
"AlignmentLevel"
, 0)
79
# kwargs.setdefault("AlignmentLevelBarrel", 2)
80
# kwargs.setdefault("AlignmentLevelEndcaps", 2)
81
82
kwargs.setdefault(
"SetSoftCutBarrelX"
, 0.05)
83
kwargs.setdefault(
"SetSoftCutBarrelY"
, 0.05)
84
kwargs.setdefault(
"SetSoftCutBarrelZ"
, 0.05)
85
kwargs.setdefault(
"SetSoftCutBarrelRotX"
, 0.05)
86
kwargs.setdefault(
"SetSoftCutBarrelRotY"
, 0.05)
87
kwargs.setdefault(
"SetSoftCutBarrelRotZ"
, 0.05)
88
kwargs.setdefault(
"SetSoftCutEndcapX"
, 0.05)
89
kwargs.setdefault(
"SetSoftCutEndcapY"
, 0.05)
90
kwargs.setdefault(
"SetSoftCutEndcapZ"
, 0.005)
91
kwargs.setdefault(
"SetSoftCutEndcapRotX"
, 0.005)
92
kwargs.setdefault(
"SetSoftCutEndcapRotY"
, 0.05)
93
kwargs.setdefault(
"SetSoftCutEndcapRotZ"
, 0.05)
94
95
cfg.setPrivateTools(
96
CompFactory.InDet.SCTGeometryManagerTool(name, **kwargs))
97
return
cfg
98
99
def
ITkTrkAlignDBToolCfg
(flags, name="ITkTrkAlignDBTool", **kwargs):
100
cfg = ComponentAccumulator()
101
102
kwargs.setdefault(
"AlignModuleTool"
, cfg.addPublicTool(
103
cfg.popToolsAndMerge(
ITkAlignModuleToolCfg
(flags))))
104
105
kwargs.setdefault(
"SiGeometryManager"
, cfg.addPublicTool(
106
cfg.popToolsAndMerge(
ITkGeometryManagerToolCfg
(flags))))
107
108
kwargs.setdefault(
"PixelGeometryManager"
, cfg.addPublicTool(
109
cfg.popToolsAndMerge(
ITkPixelGeometryManagerToolCfg
(flags))))
110
111
kwargs.setdefault(
"SCTGeometryManager"
, cfg.addPublicTool(
112
cfg.popToolsAndMerge(
ITkStripGeometryManagerToolCfg
(flags))))
113
114
from
InDetAlignGenTools.InDetAlignGenToolsConfig
import
ITkAlignDBTool
115
kwargs.setdefault(
"IDAlignDBTool"
, cfg.addPublicTool(cfg.popToolsAndMerge(ITkAlignDBTool(flags))))
116
117
kwargs.setdefault(
"WriteOldConstants"
,
not
flags.ITk.Align.accumulate)
118
kwargs.setdefault(
"UpdateConstants"
,
not
flags.ITk.Align.accumulate)
119
120
#Set filenames empty to suppress writing
121
kwargs.setdefault(
"OutputIBLDistFile"
,
""
)
122
kwargs.setdefault(
"OldIBLDistFile"
,
""
)
123
124
cfg.setPrivateTools(CompFactory.InDet.SiTrkAlignDBTool(name, **kwargs))
125
return
cfg
126
127
def
ITkMatrixToolCfg
(flags, name="ITkMatrixTool", **kwargs):
128
cfg = ComponentAccumulator()
129
130
kwargs.setdefault(
"AlignModuleTool"
, cfg.addPublicTool(
131
cfg.popToolsAndMerge(
ITkAlignModuleToolCfg
(flags))))
132
133
kwargs.setdefault(
"PathBinName"
, f
"{flags.ITk.Align.baseDir}/Accumulate/"
)
134
kwargs.setdefault(
"PathTxtName"
, f
"{flags.ITk.Align.baseDir}/Accumulate/"
)
135
kwargs.setdefault(
"InputTFiles"
, [f
"{flags.ITk.Align.baseDir}/Accumulate/{flags.ITk.Align.inputTFiles}"
])
136
kwargs.setdefault(
"SolveOption"
, 3)
137
kwargs.setdefault(
"MinNumHitsPerModule"
, 10)
138
139
kwargs.setdefault(
"WriteTFile"
, flags.ITk.Align.accumulate)
140
kwargs.setdefault(
"ReadTFile"
,
not
flags.ITk.Align.accumulate)
141
kwargs.setdefault(
"ScaleMatrix"
,
True
)
142
kwargs.setdefault(
"WriteEigenMat"
,
False
)
143
kwargs.setdefault(
"WriteEigenMatTxt"
,
False
)
144
145
cfg.setPrivateTools(CompFactory.Trk.MatrixTool(name, **kwargs))
146
return
cfg
147
148
def
ITkGlobalChi2AlignToolCfg
(flags, name="ITkGlobalChi2AlignTool", **kwargs):
149
cfg = ComponentAccumulator()
150
151
kwargs.setdefault(
"AlignModuleTool"
, cfg.addPublicTool(
152
cfg.popToolsAndMerge(
ITkAlignModuleToolCfg
(flags))))
153
154
kwargs.setdefault(
"MatrixTool"
, cfg.popToolsAndMerge(
ITkMatrixToolCfg
(flags)))
155
156
kwargs.setdefault(
"StoreLocalDerivOnly"
, flags.ITk.Align.solveLocal)
157
kwargs.setdefault(
"SecondDerivativeCut"
, 0)
158
#kwargs.setdefault("OutputLevel", 1)
159
160
cfg.setPrivateTools(CompFactory.Trk.GlobalChi2AlignTool(name, **kwargs))
161
return
cfg
162
163
def
ITkAlignResidualCalculatorCfg
(flags, name="ITkAlignResidualCalculator", **kwargs):
164
cfg = ComponentAccumulator()
165
166
if
"ResidualPullCalculator"
not
in
kwargs:
167
from
TrkConfig.TrkResidualPullCalculatorConfig
import
(
168
ResidualPullCalculatorCfg)
169
kwargs.setdefault(
"ResidualPullCalculator"
, cfg.popToolsAndMerge(
170
ResidualPullCalculatorCfg(flags)))
171
172
if
"UpdatorTool"
not
in
kwargs:
173
from
TrkConfig.TrkMeasurementUpdatorConfig
import
KalmanUpdatorCfg
174
kwargs.setdefault(
"UpdatorTool"
, cfg.popToolsAndMerge(
175
KalmanUpdatorCfg(flags)))
176
177
kwargs.setdefault(
"ResidualType"
, 0)
178
179
cfg.setPrivateTools(CompFactory.Trk.AlignResidualCalculator(name, **kwargs))
180
return
cfg
181
182
183
def
ITkAlignTrackCreatorCfg
(flags, name="ITkAlignTrackCreator", **kwargs):
184
cfg = ComponentAccumulator()
185
186
kwargs.setdefault(
"AlignModuleTool"
, cfg.addPublicTool(
187
cfg.popToolsAndMerge(
ITkAlignModuleToolCfg
(flags))))
188
189
kwargs.setdefault(
"ResidualCalculator"
, cfg.popToolsAndMerge(
190
ITkAlignResidualCalculatorCfg
(flags)))
191
192
kwargs.setdefault(
"IncludeScatterers"
,
False
)
193
kwargs.setdefault(
"RemoveATSOSNotInAlignModule"
,
False
)
194
195
cfg.setPrivateTools(CompFactory.Trk.AlignTrackCreator(name, **kwargs))
196
return
cfg
197
198
def
ITkBeamspotVertexPreProcessorCfg
(flags, name="ITkBeamspotVertexPreProcessor", **kwargs):
199
cfg = ComponentAccumulator()
200
201
kwargs.setdefault(
"AlignModuleTool"
, cfg.addPublicTool(
202
cfg.popToolsAndMerge(
ITkAlignModuleToolCfg
(flags))))
203
204
if
"TrackFitter"
not
in
kwargs:
205
from
TrkConfig.CommonTrackFitterConfig
import
ITkStandaloneTrackFitterCfg
206
kwargs.setdefault(
"TrackFitter"
, cfg.addPublicTool(
207
cfg.popToolsAndMerge(ITkStandaloneTrackFitterCfg(flags,
208
FillDerivativeMatrix =
True
))))
209
210
if
"TrackToVertexIPEstimatorTool"
not
in
kwargs:
211
from
TrkConfig.TrkVertexFitterUtilsConfig
import
TrackToVertexIPEstimatorCfg
212
kwargs.setdefault(
"TrackToVertexIPEstimatorTool"
, cfg.addPublicTool(
213
cfg.popToolsAndMerge(TrackToVertexIPEstimatorCfg(flags))))
214
215
if
"BSConstraintTrackSelector"
not
in
kwargs:
216
from
InDetTrackSelectionTool.InDetTrackSelectionToolConfig
import
(
217
Align_InDetTrackSelectionToolCfg)
218
kwargs.setdefault(
"BSConstraintTrackSelector"
, cfg.addPublicTool(
219
cfg.popToolsAndMerge(Align_InDetTrackSelectionToolCfg(flags))))
220
221
if
"Extrapolator"
not
in
kwargs:
222
from
TrkConfig.AtlasExtrapolatorConfig
import
InDetExtrapolatorCfg
223
kwargs.setdefault(
"Extrapolator"
, cfg.addPublicTool(
224
cfg.popToolsAndMerge(InDetExtrapolatorCfg(flags))))
225
226
kwargs.setdefault(
"UseSingleFitter"
,
True
)
227
kwargs.setdefault(
"RunOutlierRemoval"
,
False
)
228
kwargs.setdefault(
"DoBSConstraint"
,
False
)
229
kwargs.setdefault(
"DoAssociatedToPVSelection"
,
False
)
230
231
cfg.setPrivateTools(
232
CompFactory.Trk.BeamspotVertexPreProcessor(name, **kwargs))
233
return
cfg
234
235
236
ITkAlignToolsConfig.ITkGeometryManagerToolCfg
ITkGeometryManagerToolCfg(flags, name="ITkGeometryManagerTool", **kwargs)
Definition
ITkAlignToolsConfig.py:11
ITkAlignToolsConfig.ITkGlobalChi2AlignToolCfg
ITkGlobalChi2AlignToolCfg(flags, name="ITkGlobalChi2AlignTool", **kwargs)
Definition
ITkAlignToolsConfig.py:148
ITkAlignToolsConfig.ITkPixelGeometryManagerToolCfg
ITkPixelGeometryManagerToolCfg(flags, name="ITkPixelManagerTool", **kwargs)
Definition
ITkAlignToolsConfig.py:36
ITkAlignToolsConfig.ITkAlignTrackCreatorCfg
ITkAlignTrackCreatorCfg(flags, name="ITkAlignTrackCreator", **kwargs)
Definition
ITkAlignToolsConfig.py:183
ITkAlignToolsConfig.ITkAlignResidualCalculatorCfg
ITkAlignResidualCalculatorCfg(flags, name="ITkAlignResidualCalculator", **kwargs)
Definition
ITkAlignToolsConfig.py:163
ITkAlignToolsConfig.ITkAlignModuleToolCfg
ITkAlignModuleToolCfg(flags, name="ITkAlignModuleTool", **kwargs)
Definition
ITkAlignToolsConfig.py:6
ITkAlignToolsConfig.ITkStripGeometryManagerToolCfg
ITkStripGeometryManagerToolCfg(flags, name="ITkStripManagerTool", **kwargs)
Definition
ITkAlignToolsConfig.py:68
ITkAlignToolsConfig.ITkMatrixToolCfg
ITkMatrixToolCfg(flags, name="ITkMatrixTool", **kwargs)
Definition
ITkAlignToolsConfig.py:127
ITkAlignToolsConfig.ITkBeamspotVertexPreProcessorCfg
ITkBeamspotVertexPreProcessorCfg(flags, name="ITkBeamspotVertexPreProcessor", **kwargs)
Definition
ITkAlignToolsConfig.py:198
ITkAlignToolsConfig.ITkTrkAlignDBToolCfg
ITkTrkAlignDBToolCfg(flags, name="ITkTrkAlignDBTool", **kwargs)
Definition
ITkAlignToolsConfig.py:99
Generated on
for ATLAS Offline Software by
1.17.0