ATLAS Offline Software
Loading...
Searching...
No Matches
python.AtlasExtrapolatorConfig Namespace Reference

Functions

 AtlasExtrapolatorCfg (flags, name='AtlasExtrapolator')
 TrigPFlowExtrapolatorCfg (flags, name='HLT_PFlowExtrapolator')
 egammaCaloExtrapolatorCfg (flags, name='egammaCaloExtrapolator')
 MCTruthClassifierExtrapolatorCfg (flags, name='MCTruthClassifierExtrapolator')
 InDetExtrapolatorCfg (flags, name='InDetExtrapolator', **kwargs)
 MuonExtrapolatorCfg (flags, name="MuonExtrapolator", **kwargs)
 MuonStraightLineExtrapolatorCfg (flags, name="MuonStraightLineExtrapolator", **kwargs)
 MCTBExtrapolatorCfg (flags, name='MCTBExtrapolator', **kwargs)

Variables

bool use_old_names = False
 flags = initConfigFlags()
 Files
 cfg = ComponentAccumulator()
 mlog = logging.getLogger("AtlasExtrapolatorConfigTest")
 nestLevel
 printDefaults
 f = open("atlasextrapolator.pkl", "wb")

Function Documentation

◆ AtlasExtrapolatorCfg()

python.AtlasExtrapolatorConfig.AtlasExtrapolatorCfg ( flags,
name = 'AtlasExtrapolator' )

Definition at line 63 of file AtlasExtrapolatorConfig.py.

63def AtlasExtrapolatorCfg(flags, name='AtlasExtrapolator'):
64 # Default "ATLAS" with some reasonable defaults
65 # Rk for Global/ID STEP to be used for dense volumes.
66 from TrkConfig.AtlasExtrapolatorToolsConfig import (
67 AtlasMultipleScatteringUpdatorCfg)
68
69 result = ComponentAccumulator()
70
71 # propagator defaults
72 from TrkConfig.TrkExRungeKuttaPropagatorConfig import (
73 RungeKuttaPropagatorCfg)
74 AtlasRungeKuttaPropagator = result.popToolsAndMerge(
75 RungeKuttaPropagatorCfg(flags))
76 AtlasSTEP_Propagator = result.popToolsAndMerge(
77 AtlasSTEP_PropagatorCfg(flags))
78 ITkPropagator = None
79 if flags.Detector.GeometryITk:
80 from TrkConfig.TrkExRungeKuttaPropagatorConfig import ITkPropagatorCfg
81 ITkPropagator = result.popToolsAndMerge(
82 ITkPropagatorCfg(flags))
83
84 AtlasPropagators = []
85 AtlasPropagators += [AtlasRungeKuttaPropagator]
86 AtlasPropagators += [AtlasSTEP_Propagator]
87 if flags.Detector.GeometryITk:
88 AtlasPropagators += [ITkPropagator]
89
90 # updator defaults
91 AtlasMaterialEffectsUpdator = result.popToolsAndMerge(
92 TC.AtlasMaterialEffectsUpdatorCfg(flags))
93 AtlasMaterialEffectsUpdatorLandau = result.popToolsAndMerge(
94 TC.AtlasMaterialEffectsUpdatorLandauCfg(flags))
95 ITkMaterialEffectsUpdator = None
96 if flags.Detector.GeometryITk:
97 ITkMaterialEffectsUpdator = result.popToolsAndMerge(
98 TC.ITkMaterialEffectsUpdatorCfg(flags))
99
100 AtlasUpdators = []
101 AtlasUpdators += [AtlasMaterialEffectsUpdator]
102 AtlasUpdators += [AtlasMaterialEffectsUpdatorLandau]
103 if flags.Detector.GeometryITk:
104 AtlasUpdators += [ITkMaterialEffectsUpdator]
105
106 AtlasNavigator = result.popToolsAndMerge(TC.AtlasNavigatorCfg(flags))
107
108 # configure propagators/updators according to geometry signature
109 AtlasSubPropagators = []
110 AtlasSubPropagators += [AtlasRungeKuttaPropagator.name] # Global
111 if flags.Detector.GeometryITk:
112 AtlasSubPropagators += [ITkPropagator.name] # ITk
113 else:
114 AtlasSubPropagators += [AtlasRungeKuttaPropagator.name] # ID
115 AtlasSubPropagators += [AtlasSTEP_Propagator.name] # BeamPipe
116 AtlasSubPropagators += [AtlasSTEP_Propagator.name] # Calo
117 AtlasSubPropagators += [AtlasSTEP_Propagator.name] # MS
118 AtlasSubPropagators += [AtlasRungeKuttaPropagator.name] # Cavern
119
120 AtlasSubUpdators = []
121 AtlasSubUpdators += [AtlasMaterialEffectsUpdator.name] # Global
122 if flags.Detector.GeometryITk:
123 AtlasSubUpdators += [ITkMaterialEffectsUpdator.name] # ITk
124 else:
125 AtlasSubUpdators += [AtlasMaterialEffectsUpdator.name] # ID
126 AtlasSubUpdators += [AtlasMaterialEffectsUpdator.name] # BeamPipe
127 AtlasSubUpdators += [AtlasMaterialEffectsUpdator.name] # Calo
128 AtlasSubUpdators += [AtlasMaterialEffectsUpdator.name] # MS
129 AtlasSubUpdators += [AtlasMaterialEffectsUpdator.name] # Cavern
130
131 AtlasELossUpdater = result.popToolsAndMerge(
132 TC.AtlasEnergyLossUpdatorCfg(flags))
133 AtlasEnergyLossUpdater = AtlasELossUpdater
134
135 # call the base class constructor
136 Extrapolator = CompFactory.Trk.Extrapolator(
137 name,
138 Navigator=AtlasNavigator,
139 MaterialEffectsUpdators=AtlasUpdators,
140 MultipleScatteringUpdater=result.popToolsAndMerge(
141 AtlasMultipleScatteringUpdatorCfg(flags, UseTrkUtils=True)),
142 STEP_Propagator=AtlasSTEP_Propagator,
143 Propagators=AtlasPropagators,
144 SubPropagators=AtlasSubPropagators,
145 SubMEUpdators=AtlasSubUpdators,
146 EnergyLossUpdater=AtlasEnergyLossUpdater
147 )
148
149 result.setPrivateTools(Extrapolator)
150 return result
151
152
153@AccumulatorCache

