Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Functions
python.ITkTrackOutputConfig Namespace Reference

Functions

def ITkTrackRecoOutputCfg (flags, extensions_list=None)
 

Function Documentation

◆ ITkTrackRecoOutputCfg()

def python.ITkTrackOutputConfig.ITkTrackRecoOutputCfg (   flags,
  extensions_list = None 
)

Definition at line 6 of file ITkTrackOutputConfig.py.

6 def ITkTrackRecoOutputCfg(flags, extensions_list=None):
7  if extensions_list is None:
8  extensions_list = []
9 
10  from OutputStreamAthenaPool.OutputStreamConfig import addToESD, addToAOD
11  toAOD = []
12  toESD = []
13 
14  # excluded track aux data
15  excludedAuxData = ('-clusterAssociation.-TTVA_AMVFVertices_forReco.-AssoClustersUFO'
16  '.-TTVA_AMVFWeights_forReco')
17  # remove track decorations used internally by FTAG software
18  excludedAuxData += '.-'.join([''] + FTAG_AUXDATA)
19 
20  # exclude TTVA decorations
21  excludedAuxData += '.-TTVA_AMVFVertices.-TTVA_AMVFWeights'
22 
23  # exclude IDTIDE decorations
24  from DerivationFrameworkInDet.IDTIDE import IDTIDE_AOD_EXCLUDED_AUXDATA
25  excludedAuxData += '.-'.join([''] + IDTIDE_AOD_EXCLUDED_AUXDATA)
26  from DerivationFrameworkInDet.IDTRKVALID import IDTRKVALID_AOD_EXCLUDED_AUXDATA
27  excludedAuxData += '.-'.join([''] + IDTRKVALID_AOD_EXCLUDED_AUXDATA)
28 
29  if not flags.Tracking.writeExtendedSi_PRDInfo:
30  excludedAuxData += '.-msosLink'
31 
32  # Save PRD
33  toESD += [
34  "InDet::SCT_ClusterContainer#ITkStripClusters",
35  "InDet::PixelClusterContainer#ITkPixelClusters",
36  "InDet::PixelGangedClusterAmbiguities#ITkPixelClusterAmbiguitiesMap",
37  ]
38  if flags.Tracking.doPixelClusterSplitting:
39  toESD += [
40  "InDet::PixelGangedClusterAmbiguities#ITkSplitClusterAmbiguityMap"]
41 
42  from InDetConfig.ITkTrackRecoConfig import ITkClusterSplitProbabilityContainerName
43  toESD += ["Trk::ClusterSplitProbabilityContainer#" +
45 
46  # Save (Detailed) Track Truth
47  if flags.Tracking.doTruth:
48  toESD += [
49  "TrackTruthCollection#CombinedITkTracksTrackTruthCollection",
50  "DetailedTrackTruthCollection#CombinedITkTracksDetailedTrackTruth"]
51 
52  if flags.Tracking.doStoreTrackSeeds:
53  listOfExtensionsRequesting = [
54  e for e in extensions_list
55  if (e == '' or flags.Tracking[f"ITk{e}Pass"].storeTrackSeeds) ]
56 
57  for extension in listOfExtensionsRequesting:
58  toESD += ["TrackCollection#SiSPSeedSegments"+extension]
59 
60  toESD += ["TrackCollection#CombinedITkTracks"]
61 
62 
63  toAOD += [
64  "xAOD::TrackParticleContainer#InDetTrackParticles",
65  f"xAOD::TrackParticleAuxContainer#InDetTrackParticlesAux.{excludedAuxData}"
66  ]
67 
68  # This should be activated only if both Legacy and Acts-based tracking
69  # are executed at the same time during reconstruction
70  toAOD += [
71  "xAOD::TrackParticleContainer#ActsInDetTrackParticles",
72  f"xAOD::TrackParticleAuxContainer#ActsInDetTrackParticlesAux.{excludedAuxData}"]
73 
74  if flags.Tracking.writeExtendedSi_PRDInfo:
75  # Different convention wrt Run 3 for TrackMeasurementValidationContainer
76  # from ITkPixelClusters to ITkPixelMeasurements
77  # This is to avoid clashes with the xAOD::ClusterContainer names, which was not
78  # an issue for Run 3 since they were not xAOD back then
79  toAOD += [
80  "xAOD::TrackMeasurementValidationContainer#ITkPixelMeasurements",
81  "xAOD::TrackMeasurementValidationAuxContainer#ITkPixelMeasurementsAux.",
82  "xAOD::TrackMeasurementValidationContainer#ITkStripMeasurements",
83  "xAOD::TrackMeasurementValidationAuxContainer#ITkStripMeasurementsAux.",
84  "xAOD::TrackStateValidationContainer#ITkPixelMSOSs",
85  "xAOD::TrackStateValidationAuxContainer#ITkPixelMSOSsAux.",
86  "xAOD::TrackStateValidationContainer#ITkStripMSOSs",
87  "xAOD::TrackStateValidationAuxContainer#ITkStripMSOSsAux."
88  ]
89 
90  if flags.Tracking.doStoreSiSPSeededTracks:
91  toAOD += [
92  "xAOD::TrackStateValidationContainer#SiSP_ITkPixel_MSOSs",
93  "xAOD::TrackStateValidationAuxContainer#SiSP_ITkPixel_MSOSsAux.",
94  "xAOD::TrackStateValidationContainer#SiSP_ITkStrip_MSOSs",
95  "xAOD::TrackStateValidationAuxContainer#SiSP_ITkStrip_MSOSsAux."
96  ]
97 
98  if (flags.Tracking.doLargeD0 and
99  flags.Tracking.storeSeparateLargeD0Container):
100  toAOD += [
101  "xAOD::TrackParticleContainer#InDetLargeD0TrackParticles",
102  f"xAOD::TrackParticleAuxContainer#InDetLargeD0TrackParticlesAux.{excludedAuxData}"
103  ]
104 
105  if flags.Tracking.doStoreSiSPSeededTracks:
106  # get list of extensions requesting track candidates. Add always the Primary Pass.
107  listOfExtensionsRequesting = [
108  e for e in extensions_list
109  if (e == '' or flags.Tracking[f"ITk{e}Pass"].storeSiSPSeededTracks) ]
110 
111  for extension in listOfExtensionsRequesting:
112  toAOD += [
113  f"xAOD::TrackParticleContainer#SiSPSeededTracks{extension}TrackParticles",
114  f"xAOD::TrackParticleAuxContainer#SiSPSeededTracks{extension}TrackParticlesAux.{excludedAuxData}"]
115 
116  if flags.Tracking.doStoreTrackSeeds:
117  # get list of extensions requesting track seeds. Add always the Primary Pass.
118  listOfExtensionsRequesting = [
119  e for e in extensions_list
120  if (e == '' or flags.Tracking[f"ITk{e}Pass"].storeTrackSeeds) ]
121  for extension in listOfExtensionsRequesting:
122  toAOD += [
123  f"xAOD::TrackParticleContainer#SiSPSeedSegments{extension}PixelTrackParticles",
124  f"xAOD::TrackParticleAuxContainer#SiSPSeedSegments{extension}PixelTrackParticlesAux.",
125  f"xAOD::TrackParticleContainer#SiSPSeedSegments{extension}StripTrackParticles",
126  f"xAOD::TrackParticleAuxContainer#SiSPSeedSegments{extension}StripTrackParticlesAux."
127  ]
128 
129  result = ComponentAccumulator()
130  result.merge(addToESD(flags, toAOD+toESD))
131  result.merge(addToAOD(flags, toAOD))
132  return result
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
python.ITkTrackOutputConfig.ITkTrackRecoOutputCfg
def ITkTrackRecoOutputCfg(flags, extensions_list=None)
Definition: ITkTrackOutputConfig.py:6
python.ITkTrackRecoConfig.ITkClusterSplitProbabilityContainerName
def ITkClusterSplitProbabilityContainerName(flags)
Definition: ITkTrackRecoConfig.py:123
python.OutputStreamConfig.addToESD
def addToESD(flags, itemOrList, **kwargs)
Definition: OutputStreamConfig.py:134
TCS::join
std::string join(const std::vector< std::string > &v, const char c=',')
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/Root/StringUtils.cxx:10
python.OutputStreamConfig.addToAOD
def addToAOD(flags, itemOrList, **kwargs)
Definition: OutputStreamConfig.py:149