ATLAS Offline Software
TRT_RawDataByteStreamCnvConfig.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2 
3 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
4 from AthenaConfiguration.ComponentFactory import CompFactory
5 from AthenaConfiguration.AthConfigFlags import AthConfigFlags
6 
7 
8 def TRT_CablingSvcCfg(flags):
9  """Return a ComponentAccumulator for TRT_CablingSvc service"""
10  acc = ComponentAccumulator()
11  # Properly configure MC/data for TRT cabling
12  acc.addPublicTool(CompFactory.TRT_FillCablingData_DC3(RealData=not flags.Input.isMC))
13  # Setup TRT cabling service
14  acc.addService(CompFactory.TRT_CablingSvc())
15  return acc
16 
17 
18 def TRT_RodDecoderCfg(flags, name="TRT_RodDecoder", **kwargs):
19  """Return a ComponentAccumulator for TRT ROD decoder"""
20  acc = ComponentAccumulator()
21  kwargs.setdefault("SortCollections", flags.Overlay.ByteStream)
22  acc.setPrivateTools(CompFactory.TRT_RodDecoder(name, **kwargs))
23  return acc
24 
25 
26 def TRTRawDataProviderToolCfg(flags, name="InDetTRTRawDataProviderTool", **kwargs):
27  """Return a ComponentAccumulator for TRT raw data provider tool"""
28  acc = ComponentAccumulator()
29 
30  kwargs.setdefault("LVL1IDKey", "TRT_LVL1ID")
31  kwargs.setdefault("BCIDKey", "TRT_BCID")
32 
33  kwargs.setdefault("Decoder", acc.popToolsAndMerge(TRT_RodDecoderCfg(flags)))
34 
35  acc.setPrivateTools(CompFactory.TRTRawDataProviderTool(name, **kwargs))
36  return acc
37 
38 
39 def TRTRawDataProviderCfg(flags, name="TRTRawDataProvider", **kwargs):
40  """Return a ComponentAccumulator for TRT raw data provider"""
41  acc = TRT_CablingSvcCfg(flags)
42 
43  if not flags.Input.isMC:
44  from IOVDbSvc.IOVDbSvcConfig import addFolders
45  acc.merge(addFolders(flags, "/TRT/Onl/ROD/Compress", "TRT_ONL", className="CondAttrListCollection"))
46 
47  if 'ProviderTool' not in kwargs:
48  kwargs.setdefault("ProviderTool", acc.popToolsAndMerge(TRTRawDataProviderToolCfg(flags)))
49 
50  from RegionSelector.RegSelToolConfig import regSelTool_TRT_Cfg
51  kwargs.setdefault("RegSelTool", acc.popToolsAndMerge(regSelTool_TRT_Cfg(flags)))
52 
53  if flags.Overlay.ByteStream:
54  kwargs.setdefault("RDOKey", f"{flags.Overlay.BkgPrefix}TRT_RDOs")
55 
56  acc.addEventAlgo(CompFactory.TRTRawDataProvider(name, **kwargs))
57  return acc
58 
59 
60 def TrigTRTRawDataProviderCfg(flags : AthConfigFlags, RoIs : str, **kwargs):
61  acc = ComponentAccumulator()
62 
63  suffix = flags.Tracking.ActiveConfig.input_name
64  providerToolName = f"TrigTRTRawDataProviderTool_{suffix}"
65  providerName = f"TrigTRTRawDataProvider_{suffix}"
66 
67  providerTool = acc.popToolsAndMerge(
69  name=providerToolName,
70  StoreInDetTimeCollections=False)
71  )
72 
73  kwargs.setdefault("ProviderTool", providerTool)
74  kwargs.setdefault('isRoI_Seeded', True)
75  kwargs.setdefault('RoIs', RoIs)
76  kwargs.setdefault('RDOKey', 'TRT_RDOs_TRIG')
77  kwargs.setdefault('RDOCacheKey', flags.Trigger.InDetTracking.TRTRDOCacheKey)
78 
79  acc.merge(TRTRawDataProviderCfg(flags, name = providerName, **kwargs))
80  return acc
python.TRT_RawDataByteStreamCnvConfig.TRTRawDataProviderCfg
def TRTRawDataProviderCfg(flags, name="TRTRawDataProvider", **kwargs)
Definition: TRT_RawDataByteStreamCnvConfig.py:39
RegSelToolConfig.regSelTool_TRT_Cfg
def regSelTool_TRT_Cfg(flags)
Definition: RegSelToolConfig.py:113
python.TRT_RawDataByteStreamCnvConfig.TRT_CablingSvcCfg
def TRT_CablingSvcCfg(flags)
Definition: TRT_RawDataByteStreamCnvConfig.py:8
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
python.TRT_RawDataByteStreamCnvConfig.TRTRawDataProviderToolCfg
def TRTRawDataProviderToolCfg(flags, name="InDetTRTRawDataProviderTool", **kwargs)
Definition: TRT_RawDataByteStreamCnvConfig.py:26
python.TRT_RawDataByteStreamCnvConfig.TrigTRTRawDataProviderCfg
def TrigTRTRawDataProviderCfg(AthConfigFlags flags, str RoIs, **kwargs)
Definition: TRT_RawDataByteStreamCnvConfig.py:60
python.IOVDbSvcConfig.addFolders
def addFolders(flags, folderStrings, detDb=None, className=None, extensible=False, tag=None, db=None, modifiers='')
Definition: IOVDbSvcConfig.py:72
python.TRT_RawDataByteStreamCnvConfig.TRT_RodDecoderCfg
def TRT_RodDecoderCfg(flags, name="TRT_RodDecoder", **kwargs)
Definition: TRT_RawDataByteStreamCnvConfig.py:18