3from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
4from AthenaConfiguration.ComponentFactory
import CompFactory
7 result = ComponentAccumulator()
8 kwargs.setdefault(
"isMC", flags.Input.isMC)
9 from MuonTrackFindingAlgs.TrackFindingConfig
import SegmentSelectorCfg, TrackSummaryToolCfg
10 kwargs.setdefault(
"SegmentSelectionTool", result.popToolsAndMerge(SegmentSelectorCfg(flags)))
11 kwargs.setdefault(
"SummaryTool", result.popToolsAndMerge(TrackSummaryToolCfg(flags)))
12 the_alg = CompFactory.MuonValR4.MsTrackTester(name= name, **kwargs)
13 result.addEventAlgo(the_alg, primary =
True)
17 result = ComponentAccumulator()
18 if not flags.Input.isMC:
19 from MuonPatternRecognitionTest.PatternTestConfig
import LegacyMuonRecoChainCfg
20 result.merge(LegacyMuonRecoChainCfg(flags))
21 kwargs.setdefault(
"TruthSegkey",
"MuonSegments")
22 from ActsConfig.ActsGeometryConfig
import ActsExtrapolationToolCfg
23 kwargs.setdefault(
"ExtrapolationTool", result.popToolsAndMerge(ActsExtrapolationToolCfg(flags, MaxSteps=10000)))
24 the_tool = CompFactory.MuonValR4.TrackVisualizationTool(name, **kwargs)
25 result.setPrivateTools(the_tool)
28if __name__==
"__main__":
29 from MuonGeoModelTestR4.testGeoModel
import setupGeoR4TestCfg, SetupArgParser, MuonPhaseIITestDefaults
30 from MuonConfig.MuonConfigUtils
import executeTest, setupHistSvcCfg
31 parser = SetupArgParser()
32 parser.add_argument(
"--noMonitorPlots", help=
"If set to true, there're no monitoring plots", default =
False,
34 parser.add_argument(
"--writeSpacePoints", help=
"If set to true, the spacepoints in the bucket are saved to disk",
35 default=
False, action=
'store_true')
36 parser.add_argument(
"--noPerfMon", help=
"If set to true, disable performance monitoring.",
37 default=
False, action=
'store_true')
38 parser.set_defaults(nEvents = -1)
40 parser.set_defaults(outRootFile=
"MsTrkTester.root")
41 parser.set_defaults(inputFile=MuonPhaseIITestDefaults.HITS_PG_R3)
43 args = parser.parse_args()
44 from AthenaConfiguration.AllConfigFlags
import initConfigFlags
45 flags = initConfigFlags()
46 flags.PerfMon.doFullMonMT =
not args.noPerfMon
47 flags.Muon.doFastMMDigitization =
True
48 flags, cfg = setupGeoR4TestCfg(args,flags)
50 cfg.merge(setupHistSvcCfg(flags,outFile=args.outRootFile,
51 outStream=
"MuonTrackTester"))
54 from MuonConfig.MuonDataPrepConfig
import xAODUncalibMeasPrepCfg
55 cfg.merge(xAODUncalibMeasPrepCfg(flags))
57 from MuonSpacePointFormation.SpacePointFormationConfig
import MuonSpacePointFormationCfg
58 cfg.merge(MuonSpacePointFormationCfg(flags))
60 from MuonPatternRecognitionAlgs.MuonPatternRecognitionConfig
import MuonPatternRecognitionCfg
61 cfg.merge(MuonPatternRecognitionCfg(flags))
63 from MuonTrackFindingAlgs.TrackFindingConfig
import MSTrackFinderAlgCfg
64 cfg.merge(MSTrackFinderAlgCfg(flags))
67 from MuonPatternRecognitionTest.PatternTestConfig
import LegacyMuonRecoChainCfg
68 cfg.merge(LegacyMuonRecoChainCfg(flags))
72 cfg.merge(setupHistSvcCfg(flags,outFile=args.outRootFile,
73 outStream=
"MuonEtaHoughTransformTest"))
75 from MuonPatternRecognitionTest.PatternTestConfig
import MuonHoughTransformTesterCfg, PatternVisualizationToolCfg
78 cfg.merge(MuonHoughTransformTesterCfg(flags,
79 VisualizationTool = cfg.popToolsAndMerge(PatternVisualizationToolCfg(flags, CanvasLimits =0))))
82 if not args.noMonitorPlots:
84 cfg.getEventAlgo(
"MuonSegmentFittingAlg").VisualizationTool = cfg.popToolsAndMerge(PatternVisualizationToolCfg(flags,
85 CanvasPreFix=
"SegmentPlotValid", outSubDir=
"SegmentValidPlots",
86 displayTruthOnly =
True, saveSinglePDFs =
False, saveSummaryPDF=
True))
88 cfg.getEventAlgo(
"MuonNswSegmentFinderAlg").VisualizationTool = cfg.popToolsAndMerge(PatternVisualizationToolCfg(flags,
89 CanvasPreFix=
"NswSegmentFitPlotValid", outSubDir=
"SegmentValidPlots",
90 doPhiBucketViews =
False, saveSinglePDFs =
False,
91 saveSummaryPDF=
True,CanvasLimits=10000))
MsTrackTesterCfg(flags, name="MsTrackTester", **kwargs)
MsTrackVisualizationToolCfg(flags, name="VisualizationTool", **kwargs)