3 |
|
from DatabaseParser import * |
4 |
|
write = sys.stdout.write |
5 |
|
|
6 |
< |
def MoreTableInfo(parser,LumiRange): |
7 |
< |
[AvInstLumi, AvLiveLumi, AvDeliveredLumi, AvDeadTime,PSCols] = parser.GetAvLumiInfo(LumiRange) |
6 |
> |
def MoreTableInfo(parser,LumiRange,config): |
7 |
> |
[AvInstLumi, AvLiveLumi, AvDeliveredLumi, AvDeadTime,PSCols,LastPSCol] = parser.GetAvLumiInfo(LumiRange) |
8 |
|
|
9 |
|
if AvDeadTime==0: ## For some reason the dead time in the DB is occasionally broken |
10 |
|
try: |
42 |
|
if parser.GetLastLS(True)!=max(LumiRange): |
43 |
|
write(bcolors.WARNING) |
44 |
|
write(" << This exceeds the last lumisection parsed") |
45 |
< |
write(bcolors.ENDC+"\n") |
45 |
> |
write(bcolors.ENDC+"\n\n\n") |
46 |
> |
|
47 |
> |
L1RatePredictions = config.GetExpectedL1Rates(AvInstLumi) |
48 |
> |
if len(L1RatePredictions): |
49 |
> |
print "Expected Level 1 Rates:" |
50 |
> |
for key,val in L1RatePredictions.iteritems(): |
51 |
> |
write("Prescale Column "+str(key)+": "+str(round(val/1000,1))+" kHz") |
52 |
> |
if key == LastPSCol: |
53 |
> |
write(' << We Are here!') |
54 |
> |
write('\n') |
55 |
> |
|
56 |
> |
|
57 |
|
|
58 |
|
def isSequential(t): |
59 |
|
try: |