ATLAS Offline Software
Loading...
Searching...
No Matches
TRT_RawDataByteStreamCnvConfig.py
Go to the documentation of this file.
1# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2
3from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
4from AthenaConfiguration.ComponentFactory import CompFactory
5from AthenaConfiguration.AthConfigFlags import AthConfigFlags
6
7
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
18def 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
26def 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
39def 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
60def 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(
68 TRTRawDataProviderToolCfg(flags,
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
TRT_RodDecoderCfg(flags, name="TRT_RodDecoder", **kwargs)