CMS 3D CMS Logo

Classes | Functions | Variables
beamvalidation Namespace Reference

Classes

class  IOV
 
class  ParsingError
 

Functions

def cmp_tags (a, b)
 
def dump_footer (lines)
 
def dump_header (lines)
 
def exit (msg="")
 
def get_lastIOVs (listoftags, dest, auth)
 
def get_listoftags (dest, auth)
 
def get_plots (path, output, iovs, tag)
 
def get_productionFiles (directory)
 
def get_productionIOVs (directory)
 
def nonzero (self)
 
def pack (high, low)
 
def parse (docstring, arglist=None)
 
def unpack (i)
 
def unpackLumiid (i)
 
def write_iovs (iovs, lines)
 
def write_plots (lines, plots, web)
 
def write_tags (tags, lines)
 

Variables

 args
 
 auth
 
 br
 
 dest
 Get the latest tags dest = "frontier://cmsfrontier.cern.ch:8000/Frontier/CMS_COND_31X_BEAMSPOT". More...
 
 end
 
 htmlwebsite
 
 lasttag
 
 lines
 
 list_lastIOVs
 
 list_tags
 
 option
 
 optionstring
 
 outfile
 
 pngfiles
 
 processedruns
 
 USAGE
 

Function Documentation

def beamvalidation.cmp_tags (   a,
  b 
)

Definition at line 80 of file beamvalidation.py.

References createfilelist.int.

80 def cmp_tags(a,b):
81 
82  yeara = int(a.split('_')[1])
83  yearb = int(b.split('_')[1])
84 
85  if yeara < yearb: return -1
86  if yeara > yearb: return 1
87 
88  suffix = "_offline"
89  if a.find("_express") != -1:
90  suffix = "_express"
91  if a.find("_prompt") != -1:
92  suffix = "_prompt"
93 
94  tmpa = a.replace("BeamSpotObjects_2009_v","")
95  tmpa = tmpa.replace(suffix,"")
96 
97  tmpb = b.replace("BeamSpotObjects_2009_v","")
98  tmpb = tmpb.replace(suffix,"")
99 
100  na = int(tmpa)
101  nb = int(tmpb)
102  if na < nb: return -1
103  if na == nb: return 0
104  if na > nb: return 1
105 
106 #___
107 
def cmp_tags(a, b)
def beamvalidation.dump_footer (   lines)

Definition at line 128 of file beamvalidation.py.

128 def dump_footer(lines):
129 
130  lines.append('</body>\n</html>\n')
131 
132 #______________
def dump_footer(lines)
def beamvalidation.dump_header (   lines)

Definition at line 108 of file beamvalidation.py.

108 def dump_header(lines):
109 
110  lines.append('''
111 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html>
112 <head><title>Beam Spot Calibration Status</title></head>
113 
114 <body>
115 
116 <H1>Status of the Beam Spot Calibration</H1>
117 <BR>
118 <BR>
119 This page is updated every 10 minutes:
120 <BR>
121 <strong><script src="datemod.js"
122 type="text/javascript"></script></strong>
123 
124 ''')
125 
126 #____
127 
def dump_header(lines)
def beamvalidation.exit (   msg = "")

Definition at line 53 of file beamvalidation.py.

53 def exit(msg=""):
54  raise SystemExit(msg or optionstring.replace("%prog",sys.argv[0]))
55 
def exit(msg="")
def beamvalidation.get_lastIOVs (   listoftags,
  dest,
  auth 
)

Definition at line 231 of file beamvalidation.py.

References createfilelist.int, edm.print(), and split.

