ATLAS Offline Software
MuonRecoChainTesterConfig.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaborationation
2 
3 if __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(outRootFile="RecoChainTester.root")
11  parser.set_defaults(inputFile= MuonPhaseIITestDefaults.HITS_PG_R3)
12  parser.add_argument("--monitorPlots", action='store_true', default=False,
13  help="Setup monitoring plots of the pattern recognition")
14  parser.add_argument("--runVtune",
15  help="runs VTune profiler service for the muon hough alg", action='store_true', default = False)
16  parser.add_argument("--noPerfMon", help="If set to true, full perfmonMT is enabled",
17  default=False, action='store_true')
18  parser.add_argument("--houghR4", help="Schedules the R4 pattern -> legacy segment -> legacy track chain",
19  action="store_true", default = False)
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 
27  flags, cfg = setupGeoR4TestCfg(args,flags)
28 
29 
30  cfg.merge(setupHistSvcCfg(flags,outFile=args.outRootFile,
31  outStream="MuonEtaHoughTransformTest"))
32 
33  from MuonConfig.MuonDataPrepConfig import xAODUncalibMeasPrepCfg
34  cfg.merge(xAODUncalibMeasPrepCfg(flags))
35 
36  from MuonSpacePointFormation.SpacePointFormationConfig import MuonSpacePointFormationCfg
37  cfg.merge(MuonSpacePointFormationCfg(flags))
38 
39 
40  from MuonPatternRecognitionTest.PatternTestConfig import LegacyMuonRecoChainCfg
41  cfg.merge(LegacyMuonRecoChainCfg(flags))
42 
43  from MuonPatternRecognitionAlgs.MuonPatternRecognitionConfig import MuonPatternRecognitionCfg
44  cfg.merge(MuonPatternRecognitionCfg(flags))
45  from MuonTrackFindingAlgs.TrackFindingConfig import MSTrackFinderAlgCfg
46  cfg.merge(MSTrackFinderAlgCfg(flags))
47 
48 
49  from MuonPatternRecognitionTest.PatternTestConfig import MuonR4PatternRecoChainCfg, MuonR4SegmentRecoChainCfg
50  if args.houghR4:
51  cfg.merge(MuonR4PatternRecoChainCfg(flags))
52 
53 
54  cfg.merge(MuonR4SegmentRecoChainCfg(flags))
55 
56  from MuonPatternRecognitionTest.PatternTestConfig import TrackTruthMatchCfg
57  cfg.merge(TrackTruthMatchCfg(flags, setupHoughR4 = args.houghR4))
58 
59  from MuonPatternRecognitionTest.PatternTestConfig import MuonRecoChainTesterCfg
60  cfg.merge(MuonRecoChainTesterCfg(flags,
61  SegmentFromR4HoughKey = "MuonSegmentsFromHoughR4" if args.houghR4 else "" ))
62  if args.runVtune:
63  from PerfMonVTune.PerfMonVTuneConfig import VTuneProfilerServiceCfg
64  cfg.merge(VTuneProfilerServiceCfg(flags, ProfiledAlgs=["MuonHoughTransformAlg"]))
65 
66  if args.monitorPlots:
67  from MuonPatternRecognitionTest.PatternTestConfig import PatternVisualizationToolCfg
68  cfg.getEventAlgo("MuonEtaHoughTransformAlg").VisualizationTool = cfg.popToolsAndMerge(PatternVisualizationToolCfg(flags,
69  CanvasPreFix="EtaHoughPlotValid",
70  AllCanvasName="AllEtaHoughiDiPuffPlots", doPhiBucketViews = False,
71  displayTruthOnly = True, saveSinglePDFs = False, saveSummaryPDF= False))
72  cfg.getEventAlgo("MuonPhiHoughTransformAlg").VisualizationTool = cfg.popToolsAndMerge(PatternVisualizationToolCfg(flags,
73  CanvasPreFix="PhiHoughPlotValid",
74  AllCanvasName="AllPhiHoughiDiPuffPlots",doEtaBucketViews = False,
75  displayTruthOnly = True, saveSinglePDFs = False, saveSummaryPDF= False))
76  cfg.getEventAlgo("MuonSegmentFittingAlg").VisualizationTool = cfg.popToolsAndMerge(PatternVisualizationToolCfg(flags,
77  CanvasPreFix="SegmentPlotValid",
78  AllCanvasName="AllSegmentFitPlots", doPhiBucketViews = False,
79  displayTruthOnly = True, saveSinglePDFs = True, saveSummaryPDF= False))
80  executeTest(cfg)
81 
PatternTestConfig.MuonRecoChainTesterCfg
def MuonRecoChainTesterCfg(flags, name="MuonRecoChainTester", **kwargs)
Definition: PatternTestConfig.py:21
PatternTestConfig.PatternVisualizationToolCfg
def PatternVisualizationToolCfg(flags, name="PatternVisualizationTool", **kwargs)
Definition: PatternTestConfig.py:7
TrackFindingConfig.MSTrackFinderAlgCfg
def MSTrackFinderAlgCfg(flags, name="MSTrackFinderAlg", **kwargs)
Definition: TrackFindingConfig.py:40
PatternTestConfig.TrackTruthMatchCfg
def TrackTruthMatchCfg(flags, setupHoughR4=True)
Definition: PatternTestConfig.py:174
MuonPatternRecognitionConfig.MuonPatternRecognitionCfg
def MuonPatternRecognitionCfg(flags)
Definition: MuonPatternRecognitionConfig.py:62
PerfMonVTuneConfig.VTuneProfilerServiceCfg
def VTuneProfilerServiceCfg(flags, **kwargs)
Definition: PerfMonVTuneConfig.py:11
MdtCablingTester.SetupArgParser
def SetupArgParser()
Definition: MdtCablingTester.py:3
testGeoModel.setupGeoR4TestCfg
def setupGeoR4TestCfg(args, flags=None)
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/python/testGeoModel.py:145
MuonConfigUtils.executeTest
def executeTest(cfg)
Definition: MuonConfigUtils.py:19
PatternTestConfig.LegacyMuonRecoChainCfg
def LegacyMuonRecoChainCfg(flags)
Definition: PatternTestConfig.py:46
PatternTestConfig.MuonR4PatternRecoChainCfg
def MuonR4PatternRecoChainCfg(flags)
Definition: PatternTestConfig.py:118
MuonDataPrepConfig.xAODUncalibMeasPrepCfg
def xAODUncalibMeasPrepCfg(flags)
Configuriation snippet to schedule all algorithms providing the Uncalibrated measurements.
Definition: MuonDataPrepConfig.py:29
python.AllConfigFlags.initConfigFlags
def initConfigFlags()
Definition: AllConfigFlags.py:19
SpacePointFormationConfig.MuonSpacePointFormationCfg
def MuonSpacePointFormationCfg(flags)
Definition: SpacePointFormationConfig.py:20
MuonConfigUtils.setupHistSvcCfg
def setupHistSvcCfg(flags, str outFile, str outStream)
Configuration snippet to setup the THistSvc.
Definition: MuonConfigUtils.py:5
PatternTestConfig.MuonR4SegmentRecoChainCfg
def MuonR4SegmentRecoChainCfg(flags)
Definition: PatternTestConfig.py:155