ATLAS Offline Software
EFClusterizationConfig.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
3 from ActsConfig.ActsUtilities import extractChildKwargs
4 
5 def EFPassThroughClusterizationCfg(flags) -> ComponentAccumulator:
7 
8  kwargs = dict()
9  kwargs.setdefault('processPixels', flags.Detector.EnableITkPixel)
10  kwargs.setdefault('processStrips', flags.Detector.EnableITkStrip)
11 
12  kwargs.setdefault('runCacheCreation', flags.Acts.useCache)
13  kwargs.setdefault('runReconstruction', True)
14  kwargs.setdefault('runPreparation', flags.Acts.useCache)
15 
16  # Name of the RoI to be used
17  roisName = f'{flags.Tracking.ActiveConfig.extension}RegionOfInterest'
18 
19  # Custom names for the cluster collections before passthough
20  pixelClustersName = 'FPGAITkPixelClusters'
21  stripClustersName = 'FPGAITkStripClusters'
22 
23  if kwargs['processPixels']:
24  kwargs.setdefault('PixelClusterizationAlg.name', f'{flags.Tracking.ActiveConfig.extension}PixelClusterizationAlg')
25  kwargs.setdefault('PixelClusterizationAlg.useCache', flags.Acts.useCache)
26  kwargs.setdefault('PixelClusterizationAlg.ClustersKey', pixelClustersName)
27  kwargs.setdefault('PixelClusterizationAlg.ClusterCache', f'{flags.Tracking.ActiveConfig.extension}PixelClustersCache')
28  from ActsConfig.ActsClusterizationConfig import ActsPixelClusterizationAlgCfg
29  acc.merge(ActsPixelClusterizationAlgCfg(flags,
30  RoIs=roisName,
31  **extractChildKwargs(prefix='PixelClusterizationAlg.', **kwargs)))
32  if kwargs['processStrips']:
33  kwargs.setdefault('StripClusterizationAlg.name', f'{flags.Tracking.ActiveConfig.extension}StripClusterizationAlg')
34  kwargs.setdefault('StripClusterizationAlg.useCache', flags.Acts.useCache)
35  kwargs.setdefault('StripClusterizationAlg.ClustersKey', stripClustersName)
36  kwargs.setdefault('StripClusterizationAlg.ClusterCache', f'{flags.Tracking.ActiveConfig.extension}StripClustersCache')
37  from ActsConfig.ActsClusterizationConfig import ActsStripClusterizationAlgCfg
38  acc.merge(ActsStripClusterizationAlgCfg(flags,
39  RoIs=roisName,
40  **extractChildKwargs(prefix='StripClusterizationAlg.', **kwargs)))
41  #
42  # --- FPGA Pass Through
43  #
44  # --- from Cluster xAOD -> FPGA -> xAOD
45  #
46  from EFTrackingFPGAIntegration.DataPrepConfig import (
47  DataPrepCfg)
48  acc.merge(DataPrepCfg(flags))
49 
50  return acc
ActsClusterizationConfig.ActsPixelClusterizationAlgCfg
ComponentAccumulator ActsPixelClusterizationAlgCfg(flags, str name='ActsPixelClusterizationAlg', *bool useCache=False, **kwargs)
Definition: ActsClusterizationConfig.py:106
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
ActsUtilities.extractChildKwargs
dict extractChildKwargs(*str prefix, **dict kwargs)
Definition: ActsUtilities.py:3
ActsClusterizationConfig.ActsStripClusterizationAlgCfg
ComponentAccumulator ActsStripClusterizationAlgCfg(flags, str name='ActsStripClusterizationAlg', bool useCache=False, **kwargs)
Definition: ActsClusterizationConfig.py:140
EFClusterizationConfig.EFPassThroughClusterizationCfg
ComponentAccumulator EFPassThroughClusterizationCfg(flags)
Definition: EFClusterizationConfig.py:5
DataPrepConfig.DataPrepCfg
def DataPrepCfg(flags, name="DataPreparationPipeline", **kwarg)
Definition: DataPrepConfig.py:53