def dump_xsec(jobid):
    json_files = [
        i for i in glob.glob('inputs/%s/*.json' % jobid) if 'data_' not in i
    ]
    lumi_files = [
        i for i in glob.glob('inputs/%s/*.sum' % jobid) if 'data_' not in i
    ]

    datasets = {}
    for json_file in json_files:
        dname = json_file.split('/')[-1].split('.')[0]
        datasets[dname] = {}
        datasets[dname]['numevts'] = prettyjson.loads(
            open(json_file).read())['n_evts']

    for lumi_file in lumi_files:
        dname = lumi_file.split('/')[-1].split('.')[0]
        datasets[dname]['lumi'] = float(open(lumi_file).read().strip())

    out_format = '%60s' + '%15s' * 3
    print out_format % ('dataset', '# evts', 'lumi [/pb]', 'xsec [pb]')
    for dataset, info in datasets.iteritems():
        print out_format % (dataset, '%.3f' % info['numevts'],
                            '%.3f' % info['lumi'], '%.5f' %
                            (info['numevts'] / info['lumi']))
Esempio n. 2
0
def dump_xsec(jobid):
    json_files = [i for i in glob.glob('inputs/%s/*.json' % jobid) if 'data_' not in i]
    lumi_files = [i for i in glob.glob('inputs/%s/*.sum'  % jobid)  if 'data_' not in i]
    
    datasets = {}
    for json_file in json_files:
        dname = json_file.split('/')[-1].split('.')[0]
        datasets[dname] = {}
        datasets[dname]['numevts'] = prettyjson.loads(open(json_file).read())['n_evts']

    for lumi_file in lumi_files:
        dname = lumi_file.split('/')[-1].split('.')[0]
        datasets[dname]['lumi'] = float( open(lumi_file).read().strip() )

    out_format = '%30s'+'%15s'*3
    print out_format % ('dataset', '# evts', 'lumi [/pb]', 'xsec [pb]')
    for dataset, info in datasets.iteritems():
        print out_format % (dataset, '%.3f' % info['numevts'], '%.3f' % info['lumi'], '%.5f' % (info['numevts']/info['lumi']) )
Esempio n. 3
0
## parser.add_option('--png', action='store_true', dest='png', default = False,
##                   help='prints in png format')
## parser.add_option('--pdf', action='store_true', dest='pdf', default = False,
##                   help='prints in pdf format')
## parser.add_option('--tex', action='store_true', dest='tex', default = False,
##                   help='prints in LaTex format')
## parser.add_option('--txt', action='store_true', dest='txt', default = False,
##                   help='prints in txt format')
## parser.add_option('--root', action='store_true', dest='root', default = False,
##                   help='prints in root format')
## parser.add_option('--cpp', action='store_true', dest='cpp', default = False,
##                   help='prints in .C format')


(options,jsons) = parser.parse_args()
jmaps= [prettyjson.loads( open(json).read() ) for json in jsons]

exps = [j for j in jmaps if j['kind'] == 'expected']
exp  = exps[0] if len(exps) > 0 else None

obss = [j for j in jmaps if j['kind'] == 'observed']
obs  = obss[0] if len(obss) > 0 else None

canvas   = plotting.Canvas(name='adsf', title='asdf')
to_print = []
one_line = None

