예제 #1
0
                print "Plots for", patternnew

                yds = yp.YieldStore("lepYields")
                yds.addFromFiles(patternnew, ("lep", "sele"))
                yds.showStats()

                canvs = []

                # Samples
                samps = ["EWK"]  #,"TT","TTdiLep","TTsemiLep","WJets"]

                for samp in samps:

                    # RCS MB
                    yp.colorDict[samp + "_Rcs_MB"] = yp.kBlue
                    hRcsMB = yp.makeSampHisto(yds, samp, "Rcs_MB",
                                              samp + "_Rcs_MB")
                    #hRcsMB.SetTitle("R_{CS} (MB)")
                    hRcsMB.SetTitle(
                        "R_{CS}^{MC}(n_{b-tag}, n_{jet}^{SR}, EWK)")
                    #                    hRcsMB.SetTitle("R_{CS}^{MC}(n_{b-tag}, n_{jet}#in [5], EWK)")

                    # RCS SB
                    yp.colorDict[samp + "_Rcs_SB"] = yp.kRed
                    hRcsSB = yp.makeSampHisto(yds, samp, "Rcs_SB",
                                              samp + "_Rcs_SB")
                    #hRcsSB.SetTitle("R_{CS} (SB)")
                    hRcsSB.SetTitle(
                        "R_{CS}^{MC}(n_{b-tag}, n_{jet}#in [4,5], EWK)")
                    #                    hRcsSB.SetTitle("R_{CS}^{MC}(n_{b-tag}, n_{jet}#in [4], EWK)")

                    # Kappa
예제 #2
0
    basename = os.path.basename(pattern)
    mask = basename.replace("*","X_")

    yds = yp.YieldStore("Sele")
    yds.addFromFiles(pattern,("lep","sele"))

    canvs = []

    # Samples
    samps = ["EWK","TT","TTdiLep","TTsemiLep","WJets"]

    for samp in samps:

        # RCS MB
        yp.colorDict[samp+"_Rcs_MB"] = yp.kBlue
        hRcsMB = yp.makeSampHisto(yds,samp,"Rcs_MB",samp+"_Rcs_MB")
        hRcsMB.SetTitle("R_{CS} (MB)")

        # RCS SB
        yp.colorDict[samp+"_Rcs_SB"] = yp.kRed
        hRcsSB = yp.makeSampHisto(yds,samp,"Rcs_SB",samp+"_Rcs_SB")
        hRcsSB.SetTitle("R_{CS} (SB)")

        # Kappa
        yp.colorDict[samp+"_Kappa"] = yp.kBlack
        hKappa = yp.makeSampHisto(yds,samp,"Kappa",samp+"_Kappa")
        hKappa.SetTitle("#kappa")

        yp.prepKappaHist(hKappa)
        yp.prepRatio(hKappa)
예제 #3
0
    #masses = ["mGo1200_mLSP800","mGo1500_mLSP100"]

    var = "SR_MB"

    # canvs
    canvs = []
    allhists = []

    for mass in masses:

        hists = []

        # read in central value
        signame = samp + "_" + mass

        hCentral = yp.makeSampHisto(yds, signame, var, signame + "_central")
        #print hCentral
        yp.prepRatio(hCentral, True)
        #hCentral.GetYaxis().SetRangeUser()

        ## Define flat values (i.e. for PU)
        flats = {}
        #flats["PU"] =  0.05

        ### Add flat systs (lumi, lepSF, triggEff, etc.)
        #flats["stat"] = 0.1
        flats["lepSF"] = 0.02
        flats["lumi"] = 0.026
        flats["iso"] = 0.04
        flats["trig"] = 0.02
        flats["PU"] = 0.1
예제 #4
0
    # update colors
    yp.colorDict["MC_prediction"] = yp.kGreen
    yp.colorDict["Data_prediction"] = yp.kRed

    # Category
    #cat = "CR_MB"
    cats = ["SR_MB_predict"]

    canvs = []

    for cat in cats:

        # Totals
        #hMCpred = yp.makeSampHisto(yds,"background_QCDsubtr",cat,"MC_prediction"); hMCpred.SetTitle("MC (Pred)")
        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")

        # Ratio
        #ratio = yp.getRatio(hTotal,hDataPred)
        ratio = yp.getRatio(hData,hDataPred)

        #ratio.GetYaxis().SetRangeUser(0,5)

        if doPoisErr:
            from CMGTools.TTHAnalysis.plotter.mcPlots import getDataPoissonErrors
            hDataPois = getDataPoissonErrors(hData,True,True)
            hDataPois.SetName("DataPois")
            hDataPois.SetTitle("Data")

            ratioPois = yp.getRatio(hDataPois,hDataPred)
