4if __name__ ==
"__main__":
5 from MuonGeoModelTestR4.testGeoModel
import SetupArgParser, MuonPhaseIITestDefaults
6 parser = SetupArgParser()
7 parser.set_defaults(nEvents = -1)
8 parser.set_defaults(outRootFile=
"InferenceHoughTest.root")
9 parser.set_defaults(noMM=
True)
10 parser.set_defaults(noSTGC=
True)
11 parser.set_defaults(inputFile=MuonPhaseIITestDefaults.HITS_PG_R3)
13 parser.add_argument(
"--noPerfMon", help=
"If set to true, full perfmonMT is enabled",
14 default=
False, action=
'store_true')
15 parser.add_argument(
"--use-cpu", action=
"store_true", default=
False,
16 help=
"Use CPU for ONNX inference")
18 args = parser.parse_args()
20 from MuonGeoModelTestR4.testGeoModel
import setupGeoR4TestCfg
21 from MuonConfig.MuonConfigUtils
import executeTest, setupHistSvcCfg
22 from AthenaConfiguration.AllConfigFlags
import initConfigFlags
24 flags = initConfigFlags()
25 flags.PerfMon.doFullMonMT =
not args.noPerfMon
27 from AthOnnxComps.OnnxRuntimeFlags
import OnnxRuntimeType
28 use_gpu_requested =
not args.use_cpu
33 import onnxruntime
as ort
34 gpu_available =
"CUDAExecutionProvider" in ort.get_available_providers()
38 gpu_available = torch.cuda.is_available()
41 if use_gpu_requested
and gpu_available:
42 flags.AthOnnx.ExecutionProvider = OnnxRuntimeType.CUDA
44 flags.AthOnnx.ExecutionProvider = OnnxRuntimeType.CPU
46 flags, cfg = setupGeoR4TestCfg(args,flags)
48 from MuonConfig.MuonDataPrepConfig
import xAODUncalibMeasPrepCfg
49 cfg.merge(xAODUncalibMeasPrepCfg(flags))
51 from MuonSpacePointFormation.SpacePointFormationConfig
import MuonSpacePointFormationCfg
52 cfg.merge(MuonSpacePointFormationCfg(flags))
53 from MuonInference.InferenceConfig
import GraphSPFilterToolCfg, GraphInferenceAlgCfg
54 cfg.merge(GraphInferenceAlgCfg(flags,InferenceTools = [cfg.popToolsAndMerge(GraphSPFilterToolCfg(flags))]))
56 from MuonPatternRecognitionAlgs.MuonHoughTransformAlgConfig
import MuonPatternRecognitionCfg
57 cfg.merge(MuonPatternRecognitionCfg(flags))
58 cfg.getEventAlgo(
"MuonEtaHoughTransformAlg").SpacePointContainer =
"FilteredMlSpacePoints"
60 cfg.merge(setupHistSvcCfg( flags,outFile=args.outRootFile,
61 outStream=
"MuonEtaHoughTransformTest"))
63 from MuonPatternRecognitionTest.PatternTestConfig
import MuonHoughTransformTesterCfg, PatternVisualizationToolCfg
65 cfg.merge(MuonHoughTransformTesterCfg( flags,
66 VisualizationTool = cfg.popToolsAndMerge(PatternVisualizationToolCfg(flags, CanvasLimits =0))))