Exemple #1
0
                      color=r.TColor.GetColor(0x55, 0x44, 0xff),
                      idx=-1)

    canvas.addStacked(mcmet,
                      title='#gamma + jet MC',
                      color=r.TColor.GetColor(0xff, 0xaa, 0xcc),
                      idx=-1)

    canvas.addObs(dmet, title='Data')

    canvas.xtitle = canvas.obsHistogram().GetXaxis().GetTitle()
    canvas.ytitle = canvas.obsHistogram().GetYaxis().GetTitle()

    canvas.Update(logy=True)

    canvas.printWeb('monophoton/gjetsTFactor', 'distributions' + region)

###########################################
####### Transfer Factors ##################
###########################################

methods = [('Data', gmets), ('MC', mcmets)]
scanvas = SimpleCanvas(lumi=lumi)

tfacts = []

for method, hists in methods:
    tname = 'tfact' + method
    tfact = hists[1].Clone(tname)
    tfact.Divide(hists[0])
Exemple #2
0
                yaxis.SetY1(simple.canvas.GetBottomMargin())
                yaxis.SetY2(1. - simple.canvas.GetTopMargin())

                simple.canvas.IsA().Destructor(simple.canvas)
                simple.canvas = cnv
                simple._needUpdate = False
                simple.printWeb(plotDir, vardef.name)

                if addLinear:
                    simple.ylimits = (0., -1.)
                    simple.minimum = -1.
                    vardef.ymax = -1.
                    simple._needUpdate = True
                    simple.printWeb(plotDir, vardef.name + 'Linear', logy = False)

                # cleanup the mess
                for obj in garbage:
                    obj.IsA().Destructor(obj)

                cnv.IsA().Destructor(cnv)

            else:
                canvas.printWeb(plotDir, vardef.name)

                if addLinear:
                    canvas.ylimits = (0., -1.)
                    canvas.minimum = -1.
                    vardef.ymax = -1.
                    canvas._needUpdate = True
                    canvas.printWeb(plotDir, vardef.name + 'Linear', logy = False)
Exemple #3
0
    for probeEtaCut in probeEtaCuts:
        finalCuts = allCuts + [probeEtaCut[0]]
        cutString = ' && '.join(['(%s)' % c for c in finalCuts])
        print cutString

        label = recoilCut[1] + '_' + probeEtaCut[1]

        canvas.Clear()
        canvas.legend.Clear()
        canvas.legend.setPosition(0.6, 0.7, 0.9, 0.9)

        dataName = 'dataHist_' + label
        dataHist = r.TH1D(dataName, '', 20, 0., 2.)
        dataHist.Sumw2()
        dataTree.Draw(varString + '>>' + dataName,
                      'weight * (' + cutString + ')', 'goff')
        canvas.addObs(dataHist, title='Data')

        for sample, color, mcTree in mcTrees:
            mcName = sample + '_' + label
            mcHist = r.TH1D(mcName, '', 20, 0., 2.)
            mcHist.Sumw2()
            mcTree.Draw(varString + '>>' + mcName,
                        str(lumi) + ' * weight * (' + cutString + ')', 'goff')

            canvas.addStacked(mcHist, title=sample, color=color)

        canvas.ylimits = (0.001, -1.)

        canvas.printWeb('monophoton/phoMet', 'ratio_' + label, logy=True)
Exemple #4
0
                canvas.Clear()
                canvas.legend.Clear()
                canvas.legend.setPosition(0.6, 0.7, 0.9, 0.9)

                dataName = 'dataHist'+skim
                dataHist = varDef.makeHist(dataName)

                if varDef.unit != '':
                    dataHist.GetXaxis().SetTitle(varDef.title + ' (' + varDef.unit +')')
                else:
                    dataHist.GetXaxis().SetTitle(varDef.title)

                dataCutString = cutString + ' && !(run > %s)' % config.runCutOff

                dataTree.Draw(varDef.expr+'>>'+varDef.name+'-'+dataName, 'weight * ('+cutString+')', 'goff')
                print dataHist.Integral()
                canvas.addObs(dataHist, title = 'Data '+skimm)

                for sample, color, mcTree in mcTrees:
                    mcName = sample+skimm
                    mcHist = varDef.makeHist(mcName)
                    mcTree.Draw(varDef.expr+'>>'+varDef.name+'-'+mcName, str(lumi)+' * weight * ('+cutString+')', 'goff')
                    canvas.addStacked(mcHist, title = sample, color = color)

                # canvas.ylimits = (0.001, -1.)
                canvas.xtitle = varDef.title
                canvas.ytitle = 'Events'

                canvas.printWeb('monophoton/phoMet/'+skim, skimm[:3]+'_'+jetsCut[0]+'_'+sign+'_'+varDef.name, logy = False)
