3 from AthenaConfiguration.ComponentFactory
import CompFactory
4 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
8 kwargs.setdefault(
'perEventReports',
False)
9 kwargs.setdefault(
'xAODPixelClusterContainers',[
"ITkPixelClusters" ,
"FPGAPixelClusters"])
10 kwargs.setdefault(
'xAODStripClusterContainers',[
"ITkStripClusters" ,
"FPGAStripClusters"])
11 kwargs.setdefault(
'xAODSpacePointContainersFromFPGA',[
"FPGAPixelSpacePoints",
"FPGAStripSpacePoints",
"FPGAStripOverlapSpacePoints",
"ITkPixelSpacePoints",
"ITkStripSpacePoints",
"ITkStripOverlapSpacePoints"])
12 kwargs.setdefault(
'FPGATrackSimTracks',
'FPGATracks_1st')
13 kwargs.setdefault(
'FPGATrackSimRoads',
'FPGARoads_1st')
14 kwargs.setdefault(
'FPGATrackSimProtoTracks',[
"ActsProtoTracks_1stFromFPGATrack"])
15 kwargs.setdefault(
'FPGAActsTracks',[
"FPGAActsTracks"])
16 kwargs.setdefault(
'FPGAActsSeeds',[
'FPGAPixelSeeds',
'FPGAStripSeeds'])
17 kwargs.setdefault(
'FPGAActsSeedsParam',[
'FPGAPixelEstimatedTrackParams',
'FPGAStripEstimatedTrackParams'])
20 from FPGATrackSimReporting.FPGATrackSimReportingConfig
import FPGATrackSimReportingCfg
27 kwargs.setdefault(
'name', name)
28 acc.setPrivateTools(CompFactory.FPGADataFormatTool(**kwargs))
32 """Configure the xAODClusterMaker tool"""
36 kwarg.setdefault(
'PixelClusterContainerKey',
'FPGAPixelClusters')
37 kwarg.setdefault(
'StripClusterContainerKey',
'FPGAStripClusters')
38 kwarg.setdefault(
'DoBulkCopy',
False)
40 acc.setPrivateTools(CompFactory.xAODClusterMaker(name, **kwarg))
44 """Configure the xAODSpacePointMaker tool"""
49 kwarg.setdefault(
'PixelClusterContainerKey',
'FPGAPixelClusters')
50 kwarg.setdefault(
'StripClusterContainerKey',
'FPGAStripClusters')
52 kwarg.setdefault(
'PixelSpacePointContainerKey',
'FPGAPixelSpacePoints')
53 kwarg.setdefault(
'StripSpacePointContainerKey',
'FPGAStripSpacePoints')
55 acc.setPrivateTools(CompFactory.xAODSpacePointMaker(name, **kwarg))
62 kwarg.setdefault(
'name', name)
63 kwarg.setdefault(
'StripClusterContainerKey',
'ITkStripClusters')
64 kwarg.setdefault(
'PixelClusterContainerKey',
'ITkPixelClusters')
65 kwarg.setdefault(
'RunSW', flags.FPGADataPrep.PassThrough.RunSoftware)
66 kwarg.setdefault(
'ClusterOnlyPassThrough', flags.FPGADataPrep.PassThrough.ClusterOnly)
67 kwarg.setdefault(
'MaxClusterNum', flags.FPGADataPrep.PassThrough.MaxClusterNum)
68 kwarg.setdefault(
'MaxSpacePointNum', flags.FPGADataPrep.PassThrough.MaxSpacePointNum)
70 acc.setPrivateTools(CompFactory.PassThroughTool(**kwarg))
73 def DataPrepCfg(flags, name = "DataPreparationPipeline", **kwarg):
82 kwarg.setdefault(
'name', name)
83 kwarg.setdefault(
'xAODClusterMaker', clusterMakerTool)
84 kwarg.setdefault(
'xAODSpacePointMaker', spacePointMakerTool)
85 kwarg.setdefault(
'PassThroughTool', passThroughTool)
87 kwarg.setdefault(
'xclbin',
'')
88 kwarg.setdefault(
'PixelClusteringKernelName',
'')
89 kwarg.setdefault(
'SpacepointKernelName',
'')
90 kwarg.setdefault(
'PassThroughKernelName',
'')
91 kwarg.setdefault(
'RunPassThrough', flags.FPGADataPrep.RunPassThrough)
93 kwarg.setdefault(
'UseTV', flags.FPGADataPrep.FPGA.UseTV)
94 kwarg.setdefault(
'PixelClusterTV',
'')
95 kwarg.setdefault(
'PixelClusterRefTV',
'')
96 kwarg.setdefault(
'SpacepointTV',
'')
97 kwarg.setdefault(
'SpacepointRefTV',
'')
99 acc.addEventAlgo(CompFactory.DataPreparationPipeline(**kwarg))
102 if __name__==
"__main__":
103 from AthenaConfiguration.AllConfigFlags
import initConfigFlags
110 flags.Input.Files = [
""]
113 flags.Input.Files = [
"/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/PhaseIIUpgrade/RDO/ATLAS-P2-RUN4-03-00-00/mc21_14TeV.900492.PG_single_muonpm_Pt1_etaFlatnp0_43.recon.RDO.e8481_s4149_r14697/RDO.33645151._000047.pool.root.1"]
118 flags.Output.AODFileName =
"DataPrepAOD.pool.root"
121 flags.FPGADataPrep.RunPassThrough =
False
122 flags.FPGADataPrep.PassThrough.RunSoftware =
True
123 flags.FPGADataPrep.PassThrough.ClusterOnly =
True
125 flags.Tracking.ITkMainPass.doAthenaToActsSpacePoint=
True
126 flags.Tracking.ITkMainPass.doAthenaToActsCluster=
True
127 flags.Acts.useCache =
False
128 flags.Tracking.ITkMainPass.doActsSeed=
True
131 flags.Detector.EnableCalo =
False
136 from InDetTrackPerfMon.InDetTrackPerfMonFlags
import initializeIDTPMConfigFlags, initializeIDTPMTrkAnaConfigFlags
139 flags.PhysVal.IDTPM.outputFilePrefix =
"myIDTPM_CA"
140 flags.PhysVal.IDTPM.plotsDefFileList =
"InDetTrackPerfMon/PlotsDefFileList_default.txt"
141 flags.PhysVal.IDTPM.plotsCommonValuesFile =
"InDetTrackPerfMon/PlotsDefCommonValues.json"
142 flags.PhysVal.OutputFileName = flags.PhysVal.IDTPM.outputFilePrefix +
'.HIST.root'
143 flags.Output.doWriteAOD_IDTPM =
True
144 flags.Output.AOD_IDTPMFileName = flags.PhysVal.IDTPM.outputFilePrefix +
'.AOD_IDTPM.pool.root'
145 flags.PhysVal.IDTPM.trkAnaCfgFile =
"InDetTrackPerfMon/EFTrkAnaConfig_example.json"
149 flags.PhysVal.IDTPM.TrkAnaEF.TrigTrkKey =
"FPGATrackParticles"
150 flags.PhysVal.IDTPM.TrkAnaDoubleRatio.TrigTrkKey =
"FPGATrackParticles"
155 flags = flags.cloneAndReplace(
"Tracking.ActiveConfig",
"Tracking.MainPass", keepOriginal=
True)
156 flags = flags.cloneAndReplace(
"Tracking.ActiveConfig",
"Tracking.ITkMainPass", keepOriginal=
True)
159 from AthenaConfiguration.MainServicesConfig
import MainServicesCfg
162 from AthenaPoolCnvSvc.PoolReadConfig
import PoolReadCfg
167 from xAODTruthCnv.xAODTruthCnvConfig
import GEN_AOD2xAODCfg
171 from InDetConfig.ITkTrackRecoConfig
import ITkTrackRecoCfg
179 if flags.FPGADataPrep.DoActs:
180 from EFTrackingFPGAUtility.DataPrepToActsConfig
import DataPrepToActsCfg
186 from InDetTrackPerfMon.InDetTrackPerfMonConfig
import InDetTrackPerfMonCfg
191 from xAODMetaDataCnv.InfileMetaDataConfig
import SetupMetaDataForStreamCfg
192 from AthenaConfiguration.Enums
import MetadataCategory
195 MetadataCategory.ByteStreamMetaData,
196 MetadataCategory.LumiBlockMetaData,
197 MetadataCategory.TruthMetaData,
198 MetadataCategory.IOVMetaData,],))
200 from OutputStreamAthenaPool.OutputStreamConfig
import addToAOD
202 "xAOD::StripClusterContainer#FPGAStripClusters",
203 "xAOD::StripClusterAuxContainer#FPGAStripClustersAux.",
204 "xAOD::PixelClusterContainer#FPGAPixelClusters",
205 "xAOD::PixelClusterAuxContainer#FPGAPixelClustersAux.",
206 "xAOD::SpacePointContainer#FPGAPixelSpacePoints",
207 "xAOD::SpacePointAuxContainer#FPGAPixelSpacePointsAux.-measurements",
208 "xAOD::SpacePointContainer#FPGAStripSpacePoints",
209 "xAOD::SpacePointAuxContainer#FPGAStripSpacePointsAux.-measurements",
210 "xAOD::TrackParticleContainer#FPGATrackParticles",
211 "xAOD::TrackParticleAuxContainer#FPGATrackParticlesAux."
214 cfg.merge(
addToAOD(flags, OutputItemList))
219 if not flags.FPGADataPrep.RunPassThrough
and flags.FPGADataPrep.FPGA.UseTV: