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