32 """Force all conditions (except prescales) to match the given run and LB number, a timestamp can also be provided for MC"""
34 log.info(forceConditions.__doc__)
37 iovDbSvc = __globals[
'cfg'].getService(
'IOVDbSvc')
40 ignore = [
'/TRIGGER/HLT/PrescaleKey']
43 timebased = [
'/TDAQ/OLC/CALIBRATIONS',
44 '/TDAQ/Resources/ATLAS/SCT/Robins',
45 '/SCT/DAQ/Config/ChipSlim',
46 '/SCT/DAQ/Config/Geog',
47 '/SCT/DAQ/Config/MUR',
48 '/SCT/DAQ/Config/Module',
49 '/SCT/DAQ/Config/ROD',
50 '/SCT/DAQ/Config/RODMUR',
52 '/SCT/HLT/DCS/MODTEMP',
53 '/MUONALIGN/Onl/MDT/BARREL',
54 '/MUONALIGN/Onl/MDT/ENDCAP/SIDEA',
55 '/MUONALIGN/Onl/MDT/ENDCAP/SIDEC',
56 '/MUONALIGN/Onl/TGC/SIDEA',
57 '/MUONALIGN/Onl/TGC/SIDEC',
58 '/TRIGGER/L1Calo/V1/Calibration/EfexNoiseCuts',
59 '/TRIGGER/L1Calo/V1/Calibration/EfexEnergyCalib',
60 '/TRIGGER/L1Calo/V1/Calibration/JfexModuleSettings',
61 '/TRIGGER/L1Calo/V1/Calibration/JfexNoiseCuts',
62 '/TRIGGER/L1Calo/V1/Calibration/JfexSystemSettings',
63 '/TRIGGER/L1Calo/V1/Calibration/GfexModuleSettings']
66 from TrigCommon.AthHLT
import get_sor_params
67 sor = get_sor_params(run)
68 timestamp = sor[
'SORTime'] // int(1e9)
70 for i,f
in enumerate(iovDbSvc.Folders):
71 if any(name
in f
for name
in ignore):
73 if any(name
in f
for name
in timebased):
74 iovDbSvc.Folders[i] += f
'<forceTimestamp>{timestamp:d}</forceTimestamp>'
76 iovDbSvc.Folders[i] += f
'<forceRunNumber>{run:d}</forceRunNumber> <forceLumiblockNumber>{lb:d}</forceLumiblockNumber>'
90def dbmod_BFieldAutoConfig(): # DB modifier for debug recovery when using an online SMK
91 """Use DCS currents to configure magnetic field"""
93 log.info(dbmod_BFieldAutoConfig.__doc__)
95 from GaudiPython.Bindings import iProperty
97 f = '<db>COOLOFL_DCS/CONDBR2</db> /EXT/DCS/MAGNETS/SENSORDATA'
98 iProperty('IOVDbSvc').Folders += [f]
99 iProperty('CondInputLoader').Load.add(('CondAttrListCollection','/EXT/DCS/MAGNETS/SENSORDATA'))
101 iProperty('AtlasFieldCacheCondAlg').UseDCS = True
102 iProperty('AtlasFieldMapCondAlg').LoadMapOnStart = False
103 iProperty('AtlasFieldMapCondAlg').UseMapsFromCOOL = True
104 iProperty('HltEventLoopMgr').setMagFieldFromPtree = False
forceConditions(run, lb, timestamp=None, iovDbSvc=None)