46def MuonHitAnalysis(flags):
47 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
48 result = ComponentAccumulator()
49 if flags.Muon.usePhaseIIGeoSetup:
50 from HitAnalysis.HitAnalysisConfig import xMuonHitAnalysisCfg
51 from ROOT.Muon.MuonStationIndex import TechnologyIndex
52 if flags.Detector.EnableMDT:
53 result.merge(xMuonHitAnalysisCfg(flags,
54 name="MdtSimHitTester",
55 InputKey="xMdtSimHits",
56 HistPath="xMuonSimHit/histos/MDT/Hits",
57 techIndex=TechnologyIndex.MDT))
58 if flags.Detector.EnableRPC:
59 result.merge(xMuonHitAnalysisCfg(flags,
60 name="RpcSimHitTester",
61 InputKey="xRpcSimHits",
62 HistPath="xMuonSimHit/histos/RPC/Hits",
63 techIndex=TechnologyIndex.RPC))
64 if flags.Detector.EnableTGC:
65 result.merge(xMuonHitAnalysisCfg(flags,
66 name="TgcSimHitTester",
67 InputKey="xTgcSimHits",
68 HistPath="xMuonSimHit/histos/TGC/Hits",
69 techIndex=TechnologyIndex.TGC))
70 if flags.Detector.EnablesTGC:
71 result.merge(xMuonHitAnalysisCfg(flags,
72 name="sTgcSimHitTester",
73 InputKey="xStgcSimHits",
74 HistPath="xMuonSimHit/histos/sTGC/Hits",
75 techIndex=TechnologyIndex.STGC))
76 if flags.Detector.EnableMM:
77 result.merge(xMuonHitAnalysisCfg(flags,
78 name="MmSimHitTester",
79 InputKey="xMmSimHits",
80 HistPath="xMuonSimHit/histos/MM/Hits",
81 techIndex=TechnologyIndex.MM))
82 from MuonPRDTestR4.MuonHitTestConfig import MuonHitTesterCfg
83 result.merge(MuonHitTesterCfg(flags, outFile=flags.Output.HISTFileName))
84 else:
85 if flags.Detector.EnableMDT:
86 from HitAnalysis.HitAnalysisConfig import MDTHitAnalysisCfg
87 result.merge(MDTHitAnalysisCfg(flags))
88 if flags.Detector.EnableRPC:
89 from HitAnalysis.HitAnalysisConfig import RPCHitAnalysisCfg
90 result.merge(RPCHitAnalysisCfg(flags))
91 if flags.Detector.EnableTGC:
92 from HitAnalysis.HitAnalysisConfig import TGCHitAnalysisCfg
93 result.merge(TGCHitAnalysisCfg(flags))
94 if flags.Detector.EnablesTGC:
95 from HitAnalysis.HitAnalysisConfig import sTGCHitAnalysisCfg
96 result.merge(sTGCHitAnalysisCfg(flags))
97 if flags.Detector.EnableMM:
98 from HitAnalysis.HitAnalysisConfig import MMHitAnalysisCfg
99 result.merge(MMHitAnalysisCfg(flags))
100 if flags.Detector.EnableCSC:
101 from HitAnalysis.HitAnalysisConfig import CSCHitAnalysisCfg
102 result.merge(CSCHitAnalysisCfg(flags))
103 if flags.Detector.EnableMuon:
104 from MuonPRDTest.HitValAlgSim import HitValAlgSimCfg
105 result.merge(HitValAlgSimCfg(flags, outFile=flags.Output.HISTFileName))
106
107
108 return result
109
110