CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 79 of file beamvalidation.py.

References createfilelist.int.

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

Definition at line 127 of file beamvalidation.py.

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

Definition at line 107 of file beamvalidation.py.

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

Definition at line 52 of file beamvalidation.py.

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

Definition at line 230 of file beamvalidation.py.

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

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

References edm.print(), and split.

186 def get_listoftags(dest, auth,):
187 
188  queryTags_cmd = "cmscond_list_iov -c "+dest+" -P "+auth+" -a | grep BeamSpotObjects"
189  print(queryTags_cmd)
190  outcmd = commands.getstatusoutput( queryTags_cmd )
191  print(outcmd[1])
192 
193  listtags = outcmd[1].split()
194 
195  listtags_offline = []
196  for itag in listtags:
197  if itag[len(itag)-7:len(itag)] == "offline":
198  listtags_offline.append(itag)
199  listtags_express = []
200  for itag in listtags:
201  if itag[len(itag)-7:len(itag)] == "express":
202  listtags_express.append(itag)
203  listtags_prompt = []
204  for itag in listtags:
205  if itag[len(itag)-6:len(itag)] == "prompt":
206  listtags_prompt.append(itag)
207 
208  listtags_offline.sort( cmp = cmp_tags )
209  listtags_offline.reverse()
210  listtags_express.sort( cmp = cmp_tags )
211  listtags_express.reverse()
212  listtags_prompt.sort( cmp = cmp_tags )
213  listtags_prompt.reverse()
214 
215  result = {}
216  result['offline'] = listtags_offline
217  result['express'] = listtags_express
218  result['prompt'] = listtags_prompt
219 
220  return result
221 
222 #______________________
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 295 of file beamvalidation.py.

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

295 def get_plots(path,output, iovs, tag):
296 
297  initial=iovs[len(iovs)-1].IOVfirst
298  final =iovs[0].IOVfirst
299  if iovs[0].type == "lumiid":
300  initial = str(unpack(initial)[0])+":"+str(unpack(initial)[1])
301  final = str(unpack(final)[0])+":"+str(unpack(final)[1])
302 
303  initial = str(int(initial) -100 )
304  cmd = path+"/plotBeamSpotDB.py -b -P -t "+tag+" -i "+initial +" -f "+final
305  print(cmd)
306  outcmd = commands.getstatusoutput( cmd )
307  print(outcmd[1])
308 
309  cmd = "ls *.png"
310  outcmd = commands.getstatusoutput( cmd )
311 
312  pngfiles = outcmd[1].split('\n')
313  print(pngfiles)
314 
315  cmd = "cp *.png "+os.path.dirname(output)
316  outcmd = commands.getstatusoutput( cmd )
317  cmd = "rm *.png"
318  outcmd = commands.getstatusoutput( cmd )
319 
320  pngfiles.sort()
321  return pngfiles
322 
323 #_______________________________
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 346 of file beamvalidation.py.

References split.

Referenced by get_productionIOVs().

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

Definition at line 357 of file beamvalidation.py.

References get_productionFiles().

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

Definition at line 40 of file beamvalidation.py.

Referenced by CSCDigiValidator.zeroSupStripDigis().

40 def nonzero(self): # will become the nonzero method of optparse.Values
41  "True if options were given"
42  for v in six.itervalues(self.__dict__):
43  if v is not None: return True
44  return False
45 
46 optparse.Values.__nonzero__ = nonzero # dynamically fix optparse.Values
47 
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 274 of file beamvalidation.py.

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

Definition at line 55 of file beamvalidation.py.

55 def parse(docstring, arglist=None):
56  global optionstring
57  optionstring = docstring
58  match = USAGE.search(optionstring)
59  if not match: raise ParsingError("Cannot find the option string")
60  optlines = match.group(1).splitlines()
61  try:
62  p = optparse.OptionParser(optlines[0])
63  for line in optlines[1:]:
64  opt, help=line.split(':')[:2]
65  short,long=opt.split(',')[:2]
66  if '=' in opt:
67  action='store'
68  long=long.split('=')[0]
69  else:
70  action='store_true'
71  p.add_option(short.strip(),long.strip(),
72  action = action, help = help.strip())
73  except (IndexError,ValueError):
74  raise ParsingError("Cannot parse the option string correctly")
75  return p.parse_args(arglist)
76 
77 #_______________________________
78 
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 281 of file beamvalidation.py.

References mathSSE.return().

Referenced by get_plots(), and unpackLumiid().

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

Definition at line 288 of file beamvalidation.py.

References unpack().

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

Definition at line 155 of file beamvalidation.py.

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

Definition at line 324 of file beamvalidation.py.

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

Definition at line 132 of file beamvalidation.py.

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

Variable Documentation

beamvalidation.args

Definition at line 373 of file beamvalidation.py.

beamvalidation.auth

Definition at line 383 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 382 of file beamvalidation.py.

beamvalidation.end

Definition at line 396 of file beamvalidation.py.

beamvalidation.htmlwebsite

Definition at line 377 of file beamvalidation.py.

beamvalidation.lasttag

Definition at line 424 of file beamvalidation.py.

beamvalidation.lines

Definition at line 395 of file beamvalidation.py.

beamvalidation.list_lastIOVs

Definition at line 389 of file beamvalidation.py.

beamvalidation.list_tags

Definition at line 386 of file beamvalidation.py.

beamvalidation.option

Definition at line 373 of file beamvalidation.py.

beamvalidation.optionstring

Definition at line 50 of file beamvalidation.py.

beamvalidation.outfile

Definition at line 433 of file beamvalidation.py.

beamvalidation.pngfiles

Definition at line 428 of file beamvalidation.py.

beamvalidation.processedruns

Definition at line 392 of file beamvalidation.py.

beamvalidation.USAGE

Definition at line 38 of file beamvalidation.py.