11 from ROOT
import THStack
12 from ROOT
import TCanvas,TLegend
13 from ROOT
import kYellow,kOrange,kRed,kBlue,kPink,kMagenta,kGreen,kSpring,kViolet,kAzure,kCyan,kTeal,kBlack,kWhite
14 from ROOT
import TProfile,TH1F
16 import time,os,subprocess
19 h =
TProfile(name,name, nbins, xmin, xmax)
23 h.SetMarkerColor(color)
30 def MakeTH1(name,xtitle,ytitle,xmin,xmax,nbins,color):
31 h =
TH1F(name,name,nbins, xmin,xmax)
36 h.SetMarkerColor(color)
42 for i
in range(len(list)):
43 h.GetXaxis().SetBinLabel(i+1,
str(list[i]))
47 l = TLegend(xmin,ymin,xmax,ymax)
48 l.SetFillColor(kWhite)
57 p = subprocess.Popen([
"grep",
"%d"%runNb,
"YearStats-%s/%s/%s/runs-ALL.dat"%(system,year,tag)],stdout = subprocess.PIPE)
58 (o,e) = p.communicate()
59 tmp = o.decode().
split(
"(")
61 tmp2 = tmp[1].
split(
")")[0]
69 ytp = {
"Description":
"",
"Defect tag":
"",
"Veto tag":
"",
"OflLumi tag":
"",
"OflLumiAcct tag":
""}
70 DeMoConfigFile =
open(
"YearStats-common/%s/DeMoConfig-%s-%s.dat"%(year,year,tag),
"r")
71 for line
in DeMoConfigFile:
72 for i_ytp
in ytp.keys():
73 if (
"%s: "%i_ytp
in line):
74 ytp[i_ytp] = (line.split(
"%s: "%i_ytp)[1]).
replace(
"\n",
"")
75 DeMoConfigFile.close()
77 for i_ytp
in ytp.keys():
78 if (ytp[i_ytp] ==
""):
79 print(
"ERROR: Missing (%s) in YearStats-common/%s/DeMoConfig-%s-%s.dat -> Please check or define it with DeMoSetup.py"%(i_ytp,year,year,tag))
86 def strLumi(lumi,unit="ub",latex = True,floatNumber = False):
88 string0 =
"%.2f%% "%(lumi)
90 if (unit ==
"pb" or unit ==
"pb^{-1}" or unit ==
"pb-1"):
95 if (floatNumber):string0 =
"%.2f #mub"%(lumi)
96 else:string0 =
"%.0f #mub"%(lumi)
98 if (floatNumber):string0 =
"%.2f ub"%(lumi)
99 else:string0 =
"%.0f ub"%(lumi)
101 if (floatNumber):string0 =
"%.2f nb"%(lumi/1e3)
102 else: string0 =
"%.0f nb"%(lumi/1e3)
104 if (floatNumber):string0 =
"%.2f pb"%(lumi/1e6)
105 else:string0 =
"%.0f pb"%(lumi/1e6)
107 if (floatNumber):string0 =
"%.3f fb"%(lumi/1e9)
108 else:string0 =
"%.1f fb"%(lumi/1e9)
110 string0= string0+
"^{-1}"
112 string0= string0+
"-1"
118 def plotStack(name,histo,index,indexName,histoIntLumi,lumiBool,resStack,resCanvas,resLegend,recovBool = True,compBool = False,approvedPlots = False):
137 nameSplitted = name.split(
"--")
138 xAxisTitle = nameSplitted[1]
140 yAxisTitle =
"Lost luminosity due to %s [%%]"%(nameSplitted[0])
142 yAxisTitle =
"Lost luminosity due to %s [%s]"%(nameSplitted[0],unit)
143 legendHeader =
"%s - %s"%(nameSplitted[2],time.strftime(
"%d %b", time.localtime()))
145 resCanvas[name] = TCanvas(name,
"%s - %s"%(yAxisTitle,xAxisTitle),100, 10, 1350, 500)
146 resCanvas[name].SetLeftMargin(0.08)
147 resCanvas[name].SetRightMargin(0.35)
148 resCanvas[name].SetGridy(1)
149 resStack[name] = THStack(
"%s_stack"%name,
"")
150 resLegend[name] =
MakeLegend(0.66,0.8,0.98,0.95)
151 resLegend[name].AddEntry(0,
"",
"")
155 nBinsX = histoIntLumi.GetNbinsX()
158 totalIneff_comp = nBinsX * [0.]
160 totalIntegratedLumi = histoIntLumi.GetBinContent(nBinsX)
162 auxScaleFactor = 100./totalIntegratedLumi
164 auxScaleFactor = totalIntegratedLumi/100.
166 tmpColor = [kBlue-4,kOrange-7,kTeal+1,kMagenta-4,kPink-3,kGreen+3,kSpring-3,kViolet+4,kAzure-8,kCyan+1]
169 for iIndex
in sorted(index,reverse=
True):
171 resStack[
"%s__recov"%name] =
MakeTH1(
"h1_%s__recovTotal"%(name),
"Recoverable",
"",-0.5,-0.5+nBinsX,nBinsX,1)
172 resStack[
"%s__recov"%name].SetMarkerStyle(23)
174 iIndexName = iIndex.split(
"_")[0]
179 if (histo[iIndex].GetFillColor() == kBlack
and tmpColorIndex < len(tmpColor)
and histo[iIndex].GetBinContent(histo[iIndex].GetNbinsX()) != 0):
180 histo[iIndex].SetFillColor(tmpColor[tmpColorIndex])
181 tmpColorIndex = tmpColorIndex + 1
185 if (histo[iIndex]).
IsA().InheritsFrom(
"TProfile"):
186 histo[
'%s_toStack'%iIndex] = histo[iIndex].ProjectionX()
187 histo[
'%s_toStack'%iIndex].SetFillColor(histo[iIndex].GetFillColor())
189 histo[
'%s_toStack'%iIndex] = histo[iIndex]
191 histo[
'%s_toStack'%iIndex].Multiply(histo[
'%s_toStack'%iIndex],histoIntLumi,0.01)
192 histo[
'%s_toStack'%iIndex].LabelsOption(
"v")
193 resStack[name].Add(histo[
'%s_toStack'%iIndex])
196 for iIndex
in sorted(index):
197 iIndexName = iIndex.split(
"__")[0]
198 baseEntry =
"%s"%(
strLumi(histo[
'%s_toStack'%iIndex].GetBinContent(nBinsX),unit))
199 auxEntry =
"%s"%(
strLumi(histo[
'%s_toStack'%iIndex].GetBinContent(nBinsX)*auxScaleFactor,unitAux))
201 if (recovBool
and "%s__recov"%iIndex
in list(histo.keys())
and histo[
"%s__recov"%iIndex].GetBinContent(nBinsX) != 0.):
202 baseEntryRecov =
"%s"%(
strLumi(histo[
"%s__recov"%iIndex].GetBinContent(nBinsX),unit))
203 entry =
"#splitline{%s}{%s(recov:%s) / %s}"%(indexName[iIndexName],baseEntry,baseEntryRecov,auxEntry)
204 for iBin
in range(nBinsX+1):
205 resStack[
"%s__recov"%name].Fill(iBin-1,histo[
"%s__recov"%iIndex].GetBinContent(iBin))
207 entry =
"#splitline{%s}{%s / %s}"%(indexName[iIndex],baseEntry,auxEntry)
210 if histo[iIndex].GetNbinsX() >= 2
and histo[iIndex].GetNbinsX()<5:
211 if histo[iIndex].GetBinContent(1) != 0.:
212 entry =
"#splitline{%s}{%s"%(indexName[iIndexName],
strLumi(histo[iIndex].GetBinContent(1),unit))
214 entry =
"#splitline{%s}{ - "%(indexName[iIndexName])
215 for iTag
in range(2,histo[iIndex].GetNbinsX()+1):
216 if histo[iIndex].GetBinContent(iTag) != 0.:
217 entry +=
" / %s "%(
strLumi(histo[iIndex].GetBinContent(iTag),unit))
222 entry =
"%s"%(indexName[iIndexName])
224 if (histo[iIndex].GetMaximum() != 0):
225 resLegend[name].AddEntry(histo[iIndex],entry,
"f")
230 if (
"allIntol" in list(histo.keys())):
231 allIndex =
"allIntol"
232 if (
"allVeto" in list(histo.keys())):
237 for iBin
in range(1,nBinsX+1):
238 totalIneff_comp[iBin-1] = histo[allIndex].GetBinContent(iBin)
240 totalIneff = histo[allIndex].GetBinContent(nBinsX)
242 mx = resStack[name].GetMaximum()*1.2
243 resStack[name].SetMaximum(mx)
244 resStack[name].Draw(
"hist")
245 resStack[name].GetXaxis().LabelsOption(
"v")
246 resStack[name].GetXaxis().SetLabelSize(0.04)
247 resStack[name].GetXaxis().SetTitle(
"%s"%xAxisTitle)
248 resStack[name].GetXaxis().SetTitleOffset(1.45)
249 resStack[name].GetYaxis().SetTitle(
"%s"%yAxisTitle)
250 resStack[name].GetYaxis().SetTitleOffset(0.7)
251 if resStack[name].GetMaximum()>10.:
252 resCanvas[name].SetLogy(1)
255 resStack[name].GetXaxis().SetLabelSize(0.065)
256 if histo[iIndex].GetNbinsX() == 2:
257 resLegend[name].SetHeader(
"#splitline{%s}{Total loss: %s / %s}"%(legendHeader,
strLumi(totalIneff_comp[0],unit),
strLumi(totalIneff_comp[1],unit)))
258 elif histo[iIndex].GetNbinsX() == 3:
259 resLegend[name].SetHeader(
"#splitline{%s}{Total loss: %s / %s / %s}"%(legendHeader,
strLumi(totalIneff_comp[0],unit),
strLumi(totalIneff_comp[1],unit),
strLumi(totalIneff_comp[2],unit)))
260 elif histo[iIndex].GetNbinsX() == 4:
261 resLegend[name].SetHeader(
"#splitline{%s}{Total loss: %s / %s / %s / %s}"%(legendHeader,
strLumi(totalIneff_comp[0],unit),
strLumi(totalIneff_comp[1],unit),
strLumi(totalIneff_comp[2],unit),
strLumi(totalIneff_comp[3],unit)))
263 resLegend[name].SetHeader(
"%s"%(legendHeader))
265 totalIneffAux = totalIneff*auxScaleFactor
267 resLegend[name].SetHeader(
"#splitline{%s}{Total loss: %s / %s}"%(legendHeader,
strLumi(totalIneff,unit),
strLumi(totalIneffAux,unitAux)))
269 if (totalIneff != 0.):
270 resLegend[name].SetHeader(
"#splitline{%s (%s)}{Total loss: %s / %s}"%(legendHeader,
strLumi(totalIntegratedLumi,
"pb"),
strLumi(totalIneff,unit),
strLumi(totalIneffAux,unitAux)))
272 resLegend[name].SetHeader(
"%s (%s)"%(legendHeader,
strLumi(totalIntegratedLumi,
"pb")))
273 if resStack[
"%s__recov"%name].
GetEntries() != 0.:
274 resStack[
"%s__recov"%name].SetMarkerStyle(20)
275 resStack[
"%s__recov"%name].SetMarkerColor(kAzure+8)
276 resStack[
"%s__recov"%name].Draw(
"PSAME HIST")
277 resLegend[name].AddEntry(resStack[
"%s__recov"%name],
"#splitline{Recoverable}{total: %.2f%%}"%(resStack[
"%s__recov"%name].GetBinContent(nBinsX)),
"p")
278 entryNb = entryNb + 1
281 resLegend[name].SetTextSize(0.035)
283 resLegend[name].SetTextSize(0.028)
285 resLegend[name].SetY1(
max(0.83-entryNb*0.098,0.05))
286 resLegend[name].Draw()
288 resCanvas[name].Update()
296 runlist[
"filename"] =
"runlist-%s-%s.dat"%(year,tag)
326 if system ==
"Pixel":
327 partitions[
"color"] = {
'IBL':kYellow-9,
'LAYER0':kYellow,
'BARREL':kOrange,
'ENDCAPC':kOrange-3,
'ENDCAPA':kRed-3}
328 partitions[
"list"] =
list(partitions[
"color"].
keys())
330 defects0[
"prefix"] = [
"PIXEL"]
333 defects0[
"partIntol"] = [
"DISABLED",
"GT30pct_NOTREADY",
"READOUT_PROBLEM",
"HVSCAN",
"TIMING",
"STANDBY"]
334 defects0[
"partTol"] = []
337 defects0[
"globIntol"] = [
"UNKNOWN"]
338 defects0[
"globTol"] = []
343 defectVeto[
"description"] = {
"DISABLED":
"One layer disabled",
344 "IBL_DISABLED":
"IBL disabled",
345 "GT30pct_NOTREADY":
">30% modules in error",
346 "READOUT_PROBLEM":
"Readout problem",
347 "IBL_READOUT_PROBLEM":
"IBL readout problem",
349 "TIMING":
"Timing scan",
353 signOff[
"EXPR."] = [
"PIXEL_UNCHECKED"]
354 signOff[
"BULK"] = [
"PIXEL_BULK_UNCHECKED"]
355 signOff[
"FINAL"] = []
360 partitions[
"color"] = {}
361 partitions[
"list"] =
list(partitions[
"color"].
keys())
363 defects0[
"prefix"] = [
"SCT"]
366 defects0[
"partIntol"] = []
367 defects0[
"partTol"] = []
370 defects0[
"globIntol"] = [
"GLOBAL_STANDBY",
"CRATE_OUT",
"ROD_OUT_MAJOR",
"PERIOD_ERR_MAJOR",
"GLOBAL_DESYNC",
"GLOBAL_RECONFIG",
"GLOBAL_UNKNOWN",
"GLOBAL_DISABLED",
"SIMULATION_DATA_FLAG"]
371 defects0[
"globTol"] = [
"MOD_OUT_GT40",
"MOD_ERR_GT40",
"MOD_NOISE_GT40",
"PERIOD_ERR_GT40",
"ROD_OUT",
"EFF_LT99",
"NOTNOMINAL_HV",
"NOTNOMINAL_THRESHOLD",
"NOTNOMINAL_TIMING",
"COOLINGLOOP_OUT_1",
"PS_TRIP"]
373 defectVeto[
"description"] = {
"GLOBAL_STANDBY":
"Standby",
374 "CRATE_OUT":
">=1 crate out",
375 "ROD_OUT_MAJOR":
"Large inefficency (ROD)",
376 "PERIOD_ERR_MAJOR":
"Large inefficiency (Period)",
377 "GLOBAL_DESYNC":
"Global desync",
378 "GLOBAL_RECONFIG":
"Global reconfig",
379 "GLOBAL_UNKNOWN":
"Unknown",
380 "GLOBAL_DISABLED":
"Disabled",
381 "SIMULATION_DATA_FLAG":
"Simulation data flag wrongly activated",
382 "MOD_OUT_GT40":
"More than 40 modules excluded in DAQ in addition to the permanent disabled modules (37 modules as of June 2017)",
383 "MOD_ERR_GT40":
"More than 40 modules with bytestream errors ",
384 "MOD_NOISE_GT40":
"More than 40 noisy modules",
385 "PERIOD_ERR_GT40":
"More than 80 links with errors in a short period of time (fine for the rest of the run), corresponding to about 40 modules",
386 "ROD_OUT":
"One or more ROD(s) excluded from readout, however less than 5% region in eta-phi plane have masked link errors among more than two layers.",
387 "EFF_LT99":
"Less than 99% efficiency for 1st BC and less than 98% efficiency for all bunches in one or more DQ regions",
388 "NOTNOMINAL_HV":
"SCT neither at 150 V nor at 50 V",
389 "NOTNOMINAL_THRESHOLD":
"SCT threshold not at 1 fC",
390 "NOTNOMINAL_TIMING":
"Unusual timing settings, e.g. timing scan",
391 "COOLINGLOOP_OUT_1":
"Loss of a single cooling loop",
392 "PS_TRIP":
"Failed modules due to a power supply trip"}
397 signOff[
"EXPR."] = [
"SCT_UNCHECKED"]
398 signOff[
"BULK"] = [
"SCT_BULK_UNCHECKED"]
399 signOff[
"FINAL"] = []
404 partitions[
"color"] = {}
405 partitions[
"list"] =
list(partitions[
"color"].
keys())
407 defects0[
"prefix"] = [
"TRT"]
410 defects0[
"partIntol"] = []
411 defects0[
"partTol"] = []
414 defects0[
"globIntol"] = [
"BADCALIBRATION",
"BADSTRAWLIST",
"BADGAS",
"DAQPROBLEMS_OTHER",
"DESYNC",
"NODATA_06",
"DISABLED",
"UNKNOWN"]
415 defects0[
"globTol"] = [
"BADCALIBRATION_MINOR",
"BADGAS_MINOR",
"BYTESTREAM_BITFLIPS",
"DAQPROBLEMS_OTHER_MINOR",
"NODATA_01",
"NONNOMINAL_HT",
"NONNOMINAL_LT"]
419 defectVeto[
"description"] = {
"BADCALIBRATION":
"Bad calibration",
420 "BADSTRAWLIST":
"Bad dead stram list",
421 "BADGAS":
"Bad gas mixture",
422 "DAQPROBLEMS_OTHER":
"DAQ problems",
423 "DESYNC":
"Desynchronisation",
424 "NODATA_06":
"Large part of TRT off",
425 "DISABLED":
"Disabled",
431 signOff[
"EXPR."] = [
"TRT_UNCHECKED"]
432 signOff[
"BULK"] = [
"TRT_BULK_UNCHECKED"]
433 signOff[
"FINAL"] = []
440 partitions[
"color"] = {
'EMBA':kYellow-9,
'EMBC':kYellow,
'EMECA':kOrange,
'EMECC':kOrange-3,
'HECA':kRed-3,
'HECC':kRed+2,
'FCALA':kBlue-3,
'FCALC':kBlue+2}
441 partitions[
"list"] =
list(partitions[
"color"].
keys())
443 defects0[
"prefix"] = [
"LAR",
"CALO_ONLINEDB"]
446 defects0[
"partIntol"] = [
"HVTRIP",
"SEVNOISEBURST",
"SEVCOVERAGE",
"HVNONNOMINAL",
"SEVNOISYCHANNEL",
"SEVMISCALIB",
"SEVUNKNOWN"]
447 defects0[
"partTol"] = [
"COVERAGE",
"HVNONNOM_CORRECTED"]
450 defects0[
"globIntol"] = [
"DATACORRUPT",
"RECOCORRUPT",
"SPECIALSTUDIES",
"BADTIMING",
"LOWMUCONFIG_IN_HIGHMU_EmergencyMeasures"]
451 defects0[
"globTol"] = []
453 defectVeto[
"description"] = {
"HVTRIP":
"High voltage trip",
454 "NOISEBURST":
"Noise bursts (before veto)",
455 "HVNONNOMINAL":
"HV non nominal",
456 "SEVNOISEBURST":
"Noise burst",
457 "SEVNOISYCHANNEL":
"Noisy channels",
458 "SEVCOVERAGE":
"Coverage",
459 "SEVMISCALIB":
"Global miscalibration",
460 "SEVUNKNOWN":
"Unknown reason",
461 "DATACORRUPT":
"Data corruption",
462 "RECOCORRUPT":
"Corrupted reconstruction",
463 "SPECIALSTUDIES":
"Special studies (on purpose)",
464 "BADTIMING":
"Bad timing",
465 "COVERAGE":
"Coverage (tolerable)",
466 "LOWMUCONFIG_IN_HIGHMU_EmergencyMeasures":
"Trigger misconfiguration",
467 "noiseBurst":
"Noise burst",
468 "miniNoiseBurst":
"Mini noise burst",
469 "corruption":
"Data corruption"}
471 veto[
"all"] = [
"noiseBurst",
"miniNoiseBurst",
"corruption"]
472 veto[
"COOL"] = {
"noiseBurst":
"allNoise",
473 "miniNoiseBurst":
"MNBNoise",
474 "corruption":
"allCorruption"}
476 signOff[
"EXPR."] = [
"LAR_UNCHECKED"]
477 signOff[
"BULK"] = [
"LAR_BULK_UNCHECKED"]
478 signOff[
"FINAL"] = [
"LAR_UNCHECKED_FINAL"]
483 partitions[
"color"] = {
'EBA':kYellow-9,
'EBC':kYellow,
'LBA':kOrange,
'LBC':kOrange-3}
484 partitions[
"list"] =
list(partitions[
"color"].
keys())
486 defects0[
"prefix"] = [
"TILE"]
489 defects0[
"partIntol"] = [
"BAD_COVER",
"DAQ_PRB",
"DB_SEVERE",
"TIMING_SEVERE",
"UNSPECIFIED_SEVERE"]
490 defects0[
"partTol"] = [
"DB_MINOR",
"TIMING_MINOR",
"TRIP",
"UNSPECIFIED_MINOR"]
493 defects0[
"globIntol"] = [
"LOWSTAT"]
494 defects0[
"globTol"] = [
"TIMEJUMPS_UNDEFINED"]
498 defectVeto[
"description"] = {
"BAD_COVER":
"Coverage",
499 "DAQ_PRB":
"DAQ problem",
500 "DB_SEVERE":
"DB issue",
501 "TIMING_SEVERE":
"Timing issue",
502 "UNSPECIFIED_SEVERE":
"Severe unspecified",
503 "LOWSTAT":
"Low stats"}
508 signOff[
"EXPR."] = [
"TILE_UNCHECKED"]
509 signOff[
"BULK"] = [
"TILE_UNCHECKED"]
510 signOff[
"FINAL"] = []
516 partitions[
"color"] = {
"EA":kYellow-9,
'EC':kRed-3}
518 partitions[
"list"] =
list(partitions[
"color"].
keys())
520 defects0[
"prefix"] = [
"MS_CSC"]
522 defects0[
"partIntol"] = [
"STANDBY_HV",
527 defects0[
"partTol"] = [
"DISCONNECTED2",
"LATENCY_MINOR",
"THRESHOLD"]
529 defects0[
"globIntol"] = []
530 defects0[
"globTol"] = []
535 defectVeto[
"description"] = {
"STANDBY_HV":
"Standby HV",
536 "PROBLEM":
"Coverage loss > 10%%",
537 "ROD_DISABLED":
">=1 ROD not readout",
538 "DISABLED":
"Disabled"}
540 signOff[
"EXPR."] = [
"MS_UNCHECKED"]
541 signOff[
"BULK"] = [
"MS_BULK_UNCHECKED"]
542 signOff[
"FINAL"] = []
547 partitions[
"color"] = {
"EA":kYellow-9,
'EC':kRed-3,
'BA':kBlue-3,
'BC':kOrange-3}
549 partitions[
"list"] =
list(partitions[
"color"].
keys())
551 defects0[
"prefix"] = [
"MS_MDT"]
554 defects0[
"partIntol"] = [
"STANDBY_HV",
"PROBLEM",
"ROD_PROBLEM_5orMore",
"DISABLED"]
555 defects0[
"partTol"] = [
"ROD_PROBLEM_1",
"ROD_PROBLEM_2to4"]
557 defects0[
"globIntol"] = []
558 defects0[
"globTol"] = []
563 defectVeto[
"description"] = {
"STANDBY_HV":
"Standby HV",
564 "PROBLEM":
"Coverage loss > 10%%",
565 "ROD_PROBLEM_5orMore":
">=5 RODs not readout",
566 "DISABLED":
"Disabled"}
568 signOff[
"EXPR."] = [
"MS_UNCHECKED"]
569 signOff[
"BULK"] = [
"MS_BULK_UNCHECKED"]
570 signOff[
"FINAL"] = []
575 partitions[
"color"] = {
'BA':kBlue-3,
'BC':kOrange-3}
577 partitions[
"list"] =
list(partitions[
"color"].
keys())
579 defects0[
"prefix"] = [
"MS_RPC"]
582 defects0[
"partIntol"] = [
"STANDBY_HV",
"PROBLEM",
"PROBLEM_10to15percent",
"PROBLEM_MoreThan15percent",
"OutOfSync_3orMore",
"LowEfficiency_MoreThan10percent",
"DISABLED"]
583 defects0[
"partTol"] = [
"LowEfficiency_5to10percent",
"OutOfSync_2",
"OutOfSync_1",
"ROD_PROBLEM_1",
"PROBLEM_5to10percent"]
586 defects0[
"globIntol"] = []
587 defects0[
"globTol"] = []
592 defectVeto[
"description"] = {
"STANDBY_HV":
"Standby HV",
593 "PROBLEM":
"Coverage loss > 10%%",
594 "PROBLEM_10to15percent":
"Coverage loss > 10%%",
595 "PROBLEM_MoreThan15percent":
"Coverage loss > 15%%",
596 "OutOfSync_3orMore":
">3 Out of sync",
597 "LowEfficiency_MoreThan10percent":
"Low efficiency > 10%%",
598 "DISABLED":
"Disabled"}
600 signOff[
"EXPR."] = [
"MS_UNCHECKED"]
601 signOff[
"BULK"] = [
"MS_BULK_UNCHECKED"]
602 signOff[
"FINAL"] = []
607 partitions[
"color"] = {
"EA":kYellow-9,
'EC':kRed-3}
609 partitions[
"list"] =
list(partitions[
"color"].
keys())
611 defects0[
"prefix"] = [
"MS_TGC"]
614 defects0[
"partIntol"] = [
"STANDBY_HV",
"PROBLEM",
"ROD_PROBLEM-2orMore",
"DISABLED"]
615 defects0[
"partTol"] = [
"PROBLEM_1"]
618 defects0[
"globIntol"] = []
619 defects0[
"globTol"] = []
624 defectVeto[
"description"] = {
"STANDBY_HV":
"Standby HV",
625 "PROBLEM":
"Coverage loss > 10%%",
626 "ROD_PROBLEM_2orMore":
">=2 RODs not readout",
627 "DISABLED":
"Disabled"}
629 signOff[
"EXPR."] = [
"MS_UNCHECKED"]
630 signOff[
"BULK"] = [
"MS_BULK_UNCHECKED"]
631 signOff[
"FINAL"] = []
635 if system ==
"MuonCP":
636 defects0[
"prefix"] = [
"MCP"]
639 defects0[
"partIntol"] = []
640 defects0[
"partTol"] = []
643 defects0[
"globIntol"] = [
"ALIGN_GEO",
"LOW_EFFICIENCY_MAJOR"]
644 defects0[
"globTol"] = [
"CHI2_PROBLEM",
"ID_PROBLEM",
"LOW_EFFICIENCY_MINOR",
"MS_PROBLEM"]
649 defectVeto[
"description"] = {
"ALIGN_GEO":
"[MCP] Bad alignment/geometry)",
650 "LOW_EFFICIENCY_MAJOR":
"[MCP] Low reconstruction efficiency" }
652 signOff[
"EXPR."] = [
"MS_UNCHECKED"]
653 signOff[
"BULK"] = [
"MS_BULK_UNCHECKED"]
654 signOff[
"FINAL"] = []
657 if system ==
"IDGlobal":
658 partitions[
"color"] = {}
659 partitions[
"list"] =
list(partitions[
"color"].
keys())
661 defects0[
"prefix"] = [
"ID"]
664 defects0[
"partIntol"] = []
665 defects0[
"partTol"] = []
668 defects0[
"globIntol"] = [
"NOTRACKS",
"IBL_TRACKCOVERAGE_SEVERE",
"PIXEL_TRACKCOVERAGE_SEVERE",
"SCT_TRACKCOVERAGE_SEVERE",
"TRT_TRACKCOVERAGE_SEVERE",
"UNKNOWN",
"BS_RUNAVERAGE",
"BS_PARAMETERSTEP",
"BS_NOTNOMINAL"]
669 defects0[
"globTol"] = [
"ALIGN_DEGRADED",
"LOWSTAT",
"IBL_TRACKCOVERAGE",
"PIXEL_TRACKCOVERAGE",
"SCT_TRACKCOVERAGE",
"TRT_TRACKCOVERAGE",
"VERTEXBUG"]
674 defectVeto[
"description"] = {
"NOTRACKS":
"No tracks",
675 "IBL_TRACKCOVERAGE_SEVERE":
"[IBL] > 10 %% coverage loss",
676 "PIXEL_TRACKCOVERAGE_SEVERE":
"[PIXEL] > 10 %% coverage loss",
677 "SCT_TRACKCOVERAGE_SEVERE":
"[SCT] > 10 %% coverage loss",
678 "TRT_TRACKCOVERAGE_SEVERE":
"[TRT] > 10 %% coverage loss",
680 "BS_RUNAVERAGE":
"Problematic BS determination",
681 "BS_PARAMETERSTEP":
"Large changes in BS",
682 "BS_NOTNOMINAL":
"Sizable modulation in d0 vs phi",
683 "ALIGN_DEGRADED":
"Degarded alignment",
684 "LOWSTAT":
"Low statistics",
685 "x_TRACKCOVERAGE":
"Significant change in coverage, but not severe (between 5-10% coverage loss)",
686 "VERTEXBUG":
"Problems in the determination of the primary vertex"}
688 signOff[
"EXPR."] = [
"ID_UNCHECKED"]
689 signOff[
"BULK"] = [
"ID_BULK_UNCHECKED"]
690 signOff[
"FINAL"] = []
696 if system ==
"CaloCP":
697 partitions[
"color"] = {
'BARREL':kYellow-9,
'CRACK':kRed-3,
'ENDCAP':kBlue-3,
698 'B':kYellow-9,
'CR':kRed-3,
'E':kBlue-3,
699 'CALB':kYellow-9,
'CALEA':kRed-3,
'CALC':kBlue-3}
701 partitions[
"list"] =
list(partitions[
"color"].
keys())
703 defects0[
"prefix"] = [
"JET",
"EGAMMA",
"MET",
"TAU",
"CALO_"]
706 defects0[
"partIntol"] = [
"LARNOISE",
"ENERGY",
"CALO",
"TRK",
"KIN",
"ID",
"TopoClusterNoiseSevere"]
707 defects0[
"partTol"] = []
710 defects0[
"globIntol"] = [
"NOJETSREGION",
"SEVERE_HOTSPOT",
"BEAMSPOT",
"Ex_largeshift",
"Ey_largeshift",
"SumEt_largeshift"]
711 defects0[
"globTol"] = [
"ETAPHI_SPIKES"]
714 defectVeto[
"description"] = {
"NOJETSREGION":
"[Jet] Cold region",
715 "SEVERE_HOTSPOT":
"[Jet] Hot region",
716 "LARNOISE":
"[EGamma] Noise in LAr",
717 "ENERGY":
"[EGamma] Problem in energy",
718 "BEAMSPOT":
"[EGamma] Problem in beam spot",
719 "ETAPHI_SPIKES":
"[Egamma] Eta/phi spikes",
720 "Ex_largeshift":
"[MEt] Ex large shift",
721 "Ey_largeshift":
"[MEt] EY large shift",
722 "SumEt_largeshift":
"[MEt] SumEt large shift",
723 "CALO":
"[Tau] Calo problem",
724 "TRK":
"[Tau] Tracking problem",
725 "KIN":
"[Tau] Kinetic problem",
726 "ID":
"[Tau] Identification problem",
727 "TopoClusterNoiseSevere":
"[TopoCluster] Hot spot"}
732 signOff[
"EXPR."] = [
'CALO_UNCHECKED',
'EGAMMA_UNCHECKED',
'JET_UNCHECKED',
'MET_UNCHECKED',
'TAU_UNCHECKED']
733 signOff[
"BULK"] = [
'CALO_BULK_UNCHECKED',
'EGAMMA_BULK_UNCHECKED',
'JET_BULK_UNCHECKED',
'MET_BULK_UNCHECKED',
'TAU_BULK_UNCHECKED']
734 signOff[
"FINAL"] = []
739 partitions[
"color"] = { }
741 partitions[
"list"] =
list(partitions[
"color"].
keys())
743 defects0[
"prefix"] = [
"BTAG"]
745 defects0[
"partIntol"] = []
746 defects0[
"partTol"] = []
749 defects0[
"globIntol"] = [
"BLAYER_SERIOUS_PROBLEM",
"BTAG_SCT_SERIOUS_PROBLEM",
"BTAG_TRT_SERIOUS_PROBLEM",
"BTAG_JET_SEVHOTSPOT"]
750 defects0[
"globTol"] = [
"BEAMSPOT_SHIFT",
"BTAG_BLAYER_PROBLEM",
"BTAG_SCT_PROBLEM",
"BTAG_TRT_PROBLEM",
"NOJETS"]
753 defectVeto[
"description"] = {
"BLAYER_SERIOUS_PROBLEM":
"B layer problem",
754 "BTAG_SCT_SERIOUS_PROBLEM":
"SCT problem",
755 "BTAG_TRT_SERIOUS_PROBLEM":
"TRT problem",
756 "BTAG_JET_SEVHOTSPOT":
"Jet hot spot",
757 "BEAMSPOT_SHIFT":
"Beamspot shift",
758 "BTAG_NOJETS":
"No jets in monitoring"}
763 signOff[
"EXPR."] = [
'BTAG_UNCHECKED']
764 signOff[
"BULK"] = [
'BTAG_BULK_UNCHECKED']
765 signOff[
"FINAL"] = []
769 if system ==
"Trig_L1":
770 partitions[
"color"] = {}
771 partitions[
"list"] =
list(partitions[
"color"].
keys())
773 defects0[
"prefix"] = [
"TRIG_L1"]
777 defects0[
"partIntol"] = []
778 defects0[
"partTol"] = []
781 defects0[
"globIntol"] = [
"CAL_coverage",
"CAL_misconf_calib",
"CAL_misconf_electronics",
"CAL_misconf_satBCID",
"CAL_off",
"MUB_busy",
"MUB_coverage",
"MUB_failed_electronics",
"MUB_lost_sync",
"MUB_misconf_electronics",
"MUE_busy",
"MUE_coverage",
"MUE_misconf_electronics",
"MUE_pt15GeV",
"MUE_pt20GeV",
"CTP_CTP_MuCTPI_bcid",
"CTP_CTP_ROD_bcid",
"CTP_CTPsim",
"CTP_TAPnoTBP",
"CTP_TAVnoTAP",
"CTP_UNKNOWN",
"CTP_bcid",
"CTP_bcidrange",
"CTP_candnumber",
"CTP_clock",
"CTP_counter",
"CTP_lumiblockrange",
"CTP_lumiblocktime",
"CTP_multpt",
"CTP_nanosectime",
"CTP_prescale_error",
"CTP_roiCand",
"CTP_roiNum",
"CTP_wrong_BGK",
"CTP_CTPIN_MU",
"CTP_CTPIN_JET2",
"TOPO_inputs",
"TOPO_outputs",
"TOPO_misconf_calib",
"TOPO_misconf_electronics",
"TOPO_off",
"TOPO_readout",
"CAL_LOWMUCONFIG_IN_HIGHMU"]
782 defects0[
"globTol"] = [
"CAL_coverage_tolerable",
"CAL_misconf_calib_tolerable",
"CAL_misconf_electronics_tolerable",
"CAL_misconf_satBCID_tolerable",
"CAL_misconf_tile_drawer",
"CAL_readout_cpjep_tolerable",
"CAL_readout_pp_tolerable",
"CAL_mistimed_larTBB_SEU_tolerable",
"CTP_NONSTANDARD_CONFIG",
"MUB_lost_sync_tolerable",
"MUB_failed_electronics_tolerable",
"MUB_coverage_tolerable",
"MUB_misconf_electronics_tolerable",
"MUB_LOWER_EFFICIENCY_TOLERABLE",
"MUE_coverage_tolerable",
"MUE_pt15GeV_tolerable",
"MUE_pt20GeV_tolerable",
"MUE_FakeBurst",
"TOPO_inputs_tolerable",
"TOPO_outputs_tolerable",
"TOPO_misconf_calib_tolerable",
"TOPO_misconf_electronics_tolerable",
"TOPO_readout_tolerable",
"TOPO_readout_roib",
"TOPO_not_good_for_physics"]
787 defectVeto[
"description"] = {
"CAL_coverage":
"",
788 "CAL_misconf_calib":
"[Calo] Electronics miscalibration",
789 "CAL_misconf_electronics":
"[Calo] Electronics misconfiguration",
790 "CAL_misconf_satBCID":
"",
791 "CAL_off":
"[Calo] L1Calo off",
792 "CAL_mistimed_larTBB_SEU_tolerable":
"[LAr] TBB SEU leading to mistiming",
793 "CAL_LOWMUCONFIG_IN_HIGHMU":
"[Calo] Low-mu configuration in high-mu run",
794 "MUB_busy":
"[Muon] Busy",
795 "MUB_coverage":
"[Muon] Barrel coverage",
796 "MUB_failed_electronics":
"[Muon] Electronics failure",
797 "MUB_lost_sync":
"[Muon] Lost synchr.",
798 "MUB_misconf_electronics":
"[Muon] Electronics misconfig",
799 "MUE_busy":
"[Muon] Busy",
800 "MUE_coverage":
"[Muon] Forward coverage",
801 "MUE_misconf_electronics":
"[Muon] Electronics misconfig",
802 "MUE_pt15GeV":
"[Muon] Pt15GeV",
803 "MUE_pt20GeV":
"[Muon] Pt20GeV",
804 "CTP_wrong_BGK":
"[CTP] Wrong bunch group key",
805 "CTP_CTPIN_MU":
"[CTPIN] Cable problems for muons",
806 "CTP_CTPIN_JET2":
"[CTPIN] Cable problems for jets",
807 "TOPO_misconf_electronics":
"[CaloTopo] Electronics misconfiguration"}
809 signOff[
"EXPR."] = [
"TRIG_L1_CAL_UNCHECKED",
"TRIG_L1_CTP_UNCHECKED",
"TRIG_L1_MUB_UNCHECKED",
"TRIG_L1_MUE_UNCHECKED",
"TRIG_L1_TOPO_UNCHECKED"]
811 signOff[
"FINAL"] = []
814 if system ==
"Trig_HLT":
815 partitions[
"color"] = {}
816 partitions[
"list"] =
list(partitions[
"color"].
keys())
818 defects0[
"prefix"] = [
"TRIG_HLT"]
820 defects0[
"partIntol"] = []
821 defects0[
"partTol"] = []
824 defects0[
"globIntol"] = [
"BJT_beam_spot_flag",
"BJT_no_secvtx",
"BJT_no_tracking",
"BJT_INACCURATE_ONLINE_BEAMSPOT",
"BJT_NO_MULTIBJET",
"BPH_no_muon",
"BPH_no_tracking",
"CAL_LAR_SourceMajor",
"CAL_TILE_SourceMajor",
"CAL_missing_data",
"CAL_no_primaries",
"ELE_no_clustering",
"ELE_no_tracking",
"ELE_primary_chain_misconfigured",
"ELE_unknown",
"ELE_tracking_issue",
"GAM_no_clustering",
"GAM_partial_clustering",
"GAM_primary_chain_misconfigured",
"GAM_unknown",
"GENERAL_debugstream",
"GENERAL_no_primaries",
"GENERAL_prescale_problem",
"GENERAL_standby",
"GENERAL_xpu_misconf",
"IDT_EF_FAIL",
"IDT_IDS_FAIL",
"IDT_SIT_FAIL",
"IDT_PRIVX_INEFF",
"JET_algo_problem",
"JET_menu_misconf",
"JET_unknown",
"MBI_no_tracking",
"MET_missing_data",
"MUO_Upstream_Barrel_problem",
"MUO_Upstream_Endcap_problem",
"TAU_misconf",
"TAU_caloIssue",
"TAU_nocalo",
"TAU_no_tracking",
"TRG_HLT_TAU_tracking_issue",
"TAU_dbIssue_BeamSpot",
"IDT_PIX_DATA_ERROR",
"MUO_chain_disabled"]
825 defects0[
"globTol"] = [
"BJT_partial_tracking",
"BJT_unknown",
"BJT_ONLINE_BEAMSPOT_GT1p6MM",
"BJT_ONLINE_BEAMSPOT_GT2MM",
"BPH_algcrash",
"BPH_misconf",
"BPH_partial_muon",
"BPH_partial_tracking",
"BPH_unknown",
"CAL_LAR_SourceMinor",
"CAL_ROI_EXCESS",
"CAL_TILE_SourceMinor",
"CAL_partial_missing_data",
"CAL_spike",
"CAL_incorrect_BCID_correction",
"CAL_unknown",
"ELE_chain_misconfigured",
"ELE_clustering_issue",
"ELE_lowEfficiency_all_electrons",
"ELE_non_primary_poor_performance_e15_HLTtighter",
"ELE_non_primary_poor_performance_e15_tight",
"ELE_nonprimary_misconfigured",
"ELE_partial_clustering",
"ELE_partial_tracking",
"ELE_primary_poor_performance_e20_medium1",
"ELE_primary_poor_performance_e22_medium1",
"ELE_tracking_issue_Tolerable",
"GAM_chain_misconfigured",
"GAM_clustering_issue",
"GAM_nonprimary_misconfigured",
"GENERAL_streaming",
"GENERAL_tolerableDebugstream",
"GENERAL_no_1e34_primaries",
"GENERAL_no_12e33_primaries",
"GENERAL_no_15e33_primaries",
"GENERAL_no_17e33_primaries",
"IDT_BSPOT_FAILUR",
"IDT_BSPOT_INVALID_STATUS",
"IDT_BSPOT_INVALIDATOR_PROBLEM",
"IDT_EFT_FAIL",
"IDT_LOWSTAT",
"IDT_SCT_OUTOFTIMEHITS",
"IDT_TRT_DATA_LOST",
"IDT_TRT_OUTOFTIMEHITS",
"IDT_TSF_FAIL",
"IDT_unknown",
"JET_calib_issue",
"JET_energy_excess",
"JET_GSC_BEAMSPOT_PROBLEM",
"JET_hotspot",
"JET_partialscan_issue",
"MBI_HI_time_shift_mbts",
"MBI_partial_tracking",
"MBI_unknown",
"MBI_spacepoint_noise",
"MET_XS_Triggers_OFF",
"MET_missingEt_spike",
"MET_partial_missing_data",
"MET_phi_spike",
"MET_sumEt_spike",
"MET_unknown",
"MUO_EFMSonly_problem",
"MUO_Fullscan_problem",
"MUO_L2Iso_problem",
"MUO_L2muonSA_problem",
"MUO_MSonly_Barrel_problem",
"MUO_MSonly_Endcapl_problem",
"MUO_MuComb_problem",
"MUO_MuGirl_problem",
"MUO_Multi_Muon_problemchains",
"MUO_MuonEFTrackIso_problem",
"MUO_MuonEF_problem",
"MUO_Slow_problem",
"MUO_unknown",
"MUO_chain_misconfigured",
"TAU_unknown",
"TAU_dbIssue_mu",
"TAU_tracking_issue_Tolerable"]
830 defectVeto[
"description"] = {
"CAL_LAR_SourceMajor":
"[LAr] Major problem",
831 "CAL_no_primaries":
"[Calo] No primaries",
832 "GENERAL_no_primaries":
"No primaries",
833 "GENERAL_prescale_problem":
"Prescale problem",
834 "MUO_Upstream_Barrel_problem":
"[Muon] Upstream barrel problem",
835 "BJT_INACCURATE_ONLINE_BEAMSPOT":
"Inaccurate online beam spot",
836 "BJT_ONLINE_BEAMSPOT_GT1p6MM":
"Online beam spot > 1.6mm",
837 "BJT_ONLINE_BEAMSPOT_GT2MM":
"Online beam spot > 2mm",
838 "BJT_beam_spot_flag":
"Beam spot flag",
839 "BJT_NO_MULTIBJET":
"No multi b-jets",
840 "GENERAL_debugstream":
"Problem in debug stream",
841 "BJT_no_secvtx":
"[b-jet] No Secondary vertex",
842 "IDT PIX DATA ERROR":
""
845 signOff[
"EXPR."] = [
"TRIG_HLT_BJT_UNCHECKED",
"TRIG_HLT_BPH_UNCHECKED",
"TRIG_HLT_CAL_UNCHECKED",
"TRIG_HLT_ELE_UNCHECKED",
"TRIG_HLT_GAM_UNCHECKED",
"TRIG_HLT_IDT_UNCHECKED",
"TRIG_HLT_JET_UNCHECKED",
"TRIG_HLT_MBI_UNCHECKED",
"TRIG_HLT_MET_UNCHECKED",
"TRIG_HLT_MUO_UNCHECKED",
"TRIG_HLT_TAU_UNCHECKED"]
847 signOff[
"FINAL"] = []
852 partitions[
"color"] = { }
854 partitions[
"list"] =
list(partitions[
"color"].
keys())
856 defects0[
"prefix"] = [
"LUMI"]
858 defects0[
"partIntol"] = []
859 defects0[
"partTol"] = []
861 defects0[
"globIntol"] = [
"BEAMS_MOVING",
"CALIB_UNCERTAIN",
"CTP_ERROR",
"EMITTANCESCAN",
"INFR_ERROR",
"LCD_MISSINGCURRENT",
"OLC2COOL_FAILURE",
"ONLINEDB_ERROR",
"ONL_DET_ERROR_SEVERE",
"ONL_OLC2HLT_SEVERE",
"ONL_ONLINEDB_ERROR",
"PERBCIDINFO_ABSENT",
"UNKNOWN",
"VDM"]
862 defects0[
"globTol"] = []
865 defectVeto[
"description"] = {
"BEAMS_MOVING":
"Beams moving",
866 "CALIB_UNCERTAIN":
"Uncertain calibration",
867 "CTP_ERROR":
"CTP error",
868 "EMITTANCESCAN":
"Emittance scan",
869 "INFR_ERROR":
"Infr. error",
870 "LCD_MISSINGCURRENT":
"Missing LCD current",
871 "OLC2COOL_FAILURE":
"OLC2COOL failure",
872 "ONLINEDB_ERROR":
"Online DB error",
873 "ONL_DET_ERROR_SEVERE":
"Detector error",
874 "ONL_OLC2HLT_SEVERE":
"OLC2HLT error",
875 "ONL_ONLINEDB_ERROR":
"Online DB error",
876 "PERBCIDINFO_ABSENT":
"Missing per BCID info",
883 signOff[
"EXPR."] = [
'LUMI_UNCHECKED']
885 signOff[
"FINAL"] = []
888 if system ==
"LUCID":
889 partitions[
"color"] = {}
890 partitions[
"list"] =
list(partitions[
"color"].
keys())
892 defects0[
"prefix"] = [
"LCD"]
894 defects0[
"partIntol"] = []
895 defects0[
"partTol"] = []
897 defects0[
"globIntol"] = [
"DAQ_ERROR",
"DISABLED",
"GAS_CHANGING",
"HV_CHANGE",
"HV_RESET",
"LUMAT_ERROR",
"MAGNETS_RAMPING",
"MDA_FAIL"]
898 defects0[
"globTol"] = [
"LCD_HV_OFF",
"LCD_LEDBOARD_ERROR",
"LCD_LV_OFF"]
903 defectVeto[
"description"] = {
"DAQ_ERROR":
"DAQ error",
904 "DISABLED":
"Disabled",
905 "GAS_CHANGING":
"Gas changing",
906 "HV_CHANGE":
"HV change",
907 "HV_RESET":
"HV reset",
908 "LUMAT_ERROR":
"Lumat error",
909 "MAGNETS_RAMPING":
"Ramping magnets",
910 "MDA_FAIL":
"MDA fail"}
912 signOff[
"EXPR."] = [
"LCD_UNCHECKED"]
914 signOff[
"FINAL"] = []
918 partitions[
"color"] = {}
919 partitions[
"list"] =
list(partitions[
"color"].
keys())
921 defects0[
"prefix"] = [
"ALFA"]
923 defects0[
"partIntol"] = []
924 defects0[
"partTol"] = []
927 defects0[
"globIntol"] = [
"MISSING_TRIGGER",
"WRONG_POSITION",
"MISSING_PMF_5orMore"]
928 defects0[
"globTol"] = [
"MISSING_PMF_1to4"]
933 defectVeto[
"description"] = {
"MISSING_TRIGGER":
"Missing trigger",
934 "WRONG_POSITION":
"Wrong position",
935 "MISSING_PMF_5orMore":
"Missing PMF"}
937 signOff[
"EXPR."] = []
939 signOff[
"FINAL"] = []
943 partitions[
"color"] = {
'C':kYellow-9,
'A':kYellow,
'C_FAR':kOrange,
'C_NEAR':kOrange-3,
'A_FAR':kRed-3,
'A_NEAR':kBlue-3}
944 partitions[
"list"] = partitions[
"color"].
keys()
946 defects0[
"prefix"] = [
"AFP"]
949 defects0[
"partIntol"] = [
"TOF_NOT_OPERATIONAL_HV",
"TOF_NOT_OPERATIONAL_LV",
"TOF_WRONG_CABLING",
"TOF_WRONG_TIMING",
"TOF_TRIGGER_PROBLEM",
"SIT_NOT_OPERATIONAL_HV",
"SIT_NOT_OPERATIONAL_LV",
"SIT_NOT_OPERATIONAL",
"SIT_WRONG_TIMING",
"IN_GARAGE"]
950 defects0[
"partTol"] = []
953 defects0[
"globIntol"] = [
"WRONG_MAPPING",
"ERROR"]
954 defects0[
"globTol"] = []
959 defectVeto[
"description"] = {
"TOF_NOT_OPERATIONAL_HV":
"[ToF] Non-nominal HV",
960 "TOF_NOT_OPERATIONAL_LV":
"[ToF] Non-operational LV",
961 "TOF_WRONG_CABLING":
"[ToF] Wrong cabling",
962 "TOF_WRONG_TIMING":
"[ToF] Wrong timing",
963 "TOF_TRIGGER_PROBLEM":
"[ToF] Trigger problem",
964 "SIT_NOT_OPERATIONAL_HV":
"[SiT] < 3 planes at nominal HV",
965 "SIT_NOT_OPERATIONAL_LV":
"[SiT] < 3 planes available (LV)",
966 "SIT_NOT_OPERATIONAL":
"[SiT] < 3 SiT planes available",
967 "SIT_WRONG_TIMING":
"[SiT] Wrong timing",
968 "IN_GARAGE":
">= 1 RP in the garage or moving",
969 "WRONG_MAPPING":
"[ToF] Wrong mapping",
970 "ERROR":
"Unknown problem"}
972 signOff[
"EXPR."] = [
"AFP_UNCHECKED"]
973 signOff[
"BULK"] = [
"AFP_BULK_UNCHECKED"]
974 signOff[
"FINAL"] = []
979 partitions[
"color"] = {}
980 partitions[
"list"] =
list(partitions[
"color"].
keys())
982 defects0[
"prefix"] = [
"ALPHA"]
984 defects0[
"partIntol"] = []
985 defects0[
"partTol"] = []
988 defects0[
"globIntol"] = [
"SEVUNKNOWN"]
989 defects0[
"globTol"] = [
"ZDC_NONOPTIMALHV",
"ZDC_NONOPTIMALTIMING",
"ZDC_PERBCIDINFO_ABSENT",
"ZDC_UNKNOWN"]
994 defectVeto[
"description"] = {}
996 signOff[
"EXPR."] = []
998 signOff[
"FINAL"] = []
1001 if system ==
"Global":
1002 partitions[
"color"] = {}
1003 partitions[
"list"] =
list(partitions[
"color"].
keys())
1005 defects0[
"prefix"] = [
"GLOBAL"]
1007 defects0[
"partIntol"] = []
1008 defects0[
"partTol"] = []
1011 defects0[
"globIntol"] = [
"BUSY_GREATER50PCT",
"LOWMUCONFIG_IN_HIGHMU",
"OFFLINE_PROCESSING_PROBLEM",
"SOLENOID_OFF",
"SOLENOID_RAMPING",
"SOLENOID_NOTNOMINAL",
"TOROID_OFF",
"TOROID_NOTNOMINAL",
"TOROID_RAMPING",
"NOTCONSIDERED",
"LHC_HIGHBETA",
"NONSTANDARD_BC",
"LOW_N_BUNCHES"]
1012 defects0[
"globTol"] = []
1017 defectVeto[
"description"] = {
"BUSY_GREATER50PCT":
"Busy",
1018 "LOWMUCONFIG_IN_HIGHMU":
"Low mu config in high mu",
1019 "OFFLINE_PROCESSING_PROBLEM":
"Offline processing problem",
1020 "SOLENOID_OFF":
"Solenoid off",
1021 "SOLENOID_RAMPING":
"Solenoid ramping",
1022 "SOLENOID_NOTNOMINAL":
"Solenoid not nominal",
1023 "TOROID_OFF":
"Toroid off",
1024 "TOROID_NOTNOMINAL":
"Toroid not nominal",
1025 "TOROID_RAMPING":
"Toroid ramping",
1026 "NOTCONSIDERED":
"Not considered",
1027 "LHC_HIGHBETA":
"LHC: high beta*",
1028 "NONSTANDARD_BC":
"LHC: non standard BC",
1029 "LOW_N_BUNCHES":
"LHC: low nbunches"
1032 signOff[
"EXPR."] = []
1033 signOff[
"BULK"] = []
1034 signOff[
"FINAL"] = []
1039 defects0[
"globalFilterDefects"] = [
"GLOBAL_LHC_50NS",
"GLOBAL_LHC_NONSTANDARD_BC",
"GLOBAL_LHC_LOW_N_BUNCHES",
"GLOBAL_LHC_NOBUNCHTRAIN",
"GLOBAL_LHC_COMMISSIONING",
"GLOBAL_LHC_HIGHBETA",
"GLOBAL_LOWMUCONFIG_IN_HIGHMU",
"LUMI_VDM",
"GLOBAL_NOTCONSIDERED"]
1040 if system ==
"Global":
1041 for iDef
in defects0[
"globalFilterDefects"]:
1042 if iDef
not in defects0[
"globIntol"]:
1043 defects0[
"globIntol"].
append(iDef)
1044 defects0[
"globalFilterDefects"] = []
1046 defects0[
"part"] = defects0[
"partIntol"] + defects0[
"partTol"]
1047 defects0[
"glob"] = defects0[
"globIntol"] + defects0[
"globTol"]
1049 defects0[
"intol"] = defects0[
"globIntol"] + defects0[
"partIntol"]
1050 defects0[
"tol"] = defects0[
"globTol"] + defects0[
"partTol"]
1052 defects0[
"partIntol_recov"] = []
1053 defects0[
"globIntol_recov"] = []
1054 for idef
in defects0[
"partIntol"]:
1055 defects0[
"partIntol_recov"].
append(
"%s__recov"%idef)
1056 for idef
in defects0[
"globIntol"]:
1057 defects0[
"globIntol_recov"].
append(
"%s__recov"%idef)
1058 defects0[
"intol_recov"] = defects0[
"partIntol_recov"] + defects0[
"globIntol_recov"]
1061 for iDef
in defects0[
"intol"]+defects0[
"tol"]:
1062 if iDef
not in list(defectVeto[
"description"].
keys()):
1063 defectVeto[
"description"][iDef] = iDef
1066 defectVeto[
"color"] = {}
1068 for iDefectVeto
in list(defectVeto[
"description"].
keys()):
1070 colorPalette = [kBlue+3,kRed+1,kGreen-2,kOrange,kBlue-4,kMagenta+2,kYellow+1,kSpring-9,kAzure+6,kViolet-4,kPink,kBlue-9,kPink-6]
1071 if (os.path.exists(
"YearStats-%s/%s/%s/loss-%s.dat"%(system,year,tag,iDefectVeto)))
and iColor<len(colorPalette):
1072 defectVeto[
"color"][iDefectVeto] = colorPalette[iColor]
1075 defectVeto[
"color"][iDefectVeto] = kBlack
1077 if (system ==
"LAr"):
1078 defectVeto[
"color"][
"noiseBurst"] = kBlue-2
1079 defectVeto[
"color"][
"miniNoiseBurst"] = kMagenta+1
1080 defectVeto[
"color"][
"corruption"] = kAzure+9
1084 defectVeto[
"description"][
"allIntol"] =
"Dummy"
1085 defectVeto[
"description"][
"allIntol_recov"] =
"Dummy"
1086 defectVeto[
"color"][
"allIntol"] = kBlack
1087 defectVeto[
"color"][
"allIntol_recov"] = kBlack
1088 defectVeto[
"description"][
"allVeto"] =
"Dummy"
1089 defectVeto[
"color"][
"allVeto"] = kBlack