Example #1
0
def doit(*x):
    print x
    ll_fn, lumi_fn, check_intlumi_sum, goal, out_fn = x
    check_intlumi_sum *= 1e9 # csv in /ub

    random.seed(8675309)
    
    goal *= check_intlumi_sum

    in_ll = LumiList(ll_fn).getLumis()
    
    intlumis, intlumi_sum = intlumi_from_brilcalc_csv(lumi_fn, False)
    assert abs(intlumi_sum - check_intlumi_sum) < 1e6
       
    tot = 0.
    out_ll = []
    
    while tot < goal:
        i = random.randrange(len(in_ll))
        rl = in_ll.pop(i)
        #if not intlumis.has_key(rl):
        #    continue
        tot += intlumis[rl]
        out_ll.append(rl)
    
    print 'tot = %f, picked %i lumis' % (tot, len(out_ll))
    LumiList(lumis=out_ll).writeJSON(out_fn)
Example #2
0
import random, sys
from FWCore.PythonUtilities.LumiList import LumiList

random.seed(8675309)

in_ll = LumiList('TriggerStudies/jsons/L1_HTT175--ls where bit mask == 0, tot. presc. == 1.json').getLumis()

intlumis = [x.strip().split() for x in open('TriggerStudies/prescales_intlumi.txt') if x.strip()]
intlumis = dict(((int(r),int(l)), float(i)) for r,l,i in intlumis)

tot = 0.
goal = 0.1 * 2.6 * 1e9 # 1e9 bc input file has it in /ub
out_ll = []

while tot < goal:
    i = random.randrange(len(in_ll))
    rl = in_ll.pop(i)
    #if not intlumis.has_key(rl):
    #    continue
    tot += intlumis[rl]
    out_ll.append(rl)

print 'tot = %f, picked %i lumis' % (tot, len(out_ll))
LumiList(lumis=out_ll).writeJSON('ana_10pc.json')