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  parser = SetupArgParser()
8  parser.set_defaults(nEvents = -1)
9  parser.set_defaults(outRootFile="RecoChainTester.root")
10  parser.set_defaults(inputFile=["/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/MuonGeomRTT/R3SimHits.pool.root"])
11  parser.add_argument("--monitorPlots", action='store_true', default=False,
12  help="Setup monitoring plots of the pattern recognition")
13  parser.add_argument("--runVtune",
14  help="runs VTune profiler service for the muon hough alg", action='store_true', default = False)
15  parser.add_argument("--noPerfMon", help="If set to true, full perfmonMT is enabled",
16  default=False, action='store_true')
17 
18 
19  args = parser.parse_args()
20  from AthenaConfiguration.AllConfigFlags import initConfigFlags
21  flags = initConfigFlags()
22  flags.PerfMon.doFullMonMT = not args.noPerfMon
23  flags.PerfMon.OutputJSON="perfmonmt_MuonR4Reco.json"
24 
25  flags, cfg = setupGeoR4TestCfg(args,flags)
26 
27 
28  cfg.merge(setupHistSvcCfg(flags,outFile=args.outRootFile,
29  outStream="MuonEtaHoughTransformTest"))
30 
31  from MuonConfig.MuonDataPrepConfig import xAODUncalibMeasPrepCfg
32  cfg.merge(xAODUncalibMeasPrepCfg(flags))
33 
34  from MuonSpacePointFormation.SpacePointFormationConfig import MuonSpacePointFormationCfg
35  cfg.merge(MuonSpacePointFormationCfg(flags))
36 
37 
38  from MuonPatternRecognitionTest.PatternTestConfig import LegacyMuonRecoChainCfg
39  cfg.merge(LegacyMuonRecoChainCfg(flags))
40 
41  from MuonPatternRecognitionAlgs.MuonHoughTransformAlgConfig import MuonPatternRecognitionCfg, MuonSegmentFittingAlgCfg
42  cfg.merge(MuonPatternRecognitionCfg(flags))
43  cfg.merge(MuonSegmentFittingAlgCfg(flags))
44 
45  from MuonPatternRecognitionTest.PatternTestConfig import MuonR4PatternRecoChainCfg, MuonR4SegmentRecoChainCfg
46  cfg.merge(MuonR4PatternRecoChainCfg(flags))
47 
48 
49  cfg.merge(MuonR4SegmentRecoChainCfg(flags))
50 
51  from MuonPatternRecognitionTest.PatternTestConfig import TrackTruthMatchCfg
52  cfg.merge(TrackTruthMatchCfg(flags))
53 
54  from MuonPatternRecognitionTest.PatternTestConfig import MuonRecoChainTesterCfg
55  cfg.merge(MuonRecoChainTesterCfg(flags))
56  if args.runVtune:
57  from PerfMonVTune.PerfMonVTuneConfig import VTuneProfilerServiceCfg
58  cfg.merge(VTuneProfilerServiceCfg(flags, ProfiledAlgs=["MuonHoughTransformAlg"]))
59 
60 
61  if args.monitorPlots:
62  from MuonPatternRecognitionTest.PatternTestConfig import PatternVisualizationToolCfg
63  cfg.getEventAlgo("MuonEtaHoughTransformAlg").VisualizationTool = cfg.popToolsAndMerge(PatternVisualizationToolCfg(flags,
64  CanvasPreFix="EtaHoughPlotValid",
65  AllCanvasName="AllEtaHoughiDiPuffPlots", doPhiBucketViews = False,
66  displayTruthOnly = True, saveSinglePDFs = False, saveSummaryPDF= False))
67  cfg.getEventAlgo("MuonPhiHoughTransformAlg").VisualizationTool = cfg.popToolsAndMerge(PatternVisualizationToolCfg(flags,
68  CanvasPreFix="PhiHoughPlotValid",
69  AllCanvasName="AllPhiHoughiDiPuffPlots",doEtaBucketViews = False,
70  displayTruthOnly = True, saveSinglePDFs = False, saveSummaryPDF= False))
71  cfg.getEventAlgo("MuonSegmentFittingAlg").VisualizationTool = cfg.popToolsAndMerge(PatternVisualizationToolCfg(flags,
72  CanvasPreFix="SegmentPlotValid",
73  AllCanvasName="AllSegmentFitPlots", doPhiBucketViews = False,
74  displayTruthOnly = True, saveSinglePDFs = True, saveSummaryPDF= False))
75  executeTest(cfg)
76 
PatternTestConfig.MuonRecoChainTesterCfg
def MuonRecoChainTesterCfg(flags, name="MuonRecoChainTester", **kwargs)
Definition: PatternTestConfig.py:21
PatternTestConfig.PatternVisualizationToolCfg
def PatternVisualizationToolCfg(flags, name="PatternVisualizationTool", **kwargs)
Definition: PatternTestConfig.py:7
MuonHoughTransformAlgConfig.MuonSegmentFittingAlgCfg
def MuonSegmentFittingAlgCfg(flags, name="MuonSegmentFittingAlg", **kwargs)
Definition: MuonHoughTransformAlgConfig.py:29
PerfMonVTuneConfig.VTuneProfilerServiceCfg
def VTuneProfilerServiceCfg(flags, **kwargs)
Definition: PerfMonVTuneConfig.py:11
MdtCablingTester.SetupArgParser
def SetupArgParser()
Definition: MdtCablingTester.py:3
PatternTestConfig.TrackTruthMatchCfg
def TrackTruthMatchCfg(flags)
Definition: PatternTestConfig.py:174
testGeoModel.setupGeoR4TestCfg
def setupGeoR4TestCfg(args, flags=None)
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/python/testGeoModel.py:119
MuonConfigUtils.executeTest
def executeTest(cfg)
Definition: MuonConfigUtils.py:15
MuonHoughTransformAlgConfig.MuonPatternRecognitionCfg
def MuonPatternRecognitionCfg(flags)
Definition: MuonHoughTransformAlgConfig.py:58
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