3if __name__==
"__main__":
5 from MuonGeoModelTestR4.testGeoModel
import setupGeoR4TestCfg, SetupArgParser
6 from MuonConfig.MuonConfigUtils
import executeTest, setupHistSvcCfg
7 from MuonGeoModelTestR4.testGeoModel
import MuonPhaseIITestDefaults
8 parser = SetupArgParser()
9 parser.set_defaults(nEvents = -1)
10 parser.set_defaults(noSTGC =
True)
11 parser.set_defaults(outRootFile=
"RecoChainTester.root")
12 parser.set_defaults(inputFile= MuonPhaseIITestDefaults.HITS_PG_R3)
13 parser.add_argument(
"--monitorPlots", action=
'store_true', default=
False,
14 help=
"Setup monitoring plots of the pattern recognition")
15 parser.add_argument(
"--runVtune",
16 help=
"runs VTune profiler service for the muon hough alg", action=
'store_true', default =
False)
17 parser.add_argument(
"--noPerfMon", help=
"If set to true, full perfmonMT is enabled",
18 default=
False, action=
'store_true')
19 parser.add_argument(
"--houghR4", help=
"Schedules the R4 pattern -> legacy segment -> legacy track chain",
20 action=
"store_true", default =
False)
22 args = parser.parse_args()
23 from AthenaConfiguration.AllConfigFlags
import initConfigFlags
24 flags = initConfigFlags()
25 flags.PerfMon.doFullMonMT =
not args.noPerfMon
26 flags.Muon.useMdtDcsData =
lambda prevFlags: prevFlags.Input.isMC
27 flags.PerfMon.OutputJSON=
"perfmonmt_MuonR4Reco.json"
29 flags, cfg = setupGeoR4TestCfg(args,flags)
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))
42 from MuonPatternRecognitionTest.PatternTestConfig
import LegacyMuonRecoChainCfg
43 cfg.merge(LegacyMuonRecoChainCfg(flags))
45 from MuonPatternRecognitionAlgs.MuonPatternRecognitionConfig
import MuonPatternRecognitionCfg
46 cfg.merge(MuonPatternRecognitionCfg(flags))
47 from MuonTrackFindingAlgs.TrackFindingConfig
import MSTrackFinderAlgCfg
48 cfg.merge(MSTrackFinderAlgCfg(flags))
51 from MuonPatternRecognitionTest.PatternTestConfig
import MuonR4PatternRecoChainCfg, MuonR4SegmentRecoChainCfg
53 cfg.merge(MuonR4PatternRecoChainCfg(flags))
56 cfg.merge(MuonR4SegmentRecoChainCfg(flags))
58 from MuonPatternRecognitionTest.PatternTestConfig
import TrackTruthMatchCfg
59 cfg.merge(TrackTruthMatchCfg(flags, setupHoughR4 = args.houghR4))
61 from MuonPatternRecognitionTest.PatternTestConfig
import MuonRecoChainTesterCfg
62 cfg.merge(MuonRecoChainTesterCfg(flags,
63 SegmentFromR4HoughKey =
"MuonSegmentsFromHoughR4" if args.houghR4
else "" ))
65 from PerfMonVTune.PerfMonVTuneConfig
import VTuneProfilerServiceCfg
66 cfg.merge(VTuneProfilerServiceCfg(flags, ProfiledAlgs=[
"MuonHoughTransformAlg"]))
69 from MuonPatternRecognitionTest.PatternTestConfig
import PatternVisualizationToolCfg
70 cfg.getEventAlgo(
"MuonEtaHoughTransformAlg").VisualizationTool = cfg.popToolsAndMerge(PatternVisualizationToolCfg(flags,
71 CanvasPreFix=
"EtaHoughPlotValid",
72 AllCanvasName=
"AllEtaHoughiDiPuffPlots", doPhiBucketViews =
False,
73 displayTruthOnly =
True, saveSinglePDFs =
False, saveSummaryPDF=
False))
74 cfg.getEventAlgo(
"MuonPhiHoughTransformAlg").VisualizationTool = cfg.popToolsAndMerge(PatternVisualizationToolCfg(flags,
75 CanvasPreFix=
"PhiHoughPlotValid",
76 AllCanvasName=
"AllPhiHoughiDiPuffPlots",doEtaBucketViews =
False,
77 displayTruthOnly =
True, saveSinglePDFs =
False, saveSummaryPDF=
False))
78 cfg.getEventAlgo(
"MuonSegmentFittingAlg").VisualizationTool = cfg.popToolsAndMerge(PatternVisualizationToolCfg(flags,
79 CanvasPreFix=
"SegmentPlotValid",
80 AllCanvasName=
"AllSegmentFitPlots", doPhiBucketViews =
False,
81 displayTruthOnly =
True, saveSinglePDFs =
True, saveSummaryPDF=
False))