|
def | _makeResultsTable (cls, pageinfo) |
|
def | _defineToolTips (cls, pageinfo, globalOnly=False) |
|
def | _makeBottomTable (cls, pageinfo) |
|
def | _makeDQeff (cls, pageinfo) |
|
def | _makeYellowLine (cls, pageinfo) |
|
def | _makeSelectionSteps (cls, pageinfo) |
|
def | _prettyNumber (cls, n, width=-1, delim=',', decimal='.') |
|
def | _OverallSummary (cls, pageinfo) |
|
def | _DQSummaryWrap (cls, pageinfo, doPickle=True) |
|
def | _InitialSummary (cls, pageinfo) |
|
def | _PickledOutput (cls, datapath) |
|
def | _RootOutput (cls, roothtmlstr, datapath) |
|
def | _Description (cls) |
|
def | _PrintFormat (cls, s_table, resstr) |
|
def | _XMLFormat (cls, datapath, xmlfilename, xmlhtmlstr) |
|
Definition at line 25 of file AtlRunQueryHTML.py.
◆ _defineToolTips()
def python.html.AtlRunQueryHTML.ResultPageMaker._defineToolTips |
( |
|
cls, |
|
|
|
pageinfo, |
|
|
|
globalOnly = False |
|
) |
| |
|
private |
Definition at line 109 of file AtlRunQueryHTML.py.
109 def _defineToolTips( cls, pageinfo, globalOnly=False ):
113 setattr (PI, x, pageinfo[x])
116 with timer(
"print the tooltips"):
117 dw_call = [
'<script type="text/javascript">']
118 dw_call += [
"if(dw_Tooltip.content_vars==undefined) {dw_Tooltip.content_vars = {}; };"]
119 dw_call += Run.GlobalTooltips
122 dw_call += r.tooltips
123 dw_call += [
'</script>']
125 tooltips += ttip +
'\n'
◆ _Description()
def python.html.AtlRunQueryHTML.ResultPageMaker._Description |
( |
|
cls | ) |
|
|
private |
Definition at line 364 of file AtlRunQueryHTML.py.
364 def _Description(cls):
365 return '''<tr style="line-height: 6.5"><td colspan="2"></td></tr>
366 <tr><td style="vertical-align: top"><img vspace=0 src="images/info.gif"> </td><td height="55"><i>n.a.</i>
367 in the table stands for <i>not available</i>:<br> −
368 in case of <i>#Events</i> this mostly indicates unproperly closed runs<br> −
369 in case of <i>data quality flags</i> it indicates that the corresponding flag was not set<br> −
370 <i><font color="red">runs in red</font></i> indicate that their selection is questionable due to n.a. information
371 (n.a. fields pass the corresponding selection query)
◆ _DQSummaryWrap()
def python.html.AtlRunQueryHTML.ResultPageMaker._DQSummaryWrap |
( |
|
cls, |
|
|
|
pageinfo, |
|
|
|
doPickle = True |
|
) |
| |
|
private |
Definition at line 259 of file AtlRunQueryHTML.py.
259 def _DQSummaryWrap( cls, pageinfo, doPickle=True ):
260 from CoolRunQuery.utils.AtlRunQueryUtils
import runsOnServer
263 from CoolRunQuery.AtlRunQueryQueryConfig
import QC
264 with open(
'%s/dqsum_pi.pickle' % QC.datapath,
"wb")
as fh:
265 pickle.dump(pageinfo, fh)
270 setattr (PI, x, pageinfo[x])
272 with timer(
"make the DQ summary"):
273 from CoolRunQuery.html.AtlRunQueryDQSummary
import DQSummary
274 dqsummary = DQSummary.makeHTML( PI.dic, PI.dicsum, doDQSummary=PI.makeDQSummary, doDQPlots=PI.makeDQPlots, dqsumGRL=PI.dqsumgrl, dbbTag=PI.dbbtag)
278 s =
'''<table width="95%" cellpadding="5" style="margin-left: 13px">
279 <tr><td colspan=2 bgcolor=gainsboro><font size=+1><b>Data Quality Summary</b></font></td></tr>
◆ _InitialSummary()
def python.html.AtlRunQueryHTML.ResultPageMaker._InitialSummary |
( |
|
cls, |
|
|
|
pageinfo |
|
) |
| |
|
private |
Definition at line 288 of file AtlRunQueryHTML.py.
288 def _InitialSummary(cls, pageinfo):
292 setattr (PI, x, pageinfo[x])
295 totEv,naEv = Run.totevents[0:2]
296 s_table =
'''<table width="95%" cellpadding="5" style="margin-left: 13px">
297 <tr><td colspan=2 bgcolor=gainsboro><font size=+1><b>Search Result</b></font></td></tr>
299 s_table +=
'<table width="95%" cellpadding="0" cellspacing="3" style="font-size: 90%; margin-left: 13px">\n'
300 s_table +=
'<tr height="10"></tr>\n'
301 s_table +=
'<tr><td height="10" width="130" style="vertical-align:top"><i>Selection rule:</i></td><td width=10></td><td valign=top>%s</td></tr>\n' % PI.origQuery
302 if 'erbose' in PI.fullQuery:
303 s_table +=
'<tr><td height="10" style="vertical-align: top; color: #777777"><i>Query command:</i></td><td width=10 style="color: #777777"></td><td style="color: #777777">'
304 s_table +=
"""<a href="javascript:animatedcollapse.toggle('AtlRunQueryCmd')">"""
305 s_table +=
'<font color="#777777">[ Click to expand/collapse command... ]</font></a>'
306 s_table +=
'<div id="AtlRunQueryCmd" style="width: 100%; background: #FFFFFF; color: #777777; display:none">'
307 s_table +=
'%s' % (PI.fullQuery)
308 s_table +=
'</div></td></tr>\n'
309 s_table +=
'<tr><td height="10" style="vertical-align: top; color: #777777"><i>Selection sequence:</i></td><td width=10 style="color: #777777"></td><td style="vertical-align: top">%s</td></tr>\n' % (PI.selstr)
311 s_table +=
'<tr><td height="10" style="vertical-align: top"><i>No. of runs selected:</i></td><td></td><td valign="top">%s</td></tr>\n' % len(PI.runlist)
318 s_table +=
'<tr><td height="10" valign="top"><i>Total no. of events:</i></td><td></td><td valign="top">%s</td></tr>\n' % (cls._prettyNumber(totEv))
320 s_table +=
'<tr><td height="10" valign="top"><i>Total no. of events:</i></td><td></td><td valign="top">%s (excluding %i %s without available "#Events" information)</td></tr>\n' % (cls._prettyNumber(totEv), naEv, sr)
322 s_table +=
'<tr><td height="10" valign="top"><i>Total no. of events:</i></td><td></td><td valign="top">%s</td></tr>\n' % (cls._prettyNumber(totEv))
323 s_table +=
'<tr><td height="10" valign="top"><i>Execution time:</i></td><td></td><td valign="top">%.1f sec</td></tr>\n' %
round(PI.querytime,1)
324 s_table +=
'<tr><td height=5 valign=top></td></tr>\n'
325 s_table +=
'</table>'
◆ _makeBottomTable()
def python.html.AtlRunQueryHTML.ResultPageMaker._makeBottomTable |
( |
|
cls, |
|
|
|
pageinfo |
|
) |
| |
|
private |
Definition at line 132 of file AtlRunQueryHTML.py.
132 def _makeBottomTable( cls, pageinfo ):
136 setattr (PI, x, pageinfo[x])
138 bottomTable =
'<table cellspacing="0" style="color: #777777; font-size: 80%; margin-left: 13px">\n'
139 bottomTable +=
'<tr>\n<td valign="top">\n'
140 bottomTable += cls._Description()
141 bottomTable +=
'<tr><td colspan="2"><p><hr style="width:40%; color:#999999; background-color: #999999; height:1px; margin-left:0; border:0"/>\n<p>\n</td></tr>'
144 bottomTable += cls._XMLFormat(PI.datapath, PI.xmlfilename, PI.xmlhtmlstr)
147 bottomTable += cls._PickledOutput(PI.datapath)
150 bottomTable += cls._RootOutput(PI.roothtmlstr, PI.datapath)
153 bottomTable +=
'<tr><td colspan="2"><p>\n<p>\n</td></tr>'
154 bottomTable +=
'</table>'
◆ _makeDQeff()
def python.html.AtlRunQueryHTML.ResultPageMaker._makeDQeff |
( |
|
cls, |
|
|
|
pageinfo |
|
) |
| |
|
private |
Definition at line 160 of file AtlRunQueryHTML.py.
160 def _makeDQeff( cls, pageinfo ):
163 for x
in [
"dicsum",
"dic",
"datapath",
"makeDQeff"]:
164 setattr (PI, x, pageinfo[x])
166 if PI.dicsum
and PI.makeDQeff:
167 with timer(
"make the DQ efficiency summary"):
168 from CoolRunQuery.utils.AtlRunQueryDQUtils
import MakeDQeffHtml
◆ _makeResultsTable()
def python.html.AtlRunQueryHTML.ResultPageMaker._makeResultsTable |
( |
|
cls, |
|
|
|
pageinfo |
|
) |
| |
|
private |
Definition at line 82 of file AtlRunQueryHTML.py.
82 def _makeResultsTable( cls, pageinfo ):
86 setattr (PI, x, pageinfo[x])
89 resultstable =
'<table class="resulttable" id="resulttable" style="margin-left: 13px">\n'
92 resultstable += Run.header()
95 with timer(
"print the runs"):
97 with timer(
"print run %i" % r.runNr):
98 resultstable +=
str(r)
101 headlist = Run.headerkeys()
102 resultstable +=
" <tr class=\"space\"><td style=\"text-align: left;\" colspan=\"%i\"><font size=-2><i>Summary</i>:</font></td></tr>\n" % (len(headlist)-1)
103 resultstable +=
" <tr class=\"sum\">" + PI.sumstr +
"</tr>\n"
104 resultstable +=
"</table>\n"
◆ _makeSelectionSteps()
def python.html.AtlRunQueryHTML.ResultPageMaker._makeSelectionSteps |
( |
|
cls, |
|
|
|
pageinfo |
|
) |
| |
|
private |
Definition at line 200 of file AtlRunQueryHTML.py.
200 def _makeSelectionSteps( cls, pageinfo ):
204 setattr (PI, x, pageinfo[x])
206 selstr =
'<table style="color: #777777; font-size: 100%" cellpadding="0" cellspacing="0">'
207 for sel
in PI.selout:
208 if 'SELOUT' == sel[0:6]:
209 selout = sel[7:].
split(
'==>')
211 selstr +=
'<tr><td width="400" style="vertical-align:top">%s</td></tr>' % selout[0]
213 selstr +=
'<tr><td width="400" style="vertical-align:top">%s</td><td width="20" style="vertical-align:top">:</td><td style="vertical-align:top">%s</td></tr>' % tuple(selout[0:2])
◆ _makeYellowLine()
def python.html.AtlRunQueryHTML.ResultPageMaker._makeYellowLine |
( |
|
cls, |
|
|
|
pageinfo |
|
) |
| |
|
private |
Definition at line 175 of file AtlRunQueryHTML.py.
175 def _makeYellowLine( cls, pageinfo ):
179 setattr (PI, x, pageinfo[x])
181 with timer(
"make the yellow summary line"):
183 for key, summary
in PI.dicsum.items():
184 if key.Type == DataKey.STREAM:
190 sumdic[key.ResultKey] = s.strip()
192 headlist = Run.headerkeys()
193 for title
in headlist:
194 sumstr +=
'<td style="text-align:right;">%s</td>' % (sumdic[title]
if title
in sumdic
else '')
◆ _OverallSummary()
def python.html.AtlRunQueryHTML.ResultPageMaker._OverallSummary |
( |
|
cls, |
|
|
|
pageinfo |
|
) |
| |
|
private |
Definition at line 238 of file AtlRunQueryHTML.py.
238 def _OverallSummary( cls, pageinfo ):
242 setattr (PI, x, pageinfo[x])
244 with timer(
"make the summary"):
245 from CoolRunQuery.html.AtlRunQuerySummary
import MakeSummaryHtml
247 if overallsummarystr ==
'':
249 s =
'''<table width="95%" cellpadding="5" style="margin-left: 13px">
250 <tr><td colspan=2 bgcolor=gainsboro><font size=+1><b>Search Result Summary</b></font></td></tr>
253 s += overallsummarystr
◆ _PickledOutput()
def python.html.AtlRunQueryHTML.ResultPageMaker._PickledOutput |
( |
|
cls, |
|
|
|
datapath |
|
) |
| |
|
private |
Definition at line 330 of file AtlRunQueryHTML.py.
330 def _PickledOutput(cls, datapath):
331 return '''<tr><td style="vertical-align: top"><img vspace=0 src="images/download.gif"> </td><td>
332 <a href="./%s/atlrunquery.pickle" target=_blank title="Query results as serialised python dictionary">
333 Result table as pickled <b>python dictionary</b> (right-click link to download)</a>
336 −
337 open file (f) in python and deserialise ("unpickle")
338 via: dico = pickle.load(f)<br> − the dictionary keys are equal to the column titles,
339 the lines are stored as list entries for each key
340 </td></tr>''' % datapath
◆ _prettyNumber()
def python.html.AtlRunQueryHTML.ResultPageMaker._prettyNumber |
( |
|
cls, |
|
|
|
n, |
|
|
|
width = -1 , |
|
|
|
delim = ',' , |
|
|
|
decimal = '.' |
|
) |
| |
|
private |
Converts a float to a string with appropriately placed commas
Definition at line 221 of file AtlRunQueryHTML.py.
221 def _prettyNumber( cls, n, width=-1, delim=',',decimal='.' ):
222 """Converts a float to a string with appropriately placed commas"""
224 s =
"%.*f" % (width, n)
227 dec = s.find(decimal)
230 threes =
int((dec-1)/3)
231 for i
in range(threes):
233 s = s[:loc] + delim + s[loc:]
◆ _PrintFormat()
def python.html.AtlRunQueryHTML.ResultPageMaker._PrintFormat |
( |
|
cls, |
|
|
|
s_table, |
|
|
|
resstr |
|
) |
| |
|
private |
Definition at line 376 of file AtlRunQueryHTML.py.
376 def _PrintFormat(cls, s_table, resstr):
377 s =
'<tr><td><img vspace=0 src="images/printtopic.gif"> </td>\n'
378 s +=
'<td><a href="javascript:openWindow('
379 s +=
"'Print','<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html xmlns:"my"><head><title>Run query result</title><LINK href="atlas-runquery.css" rel="stylesheet" type="text/css"><body><table style="font-family: sans-serif; font-size: 85%%">"
380 s +=
'<tr><td>%s</td></tr>' % s_table.replace(
'"',
'"')
381 s +=
'<tr><td>' + resstr.replace(
'resulttable',
'resulttabletext').
replace(
'"',
'quot;') +
'</td></tr>'
382 s +=
'<tr><td><hr color="red" size=1></td></tr><tr><td><font color="#777777"><font size="-1"><i><font size="-2">Created by AtlRunQuery on: %s</font></i></font></td></tr></table><script type="text/javascript"></script></body></html>' %
str(datetime.datetime.now())
384 s +=
'" title="Query results in text format for easy printing">Print version of results</a>'
◆ _RootOutput()
def python.html.AtlRunQueryHTML.ResultPageMaker._RootOutput |
( |
|
cls, |
|
|
|
roothtmlstr, |
|
|
|
datapath |
|
) |
| |
|
private |
Definition at line 344 of file AtlRunQueryHTML.py.
344 def _RootOutput(cls, roothtmlstr, datapath):
345 if roothtmlstr
is not None:
347 <tr><td style="vertical-align: top"><img vspace=0 width="17" src="images/tree_icon.gif"> </td><td>
348 <a href="./%s/atlrunquery.root" title="Query results as ROOT TTree">Result table as <b>TTree</b> in ROOT file (right-click link to download)</a></td></tr>
349 <tr><td style="vertical-align: top"><img vspace=0 src="images/statistics.gif"> </td><td style="vertical-align: top">
350 <font color="#333333"><b>Graphs</b> of table columns versus run numbers:</font>
352 <tr><td style="vertical-align: top"></td><td style="vertical-align: top">%s
353 </td></tr>''' % (datapath, roothtmlstr)
356 <tr><td style="vertical-align: top"><img vspace=0 width="17" src="images/tree_icon.gif"> </td><td style="color: #000064;">
357 Not available. <font color="#333333">The creation of a ROOT file with the results has been disabled by default. Please use option <b><i>root</i></b> as shown in the examples under <font style="color:red">Xtras</font></font></td></tr>
358 <tr><td style="vertical-align: top"><img vspace=0 src="images/statistics.gif"> </td><td style="vertical-align: top">
359 <font color="#333333">The creation of <b>Graphs</b> has been disabled by default. Please use option <b><i>root</i></b> as shown in the examples under <font style="color:red">Xtras</font></font>
◆ _XMLFormat()
def python.html.AtlRunQueryHTML.ResultPageMaker._XMLFormat |
( |
|
cls, |
|
|
|
datapath, |
|
|
|
xmlfilename, |
|
|
|
xmlhtmlstr |
|
) |
| |
|
private |
Definition at line 390 of file AtlRunQueryHTML.py.
390 def _XMLFormat(cls, datapath, xmlfilename, xmlhtmlstr):
391 if xmlhtmlstr
is not None:
392 s =
'''<tr><td style="vertical-align: top"><img vspace=0 src="images/xml-small.gif"> </td><td>
393 <a href="./%s/%s" target="_blank" title="Query result as LB collection in standard XML good-run-list format">Query result as standard <b>Good Run-LB List in XML format</b> (right-click link to download)</a> /
394 <a href="./LumiRangeCollection.dtd" target="_blank" title="Corresponding DTD file">DTD file</a>
395 </td></tr>''' % (datapath, xmlfilename)
396 s +=
'<tr><td style="vertical-align: top"></td><td>'
397 s +=
'<a href="javascript:openTextWindow('
398 s +=
"'Print','<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html xmlns:"my"><head><title>Run query result</title><LINK href="atlas-runquery.css" rel="stylesheet" type="text/css"><body><table style="padding: 10px;font-family: sans-serif; font-size: 95%%">"
399 s +=
'<tr><td>%s</td></tr>' % xmlhtmlstr
400 s +=
'</table></body></html>'
402 s +=
'" title="Query result in text format">Query result as standard <b>Good Run-LB List in pretty-text format</b> for visual inspection (click for pop-up)</a>'
406 return '''<tr><td style="vertical-align: top;"><img vspace=0 src="images/xml-small.gif"> </td><td style="color: #000064;">
407 Not available. <font color="#333333">The creation of <b>GRLs</b> based on the query result has been disabled by default. Please use option <b><i>grl</i></b> as shown in the examples under <font style="color:red">Xtras</font></font></td></tr>'''
◆ makePage()
def python.html.AtlRunQueryHTML.ResultPageMaker.makePage |
( |
|
cls, |
|
|
|
pageinfo, |
|
|
|
doDQPickle = True |
|
) |
| |
Definition at line 28 of file AtlRunQueryHTML.py.
28 def makePage(cls, pageinfo, doDQPickle=True):
34 setattr (PI, x, pageinfo[x])
38 cachelink = PI.datapath[PI.datapath.rfind(
'arq_'):].rstrip(
'/')
39 cachelinkline =
'[ <a style="font-size:11px;font-weight:100;font-style:normal" href="query.py?q=%s"><i>cached link to this result page</i></a> ]' % cachelink
41 extraReplace = [ (
'<!--INSERTLINKCACHE-->', cachelinkline) ]
48 body += cls._OverallSummary( pageinfo )
51 if PI.makeDQSummary
or PI.makeDQPlots:
52 body += cls._DQSummaryWrap( pageinfo, doPickle=doDQPickle )
53 extraReplace += [ (
'<!--CONTACT_START-->.*<!--CONTACT_END-->',
'<a href="http://consult.cern.ch/xwho/people/572921">Jessica Leveque</a>') ]
56 pageinfo[
'selstr'] = cls._makeSelectionSteps( pageinfo )
57 body += cls._InitialSummary( pageinfo )
59 if PI.makeDQSummary
or PI.makeDQPlots:
61 body += cls._defineToolTips( pageinfo, globalOnly=
True )
64 body +=
'<hr style="width:95%; background-color: #999999; height:1px; margin-left:14px; border:0">\n<p>\n'
67 pageinfo[
'sumstr'] = cls._makeYellowLine( pageinfo )
68 body += cls._makeResultsTable( pageinfo )
71 body += cls._defineToolTips( pageinfo )
75 body += cls._makeBottomTable(pageinfo)
77 PM.makePage(body, PI.origQuery, extraReplace=extraReplace, removeExamples = (PI.makeDQSummary
or PI.makeDQPlots))
The documentation for this class was generated from the following file: