ATLAS Offline Software
Loading...
Searching...
No Matches
ActsTrackFittingConfig Namespace Reference

Functions

ComponentAccumulator ActsFitterCfg (flags, str name="ActsFitterTool", Optional[TrackFitterType] fitterKind=None, **kwargs)
ComponentAccumulator ActsReFitterAlgCfg (flags, str name="ActsReFitterAlg", **kwargs)
ComponentAccumulator forceITkActsReFitterAlgCfg (flags)
ComponentAccumulator writeAdditionalTracks (flags, str trackName='ResolvedTracks', str newTrackName='ReFitted_Tracks')

Function Documentation

◆ ActsFitterCfg()

ComponentAccumulator ActsTrackFittingConfig.ActsFitterCfg ( flags,
str name = "ActsFitterTool",
Optional[TrackFitterType] fitterKind = None,
** kwargs )

Definition at line 8 of file ActsTrackFittingConfig.py.

11 **kwargs) -> ComponentAccumulator:
12 acc = ComponentAccumulator()
13
14 fitterKind = flags.Acts.trackFitterType if fitterKind is None else fitterKind
15
16 if flags.Acts.fitFromPRD:
17 if flags.Detector.GeometryITk:
18 from TrkConfig.TrkRIO_OnTrackCreatorConfig import ITkRotCreatorCfg
19 kwargs.setdefault('RotCreatorTool', acc.popToolsAndMerge(ITkRotCreatorCfg(flags)))
20 elif flags.Detector.GeometryID:
21 from TrkConfig.TrkRIO_OnTrackCreatorConfig import InDetRotCreatorCfg
22 kwargs.setdefault('RotCreatorTool', acc.popToolsAndMerge(InDetRotCreatorCfg(flags)))
23
24
25 # Make sure this is set correctly!
26 # /eos/project-a/acts/public/MaterialMaps/ATLAS/material-maps-Pixel-SCT.json
27 from ActsConfig.ActsGeometryConfig import ActsTrackingGeometryToolCfg
28 kwargs.setdefault("TrackingGeometryTool", acc.getPrimaryAndMerge(ActsTrackingGeometryToolCfg(flags)))
29
30 from ActsConfig.ActsGeometryConfig import ActsExtrapolationToolCfg
31 kwargs.setdefault("ExtrapolationTool", acc.popToolsAndMerge(ActsExtrapolationToolCfg(flags, MaxSteps=10000)))
32
33 from ActsConfig.ActsEventCnvConfig import ActsToTrkConverterToolCfg
34 kwargs.setdefault('ATLASConverterTool', acc.popToolsAndMerge(ActsToTrkConverterToolCfg(flags)))
35
36
37 if fitterKind is TrackFitterType.KalmanFitter:
38 kwargs.setdefault("ReverseFilteringPt", 1.0 * UnitConstants.GeV)
39
40 if fitterKind is TrackFitterType.KalmanFitter: # This flag is by default set to KalmanFitter
41 acc.setPrivateTools(CompFactory.ActsTrk.KalmanFitterTool(name, **kwargs))
42 elif fitterKind is TrackFitterType.GaussianSumFitter:
43 if "SummaryTool" not in kwargs:
44 from TrkConfig.TrkTrackSummaryToolConfig import InDetTrackSummaryToolCfg
45 kwargs.setdefault('SummaryTool', acc.getPrimaryAndMerge(InDetTrackSummaryToolCfg(flags)))
46
47 if 'BoundaryCheckTool' not in kwargs:
48 if flags.Detector.GeometryITk:
49 from InDetConfig.InDetBoundaryCheckToolConfig import ITkBoundaryCheckToolCfg
50 kwargs.setdefault("BoundaryCheckTool", acc.popToolsAndMerge(ITkBoundaryCheckToolCfg(flags)))
51 else:
52 from InDetConfig.InDetBoundaryCheckToolConfig import InDetBoundaryCheckToolCfg
53 kwargs.setdefault("BoundaryCheckTool",acc.popToolsAndMerge(InDetBoundaryCheckToolCfg(flags)))
54 name = name.replace("KalmanFitter", "GaussianSumFitter")
55 acc.setPrivateTools(CompFactory.ActsTrk.GaussianSumFitterTool(name, **kwargs))
56 elif fitterKind is TrackFitterType.GlobalChiSquareFitter:
57 name = name.replace("KalmanFitter", "GlobalChiSquareFitter")
58 acc.setPrivateTools(CompFactory.ActsTrk.GlobalChiSquareFitterTool(name, **kwargs))
59
60 return acc
61
62
63

