ATLAS Offline Software
Loading...
Searching...
No Matches
python.html.AtlRunQueryDQSummary Namespace Reference

Classes

class  DQSummary

Functions

 MapToSystem (defect)
 ComputeRunLumi (dic, run, lumiperlb)
 GetLBLumi (dic, run)
 GetLBLiveFraction (dic, run)
 GetLBReady (dic, run)
 MakePlot_SummaryLumiLoss (loss, colors, dicsum, name)
 MakePlot_PerRunLumiLoss (loss, colors, dicsum, name)
 MakePlot_DefectsPerSystem (sys, intolerable, tolerable, ignored, dic, run)
 SetXLabel (h, labels)
 SetYLabel (h, labels)
 listify (lbl)

Variables

 server = xmlrpc.client.ServerProxy('http://atlasdqm.cern.ch')
 datapath
 pageinfo = pickle.load(open('%s/dqsum_pi.pickle' % QC.datapath))
 doDQPickle

Function Documentation

◆ ComputeRunLumi()

python.html.AtlRunQueryDQSummary.ComputeRunLumi ( dic,
run,
lumiperlb )

Definition at line 54 of file AtlRunQueryDQSummary.py.

54def ComputeRunLumi(dic,run,lumiperlb):
55 # consider ATLAS ready only
56 total = 0.
57 for lbl in lumiperlb:
58 if lbl not in readylb:
59 continue
60 total += lumiperlb[lbl]
61 return total
62
63

◆ GetLBLiveFraction()

python.html.AtlRunQueryDQSummary.GetLBLiveFraction ( dic,
run )

Definition at line 94 of file AtlRunQueryDQSummary.py.

94def GetLBLiveFraction(dic,run):
95 livefraction = {}
96 #trigrate = dic[DataKey('TriggerRates')][run][0].value['L1_EM5']
97 triggerRates = dic[DataKey('TriggerRates')][run][0].value
98 if triggerRates != "No match":
99 try:
100 trigrate = triggerRates[livetrigger]
101 for item in trigrate:
102 (lb, tbp, tap, tav) = map(int, item)
103 livefraction[lb]= 0.
104 if tap != 0:
105 livefraction[lb] = float(tav)/tap
106 except KeyError:
107 print ("%s trigger not found - no live fraction computation" % livetrigger)
108 return livefraction
109
STL class.

◆ GetLBLumi()

python.html.AtlRunQueryDQSummary.GetLBLumi ( dic,
run )

Definition at line 64 of file AtlRunQueryDQSummary.py.

64def GetLBLumi(dic,run):
65 global lumifolder
66
67 lumifolder = ''
68 lumiperlb = {}
69 for k,v in dic.items():
70 if 'ofllumi' not in k.ResultKey:
71 continue
72 lumifolder = k.ResultKey
73 if lumifolder == '':
74 return lumiperlb
75
76 lbdic = dic[DataKey(lumifolder)][run]
77 lbtime = dic[DataKey('#LB')][run][1]
78
79 for i,item in enumerate(lbdic):
80 for lb in range(int(item.startlb),int(item.endlb)):
81 lumiperlb[lb] = 0.
82 if item.value == "n.a.":
83 continue
84 if (lbtime[lb]-lbtime[lb-1])<0:
85 continue
86 # change unit (pb/nb)
87 scale = 0.001
88 if usenb:
89 scale = 1.
90 lumiperlb[lb] = float(item.value)*(lbtime[lb]-lbtime[lb-1])*0.001*scale # output in nb-1/pb-1
91 #print ("DEBUG",run,lb,float(item.value),lbtime[lb]-lbtime[lb-1])
92 return lumiperlb
93

◆ GetLBReady()

python.html.AtlRunQueryDQSummary.GetLBReady ( dic,
run )

Definition at line 110 of file AtlRunQueryDQSummary.py.

110def GetLBReady(dic,run):
111 rlb = []
112 for b in dic[DataKey('Ready for physics')][run]:
113 for lb in range(b.startlb,b.endlb):
114 if b.value == "1" :
115 rlb.append(lb)
116 return rlb
117
118

◆ listify()

python.html.AtlRunQueryDQSummary.listify ( lbl)

Definition at line 518 of file AtlRunQueryDQSummary.py.

