ATLAS Offline Software
PixelRawDataByteStreamCnvConfig.py
Go to the documentation of this file.
1 #
2 # Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 #
4 
5 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
6 from AthenaConfiguration.ComponentFactory import CompFactory
7 from PixelConditionsAlgorithms.PixelConditionsConfig import PixelCablingCondAlgCfg, PixelHitDiscCnfgAlgCfg
8 
9 
10 def PixelRawDataProviderToolCfg(flags, prefix="", suffix="", storeInDetTimeCollections=True):
11  acc = ComponentAccumulator()
12  decoder = CompFactory.PixelRodDecoder(CheckDuplicatedPixel = False if "data15" in flags.Input.ProjectName else True)
13  acc.setPrivateTools(CompFactory.PixelRawDataProviderTool(Decoder = decoder, StoreInDetTimeCollections = storeInDetTimeCollections))
14  return acc
15 
16 
17 def PixelRawDataProviderAlgCfg(flags, **kwargs):
18  """ Main function to configure Pixel raw data decoding """
19  acc = PixelCablingCondAlgCfg(flags)
20  acc.merge(PixelHitDiscCnfgAlgCfg(flags))
21 
22  if flags.Overlay.ByteStream:
23  kwargs.setdefault("RDOKey", f"{flags.Overlay.BkgPrefix}PixelRDOs")
24  else:
25  kwargs.setdefault("RDOKey", "PixelRDOs")
26 
27  from PixelReadoutGeometry.PixelReadoutGeometryConfig import PixelReadoutManagerCfg
28  acc.merge (PixelReadoutManagerCfg(flags))
29 
30  from RegionSelector.RegSelToolConfig import regSelTool_Pixel_Cfg
31  regSelTool = acc.popToolsAndMerge(regSelTool_Pixel_Cfg(flags))
32  storeInDetTimeCollections = kwargs.pop("StoreInDetTimeCollections",True)
33 
34  prefix = kwargs.pop("prefix","")
35  suffix = kwargs.pop("suffix","")
36  providerTool = acc.popToolsAndMerge(PixelRawDataProviderToolCfg(flags, prefix, suffix, storeInDetTimeCollections))
37  acc.addEventAlgo(CompFactory.PixelRawDataProvider(RegSelTool = regSelTool,
38  ProviderTool = providerTool,
39  **kwargs))
40  return acc
41 
42 
43 def TrigPixelRawDataProviderAlgCfg(flags, suffix, RoIs, **kwargs):
44  kwargs.setdefault('name', 'TrigPixelRawDataProvider'+suffix)
45  kwargs.setdefault('prefix', "Trig")
46  kwargs.setdefault('suffix', suffix)
47  kwargs.setdefault('RoIs', RoIs)
48  kwargs.setdefault('isRoI_Seeded', True)
49  kwargs.setdefault('RDOCacheKey', flags.Trigger.InDetTracking.PixRDOCacheKey)
50  kwargs.setdefault('BSErrorsCacheKey', flags.Trigger.InDetTracking.PixBSErrCacheKey)
51  kwargs.setdefault('StoreInDetTimeCollections', False)
52  return PixelRawDataProviderAlgCfg(flags, **kwargs)
PixelRawDataByteStreamCnvConfig.TrigPixelRawDataProviderAlgCfg
def TrigPixelRawDataProviderAlgCfg(flags, suffix, RoIs, **kwargs)
Definition: PixelRawDataByteStreamCnvConfig.py:43
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
PixelConditionsConfig.PixelCablingCondAlgCfg
def PixelCablingCondAlgCfg(flags, name="PixelCablingCondAlg", **kwargs)
Definition: PixelConditionsConfig.py:109
PixelRawDataByteStreamCnvConfig.PixelRawDataProviderAlgCfg
def PixelRawDataProviderAlgCfg(flags, **kwargs)
Definition: PixelRawDataByteStreamCnvConfig.py:17
RegSelToolConfig.regSelTool_Pixel_Cfg
def regSelTool_Pixel_Cfg(flags)
Definition: RegSelToolConfig.py:99
PixelConditionsConfig.PixelHitDiscCnfgAlgCfg
def PixelHitDiscCnfgAlgCfg(flags, name="PixelHitDiscCnfgAlg", **kwargs)
Definition: PixelConditionsConfig.py:269
python.PixelReadoutGeometryConfig.PixelReadoutManagerCfg
def PixelReadoutManagerCfg(flags, name="PixelReadoutManager", **kwargs)
Definition: PixelReadoutGeometryConfig.py:6
PixelRawDataByteStreamCnvConfig.PixelRawDataProviderToolCfg
def PixelRawDataProviderToolCfg(flags, prefix="", suffix="", storeInDetTimeCollections=True)
Definition: PixelRawDataByteStreamCnvConfig.py:10