ATLAS Offline Software
MuonHoughTransformTesterConfig.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2 
3 
4 if __name__=="__main__":
5  from MuonGeoModelTestR4.testGeoModel import setupGeoR4TestCfg, SetupArgParser, executeTest,setupHistSvcCfg
6  parser = SetupArgParser()
7  parser.add_argument("--noMonitorPlots", help="If set to true, there're no monitoring plots", default = False,
8  action='store_true')
9  parser.add_argument("--writeSpacePoints", help="If set to true, the spacepoints in the bucket are saved to disk",
10  default=False, action='store_true')
11  parser.add_argument("--noPerfMon", help="If set to true, full perfmonMT is enabled",
12  default=False, action='store_true')
13  parser.set_defaults(nEvents = -1)
14  parser.set_defaults(noSTGC=True)
15 
16  parser.set_defaults(outRootFile="HoughTransformTester.root")
17  parser.set_defaults(inputFile=[
18  #"/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/Tier0ChainTests/TCT_Run3/data22_13p6TeV.00431493.physics_Main.daq.RAW._lb0525._SFO-16._0001.data"
19  "/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/MuonGeomRTT/R3SimHits.pool.root"
20  ])
21  parser.set_defaults(eventPrintoutLevel = 50)
22 
23  args = parser.parse_args()
24  from AthenaConfiguration.AllConfigFlags import initConfigFlags
25  flags = initConfigFlags()
26  flags.PerfMon.doFullMonMT = not args.noPerfMon
27  flags.PerfMon.OutputJSON="perfmonmt_MuonR4Reco.json"
28 
29  flags.Muon.doFastMMDigitization = True
30  flags, cfg = setupGeoR4TestCfg(args,flags)
31 
32 
33  # cfg.getService("MessageSvc").setVerbose = ["MuonSegmentFittingAlg"]
34  # from PerfMonVTune.PerfMonVTuneConfig import VTuneProfilerServiceCfg
35  cfg.merge(setupHistSvcCfg(flags,outFile=args.outRootFile,
36  outStream="MuonEtaHoughTransformTest"))
37 
38  from MuonConfig.MuonDataPrepConfig import xAODUncalibMeasPrepCfg
39  cfg.merge(xAODUncalibMeasPrepCfg(flags))
40 
41  from MuonSpacePointFormation.SpacePointFormationConfig import MuonSpacePointFormationCfg
42  cfg.merge(MuonSpacePointFormationCfg(flags))
43 
44  from MuonPatternRecognitionAlgs.MuonHoughTransformAlgConfig import MuonPatternRecognitionCfg
45  from MuonPatternRecognitionTest.PatternTestConfig import MuonHoughTransformTesterCfg, PatternVisualizationToolCfg
46 
47  cfg.merge(MuonPatternRecognitionCfg(flags))
48  if flags.Input.isMC:
49 
52  from IOVDbSvc.IOVDbSvcConfig import addOverride
53  cfg.merge(addOverride(flags, "/MDT/TWINMAPPING", "MDTTwinMapping_compactFormat_Run123"))
54 
55 
56  cfg.merge(MuonHoughTransformTesterCfg(flags,
57  VisualizationTool = cfg.popToolsAndMerge(PatternVisualizationToolCfg(flags, CanvasLimits =0))))
58 
59  if not args.noMonitorPlots and (flags.Detector.GeometryMDT or flags.Detector.GeometryRPC or flags.Detector.GeometryTGC):
60  cfg.getEventAlgo("MuonEtaHoughTransformAlg").VisualizationTool = cfg.popToolsAndMerge(PatternVisualizationToolCfg(flags,
61  CanvasPreFix="EtaHoughPlotValid",
62  AllCanvasName="AllEtaHoughiDiPuffPlots", doPhiBucketViews = False,
63  displayTruthOnly = True, saveSinglePDFs = True, saveSummaryPDF= False))
64  cfg.getEventAlgo("MuonPhiHoughTransformAlg").VisualizationTool = cfg.popToolsAndMerge(PatternVisualizationToolCfg(flags,
65  CanvasPreFix="PhiHoughPlotValid",
66  AllCanvasName="AllPhiHoughiDiPuffPlots",doEtaBucketViews = False,
67  displayTruthOnly = True, saveSinglePDFs = False, saveSummaryPDF= False))
68  cfg.getEventAlgo("MuonSegmentFittingAlg").VisualizationTool = cfg.popToolsAndMerge(PatternVisualizationToolCfg(flags,
69  CanvasPreFix="SegmentPlotValid",
70  AllCanvasName="AllSegmentFitPlots", displayTruthOnly = True,
71  saveSinglePDFs = True, saveSummaryPDF= False))
72  if not args.noMonitorPlots and (flags.Detector.GeometryMM or flags.Detector.GeometrysTGC):
73  cfg.getEventAlgo("NswEtaHoughTransformAlg").VisualizationTool = cfg.popToolsAndMerge(PatternVisualizationToolCfg(flags,
74  CanvasPreFix="NswEtaHoughPlotValid",
75  AllCanvasName="AllNswEtaHoughiDiPuffPlots",
76  saveSinglePDFs = True, saveSummaryPDF= False))
77  cfg.getEventAlgo("NswPhiSeedFinderAlg").VisualizationTool = cfg.popToolsAndMerge(PatternVisualizationToolCfg(flags,
78  CanvasPreFix="NswPhiHoughPlotValid",
79  AllCanvasName="AllNswPhiHoughiDiPuffPlots",
80  saveSinglePDFs = True, saveSummaryPDF= False))
81 
82  executeTest(cfg)
83 
PatternTestConfig.PatternVisualizationToolCfg
def PatternVisualizationToolCfg(flags, name="PatternVisualizationTool", **kwargs)
Definition: PatternTestConfig.py:7
testGeoModel.setupHistSvcCfg
def setupHistSvcCfg(flags, outFile="MdtGeoDump.root", outStream="GEOMODELTESTER")
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/python/testGeoModel.py:55
PatternTestConfig.MuonHoughTransformTesterCfg
def MuonHoughTransformTesterCfg(flags, name="MuonHoughTransformTester", **kwargs)
Definition: PatternTestConfig.py:28
testGeoModel.executeTest
def executeTest(cfg)
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/python/testGeoModel.py:227
MdtCablingTester.SetupArgParser
def SetupArgParser()
Definition: MdtCablingTester.py:3
testGeoModel.setupGeoR4TestCfg
def setupGeoR4TestCfg(args, flags=None)
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/python/testGeoModel.py:126
MuonHoughTransformAlgConfig.MuonPatternRecognitionCfg
def MuonPatternRecognitionCfg(flags)
Definition: MuonHoughTransformAlgConfig.py:58
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