2 from sys
import stderr, exit
5 from optparse
import OptionParser
6 parser = OptionParser(usage=
"usage: %prog [options] Trigger_Path")
7 parser.add_option(
"--firstRun", dest=
"firstRun", help=
"first run", type=
"int", metavar=
"RUN", default=
"1")
8 parser.add_option(
"--lastRun", dest=
"lastRun", help=
"last run", type=
"int", metavar=
"RUN", default=
"9999999")
9 parser.add_option(
"--groupName", dest=
"groupName", help=
"select runs of name like NAME", metavar=
"NAME", default=
"Collisions%")
10 parser.add_option(
"--jsonOut", dest=
"jsonOut", help=
"dump prescales in JSON format on FILE", metavar=
"FILE")
11 (options, args) = parser.parse_args()
18 edmCfgFromDB =
"edmConfigFromDB --orcoff --format summary.ascii --paths " + path;
22 cmd = ( edmCfgFromDB +
" --configName "+key +
" | grep -i "+ path +
" | tail -1 | awk ' $2 ==\"%s\" {print $NL}' " ) % path
23 res = commands.getoutput(cmd)
24 res_split = res.split()
27 for uu
in range(3,len(res_split)-1):
29 psCols.append(res_split[uu])
32 from queryRR
import queryRR
35 asciiFile=open(
"columns.txt",
"read")
39 fl=asciiFile.readline()
44 mapIndex[runnumber]=pindex
50 runKeys =
queryRR(options.firstRun,options.lastRun,options.groupName)
53 runs = runKeys.keys(); runs.sort()
54 stderr.write(
"Querying ConfDB for prescales for path %s...\n" % (path));
58 if not prescaleTable.has_key(key):
62 if len(prescaleTable[key]) == 0:
65 if MapIndex.has_key(run):
66 index = int(MapIndex[run])
67 psfactor = prescaleTable[key][index]
71 psfactor = prescaleTable[key][index]
75 psfactor = prescaleTable[key][index]
79 print "%s\t%s" % (run, psfactor)
81 print "%s\t%s\t (*)" % (run, psfactor)
86 print "(*) The following runs were not found in columns.txt (the run may be too recent, or the prescale index is not in OMDS)."
87 print "For these runs, the prescale_index was assumed to be zero. You need to check independently."
93 stderr.write(
"Exporting to JSON file %s...\n" % (options.jsonOut))
95 jsonFile = open(options.jsonOut,
"w")
96 jsonFile.write(json.dumps(jsout))
def getPrescalesFromKey
my $pyPrintTable = "echo 'for X in process.PrescaleService.prescaleTable: print \"%s %s" % (X...