518def listify(lbl): # compactify lb lists
519 if len(lbl) == 0 :
520 return ''
521 i = 0
522 newlist=[]
523 while i < len(lbl):
524 start=lbl[i]
525 j=i
526 while(j+1<len(lbl) and lbl[j+1]==lbl[j]+1):
527 j+=1
528 end=lbl[j]
529 i=j+1
530 if start==end:
531 newlist.append(start)
532 else:
533 newlist.append(str(start)+'-'+str(end))
534 return ", ".join([str(x) for x in newlist])
while((inf=(TStreamerInfo *) nextinfo()) !=0)

◆ MakePlot_DefectsPerSystem()

python.html.AtlRunQueryDQSummary.MakePlot_DefectsPerSystem ( sys,
intolerable,
tolerable,
ignored,
dic,
run )

Definition at line 358 of file AtlRunQueryDQSummary.py.

358def MakePlot_DefectsPerSystem(sys,intolerable,tolerable,ignored,dic,run):
359
360 from CoolRunQuery.AtlRunQueryQueryConfig import QC
361
362 hname = ['','','']
363 h2_DefectVsLB = ['','','','']
364
365
366 SetStyle()
367 gStyle.SetTitleX(0.5)
368 gStyle.SetTitleAlign(23)
369
370 lbrange = readylb[-1]-readylb[0] # can be disconnected !
371 #print (run,len(readylb),lbrange)
372
373
374 if len(intolerable) > 0 :
375 #TCol = TColor.GetColor( "#5D6B7D")
376 TCol = TColor.GetColor( "#0f3a60")
377 hname[0]= "%s_Intolerable_Run%s"%(sys,str(dic[DataKey('Run')][run]))
378 htitle = "%s - Intolerable defects - Run %s"%(sys,str(dic[DataKey('Run')][run]))
379 h2_DefectVsLB[0] = TH2F("h2_defectVsLB_%s"%hname[0],htitle,
380 lbrange,readylb[0]-0.5,readylb[-1]+0.5,
381 len(intolerable),0.,len(intolerable))
382 h2_DefectVsLB[0].SetFillColor(TCol)
383 h2_DefectVsLB[0].GetXaxis().SetTitle("Lumiblocks with ATLAS Ready")
384 SetYLabel(h2_DefectVsLB[0],[defect for defect in intolerable])
385 h2_DefectVsLB[0].LabelsOption("a","Y") # order Y label by alphabetical order
386
387 # Text to store lumi loss number
388 ttext = {}
389 # Fill & Compute lumi losses
390 for i,item in enumerate(intolerable):
391 ibiny = h2_DefectVsLB[0].GetYaxis().FindBin(item)
392 binxmax = h2_DefectVsLB[0].GetXaxis().GetXmax()
393 frac = 100*float(len(intolerable[item]))/float(len(readylb))
394 if frac> 0.:
395 ttext[item] = TText(binxmax,ibiny-0.8," %.2f %%"%frac)
396 else:
397 ttext[item] = TText(binxmax,ibiny-0.8,"")
398 ttext[item].SetTextSize(0.03)
399 ttext[item].SetTextColor(TCol)
400 for lb in intolerable[item]:
401 if lb not in readylb:
402 continue
403 ibinx = h2_DefectVsLB[0].GetXaxis().FindBin(lb)
404 h2_DefectVsLB[0].SetBinContent(ibinx,ibiny,1.)
405
406 # create png
407 canvas = TCanvas( 'c_Int',"Systems Defects - %s"%hname[0], 200, 10, 1000, 800)
408 canvas.Divide(1,1)
409 canvas.cd(1)
410 gPad.SetLeftMargin(0.40)
411 gPad.SetRightMargin(0.1)
412 h2_DefectVsLB[0].Draw("BOX")
413 for item in intolerable:
414 ttext[item].Draw()
415 canvas.Update()
416 hname[0] = QC.datapath+"/"+hname[0]+".png"
417 canvas.Print(hname[0])
418
419
420 if len(tolerable) > 0 :
421
422 all = {**tolerable, **intolerable, **ignored}
423
424 TCol1 = TColor.GetColor("#0f3a60")
425 TCol2 = TColor.GetColor("#a3c0d9")
426 TCol3 = TColor.GetColor("#4681b3")
427 #TCol1 = TColor.GetColor("#015669")
428 #TCol2 = TColor.GetColor("#5cbad0")
429 #TCol3 = TColor.GetColor("#258aa1")
430 hname[1]= "%s_All_Run%s"%(sys,str(dic[DataKey('Run')][run]))
431 htitle = "%s - All defects - Run %s"%(sys,str(dic[DataKey('Run')][run]))
432
433 # intolerable
434 h2_DefectVsLB[1] = TH2F("h2_defectVsLB_int_%s"%hname[1],htitle,
435 lbrange,readylb[0]-0.5,readylb[-1]+0.5,
436 len(all),0.,len(all))
437 # tolerable
438 h2_DefectVsLB[2] = TH2F("h2_defectVsLB_tol_%s"%hname[1],htitle,
439 lbrange,readylb[0]-0.5,readylb[-1]+0.5,
440 len(all),0.,len(all))
441
442 # ignored
443 h2_DefectVsLB[3] = TH2F("h2_defectVsLB_ign_%s"%hname[1],htitle,
444 lbrange,readylb[0]-0.5,readylb[-1]+0.5,
445 len(all),0.,len(all))
446
447 h2_DefectVsLB[1].SetFillColor(TCol1)
448 h2_DefectVsLB[2].SetFillColor(TCol2)
449 h2_DefectVsLB[3].SetFillColor(TCol3)
450 #h2_DefectVsLB[3].SetFillStyle(3004) # not a great idea for single LBs
451 h2_DefectVsLB[1].GetXaxis().SetTitle("Lumiblocks with ATLAS Ready")
452 h2_DefectVsLB[2].GetXaxis().SetTitle("Lumiblocks with ATLAS Ready")
453 h2_DefectVsLB[3].GetXaxis().SetTitle("Lumiblocks with ATLAS Ready")
454 SetYLabel(h2_DefectVsLB[1],[defect for defect in all])
455 SetYLabel(h2_DefectVsLB[2],[defect for defect in all])
456 SetYLabel(h2_DefectVsLB[3],[defect for defect in all])
457 h2_DefectVsLB[1].LabelsOption("a","Y") # order Y label by alphabetical order
458 h2_DefectVsLB[2].LabelsOption("a","Y") # order Y label by alphabetical order
459 h2_DefectVsLB[3].LabelsOption("a","Y") # order Y label by alphabetical order
460
461 # Text to store lumi loss number
462 ttext = {}
463
464 # Fill
465 for i,item in enumerate(all):
466 ibiny = h2_DefectVsLB[1].GetYaxis().FindBin(item)
467 binxmax = h2_DefectVsLB[1].GetXaxis().GetXmax()
468 frac = 100*float(len(all[item]))/float(len(readylb))
469 if frac >0.:
470 ttext[item] = TText(binxmax,ibiny-0.8," %.2f %%"%frac)
471 else:
472 ttext[item] = TText(binxmax,ibiny-0.8,"")
473 ttext[item].SetTextSize(0.03)
474 if item in intolerable:
475 ttext[item].SetTextColor(TCol1)
476 if item in tolerable:
477 ttext[item].SetTextColor(TCol2)
478 if item in ignored:
479 ttext[item].SetTextColor(TCol3)
480 for lb in all[item]:
481 ibinx = h2_DefectVsLB[1].GetXaxis().FindBin(lb)
482 if item in intolerable:
483 h2_DefectVsLB[1].SetBinContent(ibinx,ibiny,1.)
484 if item in tolerable:
485 h2_DefectVsLB[2].SetBinContent(ibinx,ibiny,1.)
486 if item in ignored:
487 h2_DefectVsLB[3].SetBinContent(ibinx,ibiny,1.)
488
489 # create png
490 canvas = TCanvas( 'c_Tol',"Systems Defects - %s"%hname[1], 200, 10, 1000, 800)
491 canvas.Divide(1,1)
492 canvas.cd(1)
493 gPad.SetLeftMargin(0.40)
494 gPad.SetRightMargin(0.1)
495 h2_DefectVsLB[2].Draw("BOX")
496 h2_DefectVsLB[3].Draw("BOXSAME")
497 h2_DefectVsLB[1].Draw("BOXSAME")
498
499 for item in all:
500 ttext[item].Draw()
501 canvas.Update()
502 hname[1] = QC.datapath+"/"+hname[1]+".png"
503 canvas.Print(hname[1])
504
505 return hname
506

