Esempio n. 1
0
                gSF.SetPoint(iB, center, sf)
                gSF.SetPointError(iB, exl, exh, sfErrLow, sfErrHigh)

                print sf, sfErrLow, sfErrLow / sf

            rcanvas.legend.add("mc", title = "MC", mcolor = r.kRed, lcolor = r.kRed, lwidth = 2)
            rcanvas.legend.apply("mc", mcEff)
            rcanvas.addHistogram(mcEff, drawOpt = 'EP')

            rcanvas.legend.add("data", title = "Data", lcolor = r.kBlack, lwidth = 2)
            rcanvas.legend.apply("data", dataEff)
            rcanvas.addHistogram(dataEff, drawOpt = 'EP')

            rcanvas.ylimits = (0.0, 1.1)
            rcanvas.ytitle = 'Photon Efficiency'
            rcanvas.xtitle = 'E_{T}^{#gamma} (GeV)'

            plotName = "efficiency_"+str(loc)+"_"+str(pid)
            rcanvas.printWeb('purity/'+s.Version+'/ScaleFactors', plotName, logy = False)
                
            canvas.legend.add(loc+'-'+pid, title = loc+'-'+pid, color = r.kBlack, lwidth = 2)
            canvas.legend.apply(loc+'-'+pid, gSF)
            canvas.addHistogram(gSF, drawOpt = 'EP')
            
            canvas.ylimits = (0.0, 2.0)
            canvas.ytitle = 'Photon Scale Factor'
            canvas.xtitle = 'E_{T}^{#gamma} (GeV)'

            plotName = "scalefactor_"+str(loc)+"_"+str(pid)
            canvas.printWeb('purity/'+s.Version+'/ScaleFactors', plotName, logy = False)
Esempio n. 2
0
model.fitTo(ddata)

frame = met.frame()
ddata.plotOn(frame)
model.plotOn(frame)
model.plotOn(frame, ROOT.RooFit.Components('gjets'), ROOT.RooFit.LineColor(ROOT.kGreen), ROOT.RooFit.LineStyle(ROOT.kDashed))
mcpdf.plotOn(frame, ROOT.RooFit.LineColor(ROOT.kRed), ROOT.RooFit.LineStyle(ROOT.kDotted))
frame.SetTitle('min#Delta#phi(j, E_{T}^{miss}) < 0.5')
#frame.GetXaxis().SetTitle('E_{T}^{miss} (GeV)')
frame.GetXaxis().SetTitle('')
frame.GetXaxis().SetTitleSize(0.)
frame.GetXaxis().SetLabelSize(0.)
frame.GetYaxis().SetLabelSize(0.)
frame.GetYaxis().SetTickSize(0.)

canvas.xtitle = 'E_{T}^{miss} (GeV)'
canvas.legend.add('data', title = 'Data', mstyle = 8, color = ROOT.kBlack, opt = 'LP')
canvas.legend.add('fit', title = 'Fit', color = ROOT.kBlue, lwidth = 2, opt = 'L')
canvas.legend.add('gjets', title = '#gamma+jets', color = ROOT.kGreen, lstyle = ROOT.kDashed, lwidth = 2, opt = 'L')
canvas.legend.add('mcpdf', title = '#gamma+jets raw', color = ROOT.kRed, lstyle = ROOT.kDotted, lwidth = 2, opt = 'L')

canvas.addHistogram(frame, clone = False, drawOpt = '')

canvas.Update()

fitcurve = frame.findObject('model_Norm[met]')
rawcurve = frame.findObject('mcpdf_Norm[met]')

rdata = ROOT.TGraphErrors(dmet.GetNbinsX())
for iP in range(rdata.GetN()):
    x = dmet.GetXaxis().GetBinCenter(iP + 1)
Esempio n. 3
0
frame = met.frame()
ddata.plotOn(frame)
model.plotOn(frame)
model.plotOn(
    frame, ROOT.RooFit.Components("gjets"), ROOT.RooFit.LineColor(ROOT.kGreen), ROOT.RooFit.LineStyle(ROOT.kDashed)
)
mcpdf.plotOn(frame, ROOT.RooFit.LineColor(ROOT.kRed), ROOT.RooFit.LineStyle(ROOT.kDotted))
frame.SetTitle("min#Delta#phi(j, E_{T}^{miss}) < 0.5")
# frame.GetXaxis().SetTitle('E_{T}^{miss} (GeV)')
frame.GetXaxis().SetTitle("")
frame.GetXaxis().SetTitleSize(0.0)
frame.GetXaxis().SetLabelSize(0.0)
frame.GetYaxis().SetLabelSize(0.0)
frame.GetYaxis().SetTickSize(0.0)

