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)
19 excludedAuxData += (
'.-trackParameterCovarianceMatrices'
20 '.-parameterX.-parameterY.-parameterZ'
21 '.-parameterPX.-parameterPY.-parameterPZ'
22 '.-parameterPosition')
25 excludedAuxData +=
'.-TTVA_AMVFVertices.-TTVA_AMVFWeights'
28 from DerivationFrameworkInDet.IDTIDE
import IDTIDE_AOD_EXCLUDED_AUXDATA
29 excludedAuxData +=
'.-'.join([
''] + IDTIDE_AOD_EXCLUDED_AUXDATA)
30 from DerivationFrameworkInDet.IDTRKVALID
import IDTRKVALID_AOD_EXCLUDED_AUXDATA
31 excludedAuxData +=
'.-'.join([
''] + IDTRKVALID_AOD_EXCLUDED_AUXDATA)
33 if not flags.Tracking.writeExtendedSi_PRDInfo:
34 excludedAuxData +=
'.-msosLink'
36 if not flags.Tracking.writeExtendedHGTDInfo:
37 excludedAuxData +=
'.-HGTD_cluster_merged.-HGTD_cluster_raw_time.-HGTD_cluster_shadowed.-HGTD_cluster_time.-HGTD_cluster_truth_class.-HGTD_extrap_x.-HGTD_extrap_y.-HGTD_primary_expected.-HGTD_summaryinfo.-HGTD_times_of_compatible_hits'
41 "InDet::SCT_ClusterContainer#ITkStripClusters",
42 "InDet::PixelClusterContainer#ITkPixelClusters",
43 "InDet::PixelGangedClusterAmbiguities#ITkPixelClusterAmbiguitiesMap",
45 if flags.Tracking.doPixelClusterSplitting:
47 "InDet::PixelGangedClusterAmbiguities#ITkSplitClusterAmbiguityMap"]
49 from InDetConfig.ITkTrackRecoConfig
import ITkClusterSplitProbabilityContainerName
50 toESD += [
"Trk::ClusterSplitProbabilityContainer#" +
51 ITkClusterSplitProbabilityContainerName(flags)]
54 if flags.Tracking.doTruth:
56 "TrackTruthCollection#CombinedITkTracksTrackTruthCollection",
57 "DetailedTrackTruthCollection#CombinedITkTracksDetailedTrackTruth"]
59 if flags.Tracking.doStoreTrackSeeds:
60 listOfExtensionsRequesting = [
61 e
for e
in extensions_list
62 if (e ==
'' or flags.Tracking[f
"ITk{e}Pass"].storeTrackSeeds) ]
64 for extension
in listOfExtensionsRequesting:
65 toESD += [
"TrackCollection#SiSPSeedSegments"+extension]
67 toESD += [
"TrackCollection#CombinedITkTracks"]
71 "xAOD::TrackParticleContainer#InDetTrackParticles",
72 f
"xAOD::TrackParticleAuxContainer#InDetTrackParticlesAux.{excludedAuxData}"
78 "xAOD::TrackParticleContainer#ActsInDetTrackParticles",
79 f
"xAOD::TrackParticleAuxContainer#ActsInDetTrackParticlesAux.{excludedAuxData}"]
81 if flags.Tracking.writeExtendedSi_PRDInfo:
87 "xAOD::TrackMeasurementValidationContainer#ITkPixelMeasurements",
88 "xAOD::TrackMeasurementValidationAuxContainer#ITkPixelMeasurementsAux.",
89 "xAOD::TrackMeasurementValidationContainer#ITkStripMeasurements",
90 "xAOD::TrackMeasurementValidationAuxContainer#ITkStripMeasurementsAux.",
91 "xAOD::TrackStateValidationContainer#ITkPixelMSOSs",
92 "xAOD::TrackStateValidationAuxContainer#ITkPixelMSOSsAux.",
93 "xAOD::TrackStateValidationContainer#ITkStripMSOSs",
94 "xAOD::TrackStateValidationAuxContainer#ITkStripMSOSsAux."
97 if flags.Detector.EnablePLR:
99 "xAOD::TrackMeasurementValidationContainer#PLRMeasurements",
100 "xAOD::TrackMeasurementValidationAuxContainer#PLRMeasurementsAux."
103 if flags.Tracking.doStoreSiSPSeededTracks:
105 "xAOD::TrackStateValidationContainer#SiSP_ITkPixel_MSOSs",
106 "xAOD::TrackStateValidationAuxContainer#SiSP_ITkPixel_MSOSsAux.",
107 "xAOD::TrackStateValidationContainer#SiSP_ITkStrip_MSOSs",
108 "xAOD::TrackStateValidationAuxContainer#SiSP_ITkStrip_MSOSsAux."
111 if (flags.Tracking.doLargeD0
and
112 flags.Tracking.storeSeparateLargeD0Container):
114 "xAOD::TrackParticleContainer#InDetLargeD0TrackParticles",
115 f
"xAOD::TrackParticleAuxContainer#InDetLargeD0TrackParticlesAux.{excludedAuxData}"
118 if flags.Tracking.doStoreSiSPSeededTracks:
120 listOfExtensionsRequesting = [
121 e
for e
in extensions_list
122 if (e ==
'' or flags.Tracking[f
"ITk{e}Pass"].storeSiSPSeededTracks) ]
124 for extension
in listOfExtensionsRequesting:
126 f
"xAOD::TrackParticleContainer#SiSPSeededTracks{extension}TrackParticles",
127 f
"xAOD::TrackParticleAuxContainer#SiSPSeededTracks{extension}TrackParticlesAux.{excludedAuxData}"]
129 if flags.Tracking.doStoreTrackSeeds:
131 listOfExtensionsRequesting = [
132 e
for e
in extensions_list
133 if (e ==
'' or flags.Tracking[f
"ITk{e}Pass"].storeTrackSeeds) ]
134 for extension
in listOfExtensionsRequesting:
136 f
"xAOD::TrackParticleContainer#SiSPSeedSegments{extension}PixelTrackParticles",
137 f
"xAOD::TrackParticleAuxContainer#SiSPSeedSegments{extension}PixelTrackParticlesAux.",
138 f
"xAOD::TrackParticleContainer#SiSPSeedSegments{extension}StripTrackParticles",
139 f
"xAOD::TrackParticleAuxContainer#SiSPSeedSegments{extension}StripTrackParticlesAux."
142 result = ComponentAccumulator()
143 result.merge(addToESD(flags, toAOD+toESD))
144 result.merge(addToAOD(flags, toAOD))