◆ MakePlot_PerRunLumiLoss()

python.html.AtlRunQueryDQSummary.MakePlot_PerRunLumiLoss ( loss,
colors,
dicsum,
name )

Definition at line 222 of file AtlRunQueryDQSummary.py.

222def MakePlot_PerRunLumiLoss(loss,colors,dicsum,name):
223
224
225 runs = []
226 for r in loss['_TOTAL']:
227 if loss['_TOTAL'][r]>0. :
228 runs.append(r)
229 #if len(runs) == 0 : return
230 empty = False
231 if len(runs) == 0 :
232 empty = True
233 runs.append("-")
234 runs.sort()
235
236
237 TotalLumi = dicsum[DataKey('TotalLumi')][0]
238
239
240 SetStyle()
241 gStyle.SetTitleX(0.5)
242 gStyle.SetTitleAlign(23)
243
244
245 h_stack = THStack("hs_PerRun","Luminosity Loss during ATLAS Ready [%s]"%unit)
246
247
248 x0=0.17
249 y0=0.62
250 nsplits = 4
251 dx = 0.2
252 dy = 0.05
253 leg = TLegend(x0,y0,x0+dx,y0+nsplits*dy)
254 nhists = 0
255
256
257 SHIFT = 0.1
258 WIDTH = 0.4
259
260
261 h1_total = TH1F("h1_total","",len(runs),-0.5,len(runs)-0.5)
262 h1_total.SetMinimum(0.)
263 h1_total.SetFillColor(colors['_TOTAL'])
264 h1_total.SetFillStyle(3244)
265 h1_total.SetBarWidth(WIDTH)
266 h1_total.SetBarOffset(SHIFT+WIDTH)
267
268 for r,run in enumerate(runs):
269 if run != "-" and loss['_TOTAL'][run] > 0:
270 h1_total.Fill(r,loss['_TOTAL'][run])
271 nhists +=1
272 leg.AddEntry(h1_total,'TOTAL',"f")
273
274
275 h1_lumi = {}
276 for i,sys in enumerate(loss):
277
278 if sys == '_TOTAL':
279 continue
280
281 h1_lumi[sys] = TH1F("h1_lumi_%s"%sys,"",len(runs),-0.5,len(runs)-0.5)
282 h1_lumi[sys].SetMinimum(0.)
283 h1_lumi[sys].SetFillColor(colors[sys])
284 h1_lumi[sys].SetBarWidth(WIDTH)
285 h1_lumi[sys].SetBarOffset(SHIFT)
286 for r,run in enumerate(runs):
287 if run != "-" and loss[sys][run]> 0.:
288 h1_lumi[sys].Fill(r,loss[sys][run])
289
290
291 for sys in h1_lumi:
292 if h1_lumi[sys].GetEntries() > 0:
293 h_stack.Add(h1_lumi[sys])
294 leg.AddEntry(h1_lumi[sys],sys,"f")
295 nhists +=1
296
297
298 hmax = h_stack.GetMaximum()*1.6
299
300
301 if len(runs) == 1:
302 if runs[0] == "-":
303 t1 = " Run [-]"
304 else:
305 t1 = " Run [%i]"%runs[0]
306 else:
307 t1 = " Runs [%i-%i]"%(runs[0],runs[-1])
308
309 t2 = "ATLAS Ready Lumi: %.2f %s"%(TotalLumi,unit)
310 h1_frame = TH1F("h1_frame_runs","#splitline{%s}{%s}"%(t1,t2),len(runs),-0.5,len(runs)-0.5)
311 SetXLabel(h1_frame,runs)
312 h1_frame.SetLabelSize(0.06,"X")
313 h1_frame.SetMinimum(0.)
314 h1_frame.GetYaxis().SetTitle("Luminosity Loss during ATLAS Ready [%s]"%unit)
315 h1_frame.GetYaxis().SetTitleOffset(1.3)
316
317
318 canvas = TCanvas( 'c_PerRunLumiLoss',"Luminosity Losses Per Run", 200, 10, 600, 700)
319 canvas.Divide(1,1)
320 canvas.cd(1)
321 gPad.SetTopMargin(0.15)
322 h1_frame.SetMaximum(hmax)
323 h_stack.SetMaximum(hmax)
324 #h_total.SetBarOffset((shift)
325
326 h1_frame.Draw("")
327 h_stack.Draw("BARsame")
328 h1_total.Draw("BARsame")
329 ncolumns = int(math.ceil(float(nhists)/float(nsplits)))
330 leg.SetNColumns(ncolumns)
331 leg.Paint() # Draw once to access coordinates
332 leg.SetX2NDC(leg.GetX1NDC()+ncolumns*dx) # Modify legend size w.r.t number of columns
333 nrows = leg.GetNRows()
334 leg.SetY2NDC(leg.GetY1NDC()+nrows*dy) # Modify legend size w.r.t number of rows
335 if not empty:
336 leg.Draw() # Draw again
337
338 subtitle = TText(len(runs)-0.35,0.,name)
339 subtitle.SetTextSize(0.03)
340 subtitle.SetTextAngle(90)
341 subtitle.SetTextColor(kGray+1)
342 subtitle.Draw()
343 if empty:
344 bgtext = TText(0.0,0.5,"No Luminosity Losses")
345 bgtext.SetTextAlign(22)
346 bgtext.SetTextColor(kRed)
347 bgtext.SetTextFont(43)
348 bgtext.SetTextSize(40)
349 bgtext.SetTextAngle(45)
350 bgtext.Draw()
351
352 canvas.Update()
353 from CoolRunQuery.AtlRunQueryQueryConfig import QC
354 pname = QC.datapath+'/'+name+'_lumiloss_perrun.png'
355 canvas.Print(pname)
356 return pname
357
TGraphErrors * GetEntries(TH2F *histo)

