4if __name__==
"__main__":
5 from MuonGeoModelTestR4.testGeoModel
import setupGeoR4TestCfg, SetupArgParser
6 from MuonConfig.MuonConfigUtils
import executeTest, setupHistSvcCfg
7 parser = SetupArgParser()
8 parser.add_argument(
"--noMonitorPlots", help=
"If set to true, there're no monitoring plots", default =
False,
10 parser.add_argument(
"--writeSpacePoints", help=
"If set to true, the spacepoints in the bucket are saved to disk",
11 default=
False, action=
'store_true')
12 parser.add_argument(
"--noPerfMon", help=
"If set to true, full perfmonMT is enabled",
13 default=
False, action=
'store_true')
14 parser.set_defaults(nEvents = -1)
16 parser.set_defaults(outRootFile=
"HoughTransformTester.root")
17 from MuonGeoModelTestR4.testGeoModel
import MuonPhaseIITestDefaults
18 parser.set_defaults(inputFile = MuonPhaseIITestDefaults.RDO_R3)
19 parser.set_defaults(eventPrintoutLevel = 50)
21 args = parser.parse_args()
22 from AthenaConfiguration.AllConfigFlags
import initConfigFlags
23 flags = initConfigFlags()
24 flags.PerfMon.doFullMonMT =
not args.noPerfMon
25 flags.PerfMon.OutputJSON=
"perfmonmt_MuonR4Reco.json"
28 if not args.noMdt
and not args.noRpc
and not args.noRpc
and \
29 not args.noMM
and not args.noSTGC:
30 flags.Muon.scheduleActsReco =
True
32 flags, cfg = setupGeoR4TestCfg(args,flags)
35 cfg.getService(
"MessageSvc").setVerbose = []
37 cfg.merge(setupHistSvcCfg(flags,outFile=args.outRootFile,
38 outStream=
"MuonEtaHoughTransformTest"))
40 from MuonConfig.MuonDataPrepConfig
import xAODUncalibMeasPrepCfg
41 cfg.merge(xAODUncalibMeasPrepCfg(flags))
43 from MuonSpacePointFormation.SpacePointFormationConfig
import MuonSpacePointFormationCfg
44 cfg.merge(MuonSpacePointFormationCfg(flags))
46 from MuonPatternRecognitionAlgs.MuonPatternRecognitionConfig
import MuonPatternRecognitionCfg
47 from MuonPatternRecognitionTest.PatternTestConfig
import MuonHoughTransformTesterCfg, PatternVisualizationToolCfg
49 cfg.merge(MuonPatternRecognitionCfg(flags))
54 from IOVDbSvc.IOVDbSvcConfig
import addOverride
55 cfg.merge(addOverride(flags,
"/MDT/TWINMAPPING",
"MDTTwinMapping_compactFormat_Run123"))
57 cfg.merge(MuonHoughTransformTesterCfg(flags,
58 VisualizationTool = cfg.popToolsAndMerge(PatternVisualizationToolCfg(flags, CanvasLimits =0))))
60 if not args.noMonitorPlots
and (flags.Detector.GeometryMDT
or flags.Detector.GeometryRPC
or flags.Detector.GeometryTGC):
61 cfg.getEventAlgo(
"MuonEtaHoughTransformAlg").VisualizationTool = cfg.popToolsAndMerge(PatternVisualizationToolCfg(flags,
62 CanvasPreFix=
"EtaHoughPlotValid", doPhiBucketViews =
False,
63 outSubDir=
"EtaHoughiDiPuffPlots", displayTruthOnly =
True,
64 saveSinglePDFs =
True, saveSummaryPDF=
True))
66 cfg.getEventAlgo(
"MuonSegmentFittingAlg").VisualizationTool = cfg.popToolsAndMerge(PatternVisualizationToolCfg(flags,
67 CanvasPreFix=
"SegmentPlotValid", outSubDir=
"SegmentValidPlots",
68 displayTruthOnly =
True, saveSinglePDFs =
True, saveSummaryPDF=
True))
69 if not args.noMonitorPlots
and (flags.Detector.GeometryMM
or flags.Detector.GeometrysTGC):
70 cfg.getEventAlgo(
"MuonNswEtaHoughTransformAlg").VisualizationTool = cfg.popToolsAndMerge(PatternVisualizationToolCfg(flags,
71 CanvasPreFix=
"NswEtaHoughPlotValid", outSubDir=
"EtaHoughiDiPuffPlots",
72 saveSinglePDFs =
True, doPhiBucketViews =
False, saveSummaryPDF=
True))
74 cfg.getEventAlgo(
"MuonNswSegmentFinderAlg").VisualizationTool = cfg.popToolsAndMerge(PatternVisualizationToolCfg(flags,
75 CanvasPreFix=
"NswPhiHoughPlotValid",
76 outSubDir=
"AllNswPhiHoughiDiPuffPlots",
77 saveSinglePDFs =
True, doPhiBucketViews =
False, saveSummaryPDF=
True))