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 ClusterSplitProbabilityName = "",
334 AssociationMapName = "",
335 isActsAmbi: bool =
False,
337 result = ComponentAccumulator()
339 kwargs.setdefault(
"ConvertTracks",
True)
340 kwargs.setdefault(
"ConvertTrackParticles",
False)
341 kwargs.setdefault(
"TrackContainerName",
"CombinedITkTracks")
342 kwargs.setdefault(
"xAODTrackParticlesFromTracksContainerName",
"InDetTrackParticles")
344 if flags.Tracking.ActiveConfig.perigeeExpression ==
"Vertex":
345 kwargs.setdefault(
'PrimaryVerticesName',
'PrimaryVertices')
347 if "TrackParticleCreator" not in kwargs:
348 from TrkConfig.TrkParticleCreatorConfig
import ITkTrackParticleCreatorToolCfg
349 kwargs.setdefault(
"TrackParticleCreator", result.popToolsAndMerge(
350 ITkTrackParticleCreatorToolCfg(
352 name = kwargs[
"xAODTrackParticlesFromTracksContainerName"] \
354 ClusterSplitProbabilityName = ClusterSplitProbabilityName
if not isActsAmbi
else "",
355 AssociationMapName = AssociationMapName)))
357 if "TrackCollectionCnvTool" not in kwargs:
358 result.addPublicTool(kwargs[
"TrackParticleCreator"])
359 kwargs.setdefault(
"TrackCollectionCnvTool", result.popToolsAndMerge(
362 TrackParticleCreator = kwargs[
"TrackParticleCreator"],
363 isActsAmbi = isActsAmbi)))
365 if flags.Tracking.ActiveConfig.doTruth:
366 kwargs.setdefault(
"TrackTruthContainerName",
367 kwargs[
"TrackContainerName"]+
"TruthCollection")
368 kwargs.setdefault(
"AddTruthLink",
True)
369 if "MCTruthClassifier" not in kwargs:
370 from MCTruthClassifier.MCTruthClassifierConfig
import MCTruthClassifierCfg
371 kwargs.setdefault(
"MCTruthClassifier", result.popToolsAndMerge(
372 MCTruthClassifierCfg(flags)))
374 kwargs.setdefault(
"AddTruthLink",
False)
376 result.addEventAlgo(CompFactory.xAODMaker.TrackParticleCnvAlg(name, **kwargs))
380 from TrkConfig.TrkParticleCreatorConfig
import MuonParticleCreatorToolCfg
381 from BeamSpotConditions.BeamSpotConditionsConfig
import BeamSpotCondAlgCfg
383 result=ComponentAccumulator()
384 result.merge(BeamSpotCondAlgCfg(flags))
386 muonparticlecreatortool = result.popToolsAndMerge(MuonParticleCreatorToolCfg(flags))
387 result.addPublicTool(muonparticlecreatortool)
389 kwargs.setdefault(
"TrackParticleCreator", muonparticlecreatortool)
390 kwargs.setdefault(
"RecTrackParticleContainerCnvTool", result.popToolsAndMerge(
392 muontrackcollectioncnvtool = result.popToolsAndMerge(
394 kwargs.setdefault(
"TrackCollectionCnvTool", muontrackcollectioncnvtool)
396 kwargs.setdefault(
"TrackContainerName",
"MuonSpectrometerTracks")
397 kwargs.setdefault(
"xAODTrackParticlesFromTracksContainerName",
"MuonSpectrometerTrackParticles")
398 kwargs.setdefault(
"AODContainerName",
"")
399 kwargs.setdefault(
"AODTruthContainerName",
"")
400 kwargs.setdefault(
"xAODTruthLinkVector",
"")
401 kwargs.setdefault(
"ConvertTrackParticles",
False)
402 kwargs.setdefault(
"ConvertTracks",
True)
403 kwargs.setdefault(
"AddTruthLink",
False)
405 result.addEventAlgo(CompFactory.xAODMaker.TrackParticleCnvAlg(name, **kwargs))
409 result=ComponentAccumulator()
410 from BeamSpotConditions.BeamSpotConditionsConfig
import BeamSpotCondAlgCfg
411 result.merge(BeamSpotCondAlgCfg(flags))
414 if "TrackParticleCreator" not in kwargs:
415 from TrkConfig.TrkParticleCreatorConfig
import MuonCombinedParticleCreatorCfg
416 kwargs.setdefault(
"TrackParticleCreator", result.popToolsAndMerge(MuonCombinedParticleCreatorCfg(flags)))
418 if "TrackCollectionCnvTool" not in kwargs:
419 from xAODTrackingCnv.xAODTrackingCnvConfig
import MuonTrackCollectionCnvToolCfg
422 kwargs.setdefault(
"TrackContainerName",
"MuonSpectrometerTracks")
423 kwargs.setdefault(
"xAODTrackParticlesFromTracksContainerName",
"MuonSpectrometerTrackParticles")
424 kwargs.setdefault(
"ConvertTrackParticles",
False)
425 kwargs.setdefault(
"ConvertTracks",
True)
426 kwargs.setdefault(
"AddTruthLink",
False)
428 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)
TrigITkTrackParticleCnvAlgCfg(flags, name="ITkTrackParticleCnvAlg", ClusterSplitProbabilityName="", AssociationMapName="", bool isActsAmbi=False, **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)