ATLAS Offline Software
MuonHoughTransformTesterConfig.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
2 
3 
4 if __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  parser.set_defaults(noSTGC=True)
16 
17  parser.set_defaults(outRootFile="HoughTransformTester.root")
18  from MuonGeoModelTestR4.testGeoModel import MuonPhaseIITestDefaults
19  parser.set_defaults(inputFile = MuonPhaseIITestDefaults.HITS_PG_R3)
20  parser.set_defaults(eventPrintoutLevel = 50)
21 
22  args = parser.parse_args()
23  from AthenaConfiguration.AllConfigFlags import initConfigFlags
24  flags = initConfigFlags()
25  flags.PerfMon.doFullMonMT = not args.noPerfMon
26  flags.PerfMon.OutputJSON="perfmonmt_MuonR4Reco.json"
27 
28  flags.Muon.doFastMMDigitization = True
29  flags, cfg = setupGeoR4TestCfg(args,flags)
30 
31 
32  cfg.getService("MessageSvc").setVerbose = []
33  # from PerfMonVTune.PerfMonVTuneConfig import VTuneProfilerServiceCfg
34  cfg.merge(setupHistSvcCfg(flags,outFile=args.outRootFile,
35  outStream="MuonEtaHoughTransformTest"))
36 
37  from MuonConfig.MuonDataPrepConfig import xAODUncalibMeasPrepCfg
38  cfg.merge(xAODUncalibMeasPrepCfg(flags))
39 
40  from MuonSpacePointFormation.SpacePointFormationConfig import MuonSpacePointFormationCfg
41  cfg.merge(MuonSpacePointFormationCfg(flags))
42 
43  from MuonPatternRecognitionAlgs.MuonPatternRecognitionConfig import MuonPatternRecognitionCfg
44  from MuonPatternRecognitionTest.PatternTestConfig import MuonHoughTransformTesterCfg, PatternVisualizationToolCfg
45 
46  cfg.merge(MuonPatternRecognitionCfg(flags))
47  if flags.Input.isMC:
48 
51  from IOVDbSvc.IOVDbSvcConfig import addOverride
52  cfg.merge(addOverride(flags, "/MDT/TWINMAPPING", "MDTTwinMapping_compactFormat_Run123"))
53 
54  cfg.merge(MuonHoughTransformTesterCfg(flags,
55  VisualizationTool = cfg.popToolsAndMerge(PatternVisualizationToolCfg(flags, CanvasLimits =0))))
56 
57  if not args.noMonitorPlots and (flags.Detector.GeometryMDT or flags.Detector.GeometryRPC or flags.Detector.GeometryTGC):
58  cfg.getEventAlgo("MuonEtaHoughTransformAlg").VisualizationTool = cfg.popToolsAndMerge(PatternVisualizationToolCfg(flags,
59  CanvasPreFix="EtaHoughPlotValid", doPhiBucketViews = False,
60  outSubDir="EtaHoughiDiPuffPlots", displayTruthOnly = True,
61  saveSinglePDFs = True, saveSummaryPDF= True))
62 
63  cfg.getEventAlgo("MuonSegmentFittingAlg").VisualizationTool = cfg.popToolsAndMerge(PatternVisualizationToolCfg(flags,
64  CanvasPreFix="SegmentPlotValid", outSubDir="SegmentValidPlots",
65  displayTruthOnly = True, saveSinglePDFs = True, saveSummaryPDF= True))
66  if not args.noMonitorPlots and (flags.Detector.GeometryMM or flags.Detector.GeometrysTGC):
67  cfg.getEventAlgo("MuonNswEtaHoughTransformAlg").VisualizationTool = cfg.popToolsAndMerge(PatternVisualizationToolCfg(flags,
68  CanvasPreFix="NswEtaHoughPlotValid", outSubDir="EtaHoughiDiPuffPlots",
69  saveSinglePDFs = True, doPhiBucketViews = False, saveSummaryPDF= True))
70 
71  cfg.getEventAlgo("MuonNswSegmentFinderAlg").VisualizationTool = cfg.popToolsAndMerge(PatternVisualizationToolCfg(flags,
72  CanvasPreFix="NswPhiHoughPlotValid",
73  outSubDir="AllNswPhiHoughiDiPuffPlots",
74  saveSinglePDFs = True, doPhiBucketViews = False, saveSummaryPDF= True))
75 
76 
77  executeTest(cfg)
78 
PatternTestConfig.PatternVisualizationToolCfg
def PatternVisualizationToolCfg(flags, name="PatternVisualizationTool", **kwargs)
Definition: PatternTestConfig.py:7
PatternTestConfig.MuonHoughTransformTesterCfg
def MuonHoughTransformTesterCfg(flags, name="MuonHoughTransformTester", **kwargs)
Definition: PatternTestConfig.py:28
MuonPatternRecognitionConfig.MuonPatternRecognitionCfg
def MuonPatternRecognitionCfg(flags)
Definition: MuonPatternRecognitionConfig.py:62
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
python.IOVDbSvcConfig.addOverride
def addOverride(flags, folder, tag, tagType="tag", db=None)
Definition: IOVDbSvcConfig.py:238
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