◆ egammaCaloExtrapolatorCfg()

python.AtlasExtrapolatorConfig.egammaCaloExtrapolatorCfg ( flags,
name = 'egammaCaloExtrapolator' )

Definition at line 194 of file AtlasExtrapolatorConfig.py.

194def egammaCaloExtrapolatorCfg(flags, name='egammaCaloExtrapolator'):
195 # e/gamma mainly uses Extrapolate Directly to a particular
196 # surface to the calo. We do not do "tracking"
197 # as electrons/photon have showered.
198 # The means that in practice only the Global
199 # propagator is used with not material effects.
200 # Configure everything in any case for clarity/consistency.
201 result = ComponentAccumulator()
202 egammaExtrapolator = result.popToolsAndMerge(
203 AtlasExtrapolatorCfg(flags, name))
204
205 egammaPropagators = []
206 egammaUpdators = []
207
208 from TrkConfig.TrkExRungeKuttaPropagatorConfig import (
209 RungeKuttaPropagatorCfg)
210 RungeKuttaPropagator = result.popToolsAndMerge(
211 RungeKuttaPropagatorCfg(flags))
212 MaterialEffectsUpdator = result.popToolsAndMerge(
213 TC.AtlasMaterialEffectsUpdatorCfg(flags))
214
215 egammaPropagators += [RungeKuttaPropagator]
216 egammaUpdators += [MaterialEffectsUpdator]
217
218 from TrkConfig.TrkExSTEP_PropagatorConfig import (
219 AtlasNoMatSTEP_PropagatorCfg)
220 NoMatSTEP_Propagator = result.popToolsAndMerge(
221 AtlasNoMatSTEP_PropagatorCfg(flags))
222 NoElossMaterialEffectsUpdator = result.popToolsAndMerge(
223 TC.AtlasNoElossMaterialEffectsUpdatorCfg(flags))
224
225 egammaPropagators += [NoMatSTEP_Propagator]
226 egammaUpdators += [NoElossMaterialEffectsUpdator]
227
228 if flags.Detector.GeometryITk:
229 from TrkConfig.TrkExRungeKuttaPropagatorConfig import ITkPropagatorCfg
230 ITkPropagator = result.popToolsAndMerge(
231 ITkPropagatorCfg(flags))
232 ITkMaterialEffectsUpdator = result.popToolsAndMerge(
233 TC.ITkMaterialEffectsUpdatorCfg(flags))
234
235 egammaPropagators += [ITkPropagator]
236 egammaUpdators += [ITkMaterialEffectsUpdator]
237
238 # configure propagators/updators according to geometry signature
239 egammaSubPropagators = []
240 egammaSubUpdators = []
241 # Global
242 egammaSubPropagators += [RungeKuttaPropagator.name]
243 egammaSubUpdators += [MaterialEffectsUpdator.name]
244 # ID/ITK
245 if flags.Detector.GeometryITk:
246 egammaSubPropagators += [ITkPropagator.name]
247 egammaSubUpdators += [ITkMaterialEffectsUpdator.name]
248 else:
249 egammaSubPropagators += [RungeKuttaPropagator.name]
250 egammaSubUpdators += [MaterialEffectsUpdator.name]
251 # BeamPipe
252 egammaSubPropagators += [RungeKuttaPropagator.name]
253 egammaSubUpdators += [MaterialEffectsUpdator.name]
254 # Calo
255 egammaSubPropagators += [RungeKuttaPropagator.name]
256 egammaSubUpdators += [NoElossMaterialEffectsUpdator.name]
257 # MS
258 egammaSubPropagators += [NoMatSTEP_Propagator.name]
259 egammaSubUpdators += [NoElossMaterialEffectsUpdator.name]
260 # Cavern
261 egammaSubPropagators += [RungeKuttaPropagator.name]
262 egammaSubUpdators += [MaterialEffectsUpdator.name]
263
264 egammaExtrapolator.MaterialEffectsUpdators = egammaUpdators
265 egammaExtrapolator.SubMEUpdators = egammaSubUpdators
266 egammaExtrapolator.Propagators = egammaPropagators
267 egammaExtrapolator.SubPropagators = egammaSubPropagators
268 # egamma STEP with no eloss for calo intersections
269 egammaExtrapolator.STEP_Propagator = NoMatSTEP_Propagator
270 # No material effects at large
271 egammaExtrapolator.ApplyMaterialEffects = False
272
273 result.setPrivateTools(egammaExtrapolator)
274 return result
275
276
277@AccumulatorCache

