7 from MuonGeoModelTestR4.testGeoModel
import setupGeoR4TestCfg
8 from MuonConfig.MuonConfigUtils
import executeTest
9 from AthenaConfiguration.AllConfigFlags
import initConfigFlags
10 flags = initConfigFlags()
13 flags.Exec.DebugMessageComponents = [
14 "SegmentEdgeInferenceAlg",
15 "SegmentEdgeInferenceAlg.SegmentEdgeClassifierTool",
16 "SegmentEdgeInferenceAlg.SegmentTrackCandidateBuilderTool",
17 "SegmentEdgeInferenceAlg.SegmentEdgeClassifierTool.OnnxRuntimeSessionToolCPU",
18 "SegmentEdgeInferenceAlg.SegmentEdgeClassifierTool.OnnxRuntimeSessionToolCUDA",
20 "GraphBucketFilterTool",
22 print(
"INFO: Exec.DebugMessageComponents configured:", flags.Exec.DebugMessageComponents)
24 from AthOnnxComps.OnnxRuntimeFlags
import OnnxRuntimeType
26 flags.AthOnnx.ExecutionProvider = OnnxRuntimeType.CPU
28 flags.AthOnnx.ExecutionProvider = OnnxRuntimeType.CUDA
30 flags, cfg = setupGeoR4TestCfg(args, flags)
32 from MuonConfig.MuonDataPrepConfig
import xAODUncalibMeasPrepCfg
33 cfg.merge(xAODUncalibMeasPrepCfg(flags))
35 from MuonSpacePointFormation.SpacePointFormationConfig
import MuonSpacePointFormationCfg
36 cfg.merge(MuonSpacePointFormationCfg(flags))
38 from MuonPatternRecognitionAlgs.MuonPatternRecognitionConfig
import MuonPatternRecognitionCfg
39 if args.doMLBucketFilter:
40 from MuonInference.InferenceConfig
import GraphBucketFilterToolCfg, GraphInferenceAlgCfg
41 bucket_tool = cfg.popToolsAndMerge(
42 GraphBucketFilterToolCfg(
44 ModelPath=args.bucket_model_path,
45 ScoreThreshold=args.score_threshold,
46 OutputName=args.output_name,
47 SingleOutputMode=args.single_output_mode,
50 cfg.merge(GraphInferenceAlgCfg(flags, InferenceTools=[bucket_tool]))
51 cfg.merge(MuonPatternRecognitionCfg(flags))
52 cfg.getEventAlgo(
"MuonEtaHoughTransformAlg").SpacePointContainer =
"FilteredMlBuckets"
54 cfg.merge(MuonPatternRecognitionCfg(flags))
56 output_level = 1
if args.athenaDebug
else 3
57 edge_space_point_key =
"FilteredMlBuckets" if args.doMLBucketFilter
else "MuonSpacePoints"
59 edge_classifier_kwargs = {
60 "ModelPath": args.edgeModel,
61 "ReadSpacePoints": edge_space_point_key,
62 "DebugDumpFile": args.segment_edge_debug_dump_file,
63 "DebugDumpMaxEvents": args.segment_edge_debug_dump_max_events,
64 "MaxDeltaThetaDeg": args.max_delta_theta_deg,
65 "MaxDeltaSector": args.max_delta_sector,
66 "SectorModulo": args.sector_modulo,
67 "OutputLevel": output_level,
69 from MuonInference.InferenceConfig
import SegmentEdgeInferenceAlgCfg
71 SegmentEdgeInferenceAlgCfg(
73 EdgeClassifierTool=edge_classifier_kwargs,
74 EdgeThreshold=args.edge_threshold,
75 OutputLevel=output_level,