ATLAS Offline Software
Loading...
Searching...
No Matches
L0MuonS1TGCConfig.py
Go to the documentation of this file.
1# Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
2from AthenaConfiguration.ComponentFactory import CompFactory
3from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
4
5
6def L0MuonTGCSimCfg(flags, name="L0Muon.TGCSimulation", **kwargs):
7
8 result = ComponentAccumulator()
9
10 if "CandidateBuilderTool" not in kwargs:
11 from L0MuonS1TGCFloatingTools.L0MuonS1TGCFloatingToolsConfig import (
12 TgcL0FloatingCandidateBuilderToolCfg,
13 )
14 kwargs["CandidateBuilderTool"] = result.popToolsAndMerge(
15 TgcL0FloatingCandidateBuilderToolCfg(flags)
16 )
17
18 if "InnerCoincidenceTool" not in kwargs:
19 from L0MuonS1TGCFloatingTools.L0MuonS1TGCFloatingToolsConfig import (
20 TgcL0FloatingInnerCoincidenceToolCfg,
21 )
22 kwargs["InnerCoincidenceTool"] = result.popToolsAndMerge(
23 TgcL0FloatingInnerCoincidenceToolCfg(flags)
24 )
25
26 if "TrackSelectorTool" not in kwargs:
27 from L0MuonS1TGCFloatingTools.L0MuonS1TGCFloatingToolsConfig import (
28 TgcL0FloatingTrackSelectorToolCfg,
29 )
30 kwargs["TrackSelectorTool"] = result.popToolsAndMerge(
31 TgcL0FloatingTrackSelectorToolCfg(flags)
32 )
33
34 alg = CompFactory.L0Muon.TGCSimulation(name=name, **kwargs)
35
36 from AthenaMonitoringKernel.GenericMonitoringTool import GenericMonitoringTool
37 monTool = GenericMonitoringTool(flags, "MonTool")
38 monTool.defineHistogram(
39 "nTgcRdoCollections",
40 path="EXPERT",
41 type="TH1F",
42 title=";TGC RDO collections;Events",
43 xbins=50,
44 xmin=0,
45 xmax=100,
46 )
47 alg.MonTool = monTool
48
49 histSvc = CompFactory.THistSvc(
50 Output=["EXPERT DATAFILE='" + name + ".root' OPT='RECREATE'"]
51 )
52 result.addEventAlgo(alg)
53 result.addService(histSvc)
54 return result
55
56
57if __name__ == "__main__":
58
59 from MuonGeoModelTestR4.testGeoModel import (
60 setupGeoR4TestCfg,
61 SetupArgParser,
62 MuonPhaseIITestDefaults,
63 )
64 from MuonConfig.MuonConfigUtils import executeTest
65 parser = SetupArgParser()
66 parser.set_defaults(inputFile=MuonPhaseIITestDefaults.RDO_R3)
67 parser.set_defaults(nEvents=1000)
68
69 args = parser.parse_args()
70 from AthenaConfiguration.AllConfigFlags import initConfigFlags
71 flags = initConfigFlags()
72 flags.Common.MsgSuppression = False
73 flags.Output.RDOFileName = "L0MuonS1TGC.RDO.pool.root"
74
75 flags, acc = setupGeoR4TestCfg(args, flags)
76 from AthenaCommon.Constants import DEBUG
77 from L0MuonS1TGCFloatingTools.L0MuonS1TGCFloatingToolsConfig import (
78 TgcL0FloatingCandidateBuilderToolCfg,
79 )
80
81 candidateBuilderTool = acc.popToolsAndMerge(
82 TgcL0FloatingCandidateBuilderToolCfg(
83 flags,
84 EnableTruthValidation=True,
85 )
86 )
87 acc.merge(
89 flags,
90 OutputLevel=DEBUG,
91 CandidateBuilderTool=candidateBuilderTool,
92 )
93 )
94
95 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
96
97 acc.merge(
98 OutputStreamCfg(
99 flags,
100 "RDO",
101 ItemList=[
102 "xAOD::TGCCandDataContainer#L0MuonTGCCandData",
103 "xAOD::TGCCandDataAuxContainer#L0MuonTGCCandDataAux.",
104 ],
105 takeItemsFromInput=False,
106 )
107 )
108
109 executeTest(acc)
L0MuonTGCSimCfg(flags, name="L0Muon.TGCSimulation", **kwargs)