◆ InDetExtrapolatorCfg()

python.AtlasExtrapolatorConfig.InDetExtrapolatorCfg ( flags,
name = 'InDetExtrapolator',
** kwargs )

Definition at line 318 of file AtlasExtrapolatorConfig.py.

318def InDetExtrapolatorCfg(flags, name='InDetExtrapolator', **kwargs):
319 # Inner detector config cares mainly for the "Global".
320 # This is usually the RungeKutta Propagator and a material
321 # effects updator without energy loss.
322 # As extrapolations are to happen inside the InDet volume.
323 result = ComponentAccumulator()
324
325 # FIXME copied from the old config, also needs fixing on the c++ side.
326 if 'Propagators' not in kwargs:
327 from TrkConfig.TrkExRungeKuttaPropagatorConfig import (
328 InDetPropagatorCfg)
329 InDetPropagator = result.popToolsAndMerge(
330 InDetPropagatorCfg(flags))
331 Propagators = [InDetPropagator]
332 kwargs.setdefault("Propagators", Propagators)
333
334 propagator = kwargs.get('Propagators')[0].name if (
335 kwargs.get('Propagators', None) is not None
336 and len(kwargs.get('Propagators', None)) > 0) else None
337
338 if 'MaterialEffectsUpdators' not in kwargs:
339 InDetMaterialEffectsUpdator = result.getPrimaryAndMerge(
340 TC.InDetMaterialEffectsUpdatorCfg(flags))
341 MaterialEffectsUpdators = [InDetMaterialEffectsUpdator]
342 kwargs.setdefault("MaterialEffectsUpdators", MaterialEffectsUpdators)
343 material_updator = kwargs.get('MaterialEffectsUpdators')[0].name if (
344 kwargs.get('MaterialEffectsUpdators', None) is not None
345 and len(kwargs.get('MaterialEffectsUpdators', None)) > 0) else None
346
347 if 'Navigator' not in kwargs:
348 AtlasNavigator = result.popToolsAndMerge(
349 TC.AtlasNavigatorCfg(flags, name="InDetNavigator"))
350 kwargs.setdefault("Navigator", AtlasNavigator)
351
352 sub_propagators = []
353 sub_updators = []
354
355 # configure propagators/updators according to geometry signature
356 # Global entry
357 sub_propagators += [propagator]
358 sub_updators += [material_updator]
359
360 # ID entry
361 sub_propagators += [propagator]
362 sub_updators += [material_updator]
363
364 # beampipe entry
365 sub_updators += [material_updator]
366
367 kwargs.setdefault("SubPropagators", sub_propagators)
368 kwargs.setdefault("SubMEUpdators", sub_updators)
369
370 AtlasELossUpdater = result.popToolsAndMerge(
371 TC.AtlasEnergyLossUpdatorCfg(flags))
372 kwargs.setdefault("EnergyLossUpdater", AtlasELossUpdater)
373
374 extrapolator = CompFactory.Trk.Extrapolator(name, **kwargs)
375 result.setPrivateTools(extrapolator)
376 return result
377
378

