Пример #1
0
                for bin in range(1, hist.GetNbinsX() + 1):
                    hist.SetBinContent(bin, flats[syst])

            #yp.prepKappaHist(hist)
            #yp.prepRatio(hist)

            # normalize to central value
            #hist.Divide(hCentral)

            hists.append(hist)

        #for hist in hists: print hist.GetName()

        # make stack/total syst hists
        #total = yp.getTotal(hists)
        stack = yp.getStack(hists)
        #sqHist = yp.getSquaredSum(hists)
        sqHist = yp.getSquaredSum(hists[::-1])

        hCentralUncert = yp.getHistWithError(hCentral, sqHist)

        hCentral.GetYaxis().SetRangeUser(0, 5.9)
        hCentral.GetYaxis().SetTitleSize(0.15)
        hCentral.GetYaxis().SetTitleOffset(0.17)

        # save hists
        allhists += hists + [hCentral, hCentralUncert, stack, sqHist]

        canv = yp.plotHists(var + "_" + signame, [stack, sqHist],
                            [hCentral, hCentralUncert],
                            "TLC",
Пример #2
0
            # set error
            for i in xrange(1,hPredUnc.GetNbinsX()+1):
                try:
                    hPredUnc.SetBinError(i,hDataPred.GetBinError(i)/hDataPred.GetBinContent(i))
                except ZeroDivisionError:
                    hPredUnc.SetBinError(i, 0.)

        # MC samps
        samps = [(samp,cat) for samp in mcSamps]
        mcHists = yp.makeSampHists(yds,samps)

        # Scale MC hists to Prediction
        scaleToHist(mcHists,hDataPred)

        mcStack = yp.getStack(mcHists)
        hUncert = hDataPred.Clone("uncert")
        hUncert.SetTitle("Statistical Uncertainty only")
        yp.setUnc(hUncert)

        #canv = plotHists("DataNJ45_"+cat,[stack,hMCpred,hDataPred,hData,total],ratio)
        width = 1200
        height = 600
        legPos = "TM"

        if doSquare == True:
            width = 600
            height = 600
            legPos = "Square"
        if doPoisErr:
            canv = yp.plotHists("SR_MB_Prediction",[mcStack,hUncert,hDataPois],[hPredUnc,ratioPois],legPos, width, height, logY = True)
Пример #3
0
        hist.GetYaxis().SetTitle("Relative uncertainty")
        hist.GetYaxis().SetTitleSize(0.04)
        hist.GetYaxis().SetTitleOffset(0.8)

        #yp.prepKappaHist(hist)
        #yp.prepRatio(hist)

        # normalize to central value
        #hist.Divide(hCentral)

        hists.append(hist)

    # make stack/total syst hists
    #total = yp.getTotal(hists)
    stack = yp.getStack(hists)
    sqHist = yp.getSquaredSum(hists)

    hCentralUncert = yp.getHistWithError(hCentral, sqHist)
    canv = yp.plotHists(var+"_"+samp+"_Syst",[stack,sqHist],[hCentral,hCentralUncert],"TM", 1200, 600)
#    canv = yp.plotHists(var+"_"+samp+"_Syst",[sqHist]+hists,[hCentral,hCentralUncert],"TM", 1200, 600)
#    canv = yp.plotHists(var+"_"+samp+"_Stat",[stack,sqHist],hCentral,"TM", 1200, 600)

    canvs.append(canv)
    if not yp._batchMode: raw_input("Enter any key to exit")

    # Save canvases
    exts = [".pdf",".png",".root"]
    #exts = [".pdf"]

    #odir = "BinPlots/Syst/Combine/test/allSF_noPU_Wpol/Method1A/"
    mcSamps = ['DY','TTV','SingleT','WJets','TT']
    #mcSamps = ['EWK']

    # update colors
    yp.colorDict["MC_prediction"] = yp.kRed
    yp.colorDict["Data_prediction"] = yp.kRed

    # Category
    cat = "SR_MB_predict"

    # MC samps
    samps = [(samp,cat) for samp in mcSamps]
    mcHists = yp.makeSampHists(yds,samps)

    mcStack = yp.getStack(mcHists)
    hTotal = yp.getTotal(mcHists)

    # for MC closure
    mcsamp = "EWK_poisson"
    mcsamp = "background_poisson_QCDsubtr"
    hMCpred = yp.makeSampHisto(yds,mcsamp,cat,"MC_prediction"); hMCpred.SetTitle("MC (Pred)")

    # DATA
    hDataPred = yp.makeSampHisto(yds,"data_QCDsubtr",cat,"Data_prediction"); hDataPred.SetTitle("Data (Pred)")
    hData = yp.makeSampHisto(yds,"data_QCDsubtr","SR_MB","Data"); hData.SetTitle("Data")

    ## Append Systematics to prediction
    print "Appending syst. unc. to prediction and total MC"
    hDataPred = yp.getHistWithError(hDataPred, hKappaSysts, new = False)
    hTotal = yp.getHistWithError(hTotal, hMCSysts, new = False)
Пример #5
0
    #samps = ["TTJets","WJets","TTV","DY","SingleTop"]
    #    mcSamps = ["EWK","TTJets","WJets","SingleTop","DY","TTV"]
    #mcSamps = ['TTdiLep','TTsemiLep','WJets','TTV','SingleT','DY']
    mcSamps = ['DY', 'TTV', 'SingleT', 'WJets', 'TTdiLep', 'TTsemiLep']

    cat = "SR_MB"

    #logY = True
    logY = False

    print "Making plot for", cat

    # MC samps
    samps = [(samp, cat) for samp in mcSamps]
    mcHists = yp.makeSampHists(ydsMC, samps)
    hMC = yp.getStack(mcHists)
    hTotal = yp.getTotal(mcHists)

    # Signals

    sighists = []

    masses = []
    mass = "mGo1500_mLSP100"
    massName = "(1500,100)"
    masses.append((mass, massName, yp.kMagenta))
    mass = "mGo1200_mLSP800"
    massName = "(1200,800)"
    masses.append((mass, massName, yp.kBlack))

    for (mass, massName, col) in masses: