48 name: str =
"ActsHgtdClusterizationAlg",
49 **kwargs) -> ComponentAccumulator:
50 acc = ComponentAccumulator()
53 if flags.HGTD.Geometry.useGeoModelXml:
54 from HGTD_GeoModelXml.HGTD_GeoModelConfig
import HGTD_ReadoutGeometryCfg
56 from HGTD_GeoModel.HGTD_GeoModelConfig
import HGTD_ReadoutGeometryCfg
57 acc.merge(HGTD_ReadoutGeometryCfg(flags))
59 kwargs.setdefault(
'RDOContainerName', prefix+
'HGTD_RDOs')
60 kwargs.setdefault(
'AltirocRDOContainerName', prefix+
'HGTD_ALTIROC_RDOs')
61 kwargs.setdefault(
'ClusterContainerName',
'HGTD_Clusters')
63 if 'ClusteringTool' not in kwargs:
64 from HGTD_Config.HGTD_ConfigFlags
import ClusteringStrategy
65 if flags.HGTD.Acts.ClusteringStrategy
is ClusteringStrategy.SinglePad:
70 if flags.Acts.doMonitoring
and 'MonTool' not in kwargs:
71 from ActsConfig.ActsMonitoringConfig
import ActsHgtdClusterizationMonitoringToolCfg
72 kwargs.setdefault(
'MonTool', acc.popToolsAndMerge(ActsHgtdClusterizationMonitoringToolCfg(flags)))
74 if flags.HGTD.useALTIROC_RDO:
75 kwargs.setdefault(
"useALTIROC_RDO",
True)
77 kwargs.setdefault(
"useALTIROC_RDO",
False)
79 acc.addEventAlgo(CompFactory.ActsTrk.HgtdClusterizationAlg(prefix+name, **kwargs))
85 name: str =
"ActsPixelClusteringTool",
86 **kwargs) -> ComponentAccumulator:
87 acc = ComponentAccumulator()
89 if flags.Acts.Clusters.RetrieveChargeInformation:
90 from PixelConditionsAlgorithms.ITkPixelConditionsConfig
import ITkPixelChargeCalibCondAlgCfg, ITkPixelOfflineCalibCondAlgCfg
91 acc.merge(ITkPixelChargeCalibCondAlgCfg(flags))
92 acc.merge(ITkPixelOfflineCalibCondAlgCfg(flags))
93 kwargs.setdefault(
'PixelChargeCalibCondData',
'ITkPixelChargeCalibCondData')
95 if "PixelLorentzAngleTool" not in kwargs:
96 from SiLorentzAngleTool.ITkPixelLorentzAngleConfig
import ITkPixelLorentzAngleToolCfg
97 kwargs.setdefault(
"PixelLorentzAngleTool", acc.popToolsAndMerge( ITkPixelLorentzAngleToolCfg(flags) ))
99 kwargs.setdefault(
'UseWeightedPosition', flags.Acts.Clusters.UseWeightedPosition)
102 kwargs.setdefault(
'UseBroadErrors', flags.Acts.Clusters.UsePixelBroadErrors
or flags.Beam.Type
is BeamType.Cosmics)
104 if flags.Acts.EDM.PhaseII :
105 acc.setPrivateTools(CompFactory.ActsTrk.PhaseIIPixelClusteringTool(name, **kwargs))
107 acc.setPrivateTools(CompFactory.ActsTrk.PixelClusteringTool(name, **kwargs))
112 name: str =
"ActsPLRClusteringTool",
113 **kwargs) -> ComponentAccumulator:
114 acc = ComponentAccumulator()
116 if flags.Acts.Clusters.RetrieveChargeInformation:
117 from PixelConditionsAlgorithms.PLR_ConditionsConfig
import PLR_ChargeCalibCondAlgCfg
118 acc.merge(PLR_ChargeCalibCondAlgCfg(flags))
119 kwargs.setdefault(
"PixelChargeCalibCondData",
"PLR_ChargeCalibCondData")
121 if "PixelLorentzAngleTool" not in kwargs:
122 from SiLorentzAngleTool.PLR_LorentzAngleConfig
import PLR_LorentzAngleToolCfg
123 kwargs.setdefault(
"PixelLorentzAngleTool",
124 acc.popToolsAndMerge(PLR_LorentzAngleToolCfg(flags)))
126 kwargs.setdefault(
"IDHelperName",
"PLR_ID")
127 kwargs.setdefault(
"UseWeightedPosition", flags.Acts.Clusters.UseWeightedPosition)
130 kwargs.setdefault(
"UseBroadErrors",
131 flags.Acts.Clusters.UsePixelBroadErrors
or flags.Beam.Type
is BeamType.Cosmics)
133 if flags.Acts.EDM.PhaseII :
134 acc.setPrivateTools(CompFactory.ActsTrk.PhaseIIPixelClusteringTool(name, **kwargs))
136 acc.setPrivateTools(CompFactory.ActsTrk.PixelClusteringTool(name, **kwargs))
141 name: str =
"ActsStripClusteringTool",
142 **kwargs) -> ComponentAccumulator:
143 acc = ComponentAccumulator()
145 if 'LorentzAngleTool' not in kwargs:
146 from SiLorentzAngleTool.ITkStripLorentzAngleConfig
import ITkStripLorentzAngleToolCfg
147 kwargs.setdefault(
"LorentzAngleTool", acc.popToolsAndMerge(ITkStripLorentzAngleToolCfg(flags)))
149 if "StripDetElStatus" not in kwargs :
150 from SCT_ConditionsAlgorithms.ITkStripConditionsAlgorithmsConfig
import (
151 ITkStripDetectorElementStatusAlgCfg)
152 acc.merge(ITkStripDetectorElementStatusAlgCfg(flags))
153 kwargs.setdefault(
"StripDetElStatus",
"ITkStripDetectorElementStatus")
156 kwargs.setdefault(
"maxFiredStrips", 0)
158 if flags.ITk.selectStripIntimeHits
and 'timeBins' not in kwargs:
159 coll_25ns = flags.Beam.BunchSpacing<=25
and flags.Beam.Type
is BeamType.Collisions
160 kwargs.setdefault(
"timeBins",
"01X" if coll_25ns
else "X1X")
164 kwargs.setdefault(
"errorStrategy",flags.Acts.Clusters.StripClusteringErrorMode.value)
166 acc.setPrivateTools(CompFactory.ActsTrk.StripClusteringTool(name, **kwargs))
170 name: str =
'ActsPixelClusterizationAlg',
172 useCache: bool =
False,
173 **kwargs) -> ComponentAccumulator:
174 acc = ComponentAccumulator()
177 kwargs.setdefault(
"IDHelper",
"PixelID")
178 if flags.Acts.EDM.PhaseII
and flags.Input.Format
is not Format.BS:
180 acc.merge(PhaseIIPixelRawDataContainerCfg(flags, RDOKey=prefix+
"ITkPixelRDOs"))
181 kwargs.setdefault(
"RDOContainerKey", prefix+
"ITkPixelRDOs")
182 kwargs.setdefault(
"ClustersKey",
"ITkPixelClusters")
183 kwargs.setdefault(
"DetEleCollKey",
"ITkPixelDetectorElementCollection")
185 kwargs.setdefault(
'RoIs',
'ActsRegionOfInterest')
187 kwargs.setdefault(
'ClusterCacheBackend',
'ActsPixelClusterCache_Back')
188 kwargs.setdefault(
'ClusterCache',
'ActsPixelClustersCache')
190 if 'RegSelTool' not in kwargs:
191 from RegionSelector.RegSelToolConfig
import regSelTool_ITkPixel_Cfg
192 kwargs.setdefault(
'RegSelTool', acc.popToolsAndMerge(regSelTool_ITkPixel_Cfg(flags)))
194 if 'ClusteringTool' not in kwargs:
197 if 'DetElStatus' not in kwargs:
198 from PixelConditionsAlgorithms.ITkPixelConditionsConfig
import ITkPixelDetectorElementStatusAlgCfg
199 acc.merge(ITkPixelDetectorElementStatusAlgCfg(flags))
200 kwargs.setdefault(
'DetElStatus',
'ITkPixelDetectorElementStatus')
202 if flags.Acts.doMonitoring
and 'MonTool' not in kwargs:
203 from ActsConfig.ActsMonitoringConfig
import ActsITkPixelClusterizationMonitoringToolCfg
204 kwargs.setdefault(
'MonTool', acc.popToolsAndMerge(ActsITkPixelClusterizationMonitoringToolCfg(flags)))
206 if flags.Acts.EDM.PhaseII :
208 acc.addEventAlgo(CompFactory.ActsTrk.PhaseIIPixelClusterizationAlg(prefix+name, **kwargs))
210 acc.addEventAlgo(CompFactory.ActsTrk.PhaseIIPixelCacheClusterizationAlg(prefix+name, **kwargs))
213 acc.addEventAlgo(CompFactory.ActsTrk.PixelClusterizationAlg(prefix+name, **kwargs))
215 acc.addEventAlgo(CompFactory.ActsTrk.PixelCacheClusterizationAlg(prefix+name, **kwargs))
220 name: str =
"ActsPLRClusterizationAlg",
222 useCache: bool =
False,
223 **kwargs) -> ComponentAccumulator:
224 acc = ComponentAccumulator()
227 kwargs.setdefault(
"IDHelper",
"PLR_ID")
228 if flags.Acts.EDM.PhaseII
and flags.Input.Format
is not Format.BS:
230 acc.merge(PhaseIIPixelRawDataContainerCfg(flags,RDOKey=prefix+
"PLR_RDOs"))
231 kwargs.setdefault(
"RDOContainerKey", prefix+
"PLR_RDOs")
232 kwargs.setdefault(
"ClustersKey",
"PLR_Clusters")
233 kwargs.setdefault(
"DetEleCollKey",
"PLR_DetectorElementCollection")
234 kwargs.setdefault(
"RoIs",
"ActsRegionOfInterest")
236 kwargs.setdefault(
"ClusterCacheBackend",
"ActsPLRClusterCache_Back")
237 kwargs.setdefault(
"ClusterCache",
"ActsPLRClustersCache")
239 if "RegSelTool" not in kwargs:
240 from RegionSelector.RegSelToolConfig
import regSelTool_PLR_Cfg
241 kwargs.setdefault(
"RegSelTool", acc.popToolsAndMerge(regSelTool_PLR_Cfg(flags)))
243 if "ClusteringTool" not in kwargs:
246 if "DetElStatus" not in kwargs:
247 from PixelConditionsAlgorithms.PLR_ConditionsConfig
import PLR_DetectorElementStatusAlgCfg
248 acc.merge(PLR_DetectorElementStatusAlgCfg(flags))
249 kwargs.setdefault(
"DetElStatus",
"PLR_DetectorElementStatus")
251 if flags.Acts.doMonitoring
and "MonTool" not in kwargs:
252 from ActsConfig.ActsMonitoringConfig
import ActsITkPixelClusterizationMonitoringToolCfg
253 kwargs.setdefault(
"MonTool", acc.popToolsAndMerge(
254 ActsITkPixelClusterizationMonitoringToolCfg(
256 name=
"ActsPLRClusterizationMonitoringTool")))
259 if flags.Acts.EDM.PhaseII :
261 acc.addEventAlgo(CompFactory.ActsTrk.PhaseIIPixelClusterizationAlg(prefix+name, **kwargs))
263 acc.addEventAlgo(CompFactory.ActsTrk.PhaseIIPixelCacheClusterizationAlg(prefix+name, **kwargs))
266 acc.addEventAlgo(CompFactory.ActsTrk.PixelClusterizationAlg(prefix+name, **kwargs))
268 acc.addEventAlgo(CompFactory.ActsTrk.PixelCacheClusterizationAlg(prefix+name, **kwargs))
272 name: str =
'ActsStripClusterizationAlg',
273 useCache: bool =
False,
274 **kwargs) -> ComponentAccumulator:
275 acc = ComponentAccumulator()
278 kwargs.setdefault(
"RDOContainerKey", prefix+
"ITkStripRDOs")
279 kwargs.setdefault(
"ClustersKey",
"ITkStripClusters")
280 kwargs.setdefault(
"IDHelper",
"SCT_ID")
281 kwargs.setdefault(
"DetEleCollKey",
"ITkStripDetectorElementCollection")
283 kwargs.setdefault(
'RoIs',
'ActsRegionOfInterest')
285 kwargs.setdefault(
'ClusterCacheBackend',
'ActsStripClusterCache_Back')
286 kwargs.setdefault(
'ClusterCache',
'ActsStripClustersCache')
288 if 'RegSelTool' not in kwargs:
289 from RegionSelector.RegSelToolConfig
import regSelTool_ITkStrip_Cfg
290 kwargs.setdefault(
'RegSelTool', acc.popToolsAndMerge(regSelTool_ITkStrip_Cfg(flags)))
292 if 'DetElStatus' not in kwargs :
293 from SCT_ConditionsAlgorithms.ITkStripConditionsAlgorithmsConfig
import ITkStripDetectorElementStatusAlgCfg
294 acc.merge(ITkStripDetectorElementStatusAlgCfg(flags))
295 kwargs.setdefault(
"DetElStatus",
"ITkStripDetectorElementStatus")
297 if 'ClusteringTool' not in kwargs:
300 if flags.Acts.doMonitoring
and 'MonTool' not in kwargs:
301 from ActsConfig.ActsMonitoringConfig
import ActsITkStripClusterizationMonitoringToolCfg
302 kwargs.setdefault(
'MonTool', acc.popToolsAndMerge(ActsITkStripClusterizationMonitoringToolCfg(flags)))
305 acc.addEventAlgo(CompFactory.ActsTrk.StripClusterizationAlg(prefix+name, **kwargs))
307 acc.addEventAlgo(CompFactory.ActsTrk.StripCacheClusterizationAlg(prefix+name, **kwargs))
320 name: str =
"ActsPixelClusterPreparationAlg",
321 useCache: bool =
False,
322 **kwargs) -> ComponentAccumulator:
323 acc = ComponentAccumulator()
325 kwargs.setdefault(
'InputCollection',
'ITkPixelClusters')
326 kwargs.setdefault(
'DetectorElements',
'ITkPixelDetectorElementCollection')
328 if 'RegSelTool' not in kwargs:
329 from RegionSelector.RegSelToolConfig
import regSelTool_ITkPixel_Cfg
330 kwargs.setdefault(
'RegSelTool', acc.popToolsAndMerge(regSelTool_ITkPixel_Cfg(flags)))
332 if flags.Acts.doMonitoring
and 'MonTool' not in kwargs:
333 from ActsConfig.ActsMonitoringConfig
import ActsDataPreparationMonitoringToolCfg
334 kwargs.setdefault(
'MonTool', acc.popToolsAndMerge(ActsDataPreparationMonitoringToolCfg(flags,
335 name =
"ActsPixelClusterPreparationMonitoringTool")))
338 acc.addEventAlgo(CompFactory.ActsTrk.PixelClusterDataPreparationAlg(name, **kwargs))
340 acc.addEventAlgo(CompFactory.ActsTrk.PixelClusterCacheDataPreparationAlg(name, **kwargs))
344 name: str =
"ActsStripClusterPreparationAlg",
345 useCache: bool =
False,
346 **kwargs) -> ComponentAccumulator:
347 acc = ComponentAccumulator()
349 kwargs.setdefault(
'InputCollection',
'ITkStripClusters')
350 kwargs.setdefault(
'DetectorElements',
'ITkStripDetectorElementCollection')
352 if 'RegSelTool' not in kwargs:
353 from RegionSelector.RegSelToolConfig
import regSelTool_ITkStrip_Cfg
354 kwargs.setdefault(
'RegSelTool', acc.popToolsAndMerge(regSelTool_ITkStrip_Cfg(flags)))
356 if flags.Acts.doMonitoring
and 'MonTool' not in kwargs:
357 from ActsConfig.ActsMonitoringConfig
import ActsDataPreparationMonitoringToolCfg
358 kwargs.setdefault(
'MonTool', acc.popToolsAndMerge(ActsDataPreparationMonitoringToolCfg(flags,
359 name =
"ActsStripClusterPreparationMonitoringTool")))
362 acc.addEventAlgo(CompFactory.ActsTrk.StripClusterDataPreparationAlg(name, **kwargs))
364 acc.addEventAlgo(CompFactory.ActsTrk.StripClusterCacheDataPreparationAlg(name, **kwargs))
368 name: str =
'ActsHgtdClusterPreparationAlg',
370 useCache: bool =
False,
371 **kwargs) -> ComponentAccumulator:
372 acc = ComponentAccumulator()
373 kwargs.setdefault(
'InputCollection',
'HGTDClusters')
374 kwargs.setdefault(
'DetectorElements',
'HGTD_DetectorElementCollection')
378 if flags.Acts.doMonitoring
and 'MonTool' not in kwargs:
379 from ActsConfig.ActsMonitoringConfig
import ActsDataPreparationMonitoringToolCfg
380 kwargs.setdefault(
'MonTool', acc.popToolsAndMerge(ActsDataPreparationMonitoringToolCfg(flags,
381 name =
"ActsHgtdClusterPreparationMonitoringTool")))
383 acc.addEventAlgo(CompFactory.ActsTrk.HgtdClusterDataPreparationAlg(name, **kwargs))
389 RoIs: str =
"ActsRegionOfInterest",
390 **kwargs: dict) -> ComponentAccumulator:
391 assert isinstance(RoIs, str)
392 assert isinstance(kwargs, dict)
394 acc = ComponentAccumulator()
403 kwargs.setdefault(
'processPixels', flags.Detector.EnableITkPixel)
404 kwargs.setdefault(
'processStrips', flags.Detector.EnableITkStrip)
405 kwargs.setdefault(
'processHGTD', flags.Acts.useHGTDClusterInTrackFinding
and flags.Detector.EnableHGTD)
406 kwargs.setdefault(
'runCacheCreation', flags.Acts.useCache)
407 kwargs.setdefault(
'runReconstruction',
True)
408 kwargs.setdefault(
'runPreparation', flags.Acts.useCache)
411 if kwargs[
'runCacheCreation']:
413 **extractChildKwargs(prefix=
'ClusterCacheCreatorAlg.', **kwargs)))
416 if kwargs[
'runReconstruction']:
417 if kwargs[
'processPixels']:
418 if flags.Input.Format
is Format.BS:
419 if flags.Acts.EDM.PhaseII :
420 from ITkPixelByteStreamCnv.ITkPixelByteStreamCnvConfig
import ITkPixelDecodingPhaseIIRDOAlgCfg
422 acc.merge( ITkPixelDecodingPhaseIIRDOAlgCfg(flags, nRDOs = 1200000, pixelRDOKey=
'ITkPixelRDOs') )
424 from ITkPixelByteStreamCnv.ITkPixelByteStreamCnvConfig
import ITkPixelDecodingAlgCfg
426 acc.merge( ITkPixelDecodingAlgCfg(flags) )
430 **extractChildKwargs(prefix=
'PixelClusterizationAlg.', **kwargs)))
431 if kwargs[
'processStrips']:
432 if flags.Input.Format
is Format.BS:
433 from ITkStripsByteStreamCnv.ITkStripByteStreamCnvConfig
import ITkStripRawDataProviderCfg
435 acc.merge(ITkStripRawDataProviderCfg(flags,
440 **extractChildKwargs(prefix=
'StripClusterizationAlg.', **kwargs)))
441 if kwargs[
'processHGTD']:
443 **extractChildKwargs(prefix=
'HgtdClusterizationAlg.', **kwargs)))
445 if kwargs[
'runPreparation']:
446 if kwargs[
'processPixels']:
449 **extractChildKwargs(prefix=
'PixelClusterPreparationAlg.', **kwargs)))
451 if kwargs[
'processStrips']:
454 **extractChildKwargs(prefix=
'StripClusterPreparationAlg.', **kwargs)))
456 if kwargs[
'processHGTD']:
459 **extractChildKwargs(prefix=
'HgtdClusterPreparationAlg.', **kwargs)))
462 if flags.Acts.Clusters.doAnalysis:
463 if kwargs[
'processPixels']:
464 from ActsConfig.ActsAnalysisConfig
import ActsPixelClusterAnalysisAlgCfg
465 acc.merge(ActsPixelClusterAnalysisAlgCfg(flags, **extractChildKwargs(prefix=
'PixelClusterAnalysisAlg.', **kwargs)))
467 if kwargs[
'processStrips']:
468 from ActsConfig.ActsAnalysisConfig
import ActsStripClusterAnalysisAlgCfg
469 acc.merge(ActsStripClusterAnalysisAlgCfg(flags, **extractChildKwargs(prefix=
'StripClusterAnalysisAlg.', **kwargs)))
475 previousActsExtension: str =
None) -> ComponentAccumulator:
476 assert previousActsExtension
is None or isinstance(previousActsExtension, str)
478 acc = ComponentAccumulator()
480 processPixels = flags.Detector.EnableITkPixel
481 processStrips = flags.Detector.EnableITkStrip
482 processHGTD = flags.Acts.useHGTDClusterInTrackFinding
and flags.Detector.EnableHGTD
485 kwargs.setdefault(
'processPixels', processPixels)
486 kwargs.setdefault(
'processStrips', processStrips)
487 kwargs.setdefault(
'processHGTD', processHGTD)
505 from InDetConfig.ITkActsHelpers
import isPrimaryPass, isValidationPass
506 if isPrimaryPass(flags)
or isValidationPass(flags):
509 kwargs.setdefault(
'runCacheCreation', flags.Acts.useCache)
510 kwargs.setdefault(
'runReconstruction',
True)
511 kwargs.setdefault(
'runPreparation', flags.Acts.useCache)
514 kwargs.setdefault(
'runCacheCreation',
False)
515 kwargs.setdefault(
'runReconstruction', flags.Acts.useCache)
516 kwargs.setdefault(
'runPreparation',
True)
519 roisName = f
'{flags.Tracking.ActiveConfig.extension}RegionOfInterest'
521 if flags.Tracking.ActiveConfig.isLargeD0
and flags.Tracking.ActiveConfig.isSecondaryPass:
522 from InDetConfig.ITkActsHelpers
import primaryPassExtension
523 roisName = f
'{primaryPassExtension(flags)}RegionOfInterest'
527 primaryPixelClustersName =
'ITkPixelClusters'
528 primaryStripClustersName =
'ITkStripClusters'
529 primaryHgtdClustersName =
'HGTD_Clusters'
530 pixelClustersName = primaryPixelClustersName
531 stripClustersName = primaryStripClustersName
532 hgtdClustersName = primaryHgtdClustersName
535 if flags.Tracking.ActiveConfig.isSecondaryPass:
536 keyPrefix = flags.Tracking.ActiveConfig.extension.replace(
"Acts",
"")
537 pixelClustersName = f
'ITk{keyPrefix}PixelClusters'
538 stripClustersName = f
'ITk{keyPrefix}StripClusters'
539 hgtdClustersName = f
'{keyPrefix}HGTD_Clusters'
542 if kwargs[
'runCacheCreation']:
543 kwargs.setdefault(
'ClusterCacheCreatorAlg.name', f
'{flags.Tracking.ActiveConfig.extension}ClusterCacheCreatorAlg')
546 if kwargs[
'runReconstruction']:
547 if kwargs[
'processPixels']:
548 kwargs.setdefault(
'PixelClusterizationAlg.name', f
'{flags.Tracking.ActiveConfig.extension}PixelClusterizationAlg')
549 kwargs.setdefault(
'PixelClusterizationAlg.useCache', flags.Acts.useCache)
550 kwargs.setdefault(
'PixelClusterizationAlg.ClustersKey', pixelClustersName)
551 kwargs.setdefault(
'PixelClusterizationAlg.ClusterCache', f
'{flags.Tracking.ActiveConfig.extension}PixelClustersCache')
552 if flags.Tracking.ActiveConfig.isSecondaryPass
and previousActsExtension
is not None:
553 kwargs.setdefault(
'PixelClusterizationAlg.ExtraInputs', {(
'ActsTrk::PrepRawDataAssociation', f
'StoreGateSvc+{previousActsExtension}PrdMap')})
555 if kwargs[
'processStrips']:
556 kwargs.setdefault(
'StripClusterizationAlg.name', f
'{flags.Tracking.ActiveConfig.extension}StripClusterizationAlg')
557 kwargs.setdefault(
'StripClusterizationAlg.useCache', flags.Acts.useCache)
558 kwargs.setdefault(
'StripClusterizationAlg.ClustersKey', stripClustersName)
559 kwargs.setdefault(
'StripClusterizationAlg.ClusterCache', f
'{flags.Tracking.ActiveConfig.extension}StripClustersCache')
560 if flags.Tracking.ActiveConfig.isSecondaryPass
and previousActsExtension
is not None:
561 kwargs.setdefault(
'StripClusterizationAlg.ExtraInputs', {(
'ActsTrk::PrepRawDataAssociation', f
'StoreGateSvc+{previousActsExtension}PrdMap')})
563 if kwargs[
'processHGTD']:
564 kwargs.setdefault(
'HgtdClusterizationAlg.name', f
'{flags.Tracking.ActiveConfig.extension}HgtdClusterizationAlg')
566 kwargs.setdefault(
'HgtdClusterizationAlg.ClusterContainerName', hgtdClustersName)
567 if flags.Tracking.ActiveConfig.isSecondaryPass
and previousActsExtension
is not None:
568 kwargs.setdefault(
'HgtdClusterizationAlg.ExtraInputs', {(
'ActsTrk::PrepRawDataAssociation', f
'StoreGateSvc+{previousActsExtension}PrdMap')})
572 if kwargs[
'runPreparation']:
573 if kwargs[
'processPixels']:
574 kwargs.setdefault(
'PixelClusterPreparationAlg.name', f
'{flags.Tracking.ActiveConfig.extension}PixelClusterPreparationAlg')
575 kwargs.setdefault(
'PixelClusterPreparationAlg.useCache', flags.Acts.useCache)
576 kwargs.setdefault(
'PixelClusterPreparationAlg.OutputCollection', f
'{pixelClustersName}_Cached' if kwargs[
'runReconstruction']
else pixelClustersName)
578 if not flags.Acts.useCache:
580 kwargs.setdefault(
'PixelClusterPreparationAlg.InputCollection', pixelClustersName
if kwargs[
'runReconstruction']
else primaryPixelClustersName)
581 kwargs.setdefault(
'PixelClusterPreparationAlg.InputIDC',
'')
583 kwargs.setdefault(
'PixelClusterPreparationAlg.InputCollection',
'')
584 kwargs.setdefault(
'PixelClusterPreparationAlg.InputIDC', f
'{flags.Tracking.ActiveConfig.extension}PixelClustersCache')
586 if flags.Tracking.ActiveConfig.isSecondaryPass
and previousActsExtension
is not None:
587 kwargs.setdefault(
'PixelClusterPreparationAlg.InputPrdMap', f
'{previousActsExtension}PrdMap')
589 if kwargs[
'processStrips']:
590 kwargs.setdefault(
'StripClusterPreparationAlg.name', f
'{flags.Tracking.ActiveConfig.extension}StripClusterPreparationAlg')
591 kwargs.setdefault(
'StripClusterPreparationAlg.useCache', flags.Acts.useCache)
592 kwargs.setdefault(
'StripClusterPreparationAlg.OutputCollection', f
'{stripClustersName}_Cached' if kwargs[
'runReconstruction']
else stripClustersName)
593 if not flags.Acts.useCache:
594 kwargs.setdefault(
'StripClusterPreparationAlg.InputCollection', stripClustersName
if kwargs[
'runReconstruction']
else primaryStripClustersName)
595 kwargs.setdefault(
'StripClusterPreparationAlg.InputIDC',
'')
597 kwargs.setdefault(
'StripClusterPreparationAlg.InputCollection',
'')
598 kwargs.setdefault(
'StripClusterPreparationAlg.InputIDC', f
'{flags.Tracking.ActiveConfig.extension}StripClustersCache')
600 if flags.Tracking.ActiveConfig.isSecondaryPass
and previousActsExtension
is not None:
601 kwargs.setdefault(
'StripClusterPreparationAlg.InputPrdMap', f
'{previousActsExtension}PrdMap')
603 if kwargs[
'processHGTD']:
604 kwargs.setdefault(
'HgtdClusterPreparationAlg.name', f
'{flags.Tracking.ActiveConfig.extension}HgtdClusterPreparationAlg')
605 kwargs.setdefault(
'HgtdClusterPreparationAlg.OutputCollection', f
'{hgtdClustersName}_Cached' if kwargs[
'runReconstruction']
else hgtdClustersName)
606 kwargs.setdefault(
'HgtdClusterPreparationAlg.InputCollection', hgtdClustersName
if kwargs[
'runReconstruction']
else primaryHgtdClustersName)
607 kwargs.setdefault(
'HgtdClusterPreparationAlg.InputIDC',
'')
608 if flags.Tracking.ActiveConfig.isSecondaryPass
and previousActsExtension
is not None:
609 kwargs.setdefault(
'HgtdClusterPreparationAlg.InputPrdMap', f
'{previousActsExtension}PrdMap')
612 if flags.Acts.Clusters.doAnalysis:
615 if kwargs[
'processPixels']:
616 kwargs.setdefault(
'PixelClusterAnalysisAlg.name', f
'{flags.Tracking.ActiveConfig.extension}PixelClusterAnalysisAlg')
617 kwargs.setdefault(
'PixelClusterAnalysisAlg.extension', flags.Tracking.ActiveConfig.extension)
618 kwargs.setdefault(
'PixelClusterAnalysisAlg.MonGroupName', f
'{flags.Tracking.ActiveConfig.extension}ClusterAnalysisAlg')
619 kwargs.setdefault(
'PixelClusterAnalysisAlg.ClusterContainerKey', kwargs[
'PixelClusterPreparationAlg.OutputCollection']
if kwargs[
'runPreparation']
else kwargs[
'PixelClusterizationAlg.ClustersKey'])
621 if kwargs[
'processStrips']:
622 kwargs.setdefault(
'StripClusterAnalysisAlg.name', f
'{flags.Tracking.ActiveConfig.extension}StripClusterAnalysisAlg')
623 kwargs.setdefault(
'StripClusterAnalysisAlg.extension', flags.Tracking.ActiveConfig.extension)
624 kwargs.setdefault(
'StripClusterAnalysisAlg.MonGroupName', f
'{flags.Tracking.ActiveConfig.extension}ClusterAnalysisAlg')
625 kwargs.setdefault(
'StripClusterAnalysisAlg.ClusterContainerKey', kwargs[
'StripClusterPreparationAlg.OutputCollection']
if kwargs[
'runPreparation']
else kwargs[
'StripClusterizationAlg.ClustersKey'])
627 if kwargs[
'processHGTD']:
628 kwargs.setdefault(
'HgtdClusterAnalysisAlg.name', f
'{flags.Tracking.ActiveConfig.extension}HgtdClusterAnalysisAlg')
629 kwargs.setdefault(
'HgtdClusterAnalysisAlg.extension', flags.Tracking.ActiveConfig.extension)
630 kwargs.setdefault(
'HgtdClusterAnalysisAlg.MonGroupName', f
'{flags.Tracking.ActiveConfig.extension}ClusterAnalysisAlg')
635 if kwargs[
'runReconstruction']:
636 from ActsConfig.ActsPersistificationConfig
import PersistifyClusters
637 pixelClusterCollections =
None if not kwargs[
'processPixels']
else [kwargs[
'PixelClusterizationAlg.ClustersKey']]
638 stripClusterCollections =
None if not kwargs[
'processStrips']
else [kwargs[
'StripClusterizationAlg.ClustersKey']]
639 hgtdClusterCollections =
None if not kwargs[
'processHGTD']
else [kwargs[
'HgtdClusterizationAlg.ClusterContainerName']]
640 acc.merge(PersistifyClusters(flags,
641 pixelClusterCollections=pixelClusterCollections,
642 stripClusterCollections=stripClusterCollections,
643 hgtdClusterCollections=hgtdClusterCollections))