◆ MakePlot_SummaryLumiLoss()

python.html.AtlRunQueryDQSummary.MakePlot_SummaryLumiLoss ( loss,
colors,
dicsum,
name )

Definition at line 120 of file AtlRunQueryDQSummary.py.

120def MakePlot_SummaryLumiLoss(loss,colors,dicsum,name):
121
122 SetStyle()
123 gStyle.SetTitleX(0.5)
124 gStyle.SetTitleAlign(23)
125
126
127 TotalLumi = dicsum[DataKey('TotalLumi')][0]
128
129
130 xlabels = [s for s in loss]
131
132
133 runs = [item for item in loss[xlabels[0]]]
134 runs.sort()
135
136
137 lumi = {}
138 max = 0.
139 for sys in loss:
140 lumi[sys] = 0.
141 for r in runs:
142 lumi[sys] += loss[sys][r]
143 if lumi[sys] > max:
144 max=lumi[sys]
145 max = max*1.5
146
147 # if no entry, print no plot
148 empty = False
149 if max == 0.:
150 empty = True
151 max = 1.
152
153
154
155 t1 = " Runs [%i-%i]"%(runs[0],runs[-1])
156 if len(runs) == 1:
157 t1 = " Run [%i]"%runs[0]
158 t2 = "ATLAS Ready Lumi: %.2f %s"%(TotalLumi,unit)
159 h1_frame = TH1F("h1_frame","#splitline{%s}{%s}"%(t1,t2),len(loss),-0.5,len(loss)-0.5)
160 SetXLabel(h1_frame,xlabels)
161 h1_frame.SetMinimum(0.)
162 h1_frame.SetMaximum(max)
163 h1_frame.SetTickLength(0.,"X")
164 h1_frame.GetYaxis().SetTitle("Luminosity Loss during ATLAS Ready [%s]"%unit)
165 h1_frame.LabelsOption("a","X") # order X label by alphabetical order
166
167
168 h1_lumi = []
169 text_lumi = []
170 for sys in loss:
171 h1_lumi.append(TH1F("h1_lumi_%s"%sys,"",len(loss),-0.5,len(loss)-0.5))
172 SetXLabel(h1_lumi[-1],xlabels)
173 h1_lumi[-1].LabelsOption("a","X") # order X label by alphabetical order
174 h1_lumi[-1].SetBarWidth(0.90)
175 h1_lumi[-1].SetTickLength(0.,"X")
176 h1_lumi[-1].SetMinimum(0.)
177 h1_lumi[-1].SetMaximum(max)
178 h1_lumi[-1].SetFillColor(colors[sys])
179 if sys == '_TOTAL':
180 h1_lumi[-1].SetFillStyle(3244)
181 ibin = h1_lumi[-1].GetXaxis().FindBin(sys)
182 #print (sys,ibin,colors[sys],lumi[sys]/TotalLumi,h1_lumi[-1].GetName())
183 h1_lumi[-1].SetBinContent(ibin,lumi[sys])
184 if lumi[sys] > 0. :
185 text_lumi.append(TText(lumi[sys]*1.1,ibin-1,"%.2f %%"%(100*lumi[sys]/TotalLumi)))
186 else:
187 text_lumi.append(TText(lumi[sys]*1.1,ibin-1,""))
188
189
190
191 canvas = TCanvas( 'c_SummaryLumiLoss',"Summary Lumi Losses", 200, 10, 600, 700)
192 canvas.Divide(1,1)
193 canvas.cd(1)
194 gPad.SetTopMargin(0.15)
195 h1_frame.Draw("HBAR")
196 subtitle = TText(max,0.,name)
197 subtitle.SetTextSize(0.03)
198 subtitle.SetTextAngle(90)
199 subtitle.SetTextColor(kGray+1)
200 subtitle.Draw()
201 if empty:
202 bgtext = TText(0.5,round(len(loss)/2)-0.5,"No Luminosity Losses")
203 bgtext.SetTextAlign(22)
204 bgtext.SetTextColor(kRed)
205 bgtext.SetTextFont(43)
206 bgtext.SetTextSize(40)
207 bgtext.SetTextAngle(45)
208 bgtext.Draw()
209
210 for i,h in enumerate(h1_lumi):
211 text_lumi[i].SetTextAlign(12) # Vertical align
212 text_lumi[i].SetTextSize(0.04) # Text Size
213 if not empty:
214 h.Draw("HBAR SAME")
215 text_lumi[i].Draw()
216 canvas.Update()
217 from CoolRunQuery.AtlRunQueryQueryConfig import QC
218 pname = QC.datapath+'/'+name+'_lumiloss.png'
219 canvas.Print(pname)
220 return pname
221