canvas.xtitle = "E_{T}^{miss} (GeV)"
canvas.legend.add("data", title="Data", mstyle=8, color=ROOT.kBlack, opt="LP")
canvas.legend.add("fit", title="Fit", color=ROOT.kBlue, lwidth=2, opt="L")
canvas.legend.add("gjets", title="#gamma+jets", color=ROOT.kGreen, lstyle=ROOT.kDashed, lwidth=2, opt="L")
canvas.legend.add("mcpdf", title="#gamma+jets raw", color=ROOT.kRed, lstyle=ROOT.kDotted, lwidth=2, opt="L")

canvas.addHistogram(frame, clone=False, drawOpt="")

canvas.Update()

fitcurve = frame.findObject("model_Norm[met]")
rawcurve = frame.findObject("mcpdf_Norm[met]")

rdata = ROOT.TGraphErrors(dmet.GetNbinsX())
for iP in range(rdata.GetN()):
    x = dmet.GetXaxis().GetBinCenter(iP + 1)
Esempio n. 4
0
    iObs = canvas.addHistogram(obs)
    iPreUnc = canvas.addHistogram(prefitUnc, drawOpt = 'E2')
    iPre = canvas.addHistogram(prefitTotal, drawOpt = 'HIST')
    iPostUnc = canvas.addHistogram(postfitUnc, drawOpt = 'E2')
    iPost = canvas.addHistogram(postfitTotal, drawOpt = 'HIST')

    iLine = canvas.addHistogram(dataHist, drawOpt = 'HIST')
    iPreUncRatio = canvas.addHistogram(prefitUncRatio, drawOpt = 'E2')
    iPreRatio = canvas.addHistogram(prefitRatio, drawOpt = 'LP')
    iPostUncRatio = canvas.addHistogram(postfitUncRatio, drawOpt = 'E2')
    iPostRatio = canvas.addHistogram(postfitRatio, drawOpt = 'LP')
    

    if postfitSub:
        iSub = canvas.addHistogram(postfitSub)
        hList = [iSub, iPreUnc, iPre, iPostUnc, iPost, iObs]
    else:
        hList = [iPreUnc, iPre, iPostUnc, iPost, iObs]

    canvas.rlimits = (0.0, 2.0)
    canvas.xtitle = 'E_{T}^{#gamma} (GeV)'
    canvas.ytitle = 'Events / GeV'

    canvas.printWeb('monophoton/fit', region, hList = hList, rList = [iLine, iPreUncRatio, iPostUncRatio, iPreRatio, iPostRatio])
    canvas.Clear()

    dataHist.Delete()
    if postfitSub:
        postfitSub.Delete()
Esempio n. 5
0
        elif 'el' in region:
            rlabel = 'ee#gamma'

    canvas.cmsPave.SetTextSize(0.04)
    canvas.addText(rlabel, 0.185, 0.82, 0.35, 0.86, size=0.04, align=12)

    resultLegend.setPosition(0.4, 0.88 - 0.04 * len(resultLegend.entries),
                             0.63, 0.88)
    canvas.legend.setPosition(0.63, 0.88 - 0.04 * len(canvas.legend.entries),
                              0.9, 0.88)

    resultLegend.SetTextSize(0.04)
    canvas.legend.SetTextSize(0.04)

    if config == 'monoph':
        canvas.xtitle = 'E_{T}^{#gamma} [GeV]'
    else:
        canvas.xtitle = 'M_{T}(#gamma, E_{T}^{miss}) [GeV]'
    canvas.ytitle = 'Events / GeV'
    canvas.rtitle = 'Data / Pred.'

    if pdir == 'p':
        outname = 'prefit_' + region
    elif pdir == 'c':
        outname = 'CRonly_' + region
    elif pdir == 'b':
        outname = 'bonly_' + region
    elif pdir == 's':
        outname = 'splusb_' + region

    resultLegend.construct()
            nominal.GetXaxis().SetBinLabel(ibin + 1, binlabels[ibin])

        measured.SetPoint(ibin, (binning[ibin] + binning[ibin + 1]) * 0.5,
                          dsigma * cent[0])
        measured.SetPointEYhigh(ibin, dsigma * up[0])
        measured.SetPointEYlow(ibin, dsigma * down[0])

    nominalLine = nominal.Clone('line')
    canvas.legend.apply('nominal', nominalLine)
    nominalLine.SetFillStyle(0)

    canvas.legend.apply('nominal', nominal)
    nominal.SetMaximum(nominal.GetMaximum() * 1.2)

    canvas.legend.apply('obs', measured)
    measured.SetTitle('')

    canvas.addHistogram(nominal, drawOpt='E2')
    canvas.addHistogram(nominalLine, drawOpt='HIST')
    canvas.addHistogram(measured, drawOpt='EP')

    canvas.xtitle = nominal.GetXaxis().GetTitle()
    canvas.ytitle = nominal.GetYaxis().GetTitle()
    canvas.rtitle = 'Fit / prediction'

    canvas.printWeb('hww/20190205', 'sigma_%s' % observable, logy=False)
    canvas.Clear()

    nominalLine.Delete()
    nominal.Delete()
