CMS 3D CMS Logo

Functions
getRunInfo Namespace Reference

Functions

def Func_CopyWBMInfo (str_name)
 Func_CopyWBMInfo(str_name) More...
 
def Func_FillInfoDBS (str_dbsInstance)
 Func_FillInfoDBS(str_dbsInstance) More...
 
def Func_FillInfoHlt ()
 Func_FillInfoHlt() More...
 
def Func_FillInfoMagnetHistory (str_timeStart, str_timeEnd)
 Func_FillInfoMagnetHistory() More...
 
def Func_FillInfoRunRegistry ()
 Func_FillInfoRunRegistry() More...
 
def Func_FillInfoRunSummary ()
 Func_FillInfoRunSummary() More...
 
def Func_GetHtmlTags (str_text)
 FUNCTIONS. More...
 
def Func_GetHtmlTagValue (str_tag, str_text, int_index=1)
 Func_GetHtmlTagValue(str_tag, str_text) More...
 
def Func_GetHtmlTagValueAttr (str_value, str_text)
 Func_GetHtmlTagValueAttr(str_tag, str_text) More...
 
def Func_GetHtmlTagValues (str_text)
 Func_GetHtmlTagValues(str_text) More...
 
def Func_GetWBMInfo (str_name, str_path)
 Func_GetWBMInfo(str_name, str_path) More...
 
def Func_MakeShellWord (str_python)
 Func_MakeShellWord(str_python) More...
 

Function Documentation

def getRunInfo.Func_CopyWBMInfo (   str_name)

Func_CopyWBMInfo(str_name)

Logs in on cmsusr0 and copies file from there

Func_CopyWBMInfo(str_name)
Logs in on cmsusr0 and copies file from there

Definition at line 198 of file getRunInfo.py.

Referenced by Func_FillInfoHlt(), Func_FillInfoMagnetHistory(), and Func_FillInfoRunSummary().

198 def Func_CopyWBMInfo(str_name):
199  """ Func_CopyWBMInfo(str_name)
200  Logs in on cmsusr0 and copies file from there
201  """
202  pid, fd = os.forkpty()
203  if pid == 0:
204  os.execv('/usr/bin/scp', ['/usr/bin/scp', Str_userID+'@'+STR_p5+':~/'+str_name, '.'])
205  else:
206  time.sleep(1)
207  os.read(fd, 1000)
208  time.sleep(1)
209  os.write(fd, Str_passwd)
210  time.sleep(1)
211  c = 0
212  s = os.read(fd, 1)
213  while s:
214  c += 1
215  s = os.read(fd, 1)
216  if c >= 163:
217  break
218 
def Func_CopyWBMInfo(str_name)
Func_CopyWBMInfo(str_name)
Definition: getRunInfo.py:198
def getRunInfo.Func_FillInfoDBS (   str_dbsInstance)

Func_FillInfoDBS(str_dbsInstance)

Retrieves run info from DBS and fills it into containers

Func_FillInfoDBS(str_dbsInstance)
Retrieves run info from DBS and fills it into containers

Definition at line 343 of file getRunInfo.py.

References spr.find(), Func_FillInfoHlt(), Func_FillInfoMagnetHistory(), Func_FillInfoRunRegistry(), Func_FillInfoRunSummary(), Func_GetHtmlTagValue(), createfilelist.int, split, and str.

