Exemplo n.º 1
0
import array
import math
import shutil

thisdir = os.path.dirname(os.path.realpath(__file__))
basedir = os.path.dirname(thisdir)
sys.path.append(basedir)
import config
import utils
from datasets import allsamples
from tp.efake_conf import skimConfig, lumiSamples, outputDir, roofitDictsDir, getBinning, itune, vetoCut, fitBinningT, dataSource, tpconfs, monophSel, analysis

dataType = sys.argv[1] # "data" or "mc"
binningName = sys.argv[2] # see efake_conf

fitBins = getBinning(binningName)[2]

lumi = sum(allsamples[s].lumi for s in lumiSamples)

sys.argv = []

import ROOT
ROOT.gROOT.SetBatch(True)

ROOT.gSystem.Load('libRooFit.so')
ROOT.gROOT.LoadMacro(basedir + '/../common/MultiDraw.cc+')
ROOT.gSystem.Load(roofitDictsDir + '/libCommonRooFit.so') # defines KeysShape

### Files ###

outputName = outputDir + '/fittemplates_' + dataType + '_' + binningName + '.root'
Exemplo n.º 2
0
import os
import array
import math
import collections

thisdir = os.path.dirname(os.path.realpath(__file__))
basedir = os.path.dirname(thisdir)
sys.path.append(basedir)
from datasets import allsamples
from plotstyle import SimpleCanvas
from tp.efake_conf import lumiSamples, outputDir, getBinning

dataType = sys.argv[1]
binningName = sys.argv[2]

binningTitle, binning, fitBins = getBinning(binningName)

sys.argv = []

toyUncert = True

import ROOT
ROOT.gROOT.SetBatch(True)

inputTree = ROOT.TChain('yields')
inputTree.Add(outputDir + '/fityields_' + dataType + '_' + binningName + '.root')
if toyUncert:
    inputTree.Add(outputDir + '/toys_' + dataType + '_' + binningName + '.root')

vTPconf = array.array('i', [0])
vBinName = array.array('c', '\0' * 128)
Exemplo n.º 3
0
import math
import collections
from subprocess import Popen, PIPE

thisdir = os.path.dirname(os.path.realpath(__file__))
basedir = os.path.dirname(thisdir)
sys.path.append(basedir)
from datasets import allsamples
from plotstyle import WEBDIR, SimpleCanvas
from tp.efake_conf import lumiSamples, outputName, outputDir, roofitDictsDir, getBinning

binningName = sys.argv[1]

ADDFIT = True

binningTitle, binning, fitBins = getBinning(binningName)

binLabels = False
if len(binning) == 0:
    binLabels = True
    binning = range(len(fitBins) + 1)

sys.argv = []

import ROOT
ROOT.gROOT.SetBatch(True)
ROOT.gSystem.Load('libRooFit.so')
ROOT.gSystem.Load(roofitDictsDir + '/libCommonRooFit.so') # defines KeysShape

ROOT.gStyle.SetNdivisions(510, 'X')
Exemplo n.º 4
0
    sys.exit(1)


import ROOT
ROOT.gROOT.SetBatch(True)

proxyTree = ROOT.TChain('events')
proxyTree.Add(config.skimDir + '/wlnu-100_wenu.root')
proxyTree.Add(config.skimDir + '/wlnu-200_wenu.root')
proxyTree.Add(config.skimDir + '/wlnu-400_wenu.root')
proxyTree.Add(config.skimDir + '/wlnu-600_wenu.root')

tpTree = ROOT.TChain('skimmedEvents')
tpTree.Add(efake.skimDir + '/dy-50_eg.root')

title, binningList, fitBins = efake.getBinning(variable)
binning = array.array('d', binningList)

source = ROOT.TFile.Open(efake.outputDir + '/results_data_' + variable + '.root')
frate = source.Get(variable + '_frate')

# pixel seeding efficiency for electrons
efficiency = ROOT.TH1D('efficiency', '', len(binning) - 1, binning)
inefficiency = ROOT.TH1D('inefficiency', '', len(binning) - 1, binning)

for iX in range(1, frate.GetNbinsX() + 1):
    f = frate.GetBinContent(iX)
    eff = 1. / (1. + f)
    err = eff * frate.GetBinError(iX) / (1. + f)
    efficiency.SetBinContent(iX, eff)
    efficiency.SetBinError(iX, err)
Exemplo n.º 5
0
thisdir = os.path.dirname(os.path.realpath(__file__))
basedir = os.path.dirname(thisdir)
sys.path.append(basedir)
import config
from datasets import allsamples
from plotstyle import SimpleCanvas
from tp.efake_conf import skimDir, outputDir, roofitDictsDir, getBinning

# set to nonzero if you want to run toys in runMode single too
nToys = 0

dataType = sys.argv[1] # "data" or "mc"
binningName = sys.argv[2] # see efake_conf

fitBins = getBinning(binningName)[2]

# switching runMode
runMode = 'single'
pdf = 'default'

if len(sys.argv) == 7:
    # batch toy generation
    # args = <data/mc> <binningName> <nToys> <ee/eg> <bin> <seed>
    nToys = int(sys.argv[3])
    conf = sys.argv[4]
    binName = sys.argv[5]
    seed = int(sys.argv[6])

    if conf not in ['ee', 'eg']:
        raise RuntimeError('Unknown conf ' + conf)