◆ MCTBExtrapolatorCfg()

python.AtlasExtrapolatorConfig.MCTBExtrapolatorCfg ( flags,
name = 'MCTBExtrapolator',
** kwargs )

Definition at line 450 of file AtlasExtrapolatorConfig.py.

450def MCTBExtrapolatorCfg(flags, name='MCTBExtrapolator', **kwargs):
451 # Muon set the STEP also as the single "Global" propagator
452 result = ComponentAccumulator()
453 if use_old_names:
454 kwargs.setdefault("Propagators", [result.popToolsAndMerge(
455 AtlasSTEP_PropagatorCfg(flags, name='MCTBPropagator'))])
456 kwargs.setdefault("STEP_Propagator",
457 result.popToolsAndMerge(AtlasSTEP_PropagatorCfg(flags)))
458 else:
459 prop = result.popToolsAndMerge(
460 AtlasSTEP_PropagatorCfg(flags))
461 kwargs.setdefault("Propagators", [prop])
462 kwargs.setdefault("STEP_Propagator", prop)
463 kwargs.setdefault("ResolveMuonStation", False)
464 kwargs.setdefault("Navigator", result.popToolsAndMerge(
465 TC.AtlasNavigatorCfg(flags, name="InDetNavigator")))
466 kwargs.setdefault("EnergyLossUpdater", result.popToolsAndMerge(
467 TC.AtlasEnergyLossUpdatorCfg(flags)))
468
469 result.setPrivateTools(result.popToolsAndMerge(
470 MuonExtrapolatorCfg(flags, name, **kwargs)))
471 return result
472
473

◆ MCTruthClassifierExtrapolatorCfg()

python.AtlasExtrapolatorConfig.MCTruthClassifierExtrapolatorCfg ( flags,
name = 'MCTruthClassifierExtrapolator' )

Definition at line 278 of file AtlasExtrapolatorConfig.py.

279 name='MCTruthClassifierExtrapolator'):
280 # MCTruthClassifier. Used to Extrapolate Directly
281 # photons (fwd Electrons) to a specific surface to the calo
282 # for truth matching.
283 # We do not do "tracking" as electrons/photon have showered.
284 # This means that in practice only the 'Global'
285 # propagator and no material effects.
286 # Configure everything in any case for clarity/consistency.
287 result = ComponentAccumulator()
288
289 MCTruthExtrapolator = result.popToolsAndMerge(
290 AtlasExtrapolatorCfg(flags, name))
291
292 MCTruthUpdators = []
293
294 NoElossMaterialEffectsUpdator = result.popToolsAndMerge(
295 TC.AtlasNoElossMaterialEffectsUpdatorCfg(flags))
296 MCTruthUpdators += [NoElossMaterialEffectsUpdator]
297
298 MCTruthSubUpdators = []
299
300 # configure propagators/updators according to geometry signature
301 MCTruthSubUpdators += [NoElossMaterialEffectsUpdator.name] # Global
302 MCTruthSubUpdators += [NoElossMaterialEffectsUpdator.name] # ID
303 MCTruthSubUpdators += [NoElossMaterialEffectsUpdator.name] # beampipe
304 MCTruthSubUpdators += [NoElossMaterialEffectsUpdator.name] # calo
305 MCTruthSubUpdators += [NoElossMaterialEffectsUpdator.name] # MS
306 MCTruthSubUpdators += [NoElossMaterialEffectsUpdator.name] # cavern
307
308 MCTruthExtrapolator.MaterialEffectsUpdators = MCTruthUpdators
309 MCTruthExtrapolator.SubMEUpdators = MCTruthSubUpdators
310 # No material effects at large
311 MCTruthExtrapolator.ApplyMaterialEffects = False
312
313 result.setPrivateTools(MCTruthExtrapolator)
314 return result
315
316
317@AccumulatorCache

