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