예제 #5
0
    #
    #    samps = [signame]

    cat = "Kappa"
    #cat = "SR_MB"

    #logY = True
    logY = False

    for samp in samps:

        print "Making plot for", samp, cat

        # 1
        yp.colorDict[samp + "_1_" + cat] = yp.kBlue
        h1 = yp.makeSampHisto(yds1, samp, cat, samp + "_1_" + cat)
        h1.SetTitle(samp + " (with dilep corr.)")

        # 2
        yp.colorDict[samp + "_2_" + cat] = yp.kRed
        h2 = yp.makeSampHisto(yds2, samp, cat, samp + "_2_" + cat)
        h2.SetTitle(samp + " (std. weights)")
        #h2.SetTitle(samp+" (only btagSF 2)")
        #h2.SetTitle(samp+" (All but PU)")
        #h2.SetTitle(samp+" (PUwgt < 4.)")
        #h2.SetTitle(samp+" (1 hadrFlav)")

        ratio = yp.getRatio(h1, h2)
        ratio.GetYaxis().SetRangeUser(0.9, 1.10)
        for i in range(0, ratio.GetNbinsX()):
            print ratio.GetBinContent(i)
예제 #6
0
                print "Plots for", patternnew

                yds = yp.YieldStore("lepYields")
                yds.addFromFiles(patternnew,("lep","sele"))
                yds.showStats()

                canvs = []

                # Samples
                samps = ["EWK"]#,"TT","TTdiLep","TTsemiLep","WJets"]

                for samp in samps:

                    # RCS MB
                    yp.colorDict[samp+"_Rcs_MB"] = yp.kBlue
                    hRcsMB = yp.makeSampHisto(yds,samp,"Rcs_MB",samp+"_Rcs_MB")
                    #hRcsMB.SetTitle("R_{CS} (MB)")
                    hRcsMB.SetTitle("R_{CS}^{MC}(n_{b-tag}, n_{jet}^{SR}, EWK)")

                    # RCS SB
                    yp.colorDict[samp+"_Rcs_SB"] = yp.kRed
                    hRcsSB = yp.makeSampHisto(yds,samp,"Rcs_SB",samp+"_Rcs_SB")
                    #hRcsSB.SetTitle("R_{CS} (SB)")
                    hRcsSB.SetTitle("R_{CS}^{MC}(n_{b-tag}, n_{jet}#in [4,5], EWK)")

                    # Kappa
                    yp.colorDict[samp+"_Kappa"] = yp.kRed
                    hKappa = yp.makeSampHisto(yds,samp,"Kappa",samp+"_Kappa")
                    hKappa.SetTitle("#kappa_{MC}")

                    yp.prepKappaHist(hKappa)
예제 #7
0
    ydsSeleEle.addFromFiles(pattern,("ele","sele"))

    ydsSeleMu = yp.YieldStore("MuSele")
    ydsSeleMu.addFromFiles(pattern,("mu","sele"))

    ydsAntiMu = yp.YieldStore("MuAnti")
    ydsAntiMu.addFromFiles(pattern,("mu","anti"))

    # Category
    cats = ["CR_MB"]#,"CR_SB"]

    for cat in cats:

        # ele
        yp.colorDict["Data_QCD_Ele_"+cat] = yp.kRed
        hEleQCDpred = yp.makeSampHisto(ydsSeleEle,"data_QCDpred",cat,"Data_QCD_Ele_"+cat)
        hEleQCDpred.SetTitle("QCD pred. (ele)")

        # muons
        '''
        yp.colorDict["Data_QCD_Mu_"+cat] = yp.kBlue
        hMuAnti = yp.makeSampHisto(ydsAntiMu,"data",cat,"Data_QCD_Mu_"+cat)
        hMuAnti.SetTitle("Anti-Sele (#mu)")

        # apply "F-ratio" = 10%
        hMuAnti.Scale(1/10.); hMuAnti.SetTitle("Anti-Sele (#mu) x0.1")
        '''
        # mu
        yp.colorDict["Data_QCD_Mu_"+cat] = yp.kBlue
        hMuQCDpred = yp.makeSampHisto(ydsSeleMu,"data_QCDpred",cat,"Data_QCD_Mu_"+cat)
        hMuQCDpred.SetTitle("QCD pred. (#mu)")
    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)

    # test MC
    #hDataPred = hMCpred

    # Ratio
    #ratio = yp.getRatio(hTotal,hDataPred)
