5 |
|
from DatabaseParser import ConnectDB |
6 |
|
|
7 |
|
def usage(): |
8 |
< |
print sys.argv[0] + " HLTKey GTKey GTRS Key" |
8 |
> |
print sys.argv[0] + " HLTKey GTKey GTRS Key [PSColsToIgnore]" |
9 |
|
|
10 |
|
def main(): |
11 |
|
|
12 |
< |
if not len(sys.argv) == 4: |
12 |
> |
if len(sys.argv) < 4 or len(sys.argv)>5: |
13 |
|
usage() |
14 |
|
sys.exit(0) |
15 |
|
|
16 |
|
HLT_Key = sys.argv[1] |
17 |
|
GT_Key = sys.argv[2] |
18 |
< |
GTRS_Key = sys.argv[3] |
18 |
> |
GTRS_Key = sys.argv[3] |
19 |
> |
PSColsToIgnore = [] |
20 |
> |
if len(sys.argv)==5: |
21 |
> |
for c in sys.argv[4].split(','): |
22 |
> |
try: |
23 |
> |
PSColsToIgnore.append(int(c)) |
24 |
> |
except: |
25 |
> |
print "ERROR: %s is not a valid prescale column" % c |
26 |
|
|
27 |
|
curs = ConnectDB('hlt') |
28 |
|
|
107 |
|
for hlt,l1 in zip(thisHLTPS,thisL1PS): |
108 |
|
prescales.append(hlt*l1) |
109 |
|
#print HLTName+" HLT: "+str(thisHLTPS)+" L1: "+str(thisL1PS)+" Total: "+str(prescales) |
110 |
< |
if not isSequential(prescales): |
110 |
> |
if not isSequential(prescales,PSColsToIgnore): |
111 |
|
print formatString % (HLTName,L1Seeds,prescales,thisHLTPS,thisL1PS,) |
112 |
|
FullPrescales[HLTName] = prescales |
113 |
|
|
234 |
|
L1PrescaleTable[index].append(ps) |
235 |
|
return L1PrescaleTable |
236 |
|
|
237 |
< |
def isSequential(row): |
237 |
> |
def isSequential(row,ignore): |
238 |
|
seq = True |
239 |
< |
lastEntry=row[0] |
240 |
< |
for entry in row: |
239 |
> |
lastEntry=999999999999 |
240 |
> |
for i,entry in enumerate(row): |
241 |
> |
if i in ignore: |
242 |
> |
continue |
243 |
|
if entry > lastEntry and lastEntry!=0: |
244 |
|
seq = False |
245 |
|
break |