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