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.HITS_PG_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"
27 flags, cfg = setupGeoR4TestCfg(args,flags)
30 cfg.getService(
"MessageSvc").setVerbose = []
32 cfg.merge(setupHistSvcCfg(flags,outFile=args.outRootFile,
33 outStream=
"MuonEtaHoughTransformTest"))
35 from MuonConfig.MuonDataPrepConfig
import xAODUncalibMeasPrepCfg
36 cfg.merge(xAODUncalibMeasPrepCfg(flags))
38 from MuonSpacePointFormation.SpacePointFormationConfig
import MuonSpacePointFormationCfg
39 cfg.merge(MuonSpacePointFormationCfg(flags))
41 from MuonPatternRecognitionAlgs.MuonPatternRecognitionConfig
import MuonPatternRecognitionCfg
42 from MuonPatternRecognitionTest.PatternTestConfig
import MuonHoughTransformTesterCfg, PatternVisualizationToolCfg
44 cfg.merge(MuonPatternRecognitionCfg(flags))
49 from IOVDbSvc.IOVDbSvcConfig
import addOverride
50 cfg.merge(addOverride(flags,
"/MDT/TWINMAPPING",
"MDTTwinMapping_compactFormat_Run123"))
52 cfg.merge(MuonHoughTransformTesterCfg(flags,
53 VisualizationTool = cfg.popToolsAndMerge(PatternVisualizationToolCfg(flags, CanvasLimits =0))))
55 if not args.noMonitorPlots
and (flags.Detector.GeometryMDT
or flags.Detector.GeometryRPC
or flags.Detector.GeometryTGC):
56 cfg.getEventAlgo(
"MuonEtaHoughTransformAlg").VisualizationTool = cfg.popToolsAndMerge(PatternVisualizationToolCfg(flags,
57 CanvasPreFix=
"EtaHoughPlotValid", doPhiBucketViews =
False,
58 outSubDir=
"EtaHoughiDiPuffPlots", displayTruthOnly =
True,
59 saveSinglePDFs =
True, saveSummaryPDF=
True))
61 cfg.getEventAlgo(
"MuonSegmentFittingAlg").VisualizationTool = cfg.popToolsAndMerge(PatternVisualizationToolCfg(flags,
62 CanvasPreFix=
"SegmentPlotValid", outSubDir=
"SegmentValidPlots",
63 displayTruthOnly =
True, saveSinglePDFs =
True, saveSummaryPDF=
True))
64 if not args.noMonitorPlots
and (flags.Detector.GeometryMM
or flags.Detector.GeometrysTGC):
65 cfg.getEventAlgo(
"MuonNswEtaHoughTransformAlg").VisualizationTool = cfg.popToolsAndMerge(PatternVisualizationToolCfg(flags,
66 CanvasPreFix=
"NswEtaHoughPlotValid", outSubDir=
"EtaHoughiDiPuffPlots",
67 saveSinglePDFs =
True, doPhiBucketViews =
False, saveSummaryPDF=
True))
69 cfg.getEventAlgo(
"MuonNswSegmentFinderAlg").VisualizationTool = cfg.popToolsAndMerge(PatternVisualizationToolCfg(flags,
70 CanvasPreFix=
"NswPhiHoughPlotValid",
71 outSubDir=
"AllNswPhiHoughiDiPuffPlots",
72 saveSinglePDFs =
True, doPhiBucketViews =
False, saveSummaryPDF=
True))