2 from __future__
import print_function
3 from __future__
import absolute_import
4 from sys
import stderr, exit
7 from optparse
import OptionParser
8 parser = OptionParser(usage=
"usage: %prog [options] Trigger_Path")
9 parser.add_option(
"--firstRun", dest=
"firstRun", help=
"first run", type=
"int", metavar=
"RUN", default=
"1")
10 parser.add_option(
"--lastRun", dest=
"lastRun", help=
"last run", type=
"int", metavar=
"RUN", default=
"9999999")
11 parser.add_option(
"--groupName", dest=
"groupName", help=
"select runs of name like NAME", metavar=
"NAME", default=
"Collisions%")
12 parser.add_option(
"--jsonOut", dest=
"jsonOut", help=
"dump prescales in JSON format on FILE", metavar=
"FILE")
13 (options, args) = parser.parse_args()
20 edmCfgFromDB =
"edmConfigFromDB --orcoff --format summary.ascii --paths " + path;
24 cmd = ( edmCfgFromDB +
" --configName "+key +
" | grep -i "+ path +
" | tail -1 | awk ' $2 ==\"%s\" {print $NL}' " ) % path
25 res = commands.getoutput(cmd)
26 res_split = res.split()
30 for uu
in range(3,len(res_split)-1):
32 aa = aa + res_split[uu] +
"\t"
38 from .queryRR
import queryRR
40 runKeys =
queryRR(options.firstRun,options.lastRun,options.groupName)
42 runs = runKeys.keys(); runs.sort()
43 stderr.write(
"Querying ConfDB for prescales for path %s...\n" % (path));
47 if key
not in prescaleTable:
50 if path
in prescaleTable[key]: psfactor = prescaleTable[key][path]
51 print(
"%s\t%s" % (run, psfactor))
55 stderr.write(
"Exporting to JSON file %s...\n" % (options.jsonOut))
57 jsonFile = open(options.jsonOut,
"w")
58 jsonFile.write(json.dumps(jsout))