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)
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)
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')
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)
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)
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':