ATLAS Offline Software
Loading...
Searching...
No Matches
PixelClusteringConfig.py
Go to the documentation of this file.
1# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2
3from AthenaConfiguration.ComponentFactory import CompFactory
4from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
5from AthenaCommon.Constants import DEBUG
6
7def FPGADataFormatToolCfg(flags, name = 'FPGADataFormatTool', **kwarg):
8
9 acc = ComponentAccumulator()
10
11 kwarg.setdefault('name', name)
12 acc.setPrivateTools(CompFactory.FPGADataFormatTool(**kwarg))
13
14 return acc
15
16def PixelClusteringCfg(flags, name = 'PixelClustering', **kwarg):
17 acc=ComponentAccumulator()
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
32if __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)
PixelClusteringCfg(flags, name='PixelClustering', **kwarg)
FPGADataFormatToolCfg(flags, name='FPGADataFormatTool', **kwarg)