5 from AthenaConfiguration.AccumulatorCache
import AccumulatorCache
6 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
7 from AthenaConfiguration.ComponentFactory
import CompFactory
8 from IOVDbSvc.IOVDbSvcConfig
import addFolders
9 from AthenaConfiguration.Enums
import LHCPeriod
16 if not flags.Muon.useMdtDcsData:
19 kwargs[
"isOnline"] =
False
21 kwargs[
'isData'] =
False
22 folders = [
"/MDT/DCS/DROPPEDCH",
"/MDT/DCS/PSLVCHSTATE"]
25 kwargs[
'ReadKey_MC_DE'] =
''
26 kwargs[
'ReadKey_MC_DT'] =
''
29 kwargs[
'ReadKey_DataR1_DC'] =
''
30 kwargs[
'ReadKey_DataR1_HV'] =
''
31 kwargs[
'ReadKey_DataR1_LV'] =
''
32 kwargs[
'ReadKey_DataR1_V0'] =
''
33 kwargs[
'ReadKey_DataR1_V1'] =
''
34 kwargs[
'ReadKey_DataR2_HV'] =
''
35 kwargs[
'ReadKey_DataR2_LV'] =
''
37 kwargs[
'isData'] =
True
38 kwargs[
'isRun1'] = flags.IOVDb.DatabaseInstance ==
'COMP200'
39 kwargs[
'useRun1SetPoints'] =
False
40 if kwargs[
'isRun1']
and kwargs[
'useRun1SetPoints']:
41 folders = [
"/MDT/DCS/PSV0SETPOINTS",
"/MDT/DCS/PSV1SETPOINTS"]
44 kwargs[
'ReadKey_DataR1_DC'] =
''
45 kwargs[
'ReadKey_DataR1_HV'] =
''
46 kwargs[
'ReadKey_DataR1_LV'] =
''
47 kwargs[
'ReadKey_DataR2_HV'] =
''
48 kwargs[
'ReadKey_DataR2_LV'] =
''
50 folders = [
"/MDT/DCS/PSHVMLSTATE",
"/MDT/DCS/PSLVCHSTATE",
"/MDT/DCS/DROPPEDCH"]
53 kwargs[
'ReadKey_DataR1_V0'] =
''
54 kwargs[
'ReadKey_DataR1_V1'] =
''
55 kwargs[
'ReadKey_DataR2_HV'] =
''
56 kwargs[
'ReadKey_DataR2_LV'] =
''
58 folders = [
"/MDT/DCS/HV",
"/MDT/DCS/LV"]
61 kwargs[
'ReadKey_DataR1_DC'] =
''
62 kwargs[
'ReadKey_DataR1_HV'] =
''
63 kwargs[
'ReadKey_DataR1_LV'] =
''
64 kwargs[
'ReadKey_DataR1_V0'] =
''
65 kwargs[
'ReadKey_DataR1_V1'] =
''
68 kwargs[
'ReadKey_MC_DC'] =
''
69 kwargs[
'ReadKey_MC_DE'] =
''
70 kwargs[
'ReadKey_MC_DT'] =
''
71 kwargs[
'ReadKey_MC_NC'] =
''
73 alg = CompFactory.MdtCondDbAlg(**kwargs)
74 result.merge(
addFolders(flags, folders , detDb=
"DCS_OFL", className=
'CondAttrListCollection') )
75 result.addCondAlgo(alg, primary =
True)
80 if flags.Common.isOnline:
83 kwargs[
'isData'] =
not flags.Input.isMC
84 alg = CompFactory.RpcCondDbAlg(**kwargs)
86 result.merge(
addFolders(flags, [
"/RPC/DQMF/ELEMENT_STATUS"], detDb=
"RPC_OFL", className=
'CondAttrListCollection') )
87 result.addCondAlgo(alg)
92 pslope_from_db =
False
93 folders = [
"/CSC/FTHOLD",
"/CSC/NOISE",
"/CSC/PED",
"/CSC/RMS",
"/CSC/STAT",
"/CSC/T0BASE",
"/CSC/T0PHASE"]
95 kwargs[
'ReadKey_HV'] =
''
96 if flags.Common.isOnline:
97 kwargs[
"isOnline" ] =
True
98 kwargs[
'isData' ] =
True
99 kwargs[
'ReadKey_FT'] =
'/CSC/FTHOLD'
100 kwargs[
'ReadKey_NO'] =
'/CSC/NOISE'
101 kwargs[
'ReadKey_PD'] =
'/CSC/PED'
103 kwargs[
'ReadKey_PS'] =
'/CSC/PSLOPE'
104 kwargs[
'ReadKey_RM'] =
'/CSC/RMS'
105 kwargs[
'ReadKey_ST'] =
'/CSC/STAT'
106 kwargs[
'ReadKey_TB'] =
''
107 kwargs[
'ReadKey_TP'] =
''
108 folders = [
"/CSC/ONL/FTHOLD",
"/CSC/ONL/NOISE",
"/CSC/ONL/PED",
"/CSC/ONL/RMS",
"/CSC/ONL/STAT"]
110 folders.append(
"/CSC/PSLOPE")
114 folders.append(
"/CSC/PSLOPE")
116 kwargs[
"isOnline"] =
False
118 kwargs[
'isData'] =
False
120 kwargs[
'isData'] =
True
121 kwargs[
'isRun1'] = flags.IOVDb.DatabaseInstance ==
'COMP200'
122 alg = CompFactory.CscCondDbAlg(**kwargs)
123 result.merge(
addFolders(flags, folders , detDb=scheme, className=
'CondAttrListCollection') )
124 result.addCondAlgo(alg)
130 the_alg = CompFactory.TgcCondDbAlg(name = name, **kwargs)
131 result.addCondAlgo(the_alg, primary =
True)
137 the_alg = CompFactory.TgcDigitEnergyThreshCondAlg(name= name, **kwargs)
138 result.addCondAlgo(the_alg, primary =
True)
143 the_alg = CompFactory.TgcDigitJitterCondAlg(name = name, **kwargs)
144 result.addCondAlgo(the_alg, primary =
True)
149 result.merge(
addFolders(flags, [
"/TGC/DIGIT/ASDPOS"], detDb=
"TGC_OFL", db=
"OFLP200", className=
"CondAttrListCollection"))
150 the_alg = CompFactory.TgcDigitASDposCondAlg(name = name, **kwargs)
151 result.addCondAlgo(the_alg, primary =
True)
156 result.merge(
addFolders(flags, [
"/TGC/DIGIT/TOFFSET"], detDb=
"TGC_OFL", db=
"OFLP200", className=
"CondAttrListCollection"))
157 the_alg = CompFactory.TgcDigitTimeOffsetCondAlg(name = name, **kwargs)
158 result.addCondAlgo(the_alg, primary =
True)
163 result.merge(
addFolders(flags, [
"/TGC/DIGIT/XTALK"], detDb=
"TGC_OFL", db=
"OFLP200", className=
"CondAttrListCollection"))
164 the_alg = CompFactory.TgcDigitCrosstalkCondAlg(name = name, **kwargs)
165 result.addCondAlgo(the_alg, primary =
True)
184 kwargs.setdefault(
"MmT0FileName",
"")
185 kwargs.setdefault(
"sTgcT0FileName",
"")
187 kwargs.setdefault(
"loadMmT0Data",flags.Muon.Calib.applyMmT0Correction)
188 kwargs.setdefault(
"loadsTgcT0Data", flags.Muon.Calib.applysTgcT0Correction)
189 if(kwargs[
"loadMmT0Data"]
and not kwargs[
'MmT0FileName'] ):
190 kwargs.setdefault(
'ReadKey_MM_T0',
"/MDT/MM/T0")
191 kwargs.setdefault(
'ReadKey_MM_T0',
"")
193 if(kwargs[
"loadsTgcT0Data"]
and not kwargs[
'sTgcT0FileName']):
194 kwargs[
'ReadKey_STGC_T0'] =
"/TGC/NSW/T0"
195 kwargs.setdefault(
'ReadKey_STGC_T0',
"")
199 if flags.Common.isOnline:
200 kwargs[
'isData'] =
True
206 if flags.GeoModel.Run>=LHCPeriod.Run4:
207 result.merge(
addFolders(flags, [
"/MDT/Onl/MM/TIME/SIDEA" ], detDb=scheme, className=
'CondAttrListCollection' , tag=
"MmTdoSideA-Const-3p73") )
208 result.merge(
addFolders(flags, [
"/MDT/Onl/MM/TIME/SIDEC" ], detDb=scheme, className=
'CondAttrListCollection' , tag=
"MmTdoSideC-Const-3p73") )
209 result.merge(
addFolders(flags, [
"/MDT/Onl/MM/CHARGE/SIDEA"], detDb=scheme, className=
'CondAttrListCollection' , tag=
"MmPdoSideA-Const-9p0" ) )
210 result.merge(
addFolders(flags, [
"/MDT/Onl/MM/CHARGE/SIDEC"], detDb=scheme, className=
'CondAttrListCollection' , tag=
"MmPdoSideC-Const-9p0" ) )
211 if(kwargs[
'ReadKey_MM_T0']):
212 result.merge(
addFolders(flags, [kwargs[
'ReadKey_MM_T0']], detDb=scheme, className=
'CondAttrListCollection' , tag=
"MmT0SideAc-Nov2023"))
214 folders = [
"/MDT/Onl/MM/TIME/SIDEA",
"/MDT/Onl/MM/CHARGE/SIDEA", \
215 "/MDT/Onl/MM/TIME/SIDEC",
"/MDT/Onl/MM/CHARGE/SIDEC"]
216 result.merge(
addFolders(flags, folders, detDb=scheme, className=
'CondAttrListCollection') )
217 if(kwargs[
'ReadKey_MM_T0']):
218 result.merge(
addFolders(flags, [kwargs[
'ReadKey_MM_T0']], detDb=scheme, className=
'CondAttrListCollection' , tag=
"MmT0SideAc-Nov2023"))
220 kwargs[
"ReadKey_MM_SIDEA_TDO"] =
"/MDT/Onl/MM/TIME/SIDEA"
221 kwargs[
"ReadKey_MM_SIDEC_TDO"] =
"/MDT/Onl/MM/TIME/SIDEC"
222 kwargs[
"ReadKey_MM_SIDEA_PDO"] =
"/MDT/Onl/MM/CHARGE/SIDEA"
223 kwargs[
"ReadKey_MM_SIDEC_PDO"] =
"/MDT/Onl/MM/CHARGE/SIDEC"
231 if flags.GeoModel.Run>=LHCPeriod.Run4:
232 result.merge(
addFolders(flags, [
"/TGC/Onl/NSW/TIME/SIDEA" ], detDb=scheme, className=
'CondAttrListCollection' , tag=
"sTgcTdoSideA-Const-3p73"))
233 result.merge(
addFolders(flags, [
"/TGC/Onl/NSW/TIME/SIDEC" ], detDb=scheme, className=
'CondAttrListCollection' , tag=
"sTgcTdoSideC-Const-3p73"))
234 result.merge(
addFolders(flags, [
"/TGC/Onl/NSW/CHARGE/SIDEA"], detDb=scheme, className=
'CondAttrListCollection' , tag=
"sTgcPdoSideA-Const-0p78-icpt0"))
235 result.merge(
addFolders(flags, [
"/TGC/Onl/NSW/CHARGE/SIDEC"], detDb=scheme, className=
'CondAttrListCollection' , tag=
"sTgcPdoSideC-Const-0p78-icpt0"))
237 folders = [
"/TGC/Onl/NSW/TIME/SIDEA",
"/TGC/Onl/NSW/CHARGE/SIDEA", \
238 "/TGC/Onl/NSW/TIME/SIDEC",
"/TGC/Onl/NSW/CHARGE/SIDEC"]
239 result.merge(
addFolders(flags, folders , detDb=scheme, className=
'CondAttrListCollection') )
241 kwargs[
"ReadKey_STGC_SIDEA_TDO"] =
"/TGC/Onl/NSW/TIME/SIDEA"
242 kwargs[
"ReadKey_STGC_SIDEC_TDO"] =
"/TGC/Onl/NSW/TIME/SIDEC"
243 kwargs[
"ReadKey_STGC_SIDEA_PDO"] =
"/TGC/Onl/NSW/CHARGE/SIDEA"
244 kwargs[
"ReadKey_STGC_SIDEC_PDO"] =
"/TGC/Onl/NSW/CHARGE/SIDEC"
247 elif flags.Input.isMC:
248 kwargs[
'isData'] =
False
249 kwargs.setdefault(
'processThresholds',
False)
255 if flags.GeoModel.Run>=LHCPeriod.Run4:
256 result.merge(
addFolders(flags, [
"/MDT/MM/TIME/SIDEA" ], detDb=scheme, className=
'CondAttrListCollection' , tag=
"MmTdoSideA-Const-3p73") )
257 result.merge(
addFolders(flags, [
"/MDT/MM/TIME/SIDEC" ], detDb=scheme, className=
'CondAttrListCollection' , tag=
"MmTdoSideC-Const-3p73") )
258 result.merge(
addFolders(flags, [
"/MDT/MM/CHARGE/SIDEA"], detDb=scheme, className=
'CondAttrListCollection' , tag=
"MmPdoSideA-Const-9p0" ) )
259 result.merge(
addFolders(flags, [
"/MDT/MM/CHARGE/SIDEC"], detDb=scheme, className=
'CondAttrListCollection' , tag=
"MmPdoSideC-Const-9p0" ) )
260 if kwargs[
'processThresholds']:
261 result.merge(
addFolders(flags, [
"/MDT/MM/THR/SIDEA" ], detDb=scheme, className=
'CondAttrListCollection' , tag=
"MmThrSideA-Const-55p4") )
262 result.merge(
addFolders(flags, [
"/MDT/MM/THR/SIDEC" ], detDb=scheme, className=
'CondAttrListCollection' , tag=
"MmThrSideC-Const-55p4") )
263 if(kwargs[
'ReadKey_MM_T0']):
264 result.merge(
addFolders(flags, [kwargs[
'ReadKey_MM_T0']], detDb=scheme, className=
'CondAttrListCollection' , tag=
"MmT0SideAc-Nov2023"))
266 folders = [
"/MDT/MM/TIME/SIDEA" ,
"/MDT/MM/CHARGE/SIDEA" , \
267 "/MDT/MM/TIME/SIDEC" ,
"/MDT/MM/CHARGE/SIDEC" ]
268 if kwargs[
'processThresholds']:
269 folders.append(
"/MDT/MM/THR/SIDEA")
270 folders.append(
"/MDT/MM/THR/SIDEC")
271 result.merge(
addFolders(flags, folders, detDb=scheme, className=
'CondAttrListCollection') )
272 if(kwargs[
'ReadKey_MM_T0']):
273 result.merge(
addFolders(flags, [kwargs[
'ReadKey_MM_T0']], detDb=scheme, className=
'CondAttrListCollection' , tag=
"MmT0SideAc-Nov2023"))
279 if flags.GeoModel.Run>=LHCPeriod.Run4:
280 result.merge(
addFolders(flags, [
"/TGC/NSW/TIME/SIDEA" ], detDb=scheme, className=
'CondAttrListCollection' , tag=
"sTgcTdoSideA-Const-3p73"))
281 result.merge(
addFolders(flags, [
"/TGC/NSW/TIME/SIDEC" ], detDb=scheme, className=
'CondAttrListCollection' , tag=
"sTgcTdoSideC-Const-3p73"))
282 result.merge(
addFolders(flags, [
"/TGC/NSW/CHARGE/SIDEA"], detDb=scheme, className=
'CondAttrListCollection' , tag=
"sTgcPdoSideA-Const-0p78-icpt0"))
283 result.merge(
addFolders(flags, [
"/TGC/NSW/CHARGE/SIDEC"], detDb=scheme, className=
'CondAttrListCollection' , tag=
"sTgcPdoSideC-Const-0p78-icpt0"))
284 if kwargs[
'processThresholds']:
285 result.merge(
addFolders(flags, [
"/TGC/NSW/THR/SIDEA" ], detDb=scheme, className=
'CondAttrListCollection' , tag=
"sTgcThrSideA-Const-15p0"))
286 result.merge(
addFolders(flags, [
"/TGC/NSW/THR/SIDEC" ], detDb=scheme, className=
'CondAttrListCollection' , tag=
"sTgcThrSideC-Const-15p0"))
288 folders = [
"/TGC/NSW/TIME/SIDEA",
"/TGC/NSW/CHARGE/SIDEA", \
289 "/TGC/NSW/TIME/SIDEC",
"/TGC/NSW/CHARGE/SIDEC"]
290 if kwargs[
'processThresholds']:
291 folders.append(
"/TGC/NSW/THR/SIDEA")
292 folders.append(
"/TGC/NSW/THR/SIDEC")
293 result.merge(
addFolders(flags, folders , detDb=scheme, className=
'CondAttrListCollection') )
297 kwargs[
'isData'] =
True
303 if flags.GeoModel.Run>=LHCPeriod.Run4:
304 result.merge(
addFolders(flags, [
"/MDT/MM/TIME/SIDEA" ], detDb=scheme, className=
'CondAttrListCollection' , tag=
"MmTdoSideA-Const-3p73") )
305 result.merge(
addFolders(flags, [
"/MDT/MM/TIME/SIDEC" ], detDb=scheme, className=
'CondAttrListCollection' , tag=
"MmTdoSideC-Const-3p73") )
306 result.merge(
addFolders(flags, [
"/MDT/MM/CHARGE/SIDEA"], detDb=scheme, className=
'CondAttrListCollection' , tag=
"MmPdoSideA-Const-9p0" ) )
307 result.merge(
addFolders(flags, [
"/MDT/MM/CHARGE/SIDEC"], detDb=scheme, className=
'CondAttrListCollection' , tag=
"MmPdoSideC-Const-9p0" ) )
308 if(kwargs[
'ReadKey_MM_T0']):
309 result.merge(
addFolders(flags, [kwargs[
'ReadKey_MM_T0']], detDb=scheme, className=
'CondAttrListCollection' , tag=
"MmT0SideAc-Nov2023"))
311 folders = [
"/MDT/MM/TIME/SIDEA",
"/MDT/MM/CHARGE/SIDEA", \
312 "/MDT/MM/TIME/SIDEC",
"/MDT/MM/CHARGE/SIDEC"]
313 result.merge(
addFolders(flags, folders, detDb=scheme, className=
'CondAttrListCollection') )
314 if(kwargs[
'ReadKey_MM_T0']):
315 result.merge(
addFolders(flags, [kwargs[
'ReadKey_MM_T0']], detDb=scheme, className=
'CondAttrListCollection' , tag=
"MmT0SideAC-Feb2025-withTDOCalib-v1"))
322 if flags.GeoModel.Run>=LHCPeriod.Run4:
323 result.merge(
addFolders(flags, [
"/TGC/NSW/TIME/SIDEA" ], detDb=scheme, className=
'CondAttrListCollection' , tag=
"sTgcTdoSideA-Const-3p73"))
324 result.merge(
addFolders(flags, [
"/TGC/NSW/TIME/SIDEC" ], detDb=scheme, className=
'CondAttrListCollection' , tag=
"sTgcTdoSideC-Const-3p73"))
325 result.merge(
addFolders(flags, [
"/TGC/NSW/CHARGE/SIDEA"], detDb=scheme, className=
'CondAttrListCollection' , tag=
"sTgcPdoSideA-Const-0p78-icpt0"))
326 result.merge(
addFolders(flags, [
"/TGC/NSW/CHARGE/SIDEC"], detDb=scheme, className=
'CondAttrListCollection' , tag=
"sTgcPdoSideC-Const-0p78-icpt0"))
328 folders = [
"/TGC/NSW/TIME/SIDEA",
"/TGC/NSW/CHARGE/SIDEA", \
329 "/TGC/NSW/TIME/SIDEC",
"/TGC/NSW/CHARGE/SIDEC"]
330 result.merge(
addFolders(flags, folders , detDb=scheme, className=
'CondAttrListCollection') )
332 if kwargs[
"ReadKey_STGC_T0"]:
333 result.merge(
addFolders(flags, [kwargs[
"ReadKey_STGC_T0"]], detDb=scheme, className=
'CondAttrListCollection'))
335 result.addCondAlgo(CompFactory.NswCalibDbAlg(**kwargs))
341 if flags.GeoModel.Run>=LHCPeriod.Run4:
342 acc.merge(
addFolders(flags,
"/MDT/MM/PASSIVATION",
"MDT_OFL", className=
"CondAttrListCollection", tag=
"MmPassiv2022May19"))
344 acc.merge(
addFolders(flags,
"/MDT/MM/PASSIVATION",
"MDT_OFL", className=
"CondAttrListCollection"))
345 alg = CompFactory.NswPassivationDbAlg(
"NswPassivationDbAlg", **kwargs)
353 if not flags.Muon.useMdtDcsData: kwargs.setdefault(
"MdtCondKey",
"")
354 muon_station_intersect_condalg = CompFactory.MuonStationIntersectCondAlg(name=name, **kwargs)
355 result.addCondAlgo(muon_station_intersect_condalg, primary=
True)
360 if flags.GeoModel.Run!=LHCPeriod.Run3:
return acc
361 if flags.Input.isMC:
return acc
362 kwargs.setdefault(
"LoadTdaq",
False)
363 kwargs.setdefault(
"LoadEltx",
False)
364 acc.merge(
addFolders(flags,
"/MMG/DCS/HV",
"DCS_OFL", className=
"CondAttrListCollection"))
365 acc.merge(
addFolders(flags,
"/STG/DCS/HV",
"DCS_OFL", className=
"CondAttrListCollection"))
367 if(kwargs[
"LoadTdaq"]):
368 kwargs.setdefault(
"ReadKey_MMG_TDAQ",
"/MDT/MM/ELinks")
369 kwargs.setdefault(
"ReadKey_STG_TDAQ",
"/TGC/NSW/ELinks")
370 acc.merge(
addFolders(flags,
"/MDT/MM/ELinks", detDb=
"MDT_OFL", className=
"CondAttrListCollection", tag=
"MmElinks2023-TEST-01"))
371 acc.merge(
addFolders(flags,
"/TGC/NSW/ELinks", detDb=
"TGC_OFL", className=
"CondAttrListCollection", tag=
"sTgcElinks2023-TEST-01"))
372 kwargs.setdefault(
"ReadKey_MMG_TDAQ",
"/MDT/MM/ELinks")
373 kwargs.setdefault(
"ReadKey_STG_TDAQ",
"/TGC/NSW/Elinks")
375 if(kwargs[
"LoadEltx"]):
376 kwargs.setdefault(
"ReadKey_MMG_ELTX",
"/MMG/DCS/TSELTX")
377 kwargs.setdefault(
"ReadKey_STG_ELTX",
"/STG/DCS/TSELTX")
378 acc.merge(
addFolders(flags, kwargs[
"ReadKey_MMG_ELTX"],
"DCS_OFL", className=
"CondAttrListCollection"))
379 acc.merge(
addFolders(flags, kwargs[
"ReadKey_STG_ELTX"],
"DCS_OFL", className=
"CondAttrListCollection"))
380 kwargs.setdefault(
"ReadKey_MMG_ELTX",
"")
381 kwargs.setdefault(
"ReadKey_STG_ELTX",
"")
384 alg = CompFactory.NswDcsDbAlg(
"NswDcsDbAlg", **kwargs)
391 if not flags.Input.isMC:
return acc
393 if (kwargs[
"readFromJSON"]):
394 kwargs[
"ReadKey"] =
""
396 kwargs.setdefault(
"ReadKey",
"/MDT/MM/EFFMAP")
397 acc.merge(
addFolders(flags, kwargs[
"ReadKey"]),
"MDT_OFL", className=
"CondAttrListCollection", tag=
"MMEffMap_2024DataTillEndOfJuly")
399 alg = CompFactory.MmDigitEffiCondAlg(
"MmDigitEffiCondAlg", **kwargs)
405 if not flags.Input.isMC:
return acc
407 if (kwargs[
"readFromJSON"]):
408 kwargs[
"ReadKey"] =
""
410 kwargs.setdefault(
"ReadKey",
"/TGC/NSW/EFFMAP")
411 acc.merge(
addFolders(flags, kwargs[
"ReadKey"]),
"TGC_OFL", className=
"CondAttrListCollection",tag=
"sTGCEffMap_2024DataTillEndOfJuly")
413 alg = CompFactory.sTgcDigitEffiCondAlg(
"sTgcDigitEffiCondAlg", **kwargs)