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', 'dataprepPipeline.xclbin')
23  #kwarg.setdefault('KernelName', 'clustering')
24  kwarg.setdefault('KernelName', 'pixel_clustering_tool')
25  kwarg.setdefault('InputTV', '')
26  kwarg.setdefault('RefTV', '')
27  kwarg.setdefault('FPGADataFormatTool', tool)
28 
29  acc.addEventAlgo(CompFactory.PixelClustering(**kwarg))
30 
31  return acc
32 
33 if __name__=="__main__":
34  from AthenaConfiguration.AllConfigFlags import initConfigFlags
35  from InDetConfig.ITkTrackRecoConfig import ITkTrackRecoCfg
36 
37  flags = initConfigFlags()
38  flags.Concurrency.NumThreads = 1
39  #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"]
40  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"]
41 
42  # Disable calo for this test
43  flags.Detector.EnableCalo = False
44 
45  # ensure that the xAOD SP and cluster containers are available
46  flags.Tracking.ITkMainPass.doAthenaToActsSpacePoint=True
47  flags.Tracking.ITkMainPass.doAthenaToActsCluster=True
48 
49  flags.Acts.doRotCorrection = False
50 
51  flags.Debug.DumpEvtStore = True
52  flags.lock()
53  flags = flags.cloneAndReplace("Tracking.ActiveConfig","Tracking.MainPass")
54 
55  # Main services
56  from AthenaConfiguration.MainServicesConfig import MainServicesCfg
57  cfg=MainServicesCfg(flags)
58  cfg.getService("MessageSvc").debugLimit = 99999999
59 
60  from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
61  cfg.merge(PoolReadCfg(flags))
62 
63  #Truth
64  if flags.Input.isMC:
65  from xAODTruthCnv.xAODTruthCnvConfig import GEN_AOD2xAODCfg
66  cfg.merge(GEN_AOD2xAODCfg(flags))
67 
68  # Standard reco
69  cfg.merge(ITkTrackRecoCfg(flags))
70 
71  kwarg = {}
72  kwarg["OutputLevel"] = DEBUG
73 
74  acc=PixelClusteringCfg(flags, **kwarg)
75  cfg.merge(acc)
76 
77  cfg.run(1)
python.ITkTrackRecoConfig.ITkTrackRecoCfg
ComponentAccumulator ITkTrackRecoCfg(flags)
Main ITk tracking config #####################.
Definition: ITkTrackRecoConfig.py:489
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
xAODTruthCnvConfig.GEN_AOD2xAODCfg
def GEN_AOD2xAODCfg(flags, name="GEN_AOD2xAOD", **kwargs)
Definition: xAODTruthCnvConfig.py:20
PixelClusteringConfig.PixelClusteringCfg
def PixelClusteringCfg(flags, name='PixelClustering', **kwarg)
Definition: PixelClusteringConfig.py:16
python.MainServicesConfig.MainServicesCfg
def MainServicesCfg(flags, LoopMgr='AthenaEventLoopMgr')
Definition: MainServicesConfig.py:260
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:69