ATLAS Offline Software
HitAnalysisConfig.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2 
3 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
4 from AthenaConfiguration.ComponentFactory import CompFactory
5 
6 
7 def HitAnalysisOutputCfg(flags, output_name='SiHitAnalysis'):
9 
10  histsvc = CompFactory.THistSvc(name="THistSvc",
11  Output=[ f"{output_name} DATAFILE='{flags.Output.HISTFileName}' OPT='RECREATE'" ])
12  acc.addService(histsvc)
13 
14  return acc
15 
16 
17 def BLMHitAnalysisCfg(flags, name='BLMHitAnalysis', **kwargs):
18  from PixelGeoModel.PixelGeoModelConfig import PixelSimulationGeometryCfg
19  acc = PixelSimulationGeometryCfg(flags)
20 
21  kwargs.setdefault('CollectionName', 'BLM_Hits')
22  kwargs.setdefault('HistPath', '/SiHitAnalysis/')
23  acc.addEventAlgo(CompFactory.SiHitAnalysis(name, **kwargs))
24 
25  acc.merge(HitAnalysisOutputCfg(flags))
26 
27  return acc
28 
29 
30 def BCMHitAnalysisCfg(flags, name='BCMHitAnalysis', **kwargs):
31  from PixelGeoModel.PixelGeoModelConfig import PixelSimulationGeometryCfg
32  acc = PixelSimulationGeometryCfg(flags)
33 
34  kwargs.setdefault('CollectionName', 'BCM_Hits')
35  kwargs.setdefault('HistPath', '/SiHitAnalysis/')
36  acc.addEventAlgo(CompFactory.SiHitAnalysis(name, **kwargs))
37 
38  acc.merge(HitAnalysisOutputCfg(flags))
39 
40  return acc
41 
42 
43 def PixelHitAnalysisCfg(flags, name='PixelHitAnalysis', **kwargs):
44  from PixelGeoModel.PixelGeoModelConfig import PixelSimulationGeometryCfg
45  acc = PixelSimulationGeometryCfg(flags)
46 
47  kwargs.setdefault('CollectionName', 'PixelHits')
48  kwargs.setdefault('HistPath', '/SiHitAnalysis/')
49  acc.addEventAlgo(CompFactory.SiHitAnalysis(name, **kwargs))
50 
51  acc.merge(HitAnalysisOutputCfg(flags))
52 
53  return acc
54 
55 
56 def SCTHitAnalysisCfg(flags, name='SCTHitAnalysis', **kwargs):
57  from SCT_GeoModel.SCT_GeoModelConfig import SCT_SimulationGeometryCfg
58  acc = SCT_SimulationGeometryCfg(flags)
59 
60  kwargs.setdefault('CollectionName', 'SCT_Hits')
61  kwargs.setdefault('HistPath', '/SiHitAnalysis/')
62  acc.addEventAlgo(CompFactory.SiHitAnalysis(name, **kwargs))
63 
64  acc.merge(HitAnalysisOutputCfg(flags))
65 
66  return acc
67 
68 
69 def TRTHitAnalysisCfg(flags, name='TRTHitAnalysis', **kwargs):
70  from TRT_GeoModel.TRT_GeoModelConfig import TRT_SimulationGeometryCfg
71  acc = TRT_SimulationGeometryCfg(flags)
72 
73  kwargs.setdefault('HistPath', '/TRTHitAnalysis/')
74  acc.addEventAlgo(CompFactory.TRTHitAnalysis(name, **kwargs))
75 
76  acc.merge(HitAnalysisOutputCfg(flags, output_name="TRTHitAnalysis"))
77 
78  return acc
79 
80 
81 def ITkPixelHitAnalysisCfg(flags, name='ITkPixelHitAnalysis', **kwargs):
82  from PixelGeoModelXml.ITkPixelGeoModelConfig import ITkPixelSimulationGeometryCfg
84 
85  kwargs.setdefault('CollectionName', 'ITkPixelHits')
86  kwargs.setdefault('HistPath', '/SiHitAnalysis/histos/')
87  kwargs.setdefault('NtuplePath', '/SiHitAnalysis/ntuples/')
88  acc.addEventAlgo(CompFactory.SiHitAnalysis(name, **kwargs))
89 
90  acc.merge(HitAnalysisOutputCfg(flags))
91 
92  return acc
93 
94 
95 def ITkStripHitAnalysisCfg(flags, name='ITkStripHitAnalysis', **kwargs):
96  from StripGeoModelXml.ITkStripGeoModelConfig import ITkStripSimulationGeometryCfg
98 
99  kwargs.setdefault('CollectionName', 'ITkStripHits')
100  kwargs.setdefault('HistPath', '/SiHitAnalysis/histos/')
101  kwargs.setdefault('NtuplePath', '/SiHitAnalysis/ntuples/')
102  acc.addEventAlgo(CompFactory.SiHitAnalysis(name, **kwargs))
103 
104  acc.merge(HitAnalysisOutputCfg(flags))
105 
106  return acc
107 
108 
109 def HGTD_HitAnalysisCfg(flags, name='HGTD_HitAnalysis', **kwargs):
110  if flags.HGTD.Geometry.useGeoModelXml:
111  from HGTD_GeoModelXml.HGTD_GeoModelConfig import HGTD_SimulationGeometryCfg
112  else:
113  from HGTD_GeoModel.HGTD_GeoModelConfig import HGTD_SimulationGeometryCfg
114  acc = HGTD_SimulationGeometryCfg(flags)
115 
116  kwargs.setdefault('CollectionName', 'HGTD_Hits')
117  kwargs.setdefault('HistPath', '/SiHitAnalysis/histos/')
118  kwargs.setdefault('NtuplePath', '/SiHitAnalysis/ntuples/')
119  acc.addEventAlgo(CompFactory.SiHitAnalysis(name, **kwargs))
120 
121  acc.merge(HitAnalysisOutputCfg(flags))
122 
123  return acc
124 
125 
126 def PLR_HitAnalysisCfg(flags, name='PLR_HitAnalysis', **kwargs):
127  from PLRGeoModelXml.PLR_GeoModelConfig import PLR_GeometryCfg
128  acc = PLR_GeometryCfg(flags)
129 
130  kwargs.setdefault('CollectionName', 'PLR_Hits')
131  kwargs.setdefault('HistPath', '/SiHitAnalysis/histos/')
132  kwargs.setdefault('NtuplePath', '/SiHitAnalysis/ntuples/')
133  acc.addEventAlgo(CompFactory.SiHitAnalysis(name, **kwargs))
134 
135  acc.merge(HitAnalysisOutputCfg(flags))
136 
137  return acc
138 
139 
140 def BCMPrimeHitAnalysisCfg(flags, name='BCMPrimeHitAnalysis', **kwargs):
141  from BCMPrimeGeoModelXml.BCMPrimeGeoModelConfig import BCMPrimeGeometryCfg
142  acc = BCMPrimeGeometryCfg(flags)
143 
144  kwargs.setdefault('CollectionName', 'BCMPrimeHits')
145  kwargs.setdefault('HistPath', '/SiHitAnalysis/histos/')
146  kwargs.setdefault('NtuplePath', '/SiHitAnalysis/ntuples/')
147  acc.addEventAlgo(CompFactory.SiHitAnalysis(name, **kwargs))
148 
149  acc.merge(HitAnalysisOutputCfg(flags))
150 
151  return acc
152 
153 
154 def SiHitAnalysisCfg(flags):
155  acc = ComponentAccumulator()
156 
157  if flags.Detector.EnableITkPixel:
158  acc.merge(ITkPixelHitAnalysisCfg(flags))
159 
160  if flags.Detector.EnableITkStrip:
161  acc.merge(ITkStripHitAnalysisCfg(flags))
162 
163  if flags.Detector.EnableHGTD:
164  acc.merge(HGTD_HitAnalysisCfg(flags))
165 
166  if flags.Detector.EnablePLR:
167  acc.merge(PLR_HitAnalysisCfg(flags))
168 
169  if flags.Detector.EnableBCMPrime:
170  acc.merge(BCMPrimeHitAnalysisCfg(flags))
171 
172  return acc
173 
174 
175 # Calorimeter
176 def CaloHitAnalysisCfg(flags, name='CaloHitAnalysis', **kwargs):
177  acc = ComponentAccumulator()
178 
179  if flags.Detector.GeometryLAr:
180  from LArGeoAlgsNV.LArGMConfig import LArGMCfg
181  acc.merge(LArGMCfg(flags))
182 
183  if flags.Detector.GeometryTile:
184  from TileGeoModel.TileGMConfig import TileGMCfg
185  acc.merge(TileGMCfg(flags))
186 
187  kwargs.setdefault('HistPath', f'/{name}/')
188  acc.addEventAlgo(CompFactory.CaloHitAnalysis(name, **kwargs))
189  acc.merge(HitAnalysisOutputCfg(flags, output_name=name))
190  return acc
191 
192 
193 # Muon System
194 def RPCHitAnalysisCfg(flags, name='RPCHitAnalysis', **kwargs):
195  from MuonConfig.MuonGeometryConfig import MuonGeoModelCfg
196  acc = MuonGeoModelCfg(flags)
197 
198  kwargs.setdefault('HistPath', f'/{name}/')
199  acc.addEventAlgo(CompFactory.RPCHitAnalysis(name, **kwargs))
200  acc.merge(HitAnalysisOutputCfg(flags, output_name="RPCHitAnalysis"))
201 
202  return acc
203 
204 
205 def MDTHitAnalysisCfg(flags, name='MDTHitAnalysis', **kwargs):
206  from MuonConfig.MuonGeometryConfig import MuonGeoModelCfg
207  acc = MuonGeoModelCfg(flags)
208 
209  kwargs.setdefault('HistPath', f'/{name}/')
210  acc.addEventAlgo(CompFactory.MDTHitAnalysis(name, **kwargs))
211  acc.merge(HitAnalysisOutputCfg(flags, output_name="MDTHitAnalysis"))
212 
213  return acc
214 
215 
216 def CSCHitAnalysisCfg(flags, name='CSCHitAnalysis', **kwargs):
217  from MuonConfig.MuonGeometryConfig import MuonGeoModelCfg
218  acc = MuonGeoModelCfg(flags)
219 
220  kwargs.setdefault('HistPath', f'/{name}/')
221  acc.addEventAlgo(CompFactory.CSCHitAnalysis(name, **kwargs))
222  acc.merge(HitAnalysisOutputCfg(flags, output_name="CSCHitAnalysis"))
223 
224  return acc
225 
226 
227 def TGCHitAnalysisCfg(flags, name='TGCHitAnalysis', **kwargs):
228  from MuonConfig.MuonGeometryConfig import MuonGeoModelCfg
229  acc = MuonGeoModelCfg(flags)
230 
231  kwargs.setdefault('HistPath', f'/{name}/')
232  acc.addEventAlgo(CompFactory.TGCHitAnalysis(name, **kwargs))
233  acc.merge(HitAnalysisOutputCfg(flags, output_name="TGCHitAnalysis"))
234 
235  return acc
236 
237 
238 def MMHitAnalysisCfg(flags, name='MMHitAnalysis', **kwargs):
239  from MuonConfig.MuonGeometryConfig import MuonGeoModelCfg
240  acc = MuonGeoModelCfg(flags)
241 
242  kwargs.setdefault('HistPath', f'/{name}/')
243  acc.addEventAlgo(CompFactory.MMHitAnalysis(name, **kwargs))
244  acc.merge(HitAnalysisOutputCfg(flags, output_name="MMHitAnalysis"))
245 
246  return acc
247 
248 
249 def sTGCHitAnalysisCfg(flags, name='sTGCHitAnalysis', **kwargs):
250  from MuonConfig.MuonGeometryConfig import MuonGeoModelCfg
251  acc = MuonGeoModelCfg(flags)
252 
253  kwargs.setdefault('HistPath', f'/{name}/')
254  acc.addEventAlgo(CompFactory.sTGCHitAnalysis(name, **kwargs))
255  acc.merge(HitAnalysisOutputCfg(flags, output_name="sTGCHitAnalysis"))
256 
257  return acc
258 
259 
260 # Forward
261 def ALFAHitAnalysisCfg(flags, name='ALFAHitAnalysis', **kwargs):
262  acc = ComponentAccumulator()
263 
264  kwargs.setdefault('HistPath', f'/{name}/')
265  acc.addEventAlgo(CompFactory.ALFAHitAnalysis(name, **kwargs))
266  acc.merge(HitAnalysisOutputCfg(flags, output_name="ALFAHitAnalysis"))
267 
268  return acc
269 
270 
271 def AFPHitAnalysisCfg(flags, name='AFPHitAnalysis', **kwargs):
272  acc = ComponentAccumulator()
273 
274  kwargs.setdefault('HistPath', f'/{name}/')
275  acc.addEventAlgo(CompFactory.AFPHitAnalysis(name, **kwargs))
276  acc.merge(HitAnalysisOutputCfg(flags, output_name="AFPHitAnalysis"))
277 
278  return acc
279 
280 
281 def LucidHitAnalysisCfg(flags, name='LucidHitAnalysis', **kwargs):
282  acc = ComponentAccumulator()
283 
284  kwargs.setdefault('HistPath', f'/{name}/')
285  acc.addEventAlgo(CompFactory.LucidHitAnalysis(name, **kwargs))
286  acc.merge(HitAnalysisOutputCfg(flags, output_name="LucidHitAnalysis"))
287 
288  return acc
289 
290 
291 def ZDCHitAnalysisCfg(flags, name='ZDCHitAnalysis', **kwargs):
292  acc = ComponentAccumulator()
293 
294  kwargs.setdefault('HistPath', f'/{name}/')
295  acc.addEventAlgo(CompFactory.ZDCHitAnalysis(name, **kwargs))
296  acc.merge(HitAnalysisOutputCfg(flags, output_name="ZDCHitAnalysis"))
297 
298  return acc
299 
300 
301 #Truth
302 def TrackRecordAnalysisCfg(flags, name='TrackRecordAnalysis', **kwargs):
303  acc = ComponentAccumulator()
304 
305  kwargs.setdefault('HistPath', f'/{name}/')
306  acc.addEventAlgo(CompFactory.TrackRecordAnalysis(name, **kwargs))
307  acc.merge(HitAnalysisOutputCfg(flags, output_name="TrackRecordAnalysis"))
308 
309  return acc
310 
311 
312 def TruthHitAnalysisCfg(flags, name='TruthHitAnalysis', **kwargs):
313  acc = ComponentAccumulator()
314 
315  kwargs.setdefault('HistPath', f'/{name}/')
316  acc.addEventAlgo(CompFactory.TruthHitAnalysis(name, **kwargs))
317  acc.merge(HitAnalysisOutputCfg(flags, output_name="TruthHitAnalysis"))
318 
319  return acc
python.HitAnalysisConfig.AFPHitAnalysisCfg
def AFPHitAnalysisCfg(flags, name='AFPHitAnalysis', **kwargs)
Definition: HitAnalysisConfig.py:271
PLR_GeoModelConfig.PLR_GeometryCfg
def PLR_GeometryCfg(flags)
Definition: PLR_GeoModelConfig.py:3
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
python.HitAnalysisConfig.SCTHitAnalysisCfg
def SCTHitAnalysisCfg(flags, name='SCTHitAnalysis', **kwargs)
Definition: HitAnalysisConfig.py:56
python.HitAnalysisConfig.MMHitAnalysisCfg
def MMHitAnalysisCfg(flags, name='MMHitAnalysis', **kwargs)
Definition: HitAnalysisConfig.py:238
ITkPixelGeoModelConfig.ITkPixelSimulationGeometryCfg
def ITkPixelSimulationGeometryCfg(flags, setGeometryAlignable=False, setAlignmentFolderName="/Indet/Align")
Definition: ITkPixelGeoModelConfig.py:32
python.HitAnalysisConfig.BLMHitAnalysisCfg
def BLMHitAnalysisCfg(flags, name='BLMHitAnalysis', **kwargs)
Definition: HitAnalysisConfig.py:17
ITkStripGeoModelConfig.ITkStripSimulationGeometryCfg
def ITkStripSimulationGeometryCfg(flags, setGeometryAlignable=False, setAlignmentFolderName="/Indet/Align")
Definition: ITkStripGeoModelConfig.py:32
python.HitAnalysisConfig.TRTHitAnalysisCfg
def TRTHitAnalysisCfg(flags, name='TRTHitAnalysis', **kwargs)
Definition: HitAnalysisConfig.py:69
python.HitAnalysisConfig.BCMHitAnalysisCfg
def BCMHitAnalysisCfg(flags, name='BCMHitAnalysis', **kwargs)
Definition: HitAnalysisConfig.py:30
python.HitAnalysisConfig.TGCHitAnalysisCfg
def TGCHitAnalysisCfg(flags, name='TGCHitAnalysis', **kwargs)
Definition: HitAnalysisConfig.py:227
python.HitAnalysisConfig.ALFAHitAnalysisCfg
def ALFAHitAnalysisCfg(flags, name='ALFAHitAnalysis', **kwargs)
Definition: HitAnalysisConfig.py:261
python.HitAnalysisConfig.TruthHitAnalysisCfg
def TruthHitAnalysisCfg(flags, name='TruthHitAnalysis', **kwargs)
Definition: HitAnalysisConfig.py:312
PixelGeoModelConfig.PixelSimulationGeometryCfg
def PixelSimulationGeometryCfg(flags)
Definition: PixelGeoModelConfig.py:34
python.HitAnalysisConfig.PixelHitAnalysisCfg
def PixelHitAnalysisCfg(flags, name='PixelHitAnalysis', **kwargs)
Definition: HitAnalysisConfig.py:43
python.HitAnalysisConfig.LucidHitAnalysisCfg
def LucidHitAnalysisCfg(flags, name='LucidHitAnalysis', **kwargs)
Definition: HitAnalysisConfig.py:281
python.HitAnalysisConfig.ITkStripHitAnalysisCfg
def ITkStripHitAnalysisCfg(flags, name='ITkStripHitAnalysis', **kwargs)
Definition: HitAnalysisConfig.py:95
python.HitAnalysisConfig.HGTD_HitAnalysisCfg
def HGTD_HitAnalysisCfg(flags, name='HGTD_HitAnalysis', **kwargs)
Definition: HitAnalysisConfig.py:109
python.HitAnalysisConfig.MDTHitAnalysisCfg
def MDTHitAnalysisCfg(flags, name='MDTHitAnalysis', **kwargs)
Definition: HitAnalysisConfig.py:205
LArGMConfig.LArGMCfg
def LArGMCfg(flags)
Definition: LArGMConfig.py:8
python.HitAnalysisConfig.sTGCHitAnalysisCfg
def sTGCHitAnalysisCfg(flags, name='sTGCHitAnalysis', **kwargs)
Definition: HitAnalysisConfig.py:249
python.HitAnalysisConfig.PLR_HitAnalysisCfg
def PLR_HitAnalysisCfg(flags, name='PLR_HitAnalysis', **kwargs)
Definition: HitAnalysisConfig.py:126
python.HitAnalysisConfig.HitAnalysisOutputCfg
def HitAnalysisOutputCfg(flags, output_name='SiHitAnalysis')
Definition: HitAnalysisConfig.py:7
BCMPrimeGeoModelConfig.BCMPrimeGeometryCfg
def BCMPrimeGeometryCfg(flags)
Definition: BCMPrimeGeoModelConfig.py:6
SCT_GeoModelConfig.SCT_SimulationGeometryCfg
def SCT_SimulationGeometryCfg(flags)
Definition: SCT_GeoModelConfig.py:34
python.HitAnalysisConfig.TrackRecordAnalysisCfg
def TrackRecordAnalysisCfg(flags, name='TrackRecordAnalysis', **kwargs)
Definition: HitAnalysisConfig.py:302
python.HitAnalysisConfig.BCMPrimeHitAnalysisCfg
def BCMPrimeHitAnalysisCfg(flags, name='BCMPrimeHitAnalysis', **kwargs)
Definition: HitAnalysisConfig.py:140
python.MuonGeometryConfig.MuonGeoModelCfg
def MuonGeoModelCfg(flags)
Definition: MuonGeometryConfig.py:28
python.HitAnalysisConfig.SiHitAnalysisCfg
def SiHitAnalysisCfg(flags)
Definition: HitAnalysisConfig.py:154
python.HitAnalysisConfig.CaloHitAnalysisCfg
def CaloHitAnalysisCfg(flags, name='CaloHitAnalysis', **kwargs)
Definition: HitAnalysisConfig.py:176
TRT_GeoModelConfig.TRT_SimulationGeometryCfg
def TRT_SimulationGeometryCfg(flags)
Definition: TRT_GeoModelConfig.py:47
python.HitAnalysisConfig.RPCHitAnalysisCfg
def RPCHitAnalysisCfg(flags, name='RPCHitAnalysis', **kwargs)
Definition: HitAnalysisConfig.py:194
python.HitAnalysisConfig.ITkPixelHitAnalysisCfg
def ITkPixelHitAnalysisCfg(flags, name='ITkPixelHitAnalysis', **kwargs)
Definition: HitAnalysisConfig.py:81
HGTD_GeoModelConfig.HGTD_SimulationGeometryCfg
def HGTD_SimulationGeometryCfg(flags)
Definition: python/HGTD_GeoModelConfig.py:17
python.HitAnalysisConfig.CSCHitAnalysisCfg
def CSCHitAnalysisCfg(flags, name='CSCHitAnalysis', **kwargs)
Definition: HitAnalysisConfig.py:216
python.HitAnalysisConfig.ZDCHitAnalysisCfg
def ZDCHitAnalysisCfg(flags, name='ZDCHitAnalysis', **kwargs)
Definition: HitAnalysisConfig.py:291
TileGMConfig.TileGMCfg
def TileGMCfg(flags)
Definition: TileGMConfig.py:7