216 previousActsExtension = None) -> ComponentAccumulator:
217 acc = ComponentAccumulator()
218
219 processPixels = flags.Detector.EnablePixel
220 processStrips = flags.Detector.EnableSCT
221
222 kwargs = dict()
223 kwargs.setdefault('processPixels', processPixels)
224 kwargs.setdefault('processStrips', processStrips)
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243 kwargs.setdefault('runCacheCreation', flags.Acts.useCache)
244 kwargs.setdefault('runReconstruction', True)
245 kwargs.setdefault('runPreparation', flags.Acts.useCache)
246
247
248 processOverlapSpacePoints = processStrips
249 if flags.Tracking.ActiveConfig.extension in ['ActsConversion']:
250 processOverlapSpacePoints = False
251 kwargs.setdefault('processOverlapSpacePoints', processOverlapSpacePoints)
252
253
254 roisName = f'{flags.Tracking.ActiveConfig.extension}RegionOfInterest'
255
256 if flags.Tracking.ActiveConfig.extension == 'ActsLargeRadius':
257 roisName = 'ActsRegionOfInterest'
258
259
260
261 pixelClustersName = 'PixelClusters'
262 stripClustersName = 'SCT_Clusters'
263 pixelSpacePointsName = 'PixelSpacePoints'
264 stripSpacePointsName = 'SCT_SpacePoints'
265 stripOverlapSpacePointsName = 'OverlapSpacePoints'
266
267
268
269
270
271
272
273 primaryPixelSpacePointsName = 'PixelSpacePoints'
274 primaryStripSpacePointsName = 'SCT_SpacePoints'
275 primaryStripOverlapSpacePointsName = 'OverlapSpacePoints'
276
277
278 if kwargs['runCacheCreation']:
279 kwargs.setdefault('SpacePointCacheCreatorAlg.name', f'{flags.Tracking.ActiveConfig.extension}SpacePointCacheCreatorAlg')
280
281
282 if kwargs['runReconstruction']:
283 if kwargs['processPixels']:
284 kwargs.setdefault('PixelSpacePointFormationAlg.name', f'{flags.Tracking.ActiveConfig.extension}PixelSpacePointFormationAlg')
285 kwargs.setdefault('PixelSpacePointFormationAlg.useCache', flags.Acts.useCache)
286 kwargs.setdefault('PixelSpacePointFormationAlg.SPCache', f'{flags.Tracking.ActiveConfig.extension}PixelSpacePointCache')
287 kwargs.setdefault('PixelSpacePointFormationAlg.PixelClusters', pixelClustersName)
288 kwargs.setdefault('PixelSpacePointFormationAlg.PixelSpacePoints', pixelSpacePointsName)
289
290 if kwargs['processStrips']:
291 kwargs.setdefault('StripSpacePointFormationAlg.name', f'{flags.Tracking.ActiveConfig.extension}StripSpacePointFormationAlg')
292 kwargs.setdefault('StripSpacePointFormationAlg.useCache', flags.Acts.useCache)
293 kwargs.setdefault('StripSpacePointFormationAlg.SPCache', f'{flags.Tracking.ActiveConfig.extension}StripSpacePointCache')
294 kwargs.setdefault('StripSpacePointFormationAlg.StripClusters', stripClustersName)
295 kwargs.setdefault('StripSpacePointFormationAlg.StripSpacePoints', stripSpacePointsName)
296
297
298 kwargs.setdefault('StripSpacePointFormationAlg.ProcessOverlapForStrip', kwargs['processOverlapSpacePoints'])
299 kwargs.setdefault('StripSpacePointFormationAlg.OSPCache', f'{flags.Tracking.ActiveConfig.extension}StripOverlapSpacePointCache')
300 if kwargs['processOverlapSpacePoints']:
301 kwargs.setdefault('StripSpacePointFormationAlg.StripOverlapSpacePoints', stripOverlapSpacePointsName)
302 else:
303
304 kwargs.setdefault('StripSpacePointFormationAlg.StripOverlapSpacePoints', '')
305
306
307 if kwargs['runPreparation']:
308 if kwargs['processPixels']:
309 kwargs.setdefault('PixelSpacePointPreparationAlg.name', f'{flags.Tracking.ActiveConfig.extension}PixelSpacePointPreparationAlg')
310 kwargs.setdefault('PixelSpacePointPreparationAlg.useCache', flags.Acts.useCache)
311 kwargs.setdefault('PixelSpacePointPreparationAlg.OutputCollection', f'{pixelSpacePointsName}_Cached' if kwargs['runReconstruction'] else pixelSpacePointsName)
312
313 if not flags.Acts.useCache:
314
315 kwargs.setdefault('PixelSpacePointPreparationAlg.InputCollection', pixelSpacePointsName if kwargs['runReconstruction'] else primaryPixelSpacePointsName)
316 kwargs.setdefault('PixelSpacePointPreparationAlg.InputIDC', '')
317 else:
318 kwargs.setdefault('PixelSpacePointPreparationAlg.InputCollection', '')
319 kwargs.setdefault('PixelSpacePointPreparationAlg.InputIDC', f'{flags.Tracking.ActiveConfig.extension}PixelSpacePointCache')
320
321 if flags.Tracking.ActiveConfig.isSecondaryPass and previousActsExtension is not None:
322 kwargs.setdefault('PixelSpacePointPreparationAlg.InputPrdMap', f'{previousActsExtension}PrdMap')
323
324 if kwargs['processStrips']:
325 kwargs.setdefault('StripSpacePointPreparationAlg.name', f'{flags.Tracking.ActiveConfig.extension}StripSpacePointPreparationAlg')
326 kwargs.setdefault('StripSpacePointPreparationAlg.useCache', flags.Acts.useCache)
327 kwargs.setdefault('StripSpacePointPreparationAlg.OutputCollection', f'{stripSpacePointsName}_Cached' if kwargs['runReconstruction'] else stripSpacePointsName)
328
329 if not flags.Acts.useCache:
330
331 kwargs.setdefault('StripSpacePointPreparationAlg.InputCollection', stripSpacePointsName if kwargs['runReconstruction'] else primaryStripSpacePointsName)
332 kwargs.setdefault('StripSpacePointPreparationAlg.InputIDC', '')
333 else:
334 kwargs.setdefault('StripSpacePointPreparationAlg.InputCollection', '')
335 kwargs.setdefault('StripSpacePointPreparationAlg.InputIDC', f'{flags.Tracking.ActiveConfig.extension}StripSpacePointCache')
336
337 if flags.Tracking.ActiveConfig.isSecondaryPass and previousActsExtension is not None:
338 kwargs.setdefault('StripSpacePointPreparationAlg.InputPrdMap', f'{previousActsExtension}PrdMap')
339
340 if kwargs['processOverlapSpacePoints']:
341 kwargs.setdefault('StripOverlapSpacePointPreparationAlg.name', f'{flags.Tracking.ActiveConfig.extension}StripOverlapSpacePointPreparationAlg')
342 kwargs.setdefault('StripOverlapSpacePointPreparationAlg.useCache', flags.Acts.useCache)
343 kwargs.setdefault('StripOverlapSpacePointPreparationAlg.OutputCollection', f'{stripOverlapSpacePointsName}_Cached' if kwargs['runReconstruction'] else stripOverlapSpacePointsName)
344
345 if not flags.Acts.useCache:
346
347 kwargs.setdefault('StripOverlapSpacePointPreparationAlg.InputCollection', stripOverlapSpacePointsName if kwargs['runReconstruction'] else primaryStripOverlapSpacePointsName)
348 kwargs.setdefault('StripOverlapSpacePointPreparationAlg.InputIDC', '')
349 else:
350 kwargs.setdefault('StripOverlapSpacePointPreparationAlg.InputCollection', '')
351 kwargs.setdefault('StripOverlapSpacePointPreparationAlg.InputIDC', f'{flags.Tracking.ActiveConfig.extension}StripOverlapSpacePointCache')
352
353 if flags.Tracking.ActiveConfig.isSecondaryPass and previousActsExtension is not None:
354 kwargs.setdefault('StripOverlapSpacePointPreparationAlg.InputPrdMap', f'{previousActsExtension}PrdMap')
355
356
357 if flags.Acts.doAnalysis:
358
359
360 if kwargs['processPixels']:
361 kwargs.setdefault('PixelSpacePointAnalysisAlg.name', f'{flags.Tracking.ActiveConfig.extension}PixelSpacePointAnalysisAlg')
362 kwargs.setdefault('PixelSpacePointAnalysisAlg.extension', flags.Tracking.ActiveConfig.extension)
363 kwargs.setdefault('PixelSpacePointAnalysisAlg.SpacePointContainerKey', kwargs['PixelSpacePointPreparationAlg.OutputCollection'] if kwargs['runPreparation'] else kwargs['PixelSpacePointFormationAlg.PixelSpacePoints'])
364
365 if kwargs['processStrips']:
366 kwargs.setdefault('StripSpacePointAnalysisAlg.name', f'{flags.Tracking.ActiveConfig.extension}StripSpacePointAnalysisAlg')
367 kwargs.setdefault('StripSpacePointAnalysisAlg.extension', flags.Tracking.ActiveConfig.extension)
368 kwargs.setdefault('StripSpacePointAnalysisAlg.SpacePointContainerKey', kwargs['StripSpacePointPreparationAlg.OutputCollection'] if kwargs['runPreparation'] else kwargs['StripSpacePointFormationAlg.StripSpacePoints'])
369
370 if kwargs['processOverlapSpacePoints']:
371 kwargs.setdefault('StripOverlapSpacePointAnalysisAlg.name', f'{flags.Tracking.ActiveConfig.extension}StripOverlapSpacePointAnalysisAlg')
372 kwargs.setdefault('StripOverlapSpacePointAnalysisAlg.extension', flags.Tracking.ActiveConfig.extension)
373 kwargs.setdefault('StripOverlapSpacePointAnalysisAlg.SpacePointContainerKey', kwargs['StripOverlapSpacePointPreparationAlg.OutputCollection'] if kwargs['runPreparation'] else kwargs['StripSpacePointFormationAlg.StripOverlapSpacePoints'])
374
375 acc.merge(ActsIDMainSpacePointFormationCfg(flags, RoIs=roisName, **kwargs))
376 return acc