228 previousActsExtension: str = None) -> ComponentAccumulator:
229 assert previousActsExtension is None or isinstance(previousActsExtension, str)
230
231 acc = ComponentAccumulator()
232
233 processPixels = flags.Detector.EnablePixel
234 processStrips = flags.Detector.EnableSCT
235
236 kwargs = dict()
237 kwargs.setdefault('processPixels', processPixels)
238 kwargs.setdefault('processStrips', processStrips)
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258 kwargs.setdefault('runCacheCreation', flags.Acts.useCache)
259 kwargs.setdefault('runReconstruction', True)
260 kwargs.setdefault('runPreparation', flags.Acts.useCache)
261
262
263 roisName = f'{flags.Tracking.ActiveConfig.extension}RegionOfInterest'
264
265 if flags.Tracking.ActiveConfig.extension == 'ActsLargeRadius':
266 roisName = 'ActsRegionOfInterest'
267
268
269
270 primaryPixelClustersName = 'PixelClusters'
271 primaryStripClustersName = 'SCT_Clusters'
272 pixelClustersName = primaryPixelClustersName
273 stripClustersName = primaryStripClustersName
274
275
276 if kwargs['runCacheCreation']:
277 kwargs.setdefault('ClusterCacheCreatorAlg.name', f'{flags.Tracking.ActiveConfig.extension}ClusterCacheCreatorAlg')
278
279
280 if kwargs['runReconstruction']:
281 if kwargs['processPixels']:
282 kwargs.setdefault('PixelClusterizationAlg.name', f'{flags.Tracking.ActiveConfig.extension}PixelClusterizationAlg')
283 kwargs.setdefault('PixelClusterizationAlg.useCache', flags.Acts.useCache)
284 kwargs.setdefault('PixelClusterizationAlg.ClustersKey', pixelClustersName)
285 kwargs.setdefault('PixelClusterizationAlg.ClusterCache', f'{flags.Tracking.ActiveConfig.extension}PixelClustersCache')
286
287 if kwargs['processStrips']:
288 kwargs.setdefault('StripClusterizationAlg.name', f'{flags.Tracking.ActiveConfig.extension}StripClusterizationAlg')
289 kwargs.setdefault('StripClusterizationAlg.useCache', flags.Acts.useCache)
290 kwargs.setdefault('StripClusterizationAlg.ClustersKey', stripClustersName)
291 kwargs.setdefault('StripClusterizationAlg.ClusterCache', f'{flags.Tracking.ActiveConfig.extension}StripClustersCache')
292
293
294 if kwargs['runPreparation']:
295 if kwargs['processPixels']:
296 kwargs.setdefault('PixelClusterPreparationAlg.name', f'{flags.Tracking.ActiveConfig.extension}PixelClusterPreparationAlg')
297 kwargs.setdefault('PixelClusterPreparationAlg.useCache', flags.Acts.useCache)
298 kwargs.setdefault('PixelClusterPreparationAlg.OutputCollection', f'{pixelClustersName}_Cached' if kwargs['runReconstruction'] else pixelClustersName)
299
300 if not flags.Acts.useCache:
301
302 kwargs.setdefault('PixelClusterPreparationAlg.InputCollection', pixelClustersName if kwargs['runReconstruction'] else primaryPixelClustersName)
303 kwargs.setdefault('PixelClusterPreparationAlg.InputIDC', '')
304 else:
305 kwargs.setdefault('PixelClusterPreparationAlg.InputCollection', '')
306 kwargs.setdefault('PixelClusterPreparationAlg.InputIDC', f'{flags.Tracking.ActiveConfig.extension}PixelClustersCache')
307
308 if kwargs['processStrips']:
309 kwargs.setdefault('StripClusterPreparationAlg.name', f'{flags.Tracking.ActiveConfig.extension}StripClusterPreparationAlg')
310 kwargs.setdefault('StripClusterPreparationAlg.useCache', flags.Acts.useCache)
311 kwargs.setdefault('StripClusterPreparationAlg.OutputCollection', f'{stripClustersName}_Cached' if kwargs['runReconstruction'] else stripClustersName)
312 if not flags.Acts.useCache:
313 kwargs.setdefault('StripClusterPreparationAlg.InputCollection', stripClustersName if kwargs['runReconstruction'] else primaryStripClustersName)
314 kwargs.setdefault('StripClusterPreparationAlg.InputIDC', '')
315 else:
316 kwargs.setdefault('StripClusterPreparationAlg.InputCollection', '')
317 kwargs.setdefault('StripClusterPreparationAlg.InputIDC', f'{flags.Tracking.ActiveConfig.extension}StripClustersCache')
318
319 acc.merge(ActsIDMainClusterizationCfg(flags, RoIs=roisName, **kwargs))
320 return acc