예제 #1
0
    canvas.addHistogram(fpt, drawOpt='HIST')
    canvas.addHistogram(fptUp, drawOpt='HIST')
    canvas.addHistogram(fptDown, drawOpt='HIST')
    canvas.addHistogram(hpt, drawOpt='HIST')

    canvas.ylimits = (1.0, 2500000.)
    canvas.SetLogy(True)

    canvas.printWeb('monophoton/hadronTFactor' + suffix,
                    'distributions' + confName)

    rcanvas.Clear()
    rcanvas.legend.Clear()

    # if samp == 'Down':
    rcanvas.ylimits = (0., -1.)
    # else:
    # rcanvas.ylimits = (0., 0.05)

    rcanvas.SetLogy(False)

    rcanvas.legend.add(tname,
                       title='transfer factor',
                       lcolor=ROOT.kBlack,
                       lwidth=2)
    rcanvas.legend.add(tname + 'Syst',
                       title='impurity #pm 1#sigma',
                       lcolor=ROOT.kBlack,
                       lwidth=2,
                       lstyle=ROOT.kDashed)
예제 #2
0
파일: calcSF.py 프로젝트: dabercro/MonoX
                sfErrLow = effError / mceffs[0]
                sfErrHigh = effError / mceffs[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)
예제 #3
0
    canvas.addHistogram(gpt, drawOpt = 'HIST')
    canvas.addHistogram(fpt, drawOpt = 'HIST')
    canvas.addHistogram(fptUp, drawOpt = 'HIST')
    canvas.addHistogram(fptDown, drawOpt = 'HIST')
    canvas.addHistogram(hpt, drawOpt = 'HIST')

    canvas.ylimits = (1.0, 2500000.)
    canvas.SetLogy(True)

    canvas.printWeb('monophoton/hadronTFactor', 'distributions'+samp)

    rcanvas.Clear()
    rcanvas.legend.Clear()

    if samp == 'Down':
        rcanvas.ylimits = (0., -1.)
    else:
        rcanvas.ylimits = (0., 0.15)

    rcanvas.SetLogy(False)

    rcanvas.legend.add(tname, title = 'transfer factor', lcolor = ROOT.kBlack, lwidth = 2)
    rcanvas.legend.add(tname+'Syst', title = 'impurity #pm 1#sigma', lcolor = ROOT.kBlack, lwidth = 2, lstyle = ROOT.kDashed)

    rcanvas.legend.apply(tname, tfact)
    rcanvas.legend.apply(tname+'Syst', tfactUp)
    rcanvas.legend.apply(tname+'Syst', tfactDown)

    iNom = rcanvas.addHistogram(tfact, drawOpt = 'HIST')
    iUp = rcanvas.addHistogram(tfactUp, drawOpt = 'HIST')
    iDown = rcanvas.addHistogram(tfactDown, drawOpt = 'HIST')
예제 #4
0
                resultLegend.apply('signal', shist)
                shist.SetTitle('')

                iS = canvas.addHistogram(shist)
                groupList.append(iS)

            except ReferenceError:
                print region + ' region has no signal processes.'
                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, 100.)
        rlabel = region
    elif 'mono' in region:
        canvas.ylimits = (0.0003, 60.)
        if 'mu' in region:
            rlabel = '#mu#gamma'
        elif 'el' in region:
            rlabel = 'e#gamma'
    elif 'di' in region:
        canvas.ylimits = (0.0003, 8.)
        if 'mu' in region:
            rlabel = '#mu#mu#gamma'
        elif 'el' in region:
            rlabel = 'ee#gamma'

    canvas.cmsPave.SetTextSize(0.04)
예제 #5
0
파일: smearfit.py 프로젝트: yiiyama/MonoX
    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)
예제 #6
0
파일: plotFit.py 프로젝트: sraman2/MonoX
                canvas.legend.apply('signal', shist)
                shist.SetTitle('')

                iS = canvas.addHistogram(shist)
                groupList.append(iS)
            
            except ReferenceError:
                print region + ' region has no signal processes.'
                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':