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