ATLAS Offline Software
Loading...
Searching...
No Matches
TrkExRungeKuttaPropagatorConfig.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 RungeKuttaPropagator
4# for track parameters propagation through magnetic field.
5from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
6from AthenaConfiguration.ComponentFactory import CompFactory
7from MagFieldServices.MagFieldServicesConfig import AtlasFieldCacheCondAlgCfg
8
9def RungeKuttaPropagatorCfg(flags, name='AtlasRungeKuttaPropagator', **kwargs):
10 result = ComponentAccumulator()
11 acc = AtlasFieldCacheCondAlgCfg(flags)
12 result.merge(acc)
13
14 kwargs.setdefault("IncludeBgradients", False) # Just so this doesn't seem unconfigured. Real fix is to use default name.
15 tool = CompFactory.Trk.RungeKuttaPropagator(name, **kwargs)
16 result.setPrivateTools(tool)
17 return result
18
19
20def InDetPropagatorCfg(flags, name='InDetPropagator', **kwargs):
21 kwargs.setdefault("AccuracyParameter", 0.0001)
22 kwargs.setdefault("MaxStraightLineStep", .004) # Fixes a failed fit
23 return RungeKuttaPropagatorCfg(flags, name, **kwargs)
24
25
26def GSFRungeKuttaPropagatorCfg(flags, name='GSFTrkPropagator', **kwargs):
27 kwargs.setdefault("AccuracyParameter", 0.0001)
28 return RungeKuttaPropagatorCfg(flags, name, **kwargs)
29
30
31def MuonCombinedPropagatorCfg(flags, name='MuonCombinedPropagator', **kwargs):
32 if not flags.Muon.MuonTrigger:
33 kwargs.setdefault("AccuracyParameter", .000001)
34 kwargs.setdefault("IncludeBgradients", True)
35 kwargs.setdefault("MaxHelixStep", .001)
36 kwargs.setdefault("MaxStraightLineStep", .001)
37 return RungeKuttaPropagatorCfg(flags, name, **kwargs)
38
39
40def ITkPropagatorCfg(flags, name='ITkPropagator', **kwargs):
41 kwargs.setdefault("AccuracyParameter", 0.0001)
42 kwargs.setdefault("MaxStraightLineStep", .004) # Fixes a failed fit
43 return RungeKuttaPropagatorCfg(flags, name, **kwargs)
RungeKuttaPropagatorCfg(flags, name='AtlasRungeKuttaPropagator', **kwargs)
MuonCombinedPropagatorCfg(flags, name='MuonCombinedPropagator', **kwargs)
ITkPropagatorCfg(flags, name='ITkPropagator', **kwargs)
GSFRungeKuttaPropagatorCfg(flags, name='GSFTrkPropagator', **kwargs)
InDetPropagatorCfg(flags, name='InDetPropagator', **kwargs)