ATLAS Offline Software
TRT_ConditionsAlgsConfig.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
2 from AthenaConfiguration.AccumulatorCache import AccumulatorCache
3 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
4 from AthenaConfiguration.ComponentFactory import CompFactory
5 from IOVDbSvc.IOVDbSvcConfig import addFoldersSplitOnline
6 
7 
8 def TRTAlignCondAlgCfg(flags, name="TRTAlignCondAlg", **kwargs):
9  """Return a ComponentAccumulator for TRTAlignCondAlg algorithm"""
10  from TRT_GeoModel.TRT_GeoModelConfig import TRT_GeoModelCfg
11  acc = TRT_GeoModelCfg(flags)
12  acc.merge(addFoldersSplitOnline(flags, "TRT", "/TRT/Onl/Calib/DX", "/TRT/Calib/DX", className="TRTCond::StrawDxContainer"))
13 
14  if flags.GeoModel.Align.Dynamic:
15  acc.merge(addFoldersSplitOnline(flags, "TRT", "/TRT/Onl/AlignL1/TRT", "/TRT/AlignL1/TRT", className="CondAttrListCollection"))
16  acc.merge(addFoldersSplitOnline(flags, "TRT", "/TRT/Onl/AlignL2", "/TRT/AlignL2", className="AlignableTransformContainer"))
17  kwargs.setdefault("ReadKeyDynamicGlobal", "/TRT/AlignL1/TRT")
18  kwargs.setdefault("ReadKeyDynamicRegular", "/TRT/AlignL2")
19  else:
20  acc.merge(addFoldersSplitOnline(flags, "TRT", "/TRT/Onl/Align", "/TRT/Align", className="AlignableTransformContainer"))
21 
22  kwargs.setdefault("UseDynamicFolders", flags.GeoModel.Align.Dynamic)
23  kwargs.setdefault("WriteKeyAlignStore", "") # currently unused
24 
25  acc.addCondAlgo(CompFactory.TRTAlignCondAlg(name, **kwargs))
26  return acc
27 
28 
29 def TRTStrawStatusCondAlgCfg(flags, name="TRTStrawStatusCondAlg", **kwargs):
30  """Return a ComponentAccumulator for TRTStrawStatusCondAlg algorithm"""
31  acc = ComponentAccumulator()
32  acc.merge(addFoldersSplitOnline(flags, "TRT",
33  onlineFolders = ["/TRT/Onl/Cond/Status",
34  "/TRT/Onl/Cond/StatusPermanent",
35  "/TRT/Onl/Cond/StatusHT"], # Argon straw list
36  offlineFolders = ["/TRT/Cond/Status",
37  "/TRT/Cond/StatusPermanent",
38  "/TRT/Cond/StatusHT"], # Argon straw list
39  className = "TRTCond::StrawStatusMultChanContainer"))
40 
41  acc.addCondAlgo(CompFactory.TRTStrawStatusCondAlg(name, **kwargs))
42  return acc
43 
44 
45 @AccumulatorCache
46 def TRTStrawCondAlgCfg(flags, name="TRTStrawCondAlg", **kwargs):
47  """Return a ComponentAccumulator for TRTStrawCondAlg algorithm"""
48  acc = TRTAlignCondAlgCfg(flags)
49  acc.merge(TRTStrawStatusCondAlgCfg(flags))
50  # Alive straws algorithm
51  acc.addCondAlgo(CompFactory.TRTStrawCondAlg(name, **kwargs))
52  return acc
53 
54 
55 @AccumulatorCache
56 def TRTActiveCondAlgCfg(flags, name="TRTActiveCondAlg", **kwargs):
57  """Return a ComponentAccumulator for TRTActiveCondAlg algorithm"""
58  acc = TRTAlignCondAlgCfg(flags)
59  from TRT_ConditionsServices.TRT_ConditionsServicesConfig import TRT_StrawStatusSummaryToolCfg
60  acc.merge(addFoldersSplitOnline(flags, "TRT", "/TRT/Onl/Cond/Status", "/TRT/Cond/Status", className="TRTCond::StrawStatusMultChanContainer"))
61  kwargs.setdefault("TRTStrawStatusSummaryTool", acc.popToolsAndMerge(TRT_StrawStatusSummaryToolCfg(flags)))
62  acc.addCondAlgo(CompFactory.TRTActiveCondAlg(name, **kwargs))
63  return acc
64 
65 
66 def TRTPhaseCondCfg(flags, name="TRTPhaseCondAlg", **kwargs):
67  """Return a ComponentAccumulator for TRTPhaseCondAlg algorithm"""
68  acc = ComponentAccumulator()
69  from TRT_ConditionsServices.TRT_ConditionsServicesConfig import TRT_CalDbToolCfg
70  CalDbTool = acc.popToolsAndMerge(TRT_CalDbToolCfg(flags))
71  acc.addPublicTool(CalDbTool) # public as it is has many clients to save some memory
72  kwargs.setdefault("TRTCalDbTool", CalDbTool)
73  # Average T0 CondAlg
74  acc.merge(addFoldersSplitOnline(flags, "TRT", "/TRT/Onl/Calib/T0", "/TRT/Calib/T0",
75  className='TRTCond::StrawT0MultChanContainer'))
76  acc.addCondAlgo(CompFactory.TRTPhaseCondAlg(name, **kwargs))
77  return acc
78 
79 
80 def TRTToTCondAlgCfg(flags, name="TRTToTCondAlg", **kwargs):
81  """Return a ComponentAccumulator for TRTToTCondAlg algorithm"""
82  acc = ComponentAccumulator()
83  acc.merge(addFoldersSplitOnline(flags, "TRT", "/TRT/Onl/Calib/ToT/ToTVectors", "/TRT/Calib/ToT/ToTVectors", className="CondAttrListVec"))
84  acc.merge(addFoldersSplitOnline(flags, "TRT", "/TRT/Onl/Calib/ToT/ToTValue", "/TRT/Calib/ToT/ToTValue", className="CondAttrListCollection"))
85 
86  kwargs.setdefault("ToTWriteKey", "Dedxcorrection")
87 
88  acc.addCondAlgo(CompFactory.TRTToTCondAlg(name, **kwargs))
89  return acc
90 
91 
92 def TRTHTCondAlgCfg(flags, name="TRTHTCondAlg", **kwargs):
93  """Return a ComponentAccumulator for TRTHTCondAlg algorithm"""
94  acc = ComponentAccumulator()
95  acc.merge(addFoldersSplitOnline(flags, "TRT", "/TRT/Onl/Calib/PID_vector", "/TRT/Calib/PID_vector", className="CondAttrListVec"))
96  kwargs.setdefault("HTWriteKey", "HTcalculator")
97  acc.addCondAlgo(CompFactory.TRTHTCondAlg(name, **kwargs))
98  return acc
99 
100 
101 def TRTPIDNNCondAlgCfg(flags, name="TRTPIDNNCondAlg", **kwargs):
102  """Return a ComponentAccumulator for TRTHTCondAlg algorithm"""
103  acc = ComponentAccumulator()
104  acc.merge(addFoldersSplitOnline(flags, "TRT", "/TRT/Onl/Calib/PID_NN", "/TRT/Calib/PID_NN", className="CondAttrListCollection"))
105 
106  from AthenaConfiguration.Enums import LHCPeriod
107  if flags.GeoModel.Run is LHCPeriod.Run1:
108  from IOVDbSvc.IOVDbSvcConfig import addOverride
109  acc.merge(addOverride(flags,"/TRT/Calib/PID_NN", "TRTCalibPID_NN_v1"))
110  acc.merge(addOverride(flags,"/TRT/Onl/Calib/PID_NN", "TRTCalibPID_NN_v1"))
111 
112  kwargs.setdefault("TRTPIDNNWriteKey", "TRTPIDNN")
113  acc.addCondAlgo(CompFactory.TRTPIDNNCondAlg(name, **kwargs))
114  return acc
115 
116 
117 def TRTCondWriteCfg(flags, name="TRTCondWriteAlg", **kwargs):
118 
119  # This needs more implementations. Skeleton for now - @serodrig
120  if "CalibInputFile" not in kwargs:
121  kwargs.setdefault("CalibInputFile", "dummy.txt")
122 
123  acc = ComponentAccumulator()
124  acc.addCondAlgo(CompFactory.TRTCondWrite(name, **kwargs))
125  return acc
126 
127 
python.TRT_ConditionsServicesConfig.TRT_StrawStatusSummaryToolCfg
def TRT_StrawStatusSummaryToolCfg(flags, name="TRT_StrawStatusSummaryTool", **kwargs)
Definition: TRT_ConditionsServicesConfig.py:23
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
python.TRT_ConditionsAlgsConfig.TRTToTCondAlgCfg
def TRTToTCondAlgCfg(flags, name="TRTToTCondAlg", **kwargs)
Definition: TRT_ConditionsAlgsConfig.py:80
TRT_GeoModelConfig.TRT_GeoModelCfg
def TRT_GeoModelCfg(flags)
Definition: TRT_GeoModelConfig.py:7
python.TRT_ConditionsAlgsConfig.TRTPIDNNCondAlgCfg
def TRTPIDNNCondAlgCfg(flags, name="TRTPIDNNCondAlg", **kwargs)
Definition: TRT_ConditionsAlgsConfig.py:101
python.TRT_ConditionsAlgsConfig.TRTHTCondAlgCfg
def TRTHTCondAlgCfg(flags, name="TRTHTCondAlg", **kwargs)
Definition: TRT_ConditionsAlgsConfig.py:92
python.TRT_ConditionsAlgsConfig.TRTActiveCondAlgCfg
def TRTActiveCondAlgCfg(flags, name="TRTActiveCondAlg", **kwargs)
Definition: TRT_ConditionsAlgsConfig.py:56
python.TRT_ConditionsAlgsConfig.TRTPhaseCondCfg
def TRTPhaseCondCfg(flags, name="TRTPhaseCondAlg", **kwargs)
Definition: TRT_ConditionsAlgsConfig.py:66
python.IOVDbSvcConfig.addFoldersSplitOnline
def addFoldersSplitOnline(flags, detDb, onlineFolders, offlineFolders, className=None, extensible=False, addMCString='_OFL', splitMC=False, tag=None, forceDb=None, modifiers='')
Definition: IOVDbSvcConfig.py:167
python.TRT_ConditionsAlgsConfig.TRTStrawStatusCondAlgCfg
def TRTStrawStatusCondAlgCfg(flags, name="TRTStrawStatusCondAlg", **kwargs)
Definition: TRT_ConditionsAlgsConfig.py:29
python.TRT_ConditionsAlgsConfig.TRTCondWriteCfg
def TRTCondWriteCfg(flags, name="TRTCondWriteAlg", **kwargs)
Definition: TRT_ConditionsAlgsConfig.py:117
python.IOVDbSvcConfig.addOverride
def addOverride(flags, folder, tag, tagType="tag", db=None)
Definition: IOVDbSvcConfig.py:238
python.TRT_ConditionsAlgsConfig.TRTStrawCondAlgCfg
def TRTStrawCondAlgCfg(flags, name="TRTStrawCondAlg", **kwargs)
Definition: TRT_ConditionsAlgsConfig.py:46
python.TRT_ConditionsAlgsConfig.TRTAlignCondAlgCfg
def TRTAlignCondAlgCfg(flags, name="TRTAlignCondAlg", **kwargs)
Definition: TRT_ConditionsAlgsConfig.py:8
python.TRT_ConditionsServicesConfig.TRT_CalDbToolCfg
def TRT_CalDbToolCfg(flags, name="TRT_CalDbTool", **kwags)
Definition: TRT_ConditionsServicesConfig.py:9