3 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
11 'JetFitter_TrackCompatibility_antikt4emtopo',
12 'JetFitter_TrackCompatibility_antikt4empflow',
13 'btagIp_d0Uncertainty',
14 'btagIp_z0SinThetaUncertainty',
17 'btagIp_trackMomentum',
18 'btagIp_trackDisplacement',
24 if extensions_list
is None:
27 from OutputStreamAthenaPool.OutputStreamConfig
import addToESD, addToAOD
32 excludedAuxData = (
'-clusterAssociation.-TTVA_AMVFVertices_forReco.-AssoClustersUFO'
33 '.-TTVA_AMVFWeights_forReco')
35 excludedAuxData +=
'.-'.
join([
''] + FTAG_AUXDATA)
36 excludedAuxData += (
'.-trackParameterCovarianceMatrices'
37 '.-parameterX.-parameterY.-parameterZ'
38 '.-parameterPX.-parameterPY.-parameterPZ'
39 '.-parameterPosition')
42 excludedAuxData +=
'.-TTVA_AMVFVertices.-TTVA_AMVFWeights'
45 from DerivationFrameworkInDet.IDTIDE
import IDTIDE_AOD_EXCLUDED_AUXDATA
46 excludedAuxData +=
'.-'.
join([
''] + IDTIDE_AOD_EXCLUDED_AUXDATA)
47 from DerivationFrameworkInDet.IDTRKVALID
import IDTRKVALID_AOD_EXCLUDED_AUXDATA
48 excludedAuxData +=
'.-'.
join([
''] + IDTRKVALID_AOD_EXCLUDED_AUXDATA)
50 if not (flags.Tracking.writeExtendedSi_PRDInfo
or
51 flags.Tracking.writeExtendedTRT_PRDInfo):
52 excludedAuxData +=
'.-msosLink'
58 "BCM_RDO_Container#BCM_RDOs",
59 "BCM_RDO_Container#BCM_CompactDOs",
63 if flags.InDet.doTRTPhase:
64 toESD += [
"ComTime#TRT_Phase"]
68 "InDet::SCT_ClusterContainer#SCT_Clusters",
69 "InDet::PixelClusterContainer#PixelClusters",
70 "InDet::TRT_DriftCircleContainer#TRT_DriftCircles",
71 "InDet::PixelGangedClusterAmbiguities#PixelClusterAmbiguitiesMap",
73 if flags.Tracking.doPixelClusterSplitting:
75 "InDet::PixelGangedClusterAmbiguities#SplitClusterAmbiguityMap"]
76 toESD += [
"IDCInDetBSErrContainer#SCT_FlaggedCondData"]
78 from InDetConfig.TrackRecoConfig
import ClusterSplitProbabilityContainerName
79 toESD += [
"Trk::ClusterSplitProbabilityContainer#" +
83 if flags.Tracking.doStoreTrackSeeds:
84 listOfExtensionsRequesting = [
85 e
for e
in extensions_list
86 if (e ==
'' or flags.Tracking.__getattr__(e+
'Pass').storeTrackSeeds) ]
87 for extension
in listOfExtensionsRequesting:
88 toESD += [
"TrackCollection#SiSPSeedSegments"+extension]
90 if flags.Tracking.doTrackSegmentsPixel:
91 toESD += [
"TrackCollection#ResolvedPixelTracks"]
92 if flags.Tracking.doTruth:
94 "TrackTruthCollection#ResolvedPixelTracksTruthCollection",
95 "DetailedTrackTruthCollection#ResolvedPixelTracksDetailedTruth"]
97 if flags.Tracking.doTrackSegmentsSCT:
98 toESD += [
"TrackCollection#ResolvedSCTTracks"]
99 if flags.Tracking.doTruth:
101 "TrackTruthCollection#ResolvedSCTTracksTruthCollection",
102 "DetailedTrackTruthCollection#ResolvedSCTTracksDetailedTruth"]
104 if flags.Tracking.doTrackSegmentsTRT:
105 toESD += [
"TrackCollection#StandaloneTRTTracks"]
106 if flags.Tracking.doTruth:
108 "TrackTruthCollection#StandaloneTRTTracksTruthCollection",
109 "DetailedTrackTruthCollection#StandaloneTRTTracksDetailedTruth"]
111 if flags.Tracking.doPseudoTracking:
112 toESD += [
"TrackCollection#InDetPseudoTracks"]
113 if flags.Tracking.doTruth:
115 "TrackTruthCollection#InDetPseudoTracksTruthCollection",
116 "DetailedTrackTruthCollection#InDetPseudoTracksDetailedTruth"]
118 if flags.Tracking.doTIDE_AmbiTrackMonitoring:
119 toESD += [
"TrackCollection#ObservedTracksCollection"]
122 if flags.Tracking.doForwardTracks:
123 toESD += [
"TrackCollection#ResolvedForwardTracks"]
124 if flags.Tracking.doTruth:
126 "TrackTruthCollection#ResolvedForwardTracksTruthCollection",
127 "DetailedTrackTruthCollection#ResolvedForwardTracksDetailedTruth"]
129 if flags.Tracking.doTrackSegmentsDisappearing:
130 toESD += [
"TrackCollection#DisappearingTracks"]
131 if flags.Tracking.doTruth:
133 "TrackTruthCollection#DisappearingTracksTruthCollection",
134 "DetailedTrackTruthCollection#DisappearingTracksDetailedTruth"]
136 if flags.Tracking.doLowPtRoI:
137 toESD += [
"xAOD::VertexContainer#RoIVerticesLowPtRoI",
138 "xAOD::VertexAuxContainer#RoIVerticesLowPtRoIAux."]
139 if flags.Tracking.LowPtRoIPass.storeSeparateContainer:
140 toESD += [
"TrackCollection#ExtendedLowPtRoITracks"]
141 if flags.Tracking.doTruth:
143 "TrackTruthCollection#ExtendedLowPtRoITracksTruthCollection",
144 "DetailedTrackTruthCollection#ExtendedLowPtRoITracksDetailedTruth"]
147 if flags.Tracking.doTruth:
149 "TrackTruthCollection#CombinedInDetTracksTruthCollection",
150 "DetailedTrackTruthCollection#CombinedInDetTracksDetailedTruth"]
154 "PRD_MultiTruthCollection#PRD_MultiTruthPixel",
155 "PRD_MultiTruthCollection#PRD_MultiTruthSCT",
156 "PRD_MultiTruthCollection#PRD_MultiTruthTRT",
159 if not flags.Input.isMC:
161 "InDetBSErrContainer#PixelByteStreamErrs",
162 "TRT_BSErrContainer#TRT_ByteStreamErrs",
163 "TRT_BSIdErrContainer#TRT_ByteStreamIdErrs",
164 "IDCInDetBSErrContainer#SCT_ByteStreamErrs",
167 toESD += [
"TrackCollection#CombinedInDetTracks"]
171 "xAOD::TrackParticleContainer#InDetTrackParticles",
172 f
"xAOD::TrackParticleAuxContainer#InDetTrackParticlesAux.{excludedAuxData}",
173 "xAOD::TrackParticleContainer#InDetForwardTrackParticles",
174 f
"xAOD::TrackParticleAuxContainer#InDetForwardTrackParticlesAux.{excludedAuxData}",
175 "xAOD::TrackParticleContainer#InDetLargeD0TrackParticles",
176 f
"xAOD::TrackParticleAuxContainer#InDetLargeD0TrackParticlesAux.{excludedAuxData}"
179 if flags.Tracking.doTrackSegmentsDisappearing:
181 "xAOD::TrackParticleContainer#InDetDisappearingTrackParticles",
182 f
"xAOD::TrackParticleAuxContainer#InDetDisappearingTrackParticlesAux.{excludedAuxData}"]
183 if flags.Tracking.doLowPtRoI:
184 toAOD += [
"xAOD::VertexContainer#RoIVerticesLowPtRoI",
185 "xAOD::VertexAuxContainer#RoIVerticesLowPtRoIAux."]
186 if flags.Tracking.LowPtRoIPass.storeSeparateContainer:
188 "xAOD::TrackParticleContainer#InDetLowPtRoITrackParticles",
189 f
"xAOD::TrackParticleAuxContainer#InDetLowPtRoITrackParticlesAux.{excludedAuxData}"]
191 if flags.Tracking.doTrackSegmentsPixel:
193 "xAOD::TrackParticleContainer#InDetPixelTrackParticles",
194 f
"xAOD::TrackParticleAuxContainer#InDetPixelTrackParticlesAux.{excludedAuxData}"]
195 if flags.Tracking.doTrackSegmentsSCT:
197 "xAOD::TrackParticleContainer#InDetSCTTrackParticles",
198 f
"xAOD::TrackParticleAuxContainer#InDetSCTTrackParticlesAux.{excludedAuxData}"]
199 if flags.Tracking.doTrackSegmentsTRT:
201 "xAOD::TrackParticleContainer#InDetTRTTrackParticles",
202 f
"xAOD::TrackParticleAuxContainer#InDetTRTTrackParticlesAux.{excludedAuxData}"]
204 if flags.Tracking.doPseudoTracking:
206 "xAOD::TrackParticleContainer#InDetPseudoTrackParticles",
207 f
"xAOD::TrackParticleAuxContainer#InDetPseudoTrackParticlesAux.{excludedAuxData}"]
208 if flags.Tracking.doTruth:
210 "TrackTruthCollection#InDetPseudoTrackTruthCollection",
211 "DetailedTrackTruthCollection#InDetPseudoTrackDetailedTruth"]
213 if flags.Tracking.doTIDE_AmbiTrackMonitoring:
215 "xAOD::TrackParticleContainer#InDetObservedTrackParticles",
216 f
"xAOD::TrackParticleAuxContainer#InDetObservedTrackParticlesAux.{excludedAuxData}"]
217 if flags.Tracking.doTruth:
219 "TrackTruthCollection#InDetObservedTrackTruthCollection",
220 "DetailedTrackTruthCollection#ObservedDetailedTracksTruth"]
222 if flags.Tracking.doStoreSiSPSeededTracks:
225 listOfExtensionsRequesting = [
226 e
for e
in extensions_list
228 flags.Tracking.__getattr__(e+
'Pass').storeSiSPSeededTracks) ]
229 for extension
in listOfExtensionsRequesting:
231 f
"xAOD::TrackParticleContainer#SiSPSeededTracks{extension}TrackParticles",
232 f
"xAOD::TrackParticleAuxContainer#SiSPSeededTracks{extension}TrackParticlesAux.{excludedAuxData}"
235 if flags.Tracking.doStoreTrackSeeds:
237 listOfExtensionsRequesting = [
238 e
for e
in extensions_list
239 if (e ==
'' or flags.Tracking.__getattr__(e+
'Pass').storeTrackSeeds) ]
240 for extension
in listOfExtensionsRequesting:
242 f
"xAOD::TrackParticleContainer#SiSPSeedSegments{extension}TrackParticles",
243 f
"xAOD::TrackParticleAuxContainer#SiSPSeedSegments{extension}TrackParticlesAux."
246 if (flags.Tracking.writeExtendedSi_PRDInfo
or
247 flags.Tracking.writeExtendedTRT_PRDInfo):
249 "xAOD::TrackMeasurementValidationContainer#PixelClusters",
250 "xAOD::TrackMeasurementValidationAuxContainer#PixelClustersAux.",
251 "xAOD::TrackMeasurementValidationContainer#SCT_Clusters",
252 "xAOD::TrackMeasurementValidationAuxContainer#SCT_ClustersAux.",
253 "xAOD::TrackMeasurementValidationContainer#TRT_DriftCircles",
254 "xAOD::TrackMeasurementValidationAuxContainer#TRT_DriftCirclesAux."
257 listOfExtensionsRequesting = [
258 e
for e
in extensions_list
259 if (e ==
'' or flags.Tracking.__getattr__(e+
'Pass').storeTrackSeeds) ]
260 for extension
in listOfExtensionsRequesting:
262 f
"xAOD::TrackStateValidationContainer#{extension}Pixel_MSOSs",
263 f
"xAOD::TrackStateValidationAuxContainer#{extension}Pixel_MSOSsAux.",
264 f
"xAOD::TrackStateValidationContainer#{extension}SCT_MSOSs",
265 f
"xAOD::TrackStateValidationAuxContainer#{extension}SCT_MSOSsAux.",
266 f
"xAOD::TrackStateValidationContainer#{extension}TRT_MSOSs",
267 f
"xAOD::TrackStateValidationAuxContainer#{extension}TRT_MSOSsAux."
270 if flags.Tracking.doTIDE_AmbiTrackMonitoring:
272 "xAOD::TrackStateValidationContainer#ObservedTrack_Pixel_MSOSs",
273 "xAOD::TrackStateValidationAuxContainer#ObservedTrack_Pixel_MSOSsAux.",
274 "xAOD::TrackStateValidationContainer#ObservedTrack_SCT_MSOSs",
275 "xAOD::TrackStateValidationAuxContainer#ObservedTrack_SCT_MSOSsAux.",
276 "xAOD::TrackStateValidationContainer#ObservedTrack_TRT_MSOSs",
277 "xAOD::TrackStateValidationAuxContainer#ObservedTrack_TRT_MSOSsAux."
279 if flags.Tracking.doPseudoTracking:
281 "xAOD::TrackStateValidationContainer#Pseudo_Pixel_MSOSs",
282 "xAOD::TrackStateValidationAuxContainer#Pseudo_Pixel_MSOSsAux.",
283 "xAOD::TrackStateValidationContainer#Pseudo_SCT_MSOSs",
284 "xAOD::TrackStateValidationAuxContainer#Pseudo_SCT_MSOSsAux.",
285 "xAOD::TrackStateValidationContainer#Pseudo_TRT_MSOSs",
286 "xAOD::TrackStateValidationAuxContainer#Pseudo_TRT_MSOSsAux."
288 if flags.Tracking.doStoreSiSPSeededTracks:
290 listOfExtensionsRequesting = [
291 e
for e
in extensions_list
292 if (e ==
'' or flags.Tracking.__getattr__(e+
'Pass').storeTrackSeeds) ]
293 for extension
in listOfExtensionsRequesting:
295 f
"xAOD::TrackStateValidationContainer#SiSP{extension}_Pixel_MSOSs",
296 f
"xAOD::TrackStateValidationAuxContainer#SiSP{extension}_Pixel_MSOSsAux.",
297 f
"xAOD::TrackStateValidationContainer#SiSP{extension}_SCT_MSOSs",
298 f
"xAOD::TrackStateValidationAuxContainer#SiSP{extension}_SCT_MSOSsAux.",
299 f
"xAOD::TrackStateValidationContainer#SiSP{extension}_TRT_MSOSs",
300 f
"xAOD::TrackStateValidationAuxContainer#SiSP{extension}_TRT_MSOSsAux."
303 if flags.Tracking.doV0Finder:
304 excludedVtxAuxData =
"-vxTrackAtVertex.-MvfFitInfo.-isInitialized.-VTAV"
305 V0Vertices = [
"V0UnconstrVertices",
"V0KshortVertices",
306 "V0LambdaVertices",
"V0LambdabarVertices"]
307 for v0
in V0Vertices:
309 f
"xAOD::VertexContainer#{v0}",
310 f
"xAOD::VertexAuxContainer#{v0}Aux.{excludedVtxAuxData}",
314 result.merge(
addToESD(flags, toESD + toAOD))
315 result.merge(
addToAOD(flags, toAOD))