7 if extensions_list
is None:
10 from OutputStreamAthenaPool.OutputStreamConfig
import addToESD, addToAOD
15 excludedAuxData = (
'-clusterAssociation.-TTVA_AMVFVertices_forReco.-AssoClustersUFO'
16 '.-TTVA_AMVFWeights_forReco')
18 excludedAuxData +=
'.-'.join([
''] + FTAG_AUXDATA)
21 excludedAuxData +=
'.-TTVA_AMVFVertices.-TTVA_AMVFWeights'
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)
29 if not flags.Tracking.writeExtendedSi_PRDInfo:
30 excludedAuxData +=
'.-msosLink'
34 "InDet::SCT_ClusterContainer#ITkStripClusters",
35 "InDet::PixelClusterContainer#ITkPixelClusters",
36 "InDet::PixelGangedClusterAmbiguities#ITkPixelClusterAmbiguitiesMap",
38 if flags.Tracking.doPixelClusterSplitting:
40 "InDet::PixelGangedClusterAmbiguities#ITkSplitClusterAmbiguityMap"]
42 from InDetConfig.ITkTrackRecoConfig
import ITkClusterSplitProbabilityContainerName
43 toESD += [
"Trk::ClusterSplitProbabilityContainer#" +
44 ITkClusterSplitProbabilityContainerName(flags)]
47 if flags.Tracking.doTruth:
49 "TrackTruthCollection#CombinedITkTracksTrackTruthCollection",
50 "DetailedTrackTruthCollection#CombinedITkTracksDetailedTrackTruth"]
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) ]
57 for extension
in listOfExtensionsRequesting:
58 toESD += [
"TrackCollection#SiSPSeedSegments"+extension]
60 toESD += [
"TrackCollection#CombinedITkTracks"]
64 "xAOD::TrackParticleContainer#InDetTrackParticles",
65 f
"xAOD::TrackParticleAuxContainer#InDetTrackParticlesAux.{excludedAuxData}"
71 "xAOD::TrackParticleContainer#ActsInDetTrackParticles",
72 f
"xAOD::TrackParticleAuxContainer#ActsInDetTrackParticlesAux.{excludedAuxData}"]
74 if flags.Tracking.writeExtendedSi_PRDInfo:
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."
90 if flags.Detector.EnablePLR:
92 "xAOD::TrackMeasurementValidationContainer#PLRMeasurements",
93 "xAOD::TrackMeasurementValidationAuxContainer#PLRMeasurementsAux."
96 if flags.Tracking.doStoreSiSPSeededTracks:
98 "xAOD::TrackStateValidationContainer#SiSP_ITkPixel_MSOSs",
99 "xAOD::TrackStateValidationAuxContainer#SiSP_ITkPixel_MSOSsAux.",
100 "xAOD::TrackStateValidationContainer#SiSP_ITkStrip_MSOSs",
101 "xAOD::TrackStateValidationAuxContainer#SiSP_ITkStrip_MSOSsAux."
104 if (flags.Tracking.doLargeD0
and
105 flags.Tracking.storeSeparateLargeD0Container):
107 "xAOD::TrackParticleContainer#InDetLargeD0TrackParticles",
108 f
"xAOD::TrackParticleAuxContainer#InDetLargeD0TrackParticlesAux.{excludedAuxData}"
111 if flags.Tracking.doStoreSiSPSeededTracks:
113 listOfExtensionsRequesting = [
114 e
for e
in extensions_list
115 if (e ==
'' or flags.Tracking[f
"ITk{e}Pass"].storeSiSPSeededTracks) ]
117 for extension
in listOfExtensionsRequesting:
119 f
"xAOD::TrackParticleContainer#SiSPSeededTracks{extension}TrackParticles",
120 f
"xAOD::TrackParticleAuxContainer#SiSPSeededTracks{extension}TrackParticlesAux.{excludedAuxData}"]
122 if flags.Tracking.doStoreTrackSeeds:
124 listOfExtensionsRequesting = [
125 e
for e
in extensions_list
126 if (e ==
'' or flags.Tracking[f
"ITk{e}Pass"].storeTrackSeeds) ]
127 for extension
in listOfExtensionsRequesting:
129 f
"xAOD::TrackParticleContainer#SiSPSeedSegments{extension}PixelTrackParticles",
130 f
"xAOD::TrackParticleAuxContainer#SiSPSeedSegments{extension}PixelTrackParticlesAux.",
131 f
"xAOD::TrackParticleContainer#SiSPSeedSegments{extension}StripTrackParticles",
132 f
"xAOD::TrackParticleAuxContainer#SiSPSeedSegments{extension}StripTrackParticlesAux."
135 result = ComponentAccumulator()
136 result.merge(addToESD(flags, toAOD+toESD))
137 result.merge(addToAOD(flags, toAOD))