3from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
4from AthenaConfiguration.ComponentFactory
import CompFactory
8 name: str =
"ActsTrackStateOnSurfaceDecoratorAlg",
9 **kwargs) -> ComponentAccumulator:
10 acc = ComponentAccumulator()
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' )
22 acc.addEventAlgo(CompFactory.ActsTrk.ActsTrackStateOnSurfaceDecoratorAlg(name, **kwargs))
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.']
30 from OutputStreamAthenaPool.OutputStreamConfig
import addToAOD
31 acc.merge(addToAOD(flags, toAOD))
36 name: str =
"ActsMeasurementToTrackParticleDecorationAlg",
37 **kwargs) -> ComponentAccumulator:
38 acc = ComponentAccumulator()
39 kwargs.setdefault(
"TrackParticleKey",
"InDetTrackParticles")
44 if 'TrackingGeometryTool' not in kwargs:
45 from ActsConfig.ActsGeometryConfig
import ActsTrackingGeometryToolCfg
47 "TrackingGeometryTool",
48 acc.getPrimaryAndMerge(ActsTrackingGeometryToolCfg(flags)),
51 acc.addEventAlgo(CompFactory.ActsTrk.MeasurementToTrackParticleDecorationAlg(name, **kwargs))
56 name: str =
"ActsPixelClusterTruthDecoratorAlg",
58 TrackParticles: list[str] =
None,
59 **kwargs) -> ComponentAccumulator:
60 acc = ComponentAccumulator()
61 kwargs.setdefault(
"ClusterContainer",
"ITkPixelClusters")
62 kwargs.setdefault(
"AssociationMapOut",
"ITkPixelClustersToTruthParticles")
63 kwargs.setdefault(
"MeasurementContainer",
"ITkPixelMeasurements")
64 kwargs.setdefault(
"UseTruthInfo", flags.Tracking.doTruth)
66 if flags.Tracking.PRDInfo.KeepOnlyOnTrackMeasurements:
67 if TrackParticles
is None:
68 raise ValueError(
"Requesting persistification of on-track clusters, but no track particle collection has been provided!")
70 kwargs.setdefault(
"KeepOnlyOnTrackMeasurements",
True)
71 kwargs.setdefault(
"TrackParticles", TrackParticles)
74 for collection
in TrackParticles:
75 deps += [(
'xAOD::TrackParticleContainer' , f
'StoreGateSvc+{collection}.actsTrack' )]
76 kwargs.setdefault(
'ExtraInputs', deps)
78 if "LorentzAngleTool" not in kwargs:
79 from SiLorentzAngleTool.ITkPixelLorentzAngleConfig
import ITkPixelLorentzAngleToolCfg
80 kwargs.setdefault(
"LorentzAngleTool", acc.popToolsAndMerge( ITkPixelLorentzAngleToolCfg(flags) ))
82 acc.addEventAlgo(CompFactory.ActsTrk.PixelClusterTruthDecoratorAlg(name,**kwargs))
85 if flags.Acts.decoratePRD.sdoSiHit:
89 if flags.Tracking.writeExtendedSi_PRDInfo:
91 f
'xAOD::TrackMeasurementValidationContainer#{kwargs["MeasurementContainer"]}',
92 f
'xAOD::TrackMeasurementValidationAuxContainer#{kwargs["MeasurementContainer"]}Aux.'
94 from OutputStreamAthenaPool.OutputStreamConfig
import addToAOD
95 acc.merge(addToAOD(flags, toAOD))
101 name: str =
"ActsStripClusterTruthDecoratorAlg",
103 TrackParticles: list[str] =
None,
104 **kwargs) -> ComponentAccumulator:
105 acc = ComponentAccumulator()
106 kwargs.setdefault(
"ClusterContainer",
"ITkStripClusters")
107 kwargs.setdefault(
"AssociationMapOut",
"ITkStripClustersToTruthParticles")
108 kwargs.setdefault(
"MeasurementContainer",
"ITkStripMeasurements")
110 if flags.Tracking.PRDInfo.KeepOnlyOnTrackMeasurements:
111 if TrackParticles
is None:
112 raise ValueError(
"Requesting persistification of on-track clusters, but no track particle collection has been provided!")
114 kwargs.setdefault(
"KeepOnlyOnTrackMeasurements",
True)
115 kwargs.setdefault(
"TrackParticles", TrackParticles)
118 for collection
in TrackParticles:
119 deps += [(
'xAOD::TrackParticleContainer' , f
'StoreGateSvc+{collection}.actsTrack' )]
120 kwargs.setdefault(
'ExtraInputs', deps)
122 acc.addEventAlgo(CompFactory.ActsTrk.StripClusterTruthDecoratorAlg(name,**kwargs))
124 if flags.Acts.decoratePRD.sdoSiHit:
128 if flags.Tracking.writeExtendedSi_PRDInfo:
130 f
'xAOD::TrackMeasurementValidationContainer#{kwargs["MeasurementContainer"]}',
131 f
'xAOD::TrackMeasurementValidationAuxContainer#{kwargs["MeasurementContainer"]}Aux.'
133 from OutputStreamAthenaPool.OutputStreamConfig
import addToAOD
134 acc.merge(addToAOD(flags, toAOD))
139 name: str =
"ActsPixelClusterSiHitDecoratorAlg",
140 **kwargs) -> ComponentAccumulator:
141 acc = ComponentAccumulator()
142 kwargs.setdefault(
'Measurements',
'ITkPixelMeasurements')
143 kwargs.setdefault(
'SDOs',
'ITkPixelSDO_Map')
144 kwargs.setdefault(
'SiHits',
'ITkPixelHits')
145 acc.addEventAlgo(CompFactory.ActsTrk.PixelClusterSiHitDecoratorAlg(name, **kwargs))
149 name: str =
"ActsStripClusterSiHitDecoratorAlg",
150 **kwargs) -> ComponentAccumulator:
151 acc = ComponentAccumulator()
152 kwargs.setdefault(
'Measurements',
'ITkStripMeasurements')
153 kwargs.setdefault(
'SDOs',
'ITkStripSDO_Map')
154 kwargs.setdefault(
'SiHits',
'ITkStripHits')
155 acc.addEventAlgo(CompFactory.ActsTrk.StripClusterSiHitDecoratorAlg(name, **kwargs))
160 name: str =
"ActsInDetTrackStateOnSurfaceDecoratorAlg",
161 **kwargs) -> ComponentAccumulator:
162 acc = ComponentAccumulator()
164 kwargs.setdefault(
'TrackParticles',
'InDetTrackParticles')
165 kwargs.setdefault(
'PixelMSOSs',
'PixelMSOSs')
166 kwargs.setdefault(
'StripMSOSs',
'StripMSOSs')
167 kwargs.setdefault(
'ExtraInputs',[
168 (
'xAOD::PixelClusterContainer' ,
'StoreGateSvc+PixelClusters.validationMeasurementLink' ),
169 (
'xAOD::StripClusterContainer' ,
'StoreGateSvc+SCT_Clusters.validationMeasurementLink' ),
170 (
'xAOD::TrackMeasurementValidationContainer' ,
'StoreGateSvc+PixelMeasurements' ),
171 (
'xAOD::TrackMeasurementValidationContainer' ,
'StoreGateSvc+SCT_Measurements' )
173 kwargs.setdefault(
'isITk',
False)
175 acc.addEventAlgo(CompFactory.ActsTrk.ActsTrackStateOnSurfaceDecoratorAlg(name, **kwargs))
178 toAOD += [f
'xAOD::TrackStateValidationContainer#{kwargs["PixelMSOSs"]}',
179 f
'xAOD::TrackStateValidationAuxContainer#{kwargs["PixelMSOSs"]}Aux.',
180 f
'xAOD::TrackStateValidationContainer#{kwargs["StripMSOSs"]}',
181 f
'xAOD::TrackStateValidationAuxContainer#{kwargs["StripMSOSs"]}Aux.']
183 from OutputStreamAthenaPool.OutputStreamConfig
import addToAOD
184 acc.merge(addToAOD(flags, toAOD))
188 name: str =
"ActsInDetPixelClusterTruthDecoratorAlg",
190 TrackParticles: list[str] =
None,
191 **kwargs) -> ComponentAccumulator:
192 acc = ComponentAccumulator()
193 kwargs.setdefault(
"ClusterContainer",
"PixelClusters")
194 kwargs.setdefault(
"AssociationMapOut",
"PixelClustersToTruthParticles")
195 kwargs.setdefault(
"MeasurementContainer",
"PixelMeasurements")
196 kwargs.setdefault(
"PixelDetEleCollKey",
"PixelDetectorElementCollection")
197 kwargs.setdefault(
"UseTruthInfo", flags.Tracking.doTruth)
199 if flags.Tracking.PRDInfo.KeepOnlyOnTrackMeasurements:
200 if TrackParticles
is None:
201 raise ValueError(
"Requesting persistification of on-track clusters, but no track particle collection has been provided!")
203 kwargs.setdefault(
"KeepOnlyOnTrackMeasurements",
True)
204 kwargs.setdefault(
"TrackParticles", TrackParticles)
207 for collection
in TrackParticles:
208 deps += [(
'xAOD::TrackParticleContainer' , f
'StoreGateSvc+{collection}.actsTrack' )]
209 kwargs.setdefault(
'ExtraInputs', deps)
211 if "LorentzAngleTool" not in kwargs:
212 from SiLorentzAngleTool.PixelLorentzAngleConfig
import PixelLorentzAngleToolCfg
213 kwargs.setdefault(
"LorentzAngleTool", acc.popToolsAndMerge( PixelLorentzAngleToolCfg(flags) ))
215 acc.addEventAlgo(CompFactory.ActsTrk.PixelClusterTruthDecoratorAlg(name,**kwargs))
218 if flags.Acts.decoratePRD.sdoSiHit:
222 if flags.Tracking.writeExtendedSi_PRDInfo:
224 f
'xAOD::TrackMeasurementValidationContainer#{kwargs["MeasurementContainer"]}',
225 f
'xAOD::TrackMeasurementValidationAuxContainer#{kwargs["MeasurementContainer"]}Aux.'
227 from OutputStreamAthenaPool.OutputStreamConfig
import addToAOD
228 acc.merge(addToAOD(flags, toAOD))
234 name: str =
"ActsInDetStripClusterTruthDecoratorAlg",
236 TrackParticles: list[str] =
None,
237 **kwargs) -> ComponentAccumulator:
238 acc = ComponentAccumulator()
239 kwargs.setdefault(
"ClusterContainer",
"SCT_Clusters")
240 kwargs.setdefault(
"AssociationMapOut",
"SCT_ClustersToTruthParticles")
241 kwargs.setdefault(
"MeasurementContainer",
"SCT_Measurements")
242 kwargs.setdefault(
"StripDetectorElements",
"SCT_DetectorElementCollection")
244 if flags.Tracking.PRDInfo.KeepOnlyOnTrackMeasurements:
245 if TrackParticles
is None:
246 raise ValueError(
"Requesting persistification of on-track clusters, but no track particle collection has been provided!")
248 kwargs.setdefault(
"KeepOnlyOnTrackMeasurements",
True)
249 kwargs.setdefault(
"TrackParticles", TrackParticles)
252 for collection
in TrackParticles:
253 deps += [(
'xAOD::TrackParticleContainer' , f
'StoreGateSvc+{collection}.actsTrack' )]
254 kwargs.setdefault(
'ExtraInputs', deps)
256 acc.addEventAlgo(CompFactory.ActsTrk.StripClusterTruthDecoratorAlg(name,**kwargs))
258 if flags.Acts.decoratePRD.sdoSiHit:
262 if flags.Tracking.writeExtendedSi_PRDInfo:
264 f
'xAOD::TrackMeasurementValidationContainer#{kwargs["MeasurementContainer"]}',
265 f
'xAOD::TrackMeasurementValidationAuxContainer#{kwargs["MeasurementContainer"]}Aux.'
267 from OutputStreamAthenaPool.OutputStreamConfig
import addToAOD
268 acc.merge(addToAOD(flags, toAOD))
273 name: str =
"ActsInDetPixelClusterSiHitDecoratorAlg",
274 **kwargs) -> ComponentAccumulator:
275 acc = ComponentAccumulator()
276 kwargs.setdefault(
'Measurements',
'PixelMeasurements')
277 kwargs.setdefault(
'SDOs',
'PixelSDO_Map')
278 kwargs.setdefault(
'SiHits',
'PixelHits')
279 kwargs.setdefault(
'PixelDetEleCollKey',
'PixelDetectorElementCollection')
280 acc.addEventAlgo(CompFactory.ActsTrk.PixelClusterSiHitDecoratorAlg(name, **kwargs))
284 name: str =
"ActsInDetStripClusterSiHitDecoratorAlg",
285 **kwargs) -> ComponentAccumulator:
286 acc = ComponentAccumulator()
287 kwargs.setdefault(
'Measurements',
'SCT_Measurements')
288 kwargs.setdefault(
'SDOs',
'SCT_SDO_Map')
289 kwargs.setdefault(
'SiHits',
'SCT_Hits')
290 kwargs.setdefault(
'StripDetEleCollKey',
'SCT_DetectorElementCollection')
291 acc.addEventAlgo(CompFactory.ActsTrk.StripClusterSiHitDecoratorAlg(name, **kwargs))
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 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)