343 def Func_FillInfoDBS(str_dbsInstance):
344  """ Func_FillInfoDBS(str_dbsInstance)
345  Retrieves run info from DBS and fills it into containers
346  """
347  str_dbsRuns = urllib.urlencode({'ajax':'0', '_idx':'0', 'pagerStep':'0', 'userMode':'user', 'release':'Any', 'tier':'Any', 'dbsInst':str_dbsInstance, 'primType':'Any', 'primD':'Any', 'minRun':Str_run, 'maxRun':Str_run})
348  file_dbsRuns = urllib.urlopen("https://cmsweb.cern.ch/dbs_discovery/getRunsFromRange", str_dbsRuns)
349  lstr_dbsRuns = []
350  lstr_dbsDatasets = []
351  dict_dbsDatasets = {}
352  dict_dbsEvents = {}
353  for str_dbsRuns in file_dbsRuns.readlines():
354  lstr_dbsRuns.append(str_dbsRuns)
355  if str_dbsRuns.find(STR_wwwDBSData) >= 0:
356  if str_dbsRuns.split('&proc=')[1].find('&') >= 0:
357  lstr_dbsDatasets.append(str_dbsRuns.split('&proc=')[1].split('&')[0])
358  else:
359  lstr_dbsDatasets.append(str_dbsRuns.split('&proc=')[1])
360  int_maxLenDbsDatasets = 0
361  for str_dbsDataset in lstr_dbsDatasets:
362  str_dbsLFN = urllib.urlencode({'dbsInst':str_dbsInstance, 'blockName':'*', 'dataset':str_dbsDataset, 'userMode':'user', 'run':Str_run})
363  file_dbsLFN = urllib.urlopen("https://cmsweb.cern.ch/dbs_discovery/getLFNlist", str_dbsLFN)
364  lstr_dbsLFN = []
365  int_events = 0
366  for str_dbsLFN in file_dbsLFN.readlines():
367  lstr_dbsLFN.append(str_dbsLFN)
368  if str_dbsLFN.find('contians') >= 0 and str_dbsLFN.find('file(s)'): # FIXME: be careful, this typo might be corrected sometimes on the web page...
369  dict_dbsDatasets[str_dbsDataset] = str_dbsLFN.split()[1]
370  if str_dbsLFN.startswith('/store/data/'):
371  int_events += int(Func_GetHtmlTagValue('td' ,lstr_dbsLFN[len(lstr_dbsLFN)-4]))
372  dict_dbsEvents[str_dbsDataset] = str(int_events)
373  if len(str_dbsDataset) > int_maxLenDbsDatasets:
374  int_maxLenDbsDatasets = len(str_dbsDataset)
375  DictDict_dbsDatasets[str_dbsInstance] = dict_dbsDatasets
376  DictDict_dbsEvents[str_dbsInstance] = dict_dbsEvents
377  Dict_dbsDatasets[str_dbsInstance] = lstr_dbsDatasets
378  Dict_maxLenDbsDatasets[str_dbsInstance] = int_maxLenDbsDatasets
379 
def Func_FillInfoDBS(str_dbsInstance)
Func_FillInfoDBS(str_dbsInstance)
Definition: getRunInfo.py:343
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:20
#define str(s)
def Func_GetHtmlTagValue(str_tag, str_text, int_index=1)
Func_GetHtmlTagValue(str_tag, str_text)
Definition: getRunInfo.py:128
double split
Definition: MVATrainer.cc:139
def getRunInfo.Func_FillInfoHlt ( )

Func_FillInfoHlt()

Retrieves run info from Hlt and fills it into containers

Func_FillInfoHlt():
Retrieves run info from Hlt and fills it into containers

Definition at line 319 of file getRunInfo.py.

References FrontierConditions_GlobalTag_cff.file, Func_CopyWBMInfo(), Func_GetWBMInfo(), Func_MakeShellWord(), and split.

Referenced by Func_FillInfoDBS().

