11 from TileCalibBlobPython
import TileCalibTools
12 from TileCalibBlobPython
import TileBchTools
13 from TileCalibBlobObjs.Classes
import TileCalibUtils, TileBchDecoder, \
16 from TileCalibBlobPython.TileCalibLogger
import getLogger
19 log.setLevel(logging.DEBUG)
24 db = TileCalibTools.openDb(
'SQLITE',
'CONDBR2',
'UPDATE')
27 folder = TileCalibTools.getTilePrefix(
True,
True) +
"STATUS/ADC"
33 mgr = TileBchTools.TileBchMgr()
34 mgr.setLogLvl(logging.DEBUG)
37 log.info(
"Initializing with no bad channels at tag=%s and time=%s", folderTag, (0, 0))
38 mgr.initialize(db, folder, folderTag, (0, 0))
41 emptyChannelLongBarrel = (30, 31, 43)
42 emptyChannelExtendedBarrel = (18, 19, 24, 25, 26, 27, 28, 29, 33, 34, 42, 43, 44, 45, 46, 47)
47 mgr.addAdcProblem(1, 0, 23, 0, TileBchPrbs.BadCis)
48 mgr.addAdcProblem(1, 1, 20, 0, TileBchPrbs.GeneralMaskAdc)
57 log.info(
"bad channels after update")
61 mgr.commitToDb(db, folder, folderTag, TileBchDecoder.BitPat_ofl01,
"lpribyl",
"test offline", (151950, 0))
65 folder = TileCalibTools.getTilePrefix(
False) +
"STATUS/ADC"
71 mgrOnl = TileBchTools.TileBchMgr()
72 mgrOnl.setLogLvl(logging.DEBUG)
75 log.info(
"Initializing with no bad channels at tag=%s and time=%s", folderTag, (0, 0))
76 mgrOnl.initialize(db, folder, folderTag, (0, 0))
82 mgrOnl.addAdcProblem(1, 1, 33, 1, TileBchPrbs.IgnoredInDsp)
83 mgrOnl.addAdcProblem(1, 1, 33, 0, TileBchPrbs.IgnoredInDsp)
92 for ros
in range(1, 5):
93 for mod
in range(0, 64):
94 for chn
in range(0, 48):
95 statlo = mgr.getAdcStatus(ros, mod, chn, 0)
96 stathi = mgr.getAdcStatus(ros, mod, chn, 1)
100 if statlo.isBad()
and stathi.isBad():
101 mgrOnl.addAdcProblem(ros, mod, chn, 0, TileBchPrbs.IgnoredInHlt)
102 mgrOnl.addAdcProblem(ros, mod, chn, 0, TileBchPrbs.OnlineGeneralMaskAdc)
103 mgrOnl.addAdcProblem(ros, mod, chn, 1, TileBchPrbs.IgnoredInHlt)
104 mgrOnl.addAdcProblem(ros, mod, chn, 1, TileBchPrbs.OnlineGeneralMaskAdc)
106 mgrOnl.addAdcProblem(ros, mod, chn, 0, TileBchPrbs.IgnoredInHlt)
107 mgrOnl.addAdcProblem(ros, mod, chn, 0, TileBchPrbs.OnlineGeneralMaskAdc)
108 mgrOnl.addAdcProblem(ros, mod, chn, 1, TileBchPrbs.IgnoredInHlt)
109 mgrOnl.delAdcProblem(ros, mod, chn, 1, TileBchPrbs.OnlineGeneralMaskAdc)
111 mgrOnl.addAdcProblem(ros, mod, chn, 0, TileBchPrbs.IgnoredInHlt)
112 mgrOnl.delAdcProblem(ros, mod, chn, 0, TileBchPrbs.OnlineGeneralMaskAdc)
113 mgrOnl.addAdcProblem(ros, mod, chn, 1, TileBchPrbs.IgnoredInHlt)
114 mgrOnl.addAdcProblem(ros, mod, chn, 1, TileBchPrbs.OnlineGeneralMaskAdc)
117 mgrOnl.delAdcProblem(ros, mod, chn, 0, TileBchPrbs.IgnoredInHlt)
118 mgrOnl.delAdcProblem(ros, mod, chn, 0, TileBchPrbs.OnlineGeneralMaskAdc)
119 mgrOnl.delAdcProblem(ros, mod, chn, 1, TileBchPrbs.IgnoredInHlt)
120 mgrOnl.delAdcProblem(ros, mod, chn, 1, TileBchPrbs.OnlineGeneralMaskAdc)
123 if statlo.isWrongBCID()
or stathi.isWrongBCID():
124 mgrOnl.addAdcProblem(ros, mod, chn, 0, TileBchPrbs.OnlineWrongBCID)
125 mgrOnl.addAdcProblem(ros, mod, chn, 1, TileBchPrbs.OnlineWrongBCID)
128 mgrOnl.delAdcProblem(ros, mod, chn, 0, TileBchPrbs.OnlineWrongBCID)
129 mgrOnl.delAdcProblem(ros, mod, chn, 1, TileBchPrbs.OnlineWrongBCID)
132 if statlo.isBadTiming()
or stathi.isBadTiming():
133 mgrOnl.addAdcProblem(ros, mod, chn, 0, TileBchPrbs.OnlineBadTiming)
134 mgrOnl.addAdcProblem(ros, mod, chn, 1, TileBchPrbs.OnlineBadTiming)
137 mgrOnl.delAdcProblem(ros, mod, chn, 0, TileBchPrbs.OnlineBadTiming)
138 mgrOnl.delAdcProblem(ros, mod, chn, 1, TileBchPrbs.OnlineBadTiming)
141 if statlo.isTimingDmuBcOffsetPos()
or stathi.isTimingDmuBcOffsetPos():
142 mgrOnl.addAdcProblem(ros, mod, chn, 0, TileBchPrbs.OnlineTimingDmuBcOffsetPos)
143 mgrOnl.addAdcProblem(ros, mod, chn, 1, TileBchPrbs.OnlineTimingDmuBcOffsetPos)
146 mgrOnl.delAdcProblem(ros, mod, chn, 0, TileBchPrbs.OnlineTimingDmuBcOffsetPos)
147 mgrOnl.delAdcProblem(ros, mod, chn, 1, TileBchPrbs.OnlineTimingDmuBcOffsetPos)
150 if statlo.isTimingDmuBcOffsetNeg()
or stathi.isTimingDmuBcOffsetNeg():
151 mgrOnl.addAdcProblem(ros, mod, chn, 0, TileBchPrbs.OnlineTimingDmuBcOffsetNeg)
152 mgrOnl.addAdcProblem(ros, mod, chn, 1, TileBchPrbs.OnlineTimingDmuBcOffsetNeg)
155 mgrOnl.delAdcProblem(ros, mod, chn, 0, TileBchPrbs.OnlineTimingDmuBcOffsetNeg)
156 mgrOnl.delAdcProblem(ros, mod, chn, 1, TileBchPrbs.OnlineTimingDmuBcOffsetNeg)
158 log.info(
"============================")
159 log.info(
"ONL01 and OFL02 synchronized")
160 log.info(
"============================")
164 log.info(
"bad channels after update")
168 mgrOnl.commitToDb(db, folder, folderTag, TileBchDecoder.BitPat_onl01,
"lpribyl",
"test online", (151950,0))