3 from AthenaConfiguration.ComponentFactory
import CompFactory
4 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
9 kwarg.setdefault(
'bdfID', flags.FPGADataPrep.bdfID)
10 kwarg.setdefault(
'xclbin', flags.FPGADataPrep.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)
19 kwarg.setdefault(
'doEmulation', flags.FPGADataPrep.DoEmulation)
23 from EFTrackingFPGAPipeline.DataPrepConfig
import xAODClusterMakerCfg
25 kwarg.setdefault(
'xAODClusterMaker', clusterMakerTool)
28 from EFTrackingFPGAUtility.FPGADataFormatter
import FPGATestVectorToolCfg
30 kwarg.setdefault(
'TestVectorTool', testVectorTool)
33 acc.addService(CompFactory.ChronoStatSvc(
35 PrintSystemTime =
True,
36 PrintEllapsedTime =
True
39 acc.addEventAlgo(CompFactory.EFTrackingFPGAIntegration.BenchmarkAlg(**kwarg))
45 from FPGAClusterSorting.FPGAClusterSortingConfig
import FPGAClusterSortingAlgCfg
48 acc.merge(ClusterSorting)
52 if __name__ ==
"__main__":
53 from AthenaConfiguration.AllConfigFlags
import initConfigFlags
56 flags.Detector.EnableCalo =
False
57 flags.FPGADataPrep.DoActs =
True
60 flags.FPGADataPrep.PassThrough.ClusterOnly =
True
62 if flags.FPGADataPrep.PassThrough.ClusterOnly:
63 flags.Acts.useCache =
False
64 flags.Tracking.ITkMainPass.doActsSeed =
True
66 flags.Tracking.ITkMainPass.doAthenaToActsCluster =
True
67 flags.Tracking.ITkMainPass.doAthenaToActsSpacePoint =
True
68 flags.Tracking.ITkMainPass.doAthenaSpacePoint =
True
69 from ActsConfig.ActsCIFlags
import actsLegacyWorkflowFlags
71 flags.Acts.doRotCorrection =
False
73 flags.Concurrency.NumThreads = 1
74 flags.Input.Files = [
"/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/PhaseIIUpgrade/EFTracking/ATLAS-P2-RUN4-03-00-00/RDO/reg0_singlemu.root"]
76 flags.Output.AODFileName =
"FPGA.Benchmark.AOD.pool.root"
77 flags.Debug.DumpEvtStore=
False
80 flags = flags.cloneAndReplace(
"Tracking.ActiveConfig",
"Tracking.ITkMainPass", keepOriginal=
True)
84 from AthenaConfiguration.MainServicesConfig
import MainServicesCfg
87 from AthenaPoolCnvSvc.PoolReadConfig
import PoolReadCfg
93 from xAODTruthCnv.xAODTruthCnvConfig
import GEN_AOD2xAODCfg
97 from InDetConfig.ITkTrackRecoConfig
import ITkTrackRecoCfg
100 from InDetConfig.InDetPrepRawDataToxAODConfig
import TruthParticleIndexDecoratorAlgCfg
107 "xAOD::StripClusterContainer#FPGAStripClusters",
108 "xAOD::StripClusterAuxContainer#FPGAStripClustersAux.",
109 "xAOD::PixelClusterContainer#FPGAPixelClusters",
110 "xAOD::PixelClusterAuxContainer#FPGAPixelClustersAux.",
114 if flags.FPGADataPrep.DoActs:
117 from EFTrackingFPGAUtility.DataPrepToActsConfig
import UseActsSpacePointFormationCfg
124 from FPGATrackSimConfTools.FPGATrackSimDataPrepConfig
import FPGATrackSimDataPrepConnectToFastTracking
126 **{
'PixelSeedingAlg.InputSpacePoints' : [
'FPGAPixelSpacePoints'],
127 'StripSeedingAlg.InputSpacePoints' : [
''],
128 'TrackFindingAlg.UncalibratedMeasurementContainerKeys' : [
"SortedFPGAPixelClusters",
"SortedFPGAStripClusters"],
129 'PixelClusterToTruthAssociationAlg.Measurements' :
'SortedFPGAPixelClusters',
130 'StripClusterToTruthAssociationAlg.Measurements' :
'SortedFPGAStripClusters'}))
136 "xAOD::TrackParticleContainer#FPGATrackParticles",
137 "xAOD::TrackParticleAuxContainer#FPGATrackParticlesAux."
141 from InDetConfig.InDetPrepRawDataToxAODConfig
import ITkActsPrepDataToxAODCfg
143 PixelMeasurementContainer =
"ITkPixelMeasurements_offl",
144 StripMeasurementContainer =
"ITkStripMeasurements_offl" ) )
145 OutputItemList += [
'xAOD::TrackMeasurementValidationContainer#ITkPixelMeasurements_offl',
146 'xAOD::TrackMeasurementValidationAuxContainer#ITkPixelMeasurements_offlAux.',
147 'xAOD::TrackMeasurementValidationContainer#ITkStripMeasurements_offl',
148 'xAOD::TrackMeasurementValidationAuxContainer#ITkStripMeasurements_offlAux.']
150 from EFTrackingFPGAOutputValidation.FPGAOutputValidationConfig
import FPGAOutputValidationCfg
152 "pixelKeys": [
"FPGAPixelClusters",
"ITkPixelClusters"],
153 "stripKeys": [
"FPGAStripClusters",
"ITkStripClusters"],
154 'doDiffHistograms':
True,
156 'allowedRdoMisses': 1000}))
160 from xAODMetaDataCnv.InfileMetaDataConfig
import SetupMetaDataForStreamCfg
161 from AthenaConfiguration.Enums
import MetadataCategory
164 MetadataCategory.ByteStreamMetaData,
165 MetadataCategory.LumiBlockMetaData,
166 MetadataCategory.TruthMetaData,
167 MetadataCategory.IOVMetaData,],))
169 from OutputStreamAthenaPool.OutputStreamConfig
import addToAOD
170 cfg.merge(
addToAOD(flags, OutputItemList))
172 cfg.run(flags.Exec.MaxEvents)