320  """ Func_FillInfoHlt():
321  Retrieves run info from Hlt and fills it into containers
322  """
323  str_nameHlt = 'HLTConfiguration?KEY=' + Dict_wbmRunSummary[STR_htlConfig]
324  Func_GetWBMInfo(str_nameHlt, STR_wwwWBM)
326  file_wbmHlt = file(str_nameHlt, 'r')
327  bool_foundPaths = False
328  bool_foundPath = False
329  for str_wbmHlt in file_wbmHlt.readlines():
330  if str_wbmHlt.find('<H3>Paths</H3>') >= 0:
331  bool_foundPaths = True
332  if bool_foundPaths and str_wbmHlt.find('<HR><H3>') >= 0:
333  bool_foundPaths = False
334  if bool_foundPaths and str_wbmHlt.startswith('<TR><TD ALIGN=RIGHT>'):
335  Lstr_hltPaths.append(str_wbmHlt.split('</TD>')[1].split('<TD>')[-1])
336  file_wbmHlt.close()
337  os.remove(str_nameHlt)
338  return (len(Lstr_hltPaths)>0)
339 
def Func_MakeShellWord(str_python)
Func_MakeShellWord(str_python)
Definition: getRunInfo.py:165
def Func_CopyWBMInfo(str_name)
Func_CopyWBMInfo(str_name)
Definition: getRunInfo.py:198
def Func_FillInfoHlt()
Func_FillInfoHlt()
Definition: getRunInfo.py:319
def Func_GetWBMInfo(str_name, str_path)
Func_GetWBMInfo(str_name, str_path)
Definition: getRunInfo.py:174
double split
Definition: MVATrainer.cc:139
def getRunInfo.Func_FillInfoMagnetHistory (   str_timeStart,
  str_timeEnd 
)

Func_FillInfoMagnetHistory()

Retrieves run info from MagnetHistory and fills it into containers

Func_FillInfoMagnetHistory():
Retrieves run info from MagnetHistory and fills it into containers

Definition at line 300 of file getRunInfo.py.

References FrontierConditions_GlobalTag_cff.file, objects.autophobj.float, Func_CopyWBMInfo(), Func_GetWBMInfo(), Func_MakeShellWord(), and split.

Referenced by Func_FillInfoDBS().

300 def Func_FillInfoMagnetHistory(str_timeStart, str_timeEnd):
301  """ Func_FillInfoMagnetHistory():
302  Retrieves run info from MagnetHistory and fills it into containers
303  """
304  str_nameMagnetHistory = 'MagnetHistory?TIME_BEGIN=' + str_timeStart + '&TIME_END=' + str_timeEnd
305  Func_GetWBMInfo(str_nameMagnetHistory, STR_wwwWBM)
306  Func_CopyWBMInfo(Func_MakeShellWord(str_nameMagnetHistory))
307  file_wbmMagnetHistory = file(str_nameMagnetHistory, 'r')
308  float_avMagMeasure = Float_magneticField
309  for str_wbmMagnetHistory in file_wbmMagnetHistory.readlines():
310  if str_wbmMagnetHistory.find('BFIELD, Tesla') >= 0:
311  float_avMagMeasure = float(str_wbmMagnetHistory.split('</A>')[0].split('>')[-1])
312  file_wbmMagnetHistory.close()
313  os.remove(str_nameMagnetHistory)
314  return float_avMagMeasure
315 
def Func_MakeShellWord(str_python)
Func_MakeShellWord(str_python)
Definition: getRunInfo.py:165
def Func_CopyWBMInfo(str_name)
Func_CopyWBMInfo(str_name)
Definition: getRunInfo.py:198
def Func_FillInfoMagnetHistory(str_timeStart, str_timeEnd)
Func_FillInfoMagnetHistory()
Definition: getRunInfo.py:300
def Func_GetWBMInfo(str_name, str_path)
Func_GetWBMInfo(str_name, str_path)
Definition: getRunInfo.py:174
double split
Definition: MVATrainer.cc:139
def getRunInfo.Func_FillInfoRunRegistry ( )

Func_FillInfoRunRegistry()

Retrieves run info from RunRegistry and fills it into containers

Func_FillInfoRunRegistry():
Retrieves run info from RunRegistry and fills it into containers

Definition at line 222 of file getRunInfo.py.

References spr.find(), Func_GetHtmlTags(), Func_GetHtmlTagValue(), createfilelist.int, and split.

Referenced by Func_FillInfoDBS().

