ATLAS Offline Software
AtlasExtrapolatorConfig.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
2 
3 # New configuration for ATLAS extrapolator
4 # The extrapolator combines
5 #
6 # - The mathematical propagation of track
7 # parameters to a destination surface via the configured propagators
8 # RungeKuttaPropagator or STEP_propagator.
9 # They both perform track parameters propagation through
10 # the magnetic field. The STEP_propagator
11 # additionally includes material effects.
12 #
13 # - The application of material effects:
14 # 1) Either in certain points/surfaces via the
15 # relevant MaterialEffectsUpdators, EnergyLoss and
16 # MultipleScattering tools,
17 # 2) or continuously via the STEP propagator.
18 #
19 # - The possible navigation procedure determining the starting
20 # and destination volume for the extrapolation and provides
21 # the boundary surfaces to be be intersected.
22 #
23 # We need/can configure :
24 # The "Global" Propagagor property (usually Runge Kutta )
25 # The "Global" Material effects updator property
26 # The Navigator property
27 # The STEP_Propagator property (for tracking workloads inside dense volumes)
28 #
29 # Aditionally and for consistency/clarity we might want to have
30 # specific settings for each subdetector volume :
31 # - ITK/ID,
32 # - Calo,
33 # - Muon Spectrometer,
34 # - BeamPipe,
35 # - Cavern
36 # Otherwise the global propagator is used.
37 #
38 #
39 # The extrapolator provides many method and one instance can be used
40 # in various contexts.
41 # Broadly we have 2 cases.
42 # - Inner detector and e/gamma rely on RungeKuttaPropagator.
43 # They use Material effects updator(s) with no energy loss.
44 # As an example e/gamma for extrapolation to calo uses extrapolateDirectly,
45 # so not navigation or material effects.
46 #
47 # - Muons (and PFlow) do full tracking (intersections) inside the calo.
48 # They rely on the STEP_Propagator (the intersections code always use it).
49 # And Muons prefer to use STEP globally.
50 
51 
52 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
53 from AthenaConfiguration.AccumulatorCache import AccumulatorCache
54 from AthenaConfiguration.ComponentFactory import CompFactory
55 import TrkConfig.AtlasExtrapolatorToolsConfig as TC
56 from TrkConfig.TrkExSTEP_PropagatorConfig import AtlasSTEP_PropagatorCfg
57 
58 # For debugging comparisons with old-style config
59 use_old_names = False
60 
61 
62 @AccumulatorCache
63 def 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(
76  AtlasSTEP_Propagator = result.popToolsAndMerge(
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
154 def 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(
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
194 def 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(
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(
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
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
318 def 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 
379 def 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(
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(
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 
426  name="MuonStraightLineExtrapolator",
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 
450 def 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(
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 
474 if __name__ == "__main__":
475 
476  from AthenaConfiguration.AllConfigFlags import initConfigFlags
477  flags = initConfigFlags()
478 
479  from AthenaConfiguration.ComponentAccumulator import printProperties
480  from AthenaConfiguration.TestDefaults import defaultTestFiles
481  from AthenaCommon.Logging import logging
482 
483  flags.Input.Files = defaultTestFiles.RDO_RUN2
484  flags.fillFromArgs()
485  flags.lock()
486  flags.dump()
487 
489  mlog = logging.getLogger("AtlasExtrapolatorConfigTest")
490  mlog.info("Configuring AtlasExtrapolator : ")
491  printProperties(mlog, cfg.popToolsAndMerge(
492  AtlasExtrapolatorCfg(flags)),
493  nestLevel=1,
494  printDefaults=True)
495  mlog.info("Configuring egammaCaloExtrapolator : ")
496  printProperties(mlog, cfg.popToolsAndMerge(
498  nestLevel=1,
499  printDefaults=True)
500  mlog.info("Configuring MCTruthClassifierExtrapolator : ")
501  printProperties(mlog, cfg.popToolsAndMerge(
503  nestLevel=1,
504  printDefaults=True)
505 
506  f = open("atlasextrapolator.pkl", "wb")
507  cfg.store(f)
508  f.close()
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
python.TrkExSTEP_PropagatorConfig.AtlasNoMatSTEP_PropagatorCfg
def AtlasNoMatSTEP_PropagatorCfg(flags, name='NoMatSTEP_Propagator', **kwargs)
Definition: TrkExSTEP_PropagatorConfig.py:28
python.AtlasExtrapolatorConfig.egammaCaloExtrapolatorCfg
def egammaCaloExtrapolatorCfg(flags, name='egammaCaloExtrapolator')
Definition: AtlasExtrapolatorConfig.py:194
python.AtlasExtrapolatorToolsConfig.AtlasMultipleScatteringUpdatorCfg
def AtlasMultipleScatteringUpdatorCfg(flags, name="AtlasMultipleScatteringUpdator", **kwargs)
Definition: AtlasExtrapolatorToolsConfig.py:119
python.AtlasExtrapolatorConfig.AtlasExtrapolatorCfg
def AtlasExtrapolatorCfg(flags, name='AtlasExtrapolator')
Definition: AtlasExtrapolatorConfig.py:63
python.TrkExRungeKuttaPropagatorConfig.RungeKuttaPropagatorCfg
def RungeKuttaPropagatorCfg(flags, name='AtlasRungeKuttaPropagator', **kwargs)
Definition: TrkExRungeKuttaPropagatorConfig.py:9
python.AtlasExtrapolatorConfig.MCTruthClassifierExtrapolatorCfg
def MCTruthClassifierExtrapolatorCfg(flags, name='MCTruthClassifierExtrapolator')
Definition: AtlasExtrapolatorConfig.py:278
python.TrkExSTEP_PropagatorConfig.AtlasSTEP_PropagatorCfg
def AtlasSTEP_PropagatorCfg(flags, name='AtlasSTEP_Propagator', **kwargs)
Definition: TrkExSTEP_PropagatorConfig.py:16
python.TrkExRungeKuttaPropagatorConfig.ITkPropagatorCfg
def ITkPropagatorCfg(flags, name='ITkPropagator', **kwargs)
Definition: TrkExRungeKuttaPropagatorConfig.py:40
python.AtlasExtrapolatorConfig.MuonExtrapolatorCfg
def MuonExtrapolatorCfg(flags, name="MuonExtrapolator", **kwargs)
Definition: AtlasExtrapolatorConfig.py:379
python.AtlasExtrapolatorConfig.TrigPFlowExtrapolatorCfg
def TrigPFlowExtrapolatorCfg(flags, name='HLT_PFlowExtrapolator')
Definition: AtlasExtrapolatorConfig.py:154
extractSporadic.printProperties
def printProperties(h, q, hLB)
Definition: extractSporadic.py:7
Trk::open
@ open
Definition: BinningType.h:40
python.AllConfigFlags.initConfigFlags
def initConfigFlags()
Definition: AllConfigFlags.py:19
python.TrkExRungeKuttaPropagatorConfig.InDetPropagatorCfg
def InDetPropagatorCfg(flags, name='InDetPropagator', **kwargs)
Definition: TrkExRungeKuttaPropagatorConfig.py:20
python.AtlasExtrapolatorConfig.InDetExtrapolatorCfg
def InDetExtrapolatorCfg(flags, name='InDetExtrapolator', **kwargs)
Definition: AtlasExtrapolatorConfig.py:318
python.AtlasExtrapolatorConfig.MCTBExtrapolatorCfg
def MCTBExtrapolatorCfg(flags, name='MCTBExtrapolator', **kwargs)
Definition: AtlasExtrapolatorConfig.py:450
python.AtlasExtrapolatorConfig.MuonStraightLineExtrapolatorCfg
def MuonStraightLineExtrapolatorCfg(flags, name="MuonStraightLineExtrapolator", **kwargs)
Definition: AtlasExtrapolatorConfig.py:425