5from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
6from AthenaConfiguration.ComponentFactory
import CompFactory
7from AthenaConfiguration.Enums
import ProductionStep
8from ITkStripCabling.ITkStripCablingConfig
import ITkStripCablingToolCfg
9from StripGeoModelXml.ITkStripGeoModelConfig
import ITkStripReadoutGeometryCfg
13 acc = ComponentAccumulator()
14 if "ITkStripsRodEncoder" not in kwargs :
16 acc.setPrivateTools( CompFactory.ITkStripsRawContByteStreamTool(name=name,**kwargs))
20 acc = ComponentAccumulator()
21 if "RawContByteStreamTool" not in kwargs :
23 acc.addPublicTool( CompFactory.ITkStripRawContByteStreamToolProviderTool(name=name,**kwargs))
27 acc = ComponentAccumulator()
28 acc.merge(ITkStripReadoutGeometryCfg(flags))
29 if "DataRateMonitoringTool" not in kwargs:
31 kwargs.setdefault(
"ITkStripCablingTool", acc.popToolsAndMerge(ITkStripCablingToolCfg(flags)))
32 acc.setPrivateTools(CompFactory.ITkStripsRodEncoder(name,**kwargs))
36 acc = ComponentAccumulator()
37 acc.merge(ITkStripReadoutGeometryCfg(flags))
38 kwargs.setdefault(
"ITkStripCablingTool", acc.popToolsAndMerge(ITkStripCablingToolCfg(flags)))
39 acc.setPrivateTools(CompFactory.ITkStripsRodDecoder(name,**kwargs))
43 acc = ComponentAccumulator()
45 acc.setPrivateTools(CompFactory.ITkStripRawDataProviderTool(name, **kwargs))
49 """ Configures the main algorithm for ITk raw data decoding """
50 acc = ComponentAccumulator()
53 if flags.Common.ProductionStep
is ProductionStep.MinbiasPreprocessing:
54 kwargs.setdefault(
"RDOKey", f
"{flags.Overlay.BkgPrefix}ITkStripRDOs")
55 kwargs.setdefault(
"LVL1IDKey", f
"{flags.Overlay.BkgPrefix}ITkStripLVL1ID")
56 kwargs.setdefault(
"BCIDKey", f
"{flags.Overlay.BkgPrefix}ITkStripBCID")
58 acc.addEventAlgo(CompFactory.ITkStripRawDataProvider(name=
"ITkStripRawDataProvider",**kwargs))
62 acc = ComponentAccumulator()
63 if flags.Common.ProductionStep
is ProductionStep.MinbiasPreprocessing:
64 kwargs.setdefault(
"xAODEventInfoKey", f
"{flags.Overlay.BkgPrefix}EventInfo")
65 acc.addEventAlgo(CompFactory.SCTEventFlagWriter(name=
"ITkStripsEventFlagWriter", **kwargs))
70 name = "ITkStripDataRateMonTool",
71 doExpertPlots = False,
72 HistogramGroup: str=
"DataRateMon",
73 FileName: str=
'ITkStripEncodingMonitoring.root') -> ComponentAccumulator:
74 acc = ComponentAccumulator()
76 histSvc = CompFactory.THistSvc(Output = [f
"{HistogramGroup} DATAFILE='{FileName}', OPT='RECREATE'"] )
77 acc.addService(histSvc)
79 monitor = CompFactory.ITkStripDataRateMonTool(name)
80 monitor.HistSvc = histSvc
81 monitor.DoExpertPlots = doExpertPlots
83 acc.addPublicTool(monitor, primary=
True)
ITkStripRawContByteStreamToolCfg(flags, name="ITkStripRawContByteStreamToolCustom", **kwargs)
ComponentAccumulator ITkStripDataRateMonToolCfg(flags, name="ITkStripDataRateMonTool", doExpertPlots=False, str HistogramGroup="DataRateMon", str FileName='ITkStripEncodingMonitoring.root')
ITkStripsRodEncoderCfg(flags, name='ITkStripRodEncoder', **kwargs)
ITkStripRawDataProviderToolCfg(flags, name="ITkStripRawDataProviderTool", **kwargs)
ITkStripsRodDecoderCfg(flags, name='ITkStripsRodDecoder', **kwargs)
ITkStripsEventFlagWriterCfg(flags, **kwargs)
ITkStripRawDataProviderCfg(flags, **kwargs)
ITkStripRawContByteStreamToolProviderToolCfg(flags, name="SCTRawContByteStreamToolProviderTool", **kwargs)