231 def get_lastIOVs( listoftags, dest, auth ):
232 
233  dbtags = ['offline','express','prompt']
234 
235  results = {}
236  for itag in dbtags:
237 
238  lasttag = listoftags[itag][0]
239  #fix for the moment to read old tags
240  if itag != "offline":
241  lasttag = listoftags[itag][1]
242 
243  queryIOVs_cmd = "cmscond_list_iov -c "+dest+" -P "+auth+" -t "+ lasttag
244  print(queryIOVs_cmd)
245 
246  outcmd = commands.getstatusoutput( queryIOVs_cmd )
247 
248  tmparr = outcmd[1].split('\n')
249 
250  TimeType = tmparr[1].split()[1]
251  listIOVs = []
252 
253  # look at number of payloads
254  lastline = tmparr[len(tmparr)-1].split()
255  npayloads = int( lastline[len(lastline)-1] )
256 
257  maxIOVs = 3
258  if npayloads < 3:
259  maxIOVs = npayloads
260  # pick the last three IOVs
261  for i in range(0,maxIOVs):
262  tmpline = tmparr[len(tmparr) -2 -i]
263  aIOV = IOV()
264  aIOV.IOVfirst = tmpline.split()[0]
265  aIOV.IOVlast = tmpline.split()[1]
266  aIOV.type = TimeType
267  listIOVs.append( aIOV )
268 
269  results[lasttag] = listIOVs
270 
271  return results
272 
273 #
274 # lumi tools CondCore/Utilities/python/timeUnitHelper.py
S & print(S &os, JobReport::InputFile const &f)
Definition: JobReport.cc:66
def get_lastIOVs(listoftags, dest, auth)
double split
Definition: MVATrainer.cc:139
def beamvalidation.get_listoftags (   dest,
  auth 
)

Definition at line 187 of file beamvalidation.py.

References edm.print(), and split.

187 def get_listoftags(dest, auth,):
188 
189  queryTags_cmd = "cmscond_list_iov -c "+dest+" -P "+auth+" -a | grep BeamSpotObjects"
190  print(queryTags_cmd)
191  outcmd = commands.getstatusoutput( queryTags_cmd )
192  print(outcmd[1])
193 
194  listtags = outcmd[1].split()
195 
196  listtags_offline = []
197  for itag in listtags:
198  if itag[len(itag)-7:len(itag)] == "offline":
199  listtags_offline.append(itag)
200  listtags_express = []
201  for itag in listtags:
202  if itag[len(itag)-7:len(itag)] == "express":
203  listtags_express.append(itag)
204  listtags_prompt = []
205  for itag in listtags:
206  if itag[len(itag)-6:len(itag)] == "prompt":
207  listtags_prompt.append(itag)
208 
209  listtags_offline.sort( cmp = cmp_tags )
210  listtags_offline.reverse()
211  listtags_express.sort( cmp = cmp_tags )
212  listtags_express.reverse()
213  listtags_prompt.sort( cmp = cmp_tags )
214  listtags_prompt.reverse()
215 
216  result = {}
217  result['offline'] = listtags_offline
218  result['express'] = listtags_express
219  result['prompt'] = listtags_prompt
220 
221  return result
222 
223 #______________________
S & print(S &os, JobReport::InputFile const &f)
Definition: JobReport.cc:66
def get_listoftags(dest, auth)
double split
Definition: MVATrainer.cc:139
def beamvalidation.get_plots (   path,
  output,
  iovs,
  tag 
)

Definition at line 296 of file beamvalidation.py.

References createfilelist.int, edm.print(), split, str, and unpack().

296 def get_plots(path,output, iovs, tag):
297 
298  initial=iovs[len(iovs)-1].IOVfirst
299  final =iovs[0].IOVfirst
300  if iovs[0].type == "lumiid":
301  initial = str(unpack(initial)[0])+":"+str(unpack(initial)[1])
302  final = str(unpack(final)[0])+":"+str(unpack(final)[1])
303 
304  initial = str(int(initial) -100 )
305  cmd = path+"/plotBeamSpotDB.py -b -P -t "+tag+" -i "+initial +" -f "+final
306  print(cmd)
307  outcmd = commands.getstatusoutput( cmd )
308  print(outcmd[1])
309 
310  cmd = "ls *.png"
311  outcmd = commands.getstatusoutput( cmd )
312 
313  pngfiles = outcmd[1].split('\n')
314  print(pngfiles)
315 
316  cmd = "cp *.png "+os.path.dirname(output)
317  outcmd = commands.getstatusoutput( cmd )
318  cmd = "rm *.png"
319  outcmd = commands.getstatusoutput( cmd )
320 
321  pngfiles.sort()
322  return pngfiles
323 
324 #_______________________________
S & print(S &os, JobReport::InputFile const &f)
Definition: JobReport.cc:66
def get_plots(path, output, iovs, tag)
#define str(s)
double split
Definition: MVATrainer.cc:139
def beamvalidation.get_productionFiles (   directory)

