31 |
|
write(str(round(AvDeadTime,1))+"%") |
32 |
|
write(bcolors.ENDC+"\n") |
33 |
|
|
34 |
< |
print "Used prescale column(s): "+str(PrescaleColumnString) |
35 |
< |
print "Lumisections: "+str(LumiRange) |
34 |
> |
print "Used prescale column(s): "+str(PrescaleColumnString) |
35 |
> |
write("Lumisections: ") |
36 |
> |
if not isSequential(LumiRange): |
37 |
> |
write(str(LumiRange)+" Lumisections are not sequential (bad LS skipped)\n") |
38 |
> |
else: |
39 |
> |
write("%d - %d\n" % (min(LumiRange),max(LumiRange),)) |
40 |
> |
print "\nLast Lumisection of the run is: "+str(parser.GetLastLS()) |
41 |
> |
write( "Last Lumisection good for physics is: "+str(parser.GetLastLS(True)) ) |
42 |
> |
if parser.GetLastLS(True)!=max(LumiRange): |
43 |
> |
write(bcolors.WARNING) |
44 |
> |
write(" << This exceeds the last lumisection parsed") |
45 |
> |
write(bcolors.ENDC+"\n") |
46 |
> |
|
47 |
> |
def isSequential(t): |
48 |
> |
try: |
49 |
> |
if len(t)<2: |
50 |
> |
return True |
51 |
> |
except: |
52 |
> |
return True |
53 |
> |
for i,e in enumerate(t[1:]): |
54 |
> |
if not abs(e-t[i])==1: |
55 |
> |
return False |
56 |
> |
return True |