ATLAS Offline Software
Loading...
Searching...
No Matches
MuonRecoChainTesterConfig.py
Go to the documentation of this file.
1# Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaborationation
2
3if __name__=="__main__":
4
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)
21
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"
28
29 flags, cfg = setupGeoR4TestCfg(args,flags)
30
31
32 cfg.merge(setupHistSvcCfg(flags,outFile=args.outRootFile,
33 outStream="MuonEtaHoughTransformTest"))
34
35 from MuonConfig.MuonDataPrepConfig import xAODUncalibMeasPrepCfg
36 cfg.merge(xAODUncalibMeasPrepCfg(flags))
37
38 from MuonSpacePointFormation.SpacePointFormationConfig import MuonSpacePointFormationCfg
39 cfg.merge(MuonSpacePointFormationCfg(flags))
40
41
42 from MuonPatternRecognitionTest.PatternTestConfig import LegacyMuonRecoChainCfg
43 cfg.merge(LegacyMuonRecoChainCfg(flags))
44
45 from MuonPatternRecognitionAlgs.MuonPatternRecognitionConfig import MuonPatternRecognitionCfg
46 cfg.merge(MuonPatternRecognitionCfg(flags))
47 from MuonTrackFindingAlgs.TrackFindingConfig import MSTrackFinderAlgCfg
48 cfg.merge(MSTrackFinderAlgCfg(flags))
49
50
51 from MuonPatternRecognitionTest.PatternTestConfig import MuonR4PatternRecoChainCfg, MuonR4SegmentRecoChainCfg
52 if args.houghR4:
53 cfg.merge(MuonR4PatternRecoChainCfg(flags))
54
55
56 cfg.merge(MuonR4SegmentRecoChainCfg(flags))
57
58 from MuonPatternRecognitionTest.PatternTestConfig import TrackTruthMatchCfg
59 cfg.merge(TrackTruthMatchCfg(flags, setupHoughR4 = args.houghR4))
60
61 from MuonPatternRecognitionTest.PatternTestConfig import MuonRecoChainTesterCfg
62 cfg.merge(MuonRecoChainTesterCfg(flags,
63 SegmentFromR4HoughKey = "MuonSegmentsFromHoughR4" if args.houghR4 else "" ))
64 if args.runVtune:
65 from PerfMonVTune.PerfMonVTuneConfig import VTuneProfilerServiceCfg
66 cfg.merge(VTuneProfilerServiceCfg(flags, ProfiledAlgs=["MuonHoughTransformAlg"]))
67
68 if args.monitorPlots:
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))
82 executeTest(cfg)
83