Definition at line 347 of file beamvalidation.py.

References split.

Referenced by get_productionIOVs().

347 def get_productionFiles( directory ):
348 
349  list = commands.getstatusoutput('ls -t '+directory)
350  list = list[1].split()
351  newlist = []
352  for i in list:
353  if i.find('BeamFit_')!=-1:
354  newlist.append(i)
355 
356  return newlist
357 #_______________________________
def get_productionFiles(directory)
double split
Definition: MVATrainer.cc:139
def beamvalidation.get_productionIOVs (   directory)

Definition at line 358 of file beamvalidation.py.

References get_productionFiles().

358 def get_productionIOVs( directory ):
359 
360  files = get_productionFiles( directory )
361  listofruns = []
362  for f in files:
363  ii = f.find('Run')
364  arun = f[ii:len(f)-4]
365  listofruns.append(arun)
366  return listofruns
367 
368 #______________________________
def get_productionIOVs(directory)
def get_productionFiles(directory)
def beamvalidation.nonzero (   self)

Definition at line 41 of file beamvalidation.py.

Referenced by CSCDigiValidator.zeroSupStripDigis().

41 def nonzero(self): # will become the nonzero method of optparse.Values
42  "True if options were given"
43  for v in six.itervalues(self.__dict__):
44  if v is not None: return True
45  return False
46 
47 optparse.Values.__nonzero__ = nonzero # dynamically fix optparse.Values
48 
def nonzero(self)
def beamvalidation.pack (   high,
  low 
)
pack high,low 32bit unsigned int to one unsigned 64bit long long
   Note:the print value of result number may appear signed, if the sign bit is used.

Definition at line 275 of file beamvalidation.py.

275 def pack(high,low):
276  """pack high,low 32bit unsigned int to one unsigned 64bit long long
277  Note:the print value of result number may appear signed, if the sign bit is used.
278  """
279  h=high<<32
280  return (h|low)
281 
def pack(high, low)
def beamvalidation.parse (   docstring,
  arglist = None 
)

Definition at line 56 of file beamvalidation.py.

56 def parse(docstring, arglist=None):
57  global optionstring
58  optionstring = docstring
59  match = USAGE.search(optionstring)
60  if not match: raise ParsingError("Cannot find the option string")
61  optlines = match.group(1).splitlines()
62  try:
63  p = optparse.OptionParser(optlines[0])
64  for line in optlines[1:]:
65  opt, help=line.split(':')[:2]
66  short,long=opt.split(',')[:2]
67  if '=' in opt:
68  action='store'
69  long=long.split('=')[0]
70  else:
71  action='store_true'
72  p.add_option(short.strip(),long.strip(),
73  action = action, help = help.strip())
74  except (IndexError,ValueError):
75  raise ParsingError("Cannot parse the option string correctly")
76  return p.parse_args(arglist)
77 
78 #_______________________________
79 
def parse(docstring, arglist=None)
def beamvalidation.unpack (   i)
unpack 64bit unsigned long long into 2 32bit unsigned int, return tuple (high,low)

Definition at line 282 of file beamvalidation.py.

References mathSSE.return().

Referenced by get_plots(), and unpackLumiid().

282 def unpack(i):
283  """unpack 64bit unsigned long long into 2 32bit unsigned int, return tuple (high,low)
284  """
285  high=i>>32
286  low=i&0xFFFFFFFF
287  return(high,low)
288 
return((rh^lh)&mask)
def beamvalidation.unpackLumiid (   i)
unpack 64bit lumiid to dictionary {'run','lumisection'}

Definition at line 289 of file beamvalidation.py.

References unpack().

290  """unpack 64bit lumiid to dictionary {'run','lumisection'}
291  """
292  j=unpack(i)
293  return {'run':j[0],'lumisection':j[1]}
294 
295 #____________________________
def beamvalidation.write_iovs (   iovs,
  lines 
)

Definition at line 156 of file beamvalidation.py.

