36 name: str =
"ActsHgtdClusterizationAlg",
37 **kwargs) -> ComponentAccumulator:
38 acc = ComponentAccumulator()
40 if flags.HGTD.Geometry.useGeoModelXml:
41 from HGTD_GeoModelXml.HGTD_GeoModelConfig
import HGTD_ReadoutGeometryCfg
43 from HGTD_GeoModel.HGTD_GeoModelConfig
import HGTD_ReadoutGeometryCfg
44 acc.merge(HGTD_ReadoutGeometryCfg(flags))
46 kwargs.setdefault(
'RDOContainerName',
'HGTD_RDOs')
47 kwargs.setdefault(
'AltirocRDOContainerName',
'HGTD_ALTIROC_RDOs')
48 kwargs.setdefault(
'ClusterContainerName',
'HGTD_Clusters')
50 if 'ClusteringTool' not in kwargs:
51 from HGTD_Config.HGTD_ConfigFlags
import ClusteringStrategy
52 if flags.HGTD.Acts.ClusteringStrategy
is ClusteringStrategy.SinglePad:
57 if flags.Acts.doMonitoring
and 'MonTool' not in kwargs:
58 from ActsConfig.ActsMonitoringConfig
import ActsHgtdClusterizationMonitoringToolCfg
59 kwargs.setdefault(
'MonTool', acc.popToolsAndMerge(ActsHgtdClusterizationMonitoringToolCfg(flags)))
61 if flags.HGTD.useALTIROC_RDO:
62 kwargs.setdefault(
"useALTIROC_RDO",
True)
64 kwargs.setdefault(
"useALTIROC_RDO",
False)
66 acc.addEventAlgo(CompFactory.ActsTrk.HgtdClusterizationAlg(name, **kwargs))
72 name: str =
"ActsPixelClusteringTool",
73 **kwargs) -> ComponentAccumulator:
74 acc = ComponentAccumulator()
76 if flags.Acts.Clusters.RetrieveChargeInformation:
77 from PixelConditionsAlgorithms.ITkPixelConditionsConfig
import ITkPixelChargeCalibCondAlgCfg, ITkPixelOfflineCalibCondAlgCfg
78 acc.merge(ITkPixelChargeCalibCondAlgCfg(flags))
79 acc.merge(ITkPixelOfflineCalibCondAlgCfg(flags))
80 kwargs.setdefault(
'PixelChargeCalibCondData',
'ITkPixelChargeCalibCondData')
82 if "PixelLorentzAngleTool" not in kwargs:
83 from SiLorentzAngleTool.ITkPixelLorentzAngleConfig
import ITkPixelLorentzAngleToolCfg
84 kwargs.setdefault(
"PixelLorentzAngleTool", acc.popToolsAndMerge( ITkPixelLorentzAngleToolCfg(flags) ))
86 kwargs.setdefault(
'UseWeightedPosition', flags.Acts.Clusters.UseWeightedPosition)
89 kwargs.setdefault(
'UseBroadErrors', flags.Acts.Clusters.UsePixelBroadErrors
or flags.Beam.Type
is BeamType.Cosmics)
91 if flags.Acts.EDM.PhaseII :
92 acc.setPrivateTools(CompFactory.ActsTrk.PhaseIIPixelClusteringTool(name, **kwargs))
94 acc.setPrivateTools(CompFactory.ActsTrk.PixelClusteringTool(name, **kwargs))
99 name: str =
"ActsPLRClusteringTool",
100 **kwargs) -> ComponentAccumulator:
101 acc = ComponentAccumulator()
103 if flags.Acts.Clusters.RetrieveChargeInformation:
104 from PixelConditionsAlgorithms.PLR_ConditionsConfig
import PLR_ChargeCalibCondAlgCfg
105 acc.merge(PLR_ChargeCalibCondAlgCfg(flags))
106 kwargs.setdefault(
"PixelChargeCalibCondData",
"PLR_ChargeCalibCondData")
108 if "PixelLorentzAngleTool" not in kwargs:
109 from SiLorentzAngleTool.PLR_LorentzAngleConfig
import PLR_LorentzAngleToolCfg
110 kwargs.setdefault(
"PixelLorentzAngleTool",
111 acc.popToolsAndMerge(PLR_LorentzAngleToolCfg(flags)))
113 kwargs.setdefault(
"IDHelperName",
"PLR_ID")
114 kwargs.setdefault(
"UseWeightedPosition", flags.Acts.Clusters.UseWeightedPosition)
117 kwargs.setdefault(
"UseBroadErrors",
118 flags.Acts.Clusters.UsePixelBroadErrors
or flags.Beam.Type
is BeamType.Cosmics)
120 if flags.Acts.EDM.PhaseII :
121 acc.setPrivateTools(CompFactory.ActsTrk.PhaseIIPixelClusteringTool(name, **kwargs))
123 acc.setPrivateTools(CompFactory.ActsTrk.PixelClusteringTool(name, **kwargs))
128 name: str =
"ActsStripClusteringTool",
129 **kwargs) -> ComponentAccumulator:
130 acc = ComponentAccumulator()
132 if 'LorentzAngleTool' not in kwargs:
133 from SiLorentzAngleTool.ITkStripLorentzAngleConfig
import ITkStripLorentzAngleToolCfg
134 kwargs.setdefault(
"LorentzAngleTool", acc.popToolsAndMerge(ITkStripLorentzAngleToolCfg(flags)))
136 if "StripDetElStatus" not in kwargs :
137 from SCT_ConditionsAlgorithms.ITkStripConditionsAlgorithmsConfig
import (
138 ITkStripDetectorElementStatusAlgCfg)
139 acc.merge(ITkStripDetectorElementStatusAlgCfg(flags))
140 kwargs.setdefault(
"StripDetElStatus",
"ITkStripDetectorElementStatus")
143 kwargs.setdefault(
"maxFiredStrips", 0)
145 if flags.ITk.selectStripIntimeHits
and 'timeBins' not in kwargs:
146 coll_25ns = flags.Beam.BunchSpacing<=25
and flags.Beam.Type
is BeamType.Collisions
147 kwargs.setdefault(
"timeBins",
"01X" if coll_25ns
else "X1X")
151 kwargs.setdefault(
"errorStrategy",flags.Acts.Clusters.StripClusteringErrorMode.value)
153 acc.setPrivateTools(CompFactory.ActsTrk.StripClusteringTool(name, **kwargs))
157 name: str =
'ActsPixelClusterizationAlg',
159 useCache: bool =
False,
160 **kwargs) -> ComponentAccumulator:
161 acc = ComponentAccumulator()
163 kwargs.setdefault(
"IDHelper",
"PixelID")
164 if flags.Acts.EDM.PhaseII
and flags.Input.Format
is not Format.BS:
166 acc.merge(PhaseIIPixelRawDataContainerCfg(flags, RDOKey=
"ITkPixelRDOs"))
167 kwargs.setdefault(
"RDOContainerKey",
"ITkPixelRDOs")
168 kwargs.setdefault(
"ClustersKey",
"ITkPixelClusters")
169 kwargs.setdefault(
"DetEleCollKey",
"ITkPixelDetectorElementCollection")
171 kwargs.setdefault(
'RoIs',
'ActsRegionOfInterest')
173 kwargs.setdefault(
'ClusterCacheBackend',
'ActsPixelClusterCache_Back')
174 kwargs.setdefault(
'ClusterCache',
'ActsPixelClustersCache')
176 if 'RegSelTool' not in kwargs:
177 from RegionSelector.RegSelToolConfig
import regSelTool_ITkPixel_Cfg
178 kwargs.setdefault(
'RegSelTool', acc.popToolsAndMerge(regSelTool_ITkPixel_Cfg(flags)))
180 if 'ClusteringTool' not in kwargs:
183 if 'DetElStatus' not in kwargs:
184 from PixelConditionsAlgorithms.ITkPixelConditionsConfig
import ITkPixelDetectorElementStatusAlgCfg
185 acc.merge(ITkPixelDetectorElementStatusAlgCfg(flags))
186 kwargs.setdefault(
'DetElStatus',
'ITkPixelDetectorElementStatus')
188 if flags.Acts.doMonitoring
and 'MonTool' not in kwargs:
189 from ActsConfig.ActsMonitoringConfig
import ActsITkPixelClusterizationMonitoringToolCfg
190 kwargs.setdefault(
'MonTool', acc.popToolsAndMerge(ActsITkPixelClusterizationMonitoringToolCfg(flags)))
192 if flags.Acts.EDM.PhaseII :
194 acc.addEventAlgo(CompFactory.ActsTrk.PhaseIIPixelClusterizationAlg(name, **kwargs))
196 acc.addEventAlgo(CompFactory.ActsTrk.PhaseIIPixelCacheClusterizationAlg(name, **kwargs))
199 acc.addEventAlgo(CompFactory.ActsTrk.PixelClusterizationAlg(name, **kwargs))
201 acc.addEventAlgo(CompFactory.ActsTrk.PixelCacheClusterizationAlg(name, **kwargs))
206 name: str =
"ActsPLRClusterizationAlg",
208 useCache: bool =
False,
209 **kwargs) -> ComponentAccumulator:
210 acc = ComponentAccumulator()
212 kwargs.setdefault(
"IDHelper",
"PLR_ID")
213 if flags.Acts.EDM.PhaseII
and flags.Input.Format
is not Format.BS:
215 acc.merge(PhaseIIPixelRawDataContainerCfg(flags,RDOKey=
"PLR_RDOs"))
216 kwargs.setdefault(
"RDOContainerKey",
"PLR_RDOs")
217 kwargs.setdefault(
"ClustersKey",
"PLR_Clusters")
218 kwargs.setdefault(
"DetEleCollKey",
"PLR_DetectorElementCollection")
219 kwargs.setdefault(
"RoIs",
"ActsRegionOfInterest")
221 kwargs.setdefault(
"ClusterCacheBackend",
"ActsPLRClusterCache_Back")
222 kwargs.setdefault(
"ClusterCache",
"ActsPLRClustersCache")
224 if "RegSelTool" not in kwargs:
225 from RegionSelector.RegSelToolConfig
import regSelTool_PLR_Cfg
226 kwargs.setdefault(
"RegSelTool", acc.popToolsAndMerge(regSelTool_PLR_Cfg(flags)))
228 if "ClusteringTool" not in kwargs:
231 if "DetElStatus" not in kwargs:
232 from PixelConditionsAlgorithms.PLR_ConditionsConfig
import PLR_DetectorElementStatusAlgCfg
233 acc.merge(PLR_DetectorElementStatusAlgCfg(flags))
234 kwargs.setdefault(
"DetElStatus",
"PLR_DetectorElementStatus")
236 if flags.Acts.doMonitoring
and "MonTool" not in kwargs:
237 from ActsConfig.ActsMonitoringConfig
import ActsITkPixelClusterizationMonitoringToolCfg
238 kwargs.setdefault(
"MonTool", acc.popToolsAndMerge(
239 ActsITkPixelClusterizationMonitoringToolCfg(
241 name=
"ActsPLRClusterizationMonitoringTool")))
244 if flags.Acts.EDM.PhaseII :
246 acc.addEventAlgo(CompFactory.ActsTrk.PhaseIIPixelClusterizationAlg(name, **kwargs))
248 acc.addEventAlgo(CompFactory.ActsTrk.PhaseIIPixelCacheClusterizationAlg(name, **kwargs))
251 acc.addEventAlgo(CompFactory.ActsTrk.PixelClusterizationAlg(name, **kwargs))
253 acc.addEventAlgo(CompFactory.ActsTrk.PixelCacheClusterizationAlg(name, **kwargs))
257 name: str =
'ActsStripClusterizationAlg',
258 useCache: bool =
False,
259 **kwargs) -> ComponentAccumulator:
260 acc = ComponentAccumulator()
262 kwargs.setdefault(
"RDOContainerKey",
"ITkStripRDOs")
263 kwargs.setdefault(
"ClustersKey",
"ITkStripClusters")
264 kwargs.setdefault(
"IDHelper",
"SCT_ID")
265 kwargs.setdefault(
"DetEleCollKey",
"ITkStripDetectorElementCollection")
267 kwargs.setdefault(
'RoIs',
'ActsRegionOfInterest')
269 kwargs.setdefault(
'ClusterCacheBackend',
'ActsStripClusterCache_Back')
270 kwargs.setdefault(
'ClusterCache',
'ActsStripClustersCache')
272 if 'RegSelTool' not in kwargs:
273 from RegionSelector.RegSelToolConfig
import regSelTool_ITkStrip_Cfg
274 kwargs.setdefault(
'RegSelTool', acc.popToolsAndMerge(regSelTool_ITkStrip_Cfg(flags)))
276 if 'DetElStatus' not in kwargs :
277 from SCT_ConditionsAlgorithms.ITkStripConditionsAlgorithmsConfig
import ITkStripDetectorElementStatusAlgCfg
278 acc.merge(ITkStripDetectorElementStatusAlgCfg(flags))
279 kwargs.setdefault(
"DetElStatus",
"ITkStripDetectorElementStatus")
281 if 'ClusteringTool' not in kwargs:
284 if flags.Acts.doMonitoring
and 'MonTool' not in kwargs:
285 from ActsConfig.ActsMonitoringConfig
import ActsITkStripClusterizationMonitoringToolCfg
286 kwargs.setdefault(
'MonTool', acc.popToolsAndMerge(ActsITkStripClusterizationMonitoringToolCfg(flags)))
289 acc.addEventAlgo(CompFactory.ActsTrk.StripClusterizationAlg(name, **kwargs))
291 acc.addEventAlgo(CompFactory.ActsTrk.StripCacheClusterizationAlg(name, **kwargs))
304 name: str =
"ActsPixelClusterPreparationAlg",
305 useCache: bool =
False,
306 **kwargs) -> ComponentAccumulator:
307 acc = ComponentAccumulator()
309 kwargs.setdefault(
'InputCollection',
'ITkPixelClusters')
310 kwargs.setdefault(
'DetectorElements',
'ITkPixelDetectorElementCollection')
312 if 'RegSelTool' not in kwargs:
313 from RegionSelector.RegSelToolConfig
import regSelTool_ITkPixel_Cfg
314 kwargs.setdefault(
'RegSelTool', acc.popToolsAndMerge(regSelTool_ITkPixel_Cfg(flags)))
316 if flags.Acts.doMonitoring
and 'MonTool' not in kwargs:
317 from ActsConfig.ActsMonitoringConfig
import ActsDataPreparationMonitoringToolCfg
318 kwargs.setdefault(
'MonTool', acc.popToolsAndMerge(ActsDataPreparationMonitoringToolCfg(flags,
319 name =
"ActsPixelClusterPreparationMonitoringTool")))
322 acc.addEventAlgo(CompFactory.ActsTrk.PixelClusterDataPreparationAlg(name, **kwargs))
324 acc.addEventAlgo(CompFactory.ActsTrk.PixelClusterCacheDataPreparationAlg(name, **kwargs))
328 name: str =
"ActsStripClusterPreparationAlg",
329 useCache: bool =
False,
330 **kwargs) -> ComponentAccumulator:
331 acc = ComponentAccumulator()
333 kwargs.setdefault(
'InputCollection',
'ITkStripClusters')
334 kwargs.setdefault(
'DetectorElements',
'ITkStripDetectorElementCollection')
336 if 'RegSelTool' not in kwargs:
337 from RegionSelector.RegSelToolConfig
import regSelTool_ITkStrip_Cfg
338 kwargs.setdefault(
'RegSelTool', acc.popToolsAndMerge(regSelTool_ITkStrip_Cfg(flags)))
340 if flags.Acts.doMonitoring
and 'MonTool' not in kwargs:
341 from ActsConfig.ActsMonitoringConfig
import ActsDataPreparationMonitoringToolCfg
342 kwargs.setdefault(
'MonTool', acc.popToolsAndMerge(ActsDataPreparationMonitoringToolCfg(flags,
343 name =
"ActsStripClusterPreparationMonitoringTool")))
346 acc.addEventAlgo(CompFactory.ActsTrk.StripClusterDataPreparationAlg(name, **kwargs))
348 acc.addEventAlgo(CompFactory.ActsTrk.StripClusterCacheDataPreparationAlg(name, **kwargs))
352 name: str =
'ActsHgtdClusterPreparationAlg',
354 useCache: bool =
False,
355 **kwargs) -> ComponentAccumulator:
356 acc = ComponentAccumulator()
357 kwargs.setdefault(
'InputCollection',
'HGTDClusters')
358 kwargs.setdefault(
'DetectorElements',
'HGTD_DetectorElementCollection')
362 if flags.Acts.doMonitoring
and 'MonTool' not in kwargs:
363 from ActsConfig.ActsMonitoringConfig
import ActsDataPreparationMonitoringToolCfg
364 kwargs.setdefault(
'MonTool', acc.popToolsAndMerge(ActsDataPreparationMonitoringToolCfg(flags,
365 name =
"ActsHgtdClusterPreparationMonitoringTool")))
367 acc.addEventAlgo(CompFactory.ActsTrk.HgtdClusterDataPreparationAlg(name, **kwargs))
373 RoIs: str =
"ActsRegionOfInterest",
374 **kwargs: dict) -> ComponentAccumulator:
375 assert isinstance(RoIs, str)
376 assert isinstance(kwargs, dict)
378 acc = ComponentAccumulator()
387 kwargs.setdefault(
'processPixels', flags.Detector.EnableITkPixel)
388 kwargs.setdefault(
'processStrips', flags.Detector.EnableITkStrip)
389 kwargs.setdefault(
'processHGTD', flags.Acts.useHGTDClusterInTrackFinding
and flags.Detector.EnableHGTD)
390 kwargs.setdefault(
'runCacheCreation', flags.Acts.useCache)
391 kwargs.setdefault(
'runReconstruction',
True)
392 kwargs.setdefault(
'runPreparation', flags.Acts.useCache)
395 if kwargs[
'runCacheCreation']:
397 **extractChildKwargs(prefix=
'ClusterCacheCreatorAlg.', **kwargs)))
400 if kwargs[
'runReconstruction']:
401 if kwargs[
'processPixels']:
402 if flags.Input.Format
is Format.BS:
403 if flags.Acts.EDM.PhaseII :
404 from ITkPixelByteStreamCnv.ITkPixelByteStreamCnvConfig
import ITkPixelDecodingPhaseIIRDOAlgCfg
406 acc.merge( ITkPixelDecodingPhaseIIRDOAlgCfg(flags, nRDOs = 1200000, pixelRDOKey=
'ITkPixelRDOs') )
408 from ITkPixelByteStreamCnv.ITkPixelByteStreamCnvConfig
import ITkPixelDecodingAlgCfg
410 acc.merge( ITkPixelDecodingAlgCfg(flags) )
414 **extractChildKwargs(prefix=
'PixelClusterizationAlg.', **kwargs)))
415 if kwargs[
'processStrips']:
416 if flags.Input.Format
is Format.BS:
417 from ITkStripsByteStreamCnv.ITkStripByteStreamCnvConfig
import ITkStripRawDataProviderCfg
419 acc.merge(ITkStripRawDataProviderCfg(flags,
424 **extractChildKwargs(prefix=
'StripClusterizationAlg.', **kwargs)))
425 if kwargs[
'processHGTD']:
427 **extractChildKwargs(prefix=
'HgtdClusterizationAlg.', **kwargs)))
429 if kwargs[
'runPreparation']:
430 if kwargs[
'processPixels']:
433 **extractChildKwargs(prefix=
'PixelClusterPreparationAlg.', **kwargs)))
435 if kwargs[
'processStrips']:
438 **extractChildKwargs(prefix=
'StripClusterPreparationAlg.', **kwargs)))
440 if kwargs[
'processHGTD']:
443 **extractChildKwargs(prefix=
'HgtdClusterPreparationAlg.', **kwargs)))
446 if flags.Acts.Clusters.doAnalysis:
447 if kwargs[
'processPixels']:
448 from ActsConfig.ActsAnalysisConfig
import ActsPixelClusterAnalysisAlgCfg
449 acc.merge(ActsPixelClusterAnalysisAlgCfg(flags, **extractChildKwargs(prefix=
'PixelClusterAnalysisAlg.', **kwargs)))
451 if kwargs[
'processStrips']:
452 from ActsConfig.ActsAnalysisConfig
import ActsStripClusterAnalysisAlgCfg
453 acc.merge(ActsStripClusterAnalysisAlgCfg(flags, **extractChildKwargs(prefix=
'StripClusterAnalysisAlg.', **kwargs)))
459 previousActsExtension: str =
None) -> ComponentAccumulator:
460 assert previousActsExtension
is None or isinstance(previousActsExtension, str)
462 acc = ComponentAccumulator()
464 processPixels = flags.Detector.EnableITkPixel
465 processStrips = flags.Detector.EnableITkStrip
466 processHGTD = flags.Acts.useHGTDClusterInTrackFinding
and flags.Detector.EnableHGTD
469 kwargs.setdefault(
'processPixels', processPixels)
470 kwargs.setdefault(
'processStrips', processStrips)
471 kwargs.setdefault(
'processHGTD', processHGTD)
489 from InDetConfig.ITkActsHelpers
import isPrimaryPass, isValidationPass
490 if isPrimaryPass(flags)
or isValidationPass(flags):
493 kwargs.setdefault(
'runCacheCreation', flags.Acts.useCache)
494 kwargs.setdefault(
'runReconstruction',
True)
495 kwargs.setdefault(
'runPreparation', flags.Acts.useCache)
498 kwargs.setdefault(
'runCacheCreation',
False)
499 kwargs.setdefault(
'runReconstruction', flags.Acts.useCache)
500 kwargs.setdefault(
'runPreparation',
True)
503 roisName = f
'{flags.Tracking.ActiveConfig.extension}RegionOfInterest'
505 if flags.Tracking.ActiveConfig.isLargeD0
and flags.Tracking.ActiveConfig.isSecondaryPass:
506 from InDetConfig.ITkActsHelpers
import primaryPassExtension
507 roisName = f
'{primaryPassExtension(flags)}RegionOfInterest'
511 primaryPixelClustersName =
'ITkPixelClusters'
512 primaryStripClustersName =
'ITkStripClusters'
513 primaryHgtdClustersName =
'HGTD_Clusters'
514 pixelClustersName = primaryPixelClustersName
515 stripClustersName = primaryStripClustersName
516 hgtdClustersName = primaryHgtdClustersName
519 if flags.Tracking.ActiveConfig.isSecondaryPass:
520 keyPrefix = flags.Tracking.ActiveConfig.extension.replace(
"Acts",
"")
521 pixelClustersName = f
'ITk{keyPrefix}PixelClusters'
522 stripClustersName = f
'ITk{keyPrefix}StripClusters'
523 hgtdClustersName = f
'{keyPrefix}HGTD_Clusters'
526 if kwargs[
'runCacheCreation']:
527 kwargs.setdefault(
'ClusterCacheCreatorAlg.name', f
'{flags.Tracking.ActiveConfig.extension}ClusterCacheCreatorAlg')
530 if kwargs[
'runReconstruction']:
531 if kwargs[
'processPixels']:
532 kwargs.setdefault(
'PixelClusterizationAlg.name', f
'{flags.Tracking.ActiveConfig.extension}PixelClusterizationAlg')
533 kwargs.setdefault(
'PixelClusterizationAlg.useCache', flags.Acts.useCache)
534 kwargs.setdefault(
'PixelClusterizationAlg.ClustersKey', pixelClustersName)
535 kwargs.setdefault(
'PixelClusterizationAlg.ClusterCache', f
'{flags.Tracking.ActiveConfig.extension}PixelClustersCache')
536 if flags.Tracking.ActiveConfig.isSecondaryPass
and previousActsExtension
is not None:
537 kwargs.setdefault(
'PixelClusterizationAlg.ExtraInputs', {(
'ActsTrk::PrepRawDataAssociation', f
'StoreGateSvc+{previousActsExtension}PrdMap')})
539 if kwargs[
'processStrips']:
540 kwargs.setdefault(
'StripClusterizationAlg.name', f
'{flags.Tracking.ActiveConfig.extension}StripClusterizationAlg')
541 kwargs.setdefault(
'StripClusterizationAlg.useCache', flags.Acts.useCache)
542 kwargs.setdefault(
'StripClusterizationAlg.ClustersKey', stripClustersName)
543 kwargs.setdefault(
'StripClusterizationAlg.ClusterCache', f
'{flags.Tracking.ActiveConfig.extension}StripClustersCache')
544 if flags.Tracking.ActiveConfig.isSecondaryPass
and previousActsExtension
is not None:
545 kwargs.setdefault(
'StripClusterizationAlg.ExtraInputs', {(
'ActsTrk::PrepRawDataAssociation', f
'StoreGateSvc+{previousActsExtension}PrdMap')})
547 if kwargs[
'processHGTD']:
548 kwargs.setdefault(
'HgtdClusterizationAlg.name', f
'{flags.Tracking.ActiveConfig.extension}HgtdClusterizationAlg')
550 kwargs.setdefault(
'HgtdClusterizationAlg.ClusterContainerName', hgtdClustersName)
551 if flags.Tracking.ActiveConfig.isSecondaryPass
and previousActsExtension
is not None:
552 kwargs.setdefault(
'HgtdClusterizationAlg.ExtraInputs', {(
'ActsTrk::PrepRawDataAssociation', f
'StoreGateSvc+{previousActsExtension}PrdMap')})
556 if kwargs[
'runPreparation']:
557 if kwargs[
'processPixels']:
558 kwargs.setdefault(
'PixelClusterPreparationAlg.name', f
'{flags.Tracking.ActiveConfig.extension}PixelClusterPreparationAlg')
559 kwargs.setdefault(
'PixelClusterPreparationAlg.useCache', flags.Acts.useCache)
560 kwargs.setdefault(
'PixelClusterPreparationAlg.OutputCollection', f
'{pixelClustersName}_Cached' if kwargs[
'runReconstruction']
else pixelClustersName)
562 if not flags.Acts.useCache:
564 kwargs.setdefault(
'PixelClusterPreparationAlg.InputCollection', pixelClustersName
if kwargs[
'runReconstruction']
else primaryPixelClustersName)
565 kwargs.setdefault(
'PixelClusterPreparationAlg.InputIDC',
'')
567 kwargs.setdefault(
'PixelClusterPreparationAlg.InputCollection',
'')
568 kwargs.setdefault(
'PixelClusterPreparationAlg.InputIDC', f
'{flags.Tracking.ActiveConfig.extension}PixelClustersCache')
570 if flags.Tracking.ActiveConfig.isSecondaryPass
and previousActsExtension
is not None:
571 kwargs.setdefault(
'PixelClusterPreparationAlg.InputPrdMap', f
'{previousActsExtension}PrdMap')
573 if kwargs[
'processStrips']:
574 kwargs.setdefault(
'StripClusterPreparationAlg.name', f
'{flags.Tracking.ActiveConfig.extension}StripClusterPreparationAlg')
575 kwargs.setdefault(
'StripClusterPreparationAlg.useCache', flags.Acts.useCache)
576 kwargs.setdefault(
'StripClusterPreparationAlg.OutputCollection', f
'{stripClustersName}_Cached' if kwargs[
'runReconstruction']
else stripClustersName)
577 if not flags.Acts.useCache:
578 kwargs.setdefault(
'StripClusterPreparationAlg.InputCollection', stripClustersName
if kwargs[
'runReconstruction']
else primaryStripClustersName)
579 kwargs.setdefault(
'StripClusterPreparationAlg.InputIDC',
'')
581 kwargs.setdefault(
'StripClusterPreparationAlg.InputCollection',
'')
582 kwargs.setdefault(
'StripClusterPreparationAlg.InputIDC', f
'{flags.Tracking.ActiveConfig.extension}StripClustersCache')
584 if flags.Tracking.ActiveConfig.isSecondaryPass
and previousActsExtension
is not None:
585 kwargs.setdefault(
'StripClusterPreparationAlg.InputPrdMap', f
'{previousActsExtension}PrdMap')
587 if kwargs[
'processHGTD']:
588 kwargs.setdefault(
'HgtdClusterPreparationAlg.name', f
'{flags.Tracking.ActiveConfig.extension}HgtdClusterPreparationAlg')
589 kwargs.setdefault(
'HgtdClusterPreparationAlg.OutputCollection', f
'{hgtdClustersName}_Cached' if kwargs[
'runReconstruction']
else hgtdClustersName)
590 kwargs.setdefault(
'HgtdClusterPreparationAlg.InputCollection', hgtdClustersName
if kwargs[
'runReconstruction']
else primaryHgtdClustersName)
591 kwargs.setdefault(
'HgtdClusterPreparationAlg.InputIDC',
'')
592 if flags.Tracking.ActiveConfig.isSecondaryPass
and previousActsExtension
is not None:
593 kwargs.setdefault(
'HgtdClusterPreparationAlg.InputPrdMap', f
'{previousActsExtension}PrdMap')
596 if flags.Acts.Clusters.doAnalysis:
599 if kwargs[
'processPixels']:
600 kwargs.setdefault(
'PixelClusterAnalysisAlg.name', f
'{flags.Tracking.ActiveConfig.extension}PixelClusterAnalysisAlg')
601 kwargs.setdefault(
'PixelClusterAnalysisAlg.extension', flags.Tracking.ActiveConfig.extension)
602 kwargs.setdefault(
'PixelClusterAnalysisAlg.MonGroupName', f
'{flags.Tracking.ActiveConfig.extension}ClusterAnalysisAlg')
603 kwargs.setdefault(
'PixelClusterAnalysisAlg.ClusterContainerKey', kwargs[
'PixelClusterPreparationAlg.OutputCollection']
if kwargs[
'runPreparation']
else kwargs[
'PixelClusterizationAlg.ClustersKey'])
605 if kwargs[
'processStrips']:
606 kwargs.setdefault(
'StripClusterAnalysisAlg.name', f
'{flags.Tracking.ActiveConfig.extension}StripClusterAnalysisAlg')
607 kwargs.setdefault(
'StripClusterAnalysisAlg.extension', flags.Tracking.ActiveConfig.extension)
608 kwargs.setdefault(
'StripClusterAnalysisAlg.MonGroupName', f
'{flags.Tracking.ActiveConfig.extension}ClusterAnalysisAlg')
609 kwargs.setdefault(
'StripClusterAnalysisAlg.ClusterContainerKey', kwargs[
'StripClusterPreparationAlg.OutputCollection']
if kwargs[
'runPreparation']
else kwargs[
'StripClusterizationAlg.ClustersKey'])
611 if kwargs[
'processHGTD']:
612 kwargs.setdefault(
'HgtdClusterAnalysisAlg.name', f
'{flags.Tracking.ActiveConfig.extension}HgtdClusterAnalysisAlg')
613 kwargs.setdefault(
'HgtdClusterAnalysisAlg.extension', flags.Tracking.ActiveConfig.extension)
614 kwargs.setdefault(
'HgtdClusterAnalysisAlg.MonGroupName', f
'{flags.Tracking.ActiveConfig.extension}ClusterAnalysisAlg')
619 if flags.Acts.EDM.PersistifyClusters
and kwargs[
'runReconstruction']:
620 from ActsConfig.ActsPersistificationConfig
import PersistifyClusters
621 pixelClusterCollections =
None if not kwargs[
'processPixels']
else [kwargs[
'PixelClusterizationAlg.ClustersKey']]
622 stripClusterCollections =
None if not kwargs[
'processStrips']
else [kwargs[
'StripClusterizationAlg.ClustersKey']]
623 hgtdClusterCollections =
None if not kwargs[
'processHGTD']
else [kwargs[
'HgtdClusterizationAlg.ClusterContainerName']]
624 acc.merge(PersistifyClusters(flags,
625 pixelClusterCollections=pixelClusterCollections,
626 stripClusterCollections=stripClusterCollections,
627 hgtdClusterCollections=hgtdClusterCollections))