8from TileCalibBlobPython
import TileCalibTools
9from TileCalibBlobPython
import TileBchTools
10from TileCalibBlobObjs.Classes
import TileCalibUtils, TileBchPrbs, \
13from TileCalibBlobPython.TileCalibLogger
import getLogger
14log = getLogger(
"writeBch")
16log.setLevel(logging.DEBUG)
22db = TileCalibTools.openDb(
'SQLITE',
'COMP200',
'UPDATE')
25folder = TileCalibTools.getTilePrefix(
True,
True)+
"STATUS/ADC"
31mgr = TileBchTools.TileBchMgr()
32mgr.setLogLvl(logging.DEBUG)
35log.info(
"Initializing with no bad channels at tag=%s and time=%s", folderTag,(0,0))
36mgr.initialize(db, folder, folderTag, (0,0))
42mgr.addAdcProblem(0, 1, 0, 0, TileBchPrbs.GeneralMaskAdc)
43mgr.addAdcProblem(0, 1, 0, 0, TileBchPrbs.AdcDead)
44mgr.addAdcProblem(0, 1, 0, 0, TileBchPrbs.StuckBit)
45mgr.addAdcProblem(0, 1, 0, 0, TileBchPrbs.DataCorruption)
46mgr.addAdcProblem(0, 1, 0, 0, TileBchPrbs.VeryLargeHfNoise)
47mgr.addAdcProblem(0, 1, 0, 0, TileBchPrbs.NoData)
48mgr.addAdcProblem(0, 1, 0, 0, TileBchPrbs.WrongDspConfig)
50mgr.addAdcProblem(0, 1, 0, 0, TileBchPrbs.LargeHfNoise)
51mgr.addAdcProblem(0, 1, 0, 0, TileBchPrbs.CorrelatedNoise)
52mgr.addAdcProblem(0, 1, 0, 0, TileBchPrbs.LargeLfNoise)
53mgr.addAdcProblem(0, 1, 0, 0, TileBchPrbs.NoCis)
54mgr.addAdcProblem(0, 1, 0, 0, TileBchPrbs.BadCis)
58mgr.addAdcProblem(0, 1, 0, 0, TileBchPrbs.GeneralMaskChannel)
59mgr.addAdcProblem(0, 1, 0, 0, TileBchPrbs.NoPmt)
60mgr.addAdcProblem(0, 1, 0, 0, TileBchPrbs.NoHV)
61mgr.addAdcProblem(0, 1, 0, 0, TileBchPrbs.WrongHV)
63mgr.addAdcProblem(0, 1, 0, 0, TileBchPrbs.NoLaser)
64mgr.addAdcProblem(0, 1, 0, 0, TileBchPrbs.BadLaser)
65mgr.addAdcProblem(0, 1, 0, 0, TileBchPrbs.NoCesium)
66mgr.addAdcProblem(0, 1, 0, 0, TileBchPrbs.BadCesium)
74emptyChannelLongBarrel = (30, 31, 43)
75emptyChannelExtendedBarrel = (18, 19, 24, 25, 26, 27, 28, 29, 33, 34, 42, 43, 44, 45, 46, 47)
79mgr.addAdcProblem(1, 1, 42, 1, TileBchPrbs.CorrelatedNoise)
80mgr.addAdcProblem(1, 1, 47, 1, TileBchPrbs.CorrelatedNoise)
81mgr.addAdcProblem(1, 1, 46, 1, TileBchPrbs.CorrelatedNoise)
82mgr.addAdcProblem(1, 1, 45, 1, TileBchPrbs.CorrelatedNoise)
83mgr.addAdcProblem(1, 6, 32, 0, TileBchPrbs.DataCorruption)
84mgr.addAdcProblem(1, 6, 32, 1, TileBchPrbs.DataCorruption)
85mgr.addAdcProblem(1, 6, 33, 0, TileBchPrbs.DataCorruption)
86mgr.addAdcProblem(1, 6, 33, 1, TileBchPrbs.DataCorruption)
87mgr.addAdcProblem(1, 6, 34, 0, TileBchPrbs.DataCorruption)
88mgr.addAdcProblem(1, 6, 34, 1, TileBchPrbs.DataCorruption)
89mgr.addAdcProblem(1, 6, 35, 0, TileBchPrbs.DataCorruption)
90mgr.addAdcProblem(1, 6, 35, 1, TileBchPrbs.DataCorruption)
91mgr.addAdcProblem(1, 13, 6, 1, TileBchPrbs.StuckBit)
92mgr.addAdcProblem(1, 13, 6, 1, TileBchPrbs.VeryLargeHfNoise)
93mgr.addAdcProblem(1, 18, 23, 0, TileBchPrbs.BadLaser)
94mgr.addAdcProblem(1, 18, 23, 1, TileBchPrbs.BadLaser)
95mgr.addAdcProblem(1, 22, 32, 0, TileBchPrbs.VeryLargeHfNoise)
96mgr.addAdcProblem(1, 25, 0, 0, TileBchPrbs.NoData)
97mgr.addAdcProblem(1, 25, 0, 1, TileBchPrbs.NoData)
98mgr.addAdcProblem(1, 31, 20, 0, TileBchPrbs.BadCis)
99mgr.addAdcProblem(1, 33, 28, 0, TileBchPrbs.LargeHfNoise)
100mgr.addAdcProblem(1, 34, 47, 1, TileBchPrbs.LargeHfNoise)
101mgr.addAdcProblem(1, 34, 45, 1, TileBchPrbs.LargeHfNoise)
102mgr.addAdcProblem(1, 36, 36, 1, TileBchPrbs.VeryLargeHfNoise)
103mgr.addAdcProblem(1, 41, 39, 1, TileBchPrbs.LargeHfNoise)
104mgr.addAdcProblem(1, 41, 42, 1, TileBchPrbs.LargeHfNoise)
105mgr.addAdcProblem(1, 41, 46, 1, TileBchPrbs.LargeHfNoise)
106mgr.addAdcProblem(1, 41, 45, 1, TileBchPrbs.LargeHfNoise)
107mgr.addAdcProblem(1, 44, 29, 0, TileBchPrbs.VeryLargeHfNoise)
108mgr.addAdcProblem(1, 47, 45, 1, TileBchPrbs.LargeHfNoise)
109mgr.addAdcProblem(1, 48, 45, 1, TileBchPrbs.LargeHfNoise)
110mgr.addAdcProblem(1, 49, 45, 0, TileBchPrbs.VeryLargeHfNoise)
111for i
in range(0, 48):
112 if i
not in emptyChannelLongBarrel:
113 mgr.addAdcProblem(1, 52, i, 0, TileBchPrbs.DataCorruption)
114 mgr.addAdcProblem(1, 52, i, 1, TileBchPrbs.DataCorruption)
115mgr.addAdcProblem(1, 61, 28, 0, TileBchPrbs.LargeHfNoise)
118mgr.addAdcProblem(2, 3, 45, 1, TileBchPrbs.LargeHfNoise)
119mgr.addAdcProblem(2, 4, 24, 0, TileBchPrbs.LargeHfNoise)
120mgr.addAdcProblem(2, 5, 45, 1, TileBchPrbs.LargeHfNoise)
121mgr.addAdcProblem(2, 6, 45, 1, TileBchPrbs.VeryLargeHfNoise)
122mgr.addAdcProblem(2, 10, 28, 0, TileBchPrbs.StuckBit)
123mgr.addAdcProblem(2, 14, 19, 0, TileBchPrbs.BadCis)
124mgr.addAdcProblem(2, 14, 19, 1, TileBchPrbs.BadCis)
125mgr.addAdcProblem(2, 14, 45, 1, TileBchPrbs.VeryLargeHfNoise)
126for i
in range(0, 48):
127 if i
not in emptyChannelLongBarrel:
128 mgr.addAdcProblem(2, 16, i, 0, TileBchPrbs.DataCorruption)
129 mgr.addAdcProblem(2, 16, i, 1, TileBchPrbs.DataCorruption)
130mgr.addAdcProblem(2, 17, 45, 1, TileBchPrbs.LargeHfNoise)
131mgr.addAdcProblem(2, 19, 44, 0, TileBchPrbs.NoData)
132mgr.addAdcProblem(2, 19, 44, 1, TileBchPrbs.NoData)
133mgr.addAdcProblem(2, 19, 42, 0, TileBchPrbs.NoData)
134mgr.addAdcProblem(2, 19, 42, 1, TileBchPrbs.NoData)
135mgr.addAdcProblem(2, 19, 47, 0, TileBchPrbs.NoData)
136mgr.addAdcProblem(2, 19, 47, 1, TileBchPrbs.NoData)
137mgr.addAdcProblem(2, 19, 46, 0, TileBchPrbs.NoData)
138mgr.addAdcProblem(2, 19, 46, 1, TileBchPrbs.NoData)
139mgr.addAdcProblem(2, 19, 45, 0, TileBchPrbs.NoData)
140mgr.addAdcProblem(2, 19, 45, 1, TileBchPrbs.NoData)
141mgr.addAdcProblem(2, 23, 42, 0, TileBchPrbs.NoData)
142mgr.addAdcProblem(2, 23, 42, 1, TileBchPrbs.NoData)
143mgr.addAdcProblem(2, 25, 22, 0, TileBchPrbs.CorrelatedNoise)
144mgr.addAdcProblem(2, 25, 23, 0, TileBchPrbs.CorrelatedNoise)
145mgr.addAdcProblem(2, 25, 27, 0, TileBchPrbs.CorrelatedNoise)
146mgr.addAdcProblem(2, 25, 44, 0, TileBchPrbs.CorrelatedNoise)
147mgr.addAdcProblem(2, 26, 47, 1, TileBchPrbs.CorrelatedNoise)
148mgr.addAdcProblem(2, 26, 46, 1, TileBchPrbs.CorrelatedNoise)
149mgr.addAdcProblem(2, 26, 45, 1, TileBchPrbs.CorrelatedNoise)
150mgr.addAdcProblem(2, 33, 45, 1, TileBchPrbs.LargeHfNoise)
151mgr.addAdcProblem(2, 34, 42, 1, TileBchPrbs.CorrelatedNoise)
152mgr.addAdcProblem(2, 34, 47, 1, TileBchPrbs.CorrelatedNoise)
153mgr.addAdcProblem(2, 34, 46, 1, TileBchPrbs.CorrelatedNoise)
154mgr.addAdcProblem(2, 34, 45, 1, TileBchPrbs.CorrelatedNoise)
155mgr.addAdcProblem(2, 35, 32, 0, TileBchPrbs.VeryLargeHfNoise)
156mgr.addAdcProblem(2, 36, 45, 1, TileBchPrbs.StuckBit)
157mgr.addAdcProblem(2, 37, 47, 1, TileBchPrbs.VeryLargeHfNoise)
158mgr.addAdcProblem(2, 39, 25, 0, TileBchPrbs.CorrelatedNoise)
159mgr.addAdcProblem(2, 39, 24, 0, TileBchPrbs.CorrelatedNoise)
160mgr.addAdcProblem(2, 39, 29, 0, TileBchPrbs.CorrelatedNoise)
161mgr.addAdcProblem(2, 39, 42, 1, TileBchPrbs.CorrelatedNoise)
162mgr.addAdcProblem(2, 39, 47, 1, TileBchPrbs.CorrelatedNoise)
163mgr.addAdcProblem(2, 39, 46, 1, TileBchPrbs.CorrelatedNoise)
164mgr.addAdcProblem(2, 39, 45, 1, TileBchPrbs.CorrelatedNoise)
165mgr.addAdcProblem(2, 40, 47, 1, TileBchPrbs.CorrelatedNoise)
166mgr.addAdcProblem(2, 40, 45, 1, TileBchPrbs.CorrelatedNoise)
167mgr.addAdcProblem(2, 44, 46, 1, TileBchPrbs.LargeHfNoise)
168mgr.addAdcProblem(2, 44, 45, 1, TileBchPrbs.LargeHfNoise)
169mgr.addAdcProblem(2, 45, 3, 0, TileBchPrbs.VeryLargeHfNoise)
170mgr.addAdcProblem(2, 45, 45, 0, TileBchPrbs.LargeHfNoise)
171mgr.addAdcProblem(2, 46, 44, 0, TileBchPrbs.StuckBit)
172mgr.addAdcProblem(2, 52, 34, 1, TileBchPrbs.StuckBit)
173mgr.addAdcProblem(2, 54, 17, 0, TileBchPrbs.StuckBit)
174mgr.addAdcProblem(2, 54, 20, 0, TileBchPrbs.LargeHfNoise)
175mgr.addAdcProblem(2, 58, 45, 1, TileBchPrbs.LargeHfNoise)
176mgr.addAdcProblem(2, 63, 15, 0, TileBchPrbs.DataCorruption)
177mgr.addAdcProblem(2, 63, 15, 1, TileBchPrbs.DataCorruption)
178mgr.addAdcProblem(2, 63, 16, 0, TileBchPrbs.DataCorruption)
179mgr.addAdcProblem(2, 63, 16, 1, TileBchPrbs.DataCorruption)
180mgr.addAdcProblem(2, 63, 17, 0, TileBchPrbs.DataCorruption)
181mgr.addAdcProblem(2, 63, 17, 1, TileBchPrbs.DataCorruption)
184mgr.addAdcProblem(3, 6, 31, 0, TileBchPrbs.CorrelatedNoise)
185mgr.addAdcProblem(3, 6, 32, 0, TileBchPrbs.CorrelatedNoise)
186mgr.addAdcProblem(3, 6, 30, 0, TileBchPrbs.CorrelatedNoise)
187mgr.addAdcProblem(3, 8, 32, 0, TileBchPrbs.CorrelatedNoise)
188mgr.addAdcProblem(3, 8, 30, 0, TileBchPrbs.CorrelatedNoise)
189mgr.addAdcProblem(3, 8, 35, 0, TileBchPrbs.CorrelatedNoise)
190mgr.addAdcProblem(3, 11, 31, 1, TileBchPrbs.StuckBit)
191mgr.addAdcProblem(3, 13, 31, 0, TileBchPrbs.LargeHfNoise)
192mgr.addAdcProblem(3, 15, 31, 0, TileBchPrbs.VeryLargeHfNoise)
193mgr.addAdcProblem(3, 17, 20, 1, TileBchPrbs.StuckBit)
194mgr.addAdcProblem(3, 18, 3, 1, TileBchPrbs.BadCis)
195mgr.addAdcProblem(3, 24, 15, 0, TileBchPrbs.NoData)
196mgr.addAdcProblem(3, 24, 15, 1, TileBchPrbs.NoData)
197mgr.addAdcProblem(3, 32, 36, 1, TileBchPrbs.VeryLargeHfNoise)
198mgr.addAdcProblem(3, 38, 31, 1, TileBchPrbs.LargeLfNoise)
199mgr.addAdcProblem(3, 43, 21, 0, TileBchPrbs.DataCorruption)
200mgr.addAdcProblem(3, 43, 21, 1, TileBchPrbs.DataCorruption)
201mgr.addAdcProblem(3, 43, 22, 0, TileBchPrbs.DataCorruption)
202mgr.addAdcProblem(3, 43, 22, 1, TileBchPrbs.DataCorruption)
203mgr.addAdcProblem(3, 43, 23, 0, TileBchPrbs.DataCorruption)
204mgr.addAdcProblem(3, 43, 23, 1, TileBchPrbs.DataCorruption)
205mgr.addAdcProblem(3, 45, 31, 0, TileBchPrbs.CorrelatedNoise)
206mgr.addAdcProblem(3, 45, 32, 0, TileBchPrbs.CorrelatedNoise)
207mgr.addAdcProblem(3, 45, 30, 0, TileBchPrbs.CorrelatedNoise)
208mgr.addAdcProblem(3, 54, 14, 0, TileBchPrbs.NoData)
209mgr.addAdcProblem(3, 54, 14, 1, TileBchPrbs.NoData)
212mgr.addAdcProblem(4, 7, 32, 0, TileBchPrbs.LargeHfNoise)
213mgr.addAdcProblem(4, 8, 0, 0, TileBchPrbs.NoCis)
214mgr.addAdcProblem(4, 8, 0, 1, TileBchPrbs.NoCis)
215mgr.addAdcProblem(4, 12, 6, 0, TileBchPrbs.NoCis)
216mgr.addAdcProblem(4, 12, 6, 1, TileBchPrbs.NoCis)
217mgr.addAdcProblem(4, 12, 7, 0, TileBchPrbs.NoCis)
218mgr.addAdcProblem(4, 12, 7, 1, TileBchPrbs.NoCis)
219mgr.addAdcProblem(4, 12, 8, 0, TileBchPrbs.NoCis)
220mgr.addAdcProblem(4, 12, 8, 1, TileBchPrbs.NoCis)
221mgr.addAdcProblem(4, 17, 4, 0, TileBchPrbs.LargeHfNoise)
222mgr.addAdcProblem(4, 21, 35, 0, TileBchPrbs.NoCis)
223mgr.addAdcProblem(4, 21, 35, 1, TileBchPrbs.NoCis)
224mgr.addAdcProblem(4, 21, 38, 0, TileBchPrbs.NoCis)
225mgr.addAdcProblem(4, 21, 38, 1, TileBchPrbs.NoCis)
226mgr.addAdcProblem(4, 21, 37, 0, TileBchPrbs.NoCis)
227mgr.addAdcProblem(4, 21, 37, 1, TileBchPrbs.NoCis)
228mgr.addAdcProblem(4, 21, 41, 0, TileBchPrbs.NoCis)
229mgr.addAdcProblem(4, 21, 41, 1, TileBchPrbs.NoCis)
230mgr.addAdcProblem(4, 21, 40, 0, TileBchPrbs.NoCis)
231mgr.addAdcProblem(4, 21, 40, 1, TileBchPrbs.NoCis)
232mgr.addAdcProblem(4, 21, 39, 0, TileBchPrbs.NoCis)
233mgr.addAdcProblem(4, 21, 39, 1, TileBchPrbs.NoCis)
234mgr.addAdcProblem(4, 21, 36, 0, TileBchPrbs.NoCis)
235mgr.addAdcProblem(4, 21, 36, 1, TileBchPrbs.NoCis)
236mgr.addAdcProblem(4, 25, 41, 0, TileBchPrbs.LargeHfNoise)
237mgr.addAdcProblem(4, 31, 32, 0, TileBchPrbs.CorrelatedNoise)
238mgr.addAdcProblem(4, 31, 30, 0, TileBchPrbs.CorrelatedNoise)
239mgr.addAdcProblem(4, 33, 0, 1, TileBchPrbs.NoCis)
240mgr.addAdcProblem(4, 35, 36, 1, TileBchPrbs.BadCis)
241mgr.addAdcProblem(4, 36, 40, 0, TileBchPrbs.NoCis)
242mgr.addAdcProblem(4, 36, 40, 1, TileBchPrbs.NoCis)
243mgr.addAdcProblem(4, 39, 36, 1, TileBchPrbs.BadCis)
244for i
in range(0, 48):
245 if i
not in emptyChannelExtendedBarrel:
246 mgr.addAdcProblem(4, 41, i, 0, TileBchPrbs.DataCorruption)
247 mgr.addAdcProblem(4, 41, i, 1, TileBchPrbs.DataCorruption)
248mgr.addAdcProblem(4, 45, 1, 0, TileBchPrbs.BadCis)
249mgr.addAdcProblem(4, 47, 35, 0, TileBchPrbs.BadCis)
250mgr.addAdcProblem(4, 47, 35, 1, TileBchPrbs.BadCis)
251mgr.addAdcProblem(4, 54, 36, 1, TileBchPrbs.BadCis)
252mgr.addAdcProblem(4, 62, 13, 1, TileBchPrbs.VeryLargeHfNoise)
253mgr.addAdcProblem(4, 63, 32, 0, TileBchPrbs.CorrelatedNoise)
254mgr.addAdcProblem(4, 63, 30, 0, TileBchPrbs.CorrelatedNoise)
255mgr.addAdcProblem(4, 63, 35, 0, TileBchPrbs.CorrelatedNoise)
259log.info(
"bad channels after update")
263mgr.commitToDb(db, folder, folderTag, TileBchDecoder.BitPat_ofl01,
"lpribyl",
"translated from Brian's badChM7.xls", (68340,0))
static std::string getFullTag(const std::string &folder, const std::string &tag)
Returns the full tag string, composed of camelized folder name and tag part.