Exemple #5
0
print dataHist.Integral()
canvas.addObs(dataHist, title='Data')

for region, cut, color, bkgTree in bkgTrees:
    bkgHist = varDef.makeHist(varDef.name + '-' + region)
    print bkgHist.GetName()
    fullCut = cutString + ' && ' + cut
    bkgTree.Draw(varDef.expr + '>>' + varDef.name + '-' + region,
                 'weight * (' + cutString + ')', 'goff')
    if region == 'offtimeIso':
        bkgHist.Scale(23.9 / bkgHist.Integral())
    elif region == 'halo':
        bkgHist.Scale(1. / 3000.)

    print bkgHist.Integral()
    canvas.addStacked(bkgHist, title=region, color=color)

for sample, color, mcTree in mcTrees:
    mcHist = varDef.makeHist(varDef.name + '-' + sample)
    print mcHist.GetName()
    mcTree.Draw("1.02 * " + varDef.expr + '>>' + varDef.name + '-' + sample,
                str(lumi) + ' * weight * (' + cutString + ')', 'goff')
    print mcHist.Integral()
    canvas.addStacked(mcHist, title=sample, color=color)

# canvas.ylimits = (0.001, -1.)
canvas.xtitle = varDef.title
canvas.ytitle = 'Events'

canvas.printWeb('monophoton/pes/', varDef.name + "02")
Exemple #6
0
    canvas.SetLogy(True)

    canvas.legend.setPosition(0.6, 0.7, 0.95, 0.9)

    canvas.addStacked(bmet, title = 'Background', color = r.TColor.GetColor(0x55, 0x44, 0xff), idx = -1)

    canvas.addStacked(mcmet, title = '#gamma + jet MC', color = r.TColor.GetColor(0xff, 0xaa, 0xcc), idx = -1)

    canvas.addObs(dmet, title = 'Data')

    canvas.xtitle = canvas.obsHistogram().GetXaxis().GetTitle()
    canvas.ytitle = canvas.obsHistogram().GetYaxis().GetTitle()

    canvas.Update(logy = True)

    canvas.printWeb('monophoton/gjetsTFactor', 'distributions'+region)

###########################################
####### Transfer Factors ##################
###########################################

methods = [ ('Data', gmets), ('MC', mcmets) ]
scanvas = SimpleCanvas(lumi = lumi)

tfacts = []

for method, hists in methods:
    tname = 'tfact'+method
    tfact = hists[1].Clone(tname)
    tfact.Divide(hists[0])
Exemple #7
0
                    dataName = 'dataHist'+skim
                    dataHist = varDef.makeHist(dataName)

                    if varDef.unit != '':
                        dataHist.GetXaxis().SetTitle(varDef.title + ' (' + varDef.unit +')')
                    else:
                        dataHist.GetXaxis().SetTitle(varDef.title)

                    dataCutString = cutString + ' && !(run > %s)' % config.runCutOff

                    dataTree.Draw(varDef.expr+'>>'+varDef.name+'-'+dataName, 'weight * ('+cutString+')', 'goff')
                    print dataHist.Integral()
                    canvas.addObs(dataHist, title = 'Data '+skimm)

                    for sample, color, mcTree in mcTrees:
                        mcName = sample+skimm
                        mcHist = varDef.makeHist(mcName)
                        mcTree.Draw(varDef.expr+'>>'+varDef.name+'-'+mcName, str(lumi)+' * weight * ('+cutString+')', 'goff')
                        canvas.addStacked(mcHist, title = sample, color = color)

                    # canvas.ylimits = (0.001, -1.)
                    canvas.xtitle = varDef.title
                    canvas.ytitle = 'Events'

                    if varDef.logy is None:
                        logy = False
                    else:
                        logy = varDef.logy

                    canvas.printWeb('monophoton/zjets/'+skim, skimm[:3]+'_'+jetsCut[0]+'_Met'+metValue+'_'+varDef.name, logy = logy)
Exemple #8
0
data.Add('/mnt/hadoop/scratch/yiiyama/monophoton/skim/sph-16*-m_tpeg.root')

outputFile.cd()
data.Draw('probes.sieie>>hdata', selection, 'goff')

hmc.Scale(hdata.GetSumOfWeights() / hmc.GetSumOfWeights())

ratio = hdata.Clone('ratio')
ratio.Divide(hmc)

