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 acc.addEventAlgo(CompFactory.ITkPixelDecodingAlg(name, **kwargs))
39
40 return acc
41
42
43def 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
82def 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
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 ITkPixelHitSortingToolCfg(flags, name="ITkPixelHitSortingTool", **kwargs)
ComponentAccumulator ITkPixelDecodingAlgCfg(flags, name="ITkPixelDecodingAlg", **kwargs)