ATLAS Offline Software
Loading...
Searching...
No Matches
Tools/HitAnalysis/python/PostIncludes.py
Go to the documentation of this file.
1# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2
3# Adding SiHitValidation for whichever parts of ITk are running
4def ITkHitAnalysis(flags):
5 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
6 from HitAnalysis.HitAnalysisConfig import ITkPixelHitAnalysisCfg, ITkStripHitAnalysisCfg, PLR_HitAnalysisCfg
7
8 result = ComponentAccumulator()
9
10 if flags.Detector.EnableITkPixel:
11 result.merge(ITkPixelHitAnalysisCfg(flags))
12
13 if flags.Detector.EnableITkStrip:
14 result.merge(ITkStripHitAnalysisCfg(flags))
15
16 if flags.Detector.EnablePLR:
17 result.merge(PLR_HitAnalysisCfg(flags))
18
19 return result
20
21def HGTDHitAnalysis(flags):
22 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
23 from HitAnalysis.HitAnalysisConfig import HGTD_HitAnalysisCfg
24
25 result = ComponentAccumulator()
26
27 if flags.Detector.EnableHGTD:
28 result.merge(HGTD_HitAnalysisCfg(flags))
29
30 return result
31
32
33def IDHitAnalysis(flags):
34
35 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
36 from HitAnalysis.HitAnalysisConfig import PixelHitAnalysisCfg, SCTHitAnalysisCfg, TRTHitAnalysisCfg
37 result = ComponentAccumulator()
38 if flags.Detector.EnablePixel:
39 result.merge(PixelHitAnalysisCfg(flags))
40 if flags.Detector.EnableSCT:
41 result.merge(SCTHitAnalysisCfg(flags))
42 if flags.Detector.EnableTRT:
43 result.merge(TRTHitAnalysisCfg(flags))
44 return result
45
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
111def SimHitAnalysis(flags):
112 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
113 result = ComponentAccumulator()
114 result.merge(ITkHitAnalysis(flags))
115 result.merge(IDHitAnalysis(flags))
116 result.merge(MuonHitAnalysis(flags))
117 from HitAnalysis.HitAnalysisConfig import CaloHitAnalysisCfg, TrackRecordAnalysisCfg, TruthHitAnalysisCfg
118 result.merge(CaloHitAnalysisCfg(flags))
119 if flags.Detector.EnableMuon:
120 result.merge(TrackRecordAnalysisCfg(flags))
121 result.merge(TruthHitAnalysisCfg(flags))
122 return result