◆ ActsReFitterAlgCfg()

ComponentAccumulator ActsTrackFittingConfig.ActsReFitterAlgCfg ( flags,
str name = "ActsReFitterAlg",
** kwargs )

Definition at line 64 of file ActsTrackFittingConfig.py.

66 **kwargs) -> ComponentAccumulator:
67 acc = ComponentAccumulator()
68 kwargs.setdefault("ActsFitter", acc.popToolsAndMerge(ActsFitterCfg(flags)))
69 kwargs.setdefault("TrackName", "ResolvedTracks")
70 kwargs.setdefault("NewTrackName", "Refitted_Tracks")
71 kwargs.setdefault("DoReFitFromPRD", flags.Acts.fitFromPRD)
72 acc.addEventAlgo(CompFactory.ActsTrk.ReFitterAlg(name, **kwargs))
73
74 if flags.Acts.writeTrackCollection:
75 acc.merge(writeAdditionalTracks(flags))
76
77 return acc
78

◆ forceITkActsReFitterAlgCfg()

ComponentAccumulator ActsTrackFittingConfig.forceITkActsReFitterAlgCfg ( flags)

Definition at line 79 of file ActsTrackFittingConfig.py.

79def forceITkActsReFitterAlgCfg(flags) -> ComponentAccumulator:
80 #Use this flag in the --postInclude of ActsKfRefiting.sh to fit from the PRD (uncalibrated); Else to fit from the ROT (calibrated), use `(...).ActsReFitterAlgCfg` flag directly
81 flags = flags.cloneAndReplace("Tracking.ActiveConfig",
82 flags.Tracking.ITkPrimaryPassConfig.value)
83 return ActsReFitterAlgCfg(flags)
84
85

◆ writeAdditionalTracks()

ComponentAccumulator ActsTrackFittingConfig.writeAdditionalTracks ( flags,
str trackName = 'ResolvedTracks',
str newTrackName = 'ReFitted_Tracks' )

Definition at line 86 of file ActsTrackFittingConfig.py.

88 newTrackName: str ='ReFitted_Tracks') -> ComponentAccumulator:
89 acc = ComponentAccumulator()
90
91 from xAODTrackingCnv.xAODTrackingCnvConfig import ITkTrackParticleCnvAlgCfg
92
93 if flags.Tracking.doTruth:
94 from InDetConfig.ITkTrackTruthConfig import ITkTrackTruthCfg
95 acc.merge(ITkTrackTruthCfg(flags,
96 Tracks = trackName,
97 DetailedTruth = f"{trackName}DetailedTruth",
98 TracksTruth = f"{trackName}TruthCollection"))
99 acc.merge(ITkTrackTruthCfg(flags,
100 Tracks = newTrackName,
101 DetailedTruth = f"{newTrackName}DetailedTruth",
102 TracksTruth = f"{newTrackName}TruthCollection"))
103
104 acc.merge(ITkTrackParticleCnvAlgCfg(flags,
105 name = f"{trackName}TrackParticleCnvAlg",
106 TrackContainerName = trackName,
107 xAODTrackParticlesFromTracksContainerName = f"{trackName}TrackParticles",
108 TrackTruthContainerName = f"{trackName}TruthCollection"))
109 acc.merge(ITkTrackParticleCnvAlgCfg(flags,
110 name = f"{newTrackName}TrackParticleCnvAlg",
111 TrackContainerName = newTrackName,
112 xAODTrackParticlesFromTracksContainerName = f"{newTrackName}TrackParticles",
113 TrackTruthContainerName = f"{newTrackName}TruthCollection"))
114
115 from OutputStreamAthenaPool.OutputStreamConfig import addToESD, addToAOD
116 itemList = [f"xAOD::TrackParticleContainer#{trackName}TrackParticles",
117 f"xAOD::TrackParticleAuxContainer#{trackName}TrackParticlesAux.",
118 f"xAOD::TrackParticleContainer#{newTrackName}TrackParticles",
119 f"xAOD::TrackParticleAuxContainer#{newTrackName}TrackParticlesAux."]
120
121 acc.merge(addToESD(flags, itemList))
122 acc.merge(addToAOD(flags, itemList))
123 return acc
124