4 from MuonGeoModelTestR4.testGeoModel
import setupGeoR4TestCfg
5 from MuonConfig.MuonConfigUtils
import executeTest, setupHistSvcCfg
6 from AthenaConfiguration.AllConfigFlags
import initConfigFlags
7 flags = initConfigFlags()
8 flags.PerfMon.doFullMonMT =
False
9 includeG4TrackTruth = bool(getattr(args,
"includeG4TrackTruth",
False))
10 minG4TrackTruthSegments = int(getattr(args,
"minG4TrackTruthSegments", 2))
11 if minG4TrackTruthSegments < 1:
12 raise ValueError(
"--minG4TrackTruthSegments must be >= 1")
13 if includeG4TrackTruth:
14 flags.Muon.includePileUpTruth =
True
16 from AthOnnxComps.OnnxRuntimeFlags
import OnnxRuntimeType
18 if getattr(args,
"use_cpu",
False):
19 flags.AthOnnx.ExecutionProvider = OnnxRuntimeType.CPU
21 flags.AthOnnx.ExecutionProvider = OnnxRuntimeType.CUDA
23 flags, cfg = setupGeoR4TestCfg(args)
25 cfg.merge(setupHistSvcCfg(flags, outFile=args.outRootFile, outStream=
"MuonSegmentDump"))
27 from MuonConfig.MuonDataPrepConfig
import xAODUncalibMeasPrepCfg
28 cfg.merge(xAODUncalibMeasPrepCfg(flags))
30 from MuonSpacePointFormation.SpacePointFormationConfig
import MuonSpacePointFormationCfg
31 cfg.merge(MuonSpacePointFormationCfg(flags))
33 from MuonPatternRecognitionAlgs.MuonPatternRecognitionConfig
import MuonPatternRecognitionCfg
35 do_ml_bucket_filter = bool(getattr(args,
"doMLBucketFilter",
False)
or
36 getattr(args,
"bucketModel",
None)
is not None or
37 getattr(args,
"bucketThreshold",
None)
is not None)
38 if do_ml_bucket_filter:
39 from MuonInference.InferenceConfig
import GraphBucketFilterToolCfg, GraphInferenceAlgCfg
40 bucket_tool_kwargs: dict[str, object] = {
"WriteSpacePointKey":
"FilteredMlBuckets"}
41 if getattr(args,
"bucketModel",
None)
is not None:
42 bucket_tool_kwargs[
"ModelPath"] = args.bucketModel
43 if getattr(args,
"bucketThreshold",
None)
is not None:
44 bucket_tool_kwargs[
"ScoreThreshold"] = args.bucketThreshold
45 bucket_tool_kwargs[
"OutputName"] = args.output_name
46 bucket_tool_kwargs[
"SingleOutputIsLogit"] = args.is_logit
if hasattr(args,
"is_logit")
else False
47 bucket_tool = cfg.popToolsAndMerge(
48 GraphBucketFilterToolCfg(
56 InferenceTools=[bucket_tool],
61 cfg.merge(MuonPatternRecognitionCfg(flags))
62 cfg.getEventAlgo(
"MuonEtaHoughTransformAlg").SpacePointContainer =
"FilteredMlBuckets"
64 cfg.merge(MuonPatternRecognitionCfg(flags))
68 from MuonTruthAlgsR4.MuonTruthAlgsConfig
import MuonTruthAlgsCfg
69 cfg.merge(MuonTruthAlgsCfg(flags))
71 from MuonBucketDump.MuonBucketDumpConfig
import MuonSegmentDumpCfg
73 "IncludeG4TrackTruth": includeG4TrackTruth,
74 "MinG4TrackTruthSegments": minG4TrackTruthSegments,
77 if do_ml_bucket_filter:
78 cfg.merge(MuonSegmentDumpCfg(flags, SpacePointKeys=[
"FilteredMlBuckets"],
81 cfg.merge(MuonSegmentDumpCfg(flags, **dumper_kwargs))