예제 #9
0
    samps = ["EWK","TTJets","WJets","SingleTop","DY","TTV"]
    samps = ["EWK"]

    cat = "Kappa"
    #cat = "CR_MB"

    #logY = True
    logY = False

    for samp in samps:

        print "Making plot for", samp, cat

        # 1A
        yp.colorDict[samp+"_1A_"+cat] = yp.kBlue
        h1A = yp.makeSampHisto(yds1A,samp,cat,samp+"_1A_"+cat)
        h1A.SetTitle(samp+" (Method 1A)")
        #h1A.SetTitle(samp+" (1A mcFlav)")
        #h1A.SetTitle(samp+" (All SF w/o PU)")

        # 1B
        yp.colorDict[samp+"_1B_"+cat] = yp.kRed
        h1B = yp.makeSampHisto(yds1B,samp,cat,samp+"_1B_"+cat)
        h1B.SetTitle(samp+" (Method 1B)")
        #h1B.SetTitle(samp+" (only btagSF 1B)")
        #h1B.SetTitle(samp+" (All but PU)")
        #h1B.SetTitle(samp+" (PUwgt < 4.)")
        #h1B.SetTitle(samp+" (1A hadrFlav)")

        ratio = yp.getRatio(h1A,h1B)
        #ratio.GetYaxis().SetRangeUser(0.75,1.25)
예제 #10
0
    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)

    # 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("Pred.")
    #hDataPred = yp.makeSampHisto(yds,"data",cat,"Data_prediction"); hDataPred.SetTitle("Prediction")
    hData = yp.makeSampHisto(yds, "data", "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)

    # Do MC hists
    scaleToHist(mcHists, hDataPred)

    mcStack = yp.getStack(mcHists)
    #hTotal = yp.getTotal(mcHists)
    #hTotal = yp.getHistWithError(hTotal, hMCSysts, new = False)
예제 #11
0
    # Sample and variable
    #samp = "EWK"
    samps = ["EWK", "TTJets", "WJets", "SingleTop", "DY", "TTV"]
    #samps = ['T_tWch','TToLeptons_tch','TBar_tWch', 'TToLeptons_sch',"EWK"]
    samp = samps[0]

    var = "Kappa"
    #var = "SR_SB"

    # canvs and hists
    hists = []
    canvs = []

    # read in central value
    hCentral = yp.makeSampHisto(yds, samp, var)
    print "hCentral done"
    yp.prepRatio(hCentral)

    for i, syst in enumerate(systs):
        yp.colorDict[syst + "_syst"] = sysCols[i]

        sname = samp + "_" + syst + "_syst"
        print "Making hist for", sname

        hist = yp.makeSampHisto(yds, sname, var, syst + "_syst")
        if syst in systNames: hist.SetTitle(systNames[syst])
        else: hist.SetTitle(syst)

        hist.GetYaxis().SetTitle("Relative uncertainty")
        hist.GetYaxis().SetTitleSize(0.04)
예제 #12
0
    # Sample and variable
    samp = "EWK"
    #samps = ["TTJets","WJets","SingleTop","DY","TTV"]
    #samps = ['T_tWch','TToLeptons_tch','TBar_tWch', 'TToLeptons_sch',"EWK"]
    #samp = samps[4]

    var = "Kappa"
    #var = "SR_SB"

    # canvs and hists
    hists = []
    canvs = []

    # read in central value
    hCentral = yp.makeSampHisto(yds,samp,var)
    yp.prepRatio(hCentral)

    for i,syst in enumerate(systs):
        yp.colorDict[syst+"_syst"] = sysCols[i]

        sname = samp+"_"+syst+"_syst"
        print "Making hist for", sname

        hist = yp.makeSampHisto(yds,sname,var,syst+"_syst")
        if syst in systNames: hist.SetTitle(systNames[syst])
        else: hist.SetTitle(syst)

        hist.GetYaxis().SetTitle("Relative uncertainty")
        hist.GetYaxis().SetTitleSize(0.04)
        hist.GetYaxis().SetTitleOffset(0.8)
예제 #13
0
    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)

    # 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("Prediction")
    hData = yp.makeSampHisto(yds, "data_QCDsubtr", "SR_MB", "Data")
    hData.SetTitle("Data")

    # Signal
    hSig1 = yp.makeSampHisto(ydsSig, "T1tttt_Scan_mGo1900_mLSP100", "SR_MB",
                             "T1tttt (1.9/0.1)")
    hSig1.SetTitle("T1tttt (1.9/0.1)")
    hSig2 = yp.makeSampHisto(ydsSig, "T1tttt_Scan_mGo1400_mLSP1100", "SR_MB",
                             "T1tttt (1.4/1.1)")
    hSig2.SetTitle("T1tttt (1.4/1.1)")

    ## Append Systematics to prediction
    print "Appending syst. unc. to prediction and total MC"
    hDataPred = yp.getHistWithError(hDataPred, hKappaSysts, new=False)
