ATLAS Offline Software
ITkPersistificationConfig.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2 
3 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
4 from InDetConfig.ITkActsHelpers import isPrimaryPass
5 
6 
7 def ITkTrackSeedsFinalCfg(flags) -> ComponentAccumulator:
9 
10  # Do not persistify anything if this is not a primary
11  # pass or if the appropriate flag has not been set to True
12  if not isPrimaryPass(flags) and not flags.Tracking.ActiveConfig.storeTrackSeeds:
13  return acc
14 
15  extension = flags.Tracking.ActiveConfig.extension
16  TrackContainer = f"SiSPSeedSegments{extension}"
17 
18  if flags.Tracking.doTruth:
19  from InDetConfig.ITkTrackTruthConfig import ITkTrackTruthCfg
20  acc.merge(ITkTrackTruthCfg(
21  flags,
22  Tracks=TrackContainer,
23  DetailedTruth=f"{TrackContainer}DetailedTruth",
24  TracksTruth=f"{TrackContainer}TruthCollection"))
25 
26  from xAODTrackingCnv.xAODTrackingCnvConfig import ITkTrackParticleCnvAlgCfg
27  acc.merge(ITkTrackParticleCnvAlgCfg(
28  flags,
29  name=f"{TrackContainer}CnvAlg",
30  TrackContainerName=TrackContainer,
31  xAODTrackParticlesFromTracksContainerName=(
32  f"{TrackContainer}TrackParticles")))
33 
34  return acc
35 
36 
37 def ITkSiSPSeededTracksFinalCfg(flags) -> ComponentAccumulator:
38  acc = ComponentAccumulator()
39 
40  # Do not persistify anything if this is not a primary
41  # pass or if the appropriate flag has not been set to True
42  if not isPrimaryPass(flags) and not flags.Tracking.ActiveConfig.storeSiSPSeededTracks:
43  return acc
44 
45  extension = flags.Tracking.ActiveConfig.extension
46  AssociationMapNameKey="PRDtoTrackMapMerge_CombinedITkTracks"
47  if 'Acts' in extension:
48  AssociationMapNameKey="PRDtoTrackMapMerge_CombinedITkTracks"
49  elif not isPrimaryPass(flags):
50  AssociationMapNameKey = f"ITkPRDtoTrackMap{extension}"
51 
52  # The following is to accomodate an hack we have in one of our ACTS ART tests
53  # it will be removed
54  if extension == "" and not isPrimaryPass(flags):
55  AssociationMapNameKey="PRDtoTrackMapMerge_CombinedITkTracks"
56 
57  from xAODTrackingCnv.xAODTrackingCnvConfig import ITkTrackParticleCnvAlgCfg
58  acc.merge(ITkTrackParticleCnvAlgCfg(
59  flags,
60  name = f"SiSPSeededTracks{extension}CnvAlg",
61  TrackContainerName = f"SiSPSeeded{extension}Tracks",
62  xAODTrackParticlesFromTracksContainerName=(
63  f"SiSPSeededTracks{extension}TrackParticles"),
64  AssociationMapName=
65  "" if flags.Tracking.doITkFastTracking else
66  AssociationMapNameKey)
67  )
68 
69  return acc
python.ITkActsHelpers.isPrimaryPass
bool isPrimaryPass(flags)
Definition: ITkActsHelpers.py:3
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
python.ITkTrackTruthConfig.ITkTrackTruthCfg
def ITkTrackTruthCfg(flags, Tracks="CombinedITkTracks", DetailedTruth="CombinedITkTracksDetailedTrackTruth", TracksTruth="CombinedITkTracksTrackTruthCollection")
Definition: ITkTrackTruthConfig.py:10
xAODTrackingCnvConfig.ITkTrackParticleCnvAlgCfg
def ITkTrackParticleCnvAlgCfg(flags, name="ITkTrackParticleCnvAlg", ClusterSplitProbabilityName="", AssociationMapName="", bool isActsAmbi=False, **kwargs)
Definition: xAODTrackingCnvConfig.py:287
python.ITkPersistificationConfig.ITkSiSPSeededTracksFinalCfg
ComponentAccumulator ITkSiSPSeededTracksFinalCfg(flags)
Definition: ITkPersistificationConfig.py:37
python.ITkPersistificationConfig.ITkTrackSeedsFinalCfg
ComponentAccumulator ITkTrackSeedsFinalCfg(flags)
Definition: ITkPersistificationConfig.py:7