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"))
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  StrawStatusTool = acc.popToolsAndMerge(TRT_StrawStatusSummaryToolCfg(flags))
61  acc.addPublicTool(StrawStatusTool) # public as it is has many clients to save some memory
62  acc.merge(addFoldersSplitOnline(flags, "TRT", "/TRT/Onl/Cond/Status", "/TRT/Cond/Status", className="TRTCond::StrawStatusMultChanContainer"))
63  kwargs.setdefault("TRTStrawStatusSummaryTool", StrawStatusTool)
64  acc.addCondAlgo(CompFactory.TRTActiveCondAlg(name, **kwargs))
65  return acc
66 
67 
68 def TRTPhaseCondCfg(flags, name="TRTPhaseCondAlg", **kwargs):
69  """Return a ComponentAccumulator for TRTPhaseCondAlg algorithm"""
70  acc = ComponentAccumulator()
71  from TRT_ConditionsServices.TRT_ConditionsServicesConfig import TRT_CalDbToolCfg
72  CalDbTool = acc.popToolsAndMerge(TRT_CalDbToolCfg(flags))
73  acc.addPublicTool(CalDbTool) # public as it is has many clients to save some memory
74  kwargs.setdefault("TRTCalDbTool", CalDbTool)
75  # Average T0 CondAlg
76  acc.merge(addFoldersSplitOnline(flags, "TRT", "/TRT/Onl/Calib/T0", "/TRT/Calib/T0",
77  className='TRTCond::StrawT0MultChanContainer'))
78  acc.addCondAlgo(CompFactory.TRTPhaseCondAlg(name, **kwargs))
79  return acc
80 
81 
82 def TRTToTCondAlgCfg(flags, name="TRTToTCondAlg", **kwargs):
83  """Return a ComponentAccumulator for TRTToTCondAlg algorithm"""
84  acc = ComponentAccumulator()
85  acc.merge(addFoldersSplitOnline(flags, "TRT", "/TRT/Onl/Calib/ToT/ToTVectors", "/TRT/Calib/ToT/ToTVectors", className="CondAttrListVec"))
86  acc.merge(addFoldersSplitOnline(flags, "TRT", "/TRT/Onl/Calib/ToT/ToTValue", "/TRT/Calib/ToT/ToTValue", className="CondAttrListCollection"))
87 
88  kwargs.setdefault("ToTWriteKey", "Dedxcorrection")
89 
90  acc.addCondAlgo(CompFactory.TRTToTCondAlg(name, **kwargs))
91  return acc
92 
93 
94 def TRTHTCondAlgCfg(flags, name="TRTHTCondAlg", **kwargs):
95  """Return a ComponentAccumulator for TRTHTCondAlg algorithm"""
96  acc = ComponentAccumulator()
97  acc.merge(addFoldersSplitOnline(flags, "TRT", "/TRT/Onl/Calib/PID_vector", "/TRT/Calib/PID_vector", className="CondAttrListVec"))
98  kwargs.setdefault("HTWriteKey", "HTcalculator")
99  acc.addCondAlgo(CompFactory.TRTHTCondAlg(name, **kwargs))
100  return acc
101 
102 
103 def TRTPIDNNCondAlgCfg(flags, name="TRTPIDNNCondAlg", **kwargs):
104  """Return a ComponentAccumulator for TRTHTCondAlg algorithm"""
105  acc = ComponentAccumulator()
106  acc.merge(addFoldersSplitOnline(flags, "TRT", "/TRT/Onl/Calib/PID_NN", "/TRT/Calib/PID_NN", className="CondAttrListCollection"))
107 
108  from AthenaConfiguration.Enums import LHCPeriod
109  if flags.GeoModel.Run is LHCPeriod.Run1:
110  from IOVDbSvc.IOVDbSvcConfig import addOverride
111  acc.merge(addOverride(flags,"/TRT/Calib/PID_NN", "TRTCalibPID_NN_v1"))
112  acc.merge(addOverride(flags,"/TRT/Onl/Calib/PID_NN", "TRTCalibPID_NN_v1"))
113 
114  kwargs.setdefault("TRTPIDNNWriteKey", "TRTPIDNN")
115  acc.addCondAlgo(CompFactory.TRTPIDNNCondAlg(name, **kwargs))
116  return acc
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
python.TRT_ConditionsAlgsConfig.TRTToTCondAlgCfg
def TRTToTCondAlgCfg(flags, name="TRTToTCondAlg", **kwargs)
Definition: TRT_ConditionsAlgsConfig.py:82
TRT_GeoModelConfig.TRT_GeoModelCfg
def TRT_GeoModelCfg(flags)
Definition: TRT_GeoModelConfig.py:7
python.TRT_ConditionsServicesConfig.TRT_StrawStatusSummaryToolCfg
def TRT_StrawStatusSummaryToolCfg(flags, name="TRT_StrawStatusSummaryTool", forceLegacyAccess=False, **kwargs)
Definition: TRT_ConditionsServicesConfig.py:23
python.TRT_ConditionsAlgsConfig.TRTPIDNNCondAlgCfg
def TRTPIDNNCondAlgCfg(flags, name="TRTPIDNNCondAlg", **kwargs)
Definition: TRT_ConditionsAlgsConfig.py:103
python.TRT_ConditionsAlgsConfig.TRTHTCondAlgCfg
def TRTHTCondAlgCfg(flags, name="TRTHTCondAlg", **kwargs)
Definition: TRT_ConditionsAlgsConfig.py:94
python.IOVDbSvcConfig.addOverride
def addOverride(flags, folder, tag, db=None)
Definition: IOVDbSvcConfig.py:224
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:68
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:153
python.TRT_ConditionsAlgsConfig.TRTStrawStatusCondAlgCfg
def TRTStrawStatusCondAlgCfg(flags, name="TRTStrawStatusCondAlg", **kwargs)
Definition: TRT_ConditionsAlgsConfig.py:29
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