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
8def ITkPixelHitSortingToolCfg(flags, name = "ITkPixelHitSortingTool", **kwargs) -> ComponentAccumulator:
9 acc = 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
17def ITkPixelEncodingToolCfg(flags, name = "ITkPixelEncodingTool", **kwargs) -> ComponentAccumulator:
18 acc = ComponentAccumulator()
19 acc.setPrivateTools(CompFactory.ITkPixelEncodingTool(name, **kwargs))
20 return acc
21
22def 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
32def ITkPixelDecodingAlgCfg(flags, name = "ITkPixelDecodingAlg", **kwargs) -> ComponentAccumulator:
33 acc = ComponentAccumulator()
34
35 from PixelGeoModelXml.ITkPixelGeoModelConfig import ITkPixelReadoutGeometryCfg
36 acc.merge(ITkPixelReadoutGeometryCfg(flags))
37
38 from ITkPixelCabling.ITkPixelCablingAlgConfig import ITkPixelCablingAlgCfg
39 acc.merge(ITkPixelCablingAlgCfg(flags, UseTestCabling=True))
40
41
42 acc.addEventAlgo(CompFactory.ITkPixelDecodingAlg(name, **kwargs))
43
44 return acc
45
47 name = "ITkPixelDecodingPhaseIIRDOAlg",
48 nRDOs = 1300000,
49 **kwargs) -> ComponentAccumulator:
50 acc = ComponentAccumulator()
51
52 from PixelGeoModelXml.ITkPixelGeoModelConfig import ITkPixelReadoutGeometryCfg
53 acc.merge(ITkPixelReadoutGeometryCfg(flags))
54
55 from ITkPixelCabling.ITkPixelCablingAlgConfig import ITkPixelCablingAlgCfg
56 acc.merge(ITkPixelCablingAlgCfg(flags))
57 kwargs.setdefault("nRDOs", nRDOs)
58
59 acc.addEventAlgo(CompFactory.ITkPixelDecodingPhaseIIRDOAlg(name, **kwargs))
60
61 return acc
62
63
64def ITkPixelEncodingAlgCfg(flags, name = "ITkPixelEncodingAlg",
65 doMonitoring = False,
66 doExpertPlots = False,
67 **kwargs) -> ComponentAccumulator:
68 acc = ComponentAccumulator()
69
70 from PixelGeoModelXml.ITkPixelGeoModelConfig import ITkPixelReadoutGeometryCfg
71 acc.merge(ITkPixelReadoutGeometryCfg(flags))
72
73 kwargs.setdefault("PixelConversionTool", acc.getPrimaryAndMerge( ITkPixelCnvToolCfg(flags,
74 doMonitoring = doMonitoring,
75 doExpertPlots = doExpertPlots,
76 **kwargs) ))
77
78 acc.addEventAlgo(CompFactory.ITkPixelEncodingAlg(name, **kwargs))
79
80 return acc
81
82
84 name = "ITkPixelDataRateMonTool",
85 doExpertPlots = False,
86 HistogramGroup: str="DataRateMon",
87 FileName: str='ITkPixelEncodingMonitoring.root') -> ComponentAccumulator:
88 acc = ComponentAccumulator()
89
90 histSvc = CompFactory.THistSvc(Output = [f"{HistogramGroup} DATAFILE='{FileName}', OPT='RECREATE'"] )
91 acc.addService(histSvc)
92
93 monitor = CompFactory.ITkPixelDataRateMonTool(name)
94 monitor.HistSvc = histSvc
95 monitor.DoExpertPlots = doExpertPlots
96
97 acc.addPublicTool(monitor, primary=True)
98 return acc
99
100
101def ITkPixelCnvToolCfg(flags, name = "ITkPixelCnvTool",
102 doMonitoring = False,
103 doExpertPlots = False,
104 **kwargs) -> ComponentAccumulator:
105 acc = ComponentAccumulator()
106
107 if doMonitoring:
108 kwargs.setdefault("DataRateMonitoringTool", acc.getPrimaryAndMerge(ITkPixelDataRateMonToolCfg(flags, doExpertPlots=doExpertPlots)))
109
110 kwargs.setdefault("HitSortingTool", acc.popToolsAndMerge(ITkPixelHitSortingToolCfg(name)))
111 kwargs.setdefault("EncodingTool", acc.popToolsAndMerge(ITkPixelEncodingToolCfg(name)))
112 kwargs.setdefault("PixelCablingKey", "ITkPixelCablingData")
113
114 acc.addPublicTool(CompFactory.ITkPixelCnvTool(name, **kwargs), primary=True)
115 return acc
ComponentAccumulator ITkPixelEncodingToolCfg(flags, name="ITkPixelEncodingTool", **kwargs)
ComponentAccumulator ITkPixelCnvToolCfg(flags, name="ITkPixelCnvTool", doMonitoring=False, doExpertPlots=False, **kwargs)
ComponentAccumulator ITkPixelEncodingAlgCfg(flags, name="ITkPixelEncodingAlg", doMonitoring=False, doExpertPlots=False, **kwargs)
ComponentAccumulator ITkPixelDataRateMonToolCfg(flags, name="ITkPixelDataRateMonTool", doExpertPlots=False, str HistogramGroup="DataRateMon", str FileName='ITkPixelEncodingMonitoring.root')
ComponentAccumulator ITkPixelTranslatorAlgCfg(flags, name="ITkPixelTranslatorAlg", **kwargs)
ComponentAccumulator ITkPixelDecodingPhaseIIRDOAlgCfg(flags, name="ITkPixelDecodingPhaseIIRDOAlg", nRDOs=1300000, **kwargs)
ComponentAccumulator ITkPixelHitSortingToolCfg(flags, name="ITkPixelHitSortingTool", **kwargs)
ComponentAccumulator ITkPixelDecodingAlgCfg(flags, name="ITkPixelDecodingAlg", **kwargs)