◆ MapToSystem()

python.html.AtlRunQueryDQSummary.MapToSystem ( defect)

Definition at line 32 of file AtlRunQueryDQSummary.py.

32def MapToSystem(defect):
33
34 # Store detectors/cp per "family" for readability
35 global_systems_map = {'LAR':'Calo','TILE':'Calo','CALO':'Calo',
36 'TAU':'Calo','EGAMMA':'Calo','JET':'Calo','MET':'Calo',
37 'ALFA':'Trigger & Lumi','LCD':'Trigger & Lumi',
38 'ZDC':'Trigger & Lumi','BCM':'Trigger & Lumi',
39 'LUMI':'Trigger & Lumi','TRIG':'Trigger & Lumi',
40 'GLOBAL':'Trigger & Lumi',
41 'MS_CSC':'Muon','MS_RPC':'Muon','MS_TGC':'Muon','MS_MDT':'Muon',
42 'MS':'Muon','MBTS':'Muon','MCP':'Muon',
43 'PIXEL':'Tracking','SCT':'Tracking','TRT':'Tracking',
44 'ID':'Tracking','BTAG':'Tracking'}
45 words = defect.split('_')
46 for w in words:
47 for item in global_systems_map:
48 if w in item:
49 return global_systems_map[item]
50 return ' '
51

