# Do a likelihood scan over mH and mu_gg for binmu_gg in xrange(20): mu_gg_point = xmin + binmu_gg * stepsize mu2.setVal(mu_gg_point) #, RooArgList(mu1, mu2) roohistpg = RooHistPoissonGamma("pghistpdf","pghistpdf",RooArgSet(m4l, D), rdata, samples, scales, 0) zval = nullzval - roohistpg.getVal() if zval > 0: likelihoods[len(likelihoods)-1].SetPoint( likelihoods[len(likelihoods)-1].GetN(), float(mass), mu_gg_point, zval); else: likelihoods[len(likelihoods)-1].SetPoint( likelihoods[len(likelihoods)-1].GetN(), float(mass), mu_gg_point, zval); #dt = plot_util.multiply_likelihood(likelihoods) dt = plot_util.add_loglikelihood(likelihoods, int(i+1)) print int(dt.GetZmax() - dt.GetZmin()) dt.GetHistogram().SetContour(int(dt.GetZmax() - dt.GetZmin())) dt.Draw("colz") dt.Draw("cont2 same") c1.Update() c = TCanvas() c.Divide(2,2) c.cd(1) likelihoods[0].Draw("colz")
gr = TGraph(len(masses), array("d", massint) , array("d",scanmu1d) ) gr.SetName("nll_mu_mH_{}".format(channel)) c1.cd(1) likelihoods[len(likelihoods)-1].Draw("colz") c1.cd(2) gr.Draw("AC*") c1.Update() sleep(4) fout.cd() gr.Write() likelihoods1d.append(gr) #dt = plot_util.multiply_likelihood(likelihoods) dt = plot_util.add_loglikelihood(likelihoods, 1) #reset to zero dt = plot_util.setzero_likelihood(dt) dt1d = plot_util.add_tgraph(likelihoods1d) dt1d.SetName("nll_mH_1d") dt1d.Write() dt1d.Draw() sleep(4) c = TCanvas() c.Divide(2,2) c.cd(1) likelihoods[0].Draw("colz")
zval = 2*roohistpg.getVal() # 2*(nullzval - roohistpg.getVal()) scanmu1d[i] += zval for i, mass in enumerate(masses): scanmu1d[i] = scanmu1d[i]/points print len(masses) print len(massint) print massint print scanmu1d gr = TGraph(len(masses), array("d", massint) , array("d",scanmu1d) ) gr.SetName("nll_mu_mH_{0}".format(channel)) fout.cd() gr.Write() likelihoods1d.append(gr) tot_lh = plot_util.add_loglikelihood(likelihoods, 1) tot_lh.SetName("nll_mu_gg_vs_mH_{0}".format(iter)) fout.cd() tot_lh.Write() likelihoods_iter.append(plot_util.add_loglikelihood(likelihoods, 1)) #dt = plot_util.multiply_likelihood(likelihoods) dt = plot_util.ave_ln_loglikelihood(likelihoods_iter) #reset to zero dt = plot_util.setzero_likelihood(dt) c1 = TCanvas() c1.Divide(2) c1.cd(1) likelihoods_iter[0].Draw("colz")