ATLAS Offline Software
PixelClusteringConfig.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2 
3 from AthenaConfiguration.ComponentFactory import CompFactory
4 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
5 from AthenaCommon.Constants import DEBUG
6 
7 def FPGADataFormatToolCfg(flags, name = 'FPGADataFormatTool', **kwarg):
8 
10 
11  kwarg.setdefault('name', name)
12  acc.setPrivateTools(CompFactory.FPGADataFormatTool(**kwarg))
13 
14  return acc
15 
16 def PixelClusteringCfg(flags, name = 'PixelClustering', **kwarg):
18 
19  tool = acc.popToolsAndMerge(FPGADataFormatToolCfg(flags))
20 
21  kwarg.setdefault('name', name)
22  kwarg.setdefault('xclbin', 'F110.hw.xclbin')
23  kwarg.setdefault('KernelName', 'pixel_clustering_tool')
24  kwarg.setdefault('InputTV', '')
25  kwarg.setdefault('RefTV', '')
26  kwarg.setdefault('FPGADataFormatTool', tool)
27 
28  acc.addEventAlgo(CompFactory.PixelClustering(**kwarg))
29 
30  return acc
31 
32 if __name__=="__main__":
33  from AthenaConfiguration.AllConfigFlags import initConfigFlags
34  from InDetConfig.ITkTrackRecoConfig import ITkTrackRecoCfg
35 
36  flags = initConfigFlags()
37  flags.Concurrency.NumThreads = 1
38  #flags.Input.Files = ["/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/PhaseIIUpgrade/RDO/ATLAS-P2-RUN4-03-00-00/mc21_14TeV.900498.PG_single_muonpm_Pt100_etaFlatnp0_43.recon.RDO.e8481_s4149_r14697/RDO.33675668._000016.pool.root.1"]
39  flags.Input.Files = ["/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/PhaseIIUpgrade/RDO/ATLAS-P2-RUN4-03-00-00/mc21_14TeV.601229.PhPy8EG_A14_ttbar_hdamp258p75_SingleLep.recon.RDO.e8481_s4149_r14700/RDO.33629020._000047.pool.root.1"]
40 
41  # Disable calo for this test
42  flags.Detector.EnableCalo = False
43 
44  # ensure that the xAOD SP and cluster containers are available
45  flags.Tracking.ITkMainPass.doAthenaToActsSpacePoint=True
46  flags.Tracking.ITkMainPass.doAthenaToActsCluster=True
47 
48  flags.Acts.doRotCorrection = False
49 
50  flags.Debug.DumpEvtStore = True
51  flags.lock()
52  flags = flags.cloneAndReplace("Tracking.ActiveConfig","Tracking.MainPass")
53 
54  # Main services
55  from AthenaConfiguration.MainServicesConfig import MainServicesCfg
56  cfg=MainServicesCfg(flags)
57  cfg.getService("MessageSvc").debugLimit = 99999999
58 
59  from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
60  cfg.merge(PoolReadCfg(flags))
61 
62  from EFTrackingFPGAIntegration.FPGAOutputValidationConfig import FPGAOutputValidationCfg
63  cfg.merge(FPGAOutputValidationCfg(flags, **{
64  "pixelKeys": ["FPGAPixelClusters", "ITkPixelClusters"],
65  }))
66 
67  #Truth
68  if flags.Input.isMC:
69  from xAODTruthCnv.xAODTruthCnvConfig import GEN_AOD2xAODCfg
70  cfg.merge(GEN_AOD2xAODCfg(flags))
71 
72  # Standard reco
73  cfg.merge(ITkTrackRecoCfg(flags))
74 
75  kwarg = {}
76  kwarg["OutputLevel"] = DEBUG
77 
78  acc=PixelClusteringCfg(flags, **kwarg)
79  cfg.merge(acc)
80 
81  cfg.run(1)
python.ITkTrackRecoConfig.ITkTrackRecoCfg
ComponentAccumulator ITkTrackRecoCfg(flags)
Main ITk tracking config #####################.
Definition: ITkTrackRecoConfig.py:514
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
xAODTruthCnvConfig.GEN_AOD2xAODCfg
def GEN_AOD2xAODCfg(flags, name="GEN_AOD2xAOD", **kwargs)
Definition: xAODTruthCnvConfig.py:22
PixelClusteringConfig.PixelClusteringCfg
def PixelClusteringCfg(flags, name='PixelClustering', **kwarg)
Definition: PixelClusteringConfig.py:16
python.MainServicesConfig.MainServicesCfg
def MainServicesCfg(flags, LoopMgr='AthenaEventLoopMgr')
Definition: MainServicesConfig.py:312
PixelClusteringConfig.FPGADataFormatToolCfg
def FPGADataFormatToolCfg(flags, name='FPGADataFormatTool', **kwarg)
Definition: PixelClusteringConfig.py:7
Constants
some useful constants -------------------------------------------------—
python.AllConfigFlags.initConfigFlags
def initConfigFlags()
Definition: AllConfigFlags.py:19
python.PoolReadConfig.PoolReadCfg
def PoolReadCfg(flags)
Definition: PoolReadConfig.py:71
FPGAOutputValidationConfig.FPGAOutputValidationCfg
def FPGAOutputValidationCfg(flags, **kwargs)
Definition: FPGAOutputValidationConfig.py:3