◆ SetXLabel()

python.html.AtlRunQueryDQSummary.SetXLabel ( h,
labels )

Definition at line 508 of file AtlRunQueryDQSummary.py.

508def SetXLabel(h,labels):
509 for i in range(len(labels)):
510 h.GetXaxis().SetBinLabel(i+1,str(labels[i]))
511 return
512

◆ SetYLabel()

python.html.AtlRunQueryDQSummary.SetYLabel ( h,
labels )

Definition at line 513 of file AtlRunQueryDQSummary.py.

513def SetYLabel(h,labels):
514 for i in range(len(labels)):
515 h.GetYaxis().SetBinLabel(i+1,str(labels[i]))
516 return
517

Variable Documentation

◆ datapath

python.html.AtlRunQueryDQSummary.datapath

Definition at line 1191 of file AtlRunQueryDQSummary.py.

◆ doDQPickle

python.html.AtlRunQueryDQSummary.doDQPickle

Definition at line 1196 of file AtlRunQueryDQSummary.py.

◆ pageinfo

python.html.AtlRunQueryDQSummary.pageinfo = pickle.load(open('%s/dqsum_pi.pickle' % QC.datapath))

Definition at line 1193 of file AtlRunQueryDQSummary.py.

◆ server

python.html.AtlRunQueryDQSummary.server = xmlrpc.client.ServerProxy('http://atlasdqm.cern.ch')

Definition at line 21 of file AtlRunQueryDQSummary.py.