ATLAS Offline Software
TrkExSTEP_PropagatorConfig.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
2 
3 # Configuration of STEP_Propagator package
4 # The STEP (Simultaneous Track and Error Propagation)
5 # propagates track parameters through the magnetic field.
6 # Compared to the Runge Kutta Propagator it
7 # includes material effects in the equation of motion
8 # and applies corrections to the covariance matrices
9 # continuously.
10 # It is particularly suited for the propagation
11 # of a particle going through a dense block of material.
12 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
13 from AthenaConfiguration.ComponentFactory import CompFactory
14 from MagFieldServices.MagFieldServicesConfig import AtlasFieldCacheCondAlgCfg
15 
17  name='AtlasSTEP_Propagator',
18  **kwargs):
19  result = ComponentAccumulator()
20  acc = AtlasFieldCacheCondAlgCfg(flags)
21  result.merge(acc)
22 
23  kwargs.setdefault("MaterialEffects", True) # Default value, set to allow non-default name for compatibility with legacy config
24  result.setPrivateTools(CompFactory.Trk.STEP_Propagator(name, **kwargs))
25  return result
26 
27 
29  name='NoMatSTEP_Propagator',
30  **kwargs):
31  kwargs.setdefault("MaterialEffects", False)
32  return AtlasSTEP_PropagatorCfg(flags, name, **kwargs)
33 
34 
36  name="ISF_FatrasSTEP_Propagator",
37  **kwargs):
38  result = ComponentAccumulator()
39  acc = AtlasFieldCacheCondAlgCfg(flags)
40  result.merge(acc)
41 
42  kwargs.setdefault("MomentumCutOff", flags.Sim.Fatras.MomCutOffSec)
43  kwargs.setdefault("SimulationMode", True)
44 
45  from ISF_FatrasServices.ISF_FatrasConfig import fatrasMaterialUpdatorCfg
46  material_updator = result.popToolsAndMerge(fatrasMaterialUpdatorCfg(flags))
47  kwargs.setdefault("SimMatEffUpdator", material_updator)
48 
49  # the step propagaor
50  StepPropagator = CompFactory.Trk.STEP_Propagator
51  result.setPrivateTools(StepPropagator(name=name, **kwargs))
52  return result
python.TrkExSTEP_PropagatorConfig.fatrasSTEP_PropagatorCfg
def fatrasSTEP_PropagatorCfg(flags, name="ISF_FatrasSTEP_Propagator", **kwargs)
Definition: TrkExSTEP_PropagatorConfig.py:35
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.TrkExSTEP_PropagatorConfig.AtlasSTEP_PropagatorCfg
def AtlasSTEP_PropagatorCfg(flags, name='AtlasSTEP_Propagator', **kwargs)
Definition: TrkExSTEP_PropagatorConfig.py:16
ISF_FatrasConfig.fatrasMaterialUpdatorCfg
def fatrasMaterialUpdatorCfg(flags, name="ISF_FatrasMaterialUpdator", **kwargs)
Definition: ISF_FatrasConfig.py:336
python.MagFieldServicesConfig.AtlasFieldCacheCondAlgCfg
def AtlasFieldCacheCondAlgCfg(flags, **kwargs)
Definition: MagFieldServicesConfig.py:8