223  """ Func_FillInfoRunRegistry():
224  Retrieves run info from RunRegistry and fills it into containers
225  """
226  str_runRegistry = urllib.urlencode({'format':'xml', 'intpl':'xml', 'qtype':'RUN_NUMBER', 'sortname':'RUN_NUMBER'})
227  file_runRegistry = urllib.urlopen("http://pccmsdqm04.cern.ch/runregistry/runregisterdata", str_runRegistry)
228  str_runRegistryLong = ''
229  for str_runRegistry in file_runRegistry.readlines():
230  str_runRegistryLong += str_runRegistry.splitlines()[0]
231  bool_foundRun = False
232  str_runRunRegistry = ''
233  for int_runIndex in range(1,int(str_runRegistryLong.split('<RUNS')[1].split('>')[0].split('total=\"')[1].split('\"')[0])):
234  str_runRunRegistry = Func_GetHtmlTagValue('RUN', str_runRegistryLong, int_runIndex)
235  if Func_GetHtmlTagValue('NUMBER', str_runRunRegistry) == Str_run:
236  bool_foundRun = True
237  break
238  if not bool_foundRun:
239  print '> getRunInfo.py > run %s not found in run registry' %(Str_run)
240  return False
241  dict_tagsRunRegistry = Func_GetHtmlTags(str_runRunRegistry)
242  for str_tagRunRegistry in dict_tagsRunRegistry.keys():
243  if dict_tagsRunRegistry[str_tagRunRegistry] == False:
244  Dict_runRegistry[str_tagRunRegistry] = Func_GetHtmlTagValue(str_tagRunRegistry, str_runRunRegistry)
245  if Dict_runRegistry['SUBSYSTEMS'].find(STR_SiStrip) < 0:
246  print '> getRunInfo.py > SiStrip was not in this run'
247  return False
248  return True
249 
def Func_FillInfoRunRegistry()
Func_FillInfoRunRegistry()
Definition: getRunInfo.py:222
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:20
def Func_GetHtmlTags(str_text)
FUNCTIONS.
Definition: getRunInfo.py:108
def Func_GetHtmlTagValue(str_tag, str_text, int_index=1)
Func_GetHtmlTagValue(str_tag, str_text)
Definition: getRunInfo.py:128
double split
Definition: MVATrainer.cc:139
def getRunInfo.Func_FillInfoRunSummary ( )

Func_FillInfoRunSummary()

Retrieves run info from RunSummary and fills it into containers

Func_FillInfoRunSummary():
Retrieves run info from RunSummary and fills it into containers

Definition at line 253 of file getRunInfo.py.

References FrontierConditions_GlobalTag_cff.file, Func_CopyWBMInfo(), Func_GetWBMInfo(), Func_MakeShellWord(), and split.

Referenced by Func_FillInfoDBS().

254  """ Func_FillInfoRunSummary():
255  Retrieves run info from RunSummary and fills it into containers
256  """
257  str_nameRunSummary = 'RunSummary?RUN=' + Str_run
258  Func_GetWBMInfo(str_nameRunSummary, STR_wwwWBM)
259  Func_CopyWBMInfo(Func_MakeShellWord(str_nameRunSummary))
260  file_wbmRunSummary = file(str_nameRunSummary, 'r')
261  bool_table = False
262  int_tableHeader = 0
263  int_tableItem = 0
264  int_startItem = 0
265  int_endItem = 0
266  for str_wbmRunSummary in file_wbmRunSummary.readlines():
267  if str_wbmRunSummary.find('<TABLE CLASS="params"><THEAD><TR>') >= 0:
268  bool_table = True
269  if str_wbmRunSummary.find('</TBODY></TABLE>') >= 0:
270  bool_table = False
271  if bool_table:
272  if str_wbmRunSummary.startswith('<TH>'):
273  int_tableHeader += 1
274  if str_wbmRunSummary.find(STR_runStart) >= 0:
275  int_startItem = int_tableHeader
276  if str_wbmRunSummary.find(STR_runEnd) >= 0:
277  int_endItem = int_tableHeader
278  if str_wbmRunSummary.startswith('<TD'):
279  int_tableItem += 1
280  if int_tableItem == int_startItem:
281  Dict_wbmRunSummary[STR_runStart] = str_wbmRunSummary.split('&nbsp;</TD>')[0].split('<TD>')[-1]
282  if int_tableItem == int_endItem:
283  Dict_wbmRunSummary[STR_runEnd] = str_wbmRunSummary.split('&nbsp;</TD>')[0].split('<TD>')[-1]
284  continue
285  for str_keyRunSummary in DICT_keysRunSummary.keys():
286  if str_wbmRunSummary.find(str_keyRunSummary) >= 0:
287  Dict_wbmRunSummary[str_keyRunSummary] = str_wbmRunSummary.split('</TD></TR>')[0].split('>')[-1]
288  break
289  for str_summaryKeysTrigger in DICT_keysRunSummaryTrigger.keys():
290  if str_wbmRunSummary.find(str_summaryKeysTrigger) >= 0:
291  Dict_wbmRunSummary[str_summaryKeysTrigger] = str_wbmRunSummary.split('</A></TD></TR>')[0].split('>')[-1]
292  if str_summaryKeysTrigger == 'HLT Key':
293  Dict_wbmRunSummary[STR_htlConfig] = str_wbmRunSummary.split('HLTConfiguration?KEY=')[1].split('>')[0]
294  file_wbmRunSummary.close()
295  os.remove(str_nameRunSummary)
296 
def Func_MakeShellWord(str_python)
Func_MakeShellWord(str_python)
Definition: getRunInfo.py:165
def Func_FillInfoRunSummary()
Func_FillInfoRunSummary()
Definition: getRunInfo.py:253
def Func_CopyWBMInfo(str_name)
Func_CopyWBMInfo(str_name)
Definition: getRunInfo.py:198
def Func_GetWBMInfo(str_name, str_path)
Func_GetWBMInfo(str_name, str_path)
Definition: getRunInfo.py:174
double split
Definition: MVATrainer.cc:139
def getRunInfo.Func_GetHtmlTags (   str_text)