◆ MuonExtrapolatorCfg()

python.AtlasExtrapolatorConfig.MuonExtrapolatorCfg ( flags,
name = "MuonExtrapolator",
** kwargs )

Definition at line 379 of file AtlasExtrapolatorConfig.py.

379def MuonExtrapolatorCfg(flags, name="MuonExtrapolator", **kwargs):
380 from TrkConfig.AtlasExtrapolatorToolsConfig import (
381 AtlasMultipleScatteringUpdatorCfg)
382
383 # Muons set the STEP also as the single "Global" propagator
384 result = ComponentAccumulator()
385
386 AtlasMaterialEffectsUpdator = result.popToolsAndMerge(
387 TC.AtlasMaterialEffectsUpdatorCfg(flags,
388 name="MuonMaterialEffectsUpdator"))
389 kwargs.setdefault("MaterialEffectsUpdators", [AtlasMaterialEffectsUpdator])
390
391 kwargs.setdefault("MultipleScatteringUpdater",
392 result.popToolsAndMerge(
393 AtlasMultipleScatteringUpdatorCfg(flags,
394 UseTrkUtils=True)))
395
396 AtlasNavigator = result.popToolsAndMerge(TC.AtlasNavigatorCfg(
397 flags, name='InDetNavigator' if use_old_names else None))
398 kwargs.setdefault("Navigator", AtlasNavigator)
399
400 AtlasELossUpdater = result.popToolsAndMerge(
401 TC.AtlasEnergyLossUpdatorCfg(flags))
402 kwargs.setdefault("EnergyLossUpdater", AtlasELossUpdater)
403
404 if 'STEP_Propagator' not in kwargs:
405 AtlasSTEP_Propagator = result.popToolsAndMerge(
406 AtlasSTEP_PropagatorCfg(flags))
407 kwargs.setdefault("STEP_Propagator", AtlasSTEP_Propagator)
408
409 if 'Propagators' not in kwargs:
410 if use_old_names:
411 kwargs.setdefault("Propagators", [result.popToolsAndMerge(
412 AtlasSTEP_PropagatorCfg(flags, name="MuonPropagator"))])
413 else:
414 kwargs.setdefault("Propagators", [kwargs["STEP_Propagator"]])
415
416 kwargs.setdefault("ResolveMuonStation", True)
417 # must be > 1um to avoid missing MTG intersections
418 kwargs.setdefault("Tolerance", 0.0011)
419
420 extrap = CompFactory.Trk.Extrapolator(name, **kwargs)
421 result.setPrivateTools(extrap)
422 return result
423
424

◆ MuonStraightLineExtrapolatorCfg()

python.AtlasExtrapolatorConfig.MuonStraightLineExtrapolatorCfg ( flags,
name = "MuonStraightLineExtrapolator",
** kwargs )

Definition at line 425 of file AtlasExtrapolatorConfig.py.

