1 """Define methods to construct configured Tracking conversion algorithms
3 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
5 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
6 from AthenaConfiguration.ComponentFactory
import CompFactory
15 if "TrackParticleCreator" not in kwargs:
16 from TrkConfig.TrkParticleCreatorConfig
import (
17 TrackParticleCreatorToolCfg)
18 TrackParticleCreator = result.popToolsAndMerge(
20 result.addPublicTool(TrackParticleCreator)
21 kwargs.setdefault(
"TrackParticleCreator", TrackParticleCreator)
23 result.setPrivateTools(
24 CompFactory.xAODMaker.RecTrackParticleContainerCnvTool(name, **kwargs))
30 if "TrackParticleCreator" not in kwargs:
31 from TrkConfig.TrkParticleCreatorConfig
import (
32 MuonCombinedParticleCreatorCfg)
33 TrackParticleCreator = result.popToolsAndMerge(
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")
53 if "TrackParticleCreator" not in kwargs:
54 from TrkConfig.TrkParticleCreatorConfig
import (
55 TrackParticleCreatorToolCfg)
56 TrackParticleCreator = result.popToolsAndMerge(
58 result.addPublicTool(TrackParticleCreator)
59 kwargs.setdefault(
"TrackParticleCreator", TrackParticleCreator)
61 result.setPrivateTools(
62 CompFactory.xAODMaker.TrackCollectionCnvTool(name, **kwargs))
66 isActsAmbi: bool =
False,
70 if "TrackParticleCreator" not in kwargs:
71 from TrkConfig.TrkParticleCreatorConfig
import ITkTrackParticleCreatorToolCfg
72 TrackParticleCreator = result.popToolsAndMerge(
74 result.addPublicTool(TrackParticleCreator)
75 kwargs.setdefault(
"TrackParticleCreator", TrackParticleCreator)
77 result.setPrivateTools(CompFactory.xAODMaker.TrackCollectionCnvTool(name, **kwargs))
83 if "TrackParticleCreator" not in kwargs:
84 from TrkConfig.TrkParticleCreatorConfig
import MuonCombinedParticleCreatorCfg
85 TrackParticleCreator = result.popToolsAndMerge(
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,
110 kwargs.setdefault(
"ConvertTracks",
True)
111 kwargs.setdefault(
"ConvertTrackParticles",
False)
112 kwargs.setdefault(
"TrackContainerName",
"CombinedInDetTracks")
113 kwargs.setdefault(
"xAODTrackParticlesFromTracksContainerName",
"InDetTrackParticles")
115 if "TrackParticleCreator" not in kwargs:
116 from TrkConfig.TrkParticleCreatorConfig
import TrackParticleCreatorToolCfg
117 kwargs.setdefault(
"TrackParticleCreator", result.popToolsAndMerge(
120 name = kwargs[
"xAODTrackParticlesFromTracksContainerName"] \
122 ClusterSplitProbabilityName = ClusterSplitProbabilityName,
123 AssociationMapName = AssociationMapName)))
125 if "TrackCollectionCnvTool" not in kwargs:
126 result.addPublicTool(kwargs[
"TrackParticleCreator"])
127 kwargs.setdefault(
"TrackCollectionCnvTool", result.popToolsAndMerge(
130 TrackParticleCreator = kwargs[
"TrackParticleCreator"])))
132 if flags.Tracking.doTruth:
133 kwargs.setdefault(
"TrackTruthContainerName",
134 kwargs[
"TrackContainerName"]+
"TruthCollection")
135 kwargs.setdefault(
"AddTruthLink",
True)
136 if "MCTruthClassifier" not in kwargs:
137 from MCTruthClassifier.MCTruthClassifierConfig
import MCTruthClassifierCfg
138 kwargs.setdefault(
"MCTruthClassifier", result.popToolsAndMerge(
141 kwargs.setdefault(
"AddTruthLink",
False)
143 if flags.Tracking.perigeeExpression ==
"Vertex":
144 kwargs.setdefault(
"PrimaryVerticesName",
"PrimaryVertices")
146 result.addEventAlgo(CompFactory.xAODMaker.TrackParticleCnvAlg(name, **kwargs))
151 ClusterSplitProbabilityName = "",
152 AssociationMapName = "",
155 if flags.Detector.GeometryITk:
156 name = name.replace(
"InDet",
"ITk")
158 ClusterSplitProbabilityName,
162 kwargs.setdefault(
"ConvertTracks",
True)
163 kwargs.setdefault(
"ConvertTrackParticles",
False)
164 kwargs.setdefault(
"TrackContainerName",
"CombinedInDetTracks")
165 kwargs.setdefault(
"xAODTrackParticlesFromTracksContainerName",
"InDetTrackParticles")
166 kwargs.setdefault(
"AddTruthLink",
False)
170 if "TrackParticleCreator" not in kwargs:
171 from TrkConfig.TrkParticleCreatorConfig
import InDetTrigParticleCreatorToolCfg, \
172 InDetTrigParticleCreatorToolTRTPidCfg
174 if flags.Tracking.ActiveConfig.electronPID:
175 partCreatorToolCfg = InDetTrigParticleCreatorToolTRTPidCfg
177 partCreatorToolCfg = InDetTrigParticleCreatorToolCfg
180 kwargs.setdefault(
"TrackParticleCreator", result.popToolsAndMerge(
183 name = kwargs[
"xAODTrackParticlesFromTracksContainerName"] +
"CreatorTool",
184 ClusterSplitProbabilityName = ClusterSplitProbabilityName,
185 AssociationMapName = AssociationMapName)
188 if "TrackCollectionCnvTool" not in kwargs:
189 result.addPublicTool(kwargs[
"TrackParticleCreator"])
190 kwargs.setdefault(
"TrackCollectionCnvTool", result.popToolsAndMerge(
193 TrackParticleCreator = kwargs[
"TrackParticleCreator"])))
196 if flags.Tracking.ActiveConfig.perigeeExpression ==
"Vertex":
197 kwargs.setdefault(
"PrimaryVerticesName",
"PrimaryVertices")
199 kwargs.setdefault(
"PrimaryVerticesName",
"")
202 ClusterSplitProbabilityName,
211 ClusterSplitProbabilityName = "",
212 AssociationMapName = "",
216 if "TrackParticleCreator" not in kwargs:
217 from TrkConfig.TrkParticleCreatorConfig
import TrackParticleCreatorToolCfg
218 kwargs.setdefault(
"TrackParticleCreator", result.popToolsAndMerge(
221 name=
"InDetxAODParticleCreatorToolBeamLine",
222 ClusterSplitProbabilityName = ClusterSplitProbabilityName,
223 AssociationMapName = AssociationMapName,
224 PerigeeExpression =
"BeamLine")))
226 if flags.Tracking.perigeeExpression ==
"Vertex":
227 kwargs.setdefault(
"PrimaryVerticesName",
"")
233 ClusterSplitProbabilityName = "",
234 AssociationMapName = "",
238 if "TrackParticleCreator" not in kwargs:
239 from TrkConfig.TrkParticleCreatorConfig
import TrackParticleCreatorToolPIDCheckCfg
240 kwargs.setdefault(
"TrackParticleCreator", result.popToolsAndMerge(
243 name = kwargs[
"xAODTrackParticlesFromTracksContainerName"] \
245 ClusterSplitProbabilityName = ClusterSplitProbabilityName,
246 AssociationMapName = AssociationMapName)))
252 ClusterSplitProbabilityName = "",
253 AssociationMapName = "",
257 if "TrackParticleCreator" not in kwargs:
258 from TrkConfig.TrkParticleCreatorConfig
import TrackParticleCreatorToolNoPIDCfg
259 kwargs.setdefault(
"TrackParticleCreator", result.popToolsAndMerge(
262 name = kwargs[
"xAODTrackParticlesFromTracksContainerName"] \
264 ClusterSplitProbabilityName = ClusterSplitProbabilityName,
265 AssociationMapName = AssociationMapName)))
268 ClusterSplitProbabilityName,
269 AssociationMapName, **kwargs))
273 ClusterSplitProbabilityName = "",
274 AssociationMapName = "",
276 kwargs.setdefault(
"TrackContainerName",
"ObservedTracksCollection")
277 kwargs.setdefault(
"xAODTrackParticlesFromTracksContainerName",
"InDetObservedTrackParticles")
278 kwargs.setdefault(
"AugmentObservedTracks",
True)
279 kwargs.setdefault(
"TracksMapName",
"ObservedTracksCollectionMap")
284 ClusterSplitProbabilityName = "",
285 AssociationMapName = "",
286 isActsAmbi: bool =
False,
290 kwargs.setdefault(
"ConvertTracks",
True)
291 kwargs.setdefault(
"ConvertTrackParticles",
False)
292 kwargs.setdefault(
"TrackContainerName",
"CombinedITkTracks")
293 kwargs.setdefault(
"xAODTrackParticlesFromTracksContainerName",
"InDetTrackParticles")
295 if "TrackParticleCreator" not in kwargs:
296 from TrkConfig.TrkParticleCreatorConfig
import ITkTrackParticleCreatorToolCfg
297 kwargs.setdefault(
"TrackParticleCreator", result.popToolsAndMerge(
300 name = kwargs[
"xAODTrackParticlesFromTracksContainerName"] \
302 ClusterSplitProbabilityName = ClusterSplitProbabilityName
if not isActsAmbi
else "",
303 AssociationMapName = AssociationMapName)))
305 if "TrackCollectionCnvTool" not in kwargs:
306 result.addPublicTool(kwargs[
"TrackParticleCreator"])
307 kwargs.setdefault(
"TrackCollectionCnvTool", result.popToolsAndMerge(
310 TrackParticleCreator = kwargs[
"TrackParticleCreator"],
311 isActsAmbi = isActsAmbi)))
313 if flags.Tracking.doTruth:
314 kwargs.setdefault(
"TrackTruthContainerName",
315 kwargs[
"TrackContainerName"]+
"TruthCollection")
316 kwargs.setdefault(
"AddTruthLink",
True)
317 if "MCTruthClassifier" not in kwargs:
318 from MCTruthClassifier.MCTruthClassifierConfig
import MCTruthClassifierCfg
319 kwargs.setdefault(
"MCTruthClassifier", result.popToolsAndMerge(
322 kwargs.setdefault(
"AddTruthLink",
False)
324 result.addEventAlgo(CompFactory.xAODMaker.TrackParticleCnvAlg(name, **kwargs))
328 from TrkConfig.TrkParticleCreatorConfig
import MuonParticleCreatorToolCfg
329 from BeamSpotConditions.BeamSpotConditionsConfig
import BeamSpotCondAlgCfg
335 result.addPublicTool(muonparticlecreatortool)
337 kwargs.setdefault(
"TrackParticleCreator", muonparticlecreatortool)
338 kwargs.setdefault(
"RecTrackParticleContainerCnvTool", result.popToolsAndMerge(
340 muontrackcollectioncnvtool = result.popToolsAndMerge(
342 kwargs.setdefault(
"TrackCollectionCnvTool", muontrackcollectioncnvtool)
344 kwargs.setdefault(
"TrackContainerName",
"MuonSpectrometerTracks")
345 kwargs.setdefault(
"xAODTrackParticlesFromTracksContainerName",
"MuonSpectrometerTrackParticles")
346 kwargs.setdefault(
"AODContainerName",
"")
347 kwargs.setdefault(
"AODTruthContainerName",
"")
348 kwargs.setdefault(
"xAODTruthLinkVector",
"")
349 kwargs.setdefault(
"ConvertTrackParticles",
False)
350 kwargs.setdefault(
"ConvertTracks",
True)
351 kwargs.setdefault(
"AddTruthLink",
False)
353 result.addEventAlgo(CompFactory.xAODMaker.TrackParticleCnvAlg(name, **kwargs))
358 from BeamSpotConditions.BeamSpotConditionsConfig
import BeamSpotCondAlgCfg
362 if "TrackParticleCreator" not in kwargs:
363 from TrkConfig.TrkParticleCreatorConfig
import MuonCombinedParticleCreatorCfg
366 if "TrackCollectionCnvTool" not in kwargs:
367 from xAODTrackingCnv.xAODTrackingCnvConfig
import MuonTrackCollectionCnvToolCfg
370 kwargs.setdefault(
"TrackContainerName",
"MuonSpectrometerTracks")
371 kwargs.setdefault(
"xAODTrackParticlesFromTracksContainerName",
"MuonSpectrometerTrackParticles")
372 kwargs.setdefault(
"ConvertTrackParticles",
False)
373 kwargs.setdefault(
"ConvertTracks",
True)
374 kwargs.setdefault(
"AddTruthLink",
False)
376 result.addEventAlgo(CompFactory.xAODMaker.TrackParticleCnvAlg(name, **kwargs))