ATLAS Offline Software
Loading...
Searching...
No Matches
MuonHoughTransformTesterConfig.py
Go to the documentation of this file.
1# Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
2
3
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,
9 action='store_true')
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)
15
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)
20
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"
26
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
31
32 flags, cfg = setupGeoR4TestCfg(args,flags)
33
34
35 cfg.getService("MessageSvc").setVerbose = []
36 # from PerfMonVTune.PerfMonVTuneConfig import VTuneProfilerServiceCfg
37 cfg.merge(setupHistSvcCfg(flags,outFile=args.outRootFile,
38 outStream="MuonEtaHoughTransformTest"))
39
40 from MuonConfig.MuonDataPrepConfig import xAODUncalibMeasPrepCfg
41 cfg.merge(xAODUncalibMeasPrepCfg(flags))
42
43 from MuonSpacePointFormation.SpacePointFormationConfig import MuonSpacePointFormationCfg
44 cfg.merge(MuonSpacePointFormationCfg(flags))
45
46 from MuonPatternRecognitionAlgs.MuonPatternRecognitionConfig import MuonPatternRecognitionCfg
47 from MuonPatternRecognitionTest.PatternTestConfig import MuonHoughTransformTesterCfg, PatternVisualizationToolCfg
48
49 cfg.merge(MuonPatternRecognitionCfg(flags))
50 if flags.Input.isMC:
51
54 from IOVDbSvc.IOVDbSvcConfig import addOverride
55 cfg.merge(addOverride(flags, "/MDT/TWINMAPPING", "MDTTwinMapping_compactFormat_Run123"))
56
57 cfg.merge(MuonHoughTransformTesterCfg(flags,
58 VisualizationTool = cfg.popToolsAndMerge(PatternVisualizationToolCfg(flags, CanvasLimits =0))))
59
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))
65
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))
73
74 cfg.getEventAlgo("MuonNswSegmentFinderAlg").VisualizationTool = cfg.popToolsAndMerge(PatternVisualizationToolCfg(flags,
75 CanvasPreFix="NswPhiHoughPlotValid",
76 outSubDir="AllNswPhiHoughiDiPuffPlots",
77 saveSinglePDFs = True, doPhiBucketViews = False, saveSummaryPDF= True))
78
79
80 executeTest(cfg)
81