427 **kwargs):
428 # Muon set the STEP also as the single "Global" propagator
429 result = ComponentAccumulator()
430
431 muon_prop = None
432 if use_old_names:
433 muon_prop = result.popToolsAndMerge(
434 AtlasSTEP_PropagatorCfg(flags, name='MuonStraightLinePropagator'))
435 else:
436 muon_prop = result.popToolsAndMerge(AtlasSTEP_PropagatorCfg(flags))
437 kwargs.setdefault("Propagators", [muon_prop])
438 kwargs.setdefault("STEP_Propagator", muon_prop)
439 extrap = result.popToolsAndMerge(
440 MuonExtrapolatorCfg(flags, name, **kwargs))
441 result.setPrivateTools(extrap)
442 result.addPublicTool(extrap)
443 # This should be done by the client with the public tool,
444 # but since it's hard to track down
445 # (and since Extrapolators are a specicial case),
446 # just be pragmatic for now.
447 return result
448
449

◆ TrigPFlowExtrapolatorCfg()

python.AtlasExtrapolatorConfig.TrigPFlowExtrapolatorCfg ( flags,
name = 'HLT_PFlowExtrapolator' )

Definition at line 154 of file AtlasExtrapolatorConfig.py.

154def TrigPFlowExtrapolatorCfg(flags, name='HLT_PFlowExtrapolator'):
155 # This is the extrapolator which is used in PFlow
156 # reconstruction at the level of HLT. It allows to
157 # setup the tolerance which influences speed (but also
158 # precision) of the extrapolation.
159 result = ComponentAccumulator()
160
161 PFlowExtrapolator = result.popToolsAndMerge(
162 AtlasExtrapolatorCfg(flags, name))
163
164 from TrkConfig.TrkExRungeKuttaPropagatorConfig import (
165 RungeKuttaPropagatorCfg)
166 RungeKuttaPropagator = result.popToolsAndMerge(
167 RungeKuttaPropagatorCfg(flags))
168 from TrkConfig.TrkExSTEP_PropagatorConfig import (
169 AtlasSTEP_PropagatorCfg)
170 pflowSTEP_Propagator = result.popToolsAndMerge(
171 AtlasSTEP_PropagatorCfg(flags,Tolerance=flags.Trigger.Jet.PFlowTolerance))
172
173 pflowPropagators = []
174 pflowPropagators += [RungeKuttaPropagator]
175 pflowPropagators += [pflowSTEP_Propagator]
176
177 pflowSubPropagators = []
178 pflowSubPropagators += [RungeKuttaPropagator.name] # for Global
179 pflowSubPropagators += [RungeKuttaPropagator.name] # for ID
180 pflowSubPropagators += [pflowSTEP_Propagator.name] # for BeamPipe
181 pflowSubPropagators += [pflowSTEP_Propagator.name] # for Calo
182 pflowSubPropagators += [pflowSTEP_Propagator.name] # for MS
183 pflowSubPropagators += [RungeKuttaPropagator.name] # for cavern
184
185 PFlowExtrapolator.Propagators = pflowPropagators
186 PFlowExtrapolator.SubPropagators = pflowSubPropagators
187 PFlowExtrapolator.STEP_Propagator = pflowSTEP_Propagator
188
189 result.setPrivateTools(PFlowExtrapolator)
190 return result
191
192
193@AccumulatorCache

Variable Documentation

◆ cfg

python.AtlasExtrapolatorConfig.cfg = ComponentAccumulator()

Definition at line 488 of file AtlasExtrapolatorConfig.py.

◆ f

python.AtlasExtrapolatorConfig.f = open("atlasextrapolator.pkl", "wb")

Definition at line 506 of file AtlasExtrapolatorConfig.py.

◆ Files

python.AtlasExtrapolatorConfig.Files

Definition at line 483 of file AtlasExtrapolatorConfig.py.

◆ flags

python.AtlasExtrapolatorConfig.flags = initConfigFlags()

Definition at line 477 of file AtlasExtrapolatorConfig.py.

◆ mlog

python.AtlasExtrapolatorConfig.mlog = logging.getLogger("AtlasExtrapolatorConfigTest")

Definition at line 489 of file AtlasExtrapolatorConfig.py.

◆ nestLevel

python.AtlasExtrapolatorConfig.nestLevel

Definition at line 493 of file AtlasExtrapolatorConfig.py.

◆ printDefaults

python.AtlasExtrapolatorConfig.printDefaults

Definition at line 494 of file AtlasExtrapolatorConfig.py.

◆ use_old_names

bool python.AtlasExtrapolatorConfig.use_old_names = False

Definition at line 59 of file AtlasExtrapolatorConfig.py.