ATLAS Offline Software
Loading...
Searching...
No Matches
ITkPixelByteStreamCnvConfig.py
Go to the documentation of this file.
2# Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3#
4
5from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
6from AthenaConfiguration.ComponentFactory import CompFactory
7
9 from ITkPixelCabling.ITkPixelCablingAlgConfig import ITkPixelCablingAlgCfg
10 acc = ComponentAccumulator()
11
12 if flags.ITk.Conditions.PixelTestCablingFallback:
13 acc.merge(ITkPixelCablingAlgCfg(flags, name="ITkPixelCablingAlg", UseTestCabling=True))
14 else:
15 acc.merge(ITkPixelCablingAlgCfg(flags, name="ITkPixelCablingAlg", UseTestCabling=False))
16 return acc
17
18
19def ITkPixelHitSortingToolCfg(flags, name = "ITkPixelHitSortingTool", **kwargs) -> ComponentAccumulator:
20 acc = ComponentAccumulator()
21
22 from PixelReadoutGeometry.PixelReadoutGeometryConfig import ITkPixelReadoutManagerCfg
23 acc.merge(ITkPixelReadoutManagerCfg(flags))
24
25 acc.setPrivateTools(CompFactory.ITkPixelHitSortingTool(name, **kwargs))
26 return acc
27
28def ITkPixelEncodingToolCfg(flags, name = "ITkPixelEncodingTool", **kwargs) -> ComponentAccumulator:
29 acc = ComponentAccumulator()
30 acc.setPrivateTools(CompFactory.ITkPixelEncodingTool(name, **kwargs))
31 return acc
32
33def ITkPixelTranslatorAlgCfg(flags, name = "ITkPixelTranslatorAlg", **kwargs) -> ComponentAccumulator:
34 acc = ComponentAccumulator()
35
36 from PixelGeoModelXml.ITkPixelGeoModelConfig import ITkPixelReadoutGeometryCfg
37 acc.merge(ITkPixelReadoutGeometryCfg(flags))
38
39 acc.addEventAlgo(CompFactory.ITkPixelTranslatorAlg(name, **kwargs))
40
41 return acc
42
43def ITkPixelDecodingAlgCfg(flags, name = "ITkPixelDecodingAlg", **kwargs) -> ComponentAccumulator:
44 acc = ComponentAccumulator()
45
46 from PixelGeoModelXml.ITkPixelGeoModelConfig import ITkPixelReadoutGeometryCfg
47 acc.merge(ITkPixelReadoutGeometryCfg(flags))
48
49 acc.merge(addITkPixelCabling(flags))
50
51 acc.addEventAlgo(CompFactory.ITkPixelDecodingAlg(name, **kwargs))
52
53 return acc
54
56 name = "ITkPixelDecodingPhaseIIRDOAlg",
57 nRDOs = 1300000,
58 **kwargs) -> ComponentAccumulator:
59 acc = ComponentAccumulator()
60
61 from PixelGeoModelXml.ITkPixelGeoModelConfig import ITkPixelReadoutGeometryCfg
62 acc.merge(ITkPixelReadoutGeometryCfg(flags))
63
64 kwargs.setdefault("nRDOs", nRDOs)
65
66 acc.merge(addITkPixelCabling(flags))
67
68 acc.addEventAlgo(CompFactory.ITkPixelDecodingPhaseIIRDOAlg(name, **kwargs))
69
70 return acc
71
72
73def ITkPixelEncodingAlgCfg(flags, name = "ITkPixelEncodingAlg",
74 doMonitoring = False,
75 doExpertPlots = False,
76 **kwargs) -> ComponentAccumulator:
77 acc = ComponentAccumulator()
78
79 from PixelGeoModelXml.ITkPixelGeoModelConfig import ITkPixelReadoutGeometryCfg
80 acc.merge(ITkPixelReadoutGeometryCfg(flags))
81
82 kwargs.setdefault("PixelConversionTool", acc.getPrimaryAndMerge( ITkPixelCnvToolCfg(flags,
83 doMonitoring = doMonitoring,
84 doExpertPlots = doExpertPlots,
85 **kwargs) ))
86
87 acc.merge(addITkPixelCabling(flags))
88
89 acc.addEventAlgo(CompFactory.ITkPixelEncodingAlg(name, **kwargs))
90
91 return acc
92
93
95 name = "ITkPixelDataRateMonTool",
96 doExpertPlots = False,
97 HistogramGroup: str="DataRateMon",
98 FileName: str='ITkPixelEncodingMonitoring.root') -> ComponentAccumulator:
99 acc = ComponentAccumulator()
100
101 histSvc = CompFactory.THistSvc(Output = [f"{HistogramGroup} DATAFILE='{FileName}', OPT='RECREATE'"] )
102 acc.addService(histSvc)
103
104 monitor = CompFactory.ITkPixelDataRateMonTool(name)
105 monitor.HistSvc = histSvc
106 monitor.DoExpertPlots = doExpertPlots
107
108 acc.addPublicTool(monitor, primary=True)
109 return acc
110
111
112def ITkPixelCnvToolCfg(flags, name = "ITkPixelCnvTool",
113 doMonitoring = False,
114 doExpertPlots = False,
115 **kwargs) -> ComponentAccumulator:
116 acc = ComponentAccumulator()
117
118 if doMonitoring:
119 kwargs.setdefault("DataRateMonitoringTool", acc.getPrimaryAndMerge(ITkPixelDataRateMonToolCfg(flags, doExpertPlots=doExpertPlots)))
120
121 kwargs.setdefault("HitSortingTool", acc.popToolsAndMerge(ITkPixelHitSortingToolCfg(name)))
122 kwargs.setdefault("EncodingTool", acc.popToolsAndMerge(ITkPixelEncodingToolCfg(name)))
123 kwargs.setdefault("PixelCablingKey", "ITkPixelCablingData")
124
125 acc.addPublicTool(CompFactory.ITkPixelCnvTool(name, **kwargs), primary=True)
126 return acc
127
128
130 name = "ITkPixelCsvWaferIdAlg",
131 OutputFile: str = "ITkPixelWaferIds.txt",
132 **kwargs) -> ComponentAccumulator:
133 acc = ComponentAccumulator()
134
135 from PixelGeoModelXml.ITkPixelGeoModelConfig import ITkPixelReadoutGeometryCfg
136 acc.merge(ITkPixelReadoutGeometryCfg(flags))
137
138 kwargs.setdefault("OutputFile", OutputFile)
139 acc.addEventAlgo(CompFactory.ITkPixelCsvWaferIdAlg(name, **kwargs))
140 return acc
ComponentAccumulator ITkPixelTranslatorAlgCfg(flags, name="ITkPixelTranslatorAlg", **kwargs)
ComponentAccumulator ITkPixelEncodingToolCfg(flags, name="ITkPixelEncodingTool", **kwargs)
ComponentAccumulator ITkPixelHitSortingToolCfg(flags, name="ITkPixelHitSortingTool", **kwargs)
ComponentAccumulator ITkPixelDecodingAlgCfg(flags, name="ITkPixelDecodingAlg", **kwargs)
ComponentAccumulator ITkPixelCnvToolCfg(flags, name="ITkPixelCnvTool", doMonitoring=False, doExpertPlots=False, **kwargs)
ComponentAccumulator ITkPixelDecodingPhaseIIRDOAlgCfg(flags, name="ITkPixelDecodingPhaseIIRDOAlg", nRDOs=1300000, **kwargs)
ComponentAccumulator ITkPixelDataRateMonToolCfg(flags, name="ITkPixelDataRateMonTool", doExpertPlots=False, str HistogramGroup="DataRateMon", str FileName='ITkPixelEncodingMonitoring.root')
ComponentAccumulator ITkPixelCsvWaferIdAlgCfg(flags, name="ITkPixelCsvWaferIdAlg", str OutputFile="ITkPixelWaferIds.txt", **kwargs)
ComponentAccumulator ITkPixelEncodingAlgCfg(flags, name="ITkPixelEncodingAlg", doMonitoring=False, doExpertPlots=False, **kwargs)