35 name: str =
"ActsHgtdClusterizationAlg",
36 **kwargs) -> ComponentAccumulator:
37 acc = ComponentAccumulator()
39 if flags.HGTD.Geometry.useGeoModelXml:
40 from HGTD_GeoModelXml.HGTD_GeoModelConfig
import HGTD_ReadoutGeometryCfg
42 from HGTD_GeoModel.HGTD_GeoModelConfig
import HGTD_ReadoutGeometryCfg
43 acc.merge(HGTD_ReadoutGeometryCfg(flags))
45 kwargs.setdefault(
'RDOContainerName',
'HGTD_RDOs')
46 kwargs.setdefault(
'AltirocRDOContainerName',
'HGTD_ALTIROC_RDOs')
47 kwargs.setdefault(
'ClusterContainerName',
'HGTD_Clusters')
49 if 'ClusteringTool' not in kwargs:
50 from HGTD_Config.HGTD_ConfigFlags
import ClusteringStrategy
51 if flags.HGTD.Acts.ClusteringStrategy
is ClusteringStrategy.SinglePad:
56 if flags.Acts.doMonitoring
and 'MonTool' not in kwargs:
57 from ActsConfig.ActsMonitoringConfig
import ActsHgtdClusterizationMonitoringToolCfg
58 kwargs.setdefault(
'MonTool', acc.popToolsAndMerge(ActsHgtdClusterizationMonitoringToolCfg(flags)))
60 if flags.HGTD.useALTIROC_RDO:
61 kwargs.setdefault(
"useALTIROC_RDO",
True)
63 kwargs.setdefault(
"useALTIROC_RDO",
False)
65 acc.addEventAlgo(CompFactory.ActsTrk.HgtdClusterizationAlg(name, **kwargs))
71 name: str =
"ActsPixelClusteringTool",
72 **kwargs) -> ComponentAccumulator:
73 acc = ComponentAccumulator()
75 if flags.Acts.Clusters.RetrieveChargeInformation:
76 from PixelConditionsAlgorithms.ITkPixelConditionsConfig
import ITkPixelChargeCalibCondAlgCfg, ITkPixelOfflineCalibCondAlgCfg
77 acc.merge(ITkPixelChargeCalibCondAlgCfg(flags))
78 acc.merge(ITkPixelOfflineCalibCondAlgCfg(flags))
79 kwargs.setdefault(
'PixelChargeCalibCondData',
'ITkPixelChargeCalibCondData')
81 if "PixelLorentzAngleTool" not in kwargs:
82 from SiLorentzAngleTool.ITkPixelLorentzAngleConfig
import ITkPixelLorentzAngleToolCfg
83 kwargs.setdefault(
"PixelLorentzAngleTool", acc.popToolsAndMerge( ITkPixelLorentzAngleToolCfg(flags) ))
85 kwargs.setdefault(
'UseWeightedPosition', flags.Acts.Clusters.UseWeightedPosition)
88 kwargs.setdefault(
'UseBroadErrors', flags.Acts.Clusters.UsePixelBroadErrors
or flags.Beam.Type
is BeamType.Cosmics)
90 acc.setPrivateTools(CompFactory.ActsTrk.PixelClusteringTool(name, **kwargs))
95 name: str =
"ActsStripClusteringTool",
96 **kwargs) -> ComponentAccumulator:
97 acc = ComponentAccumulator()
99 if 'LorentzAngleTool' not in kwargs:
100 from SiLorentzAngleTool.ITkStripLorentzAngleConfig
import ITkStripLorentzAngleToolCfg
101 kwargs.setdefault(
"LorentzAngleTool", acc.popToolsAndMerge(ITkStripLorentzAngleToolCfg(flags)))
103 kwargs.setdefault(
"conditionsTool",
None)
104 if "StripDetElStatus" not in kwargs :
105 from SCT_ConditionsAlgorithms.ITkStripConditionsAlgorithmsConfig
import (
106 ITkStripDetectorElementStatusAlgCfg)
107 acc.merge(ITkStripDetectorElementStatusAlgCfg(flags))
108 kwargs.setdefault(
"StripDetElStatus",
"ITkStripDetectorElementStatus")
111 kwargs.setdefault(
"maxFiredStrips", 0)
113 if flags.ITk.selectStripIntimeHits
and 'timeBins' not in kwargs:
114 coll_25ns = flags.Beam.BunchSpacing<=25
and flags.Beam.Type
is BeamType.Collisions
115 kwargs.setdefault(
"timeBins",
"01X" if coll_25ns
else "X1X")
119 kwargs.setdefault(
"errorStrategy",flags.Acts.Clusters.StripClusteringErrorMode.value)
121 acc.setPrivateTools(CompFactory.ActsTrk.StripClusteringTool(name, **kwargs))
125 name: str =
'ActsPixelClusterizationAlg',
127 useCache: bool =
False,
128 **kwargs) -> ComponentAccumulator:
129 acc = ComponentAccumulator()
131 kwargs.setdefault(
"IDHelper",
"PixelID")
132 kwargs.setdefault(
"RDOContainerKey",
"ITkPixelRDOs")
133 kwargs.setdefault(
"ClustersKey",
"ITkPixelClusters")
134 kwargs.setdefault(
"DetEleCollKey",
"ITkPixelDetectorElementCollection")
136 kwargs.setdefault(
'RoIs',
'ActsRegionOfInterest')
138 kwargs.setdefault(
'ClusterCacheBackend',
'ActsPixelClusterCache_Back')
139 kwargs.setdefault(
'ClusterCache',
'ActsPixelClustersCache')
141 if 'RegSelTool' not in kwargs:
142 from RegionSelector.RegSelToolConfig
import regSelTool_ITkPixel_Cfg
143 kwargs.setdefault(
'RegSelTool', acc.popToolsAndMerge(regSelTool_ITkPixel_Cfg(flags)))
145 if 'ClusteringTool' not in kwargs:
148 if 'DetElStatus' not in kwargs:
149 from PixelConditionsAlgorithms.ITkPixelConditionsConfig
import ITkPixelDetectorElementStatusAlgCfg
150 acc.merge(ITkPixelDetectorElementStatusAlgCfg(flags))
151 kwargs.setdefault(
'DetElStatus',
'ITkPixelDetectorElementStatus')
153 if flags.Acts.doMonitoring
and 'MonTool' not in kwargs:
154 from ActsConfig.ActsMonitoringConfig
import ActsITkPixelClusterizationMonitoringToolCfg
155 kwargs.setdefault(
'MonTool', acc.popToolsAndMerge(ActsITkPixelClusterizationMonitoringToolCfg(flags)))
158 acc.addEventAlgo(CompFactory.ActsTrk.PixelClusterizationAlg(name, **kwargs))
160 acc.addEventAlgo(CompFactory.ActsTrk.PixelCacheClusterizationAlg(name, **kwargs))
164 name: str =
'ActsStripClusterizationAlg',
165 useCache: bool =
False,
166 **kwargs) -> ComponentAccumulator:
167 acc = ComponentAccumulator()
169 kwargs.setdefault(
"RDOContainerKey",
"ITkStripRDOs")
170 kwargs.setdefault(
"ClustersKey",
"ITkStripClusters")
171 kwargs.setdefault(
"IDHelper",
"SCT_ID")
172 kwargs.setdefault(
"DetEleCollKey",
"ITkStripDetectorElementCollection")
174 kwargs.setdefault(
'RoIs',
'ActsRegionOfInterest')
176 kwargs.setdefault(
'ClusterCacheBackend',
'ActsStripClusterCache_Back')
177 kwargs.setdefault(
'ClusterCache',
'ActsStripClustersCache')
179 if 'RegSelTool' not in kwargs:
180 from RegionSelector.RegSelToolConfig
import regSelTool_ITkStrip_Cfg
181 kwargs.setdefault(
'RegSelTool', acc.popToolsAndMerge(regSelTool_ITkStrip_Cfg(flags)))
183 if 'DetElStatus' not in kwargs :
184 from SCT_ConditionsAlgorithms.ITkStripConditionsAlgorithmsConfig
import ITkStripDetectorElementStatusAlgCfg
185 acc.merge(ITkStripDetectorElementStatusAlgCfg(flags))
186 kwargs.setdefault(
"DetElStatus",
"ITkStripDetectorElementStatus")
188 if 'ClusteringTool' not in kwargs:
191 if flags.Acts.doMonitoring
and 'MonTool' not in kwargs:
192 from ActsConfig.ActsMonitoringConfig
import ActsITkStripClusterizationMonitoringToolCfg
193 kwargs.setdefault(
'MonTool', acc.popToolsAndMerge(ActsITkStripClusterizationMonitoringToolCfg(flags)))
196 acc.addEventAlgo(CompFactory.ActsTrk.StripClusterizationAlg(name, **kwargs))
198 acc.addEventAlgo(CompFactory.ActsTrk.StripCacheClusterizationAlg(name, **kwargs))
211 name: str =
"ActsPixelClusterPreparationAlg",
212 useCache: bool =
False,
213 **kwargs) -> ComponentAccumulator:
214 acc = ComponentAccumulator()
216 kwargs.setdefault(
'InputCollection',
'ITkPixelClusters')
217 kwargs.setdefault(
'DetectorElements',
'ITkPixelDetectorElementCollection')
219 if 'RegSelTool' not in kwargs:
220 from RegionSelector.RegSelToolConfig
import regSelTool_ITkPixel_Cfg
221 kwargs.setdefault(
'RegSelTool', acc.popToolsAndMerge(regSelTool_ITkPixel_Cfg(flags)))
223 if flags.Acts.doMonitoring
and 'MonTool' not in kwargs:
224 from ActsConfig.ActsMonitoringConfig
import ActsDataPreparationMonitoringToolCfg
225 kwargs.setdefault(
'MonTool', acc.popToolsAndMerge(ActsDataPreparationMonitoringToolCfg(flags,
226 name =
"ActsPixelClusterPreparationMonitoringTool")))
229 acc.addEventAlgo(CompFactory.ActsTrk.PixelClusterDataPreparationAlg(name, **kwargs))
231 acc.addEventAlgo(CompFactory.ActsTrk.PixelClusterCacheDataPreparationAlg(name, **kwargs))
235 name: str =
"ActsStripClusterPreparationAlg",
236 useCache: bool =
False,
237 **kwargs) -> ComponentAccumulator:
238 acc = ComponentAccumulator()
240 kwargs.setdefault(
'InputCollection',
'ITkStripClusters')
241 kwargs.setdefault(
'DetectorElements',
'ITkStripDetectorElementCollection')
243 if 'RegSelTool' not in kwargs:
244 from RegionSelector.RegSelToolConfig
import regSelTool_ITkStrip_Cfg
245 kwargs.setdefault(
'RegSelTool', acc.popToolsAndMerge(regSelTool_ITkStrip_Cfg(flags)))
247 if flags.Acts.doMonitoring
and 'MonTool' not in kwargs:
248 from ActsConfig.ActsMonitoringConfig
import ActsDataPreparationMonitoringToolCfg
249 kwargs.setdefault(
'MonTool', acc.popToolsAndMerge(ActsDataPreparationMonitoringToolCfg(flags,
250 name =
"ActsStripClusterPreparationMonitoringTool")))
253 acc.addEventAlgo(CompFactory.ActsTrk.StripClusterDataPreparationAlg(name, **kwargs))
255 acc.addEventAlgo(CompFactory.ActsTrk.StripClusterCacheDataPreparationAlg(name, **kwargs))
259 name: str =
'ActsHgtdClusterPreparationAlg',
261 useCache: bool =
False,
262 **kwargs) -> ComponentAccumulator:
263 acc = ComponentAccumulator()
264 kwargs.setdefault(
'InputCollection',
'HGTDClusters')
265 kwargs.setdefault(
'DetectorElements',
'HGTD_DetectorElementCollection')
269 if flags.Acts.doMonitoring
and 'MonTool' not in kwargs:
270 from ActsConfig.ActsMonitoringConfig
import ActsDataPreparationMonitoringToolCfg
271 kwargs.setdefault(
'MonTool', acc.popToolsAndMerge(ActsDataPreparationMonitoringToolCfg(flags,
272 name =
"ActsHgtdClusterPreparationMonitoringTool")))
274 acc.addEventAlgo(CompFactory.ActsTrk.HgtdClusterDataPreparationAlg(name, **kwargs))
280 RoIs: str =
"ActsRegionOfInterest",
281 **kwargs: dict) -> ComponentAccumulator:
282 assert isinstance(RoIs, str)
283 assert isinstance(kwargs, dict)
285 acc = ComponentAccumulator()
294 kwargs.setdefault(
'processPixels', flags.Detector.EnableITkPixel)
295 kwargs.setdefault(
'processStrips', flags.Detector.EnableITkStrip)
296 kwargs.setdefault(
'processHGTD', flags.Acts.useHGTDClusterInTrackFinding
and flags.Detector.EnableHGTD)
297 kwargs.setdefault(
'runCacheCreation', flags.Acts.useCache)
298 kwargs.setdefault(
'runReconstruction',
True)
299 kwargs.setdefault(
'runPreparation', flags.Acts.useCache)
302 if kwargs[
'runCacheCreation']:
304 **extractChildKwargs(prefix=
'ClusterCacheCreatorAlg.', **kwargs)))
307 if kwargs[
'runReconstruction']:
308 if kwargs[
'processPixels']:
311 **extractChildKwargs(prefix=
'PixelClusterizationAlg.', **kwargs)))
312 if kwargs[
'processStrips']:
315 **extractChildKwargs(prefix=
'StripClusterizationAlg.', **kwargs)))
316 if kwargs[
'processHGTD']:
318 **extractChildKwargs(prefix=
'HgtdClusterizationAlg.', **kwargs)))
320 if kwargs[
'runPreparation']:
321 if kwargs[
'processPixels']:
324 **extractChildKwargs(prefix=
'PixelClusterPreparationAlg.', **kwargs)))
326 if kwargs[
'processStrips']:
329 **extractChildKwargs(prefix=
'StripClusterPreparationAlg.', **kwargs)))
331 if kwargs[
'processHGTD']:
334 **extractChildKwargs(prefix=
'HgtdClusterPreparationAlg.', **kwargs)))
337 if flags.Acts.Clusters.doAnalysis:
338 if kwargs[
'processPixels']:
339 from ActsConfig.ActsAnalysisConfig
import ActsPixelClusterAnalysisAlgCfg
340 acc.merge(ActsPixelClusterAnalysisAlgCfg(flags, **extractChildKwargs(prefix=
'PixelClusterAnalysisAlg.', **kwargs)))
342 if kwargs[
'processStrips']:
343 from ActsConfig.ActsAnalysisConfig
import ActsStripClusterAnalysisAlgCfg
344 acc.merge(ActsStripClusterAnalysisAlgCfg(flags, **extractChildKwargs(prefix=
'StripClusterAnalysisAlg.', **kwargs)))
350 previousActsExtension: str =
None) -> ComponentAccumulator:
351 assert previousActsExtension
is None or isinstance(previousActsExtension, str)
353 acc = ComponentAccumulator()
355 processPixels = flags.Detector.EnableITkPixel
356 processStrips = flags.Detector.EnableITkStrip
357 processHGTD = flags.Acts.useHGTDClusterInTrackFinding
and flags.Detector.EnableHGTD
360 kwargs.setdefault(
'processPixels', processPixels)
361 kwargs.setdefault(
'processStrips', processStrips)
362 kwargs.setdefault(
'processHGTD', processHGTD)
380 from InDetConfig.ITkActsHelpers
import isPrimaryPass, isValidationPass
381 if isPrimaryPass(flags)
or isValidationPass(flags):
384 kwargs.setdefault(
'runCacheCreation', flags.Acts.useCache)
385 kwargs.setdefault(
'runReconstruction',
True)
386 kwargs.setdefault(
'runPreparation', flags.Acts.useCache)
389 kwargs.setdefault(
'runCacheCreation',
False)
390 kwargs.setdefault(
'runReconstruction', flags.Acts.useCache)
391 kwargs.setdefault(
'runPreparation',
True)
394 roisName = f
'{flags.Tracking.ActiveConfig.extension}RegionOfInterest'
396 if flags.Tracking.ActiveConfig.extension ==
'ActsLargeRadius':
397 from InDetConfig.ITkActsHelpers
import primaryPassExtension
398 roisName = f
'{primaryPassExtension(flags)}RegionOfInterest'
402 primaryPixelClustersName =
'ITkPixelClusters'
403 primaryStripClustersName =
'ITkStripClusters'
404 primaryHgtdClustersName =
'HGTD_Clusters'
405 pixelClustersName = primaryPixelClustersName
406 stripClustersName = primaryStripClustersName
407 hgtdClustersName = primaryHgtdClustersName
410 if flags.Tracking.ActiveConfig.isSecondaryPass:
411 keyPrefix = flags.Tracking.ActiveConfig.extension.replace(
"Acts",
"")
412 pixelClustersName = f
'ITk{keyPrefix}PixelClusters'
413 stripClustersName = f
'ITk{keyPrefix}StripClusters'
414 hgtdClustersName = f
'{keyPrefix}HGTD_Clusters'
417 if kwargs[
'runCacheCreation']:
418 kwargs.setdefault(
'ClusterCacheCreatorAlg.name', f
'{flags.Tracking.ActiveConfig.extension}ClusterCacheCreatorAlg')
421 if kwargs[
'runReconstruction']:
422 if kwargs[
'processPixels']:
423 kwargs.setdefault(
'PixelClusterizationAlg.name', f
'{flags.Tracking.ActiveConfig.extension}PixelClusterizationAlg')
424 kwargs.setdefault(
'PixelClusterizationAlg.useCache', flags.Acts.useCache)
425 kwargs.setdefault(
'PixelClusterizationAlg.ClustersKey', pixelClustersName)
426 kwargs.setdefault(
'PixelClusterizationAlg.ClusterCache', f
'{flags.Tracking.ActiveConfig.extension}PixelClustersCache')
427 if flags.Tracking.ActiveConfig.isSecondaryPass
and previousActsExtension
is not None:
428 kwargs.setdefault(
'PixelClusterizationAlg.ExtraInputs', {(
'ActsTrk::PrepRawDataAssociation', f
'StoreGateSvc+{previousActsExtension}PrdMap')})
430 if kwargs[
'processStrips']:
431 kwargs.setdefault(
'StripClusterizationAlg.name', f
'{flags.Tracking.ActiveConfig.extension}StripClusterizationAlg')
432 kwargs.setdefault(
'StripClusterizationAlg.useCache', flags.Acts.useCache)
433 kwargs.setdefault(
'StripClusterizationAlg.ClustersKey', stripClustersName)
434 kwargs.setdefault(
'StripClusterizationAlg.ClusterCache', f
'{flags.Tracking.ActiveConfig.extension}StripClustersCache')
435 if flags.Tracking.ActiveConfig.isSecondaryPass
and previousActsExtension
is not None:
436 kwargs.setdefault(
'StripClusterizationAlg.ExtraInputs', {(
'ActsTrk::PrepRawDataAssociation', f
'StoreGateSvc+{previousActsExtension}PrdMap')})
438 if kwargs[
'processHGTD']:
439 kwargs.setdefault(
'HgtdClusterizationAlg.name', f
'{flags.Tracking.ActiveConfig.extension}HgtdClusterizationAlg')
441 kwargs.setdefault(
'HgtdClusterizationAlg.ClusterContainerName', hgtdClustersName)
442 if flags.Tracking.ActiveConfig.isSecondaryPass
and previousActsExtension
is not None:
443 kwargs.setdefault(
'HgtdClusterizationAlg.ExtraInputs', {(
'ActsTrk::PrepRawDataAssociation', f
'StoreGateSvc+{previousActsExtension}PrdMap')})
447 if kwargs[
'runPreparation']:
448 if kwargs[
'processPixels']:
449 kwargs.setdefault(
'PixelClusterPreparationAlg.name', f
'{flags.Tracking.ActiveConfig.extension}PixelClusterPreparationAlg')
450 kwargs.setdefault(
'PixelClusterPreparationAlg.useCache', flags.Acts.useCache)
451 kwargs.setdefault(
'PixelClusterPreparationAlg.OutputCollection', f
'{pixelClustersName}_Cached' if kwargs[
'runReconstruction']
else pixelClustersName)
453 if not flags.Acts.useCache:
455 kwargs.setdefault(
'PixelClusterPreparationAlg.InputCollection', pixelClustersName
if kwargs[
'runReconstruction']
else primaryPixelClustersName)
456 kwargs.setdefault(
'PixelClusterPreparationAlg.InputIDC',
'')
458 kwargs.setdefault(
'PixelClusterPreparationAlg.InputCollection',
'')
459 kwargs.setdefault(
'PixelClusterPreparationAlg.InputIDC', f
'{flags.Tracking.ActiveConfig.extension}PixelClustersCache')
461 if flags.Tracking.ActiveConfig.isSecondaryPass
and previousActsExtension
is not None:
462 kwargs.setdefault(
'PixelClusterPreparationAlg.InputPrdMap', f
'{previousActsExtension}PrdMap')
464 if kwargs[
'processStrips']:
465 kwargs.setdefault(
'StripClusterPreparationAlg.name', f
'{flags.Tracking.ActiveConfig.extension}StripClusterPreparationAlg')
466 kwargs.setdefault(
'StripClusterPreparationAlg.useCache', flags.Acts.useCache)
467 kwargs.setdefault(
'StripClusterPreparationAlg.OutputCollection', f
'{stripClustersName}_Cached' if kwargs[
'runReconstruction']
else stripClustersName)
468 if not flags.Acts.useCache:
469 kwargs.setdefault(
'StripClusterPreparationAlg.InputCollection', stripClustersName
if kwargs[
'runReconstruction']
else primaryStripClustersName)
470 kwargs.setdefault(
'StripClusterPreparationAlg.InputIDC',
'')
472 kwargs.setdefault(
'StripClusterPreparationAlg.InputCollection',
'')
473 kwargs.setdefault(
'StripClusterPreparationAlg.InputIDC', f
'{flags.Tracking.ActiveConfig.extension}StripClustersCache')
475 if flags.Tracking.ActiveConfig.isSecondaryPass
and previousActsExtension
is not None:
476 kwargs.setdefault(
'StripClusterPreparationAlg.InputPrdMap', f
'{previousActsExtension}PrdMap')
478 if kwargs[
'processHGTD']:
479 kwargs.setdefault(
'HgtdClusterPreparationAlg.name', f
'{flags.Tracking.ActiveConfig.extension}HgtdClusterPreparationAlg')
480 kwargs.setdefault(
'HgtdClusterPreparationAlg.OutputCollection', f
'{hgtdClustersName}_Cached' if kwargs[
'runReconstruction']
else hgtdClustersName)
481 kwargs.setdefault(
'HgtdClusterPreparationAlg.InputCollection', hgtdClustersName
if kwargs[
'runReconstruction']
else primaryHgtdClustersName)
482 kwargs.setdefault(
'HgtdClusterPreparationAlg.InputIDC',
'')
483 if flags.Tracking.ActiveConfig.isSecondaryPass
and previousActsExtension
is not None:
484 kwargs.setdefault(
'HgtdClusterPreparationAlg.InputPrdMap', f
'{previousActsExtension}PrdMap')
487 if flags.Acts.Clusters.doAnalysis:
490 if kwargs[
'processPixels']:
491 kwargs.setdefault(
'PixelClusterAnalysisAlg.name', f
'{flags.Tracking.ActiveConfig.extension}PixelClusterAnalysisAlg')
492 kwargs.setdefault(
'PixelClusterAnalysisAlg.extension', flags.Tracking.ActiveConfig.extension)
493 kwargs.setdefault(
'PixelClusterAnalysisAlg.MonGroupName', f
'{flags.Tracking.ActiveConfig.extension}ClusterAnalysisAlg')
494 kwargs.setdefault(
'PixelClusterAnalysisAlg.ClusterContainerKey', kwargs[
'PixelClusterPreparationAlg.OutputCollection']
if kwargs[
'runPreparation']
else kwargs[
'PixelClusterizationAlg.ClustersKey'])
496 if kwargs[
'processStrips']:
497 kwargs.setdefault(
'StripClusterAnalysisAlg.name', f
'{flags.Tracking.ActiveConfig.extension}StripClusterAnalysisAlg')
498 kwargs.setdefault(
'StripClusterAnalysisAlg.extension', flags.Tracking.ActiveConfig.extension)
499 kwargs.setdefault(
'StripClusterAnalysisAlg.MonGroupName', f
'{flags.Tracking.ActiveConfig.extension}ClusterAnalysisAlg')
500 kwargs.setdefault(
'StripClusterAnalysisAlg.ClusterContainerKey', kwargs[
'StripClusterPreparationAlg.OutputCollection']
if kwargs[
'runPreparation']
else kwargs[
'StripClusterizationAlg.ClustersKey'])
502 if kwargs[
'processHGTD']:
503 kwargs.setdefault(
'HgtdClusterAnalysisAlg.name', f
'{flags.Tracking.ActiveConfig.extension}HgtdClusterAnalysisAlg')
504 kwargs.setdefault(
'HgtdClusterAnalysisAlg.extension', flags.Tracking.ActiveConfig.extension)
505 kwargs.setdefault(
'HgtdClusterAnalysisAlg.MonGroupName', f
'{flags.Tracking.ActiveConfig.extension}ClusterAnalysisAlg')
510 if flags.Acts.EDM.PersistifyClusters
and kwargs[
'runReconstruction']:
512 if kwargs[
'processPixels']:
513 pixel_cluster_shortlist = [
'-validationMeasurementLink']
514 pixel_cluster_variables =
'.'.join(pixel_cluster_shortlist)
516 pixelClusterCollection = kwargs[
'PixelClusterizationAlg.ClustersKey']
517 toAOD += [f
'xAOD::PixelClusterContainer#{pixelClusterCollection}',
518 f
'xAOD::PixelClusterAuxContainer#{pixelClusterCollection}Aux.{pixel_cluster_variables}']
520 if kwargs[
'processStrips']:
521 strip_cluster_shortlist = [
'-validationMeasurementLink']
522 strip_cluster_variables =
'.'.join(strip_cluster_shortlist)
524 stripClusterCollection = kwargs[
'StripClusterizationAlg.ClustersKey']
525 toAOD += [f
"xAOD::StripClusterContainer#{stripClusterCollection}",
526 f
"xAOD::StripClusterAuxContainer#{stripClusterCollection}Aux.{strip_cluster_variables}"]
528 if kwargs[
'processHGTD']:
529 hgtdClusterCollection = kwargs[
'HgtdClusterizationAlg.ClusterContainerName']
530 toAOD += [f
"xAOD::HGTDClusterContainer#{hgtdClusterCollection}",
531 f
"xAOD::HGTDClusterAuxContainer#{hgtdClusterCollection}Aux."]
533 from OutputStreamAthenaPool.OutputStreamConfig
import addToAOD
534 acc.merge(addToAOD(flags, toAOD))