3if __name__ ==
"__main__":
4 from argparse
import ArgumentParser
5 argumentParser = ArgumentParser()
6 argumentParser.add_argument(
8 default =
"/eos/project/a/atlas-eftracking/FPGA_compilation/FPGA_compilation_hw/22_pathfinder_HLS/Pathfinder_hw.xclbin",
11 argumentParser.add_argument(
12 "--hitTestVectorPath",
13 default =
"/eos/project/a/atlas-eftracking/TestVectors/FPGATrackSim_TVs/Test_Vectors_v0-6-3d/F150_Region34_SingleMuon/stripL2G_output.txt",
16 argumentParser.add_argument(
17 "--trackTestVectorPath",
18 default =
"/eos/project/a/atlas-eftracking/TestVectors/FPGATrackSim_TVs/Test_Vectors_v0-6-3d/F150_Region34_SingleMuon/pattern_reco_output.txt",
21 argumentParser.add_argument(
23 default =
"pathfinder_output.txt",
26 argumentParser.add_argument(
32 argumentParser.add_argument(
38 argumentParser.add_argument(
40 action =
"store_true",
43 arguments = argumentParser.parse_args()
45 from AthenaConfiguration.AllConfigFlags
import initConfigFlags
46 flags = initConfigFlags()
50 flags.Exec.OutputLevel = DEBUG
54 from AthenaConfiguration.MainServicesConfig
import MainServicesCfg
55 acc = MainServicesCfg(flags)
57 from AthenaConfiguration.ComponentFactory
import CompFactory
58 acc.addService(CompFactory.ChronoStatSvc(
60 PrintSystemTime =
True,
61 PrintEllapsedTime =
True,
64 acc.addService(CompFactory.AthXRT.DeviceMgmtSvc(XclbinPathsList = [arguments.xclbinPath]))
66 from EFTrackingFPGAUtility.EFTrackingDataStreamLoaderAlgorithmConfig
import EFTrackingDataStreamLoaderAlgorithmCfg
67 acc.merge(EFTrackingDataStreamLoaderAlgorithmCfg(
69 name =
"dataStreamLoader",
70 bufferSize = arguments.bufferSize,
71 GHITZTxtInputPaths = [
72 arguments.trackTestVectorPath,
73 arguments.hitTestVectorPath,
76 "pattern_reco_output",
81 from EFTrackingFPGAPipeline.EFTrackingXrtAlgorithmConfig
import EFTrackingXrtAlgorithmCfg
82 acc.merge(EFTrackingXrtAlgorithmCfg(
85 [
"configurableLengthWideLoader:{configurableLengthWideLoader_1}",
"pattern_reco_output", 0],
86 [
"configurableLengthWideLoader:{configurableLengthWideLoader_2}",
"stripL2G_output", 0],
89 [
"dynamicLengthWideUnloader:{dynamicLengthWideUnloader_1}",
"pathfinder_output", 1],
92 [
"configurableLengthWideLoader:{configurableLengthWideLoader_1}",
"pattern_reco_output", 2],
93 [
"configurableLengthWideLoader:{configurableLengthWideLoader_2}",
"stripL2G_output", 2],
97 "configurableLengthWideLoader:{configurableLengthWideLoader_1}",
98 "configurableLengthWideLoader:{configurableLengthWideLoader_2}",
99 "dynamicLengthWideUnloader:{dynamicLengthWideUnloader_1}",
104 from EFTrackingFPGAUtility.EFTrackingDataStreamUnloaderAlgorithmConfig
import EFTrackingDataStreamUnloaderAlgorithmCfg
105 acc.merge(EFTrackingDataStreamUnloaderAlgorithmCfg(
107 name =
"dataStreamUnloader",
108 GHITZTxtInputPaths = [
109 arguments.outputPath,
111 GHITZTxtInputKeys = [
116 acc.run(arguments.events)