iObs = canvas.addHistogram(obs) iPreUnc = canvas.addHistogram(prefitUnc, drawOpt = 'E2') iPre = canvas.addHistogram(prefitTotal, drawOpt = 'HIST') iPostUnc = canvas.addHistogram(postfitUnc, drawOpt = 'E2') iPost = canvas.addHistogram(postfitTotal, drawOpt = 'HIST') iLine = canvas.addHistogram(dataHist, drawOpt = 'HIST') iPreUncRatio = canvas.addHistogram(prefitUncRatio, drawOpt = 'E2') iPreRatio = canvas.addHistogram(prefitRatio, drawOpt = 'LP') iPostUncRatio = canvas.addHistogram(postfitUncRatio, drawOpt = 'E2') iPostRatio = canvas.addHistogram(postfitRatio, drawOpt = 'LP') if postfitSub: iSub = canvas.addHistogram(postfitSub) hList = [iSub, iPreUnc, iPre, iPostUnc, iPost, iObs] else: hList = [iPreUnc, iPre, iPostUnc, iPost, iObs] canvas.rlimits = (0.0, 2.0) canvas.xtitle = 'E_{T}^{#gamma} (GeV)' canvas.ytitle = 'Events / GeV' canvas.printWeb('monophoton/fit', region, hList = hList, rList = [iLine, iPreUncRatio, iPostUncRatio, iPreRatio, iPostRatio]) canvas.Clear() dataHist.Delete() if postfitSub: postfitSub.Delete()
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.printWeb('purity/'+s.Version+'/ScaleFactors', plotName, logy = False)
nominal.GetXaxis().SetBinLabel(ibin + 1, binlabels[ibin]) measured.SetPoint(ibin, (binning[ibin] + binning[ibin + 1]) * 0.5, dsigma * cent[0]) measured.SetPointEYhigh(ibin, dsigma * up[0]) measured.SetPointEYlow(ibin, dsigma * down[0]) nominalLine = nominal.Clone('line') canvas.legend.apply('nominal', nominalLine) nominalLine.SetFillStyle(0) canvas.legend.apply('nominal', nominal) nominal.SetMaximum(nominal.GetMaximum() * 1.2) canvas.legend.apply('obs', measured) measured.SetTitle('') canvas.addHistogram(nominal, drawOpt='E2') canvas.addHistogram(nominalLine, drawOpt='HIST') canvas.addHistogram(measured, drawOpt='EP') canvas.xtitle = nominal.GetXaxis().GetTitle() canvas.ytitle = nominal.GetYaxis().GetTitle() canvas.rtitle = 'Fit / prediction' canvas.printWeb('hww/20190205', 'sigma_%s' % observable, logy=False) canvas.Clear() nominalLine.Delete() nominal.Delete()