ratio = yp.getRatio(h1, h2) ratio.GetYaxis().SetRangeUser(0.9, 1.10) for i in range(0, ratio.GetNbinsX()): print ratio.GetBinContent(i) ratio.SetBinError(i, 0.0) #h1.GetYaxis().SetRangeUser(0.55,1.45) if "WJets" in samp and "Kappa" in cat: h2.GetYaxis().SetRangeUser(0.05, 3.45) h1.GetYaxis().SetRangeUser(0.05, 3.45) hists += [h1, h2, ratio] canv = yp.plotHists(cat + "_" + samp, [h1, h2], ratio, "TM", 1200, 600, logY=logY) canvs.append(canv) if not yp._batchMode: answ = raw_input("Enter 'q' to exit: ") if "q" in answ: exit(0) # Save canvases exts = [".pdf", ".png"] #,".root"] #exts = [".pdf"] #odir = "BinPlots/signal/Compare/MET3TeV/allSF_noPU/" + cat + "/" odir = "BinPlots/background/Compare/DilepCOrr_YesNo/allSF/" + cat + "/"
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) canv = yp.plotHists(samp+"_RcsKappa_",[hRcsMB,hRcsSB],hKappa) canvs.append(canv) if not yp._batchMode: raw_input("Enter any key to exit") # Save canvases exts = [".pdf",".png"] #exts = [".pdf"] odir = "BinPlots/Rcs/test/" for canv in canvs: for ext in exts: canv.SaveAs(odir+mask+canv.GetName()+ext)
ratEle = yp.getRatio(hEleQCDpred,hDataEle) ratEle.GetYaxis().SetRangeUser(0,0.35) ## combined ratEle.SetLineColor(hEleQCDpred.GetLineColor()) ratEle.SetMarkerColor(hEleQCDpred.GetMarkerColor()) ratMu.SetLineColor(hMuQCDpred.GetLineColor()) ratMu.SetMarkerColor(hMuQCDpred.GetMarkerColor()) ''' #ratio = yp.getRatio(hMuAnti,hEleQCDpred) ratio = yp.getRatio(hMuAnti,hDataMu) #ratio.GetYaxis().SetRangeUser(-0.45,0.45) #ratio.GetYaxis().SetRangeUser(0,0.95) ratio.GetYaxis().SetRangeUser(0,0.105) ''' #canv = yp.plotHists("Sele_QCDvsMC_Lep_"+cat,[hMCele,hMCmu,hEle,hMu]) #canv = yp.plotHists("Data_vs_QCD_"+cat,[hDataEle,hDataMu,hEleQCDpred,hMuAnti],ratio,'TM', 1200, 600, logY = False) canv = yp.plotHists("Data_vs_QCD_"+cat,[hDataEle,hDataMu,hEleQCDpred,hMuQCDpred],[ratEle,ratMu],'TM', 1200, 600, logY = False) #canv = yp.plotHists("Data_vs_QCD_Mu_"+cat,[hDataMu,hMuAnti],ratio) if not yp._batchMode: raw_input("Enter any key to exit") exts = [".pdf",".png"] #exts = [".pdf"] for ext in exts: canv.SaveAs("BinPlots/QCD/lumi2p3fb/DataCompare/"+mask+canv.GetName()+ext)
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) else: canv = yp.plotHists("SR_MB_Prediction",[mcStack,hUncert,hData],ratio,legPos, width, height, logY = True) cname = "Data_"+lum.replace('.','p')+"_"+mask if doPoisErr: cname += "poisErr_" canv.SetName(cname + canv.GetName()) canvs.append(canv) #print canv.GetName() if not yp._batchMode: if "q" in raw_input("Enter any key to exit (or 'q' to stop): "): exit(0)
# Kappa yp.colorDict[samp+"_Kappa"] = yp.kRed hKappa = yp.makeSampHisto(yds,samp,"Kappa",samp+"_Kappa") hKappa.SetTitle("#kappa_{MC}") yp.prepKappaHist(hKappa) yp.prepRatio(hKappa) hRcsMB.GetYaxis().SetRangeUser(0,0.2) ## DATA yp.colorDict["data_QCDsubtr_Rcs_SB"] = yp.kBlack hDataSB = yp.makeSampHisto(yds,"data_QCDsubtr","Rcs_SB","data_QCDsubtr_Rcs_SB") hDataSB.SetTitle("R_{CS} (Data SB)") canv = yp.plotHists(samp+"_RcsKappa_",[hRcsMB,hRcsSB,hDataSB],hKappa, legPos = "TRC", width = 1200, height = 600) #canv = yp.plotHists(samp+"_RcsKappa_",[hRcsMB,hRcsSB],hKappa, legPos = "TM", width = 1200, height = 600) #canv = yp.plotHists(samp+"_RcsKappa_",[hRcsMB,hRcsSB],hKappa, legPos = "TM") #canv = yp.plotHists(samp+"_RcsKappa_",[hDataSB, hRcsSB],None, legPos = "TMR", width = 1200, height = 600) hRcsMB.GetYaxis().SetTitle("R_{CS}") hRcsMB.GetYaxis().SetTitleSize(0.07) hRcsMB.GetYaxis().SetTitleOffset(0.5) hKappa.GetYaxis().SetTitleSize(0.2) hKappa.GetYaxis().SetTitleOffset(0.15) hKappa.GetYaxis().SetTitle("#kappa_{MC}") canvs.append(canv) if not yp._batchMode: raw_input("Enter any key to exit")
hPredUnc.GetYaxis().SetTitle(ratio.GetYaxis().GetTitle()) hPredUnc.GetYaxis().SetRangeUser(0,3.9) # set error for i in xrange(1,hPredUnc.GetNbinsX()+1): hPredUnc.SetBinError(i,hDataPred.GetBinError(i)/hDataPred.GetBinContent(i)) #### Drawing logY = True #logY = False cname = "Data_2p24fb_"+mask hists = [mcStack,hUncert,hDataPois] ratios = [hPredUnc,ratioPois] #canv = yp.plotHists("SR_MB_Prediction",[mcStack,hTotal,hDataPred,hDataPois],[hPredUnc,ratioPois],'TM', 1200, 600, logY = logY) canv = yp.plotHists("SR_MB_Prediction",hists,ratios,'TM', 1200, 600, logY = logY) canv.SetName(cname + canv.GetName()) if logY: canv.SetName(canv.GetName() + "_log") canvs.append(canv) if not yp._batchMode: if "q" in raw_input("Enter any key to exit (or 'q' to stop): "): exit(0) # Save canvases exts = [".pdf",".png",".root"] #exts = [".pdf"] odir = "BinPlots/Data/JECv7/fixSR_poisErr/allSF_noPU/Method1A/" #odir = "BinPlots/Syst/btag/hadronFlavour/allSF_noPU/Method1B/"
## 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) ratio = yp.getRatio(hData,hDataPred) logY = True #logY = False cname = "Data_2p24fb_"+mask canv = yp.plotHists("SR_MB_Prediction",[mcStack,hTotal,hDataPred,hData],ratio,'TM', 1200, 600, logY = logY) #canv = yp.plotHists("MC_2p24fb_"+cat+'_'+mask,[mcStack,hTotal,hDataPred],ratio,'TM', 1200, 600, logY = logY) canv.SetName(cname + canv.GetName()) if logY: canv.SetName(canv.GetName() + "_log") canvs.append(canv) if not yp._batchMode: raw_input("Enter any key to exit") # Save canvases exts = [".pdf",".png",".root"] #exts = [".pdf"] odir = "BinPlots/Data/Pred/unbld/allSF_noPU/Method1A/" #odir = "BinPlots/Syst/btag/hadronFlavour/allSF_noPU/Method1B/"
yp.colorDict["DataMu_"+cat] = yp.kCyan-3 hDataMu = yp.makeSampHisto(ydsSeleMu,"data",cat,"DataMu_"+cat) hDataMu.SetTitle("Data (#mu)") ## MC #yp.colorDict["MC_Ele_"+cat] = kOrange-3 #hMCele = yp.makeSampHisto(ydsSeleEle,"background",cat,"MC_Ele_"+cat) #hMCele.SetTitle("MC (ele)") #yp.colorDict["MC_Mu_"+cat] = kCyan #hMCmu = yp.makeSampHisto(ydsSeleMu,"background",cat,"MC_Mu_"+cat) #yp.hMCmu.SetTitle("MC (#mu)") #ratio = yp.getRatio(hMuAnti,hEleQCDpred) ratio = yp.getRatio(hMuAnti,hDataMu) #ratio.GetYaxis().SetRangeUser(-0.45,0.45) #ratio.GetYaxis().SetRangeUser(0,0.95) ratio.GetYaxis().SetRangeUser(0,0.105) #canv = yp.plotHists("Sele_QCDvsMC_Lep_"+cat,[hMCele,hMCmu,hEle,hMu]) #canv = yp.plotHists("Data_vs_QCD_"+cat,[hDataEle,hDataMu,hEleQCDpred,hMuAnti],ratio) canv = yp.plotHists("Data_vs_QCD_Mu_"+cat,[hDataMu,hMuAnti],ratio) if not yp._batchMode: raw_input("Enter any key to exit") exts = [".pdf",".png"] #exts = [".pdf"] for ext in exts: canv.SaveAs("BinPlots/QCD/lumi2p1/DataCompare/"+mask+canv.GetName()+ext)
sighists.append(hSig) #### Drawing logY = True #logY = False cname = "DataVsSig_Pull_" + mask hists = [mcStack, hUncert] + sighists + [hDataPois] #ratios = [hPredUnc,ratioPois] ratios = pull #canv = yp.plotHists("SR_MB_Prediction",[mcStack,hTotal,hDataPred,hDataPois],[hPredUnc,ratioPois],'TM', 1200, 600, logY = logY) canv = yp.plotHists("SR_MB_Prediction", hists, ratios, 'TRC', 1000, 600, logY=logY, nCols=2) canv.SetName(cname + canv.GetName()) if logY: canv.SetName(canv.GetName() + "_log") canvs.append(canv) if not yp._batchMode: if "q" in raw_input("Enter any key to exit (or 'q' to stop): "): exit(0) # Save canvases exts = [".pdf", ".png", ".root"]
sqHist = yp.getSquaredSum(hists) hCentral.GetYaxis().SetTitle("#kappa_{EWK}") hCentral.GetYaxis().SetTitleSize(0.15) hCentral.GetYaxis().SetTitleOffset(0.15) hCentralUncert = yp.getHistWithError(hCentral, sqHist, True) ''' for bin in range(1,hCentral.GetNbinsX()+1): print bin print hCentral.GetBinContent(bin), hCentralUncert.GetBinContent(bin) print hCentral.GetBinError(bin), hCentralUncert.GetBinError(bin) ''' #canv = yp.plotHists(var+"_"+samp+"_Syst",[stack,sqHist],[hCentral,hCentralUncert],"TM", 1200, 600, nCols = 5) canv = yp.plotHists(var + "_" + samp + "_Syst", [stack, sqHist], [hCentral, hCentralUncert], "TRC", 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/" #odir = "BinPlots/Syst/Combine/allSF_noPU_LTfix/Method1A/" odir = "BinPlots/Syst/Combine/forApproval/allSF_noPU/" if not os.path.isdir(odir): os.makedirs(odir)
#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/" odir = "BinPlots/Syst/Combine/allSF_noPU_Wpol/Method1A/" if not os.path.isdir(odir): os.makedirs(odir) ## Save hists
hCentral.GetYaxis().SetTitle("#kappa_{EWK}") hCentral.GetYaxis().SetTitleSize(0.15) hCentral.GetYaxis().SetTitleOffset(0.17) hCentralUncert = yp.getHistWithError(hCentral, sqHist, True) ''' for bin in range(1,hCentral.GetNbinsX()+1): print bin print hCentral.GetBinContent(bin), hCentralUncert.GetBinContent(bin) print hCentral.GetBinError(bin), hCentralUncert.GetBinError(bin) ''' #canv = yp.plotHists(var+"_"+samp+"_Syst",[stack,sqHist],[hCentral,hCentralUncert],"TM", 1200, 600, nCols = 5) canv = yp.plotHists(var + "_" + samp + "_Syst", [stack, sqHist], [hCentral, hCentralUncert], "TLC", 1000, 600, nCols=2) # 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/" #odir = "BinPlots/Syst/Combine/allSF_noPU_LTfix/Method1A/" odir = "BinPlots/Syst/Combine/"
mcHists = yp.makeSampHists(yds, samps) # Scale MC hists to Prediction scaleToHist(mcHists, hDataPred) mcStack = yp.getStack(mcHists) hUncert = hDataPred.Clone("uncert") hUncert.SetTitle("Pred. Uncertainty") yp.setUnc(hUncert) #canv = plotHists("DataNJ45_"+cat,[stack,hMCpred,hDataPred,hData,total],ratio) if doPoisErr: canv = yp.plotHists("SR_MB_Prediction", [mcStack, hUncert, hDataPois], [hPredUnc, ratioPois], 'TM', 1200, 600, logY=True) else: canv = yp.plotHists("SR_MB_Prediction", [mcStack, hUncert, hData], ratio, 'TM', 1200, 600, logY=True) cname = "Data_2p24fb_" + mask if doPoisErr: cname += "poisErr_"
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", 1200, 600, nCols=2) canv.SetName(canv.GetName() + "_Syst") # canv = yp.plotHists(var+"_"+signame+"_Syst",[sqHist]+hists,[hCentral,hCentralUncert],"TM", 1200, 600) # canv = yp.plotHists(var+"_"+signame+"_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/" #odir = "BinPlots/Syst/Combine/allSF_noPU_Wpol/Method1A/"
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) #h1A.GetYaxis().SetRangeUser(0.55,1.45) if "WJets" in samp and "Kappa" in cat: h1B.GetYaxis().SetRangeUser(0.05,3.45) h1A.GetYaxis().SetRangeUser(0.05,3.45) hists += [h1A,h1B,ratio] canv = yp.plotHists(cat+"_"+samp,[h1A,h1B],ratio,"TM", 1200, 600, logY = logY) canvs.append(canv) if not yp._batchMode: answ = raw_input("Enter 'q' to exit: ") if "q" in answ: exit(0) # Save canvases exts = [".pdf",".png"]#,".root"] #exts = [".pdf"] odir = "BinPlots/btag/Compare/hFlav/1Avs1B/allSF_noPU2/" + cat + "/" if not os.path.isdir(odir): os.makedirs(odir) for canv in canvs:
# remove marker #hKappa.SetMarkerStyle(0) hKappa.SetLineWidth(2) #hKappa.SetLineColor(yp.kViolet-5) hRcsMB.GetYaxis().SetRangeUser(0, 0.14) width = 1200 height = 600 legPos = "TM" if doSquare == True: width = 600 height = 600 legPos = "Square" canv = yp.plotHists(samp + "_RcsKappa_", [hRcsMB, hRcsSB], hKappa, legPos, width, height) #canv = yp.plotHists(samp+"_RcsKappa_",[hRcsMB,hRcsSB],hKappa, legPos = "TM") hRcsMB.GetYaxis().SetTitle("R_{CS}^{MC}") hRcsMB.GetYaxis().SetTitleSize(0.07) hRcsMB.GetYaxis().SetTitleOffset(0.5) hKappa.GetYaxis().SetTitleSize(0.2) hKappa.GetYaxis().SetTitleOffset(0.15) hKappa.GetYaxis().SetTitle("#kappa_{EWK}") if doSquare: hRcsMB.GetYaxis().SetTitleOffset(0.8) hKappa.GetYaxis().SetTitleOffset(0.25) canvs.append(canv) if not yp._batchMode: raw_input("Enter any key to exit")
#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, "TM", 1200, 600, logY=True) yp.gPad.RedrawAxis() cname = "MC_vs_T1tttt_" + cat canv.SetName(cname) canvs.append(canv) if not yp._batchMode: answ = raw_input("Enter 'q' to exit: ") if "q" in answ: exit(0) # Save canvases exts = [".pdf", ".png", ".root"]