FUNCTIONS.

Func_GetHtmlTags(str_text)

Gets HTML tags from a string

Func_GetHtmlTags(str_text):
Gets HTML tags from a string

Definition at line 108 of file getRunInfo.py.

References split.

Referenced by Func_FillInfoRunRegistry().

108 def Func_GetHtmlTags(str_text):
109  """ Func_GetHtmlTags(str_text):
110  Gets HTML tags from a string
111  """
112  dict_tags = {}
113  # first look for tags w/ values
114  lstr_split = str_text.split('</')
115  for str_split in lstr_split[1:]:
116  str_key = str_split.split('>')[0]
117  dict_tags[str_key] = str_key in dict_tags
118  # second look for tags w/o values
119  lstr_split = str_text.split('/>')
120  for str_split in lstr_split[:-1]:
121  str_key = str_split.split('<')[-1].split()[0]
122  dict_tags[str_key] = str_key in dict_tags
123  return dict_tags
124 
def Func_GetHtmlTags(str_text)
FUNCTIONS.
Definition: getRunInfo.py:108
double split
Definition: MVATrainer.cc:139
def getRunInfo.Func_GetHtmlTagValue (   str_tag,
  str_text,
  int_index = 1 
)

Func_GetHtmlTagValue(str_tag, str_text)

Gets the value of the n-th oocurence a given HTML tag from a string

Func_GetHtmlTagValue(str_tag, str_text):
 Gets the value of the n-th oocurence a given HTML tag from a string

Definition at line 128 of file getRunInfo.py.

References split.

Referenced by Func_FillInfoDBS(), and Func_FillInfoRunRegistry().

128 def Func_GetHtmlTagValue(str_tag, str_text, int_index = 1):
129  """ Func_GetHtmlTagValue(str_tag, str_text):
130  Gets the value of the n-th oocurence a given HTML tag from a string
131  """
132  if int_index > str_text.count('<'+str_tag):
133  return ''
134  str_1 = str_text.split('<'+str_tag)[int_index]
135  if str_1[0] != '>':
136  if str_1.split('>')[0][-1] == '/':
137  return ''
138  return str_1.split('>',1)[1].split('</'+str_tag+'>')[0]
139 
def Func_GetHtmlTagValue(str_tag, str_text, int_index=1)
Func_GetHtmlTagValue(str_tag, str_text)
Definition: getRunInfo.py:128
double split
Definition: MVATrainer.cc:139
def getRunInfo.Func_GetHtmlTagValueAttr (   str_value,
  str_text 
)