if exp:
    to_print.append(
        json2graph(
            exp,
#! /bin/env python

import FinalStateAnalysis.Utilities.prettyjson as prettyjson
from optparse import OptionParser
import logging

parser = OptionParser()
parser.add_option('--tag', '-t', type=str, default = None,
                  help='value of the tag to be added',dest='tag')
parser.add_option('--label', '-l', type=str, default = 'tag',
                  help='label of the tag to be added',dest='label')

(options,jsons) = parser.parse_args()

tagVal = options.tag

for jfile in jsons:
    json = prettyjson.loads( open(jfile).read() )
    json[options.label] = tagVal
    with open(jfile,'w') as out:
        out.write(prettyjson.dumps(json))
Esempio n. 5
0
## parser.add_option('--png', action='store_true', dest='png', default = False,
##                   help='prints in png format')
## parser.add_option('--pdf', action='store_true', dest='pdf', default = False,
##                   help='prints in pdf format')
## parser.add_option('--tex', action='store_true', dest='tex', default = False,
##                   help='prints in LaTex format')
## parser.add_option('--txt', action='store_true', dest='txt', default = False,
##                   help='prints in txt format')
## parser.add_option('--root', action='store_true', dest='root', default = False,
##                   help='prints in root format')
## parser.add_option('--cpp', action='store_true', dest='cpp', default = False,
##                   help='prints in .C format')

(options, jsons) = parser.parse_args()
jmaps = [prettyjson.loads(open(json).read()) for json in jsons]

exps = [j for j in jmaps if j['kind'] == 'expected']
exp = exps[0] if len(exps) > 0 else None

obss = [j for j in jmaps if j['kind'] == 'observed']
obs = obss[0] if len(obss) > 0 else None

canvas = plotting.Canvas(name='adsf', title='asdf')
to_print = []
one_line = None

if exp:
    to_print.append(
        json2graph(
            exp,
Esempio n. 6
0
parser.add_option('--name-by', type=str, default = "channel",
                  help='which information use to name',dest='name_by')
parser.add_option('--compare-by', type=str, default = "",
                  help='which information use compare. Json with same info will be plotted with same color but different line style',
                  dest='compare_by')
parser.add_option('--ref', type=str, default = "",
                  help='limit to be used as reference',dest='ref')
parser.add_option('--legend-on-the-left', action='store_true', dest='legend_left', default = False,
                  help='puts the legend on the left')


(options,jsons) = parser.parse_args()
jmaps= []
for json in jsons:
    print 'adding json limit file %s to stack' % json
    jmaps.append(prettyjson.loads( open(json).read() ))

to_print = []
mycols   = [
    colors['red'],
    colors['blue'],
    'darkgreen',
    'darkviolet',
    colors['cyan'],
    colors['orange'],
    ]

canvas   = plotting.Canvas(name='adsf', title='asdf')
style_dict = {}
one_line = None
first = True
        )

    signal_region = yields.os
    signal_region.mc_sum = signal_region.bkg_sum + signal_region.zmm
    signal_region.zmm_estimate = signal_region.data - signal_region.bkg_sum
    signal_region.zmm_ratio  = signal_region.zmm_estimate / signal_region.zmm


########################################################################################################################################################
######################################                        Loads summary tables from json                      ######################################
########################################################################################################################################################

jobid    = os.environ['jobid']
mt_table = convert_table(
    prettyjson.loads(
        open('results/%s/plots/mt/yield_dump.json' % jobid).read()
    ),
    sys_map_mt
)
#convert to struct, easier access
mt_table = RecursiveStruct(**mt_table)

mm_table = convert_table(
    prettyjson.loads(
        open('results/%s/plots/mm/yield_dump.json' % jobid).read()
    ),
    sys_map_mm
)
#convert to struct, easier access
mm_table = RecursiveStruct(**mm_table)
def txt2tuple(line):
    return tuple([ int(i.strip()) for i in line.split(':') ])

def is_in_json(evt, jsonmask):
    run  = evt[0]
    lumi = evt[1]
    if str(run) in jsonmask:
        for lumis in jsonmask[str(run)]:
            if lumis[0] <= lumi <= lumis[1]:
                return True
    return False


parser = argparse.ArgumentParser()
parser.add_argument('event')
parser.add_argument('masks', nargs='+')

args = parser.parse_args()
event = txt2tuple(args.event)

#print args.masks
jsons = [ (i, prettyjson.loads( open(i).read() )) for i in args.masks ]

for name, mask in jsons:
    if is_in_json(event, mask):
        print "Event %s should be in %s" % (args.event, name)
        sys.exit(0)

print "Event %s not found in any json!" % args.event

parser.add_option('--ref',
                  type=str,
                  default="",
                  help='limit to be used as reference',
                  dest='ref')
parser.add_option('--legend-on-the-left',
                  action='store_true',
                  dest='legend_left',
                  default=False,
                  help='puts the legend on the left')

(options, jsons) = parser.parse_args()
jmaps = []
for json in jsons:
    print 'adding json limit file %s to stack' % json
    jmaps.append(prettyjson.loads(open(json).read()))

to_print = []
mycols = [
    colors['red'],
    colors['blue'],
    'darkgreen',
    'darkviolet',
    colors['cyan'],
    colors['orange'],
]

canvas = plotting.Canvas(name='adsf', title='asdf')
style_dict = {}
one_line = None
first = True
#! /bin/env python

import FinalStateAnalysis.Utilities.prettyjson as prettyjson
from optparse import OptionParser
import logging

parser = OptionParser()
parser.add_option('--tag',
                  '-t',
                  type=str,
                  default=None,
                  help='value of the tag to be added',
                  dest='tag')
parser.add_option('--label',
                  '-l',
                  type=str,
                  default='tag',
                  help='label of the tag to be added',
                  dest='label')

(options, jsons) = parser.parse_args()

tagVal = options.tag

for jfile in jsons:
    json = prettyjson.loads(open(jfile).read())
    json[options.label] = tagVal
    with open(jfile, 'w') as out:
        out.write(prettyjson.dumps(json))