ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/RateMonShiftTool_dev/AddTableInfo_db.py
Revision: 1.3
Committed: Wed Feb 15 12:10:02 2012 UTC (13 years, 2 months ago) by amott
Content type: text/x-python
Branch: MAIN
CVS Tags: V00-00-02
Changes since 1.2: +21 -2 lines
Log Message:
Minor fixes

File Contents

# User Rev Content
1 amott 1.1 import sys
2     from colors import *
3     from DatabaseParser import *
4     write = sys.stdout.write
5    
6     def MoreTableInfo(parser,LumiRange):
7     [AvInstLumi, AvLiveLumi, AvDeliveredLumi, AvDeadTime,PSCols] = parser.GetAvLumiInfo(LumiRange)
8    
9     if AvDeadTime==0: ## For some reason the dead time in the DB is occasionally broken
10 amott 1.2 try:
11     AvDeadTime = AvLiveLumi/AvDeliveredLumi * 100
12     except:
13     AvDeadTime = 100
14 amott 1.1 PrescaleColumnString=''
15     for c in PSCols:
16     PrescaleColumnString = PrescaleColumnString + str(c) + ","
17    
18     write("The average instantaneous lumi of these lumisections is: ")
19     write(str(round(AvInstLumi,1))+"e30\n")
20     write("The delivered lumi of these lumi sections is: ")
21     write(str(round(1000*AvDeliveredLumi,1))+"e30"+"\n")
22     write("The live (recorded) lumi of these lumi sections is: ")
23     write(str(round(1000*AvLiveLumi,1))+"e30\n\n")
24     write("The average deadtime of these lumi sections is: ")
25     if AvDeadTime > 5:
26     write(bcolors.FAIL)
27     elif AvDeadTime > 10:
28     write(bcolors.WARNING)
29     else:
30     write(bcolors.OKBLUE)
31 amott 1.2 write(str(round(AvDeadTime,1))+"%")
32 amott 1.1 write(bcolors.ENDC+"\n")
33    
34 amott 1.3 print "Used prescale column(s): "+str(PrescaleColumnString)
35     write("Lumisections: "+str(LumiRange))
36     if not isSequential(LumiRange):
37     write(" Lumisections are not sequential (bad LS skipped)\n")
38     print "\nLast Lumisection of the run is: "+str(parser.GetLastLS())
39     write( "Last Lumisection good for physics is: "+str(parser.GetLastLS(True)) )
40     if parser.GetLastLS(True)!=max(LumiRange):
41     write(bcolors.WARNING)
42     write(" << This exceeds the last lumisection parsed")
43     write(bcolors.ENDC+"\n")
44    
45     def isSequential(t):
46     try:
47     if len(t)<2:
48     return True
49     except:
50     return True
51     for i,e in enumerate(t[1:]):
52     if not abs(e-t[i])==1:
53     return False
54     return True