Esempio n. 7
0
    frame = met.frame()
    ddata.plotOn(frame)
    model.plotOn(frame)
    model.plotOn(frame, ROOT.RooFit.Components('gjets'), ROOT.RooFit.LineColor(ROOT.kGreen), ROOT.RooFit.LineStyle(ROOT.kDashed))
    mcpdf.plotOn(frame, ROOT.RooFit.LineColor(ROOT.kRed), ROOT.RooFit.LineStyle(ROOT.kDotted))
    # frame.SetTitle('min#Delta#phi(j, E_{T}^{miss}) < 0.5')
    #frame.GetXaxis().SetTitle('E_{T}^{miss} (GeV)')
    frame.GetXaxis().SetTitle('')
    frame.GetXaxis().SetTitleSize(0.)
    frame.GetXaxis().SetLabelSize(0.)
    frame.GetYaxis().SetLabelSize(0.)
    frame.GetYaxis().SetTickSize(0.)

    canvas.Clear()
    canvas.xtitle = 'E_{T}^{miss} (GeV)'
    canvas.ylimits = (0.1, 1000000.)

    canvas.addHistogram(frame, clone = True, drawOpt = '')

    canvas.Update(rList = [])

    fitcurve = frame.findObject('model_Norm[met]')
    rawcurve = frame.findObject('mcpdf_Norm[met]')

    rdata = ROOT.TGraphErrors(dmet.GetNbinsX())
    for iP in range(rdata.GetN()):
        x = dmet.GetXaxis().GetBinCenter(iP + 1)
        norm = fitcurve.interpolate(x)
        rdata.SetPoint(iP, x, dmet.GetBinContent(iP + 1) / norm)
        rdata.SetPointError(iP, 0., dmet.GetBinError(iP + 1) / norm)
Esempio n. 8
0
                pass

        hList = groupList + [iPreUnc, iPre, iPostUnc, iPost, iObs]

    canvas.rlimits = (0.0, 2.5)
    if 'monoph' in region or 'horizontal' in region or 'vertical' in region:
        canvas.ylimits = (0.0003, 200.)
    elif 'mono' in region:
        canvas.ylimits = (0.0003, 20.)
    elif 'di' in region:
        canvas.ylimits = (0.0003, 5.)

    canvas.legend.setPosition(0.65, 0.92 - 0.04 * len(canvas.legend.entries), 0.9, 0.92)

    if config == 'monoph':
        canvas.xtitle = 'E_{T}^{#gamma} (GeV)'
    else:
        canvas.xtitle = 'M_{T}(#gamma, E_{T}^{miss}) (GeV)'
    canvas.ytitle = 'Events / GeV'
    canvas.rtitle = 'Data / Pred.'

    if pdir == 'p':
        outname = 'prefit_' + region
    elif pdir == 'c':
        outname = 'CRonly_' + region 
    elif pdir == 'b':
        outname = 'bonly_' + region
    elif pdir == 's':
        outname = 'splusb_' + region

    canvas.Update(hList = hList, rList = [iLine, iPreUncRatio, iPostUncRatio, iPreRatio, iPostRatio], logy = True)