ATLAS Offline Software
ITkPixelByteStreamCnvConfig.py
Go to the documentation of this file.
1 #
2 # Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 #
4 
5 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
6 from AthenaConfiguration.ComponentFactory import CompFactory
7 
8 def ITkPixelHitSortingToolCfg(flags, name = "ITkPixelHitSortingTool", **kwargs) -> ComponentAccumulator:
10 
11  from PixelReadoutGeometry.PixelReadoutGeometryConfig import ITkPixelReadoutManagerCfg
12  acc.merge(ITkPixelReadoutManagerCfg(flags))
13 
14  acc.setPrivateTools(CompFactory.ITkPixelHitSortingTool(name, **kwargs))
15  return acc
16 
17 def ITkPixelEncodingToolCfg(flags, name = "ITkPixelEncodingTool", **kwargs) -> ComponentAccumulator:
18  acc = ComponentAccumulator()
19  acc.setPrivateTools(CompFactory.ITkPixelEncodingTool(name, **kwargs))
20  return acc
21 
22 def ITkPixelTranslatorAlgCfg(flags, name = "ITkPixelTranslatorAlg", **kwargs) -> ComponentAccumulator:
23  acc = ComponentAccumulator()
24 
25  from PixelGeoModelXml.ITkPixelGeoModelConfig import ITkPixelReadoutGeometryCfg
26  acc.merge(ITkPixelReadoutGeometryCfg(flags))
27 
28  acc.addEventAlgo(CompFactory.ITkPixelTranslatorAlg(name, **kwargs))
29 
30  return acc
31 
32 def ITkPixelDecodingAlgCfg(flags, name = "ITkPixelDecodingAlg", **kwargs) -> ComponentAccumulator:
33  acc = ComponentAccumulator()
34 
35  from PixelGeoModelXml.ITkPixelGeoModelConfig import ITkPixelReadoutGeometryCfg
36  acc.merge(ITkPixelReadoutGeometryCfg(flags))
37 
38  acc.addEventAlgo(CompFactory.ITkPixelDecodingAlg(name, **kwargs))
39 
40  return acc
41 
42 
43 def ITkPixelEncodingAlgCfg(flags, name = "ITkPixelEncodingAlg",
44  doMonitoring = False,
45  doExpertPlots = False,
46  **kwargs) -> ComponentAccumulator:
47  acc = ComponentAccumulator()
48 
49  acc.merge(ITkPixelTranslatorAlgCfg(flags, **kwargs))
50 
51  from PixelGeoModelXml.ITkPixelGeoModelConfig import ITkPixelReadoutGeometryCfg
52  acc.merge(ITkPixelReadoutGeometryCfg(flags))
53 
54  kwargs.setdefault("PixelConversionTool", acc.getPrimaryAndMerge( ITkPixelCnvToolCfg(flags,
55  doMonitoring = doMonitoring,
56  doExpertPlots = doExpertPlots,
57  **kwargs) ))
58 
59  acc.addEventAlgo(CompFactory.ITkPixelEncodingAlg(name, **kwargs))
60 
61  return acc
62 
63 
65  name = "ITkPixelDataRateMonTool",
66  doExpertPlots = False,
67  HistogramGroup: str="DataRateMon",
68  FileName: str='ITkPixelEncodingMonitoring.root') -> ComponentAccumulator:
69  acc = ComponentAccumulator()
70 
71  histSvc = CompFactory.THistSvc(Output = [f"{HistogramGroup} DATAFILE='{FileName}', OPT='RECREATE'"] )
72  acc.addService(histSvc)
73 
74  monitor = CompFactory.ITkPixelDataRateMonTool(name)
75  monitor.HistSvc = histSvc
76  monitor.DoExpertPlots = doExpertPlots
77 
78  acc.addPublicTool(monitor, primary=True)
79  return acc
80 
81 
82 def ITkPixelCnvToolCfg(flags, name = "ITkPixelCnvTool",
83  doMonitoring = False,
84  doExpertPlots = False,
85  **kwargs) -> ComponentAccumulator:
86  acc = ComponentAccumulator()
87 
88  if doMonitoring:
89  kwargs.setdefault("DataRateMonitoringTool", acc.getPrimaryAndMerge(ITkPixelDataRateMonToolCfg(flags, doExpertPlots=doExpertPlots)))
90 
91  kwargs.setdefault("HitSortingTool", acc.popToolsAndMerge(ITkPixelHitSortingToolCfg(name)))
92  kwargs.setdefault("EncodingTool", acc.popToolsAndMerge(ITkPixelEncodingToolCfg(name)))
93  kwargs.setdefault("ByteStreamConvertionService", acc.addService(CompFactory.ByteStreamCnvSvc(name)))
94  kwargs.setdefault("PixelCablingKey", "ITkPixelCablingData")
95 
96  acc.addPublicTool(CompFactory.ITkPixelCnvTool(name, **kwargs), primary=True)
97  return acc
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:342
ITkPixelByteStreamCnvConfig.ITkPixelDecodingAlgCfg
ComponentAccumulator ITkPixelDecodingAlgCfg(flags, name="ITkPixelDecodingAlg", **kwargs)
Definition: ITkPixelByteStreamCnvConfig.py:32
ITkPixelByteStreamCnvConfig.ITkPixelDataRateMonToolCfg
ComponentAccumulator ITkPixelDataRateMonToolCfg(flags, name="ITkPixelDataRateMonTool", doExpertPlots=False, str HistogramGroup="DataRateMon", str FileName='ITkPixelEncodingMonitoring.root')
Definition: ITkPixelByteStreamCnvConfig.py:64
ITkPixelGeoModelConfig.ITkPixelReadoutGeometryCfg
def ITkPixelReadoutGeometryCfg(flags)
Definition: ITkPixelGeoModelConfig.py:39
ITkPixelByteStreamCnvConfig.ITkPixelEncodingToolCfg
ComponentAccumulator ITkPixelEncodingToolCfg(flags, name="ITkPixelEncodingTool", **kwargs)
Definition: ITkPixelByteStreamCnvConfig.py:17
ITkPixelByteStreamCnvConfig.ITkPixelEncodingAlgCfg
ComponentAccumulator ITkPixelEncodingAlgCfg(flags, name="ITkPixelEncodingAlg", doMonitoring=False, doExpertPlots=False, **kwargs)
Definition: ITkPixelByteStreamCnvConfig.py:43
ITkPixelByteStreamCnvConfig.ITkPixelTranslatorAlgCfg
ComponentAccumulator ITkPixelTranslatorAlgCfg(flags, name="ITkPixelTranslatorAlg", **kwargs)
Definition: ITkPixelByteStreamCnvConfig.py:22
ITkPixelByteStreamCnvConfig.ITkPixelHitSortingToolCfg
ComponentAccumulator ITkPixelHitSortingToolCfg(flags, name="ITkPixelHitSortingTool", **kwargs)
Definition: ITkPixelByteStreamCnvConfig.py:8
python.PixelReadoutGeometryConfig.ITkPixelReadoutManagerCfg
def ITkPixelReadoutManagerCfg(flags, name="ITkPixelReadoutManager", **kwargs)
Definition: PixelReadoutGeometryConfig.py:13
ITkPixelByteStreamCnvConfig.ITkPixelCnvToolCfg
ComponentAccumulator ITkPixelCnvToolCfg(flags, name="ITkPixelCnvTool", doMonitoring=False, doExpertPlots=False, **kwargs)
Definition: ITkPixelByteStreamCnvConfig.py:82