1"""Define methods to construct configured Tracking conversion algorithms
3Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
5from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
6from AthenaConfiguration.ComponentFactory
import CompFactory
13 result = ComponentAccumulator()
15 if "TrackParticleCreator" not in kwargs:
16 from TrkConfig.TrkParticleCreatorConfig
import (
17 TrackParticleCreatorToolCfg)
18 TrackParticleCreator = result.popToolsAndMerge(
19 TrackParticleCreatorToolCfg(flags))
20 result.addPublicTool(TrackParticleCreator)
21 kwargs.setdefault(
"TrackParticleCreator", TrackParticleCreator)
23 result.setPrivateTools(
24 CompFactory.xAODMaker.RecTrackParticleContainerCnvTool(name, **kwargs))
28 result = ComponentAccumulator()
30 if "TrackParticleCreator" not in kwargs:
31 from TrkConfig.TrkParticleCreatorConfig
import (
32 MuonCombinedParticleCreatorCfg)
33 TrackParticleCreator = result.popToolsAndMerge(
34 MuonCombinedParticleCreatorCfg(flags))
35 result.addPublicTool(TrackParticleCreator)
36 kwargs.setdefault(
"TrackParticleCreator", TrackParticleCreator)
38 result.setPrivateTools(
39 CompFactory.xAODMaker.RecTrackParticleContainerCnvTool(name, **kwargs))
47 if flags.Detector.GeometryITk:
48 name = name.replace(
"InDet",
"ITk")
51 result = ComponentAccumulator()
53 if "TrackParticleCreator" not in kwargs:
54 from TrkConfig.TrkParticleCreatorConfig
import (
55 TrackParticleCreatorToolCfg)
56 TrackParticleCreator = result.popToolsAndMerge(
57 TrackParticleCreatorToolCfg(flags))
58 result.addPublicTool(TrackParticleCreator)
59 kwargs.setdefault(
"TrackParticleCreator", TrackParticleCreator)
61 result.setPrivateTools(
62 CompFactory.xAODMaker.TrackCollectionCnvTool(name, **kwargs))
66 isActsAmbi: bool =
False,
68 result = ComponentAccumulator()
70 if "TrackParticleCreator" not in kwargs:
71 from TrkConfig.TrkParticleCreatorConfig
import ITkTrackParticleCreatorToolCfg
72 TrackParticleCreator = result.popToolsAndMerge(
73 ITkTrackParticleCreatorToolCfg(flags, RunningTIDE_Ambi =
not isActsAmbi ))
74 result.addPublicTool(TrackParticleCreator)
75 kwargs.setdefault(
"TrackParticleCreator", TrackParticleCreator)
77 result.setPrivateTools(CompFactory.xAODMaker.TrackCollectionCnvTool(name, **kwargs))
81 result = ComponentAccumulator()
83 if "TrackParticleCreator" not in kwargs:
84 from TrkConfig.TrkParticleCreatorConfig
import MuonCombinedParticleCreatorCfg
85 TrackParticleCreator = result.popToolsAndMerge(
86 MuonCombinedParticleCreatorCfg(flags))
87 result.addPublicTool(TrackParticleCreator)
88 kwargs.setdefault(
"TrackParticleCreator", TrackParticleCreator)
90 result.setPrivateTools(CompFactory.xAODMaker.TrackCollectionCnvTool(name, **kwargs))
98 ClusterSplitProbabilityName = "",
99 AssociationMapName = "",
101 if flags.Detector.GeometryITk:
102 name = name.replace(
"InDet",
"ITk")
104 ClusterSplitProbabilityName,
108 result = ComponentAccumulator()
109 kwargs.setdefault(
"ConvertTracks",
True)
110 kwargs.setdefault(
"ConvertTrackParticles",
False)
111 kwargs.setdefault(
"TrackContainerName",
"CombinedInDetTracks")
112 kwargs.setdefault(
"xAODTrackParticlesFromTracksContainerName",
"InDetTrackParticles")
114 if "TrackParticleCreator" not in kwargs:
115 from TrkConfig.TrkParticleCreatorConfig
import TrackParticleCreatorToolCfg
116 kwargs.setdefault(
"TrackParticleCreator", result.popToolsAndMerge(
117 TrackParticleCreatorToolCfg(
119 name = kwargs[
"xAODTrackParticlesFromTracksContainerName"] \
121 ClusterSplitProbabilityName = ClusterSplitProbabilityName,
122 AssociationMapName = AssociationMapName)))
124 if "TrackCollectionCnvTool" not in kwargs:
125 result.addPublicTool(kwargs[
"TrackParticleCreator"])
126 kwargs.setdefault(
"TrackCollectionCnvTool", result.popToolsAndMerge(
129 TrackParticleCreator = kwargs[
"TrackParticleCreator"])))
131 if flags.Tracking.doTruth:
132 kwargs.setdefault(
"TrackTruthContainerName",
133 kwargs[
"TrackContainerName"]+
"TruthCollection")
134 kwargs.setdefault(
"AddTruthLink",
True)
135 if "MCTruthClassifier" not in kwargs:
136 from MCTruthClassifier.MCTruthClassifierConfig
import MCTruthClassifierCfg
137 kwargs.setdefault(
"MCTruthClassifier", result.popToolsAndMerge(
138 MCTruthClassifierCfg(flags)))
140 kwargs.setdefault(
"AddTruthLink",
False)
142 if flags.Tracking.perigeeExpression ==
"Vertex":
143 from AthenaConfiguration.Enums
import ProductionStep
144 if flags.Common.ProductionStep
is ProductionStep.MinbiasPreprocessing:
145 kwargs.setdefault(
"PrimaryVerticesName", f
"{flags.Overlay.BkgPrefix}PrimaryVertices")
147 kwargs.setdefault(
"PrimaryVerticesName",
"PrimaryVertices")
149 result.addEventAlgo(CompFactory.xAODMaker.TrackParticleCnvAlg(name, **kwargs))
154 ClusterSplitProbabilityName = "",
155 AssociationMapName = "",
158 if flags.Detector.GeometryITk:
159 name = name.replace(
"InDet",
"ITk")
161 ClusterSplitProbabilityName,
165 kwargs.setdefault(
"ConvertTracks",
True)
166 kwargs.setdefault(
"ConvertTrackParticles",
False)
167 kwargs.setdefault(
"TrackContainerName",
"CombinedInDetTracks")
168 kwargs.setdefault(
"xAODTrackParticlesFromTracksContainerName",
"InDetTrackParticles")
169 kwargs.setdefault(
"AddTruthLink",
False)
171 result = ComponentAccumulator()
173 if "TrackParticleCreator" not in kwargs:
174 from TrkConfig.TrkParticleCreatorConfig
import InDetTrigParticleCreatorToolCfg, \
175 InDetTrigParticleCreatorToolTRTPidCfg
177 if flags.Tracking.ActiveConfig.electronPID:
178 partCreatorToolCfg = InDetTrigParticleCreatorToolTRTPidCfg
180 partCreatorToolCfg = InDetTrigParticleCreatorToolCfg
183 kwargs.setdefault(
"TrackParticleCreator", result.popToolsAndMerge(
186 name = kwargs[
"xAODTrackParticlesFromTracksContainerName"] +
"CreatorTool",
187 ClusterSplitProbabilityName = ClusterSplitProbabilityName,
188 AssociationMapName = AssociationMapName)
191 if "TrackCollectionCnvTool" not in kwargs:
192 result.addPublicTool(kwargs[
"TrackParticleCreator"])
193 kwargs.setdefault(
"TrackCollectionCnvTool", result.popToolsAndMerge(
196 TrackParticleCreator = kwargs[
"TrackParticleCreator"])))
199 if flags.Tracking.ActiveConfig.perigeeExpression ==
"Vertex":
200 kwargs.setdefault(
"PrimaryVerticesName",
"PrimaryVertices")
202 kwargs.setdefault(
"PrimaryVerticesName",
"")
205 ClusterSplitProbabilityName,
214 ClusterSplitProbabilityName = "",
215 AssociationMapName = "",
217 result = ComponentAccumulator()
219 if "TrackParticleCreator" not in kwargs:
220 from TrkConfig.TrkParticleCreatorConfig
import TrackParticleCreatorToolCfg
221 kwargs.setdefault(
"TrackParticleCreator", result.popToolsAndMerge(
222 TrackParticleCreatorToolCfg(
224 name=
"InDetxAODParticleCreatorToolBeamLine",
225 ClusterSplitProbabilityName = ClusterSplitProbabilityName,
226 AssociationMapName = AssociationMapName,
227 PerigeeExpression =
"BeamLine")))
229 if flags.Tracking.perigeeExpression ==
"Vertex":
230 kwargs.setdefault(
"PrimaryVerticesName",
"")
236 ClusterSplitProbabilityName = "",
237 AssociationMapName = "",
239 result = ComponentAccumulator()
241 if "TrackParticleCreator" not in kwargs:
242 from TrkConfig.TrkParticleCreatorConfig
import TrackParticleCreatorToolPIDCheckCfg
243 kwargs.setdefault(
"TrackParticleCreator", result.popToolsAndMerge(
244 TrackParticleCreatorToolPIDCheckCfg(
246 name = kwargs[
"xAODTrackParticlesFromTracksContainerName"] \
248 ClusterSplitProbabilityName = ClusterSplitProbabilityName,
249 AssociationMapName = AssociationMapName)))
255 ClusterSplitProbabilityName = "",
256 AssociationMapName = "",
258 result = ComponentAccumulator()
260 if "TrackParticleCreator" not in kwargs:
261 from TrkConfig.TrkParticleCreatorConfig
import TrackParticleCreatorToolNoPIDCfg
262 kwargs.setdefault(
"TrackParticleCreator", result.popToolsAndMerge(
263 TrackParticleCreatorToolNoPIDCfg(
265 name = kwargs[
"xAODTrackParticlesFromTracksContainerName"] \
267 ClusterSplitProbabilityName = ClusterSplitProbabilityName,
268 AssociationMapName = AssociationMapName)))
271 ClusterSplitProbabilityName,
272 AssociationMapName, **kwargs))
276 ClusterSplitProbabilityName = "",
277 AssociationMapName = "",
279 kwargs.setdefault(
"TrackContainerName",
"ObservedTracksCollection")
280 kwargs.setdefault(
"xAODTrackParticlesFromTracksContainerName",
"InDetObservedTrackParticles")
281 kwargs.setdefault(
"AugmentObservedTracks",
True)
282 kwargs.setdefault(
"TracksMapName",
"ObservedTracksCollectionMap")
287 ClusterSplitProbabilityName = "",
288 AssociationMapName = "",
289 isActsAmbi: bool =
False,
291 result = ComponentAccumulator()
293 kwargs.setdefault(
"ConvertTracks",
True)
294 kwargs.setdefault(
"ConvertTrackParticles",
False)
295 kwargs.setdefault(
"TrackContainerName",
"CombinedITkTracks")
296 kwargs.setdefault(
"xAODTrackParticlesFromTracksContainerName",
"InDetTrackParticles")
297 if flags.Tracking.perigeeExpression ==
"Vertex":
298 kwargs.setdefault(
'PrimaryVerticesName',
'PrimaryVertices')
300 if "TrackParticleCreator" not in kwargs:
301 from TrkConfig.TrkParticleCreatorConfig
import ITkTrackParticleCreatorToolCfg
302 kwargs.setdefault(
"TrackParticleCreator", result.popToolsAndMerge(
303 ITkTrackParticleCreatorToolCfg(
305 name = kwargs[
"xAODTrackParticlesFromTracksContainerName"] \
307 ClusterSplitProbabilityName = ClusterSplitProbabilityName
if not isActsAmbi
else "",
308 AssociationMapName = AssociationMapName)))
310 if "TrackCollectionCnvTool" not in kwargs:
311 result.addPublicTool(kwargs[
"TrackParticleCreator"])
312 kwargs.setdefault(
"TrackCollectionCnvTool", result.popToolsAndMerge(
315 TrackParticleCreator = kwargs[
"TrackParticleCreator"],
316 isActsAmbi = isActsAmbi)))
318 if flags.Tracking.doTruth:
319 kwargs.setdefault(
"TrackTruthContainerName",
320 kwargs[
"TrackContainerName"]+
"TruthCollection")
321 kwargs.setdefault(
"AddTruthLink",
True)
322 if "MCTruthClassifier" not in kwargs:
323 from MCTruthClassifier.MCTruthClassifierConfig
import MCTruthClassifierCfg
324 kwargs.setdefault(
"MCTruthClassifier", result.popToolsAndMerge(
325 MCTruthClassifierCfg(flags)))
327 kwargs.setdefault(
"AddTruthLink",
False)
329 result.addEventAlgo(CompFactory.xAODMaker.TrackParticleCnvAlg(name, **kwargs))
333 from TrkConfig.TrkParticleCreatorConfig
import MuonParticleCreatorToolCfg
334 from BeamSpotConditions.BeamSpotConditionsConfig
import BeamSpotCondAlgCfg
336 result=ComponentAccumulator()
337 result.merge(BeamSpotCondAlgCfg(flags))
339 muonparticlecreatortool = result.popToolsAndMerge(MuonParticleCreatorToolCfg(flags))
340 result.addPublicTool(muonparticlecreatortool)
342 kwargs.setdefault(
"TrackParticleCreator", muonparticlecreatortool)
343 kwargs.setdefault(
"RecTrackParticleContainerCnvTool", result.popToolsAndMerge(
345 muontrackcollectioncnvtool = result.popToolsAndMerge(
347 kwargs.setdefault(
"TrackCollectionCnvTool", muontrackcollectioncnvtool)
349 kwargs.setdefault(
"TrackContainerName",
"MuonSpectrometerTracks")
350 kwargs.setdefault(
"xAODTrackParticlesFromTracksContainerName",
"MuonSpectrometerTrackParticles")
351 kwargs.setdefault(
"AODContainerName",
"")
352 kwargs.setdefault(
"AODTruthContainerName",
"")
353 kwargs.setdefault(
"xAODTruthLinkVector",
"")
354 kwargs.setdefault(
"ConvertTrackParticles",
False)
355 kwargs.setdefault(
"ConvertTracks",
True)
356 kwargs.setdefault(
"AddTruthLink",
False)
358 result.addEventAlgo(CompFactory.xAODMaker.TrackParticleCnvAlg(name, **kwargs))
362 result=ComponentAccumulator()
363 from BeamSpotConditions.BeamSpotConditionsConfig
import BeamSpotCondAlgCfg
364 result.merge(BeamSpotCondAlgCfg(flags))
367 if "TrackParticleCreator" not in kwargs:
368 from TrkConfig.TrkParticleCreatorConfig
import MuonCombinedParticleCreatorCfg
369 kwargs.setdefault(
"TrackParticleCreator", result.popToolsAndMerge(MuonCombinedParticleCreatorCfg(flags)))
371 if "TrackCollectionCnvTool" not in kwargs:
372 from xAODTrackingCnv.xAODTrackingCnvConfig
import MuonTrackCollectionCnvToolCfg
375 kwargs.setdefault(
"TrackContainerName",
"MuonSpectrometerTracks")
376 kwargs.setdefault(
"xAODTrackParticlesFromTracksContainerName",
"MuonSpectrometerTrackParticles")
377 kwargs.setdefault(
"ConvertTrackParticles",
False)
378 kwargs.setdefault(
"ConvertTracks",
True)
379 kwargs.setdefault(
"AddTruthLink",
False)
381 result.addEventAlgo(CompFactory.xAODMaker.TrackParticleCnvAlg(name, **kwargs))
TrackCollectionCnvToolCfg(flags, name="TrackCollectionCnvTool", **kwargs)
TrackCollectionCnvTool.
ITkTrackParticleCnvAlgCfg(flags, name="ITkTrackParticleCnvAlg", ClusterSplitProbabilityName="", AssociationMapName="", bool isActsAmbi=False, **kwargs)
RecTrackParticleContainerCnvToolCfg(flags, name="RecTrackParticleContainerCnvTool", **kwargs)
RecTrackParticleContainerCnvTool.
BeamLineTrackParticleCnvAlgCfg(flags, name="BeamLineTrackParticleCnvAlg", ClusterSplitProbabilityName="", AssociationMapName="", **kwargs)
TrackParticleCnvAlgPIDCheckCfg(flags, name, ClusterSplitProbabilityName="", AssociationMapName="", **kwargs)
MuonStandaloneTrackParticleCnvAlgCfg(flags, name="MuonStandaloneTrackParticleCnvAlg", **kwargs)
TrackParticleCnvAlgCfg(flags, name="TrackParticleCnvAlg", ClusterSplitProbabilityName="", AssociationMapName="", **kwargs)
TrackParticleCnvAlg.
MuonRecTrackParticleContainerCnvToolCfg(flags, name="MuonRecTrackParticleContainerCnvTool", **kwargs)
MuonTrackParticleCnvCfg(flags, name="MuonTrackParticleCnvAlg", **kwargs)
ObserverTrackParticleCnvAlgCfg(flags, name="ObserverTrackParticleCnvAlg", ClusterSplitProbabilityName="", AssociationMapName="", **kwargs)
TrackParticleCnvAlgNoPIDCfg(flags, name, ClusterSplitProbabilityName="", AssociationMapName="", **kwargs)
ITkTrackCollectionCnvToolCfg(flags, name="ITkTrackCollectionCnvTool", bool isActsAmbi=False, **kwargs)
TrigTrackParticleCnvAlgCfg(flags, name="TrigTrackParticleCnvAlg", ClusterSplitProbabilityName="", AssociationMapName="", **kwargs)
MuonTrackCollectionCnvToolCfg(flags, name="MuonTrackCollectionCnvTool", **kwargs)