fitter4 = RooWjjMjjFitter(pars4) fitter4.makeFitter((opts.ParamWpJ>=0)) fitter4.loadData() fitter4.make4BodyPdf(theFitter) fitter4.loadParameters(sigYieldFilename) ## assert(False) mf4 = fitter4.stackedPlot(False, RooWjjMjjFitter.mlnujj) mf4.SetName("Mlvjj_Stacked") ## sf4 = fitter4.residualPlot(mf4, "h_background", "dibosonPdf", False) # pf4 = fitter4.residualPlot(mf4, "h_total", "", True) pf4 = pulls.createPull(mf4.getHist('theData'), mf4.getCurve('h_total')) pf4.SetName("Mlvjj_Pull") rf4 = pulls.createResid(mf4.getHist('theData'), mf4.getCurve('h_total')) rf4.SetName("Mlvjj_Residuals") (chi2_4, ndf_4) = pulls.computeChi2(mf4.getHist('theData'), mf4.getCurve('h_total')) lf4 = fitter4.stackedPlot(True, RooWjjMjjFitter.mlnujj) lf4.SetName("Mlvjj_log") fitUtils = RooWjjFitterUtils(pars4) iwt = 0 if (opts.mH >= 500): iwt = 1 sigHists = HWWSignalShapes.GenHiggsHists(pars4, opts.mH, fitUtils, iwt = iwt) extraFactor = 2. otherdata = HWWSignalShapes.NgenHiggs(opts.mH, 'ggH') SigVisual = TH1D(sigHists['ggH'])
sigPlot.getHist('theData').SetTitle('%s MC' % compName) leg = RooWjj2DFitter.Wjj2DFitter.legend4Plot(sigPlot) sigPlot.addObject(leg) sigPlot.Draw() c1.Update() sigPlot.SetMinimum(1e-6) cans.append(c1) plots.append(sigPlot) (chi2_1, ndf_1) = pulls.computeChi2(sigPlot.getHist('theData'), sigPlot.getCurve('fitCurve')) chi2s.append(chi2_1) ndfs.append(ndf_1) residuals = pulls.createResid(sigPlot.getHist('theData'), sigPlot.getCurve('fitCurve')) plots.append(residuals) residuals.SetName('%s_Residuals' % par) c3 = TCanvas('c%i_residual' % i, par + ' residual') c3.SetGridy() residuals.Draw('ap') residuals.GetXaxis().SetLimits(fitter.ws.var(par).getMin(), fitter.ws.var(par).getMax()) c3.Update() cans.append(c3) pull = pulls.createPull(sigPlot.getHist('theData'), sigPlot.getCurve('fitCurve')) plots.append(pull) pull.SetName('%s_Pulls' % par) c2 = TCanvas('c%i_pull' % i, par + ' pull')