23 name: str =
"ActsHgtdClusterizationAlg",
24 **kwargs) -> ComponentAccumulator:
25 acc = ComponentAccumulator()
27 if flags.HGTD.Geometry.useGeoModelXml:
28 from HGTD_GeoModelXml.HGTD_GeoModelConfig
import HGTD_ReadoutGeometryCfg
30 from HGTD_GeoModel.HGTD_GeoModelConfig
import HGTD_ReadoutGeometryCfg
31 acc.merge(HGTD_ReadoutGeometryCfg(flags))
33 kwargs.setdefault(
'RDOContainerName',
'HGTD_RDOs')
34 kwargs.setdefault(
'ClusterContainerName',
'HGTD_Clusters')
36 if 'ClusteringTool' not in kwargs:
37 from HGTD_Config.HGTD_ConfigFlags
import ClusteringStrategy
38 if flags.HGTD.Acts.ClusteringStrategy
is ClusteringStrategy.SinglePad:
43 if flags.Acts.doMonitoring
and 'MonTool' not in kwargs:
44 from ActsConfig.ActsMonitoringConfig
import ActsHgtdClusterizationMonitoringToolCfg
45 kwargs.setdefault(
'MonTool', acc.popToolsAndMerge(ActsHgtdClusterizationMonitoringToolCfg(flags)))
47 acc.addEventAlgo(CompFactory.ActsTrk.HgtdClusterizationAlg(name, **kwargs))
53 name: str =
"ActsPixelClusteringTool",
54 **kwargs) -> ComponentAccumulator:
55 acc = ComponentAccumulator()
57 if flags.Acts.Clusters.RetrieveChargeInformation:
58 from PixelConditionsAlgorithms.ITkPixelConditionsConfig
import ITkPixelChargeCalibCondAlgCfg, ITkPixelOfflineCalibCondAlgCfg
59 acc.merge(ITkPixelChargeCalibCondAlgCfg(flags))
60 acc.merge(ITkPixelOfflineCalibCondAlgCfg(flags))
61 kwargs.setdefault(
'PixelChargeCalibCondData',
'ITkPixelChargeCalibCondData')
63 if "PixelLorentzAngleTool" not in kwargs:
64 from SiLorentzAngleTool.ITkPixelLorentzAngleConfig
import ITkPixelLorentzAngleToolCfg
65 kwargs.setdefault(
"PixelLorentzAngleTool", acc.popToolsAndMerge( ITkPixelLorentzAngleToolCfg(flags) ))
67 kwargs.setdefault(
'UseWeightedPosition', flags.Acts.Clusters.UseWeightedPosition)
70 kwargs.setdefault(
'UseBroadErrors', flags.Acts.Clusters.UsePixelBroadErrors
or flags.Beam.Type
is BeamType.Cosmics)
72 acc.setPrivateTools(CompFactory.ActsTrk.PixelClusteringTool(name, **kwargs))
77 name: str =
"ActsStripClusteringTool",
78 **kwargs) -> ComponentAccumulator:
79 acc = ComponentAccumulator()
81 if 'LorentzAngleTool' not in kwargs:
82 from SiLorentzAngleTool.ITkStripLorentzAngleConfig
import ITkStripLorentzAngleToolCfg
83 kwargs.setdefault(
"LorentzAngleTool", acc.popToolsAndMerge(ITkStripLorentzAngleToolCfg(flags)))
85 kwargs.setdefault(
"conditionsTool",
None)
86 if "StripDetElStatus" not in kwargs :
87 from SCT_ConditionsAlgorithms.ITkStripConditionsAlgorithmsConfig
import (
88 ITkStripDetectorElementStatusAlgCfg)
89 acc.merge(ITkStripDetectorElementStatusAlgCfg(flags))
90 kwargs.setdefault(
"StripDetElStatus",
"ITkStripDetectorElementStatus")
93 kwargs.setdefault(
"maxFiredStrips", 0)
95 if flags.ITk.selectStripIntimeHits
and 'timeBins' not in kwargs:
96 coll_25ns = flags.Beam.BunchSpacing<=25
and flags.Beam.Type
is BeamType.Collisions
97 kwargs.setdefault(
"timeBins",
"01X" if coll_25ns
else "X1X")
101 kwargs.setdefault(
"errorStrategy",flags.Acts.Clusters.StripClusteringErrorMode.value)
103 acc.setPrivateTools(CompFactory.ActsTrk.StripClusteringTool(name, **kwargs))
107 name: str =
'ActsPixelClusterizationAlg',
109 useCache: bool =
False,
110 **kwargs) -> ComponentAccumulator:
111 acc = ComponentAccumulator()
113 kwargs.setdefault(
"IDHelper",
"PixelID")
114 kwargs.setdefault(
"RDOContainerKey",
"ITkPixelRDOs")
115 kwargs.setdefault(
"ClustersKey",
"ITkPixelClusters")
116 kwargs.setdefault(
"DetEleCollKey",
"ITkPixelDetectorElementCollection")
118 kwargs.setdefault(
'RoIs',
'ActsRegionOfInterest')
120 kwargs.setdefault(
'ClusterCacheBackend',
'ActsPixelClusterCache_Back')
121 kwargs.setdefault(
'ClusterCache',
'ActsPixelClustersCache')
123 if 'RegSelTool' not in kwargs:
124 from RegionSelector.RegSelToolConfig
import regSelTool_ITkPixel_Cfg
125 kwargs.setdefault(
'RegSelTool', acc.popToolsAndMerge(regSelTool_ITkPixel_Cfg(flags)))
127 if 'ClusteringTool' not in kwargs:
130 if 'DetElStatus' not in kwargs:
131 from PixelConditionsAlgorithms.ITkPixelConditionsConfig
import ITkPixelDetectorElementStatusAlgCfg
132 acc.merge(ITkPixelDetectorElementStatusAlgCfg(flags))
133 kwargs.setdefault(
'DetElStatus',
'ITkPixelDetectorElementStatus')
135 if flags.Acts.doMonitoring
and 'MonTool' not in kwargs:
136 from ActsConfig.ActsMonitoringConfig
import ActsITkPixelClusterizationMonitoringToolCfg
137 kwargs.setdefault(
'MonTool', acc.popToolsAndMerge(ActsITkPixelClusterizationMonitoringToolCfg(flags)))
140 acc.addEventAlgo(CompFactory.ActsTrk.PixelClusterizationAlg(name, **kwargs))
142 acc.addEventAlgo(CompFactory.ActsTrk.PixelCacheClusterizationAlg(name, **kwargs))
146 name: str =
'ActsStripClusterizationAlg',
147 useCache: bool =
False,
148 **kwargs) -> ComponentAccumulator:
149 acc = ComponentAccumulator()
151 kwargs.setdefault(
"RDOContainerKey",
"ITkStripRDOs")
152 kwargs.setdefault(
"ClustersKey",
"ITkStripClusters")
153 kwargs.setdefault(
"IDHelper",
"SCT_ID")
154 kwargs.setdefault(
"DetEleCollKey",
"ITkStripDetectorElementCollection")
156 kwargs.setdefault(
'RoIs',
'ActsRegionOfInterest')
158 kwargs.setdefault(
'ClusterCacheBackend',
'ActsStripClusterCache_Back')
159 kwargs.setdefault(
'ClusterCache',
'ActsStripClustersCache')
161 if 'RegSelTool' not in kwargs:
162 from RegionSelector.RegSelToolConfig
import regSelTool_ITkStrip_Cfg
163 kwargs.setdefault(
'RegSelTool', acc.popToolsAndMerge(regSelTool_ITkStrip_Cfg(flags)))
165 if 'DetElStatus' not in kwargs :
166 from SCT_ConditionsAlgorithms.ITkStripConditionsAlgorithmsConfig
import ITkStripDetectorElementStatusAlgCfg
167 acc.merge(ITkStripDetectorElementStatusAlgCfg(flags))
168 kwargs.setdefault(
"DetElStatus",
"ITkStripDetectorElementStatus")
170 if 'ClusteringTool' not in kwargs:
173 if flags.Acts.doMonitoring
and 'MonTool' not in kwargs:
174 from ActsConfig.ActsMonitoringConfig
import ActsITkStripClusterizationMonitoringToolCfg
175 kwargs.setdefault(
'MonTool', acc.popToolsAndMerge(ActsITkStripClusterizationMonitoringToolCfg(flags)))
178 acc.addEventAlgo(CompFactory.ActsTrk.StripClusterizationAlg(name, **kwargs))
180 acc.addEventAlgo(CompFactory.ActsTrk.StripCacheClusterizationAlg(name, **kwargs))
193 name: str =
"ActsPixelClusterPreparationAlg",
194 useCache: bool =
False,
195 **kwargs) -> ComponentAccumulator:
196 acc = ComponentAccumulator()
198 kwargs.setdefault(
'InputCollection',
'ITkPixelClusters')
199 kwargs.setdefault(
'DetectorElements',
'ITkPixelDetectorElementCollection')
201 if 'RegSelTool' not in kwargs:
202 from RegionSelector.RegSelToolConfig
import regSelTool_ITkPixel_Cfg
203 kwargs.setdefault(
'RegSelTool', acc.popToolsAndMerge(regSelTool_ITkPixel_Cfg(flags)))
205 if flags.Acts.doMonitoring
and 'MonTool' not in kwargs:
206 from ActsConfig.ActsMonitoringConfig
import ActsDataPreparationMonitoringToolCfg
207 kwargs.setdefault(
'MonTool', acc.popToolsAndMerge(ActsDataPreparationMonitoringToolCfg(flags,
208 name =
"ActsPixelClusterPreparationMonitoringTool")))
211 acc.addEventAlgo(CompFactory.ActsTrk.PixelClusterDataPreparationAlg(name, **kwargs))
213 acc.addEventAlgo(CompFactory.ActsTrk.PixelClusterCacheDataPreparationAlg(name, **kwargs))
217 name: str =
"ActsStripClusterPreparationAlg",
218 useCache: bool =
False,
219 **kwargs) -> ComponentAccumulator:
220 acc = ComponentAccumulator()
222 kwargs.setdefault(
'InputCollection',
'ITkStripClusters')
223 kwargs.setdefault(
'DetectorElements',
'ITkStripDetectorElementCollection')
225 if 'RegSelTool' not in kwargs:
226 from RegionSelector.RegSelToolConfig
import regSelTool_ITkStrip_Cfg
227 kwargs.setdefault(
'RegSelTool', acc.popToolsAndMerge(regSelTool_ITkStrip_Cfg(flags)))
229 if flags.Acts.doMonitoring
and 'MonTool' not in kwargs:
230 from ActsConfig.ActsMonitoringConfig
import ActsDataPreparationMonitoringToolCfg
231 kwargs.setdefault(
'MonTool', acc.popToolsAndMerge(ActsDataPreparationMonitoringToolCfg(flags,
232 name =
"ActsStripClusterPreparationMonitoringTool")))
235 acc.addEventAlgo(CompFactory.ActsTrk.StripClusterDataPreparationAlg(name, **kwargs))
237 acc.addEventAlgo(CompFactory.ActsTrk.StripClusterCacheDataPreparationAlg(name, **kwargs))
241 name: str =
'ActsHgtdClusterPreparationAlg',
243 useCache: bool =
False,
244 **kwargs) -> ComponentAccumulator:
245 acc = ComponentAccumulator()
246 kwargs.setdefault(
'InputCollection',
'HGTDClusters')
247 kwargs.setdefault(
'DetectorElements',
'HGTD_DetectorElementCollection')
251 if flags.Acts.doMonitoring
and 'MonTool' not in kwargs:
252 from ActsConfig.ActsMonitoringConfig
import ActsDataPreparationMonitoringToolCfg
253 kwargs.setdefault(
'MonTool', acc.popToolsAndMerge(ActsDataPreparationMonitoringToolCfg(flags,
254 name =
"ActsHgtdClusterPreparationMonitoringTool")))
256 acc.addEventAlgo(CompFactory.ActsTrk.HgtdClusterDataPreparationAlg(name, **kwargs))
262 RoIs: str =
"ActsRegionOfInterest",
263 **kwargs: dict) -> ComponentAccumulator:
264 assert isinstance(RoIs, str)
265 assert isinstance(kwargs, dict)
267 acc = ComponentAccumulator()
276 kwargs.setdefault(
'processPixels', flags.Detector.EnableITkPixel)
277 kwargs.setdefault(
'processStrips', flags.Detector.EnableITkStrip)
278 kwargs.setdefault(
'processHGTD', flags.Acts.useHGTDClusterInTrackFinding
and flags.Detector.EnableHGTD)
279 kwargs.setdefault(
'runCacheCreation', flags.Acts.useCache)
280 kwargs.setdefault(
'runReconstruction',
True)
281 kwargs.setdefault(
'runPreparation', flags.Acts.useCache)
284 if kwargs[
'runCacheCreation']:
286 **extractChildKwargs(prefix=
'ClusterCacheCreatorAlg.', **kwargs)))
289 if kwargs[
'runReconstruction']:
290 if kwargs[
'processPixels']:
293 **extractChildKwargs(prefix=
'PixelClusterizationAlg.', **kwargs)))
294 if kwargs[
'processStrips']:
297 **extractChildKwargs(prefix=
'StripClusterizationAlg.', **kwargs)))
298 if kwargs[
'processHGTD']:
300 **extractChildKwargs(prefix=
'HgtdClusterizationAlg.', **kwargs)))
302 if kwargs[
'runPreparation']:
303 if kwargs[
'processPixels']:
306 **extractChildKwargs(prefix=
'PixelClusterPreparationAlg.', **kwargs)))
308 if kwargs[
'processStrips']:
311 **extractChildKwargs(prefix=
'StripClusterPreparationAlg.', **kwargs)))
313 if kwargs[
'processHGTD']:
316 **extractChildKwargs(prefix=
'HgtdClusterPreparationAlg.', **kwargs)))
319 if flags.Acts.Clusters.doAnalysis:
320 if kwargs[
'processPixels']:
321 from ActsConfig.ActsAnalysisConfig
import ActsPixelClusterAnalysisAlgCfg
322 acc.merge(ActsPixelClusterAnalysisAlgCfg(flags, **extractChildKwargs(prefix=
'PixelClusterAnalysisAlg.', **kwargs)))
324 if kwargs[
'processStrips']:
325 from ActsConfig.ActsAnalysisConfig
import ActsStripClusterAnalysisAlgCfg
326 acc.merge(ActsStripClusterAnalysisAlgCfg(flags, **extractChildKwargs(prefix=
'StripClusterAnalysisAlg.', **kwargs)))
332 previousActsExtension: str =
None) -> ComponentAccumulator:
333 assert previousActsExtension
is None or isinstance(previousActsExtension, str)
335 acc = ComponentAccumulator()
337 processPixels = flags.Detector.EnableITkPixel
338 processStrips = flags.Detector.EnableITkStrip
339 processHGTD = flags.Acts.useHGTDClusterInTrackFinding
and flags.Detector.EnableHGTD
342 kwargs.setdefault(
'processPixels', processPixels)
343 kwargs.setdefault(
'processStrips', processStrips)
344 kwargs.setdefault(
'processHGTD', processHGTD)
362 from InDetConfig.ITkActsHelpers
import isPrimaryPass, isValidationPass
363 if isPrimaryPass(flags)
or isValidationPass(flags):
366 kwargs.setdefault(
'runCacheCreation', flags.Acts.useCache)
367 kwargs.setdefault(
'runReconstruction',
True)
368 kwargs.setdefault(
'runPreparation', flags.Acts.useCache)
371 kwargs.setdefault(
'runCacheCreation',
False)
372 kwargs.setdefault(
'runReconstruction', flags.Acts.useCache)
373 kwargs.setdefault(
'runPreparation',
True)
376 roisName = f
'{flags.Tracking.ActiveConfig.extension}RegionOfInterest'
378 if flags.Tracking.ActiveConfig.extension ==
'ActsLargeRadius':
379 from InDetConfig.ITkActsHelpers
import primaryPassExtension
380 roisName = f
'{primaryPassExtension(flags)}RegionOfInterest'
384 primaryPixelClustersName =
'ITkPixelClusters'
385 primaryStripClustersName =
'ITkStripClusters'
386 primaryHgtdClustersName =
'HGTD_Clusters'
387 pixelClustersName = primaryPixelClustersName
388 stripClustersName = primaryStripClustersName
389 hgtdClustersName = primaryHgtdClustersName
392 if flags.Tracking.ActiveConfig.isSecondaryPass:
393 keyPrefix = flags.Tracking.ActiveConfig.extension.replace(
"Acts",
"")
394 pixelClustersName = f
'ITk{keyPrefix}PixelClusters'
395 stripClustersName = f
'ITk{keyPrefix}StripClusters'
396 hgtdClustersName = f
'{keyPrefix}HGTD_Clusters'
399 if kwargs[
'runCacheCreation']:
400 kwargs.setdefault(
'ClusterCacheCreatorAlg.name', f
'{flags.Tracking.ActiveConfig.extension}ClusterCacheCreatorAlg')
403 if kwargs[
'runReconstruction']:
404 if kwargs[
'processPixels']:
405 kwargs.setdefault(
'PixelClusterizationAlg.name', f
'{flags.Tracking.ActiveConfig.extension}PixelClusterizationAlg')
406 kwargs.setdefault(
'PixelClusterizationAlg.useCache', flags.Acts.useCache)
407 kwargs.setdefault(
'PixelClusterizationAlg.ClustersKey', pixelClustersName)
408 kwargs.setdefault(
'PixelClusterizationAlg.ClusterCache', f
'{flags.Tracking.ActiveConfig.extension}PixelClustersCache')
409 if flags.Tracking.ActiveConfig.isSecondaryPass
and previousActsExtension
is not None:
410 kwargs.setdefault(
'PixelClusterizationAlg.ExtraInputs', {(
'ActsTrk::PrepRawDataAssociation', f
'StoreGateSvc+{previousActsExtension}PrdMap')})
412 if kwargs[
'processStrips']:
413 kwargs.setdefault(
'StripClusterizationAlg.name', f
'{flags.Tracking.ActiveConfig.extension}StripClusterizationAlg')
414 kwargs.setdefault(
'StripClusterizationAlg.useCache', flags.Acts.useCache)
415 kwargs.setdefault(
'StripClusterizationAlg.ClustersKey', stripClustersName)
416 kwargs.setdefault(
'StripClusterizationAlg.ClusterCache', f
'{flags.Tracking.ActiveConfig.extension}StripClustersCache')
417 if flags.Tracking.ActiveConfig.isSecondaryPass
and previousActsExtension
is not None:
418 kwargs.setdefault(
'StripClusterizationAlg.ExtraInputs', {(
'ActsTrk::PrepRawDataAssociation', f
'StoreGateSvc+{previousActsExtension}PrdMap')})
420 if kwargs[
'processHGTD']:
421 kwargs.setdefault(
'HgtdClusterizationAlg.name', f
'{flags.Tracking.ActiveConfig.extension}HgtdClusterizationAlg')
423 kwargs.setdefault(
'HgtdClusterizationAlg.ClusterContainerName', hgtdClustersName)
424 if flags.Tracking.ActiveConfig.isSecondaryPass
and previousActsExtension
is not None:
425 kwargs.setdefault(
'HgtdClusterizationAlg.ExtraInputs', {(
'ActsTrk::PrepRawDataAssociation', f
'StoreGateSvc+{previousActsExtension}PrdMap')})
429 if kwargs[
'runPreparation']:
430 if kwargs[
'processPixels']:
431 kwargs.setdefault(
'PixelClusterPreparationAlg.name', f
'{flags.Tracking.ActiveConfig.extension}PixelClusterPreparationAlg')
432 kwargs.setdefault(
'PixelClusterPreparationAlg.useCache', flags.Acts.useCache)
433 kwargs.setdefault(
'PixelClusterPreparationAlg.OutputCollection', f
'{pixelClustersName}_Cached' if kwargs[
'runReconstruction']
else pixelClustersName)
435 if not flags.Acts.useCache:
437 kwargs.setdefault(
'PixelClusterPreparationAlg.InputCollection', pixelClustersName
if kwargs[
'runReconstruction']
else primaryPixelClustersName)
438 kwargs.setdefault(
'PixelClusterPreparationAlg.InputIDC',
'')
440 kwargs.setdefault(
'PixelClusterPreparationAlg.InputCollection',
'')
441 kwargs.setdefault(
'PixelClusterPreparationAlg.InputIDC', f
'{flags.Tracking.ActiveConfig.extension}PixelClustersCache')
443 if flags.Tracking.ActiveConfig.isSecondaryPass
and previousActsExtension
is not None:
444 kwargs.setdefault(
'PixelClusterPreparationAlg.InputPrdMap', f
'{previousActsExtension}PrdMap')
446 if kwargs[
'processStrips']:
447 kwargs.setdefault(
'StripClusterPreparationAlg.name', f
'{flags.Tracking.ActiveConfig.extension}StripClusterPreparationAlg')
448 kwargs.setdefault(
'StripClusterPreparationAlg.useCache', flags.Acts.useCache)
449 kwargs.setdefault(
'StripClusterPreparationAlg.OutputCollection', f
'{stripClustersName}_Cached' if kwargs[
'runReconstruction']
else stripClustersName)
450 if not flags.Acts.useCache:
451 kwargs.setdefault(
'StripClusterPreparationAlg.InputCollection', stripClustersName
if kwargs[
'runReconstruction']
else primaryStripClustersName)
452 kwargs.setdefault(
'StripClusterPreparationAlg.InputIDC',
'')
454 kwargs.setdefault(
'StripClusterPreparationAlg.InputCollection',
'')
455 kwargs.setdefault(
'StripClusterPreparationAlg.InputIDC', f
'{flags.Tracking.ActiveConfig.extension}StripClustersCache')
457 if flags.Tracking.ActiveConfig.isSecondaryPass
and previousActsExtension
is not None:
458 kwargs.setdefault(
'StripClusterPreparationAlg.InputPrdMap', f
'{previousActsExtension}PrdMap')
460 if kwargs[
'processHGTD']:
461 kwargs.setdefault(
'HgtdClusterPreparationAlg.name', f
'{flags.Tracking.ActiveConfig.extension}HgtdClusterPreparationAlg')
462 kwargs.setdefault(
'HgtdClusterPreparationAlg.OutputCollection', f
'{hgtdClustersName}_Cached' if kwargs[
'runReconstruction']
else hgtdClustersName)
463 kwargs.setdefault(
'HgtdClusterPreparationAlg.InputCollection', hgtdClustersName
if kwargs[
'runReconstruction']
else primaryHgtdClustersName)
464 kwargs.setdefault(
'HgtdClusterPreparationAlg.InputIDC',
'')
465 if flags.Tracking.ActiveConfig.isSecondaryPass
and previousActsExtension
is not None:
466 kwargs.setdefault(
'HgtdClusterPreparationAlg.InputPrdMap', f
'{previousActsExtension}PrdMap')
469 if flags.Acts.Clusters.doAnalysis:
472 if kwargs[
'processPixels']:
473 kwargs.setdefault(
'PixelClusterAnalysisAlg.name', f
'{flags.Tracking.ActiveConfig.extension}PixelClusterAnalysisAlg')
474 kwargs.setdefault(
'PixelClusterAnalysisAlg.extension', flags.Tracking.ActiveConfig.extension)
475 kwargs.setdefault(
'PixelClusterAnalysisAlg.MonGroupName', f
'{flags.Tracking.ActiveConfig.extension}ClusterAnalysisAlg')
476 kwargs.setdefault(
'PixelClusterAnalysisAlg.ClusterContainerKey', kwargs[
'PixelClusterPreparationAlg.OutputCollection']
if kwargs[
'runPreparation']
else kwargs[
'PixelClusterizationAlg.ClustersKey'])
478 if kwargs[
'processStrips']:
479 kwargs.setdefault(
'StripClusterAnalysisAlg.name', f
'{flags.Tracking.ActiveConfig.extension}StripClusterAnalysisAlg')
480 kwargs.setdefault(
'StripClusterAnalysisAlg.extension', flags.Tracking.ActiveConfig.extension)
481 kwargs.setdefault(
'StripClusterAnalysisAlg.MonGroupName', f
'{flags.Tracking.ActiveConfig.extension}ClusterAnalysisAlg')
482 kwargs.setdefault(
'StripClusterAnalysisAlg.ClusterContainerKey', kwargs[
'StripClusterPreparationAlg.OutputCollection']
if kwargs[
'runPreparation']
else kwargs[
'StripClusterizationAlg.ClustersKey'])
484 if kwargs[
'processHGTD']:
485 kwargs.setdefault(
'HgtdClusterAnalysisAlg.name', f
'{flags.Tracking.ActiveConfig.extension}HgtdClusterAnalysisAlg')
486 kwargs.setdefault(
'HgtdClusterAnalysisAlg.extension', flags.Tracking.ActiveConfig.extension)
487 kwargs.setdefault(
'HgtdClusterAnalysisAlg.MonGroupName', f
'{flags.Tracking.ActiveConfig.extension}ClusterAnalysisAlg')
492 if flags.Acts.EDM.PersistifyClusters
and kwargs[
'runReconstruction']:
494 if kwargs[
'processPixels']:
495 pixel_cluster_shortlist = [
'-validationMeasurementLink']
496 pixel_cluster_variables =
'.'.join(pixel_cluster_shortlist)
498 pixelClusterCollection = kwargs[
'PixelClusterizationAlg.ClustersKey']
499 toAOD += [f
'xAOD::PixelClusterContainer#{pixelClusterCollection}',
500 f
'xAOD::PixelClusterAuxContainer#{pixelClusterCollection}Aux.{pixel_cluster_variables}']
502 if kwargs[
'processStrips']:
503 strip_cluster_shortlist = [
'-validationMeasurementLink']
504 strip_cluster_variables =
'.'.join(strip_cluster_shortlist)
506 stripClusterCollection = kwargs[
'StripClusterizationAlg.ClustersKey']
507 toAOD += [f
"xAOD::StripClusterContainer#{stripClusterCollection}",
508 f
"xAOD::StripClusterAuxContainer#{stripClusterCollection}Aux.{strip_cluster_variables}"]
510 if kwargs[
'processHGTD']:
511 hgtdClusterCollection = kwargs[
'HgtdClusterizationAlg.ClusterContainerName']
512 toAOD += [f
"xAOD::HGTDClusterContainer#{hgtdClusterCollection}",
513 f
"xAOD::HGTDClusterAuxContainer#{hgtdClusterCollection}Aux."]
515 from OutputStreamAthenaPool.OutputStreamConfig
import addToAOD
516 acc.merge(addToAOD(flags, toAOD))