46 stripSpacePointCollections: list[str] = None) -> ComponentAccumulator:
47 toAOD = []
48 aux_container_type = "xAOD::SpacePointAuxContainer"
49 if flags.Acts.EDM.SlimContent:
50 aux_container_type = "xAOD::AuxContainerBase!"
51
52 if pixelSpacePointCollections is not None:
53 pixel_spacepoint_shortlist = ['-measurements',
54 '-pixelSpacePointLink']
55 if flags.Acts.EDM.SlimContent:
56 pixel_spacepoint_shortlist = ['globalPosition']
57 pixel_spacepoint_variables = '.'.join(pixel_spacepoint_shortlist)
58 for pixelSpacePointCollection in pixelSpacePointCollections:
59 toAOD += [f'xAOD::SpacePointContainer#{pixelSpacePointCollection}',
60 f"{aux_container_type}#{pixelSpacePointCollection}Aux.{pixel_spacepoint_variables}"]
61
62 if stripSpacePointCollections is not None:
63 strip_spacepoint_shortlist = ['topHalfStripLength',
64 'bottomHalfStripLength',
65 'topStripDirection',
66 'bottomStripDirection',
67 'stripCenterDistance',
68 'topStripCenter',
69 'measurementLink']
70 if flags.Acts.EDM.SlimContent:
71 strip_spacepoint_shortlist = ['globalPosition']
72 strip_spacepoint_variables = '.'.join(strip_spacepoint_shortlist)
73 for stripSpacePointCollection in stripSpacePointCollections:
74 toAOD += [f'xAOD::SpacePointContainer#{stripSpacePointCollection}',
75 f"{aux_container_type}#{stripSpacePointCollection}Aux.{strip_spacepoint_variables}"]
76
77 acc = ComponentAccumulator()
78 if len(toAOD) == 0:
79 return acc
80
81 from OutputStreamAthenaPool.OutputStreamConfig import addToAOD
82 acc.merge(addToAOD(flags, toAOD))
83 return acc
84
85