line = ROOT.TF1('line', '[0] + [1] * x', 0.0085, 0.0105)
line.SetParameters(1.5, -100.)
ratio.Fit(line)

outputFile.cd()
hmc.Write()
hdata.Write()
ratio.Write()
line.Write('fit')

# visualize

canvas = DataMCCanvas(lumi=sum(s.lumi
                               for s in allsamples.getmany('sph-16*-m')))
canvas.legend.setPosition(0.7, 0.7, 0.9, 0.9)

canvas.addStacked(hmc, title='MC', color=ROOT.kBlue, style=3003)
canvas.addObs(hdata, title='Data')

canvas.printWeb('purity', 'sieie_ratio', logy=False)
Exemple #9
0
for recoilCut in recoilCuts:
    allCuts = cuts + [recoilCut[0]]
    for probeEtaCut in probeEtaCuts:
        finalCuts = allCuts + [probeEtaCut[0]]
        cutString = " && ".join(["(%s)" % c for c in finalCuts])
        print cutString

        label = recoilCut[1] + "_" + probeEtaCut[1]

        canvas.Clear()
        canvas.legend.Clear()
        canvas.legend.setPosition(0.6, 0.7, 0.9, 0.9)

        dataName = "dataHist_" + label
        dataHist = r.TH1D(dataName, "", 20, 0.0, 2.0)
        dataHist.Sumw2()
        dataTree.Draw(varString + ">>" + dataName, "weight * (" + cutString + ")", "goff")
        canvas.addObs(dataHist, title="Data")

        for sample, color, mcTree in mcTrees:
            mcName = sample + "_" + label
            mcHist = r.TH1D(mcName, "", 20, 0.0, 2.0)
            mcHist.Sumw2()
            mcTree.Draw(varString + ">>" + mcName, str(lumi) + " * weight * (" + cutString + ")", "goff")

            canvas.addStacked(mcHist, title=sample, color=color)

        canvas.ylimits = (0.001, -1.0)

        canvas.printWeb("monophoton/phoMet", "ratio_" + label, logy=True)
Exemple #10
0
                  title='Fake E_{T}^{miss}',
                  color=ROOT.kRed,
                  drawOpt='HIST')
canvas.addStacked(sig, title='H(125)', color=ROOT.kBlue, drawOpt='HIST')

bkgTrue.Scale(1., 'width')
fakeTrue.Scale(fakeNorm / fakeTrue.GetSumOfWeights(), 'width')
sigTrue.Scale(sigScale, 'width')

canvas.addSignal(bkgTrue,
                 title='True SM Bkgd.',
                 color=ROOT.kGreen + 2,
                 drawOpt='HIST')
canvas.addSignal(fakeTrue,
                 title='True Fake E_{T}^{miss}',
                 color=ROOT.kRed + 2,
                 drawOpt='HIST')
canvas.addSignal(sigTrue,
                 title='True H(125)',
                 color=ROOT.kBlue + 2,
                 drawOpt='HIST')

canvas.addObs(data, drawOpt='EP')

canvas.title = '#sigma#timesBR = %.2f, N_{fake} = %.0f' % (originalMu *
                                                           sigScale, fakeNorm)
canvas.xtitle = 'm_{T} (GeV)'
canvas.ytitle = 'Events / GeV'

canvas.printWeb('monophoton/fakemet', name, logy=False)
Exemple #11
0
                        dataHist.GetXaxis().SetTitle(varDef.title)

                    dataTree.Draw(
                        varDef.expr + '>>' + varDef.name + '-' + dataName,
                        'weight * (' + cutString + ')', 'goff')
                    print dataHist.Integral()
                    canvas.addObs(dataHist, title='Data ' + skimm)

                    for sample, color, mcTree in mcTrees:
                        mcName = sample + skimm
                        mcHist = varDef.makeHist(mcName)
                        mcTree.Draw(
                            varDef.expr + '>>' + varDef.name + '-' + mcName,
                            str(smuLumi) + ' * weight * (' + cutString + ')',
                            'goff')
                        canvas.addStacked(mcHist, title=sample, color=color)

                    # canvas.ylimits = (0.001, -1.)
                    canvas.xtitle = varDef.title
                    canvas.ytitle = 'Events'

                    if varDef.logy is None:
                        logy = False
                    else:
                        logy = varDef.logy

                    canvas.printWeb('monophoton/zjets/' + skim,
                                    skimm[:3] + '_' + jetsCut[0] + '_Met' +
                                    metValue + '_' + varDef.name,
                                    logy=logy)