Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
RDOAnalysisConfig.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 from AthenaConfiguration.Enums import ProductionStep
6 
7 
8 def RDOAnalysisOutputCfg(flags, output_name="RDOAnalysis"):
9  result = ComponentAccumulator()
10 
11  histsvc = CompFactory.THistSvc(name="THistSvc",
12  Output=[ f"{output_name} DATAFILE='{flags.Output.HISTFileName}' OPT='RECREATE'" ])
13  result.addService(histsvc)
14 
15  return result
16 
17 
18 def EventInfoRDOAnalysisCfg(flags, name="EventInfoRDOAnalysis", **kwargs):
19  result = ComponentAccumulator()
20 
21  kwargs.setdefault("NtuplePath", "/RDOAnalysis/ntuples/")
22  kwargs.setdefault("HistPath", "/RDOAnalysis/histos/")
23  if flags.Common.ProductionStep is ProductionStep.PileUpPresampling:
24  kwargs.setdefault("EventInfo", f"{flags.Overlay.BkgPrefix}EventInfo")
25 
26  result.addEventAlgo(CompFactory.EventInfoRDOAnalysis(name, **kwargs))
27 
28  result.merge(RDOAnalysisOutputCfg(flags))
29 
30  return result
31 
32 
33 def BCM_RDOAnalysisCfg(flags, name="BCM_RDOAnalysis", **kwargs):
34  from PixelGeoModel.PixelGeoModelConfig import PixelReadoutGeometryCfg
35  result = PixelReadoutGeometryCfg(flags)
36 
37  kwargs.setdefault("NtupleFileName", "/RDOAnalysis")
38  kwargs.setdefault("NtupleDirectoryName", "/ntuples/")
39  kwargs.setdefault("NtupleTreeName", "BCM")
40  kwargs.setdefault("HistPath", "/RDOAnalysis/BCM/")
41  prefix=''
42  if flags.Common.ProductionStep is ProductionStep.PileUpPresampling:
43  prefix=flags.Overlay.BkgPrefix
44  kwargs.setdefault("InputKey", f"{prefix}BCM_RDOs")
45  kwargs.setdefault("InputTruthKey", f"{prefix}BCM_SDO_Map")
46 
47  result.addEventAlgo(CompFactory.BCM_RDOAnalysis(name, **kwargs))
48 
49  result.merge(RDOAnalysisOutputCfg(flags))
50 
51  return result
52 
53 
54 def PixelRDOAnalysisCfg(flags, name="PixelRDOAnalysis", **kwargs):
55  from PixelGeoModel.PixelGeoModelConfig import PixelReadoutGeometryCfg
56  result = PixelReadoutGeometryCfg(flags)
57 
58  kwargs.setdefault("NtupleFileName", "/RDOAnalysis")
59  kwargs.setdefault("NtupleDirectoryName", "/ntuples/")
60  kwargs.setdefault("NtupleTreeName", "Pixel")
61  kwargs.setdefault("HistPath", "/RDOAnalysis/Pixel/")
62  if flags.Common.ProductionStep is ProductionStep.PileUpPresampling:
63  kwargs.setdefault("InputKey", f"{flags.Overlay.BkgPrefix}PixelRDOs")
64  kwargs.setdefault("InputTruthKey", f"{flags.Overlay.BkgPrefix}PixelSDO_Map")
65  kwargs.setdefault("InputMcEventCollectionKey", f"{flags.Overlay.BkgPrefix}TruthEvent")
66  else:
67  kwargs.setdefault("InputKey", "PixelRDOs")
68  kwargs.setdefault("InputTruthKey", "PixelSDO_Map")
69  kwargs.setdefault("InputMcEventCollectionKey", "TruthEvent")
70 
71  result.addEventAlgo(CompFactory.PixelRDOAnalysis(name, **kwargs))
72 
73  result.merge(RDOAnalysisOutputCfg(flags))
74 
75  return result
76 
77 
78 def SCT_RDOAnalysisCfg(flags, name="SCT_RDOAnalysis", **kwargs):
79  from SCT_GeoModel.SCT_GeoModelConfig import SCT_ReadoutGeometryCfg
80  result = SCT_ReadoutGeometryCfg(flags)
81 
82  kwargs.setdefault("NtupleFileName", "/RDOAnalysis")
83  kwargs.setdefault("NtupleDirectoryName", "/ntuples/")
84  kwargs.setdefault("NtupleTreeName", "SCT")
85  kwargs.setdefault("HistPath", "/RDOAnalysis/SCT/")
86  if flags.Common.ProductionStep is ProductionStep.PileUpPresampling:
87  kwargs.setdefault("InputKey", f"{flags.Overlay.BkgPrefix}SCT_RDOs")
88  kwargs.setdefault("InputTruthKey", f"{flags.Overlay.BkgPrefix}SCT_SDO_Map")
89  kwargs.setdefault("InputMcEventCollectionKey", f"{flags.Overlay.BkgPrefix}TruthEvent")
90  else:
91  kwargs.setdefault("InputKey", "SCT_RDOs")
92  kwargs.setdefault("InputTruthKey", "SCT_SDO_Map")
93  kwargs.setdefault("InputMcEventCollectionKey", "TruthEvent")
94 
95  result.addEventAlgo(CompFactory.SCT_RDOAnalysis(name, **kwargs))
96 
97  result.merge(RDOAnalysisOutputCfg(flags))
98 
99  return result
100 
101 
102 def TRT_RDOAnalysisCfg(flags, name="TRT_RDOAnalysis", **kwargs):
103  from TRT_GeoModel.TRT_GeoModelConfig import TRT_ReadoutGeometryCfg
104  result = TRT_ReadoutGeometryCfg(flags)
105 
106  kwargs.setdefault("NtupleFileName", "/RDOAnalysis")
107  kwargs.setdefault("NtupleDirectoryName", "/ntuples/")
108  kwargs.setdefault("NtupleTreeName", "TRT")
109  kwargs.setdefault("HistPath", "/RDOAnalysis/TRT/")
110  prefix=''
111  if flags.Common.ProductionStep is ProductionStep.PileUpPresampling:
112  prefix=flags.Overlay.BkgPrefix
113  kwargs.setdefault("InputKey", f"{prefix}TRT_RDOs")
114  kwargs.setdefault("InputTruthKey", f"{prefix}TRT_SDO_Map")
115 
116  result.addEventAlgo(CompFactory.TRT_RDOAnalysis(name, **kwargs))
117 
118  result.merge(RDOAnalysisOutputCfg(flags))
119 
120  return result
121 
122 
123 def ITkPixelRDOAnalysisCfg(flags, name="ITkPixelRDOAnalysis", **kwargs):
124  from PixelGeoModelXml.ITkPixelGeoModelConfig import ITkPixelReadoutGeometryCfg
125  result = ITkPixelReadoutGeometryCfg(flags)
126 
127  kwargs.setdefault("NtuplePath", "/RDOAnalysis/ntuples/")
128  kwargs.setdefault("HistPath", "/RDOAnalysis/ITkPixel/")
129  kwargs.setdefault("SharedHistPath", "/RDOAnalysis/histos/")
130  if flags.Common.ProductionStep is ProductionStep.PileUpPresampling:
131  kwargs.setdefault("CollectionName", f"{flags.Overlay.BkgPrefix}ITkPixelRDOs")
132  kwargs.setdefault("SDOCollectionName", f"{flags.Overlay.BkgPrefix}ITkPixelSDO_Map")
133  kwargs.setdefault("McEventCollectionName", f"{flags.Overlay.BkgPrefix}TruthEvent")
134  else:
135  kwargs.setdefault("CollectionName", "ITkPixelRDOs")
136  kwargs.setdefault("SDOCollectionName", "ITkPixelSDO_Map")
137  kwargs.setdefault("McEventCollectionName", "TruthEvent")
138 
139  result.addEventAlgo(CompFactory.ITk.PixelRDOAnalysis(name, **kwargs))
140 
141  result.merge(RDOAnalysisOutputCfg(flags))
142 
143  return result
144 
145 
146 def ITkStripRDOAnalysisCfg(flags, name="ITkStripRDOAnalysis", **kwargs):
147  from StripGeoModelXml.ITkStripGeoModelConfig import ITkStripReadoutGeometryCfg
148  result = ITkStripReadoutGeometryCfg(flags)
149 
150  kwargs.setdefault("NtuplePath", "/RDOAnalysis/ntuples/")
151  kwargs.setdefault("HistPath", "/RDOAnalysis/ITkStrip/")
152  kwargs.setdefault("SharedHistPath", "/RDOAnalysis/histos/")
153  if flags.Common.ProductionStep is ProductionStep.PileUpPresampling:
154  kwargs.setdefault("CollectionName", f"{flags.Overlay.BkgPrefix}ITkStripRDOs")
155  kwargs.setdefault("SDOCollectionName", f"{flags.Overlay.BkgPrefix}ITkStripSDO_Map")
156  kwargs.setdefault("McEventCollectionName", f"{flags.Overlay.BkgPrefix}TruthEvent")
157  else:
158  kwargs.setdefault("CollectionName", "ITkStripRDOs")
159  kwargs.setdefault("SDOCollectionName", "ITkStripSDO_Map")
160  kwargs.setdefault("McEventCollectionName", "TruthEvent")
161 
162  result.addEventAlgo(CompFactory.ITk.StripRDOAnalysis(name, **kwargs))
163 
164  result.merge(RDOAnalysisOutputCfg(flags))
165 
166  return result
167 
168 
169 def HGTD_RDOAnalysisCfg(flags, name="HGTD_RDOAnalysis", **kwargs):
170  from HGTD_GeoModelXml.HGTD_GeoModelConfig import HGTD_ReadoutGeometryCfg
171  result = HGTD_ReadoutGeometryCfg(flags)
172 
173  kwargs.setdefault("NtuplePath", "/RDOAnalysis/ntuples/")
174  kwargs.setdefault("HistPath", "/RDOAnalysis/HGTD/")
175  kwargs.setdefault("SharedHistPath", "/RDOAnalysis/histos/")
176  if flags.Common.ProductionStep is ProductionStep.PileUpPresampling:
177  kwargs.setdefault("CollectionName", f"{flags.Overlay.BkgPrefix}HGTD_RDOs")
178  kwargs.setdefault("SDOCollectionName", f"{flags.Overlay.BkgPrefix}HGTD_SDO_Map")
179  kwargs.setdefault("McEventCollectionName", f"{flags.Overlay.BkgPrefix}TruthEvent")
180  else:
181  kwargs.setdefault("CollectionName", "HGTD_RDOs")
182  kwargs.setdefault("SDOCollectionName", "HGTD_SDO_Map")
183  kwargs.setdefault("McEventCollectionName", "TruthEvent")
184 
185  result.addEventAlgo(CompFactory.HGTD_RDOAnalysis(name, **kwargs))
186 
187  result.merge(RDOAnalysisOutputCfg(flags))
188 
189  return result
190 
191 
192 def PLR_RDOAnalysisCfg(flags, name="PLR_RDOAnalysis", **kwargs):
193  from PLRGeoModelXml.PLR_GeoModelConfig import PLR_ReadoutGeometryCfg
194  result = PLR_ReadoutGeometryCfg(flags)
195 
196  if flags.Common.ProductionStep is ProductionStep.PileUpPresampling:
197  kwargs.setdefault("CollectionName", f"{flags.Overlay.BkgPrefix}PLR_RDOs")
198  kwargs.setdefault("SDOCollectionName", f"{flags.Overlay.BkgPrefix}PLR_SDO_Map")
199  kwargs.setdefault("McEventCollectionName", f"{flags.Overlay.BkgPrefix}TruthEvent")
200  else:
201  kwargs.setdefault("CollectionName", "PLR_RDOs")
202  kwargs.setdefault("SDOCollectionName", "PLR_SDO_Map")
203  kwargs.setdefault("McEventCollectionName", "TruthEvent")
204  kwargs.setdefault("HistPath", "/RDOAnalysis/PLR/")
205  kwargs.setdefault("SharedHistPath", "/RDOAnalysis/histos/")
206  kwargs.setdefault("NtuplePath", "/RDOAnalysis/ntuples/")
207  kwargs.setdefault("NtupleName", "PLR")
208  kwargs.setdefault("DetectorName", "PLR")
209  kwargs.setdefault("PixelIDName", "PLR_ID")
210 
211  result.addEventAlgo(CompFactory.ITk.PixelRDOAnalysis(name, **kwargs))
212 
213  result.merge(RDOAnalysisOutputCfg(flags))
214 
215  return result
216 
217 
218 def RDOAnalysisCfg(flags):
219  acc = ComponentAccumulator()
220 
221  acc.merge(EventInfoRDOAnalysisCfg(flags))
222 
223  if flags.Detector.EnablePixel:
224  acc.merge(PixelRDOAnalysisCfg(flags))
225 
226  if flags.Detector.EnableSCT:
227  acc.merge(SCT_RDOAnalysisCfg(flags))
228 
229  if flags.Detector.EnableTRT:
230  acc.merge(TRT_RDOAnalysisCfg(flags))
231 
232  if flags.Detector.EnableLAr:
233  acc.merge(LArRDOAnalysisCfg(flags))
234 
235  if flags.Detector.EnableTile:
236  acc.merge(TileRDOAnalysisCfg(flags))
237 
238  if flags.Detector.EnableMDT:
239  from MuonConfig.MuonByteStreamCnvTestConfig import MdtRdoToMdtDigitCfg
240 
241  if "MDTCSM" in flags.Input.Collections:
242  acc.merge(MdtRdoToMdtDigitCfg(flags))
243  elif f"{flags.Overlay.BkgPrefix}MDTCSM" in flags.Input.Collections:
244  acc.merge(MdtRdoToMdtDigitCfg(flags, MdtRdoContainer =f"{flags.Overlay.BkgPrefix}MDTCSM",
245  MdtDigitContainer=f"{flags.Overlay.BkgPrefix}MDT_DIGITS" ))
246 
247  acc.merge(MDT_RDOAnalysisCfg(flags))
248 
249  if flags.Detector.EnableRPC:
250  if "RPCPAD" in flags.Input.Collections or f"{flags.Overlay.BkgPrefix}RPCPAD" in flags.Input.Collections:
251  from MuonConfig.MuonByteStreamCnvTestConfig import RpcRdoToRpcDigitCfg
252  acc.merge(RpcRdoToRpcDigitCfg(flags))
253  acc.merge(RPC_RDOAnalysisCfg(flags))
254 
255  if flags.Detector.EnableTGC:
256  from MuonConfig.MuonByteStreamCnvTestConfig import TgcRdoToTgcDigitCfg
257  if "TGCRDO" in flags.Input.Collections:
258  acc.merge(TgcRdoToTgcDigitCfg(flags))
259  elif f"{flags.Overlay.BkgPrefix}TGCRDO" in flags.Input.Collections:
260  acc.merge(TgcRdoToTgcDigitCfg(flags,TgcRdoContainer = f"{flags.Overlay.BkgPrefix}TGCRDO",
261  TgcDigitContainer=f"{flags.Overlay.BkgPrefix}TGC_DIGITS"))
262  acc.merge(TGC_RDOAnalysisCfg(flags))
263 
264  if flags.Detector.EnablesTGC:
265  from MuonConfig.MuonByteStreamCnvTestConfig import STGC_RdoToDigitCfg
266  if "sTGCRDO" in flags.Input.Collections:
267  acc.merge(STGC_RdoToDigitCfg(flags))
268  elif f"{flags.Overlay.BkgPrefix}sTGCRDO" in flags.Input.Collections:
269  acc.merge(STGC_RdoToDigitCfg(flags,
270  sTgcRdoContainer=f"{flags.Overlay.BkgPrefix}sTGCRDO",
271  sTgcDigitContainer=f"{flags.Overlay.BkgPrefix}sTGC_DIGITS"))
272 
273 
274  if flags.Detector.EnableMM:
275  from MuonConfig.MuonByteStreamCnvTestConfig import MM_RdoToDigitCfg
276  if "MMRDO" in flags.Input.Collections:
277  acc.merge(MM_RdoToDigitCfg(flags))
278  elif f"{flags.Overlay.BkgPrefix}MMRDO" in flags.Input.Collections:
279  acc.merge(MM_RdoToDigitCfg(flags,MmRdoContainer=f"{flags.Overlay.BkgPrefix}MMRDO",
280  MmDigitContainer=f"{flags.Overlay.BkgPrefix}MM_DIGITS"))
281 
282 
283  if flags.Detector.EnableMuon:
284  from MuonPRDTest.MuonPRDTestCfg import AddHitValAlgCfg
285  acc.merge(AddHitValAlgCfg(flags, name = "MuonHitValAlg", outFile=flags.Output.HISTFileName, doSDOs = True, doDigits=True))
286 
287  if flags.Detector.EnableITkPixel:
288  acc.merge(ITkPixelRDOAnalysisCfg(flags))
289 
290  if flags.Detector.EnableITkStrip:
291  acc.merge(ITkStripRDOAnalysisCfg(flags))
292 
293  if flags.Detector.EnableHGTD:
294  acc.merge(HGTD_RDOAnalysisCfg(flags))
295 
296  if flags.Detector.EnablePLR:
297  acc.merge(PLR_RDOAnalysisCfg(flags))
298 
299  return acc
300 
301 
302 def LArRDOAnalysisCfg(flags, name="LArRDOAnalysis", **kwargs):
303  from LArGeoAlgsNV.LArGMConfig import LArGMCfg
304  result = LArGMCfg(flags)
305 
306  kwargs.setdefault("NtupleFileName", "/RDOAnalysis")
307  kwargs.setdefault("NtupleDirectoryName", "/ntuples/")
308  kwargs.setdefault("NtupleTreeName", "LAr")
309  kwargs.setdefault("HistPath", "/RDOAnalysis/LAr/")
310  prefix=''
311  if flags.Common.ProductionStep is ProductionStep.PileUpPresampling:
312  kwargs.setdefault("PreSampling", True)
313  prefix=flags.Overlay.BkgPrefix
314  kwargs.setdefault("InputRawChannelKey", '') # Not in presampled RDO files
315  kwargs.setdefault("InputTTL1HADKey", '') # Not in presampled RDO files
316  kwargs.setdefault("InputTTL1EMKey", '') # Not in presampled RDO files
317  kwargs.setdefault("InputRawChannelKey", "LArRawChannels")
318  kwargs.setdefault("InputTTL1HADKey", "LArTTL1HAD")
319  kwargs.setdefault("InputTTL1EMKey", "LArTTL1EM")
320  kwargs.setdefault("InputDigitKey", f"{prefix}LArDigitContainer_MC_Thinned")
321 
322  result.addEventAlgo(CompFactory.LArRDOAnalysis(name, **kwargs))
323 
324  result.merge(RDOAnalysisOutputCfg(flags))
325 
326  return result
327 
328 
329 def TileRDOAnalysisCfg(flags, name="TileRDOAnalysis", **kwargs):
330  from TileGeoModel.TileGMConfig import TileGMCfg
331  result = TileGMCfg(flags)
332  from TileConditions.TileCablingSvcConfig import TileCablingSvcCfg
333  result.merge(TileCablingSvcCfg(flags))
334 
335  kwargs.setdefault("NtupleFileName", "/RDOAnalysis")
336  kwargs.setdefault("NtupleDirectoryName", "/ntuples/")
337  kwargs.setdefault("NtupleTreeName", "Tile")
338  kwargs.setdefault("HistPath", "/RDOAnalysis/Tile/")
339  prefix=''
340  if flags.Common.ProductionStep is ProductionStep.PileUpPresampling:
341  kwargs.setdefault("PreSampling", True)
342  prefix=flags.Overlay.BkgPrefix
343  kwargs.setdefault("InputRawChKey", '') # Not in presampled RDO files
344  kwargs.setdefault("InputMuRcvRawChKey", '') # Not in presampled RDO files
345  kwargs.setdefault("InputMuRcvKey", '') # Not in presampled RDO files
346  kwargs.setdefault("InputMBTS_TTL1Key", '') # Not in presampled RDO files
347  kwargs.setdefault("InputTileTTL1Key", '') # Not in presampled RDO files
348  kwargs.setdefault("InputL2Key", '') # Not in presampled RDO files
349  kwargs.setdefault("InputRawChKey", 'TileRawChannelCnt')
350  kwargs.setdefault("InputMuRcvRawChKey", 'MuRcvRawChCnt')
351  kwargs.setdefault("InputMuRcvKey", 'TileMuRcvCnt')
352  if flags.Detector.EnableMBTS:
353  kwargs.setdefault("InputMBTS_TTL1Key", 'TileTTL1MBTS')
354  else:
355  kwargs.setdefault("InputMBTS_TTL1Key", "")
356  kwargs.setdefault("InputTileTTL1Key", 'TileTTL1Cnt')
357  kwargs.setdefault("InputL2Key", 'TileL2Cnt')
358  kwargs.setdefault("InputDigitsMuRcvKey", f'{prefix}MuRcvDigitsCnt')
359  if f"{prefix}TileDigitsCnt" in flags.Input.Collections:
360  kwargs.setdefault("InputDigitsFltKey", f"{prefix}TileDigitsCnt")
361  else:
362  kwargs.setdefault("InputDigitsFltKey", "TileDigitsFlt")
363 
364  result.addEventAlgo(CompFactory.TileRDOAnalysis(name, **kwargs))
365 
366  result.merge(RDOAnalysisOutputCfg(flags))
367 
368  return result
369 
370 
371 def CSC_RDOAnalysisCfg(flags, name="CSC_RDOAnalysis", **kwargs):
372  from MuonConfig.MuonGeometryConfig import MuonGeoModelCfg
373  result = MuonGeoModelCfg(flags)
374 
375  kwargs.setdefault("NtupleFileName", "/RDOAnalysis")
376  kwargs.setdefault("NtupleDirectoryName", "/ntuples/")
377  kwargs.setdefault("NtupleTreeName", "CSC")
378  kwargs.setdefault("HistPath", "/RDOAnalysis/CSC/")
379  prefix=''
380  if flags.Common.ProductionStep is ProductionStep.PileUpPresampling:
381  prefix=flags.Overlay.BkgPrefix
382  kwargs.setdefault("InputKey", f"{prefix}CSCRDO")
383  kwargs.setdefault("InputTruthKey", f"{prefix}CSC_SDO")
384 
385  result.addEventAlgo(CompFactory.CSC_RDOAnalysis(name, **kwargs))
386 
387  result.merge(RDOAnalysisOutputCfg(flags))
388 
389  return result
390 
391 
392 def MDT_RDOAnalysisCfg(flags, name="MDT_RDOAnalysis", **kwargs):
393  from MuonConfig.MuonGeometryConfig import MuonGeoModelCfg
394  result = MuonGeoModelCfg(flags)
395 
396  kwargs.setdefault("NtupleFileName", "/RDOAnalysis")
397  kwargs.setdefault("NtupleDirectoryName", "/ntuples/")
398  kwargs.setdefault("NtupleTreeName", "MDT")
399  kwargs.setdefault("HistPath", "/RDOAnalysis/MDT/")
400  prefix=''
401  if flags.Common.ProductionStep is ProductionStep.PileUpPresampling:
402  prefix=flags.Overlay.BkgPrefix
403  kwargs.setdefault("InputKey", f"{prefix}MDTCSM")
404  kwargs.setdefault("InputTruthKey", f"{prefix}MDT_SDO")
405 
406  result.addEventAlgo(CompFactory.MDT_RDOAnalysis(name, **kwargs))
407 
408  result.merge(RDOAnalysisOutputCfg(flags))
409 
410  return result
411 
412 
413 def RPC_RDOAnalysisCfg(flags, name="RPC_RDOAnalysis", **kwargs):
414  from MuonConfig.MuonGeometryConfig import MuonGeoModelCfg
415  result = MuonGeoModelCfg(flags)
416 
417  kwargs.setdefault("NtupleFileName", "/RDOAnalysis")
418  kwargs.setdefault("NtupleDirectoryName", "/ntuples/")
419  kwargs.setdefault("NtupleTreeName", "RPC")
420  kwargs.setdefault("HistPath", "/RDOAnalysis/RPC/")
421  prefix=''
422  if flags.Common.ProductionStep is ProductionStep.PileUpPresampling:
423  prefix=flags.Overlay.BkgPrefix
424  kwargs.setdefault("InputKey", f"{prefix}RPCPAD")
425  kwargs.setdefault("InputTruthKey", f"{prefix}RPC_SDO")
426 
427  result.addEventAlgo(CompFactory.RPC_RDOAnalysis(name, **kwargs))
428 
429  result.merge(RDOAnalysisOutputCfg(flags))
430 
431  return result
432 
433 
434 def TGC_RDOAnalysisCfg(flags, name="TGC_RDOAnalysis", **kwargs):
435  from MuonConfig.MuonGeometryConfig import MuonGeoModelCfg
436  result = MuonGeoModelCfg(flags)
437 
438  kwargs.setdefault("NtupleFileName", "/RDOAnalysis")
439  kwargs.setdefault("NtupleDirectoryName", "/ntuples/")
440  kwargs.setdefault("NtupleTreeName", "TGC")
441  kwargs.setdefault("HistPath", "/RDOAnalysis/TGC/")
442  prefix=''
443  if flags.Common.ProductionStep is ProductionStep.PileUpPresampling:
444  prefix=flags.Overlay.BkgPrefix
445  kwargs.setdefault("InputKey", f"{prefix}TGCRDO")
446  kwargs.setdefault("InputTruthKey", f"{prefix}TGC_SDO")
447 
448  result.addEventAlgo(CompFactory.TGC_RDOAnalysis(name, **kwargs))
449 
450  result.merge(RDOAnalysisOutputCfg(flags))
451 
452  return result
453 
454 
456  from argparse import ArgumentParser
457 
458  parser = ArgumentParser()
459  parser.add_argument("--threads", type=int, help="number of threads", default=1)
460  parser.add_argument("--inputFile", "-i", default=[
461  "/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/WorkflowReferences/main/d1759/v5/myRDO.pool.root"
462  ],
463  help="Input file to run on ", nargs="+")
464  parser.add_argument("--geoTag", default="ATLAS-R3S-2021-03-02-00", help="Geometry tag to use", choices=["ATLAS-R2-2016-01-02-01",
465  "ATLAS-R3S-2021-03-02-00"])
466  parser.add_argument("--condTag", default="OFLCOND-MC23-SDR-RUN3-09", help="Conditions tag to use",
467  choices=["OFLCOND-MC16-SDR-RUN2-11",
468  "OFLCOND-MC23-SDR-RUN3-09"])
469 
470  parser.add_argument("--outFile", default="RDOAnalysis.root", help="Output ROOT file to dump the geomerty")
471  parser.add_argument("--nEvents", help="Number of events to run", type = int ,default = 1)
472  parser.add_argument("--skipEvents", help="Number of events to skip", type = int, default = 0)
473  parser.add_argument("--geoModelFile", default ="", help="GeoModel SqLite file containing the muon geometry.")
474 
475 
476 
477  return parser
478 
479 if __name__ == "__main__":
480  from AthenaConfiguration.AllConfigFlags import initConfigFlags
482  flags = initConfigFlags()
483  flags.Concurrency.NumThreads = args.threads
484  flags.Concurrency.NumConcurrentEvents = args.threads # Might change this later, but good enough for the moment.
485  flags.Input.Files = args.inputFile
486  flags.GeoModel.AtlasVersion = args.geoTag
487  flags.IOVDb.GlobalTag = args.condTag
488  flags.Scheduler.ShowDataDeps = True
489  flags.Scheduler.ShowDataFlow = True
490  flags.Exec.FPE= 500
491  flags.Exec.MaxEvents = args.nEvents
492  flags.Exec.SkipEvents = args.skipEvents
493  flags.Output.HISTFileName = args.outFile
494  if len (args.geoModelFile) > 0:
495  flags.GeoModel.SQLiteDB = True
496  flags.GeoModel.SQLiteDBFullPath = args.geoModelFile
497 
498  flags.lock()
499 
500  from AthenaConfiguration.MainServicesConfig import MainServicesCfg
501  cfg = MainServicesCfg(flags)
502 
503  from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
504  cfg.merge(PoolReadCfg(flags))
505 
506  cfg.merge(RDOAnalysisCfg(flags))
507 
508  cfg.printConfig(withDetails=True, summariseProps=True)
509  if not cfg.run().isSuccess(): exit(1)
510 
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
python.RDOAnalysisConfig.TRT_RDOAnalysisCfg
def TRT_RDOAnalysisCfg(flags, name="TRT_RDOAnalysis", **kwargs)
Definition: RDOAnalysisConfig.py:102
python.RDOAnalysisConfig.CSC_RDOAnalysisCfg
def CSC_RDOAnalysisCfg(flags, name="CSC_RDOAnalysis", **kwargs)
Definition: RDOAnalysisConfig.py:371
TRT_GeoModelConfig.TRT_ReadoutGeometryCfg
def TRT_ReadoutGeometryCfg(flags)
Definition: TRT_GeoModelConfig.py:59
python.RDOAnalysisConfig.SetupArgParser
def SetupArgParser()
Definition: RDOAnalysisConfig.py:455
ITkStripGeoModelConfig.ITkStripReadoutGeometryCfg
def ITkStripReadoutGeometryCfg(flags)
Definition: ITkStripGeoModelConfig.py:43
python.MuonByteStreamCnvTestConfig.MdtRdoToMdtDigitCfg
def MdtRdoToMdtDigitCfg(flags, name="MdtRdoToMdtDigitAlg", **kwargs)
Definition: MuonByteStreamCnvTestConfig.py:20
ITkPixelGeoModelConfig.ITkPixelReadoutGeometryCfg
def ITkPixelReadoutGeometryCfg(flags)
Definition: ITkPixelGeoModelConfig.py:39
python.RDOAnalysisConfig.ITkPixelRDOAnalysisCfg
def ITkPixelRDOAnalysisCfg(flags, name="ITkPixelRDOAnalysis", **kwargs)
Definition: RDOAnalysisConfig.py:123
python.RDOAnalysisConfig.MDT_RDOAnalysisCfg
def MDT_RDOAnalysisCfg(flags, name="MDT_RDOAnalysis", **kwargs)
Definition: RDOAnalysisConfig.py:392
MuonPRDTestCfg.AddHitValAlgCfg
def AddHitValAlgCfg(flags, name="HitValAlg", outFile="NSWPRDValAlg.ntuple.root", **kwargs)
Definition: MuonPRDTestCfg.py:31
SCT_GeoModelConfig.SCT_ReadoutGeometryCfg
def SCT_ReadoutGeometryCfg(flags)
Definition: SCT_GeoModelConfig.py:50
python.RDOAnalysisConfig.BCM_RDOAnalysisCfg
def BCM_RDOAnalysisCfg(flags, name="BCM_RDOAnalysis", **kwargs)
Definition: RDOAnalysisConfig.py:33
python.MainServicesConfig.MainServicesCfg
def MainServicesCfg(flags, LoopMgr='AthenaEventLoopMgr')
Definition: MainServicesConfig.py:260
python.RDOAnalysisConfig.PixelRDOAnalysisCfg
def PixelRDOAnalysisCfg(flags, name="PixelRDOAnalysis", **kwargs)
Definition: RDOAnalysisConfig.py:54
python.MuonByteStreamCnvTestConfig.RpcRdoToRpcDigitCfg
def RpcRdoToRpcDigitCfg(flags, name="RpcRdoToRpcDigitAlg", **kwargs)
Definition: MuonByteStreamCnvTestConfig.py:44
python.RDOAnalysisConfig.TGC_RDOAnalysisCfg
def TGC_RDOAnalysisCfg(flags, name="TGC_RDOAnalysis", **kwargs)
Definition: RDOAnalysisConfig.py:434
python.RDOAnalysisConfig.ITkStripRDOAnalysisCfg
def ITkStripRDOAnalysisCfg(flags, name="ITkStripRDOAnalysis", **kwargs)
Definition: RDOAnalysisConfig.py:146
python.RDOAnalysisConfig.RDOAnalysisCfg
def RDOAnalysisCfg(flags)
Definition: RDOAnalysisConfig.py:218
python.RDOAnalysisConfig.HGTD_RDOAnalysisCfg
def HGTD_RDOAnalysisCfg(flags, name="HGTD_RDOAnalysis", **kwargs)
Definition: RDOAnalysisConfig.py:169
calibdata.exit
exit
Definition: calibdata.py:236
HGTD_GeoModelConfig.HGTD_ReadoutGeometryCfg
def HGTD_ReadoutGeometryCfg(flags)
Definition: python/HGTD_GeoModelConfig.py:23
LArGMConfig.LArGMCfg
def LArGMCfg(flags)
Definition: LArGMConfig.py:8
PixelGeoModelConfig.PixelReadoutGeometryCfg
def PixelReadoutGeometryCfg(flags)
Definition: PixelGeoModelConfig.py:52
python.MuonByteStreamCnvTestConfig.TgcRdoToTgcDigitCfg
def TgcRdoToTgcDigitCfg(flags, name="TgcRdoToTgcDigitAlg", **kwargs)
Definition: MuonByteStreamCnvTestConfig.py:91
python.RDOAnalysisConfig.TileRDOAnalysisCfg
def TileRDOAnalysisCfg(flags, name="TileRDOAnalysis", **kwargs)
Definition: RDOAnalysisConfig.py:329
python.RDOAnalysisConfig.LArRDOAnalysisCfg
def LArRDOAnalysisCfg(flags, name="LArRDOAnalysis", **kwargs)
Definition: RDOAnalysisConfig.py:302
python.MuonByteStreamCnvTestConfig.STGC_RdoToDigitCfg
def STGC_RdoToDigitCfg(flags, name="STGC_RdoToDigitAlg", **kwargs)
Definition: MuonByteStreamCnvTestConfig.py:116
python.RDOAnalysisConfig.RDOAnalysisOutputCfg
def RDOAnalysisOutputCfg(flags, output_name="RDOAnalysis")
Definition: RDOAnalysisConfig.py:8
python.RDOAnalysisConfig.EventInfoRDOAnalysisCfg
def EventInfoRDOAnalysisCfg(flags, name="EventInfoRDOAnalysis", **kwargs)
Definition: RDOAnalysisConfig.py:18
python.MuonGeometryConfig.MuonGeoModelCfg
def MuonGeoModelCfg(flags)
Definition: MuonGeometryConfig.py:28
python.AllConfigFlags.initConfigFlags
def initConfigFlags()
Definition: AllConfigFlags.py:19
confTool.parse_args
def parse_args()
Definition: confTool.py:36
python.RDOAnalysisConfig.PLR_RDOAnalysisCfg
def PLR_RDOAnalysisCfg(flags, name="PLR_RDOAnalysis", **kwargs)
Definition: RDOAnalysisConfig.py:192
python.PoolReadConfig.PoolReadCfg
def PoolReadCfg(flags)
Definition: PoolReadConfig.py:69
python.TileCablingSvcConfig.TileCablingSvcCfg
def TileCablingSvcCfg(flags)
Definition: TileCablingSvcConfig.py:11
PLR_GeoModelConfig.PLR_ReadoutGeometryCfg
def PLR_ReadoutGeometryCfg(flags, **kwargs)
Definition: PLR_GeoModelConfig.py:42
python.RDOAnalysisConfig.RPC_RDOAnalysisCfg
def RPC_RDOAnalysisCfg(flags, name="RPC_RDOAnalysis", **kwargs)
Definition: RDOAnalysisConfig.py:413
python.MuonByteStreamCnvTestConfig.MM_RdoToDigitCfg
def MM_RdoToDigitCfg(flags, name="MM_RdoToDigitAlg", **kwargs)
Definition: MuonByteStreamCnvTestConfig.py:140
TileGMConfig.TileGMCfg
def TileGMCfg(flags)
Definition: TileGMConfig.py:7
python.RDOAnalysisConfig.SCT_RDOAnalysisCfg
def SCT_RDOAnalysisCfg(flags, name="SCT_RDOAnalysis", **kwargs)
Definition: RDOAnalysisConfig.py:78