3 from AthenaConfiguration.ComponentFactory
import CompFactory
4 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
9 kwarg.setdefault(
'bdfID',
'0000:83:00.1')
10 kwarg.setdefault(
'xclbin',
'/eos/project/a/atlas-eftracking/FPGA_compilation/FPGA_compilation_hw/F110/kernels.hw.xclbin')
11 kwarg.setdefault(
'PixelClusterKernelName',
'pixel_clustering_tool')
12 kwarg.setdefault(
'StripClusterKernelName',
'processHits')
13 kwarg.setdefault(
'PixelL2GKernelName',
'l2g_pixel_tool')
14 kwarg.setdefault(
'StripL2GKernelName',
'l2g_strip_tool')
15 kwarg.setdefault(
'EDMPrepKernelName',
'EDMPrep')
16 kwarg.setdefault(
'InputPixelClusterKey',
'ITkPixelClusters')
17 kwarg.setdefault(
'InputStripClusterKey',
'ITkStripClusters')
18 kwarg.setdefault(
'runPassThrough', flags.FPGADataPrep.RunPassThrough)
21 from EFTrackingFPGAPipeline.DataPrepConfig
import xAODClusterMakerCfg
23 kwarg.setdefault(
'xAODClusterMaker', clusterMakerTool)
26 from EFTrackingFPGAUtility.FPGADataFormatter
import FPGATestVectorToolCfg
28 kwarg.setdefault(
'TestVectorTool', testVectorTool)
31 acc.addService(CompFactory.ChronoStatSvc(
33 PrintSystemTime =
True,
34 PrintEllapsedTime =
True
37 acc.addEventAlgo(CompFactory.EFTrackingFPGAIntegration.BenchmarkAlg(**kwarg))
42 if __name__ ==
"__main__":
43 from AthenaConfiguration.AllConfigFlags
import initConfigFlags
47 from EFTrackingFPGAPipeline.IntegrationConfigFlag
import addFPGADataPrepFlags
50 flags.Detector.EnableCalo =
False
51 flags.FPGADataPrep.DoActs =
True
54 flags.FPGADataPrep.PassThrough.ClusterOnly =
True
56 if flags.FPGADataPrep.PassThrough.ClusterOnly:
57 flags.Acts.useCache =
False
58 flags.Tracking.ITkMainPass.doActsSeed =
True
60 flags.Tracking.ITkMainPass.doAthenaToActsCluster =
True
61 flags.Tracking.ITkMainPass.doAthenaToActsSpacePoint =
True
62 flags.Tracking.ITkMainPass.doAthenaSpacePoint =
True
63 from TrkConfig.TrkConfigFlags
import TrackingComponent
64 flags.Tracking.recoChain = [TrackingComponent.ActsChain]
65 flags.Acts.doRotCorrection =
False
67 flags.Concurrency.NumThreads = 1
68 flags.Input.Files = [
"/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/PhaseIIUpgrade/EFTracking/ATLAS-P2-RUN4-03-00-00/RDO/reg0_singlemu.root"]
70 flags.Output.AODFileName =
"FPGA.Benchmark.AOD.pool.root"
71 flags.Debug.DumpEvtStore=
False
74 flags = flags.cloneAndReplace(
"Tracking.ActiveConfig",
"Tracking.ITkMainPass", keepOriginal=
True)
78 from AthenaConfiguration.MainServicesConfig
import MainServicesCfg
81 from AthenaPoolCnvSvc.PoolReadConfig
import PoolReadCfg
87 from xAODTruthCnv.xAODTruthCnvConfig
import GEN_AOD2xAODCfg
91 from InDetConfig.ITkTrackRecoConfig
import ITkTrackRecoCfg
94 from InDetConfig.InDetPrepRawDataToxAODConfig
import TruthParticleIndexDecoratorAlgCfg
101 "xAOD::StripClusterContainer#FPGAStripClusters",
102 "xAOD::StripClusterAuxContainer#FPGAStripClustersAux.",
103 "xAOD::PixelClusterContainer#FPGAPixelClusters",
104 "xAOD::PixelClusterAuxContainer#FPGAPixelClustersAux.",
108 if flags.FPGADataPrep.DoActs:
111 from EFTrackingFPGAUtility.DataPrepToActsConfig
import UseActsSpacePointFormationCfg
115 from FPGATrackSimConfTools.FPGATrackSimDataPrepConfig
import FPGATrackSimDataPrepConnectToFastTracking
117 **{
'PixelSeedingAlg.InputSpacePoints' : [
'FPGAPixelSpacePoints'],
118 'StripSeedingAlg.InputSpacePoints' : [
''],
119 'TrackFindingAlg.UncalibratedMeasurementContainerKeys' : [
"FPGAPixelClusters",
"FPGAStripClusters"],
120 'PixelClusterToTruthAssociationAlg.Measurements' :
'FPGAPixelClusters',
121 'StripClusterToTruthAssociationAlg.Measurements' :
'FPGAStripClusters'}))
127 "xAOD::TrackParticleContainer#FPGATrackParticles",
128 "xAOD::TrackParticleAuxContainer#FPGATrackParticlesAux."
131 from EFTrackingFPGAOutputValidation.FPGAOutputValidationConfig
import FPGAOutputValidationCfg
133 "pixelKeys": [
"FPGAPixelClusters",
"ITkPixelClusters"],
134 "stripKeys": [
"FPGAStripClusters",
"ITkStripClusters"],
135 'doDiffHistograms':
True,
137 'allowedRdoMisses': 1000}))
141 from xAODMetaDataCnv.InfileMetaDataConfig
import SetupMetaDataForStreamCfg
142 from AthenaConfiguration.Enums
import MetadataCategory
145 MetadataCategory.ByteStreamMetaData,
146 MetadataCategory.LumiBlockMetaData,
147 MetadataCategory.TruthMetaData,
148 MetadataCategory.IOVMetaData,],))
150 from OutputStreamAthenaPool.OutputStreamConfig
import addToAOD
151 cfg.merge(
addToAOD(flags, OutputItemList))
153 cfg.run(flags.Exec.MaxEvents)