예제 #14
0
    # update colors
    yp.colorDict["MC_prediction"] = yp.kGreen
    yp.colorDict["Data_prediction"] = yp.kRed

    # Category
    #cat = "CR_MB"
    cats = ["SR_MB_predict"]

    canvs = []

    for cat in cats:

        # Totals
        #hMCpred = yp.makeSampHisto(yds,"background_QCDsubtr",cat,"MC_prediction"); hMCpred.SetTitle("MC (Pred)")
        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")

        # Ratio
        #ratio = yp.getRatio(hTotal,hDataPred)
        ratio = yp.getRatio(hData, hDataPred)

        #ratio.GetYaxis().SetRangeUser(0,5)

        if doPoisErr:
            from CMGTools.TTHAnalysis.plotter.mcPlots import getDataPoissonErrors
            hDataPois = getDataPoissonErrors(hData, True, True)
            hDataPois.SetName("DataPois")
            hDataPois.SetTitle("Data")
예제 #15
0
    ydsSeleEle.addFromFiles(pattern,("ele","sele"))

    ydsSeleMu = yp.YieldStore("MuSele")
    ydsSeleMu.addFromFiles(pattern,("mu","sele"))

    ydsAntiMu = yp.YieldStore("MuAnti")
    ydsAntiMu.addFromFiles(pattern,("mu","anti"))

    # Category
    cats = ["CR_SB"]#,"CR_SB"]

    for cat in cats:

        # ele
        yp.colorDict["Data_QCD_Ele_"+cat] = yp.kRed
        hEleQCDpred = yp.makeSampHisto(ydsSeleEle,"data_QCDpred",cat,"Data_QCD_Ele_"+cat)
        hEleQCDpred.SetTitle("QCD pred. (ele)")

        # muons
        yp.colorDict["Data_QCD_Mu_"+cat] = yp.kBlue
        hMuAnti = yp.makeSampHisto(ydsAntiMu,"data",cat,"Data_QCD_Mu_"+cat)
        hMuAnti.SetTitle("Anti-Sele (#mu)")

        # apply "F-ratio" = 10%
        hMuAnti.Scale(1/10.); hMuAnti.SetTitle("Anti-Sele (#mu) x0.1")

        # Data
        yp.colorDict["Data_"+cat] = yp.kBlack
        hData = yp.makeSampHisto(ydsSele,"data",cat,"Data_"+cat)
        hData.SetTitle("Data (sele)")
예제 #16
0
    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:

        signame = "T1tttt_Scan_" + mass

        yp.colorDict[signame + "_Sig_" + cat] = col
        hSig = yp.makeSampHisto(ydsSig, signame, cat, signame + "_Sig_" + cat)
        #hSig.SetTitle("T1tttt_"+mass)
        hSig.SetTitle("T1tttt " + massName)

        sighists.append(hSig)

    #print sighists

    ratio = yp.getRatio(hSig, hTotal)
    ratio.SetName("SigOvMC")
    #ratio.GetYaxis().SetRangeUser(0.75,1.25)

    hists += [hMC, hTotal, ratio] + sighists
    #canv = yp.plotHists(cat,[hMC,hSig],ratio,"TM", 1200, 600, logY = True)
    canv = yp.plotHists(cat, [hMC] + sighists,
                        None,