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[f
"{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[f
"{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[f
"{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):
248 if (flags.Tracking.writeExtendedSi_PRDInfo):
250 "xAOD::TrackMeasurementValidationContainer#PixelClusters",
251 "xAOD::TrackMeasurementValidationAuxContainer#PixelClustersAux.",
252 "xAOD::TrackMeasurementValidationContainer#SCT_Clusters",
253 "xAOD::TrackMeasurementValidationAuxContainer#SCT_ClustersAux."
255 if (flags.Tracking.writeExtendedTRT_PRDInfo):
257 "xAOD::TrackMeasurementValidationContainer#TRT_DriftCircles",
258 "xAOD::TrackMeasurementValidationAuxContainer#TRT_DriftCirclesAux."
261 listOfExtensionsRequesting = [
262 e
for e
in extensions_list
263 if (e ==
'' or flags.Tracking[f
"{e}Pass"].storeTrackSeeds) ]
264 for extension
in listOfExtensionsRequesting:
265 if (flags.Tracking.writeExtendedSi_PRDInfo):
267 f
"xAOD::TrackStateValidationContainer#{extension}PixelMSOSs",
268 f
"xAOD::TrackStateValidationAuxContainer#{extension}PixelMSOSsAux.",
269 f
"xAOD::TrackStateValidationContainer#{extension}SCT_MSOSs",
270 f
"xAOD::TrackStateValidationAuxContainer#{extension}SCT_MSOSsAux."
272 if (flags.Tracking.writeExtendedTRT_PRDInfo):
274 f
"xAOD::TrackStateValidationContainer#{extension}TRT_MSOSs",
275 f
"xAOD::TrackStateValidationAuxContainer#{extension}TRT_MSOSsAux."
277 if flags.Tracking.doStoreTrackSeeds:
278 if (flags.Tracking.writeExtendedSi_PRDInfo):
280 f
"xAOD::TrackStateValidationContainer#SiSPSeedSegments{extension}_PixelMSOSs",
281 f
"xAOD::TrackStateValidationAuxContainer#SiSPSeedSegments{extension}_PixelMSOSsAux.",
282 f
"xAOD::TrackStateValidationContainer#SiSPSeedSegments{extension}_SCT_MSOSs",
283 f
"xAOD::TrackStateValidationAuxContainer#SiSPSeedSegments{extension}_SCT_MSOSsAux."
288 if flags.Tracking.doStoreSiSPSeededTracks:
289 listOfExtensionsRequesting = [
290 e
for e
in extensions_list
291 if (e ==
'' or flags.Tracking[f
"{e}Pass"].storeSiSPSeededTracks) ]
292 for extension
in listOfExtensionsRequesting:
293 if (flags.Tracking.writeExtendedSi_PRDInfo):
295 f
"xAOD::TrackStateValidationContainer#SiSP{extension}_PixelMSOSs",
296 f
"xAOD::TrackStateValidationAuxContainer#SiSP{extension}_PixelMSOSsAux.",
297 f
"xAOD::TrackStateValidationContainer#SiSP{extension}_SCT_MSOSs",
298 f
"xAOD::TrackStateValidationAuxContainer#SiSP{extension}_SCT_MSOSsAux."
300 if (flags.Tracking.writeExtendedTRT_PRDInfo):
302 f
"xAOD::TrackStateValidationContainer#SiSP{extension}_TRT_MSOSs",
303 f
"xAOD::TrackStateValidationAuxContainer#SiSP{extension}_TRT_MSOSsAux."
307 listOfExtensionsRequesting = [
308 e
for e
in extensions_list
309 if (e ==
'' or flags.Tracking[f
"{e}Pass"].storeSeparateContainer) ]
310 for extension
in listOfExtensionsRequesting:
311 if (flags.Tracking.writeExtendedSi_PRDInfo):
313 f
"xAOD::TrackStateValidationContainer#{extension}PixelMSOSs",
314 f
"xAOD::TrackStateValidationAuxContainer#{extension}PixelMSOSsAux.",
315 f
"xAOD::TrackStateValidationContainer#{extension}SCT_MSOSs",
316 f
"xAOD::TrackStateValidationAuxContainer#{extension}SCT_MSOSsAux."
318 if (flags.Tracking.writeExtendedTRT_PRDInfo):
320 f
"xAOD::TrackStateValidationContainer#{extension}TRT_MSOSs",
321 f
"xAOD::TrackStateValidationAuxContainer#{extension}TRT_MSOSsAux."
324 if flags.Tracking.doTIDE_AmbiTrackMonitoring:
325 if (flags.Tracking.writeExtendedSi_PRDInfo):
327 "xAOD::TrackStateValidationContainer#ObservedTrack_PixelMSOSs",
328 "xAOD::TrackStateValidationAuxContainer#ObservedTrack_PixelMSOSsAux.",
329 "xAOD::TrackStateValidationContainer#ObservedTrack_SCT_MSOSs",
330 "xAOD::TrackStateValidationAuxContainer#ObservedTrack_SCT_MSOSsAux."
332 if (flags.Tracking.writeExtendedTRT_PRDInfo):
334 "xAOD::TrackStateValidationContainer#ObservedTrack_TRT_MSOSs",
335 "xAOD::TrackStateValidationAuxContainer#ObservedTrack_TRT_MSOSsAux."
338 if flags.Tracking.doPseudoTracking:
339 if (flags.Tracking.writeExtendedSi_PRDInfo):
341 "xAOD::TrackStateValidationContainer#Pseudo_PixelMSOSs",
342 "xAOD::TrackStateValidationAuxContainer#Pseudo_PixelMSOSsAux.",
343 "xAOD::TrackStateValidationContainer#Pseudo_SCT_MSOSs",
344 "xAOD::TrackStateValidationAuxContainer#Pseudo_SCT_MSOSsAux."
346 if (flags.Tracking.writeExtendedTRT_PRDInfo):
348 "xAOD::TrackStateValidationContainer#Pseudo_TRT_MSOSs",
349 "xAOD::TrackStateValidationAuxContainer#Pseudo_TRT_MSOSsAux."
352 if flags.Tracking.doV0Finder:
353 excludedVtxAuxData =
"-vxTrackAtVertex.-MvfFitInfo.-isInitialized.-VTAV"
354 V0Vertices = [
"V0UnconstrVertices",
"V0KshortVertices",
355 "V0LambdaVertices",
"V0LambdabarVertices"]
356 for v0
in V0Vertices:
358 f
"xAOD::VertexContainer#{v0}",
359 f
"xAOD::VertexAuxContainer#{v0}Aux.{excludedVtxAuxData}",
363 result.merge(
addToESD(flags, toESD + toAOD))
364 result.merge(
addToAOD(flags, toAOD))