156 def write_iovs(iovs, lines):
157 
158  end = '\n'
159  br = '<BR>'+end
160  # hearder
161  lines.append('<tr>'+end)
162  for i in iovs.keys():
163  lines.append('<th>'+i)
164  lines.append('</th>'+end)
165  lines.append('</tr>'+end)
166  # lumi type
167  lines.append('<tr>'+end)
168  for i in iovs.keys():
169  aIOVlist = iovs[i]
170  aIOV = IOV()
171  if len(aIOVlist) > 0:
172  aIOV = aIOVlist[0]
173  lines.append('<td> '+aIOV.type+' </td>'+end)
174  lines.append('</tr>'+end)
175  # print iovs
176  for niovs in range(0,len(iovs[iovs.keys()[0]])):
177  lines.append('<tr>'+end)
178  for i in iovs.keys():
179  aIOVlist = iovs[i]
180  aIOV = IOV()
181  if len(aIOVlist) > niovs:
182  aIOV = aIOVlist[niovs]
183  lines.append('<td> '+aIOV.IOVfirst +' - '+aIOV.IOVlast+' </td>'+end)
184  lines.append('</tr>'+end)
185 
186 #______________
def write_iovs(iovs, lines)
def beamvalidation.write_plots (   lines,
  plots,
  web 
)

Definition at line 325 of file beamvalidation.py.

325 def write_plots(lines, plots,web):
326 
327  end = '\n'
328  br = '<BR>'+end
329 
330  lines.append(br)
331  lines.append('''
332 <table border="1">
333 
334 ''')
335  for i in range(0,len(plots)):
336  plot = plots[i]
337  plot = os.path.basename(plot)
338  if i%2 == 0:
339  lines.append("<tr>"+end)
340  lines.append("<td> <a href=\""+web+"/"+plot+"\"> <img src="+plot+" alt="+plot+" width='700' height='250' /> </a> </td>"+end)
341  if i%2 == 1:
342  lines.append("</tr>"+end)
343 
344  lines.append('</table>'+end)
345 
346 #________________________________
def write_plots(lines, plots, web)
def beamvalidation.write_tags (   tags,
  lines 
)

Definition at line 133 of file beamvalidation.py.

133 def write_tags(tags, lines):
134 
135  end = '\n'
136  br = '<BR>'+end
137 
138  lines.append('<tr>'+end)
139  for i in tags.keys():
140 
141  lines.append('<th>'+i)
142  lines.append('</th>'+end)
143  lines.append('</tr>'+end)
144 
145  for ntags in range(0,len(tags['offline'])):
146  lines.append('<tr>'+end)
147  for i in tags.keys():
148  alist = tags[i]
149  if ntags < len(tags[i]):
150  lines.append('<td> '+alist[ntags]+' </td>'+end)
151  else:
152  lines.append('<td> </td>')
153  lines.append('</tr>'+end)
154 
155 #______________
def write_tags(tags, lines)

Variable Documentation

beamvalidation.args

Definition at line 374 of file beamvalidation.py.

beamvalidation.auth

Definition at line 384 of file beamvalidation.py.

beamvalidation.br
beamvalidation.dest

Get the latest tags dest = "frontier://cmsfrontier.cern.ch:8000/Frontier/CMS_COND_31X_BEAMSPOT".

Definition at line 383 of file beamvalidation.py.

beamvalidation.end

Definition at line 397 of file beamvalidation.py.

beamvalidation.htmlwebsite

Definition at line 378 of file beamvalidation.py.

beamvalidation.lasttag

Definition at line 425 of file beamvalidation.py.

beamvalidation.lines

Definition at line 396 of file beamvalidation.py.

beamvalidation.list_lastIOVs

Definition at line 390 of file beamvalidation.py.

beamvalidation.list_tags

Definition at line 387 of file beamvalidation.py.

beamvalidation.option

Definition at line 374 of file beamvalidation.py.

beamvalidation.optionstring

Definition at line 51 of file beamvalidation.py.

beamvalidation.outfile

Definition at line 434 of file beamvalidation.py.

beamvalidation.pngfiles

Definition at line 429 of file beamvalidation.py.

beamvalidation.processedruns

Definition at line 393 of file beamvalidation.py.

beamvalidation.USAGE

Definition at line 39 of file beamvalidation.py.