Func_GetHtmlTagValueAttr(str_tag, str_text)

Gets the (last) attribute of a given HTML tag value from a string

Func_GetHtmlTagValueAttr(str_value, str_text):
Gets the (last) attributes of a given HTML tag value from a string

Definition at line 156 of file getRunInfo.py.

References split.

156 def Func_GetHtmlTagValueAttr(str_value, str_text):
157  """ Func_GetHtmlTagValueAttr(str_value, str_text):
158  Gets the (last) attributes of a given HTML tag value from a string
159  """
160  return str_text.split('\">'+str_value+'<')[0].split('=\"')[-1]
161 
def Func_GetHtmlTagValueAttr(str_value, str_text)
Func_GetHtmlTagValueAttr(str_tag, str_text)
Definition: getRunInfo.py:156
double split
Definition: MVATrainer.cc:139
def getRunInfo.Func_GetHtmlTagValues (   str_text)

Func_GetHtmlTagValues(str_text)

Gets HTML tag values from a string

Func_GetHtmlTagValues(str_text):
Gets HTML tag values from a string

Definition at line 143 of file getRunInfo.py.

143 def Func_GetHtmlTagValues(str_text):
144  """ Func_GetHtmlTagValues(str_text):
145  Gets HTML tag values from a string
146  """
147  lstr_split = str_text.split('</')
148  lstr_values = []
149  for str_split in lstr_split[:-1]:
150  lstr_values.append(str_split.split('>')[-1])
151  return lstr_values
152 
def Func_GetHtmlTagValues(str_text)
Func_GetHtmlTagValues(str_text)
Definition: getRunInfo.py:143
def getRunInfo.Func_GetWBMInfo (   str_name,
  str_path 
)

Func_GetWBMInfo(str_name, str_path)

Logs in on cmsusr0, retrieves WBM information and stores it locally

Func_GetWBMInfo(str_name, str_path)
Logs in on cmsusr0, retrieves WBM information and stores it locally

Definition at line 174 of file getRunInfo.py.

Referenced by Func_FillInfoHlt(), Func_FillInfoMagnetHistory(), and Func_FillInfoRunSummary().

174 def Func_GetWBMInfo(str_name, str_path):
175  """ Func_GetWBMInfo(str_name, str_path)
176  Logs in on cmsusr0, retrieves WBM information and stores it locally
177  """
178  pid, fd = os.forkpty()
179  if pid == 0:
180  os.execv('/usr/bin/ssh', ['/usr/bin/ssh', '-l', Str_userID, STR_p5] + ['rm', '-f', '\"'+str_name + '\" && ' + 'wget', '\"'+str_path+'/'+str_name+'\"'])
181  else:
182  time.sleep(1)
183  os.read(fd, 1000)
184  time.sleep(1)
185  os.write(fd, Str_passwd)
186  time.sleep(1)
187  c = 0
188  s = os.read(fd, 1)
189  while s:
190  c += 1
191  s = os.read(fd, 1)
192  if c >= 2:
193  break
194 
def Func_GetWBMInfo(str_name, str_path)
Func_GetWBMInfo(str_name, str_path)
Definition: getRunInfo.py:174
def getRunInfo.Func_MakeShellWord (   str_python)

Func_MakeShellWord(str_python)

Adds shell escape charakters to Python strings

Func_MakeShellWord(str_python)
Adds shell escape charakters to Python strings

Definition at line 165 of file getRunInfo.py.

References python.rootplot.root2matplotlib.replace().

Referenced by Func_FillInfoHlt(), Func_FillInfoMagnetHistory(), and Func_FillInfoRunSummary().

165 def Func_MakeShellWord(str_python):
166  """ Func_MakeShellWord(str_python)
167  Adds shell escape charakters to Python strings
168  """
169  return str_python.replace('?','\\?').replace('=','\\=').replace(' ','\\ ').replace('&','\\&').replace(':','\\:')
170 
def replace(string, replacements)
def Func_MakeShellWord(str_python)
Func_MakeShellWord(str_python)
Definition: getRunInfo.py:165