ATLAS Offline Software
Loading...
Searching...
No Matches
ActsObjectDecorationConfig.py
Go to the documentation of this file.
1# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2
3from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
4from AthenaConfiguration.ComponentFactory import CompFactory
5
6
8 name: str = "ActsTrackStateOnSurfaceDecoratorAlg",
9 **kwargs) -> ComponentAccumulator:
10 acc = ComponentAccumulator()
11
12 kwargs.setdefault('TrackParticles', 'InDetTrackParticles')
13 kwargs.setdefault('PixelMSOSs', 'ITkPixelMSOSs')
14 kwargs.setdefault('StripMSOSs', 'ITkStripMSOSs')
15 kwargs.setdefault('ExtraInputs',[
16 ( 'xAOD::PixelClusterContainer' , 'StoreGateSvc+ITkPixelClusters.validationMeasurementLink' ),
17 ( 'xAOD::StripClusterContainer' , 'StoreGateSvc+ITkStripClusters.validationMeasurementLink' ),
18 ( 'xAOD::TrackMeasurementValidationContainer' , 'StoreGateSvc+ITkPixelMeasurements' ),
19 ( 'xAOD::TrackMeasurementValidationContainer' , 'StoreGateSvc+ITkStripMeasurements' )
20 ])
21
22 acc.addEventAlgo(CompFactory.ActsTrk.ActsTrackStateOnSurfaceDecoratorAlg(name, **kwargs))
23
24 toAOD = []
25 toAOD += [f'xAOD::TrackStateValidationContainer#{kwargs["PixelMSOSs"]}',
26 f'xAOD::TrackStateValidationAuxContainer#{kwargs["PixelMSOSs"]}Aux.',
27 f'xAOD::TrackStateValidationContainer#{kwargs["StripMSOSs"]}',
28 f'xAOD::TrackStateValidationAuxContainer#{kwargs["StripMSOSs"]}Aux.']
29
30 from OutputStreamAthenaPool.OutputStreamConfig import addToAOD
31 acc.merge(addToAOD(flags, toAOD))
32 return acc
33
34
36 name: str = "ActsMeasurementToTrackParticleDecorationAlg",
37 **kwargs) -> ComponentAccumulator:
38 acc = ComponentAccumulator()
39 kwargs.setdefault("TrackParticleKey", "InDetTrackParticles")
40
41 acc.addEventAlgo(CompFactory.ActsTrk.MeasurementToTrackParticleDecorationAlg(name, **kwargs))
42 return acc
43
44
46 name: str = "ActsPixelClusterTruthDecoratorAlg",
47 *,
48 TrackParticles: list[str] = None,
49 **kwargs) -> ComponentAccumulator:
50 acc = ComponentAccumulator()
51 kwargs.setdefault("ClusterContainer","ITkPixelClusters")
52 kwargs.setdefault("AssociationMapOut","ITkPixelClustersToTruthParticles")
53 kwargs.setdefault("MeasurementContainer","ITkPixelMeasurements")
54 kwargs.setdefault("UseTruthInfo", flags.Tracking.doTruth)
55
56 if flags.Tracking.PRDInfo.KeepOnlyOnTrackMeasurements:
57 if TrackParticles is None:
58 raise ValueError("Requesting persistification of on-track clusters, but no track particle collection has been provided!")
59
60 kwargs.setdefault("KeepOnlyOnTrackMeasurements", True)
61 kwargs.setdefault("TrackParticles", TrackParticles)
62
63 deps = []
64 for collection in TrackParticles:
65 deps += [( 'xAOD::TrackParticleContainer' , f'StoreGateSvc+{collection}.actsTrack' )]
66 kwargs.setdefault('ExtraInputs', deps)
67
68 if "LorentzAngleTool" not in kwargs:
69 from SiLorentzAngleTool.ITkPixelLorentzAngleConfig import ITkPixelLorentzAngleToolCfg
70 kwargs.setdefault("LorentzAngleTool", acc.popToolsAndMerge( ITkPixelLorentzAngleToolCfg(flags) ))
71
72 acc.addEventAlgo(CompFactory.ActsTrk.PixelClusterTruthDecoratorAlg(name,**kwargs))
73
74 # add SDO and SiHit info
75 if flags.Acts.decoratePRD.sdoSiHit:
77
78 # Persistification
79 if flags.Tracking.writeExtendedSi_PRDInfo:
80 toAOD = [
81 f'xAOD::TrackMeasurementValidationContainer#{kwargs["MeasurementContainer"]}',
82 f'xAOD::TrackMeasurementValidationAuxContainer#{kwargs["MeasurementContainer"]}Aux.'
83 ]
84 from OutputStreamAthenaPool.OutputStreamConfig import addToAOD
85 acc.merge(addToAOD(flags, toAOD))
86
87 return acc
88
89
91 name: str = "ActsPLRClusterMeasurementDecoratorAlg",
92 **kwargs) -> ComponentAccumulator:
93 acc = ComponentAccumulator()
94 kwargs.setdefault("ClusterContainer", "PLR_Clusters")
95 kwargs.setdefault("MeasurementContainer", "PLRMeasurements")
96 kwargs.setdefault("PixelDetEleCollKey", "PLR_DetectorElementCollection")
97 kwargs.setdefault("IDHelperName", "PLR_ID")
98 kwargs.setdefault("MeasurementSizeZ", "sizeR")
99 kwargs.setdefault("UseTruthInfo", False)
100 kwargs.setdefault("KeepOnlyOnTrackMeasurements", False)
101
102 if "LorentzAngleTool" not in kwargs:
103 from SiLorentzAngleTool.PLR_LorentzAngleConfig import PLR_LorentzAngleToolCfg
104 kwargs.setdefault("LorentzAngleTool",
105 acc.popToolsAndMerge(PLR_LorentzAngleToolCfg(flags)))
106
107 acc.addEventAlgo(CompFactory.ActsTrk.PixelClusterTruthDecoratorAlg(name, **kwargs))
108
109 if flags.Tracking.writeExtendedSi_PRDInfo:
110 toAOD = [
111 f'xAOD::TrackMeasurementValidationContainer#{kwargs["MeasurementContainer"]}',
112 f'xAOD::TrackMeasurementValidationAuxContainer#{kwargs["MeasurementContainer"]}Aux.'
113 ]
114 from OutputStreamAthenaPool.OutputStreamConfig import addToAOD
115 acc.merge(addToAOD(flags, toAOD))
116
117 return acc
118
119
121 name: str = "ActsStripClusterTruthDecoratorAlg",
122 *,
123 TrackParticles: list[str] = None,
124 **kwargs) -> ComponentAccumulator:
125 acc = ComponentAccumulator()
126 kwargs.setdefault("ClusterContainer","ITkStripClusters")
127 kwargs.setdefault("AssociationMapOut","ITkStripClustersToTruthParticles")
128 kwargs.setdefault("MeasurementContainer","ITkStripMeasurements")
129
130 if flags.Tracking.PRDInfo.KeepOnlyOnTrackMeasurements:
131 if TrackParticles is None:
132 raise ValueError("Requesting persistification of on-track clusters, but no track particle collection has been provided!")
133
134 kwargs.setdefault("KeepOnlyOnTrackMeasurements", True)
135 kwargs.setdefault("TrackParticles", TrackParticles)
136
137 deps = []
138 for collection in TrackParticles:
139 deps += [( 'xAOD::TrackParticleContainer' , f'StoreGateSvc+{collection}.actsTrack' )]
140 kwargs.setdefault('ExtraInputs', deps)
141
142 acc.addEventAlgo(CompFactory.ActsTrk.StripClusterTruthDecoratorAlg(name,**kwargs))
143
144 if flags.Acts.decoratePRD.sdoSiHit:
146
147 # Persistification
148 if flags.Tracking.writeExtendedSi_PRDInfo:
149 toAOD = [
150 f'xAOD::TrackMeasurementValidationContainer#{kwargs["MeasurementContainer"]}',
151 f'xAOD::TrackMeasurementValidationAuxContainer#{kwargs["MeasurementContainer"]}Aux.'
152 ]
153 from OutputStreamAthenaPool.OutputStreamConfig import addToAOD
154 acc.merge(addToAOD(flags, toAOD))
155
156 return acc
157
159 name: str = "ActsPixelClusterSiHitDecoratorAlg",
160 **kwargs) -> ComponentAccumulator:
161 acc = ComponentAccumulator()
162 kwargs.setdefault('Measurements', 'ITkPixelMeasurements')
163 kwargs.setdefault('SDOs', 'ITkPixelSDO_Map')
164 kwargs.setdefault('SiHits', 'ITkPixelHits')
165 acc.addEventAlgo(CompFactory.ActsTrk.PixelClusterSiHitDecoratorAlg(name, **kwargs))
166 return acc
167
169 name: str = "ActsStripClusterSiHitDecoratorAlg",
170 **kwargs) -> ComponentAccumulator:
171 acc = ComponentAccumulator()
172 kwargs.setdefault('Measurements', 'ITkStripMeasurements')
173 kwargs.setdefault('SDOs', 'ITkStripSDO_Map')
174 kwargs.setdefault('SiHits', 'ITkStripHits')
175 acc.addEventAlgo(CompFactory.ActsTrk.StripClusterSiHitDecoratorAlg(name, **kwargs))
176 return acc
177
178# ActsInDet... -- Run 3 Silicon Tracking specific decorators
180 name: str = "ActsInDetTrackStateOnSurfaceDecoratorAlg",
181 **kwargs) -> ComponentAccumulator:
182 acc = ComponentAccumulator()
183
184 kwargs.setdefault('TrackParticles', 'InDetTrackParticles')
185 kwargs.setdefault('PixelMSOSs', 'PixelMSOSs')
186 kwargs.setdefault('StripMSOSs', 'StripMSOSs')
187 kwargs.setdefault('ExtraInputs',[
188 ( 'xAOD::PixelClusterContainer' , 'StoreGateSvc+PixelClusters.validationMeasurementLink' ),
189 ( 'xAOD::StripClusterContainer' , 'StoreGateSvc+SCT_Clusters.validationMeasurementLink' ),
190 ( 'xAOD::TrackMeasurementValidationContainer' , 'StoreGateSvc+PixelMeasurements' ),
191 ( 'xAOD::TrackMeasurementValidationContainer' , 'StoreGateSvc+SCT_Measurements' )
192 ])
193 kwargs.setdefault('isITk', False)
194
195 acc.addEventAlgo(CompFactory.ActsTrk.ActsTrackStateOnSurfaceDecoratorAlg(name, **kwargs))
196
197 toAOD = []
198 toAOD += [f'xAOD::TrackStateValidationContainer#{kwargs["PixelMSOSs"]}',
199 f'xAOD::TrackStateValidationAuxContainer#{kwargs["PixelMSOSs"]}Aux.',
200 f'xAOD::TrackStateValidationContainer#{kwargs["StripMSOSs"]}',
201 f'xAOD::TrackStateValidationAuxContainer#{kwargs["StripMSOSs"]}Aux.']
202
203 from OutputStreamAthenaPool.OutputStreamConfig import addToAOD
204 acc.merge(addToAOD(flags, toAOD))
205 return acc
206
208 name: str = "ActsInDetPixelClusterTruthDecoratorAlg",
209 *,
210 TrackParticles: list[str] = None,
211 **kwargs) -> ComponentAccumulator:
212 acc = ComponentAccumulator()
213 kwargs.setdefault("ClusterContainer","PixelClusters")
214 kwargs.setdefault("AssociationMapOut","PixelClustersToTruthParticles")
215 kwargs.setdefault("MeasurementContainer","PixelMeasurements")
216 kwargs.setdefault("PixelDetEleCollKey", "PixelDetectorElementCollection")
217 kwargs.setdefault("UseTruthInfo", flags.Tracking.doTruth)
218
219 if flags.Tracking.PRDInfo.KeepOnlyOnTrackMeasurements:
220 if TrackParticles is None:
221 raise ValueError("Requesting persistification of on-track clusters, but no track particle collection has been provided!")
222
223 kwargs.setdefault("KeepOnlyOnTrackMeasurements", True)
224 kwargs.setdefault("TrackParticles", TrackParticles)
225
226 deps = []
227 for collection in TrackParticles:
228 deps += [( 'xAOD::TrackParticleContainer' , f'StoreGateSvc+{collection}.actsTrack' )]
229 kwargs.setdefault('ExtraInputs', deps)
230
231 if "LorentzAngleTool" not in kwargs:
232 from SiLorentzAngleTool.PixelLorentzAngleConfig import PixelLorentzAngleToolCfg
233 kwargs.setdefault("LorentzAngleTool", acc.popToolsAndMerge( PixelLorentzAngleToolCfg(flags) ))
234
235 acc.addEventAlgo(CompFactory.ActsTrk.PixelClusterTruthDecoratorAlg(name,**kwargs))
236
237 # add SDO and SiHit info
238 if flags.Acts.decoratePRD.sdoSiHit:
240
241 # Persistification
242 if flags.Tracking.writeExtendedSi_PRDInfo:
243 toAOD = [
244 f'xAOD::TrackMeasurementValidationContainer#{kwargs["MeasurementContainer"]}',
245 f'xAOD::TrackMeasurementValidationAuxContainer#{kwargs["MeasurementContainer"]}Aux.'
246 ]
247 from OutputStreamAthenaPool.OutputStreamConfig import addToAOD
248 acc.merge(addToAOD(flags, toAOD))
249
250 return acc
251
252
254 name: str = "ActsInDetStripClusterTruthDecoratorAlg",
255 *,
256 TrackParticles: list[str] = None,
257 **kwargs) -> ComponentAccumulator:
258 acc = ComponentAccumulator()
259 kwargs.setdefault("ClusterContainer","SCT_Clusters")
260 kwargs.setdefault("AssociationMapOut","SCT_ClustersToTruthParticles")
261 kwargs.setdefault("MeasurementContainer","SCT_Measurements")
262 kwargs.setdefault("StripDetectorElements", "SCT_DetectorElementCollection")
263
264 if flags.Tracking.PRDInfo.KeepOnlyOnTrackMeasurements:
265 if TrackParticles is None:
266 raise ValueError("Requesting persistification of on-track clusters, but no track particle collection has been provided!")
267
268 kwargs.setdefault("KeepOnlyOnTrackMeasurements", True)
269 kwargs.setdefault("TrackParticles", TrackParticles)
270
271 deps = []
272 for collection in TrackParticles:
273 deps += [( 'xAOD::TrackParticleContainer' , f'StoreGateSvc+{collection}.actsTrack' )]
274 kwargs.setdefault('ExtraInputs', deps)
275
276 acc.addEventAlgo(CompFactory.ActsTrk.StripClusterTruthDecoratorAlg(name,**kwargs))
277
278 if flags.Acts.decoratePRD.sdoSiHit:
280
281 # Persistification
282 if flags.Tracking.writeExtendedSi_PRDInfo:
283 toAOD = [
284 f'xAOD::TrackMeasurementValidationContainer#{kwargs["MeasurementContainer"]}',
285 f'xAOD::TrackMeasurementValidationAuxContainer#{kwargs["MeasurementContainer"]}Aux.'
286 ]
287 from OutputStreamAthenaPool.OutputStreamConfig import addToAOD
288 acc.merge(addToAOD(flags, toAOD))
289
290 return acc
291
293 name: str = "ActsInDetPixelClusterSiHitDecoratorAlg",
294 **kwargs) -> ComponentAccumulator:
295 acc = ComponentAccumulator()
296 kwargs.setdefault('Measurements', 'PixelMeasurements')
297 kwargs.setdefault('SDOs', 'PixelSDO_Map')
298 kwargs.setdefault('SiHits', 'PixelHits')
299 kwargs.setdefault('PixelDetEleCollKey', 'PixelDetectorElementCollection')
300 acc.addEventAlgo(CompFactory.ActsTrk.PixelClusterSiHitDecoratorAlg(name, **kwargs))
301 return acc
302
304 name: str = "ActsInDetStripClusterSiHitDecoratorAlg",
305 **kwargs) -> ComponentAccumulator:
306 acc = ComponentAccumulator()
307 kwargs.setdefault('Measurements', 'SCT_Measurements')
308 kwargs.setdefault('SDOs', 'SCT_SDO_Map')
309 kwargs.setdefault('SiHits', 'SCT_Hits')
310 kwargs.setdefault('StripDetEleCollKey', 'SCT_DetectorElementCollection')
311 acc.addEventAlgo(CompFactory.ActsTrk.StripClusterSiHitDecoratorAlg(name, **kwargs))
312 return acc
313
315 name: str = "ActsGNNScoreDecoratorAlg",
316 **kwargs) -> ComponentAccumulator:
317 acc = ComponentAccumulator()
318 acc.addEventAlgo(CompFactory.ActsTrk.GNNScoreDecoratorAlg(name, **kwargs))
319 return acc
ComponentAccumulator ActsStripClusterTruthDecoratorAlgCfg(flags, str name="ActsStripClusterTruthDecoratorAlg", *, list[str] TrackParticles=None, **kwargs)
ComponentAccumulator ActsPixelClusterSiHitDecoratorAlgCfg(flags, str name="ActsPixelClusterSiHitDecoratorAlg", **kwargs)
ComponentAccumulator ActsInDetTrackStateOnSurfaceDecoratorAlgCfg(flags, str name="ActsInDetTrackStateOnSurfaceDecoratorAlg", **kwargs)
ComponentAccumulator ActsGNNScoreDecoratorAlgCfg(flags, str name="ActsGNNScoreDecoratorAlg", **kwargs)
ComponentAccumulator ActsPLRClusterMeasurementDecoratorAlgCfg(flags, str name="ActsPLRClusterMeasurementDecoratorAlg", **kwargs)
ComponentAccumulator ActsPixelClusterTruthDecoratorAlgCfg(flags, str name="ActsPixelClusterTruthDecoratorAlg", *, list[str] TrackParticles=None, **kwargs)
ComponentAccumulator ActsInDetPixelClusterSiHitDecoratorAlgCfg(flags, str name="ActsInDetPixelClusterSiHitDecoratorAlg", **kwargs)
ComponentAccumulator ActsTrackStateOnSurfaceDecoratorAlgCfg(flags, str name="ActsTrackStateOnSurfaceDecoratorAlg", **kwargs)
ComponentAccumulator ActsStripClusterSiHitDecoratorAlgCfg(flags, str name="ActsStripClusterSiHitDecoratorAlg", **kwargs)
ComponentAccumulator ActsInDetStripClusterSiHitDecoratorAlgCfg(flags, str name="ActsInDetStripClusterSiHitDecoratorAlg", **kwargs)
ComponentAccumulator ActsMeasurementToTrackParticleDecorationAlgCfg(flags, str name="ActsMeasurementToTrackParticleDecorationAlg", **kwargs)
ComponentAccumulator ActsInDetStripClusterTruthDecoratorAlgCfg(flags, str name="ActsInDetStripClusterTruthDecoratorAlg", *, list[str] TrackParticles=None, **kwargs)
ComponentAccumulator ActsInDetPixelClusterTruthDecoratorAlgCfg(flags, str name="ActsInDetPixelClusterTruthDecoratorAlg", *, list[str] TrackParticles=None, **kwargs)