Extended binned maximum likelihood RooAddPdf

Hi,

I am having trouble interpreting the parameters from my model after the fit.

My model is the sum of PDF’s with the coefficients representing the numbers of events.

The PDF’s are binned and are taken from RooHistPdfs. I fit this model to the binned data which is a RooDataHist.

I allow 5 of the 13 coefficients (event yields) to float in the fit.

My model has a large deficit with respect to the data. I want to see how the yields change so that the model matches the data

Here are the values before and after the fit


   Constant Parameter    Value     
  --------------------  ------------
  num_eebb_PreTag_WW_boson_Mass_Zee_1ISO_ISOcorrected    2.6280e+00
  num_eebb_PreTag_WZ_boson_Mass_Zee_1ISO_ISOcorrected    3.7976e+02
  num_eebb_PreTag_Wb_boson_Mass_Zee_1ISO_ISOcorrected    1.8015e+00
  num_eebb_PreTag_Wc_boson_Mass_Zee_1ISO_ISOcorrected    9.2469e+01
  num_eebb_PreTag_Wcc_boson_Mass_Zee_1ISO_ISOcorrected    2.8249e+00
  num_eebb_PreTag_Wl_boson_Mass_Zee_1ISO_ISOcorrected    7.3641e+01
  num_eebb_PreTag_stop_boson_Mass_Zee_1ISO_ISOcorrected    2.6175e+01
  num_eebb_PreTag_ttbar_boson_Mass_Zee_1ISO_ISOcorrected    6.3248e+04

    Floating Parameter  InitialValue    FinalValue +/-  Error     GblCorr.
  --------------------  ------------  --------------------------  --------
  num_eebb_PreTag_ZZ_boson_Mass_Zee_1ISO_ISOcorrected    3.6217e+02    4.7488e-04 +/-  5.49e+01  <none>
  num_eebb_PreTag_Zb_boson_Mass_Zee_1ISO_ISOcorrected    5.2729e+03    6.7803e-04 +/-  5.52e+01  <none>
  num_eebb_PreTag_Zc_boson_Mass_Zee_1ISO_ISOcorrected    3.0568e+03    4.4819e-03 +/-  5.27e+01  <none>
  num_eebb_PreTag_Zl_boson_Mass_Zee_1ISO_ISOcorrected    3.4399e+04    1.6653e-08 +/-  5.52e+01  <none>
  num_eebb_QCDTemplate_DATA_boson_Mass_Zee_1ISO_ISOcorrected    3.6048e+03    1.3323e-06 +/-  1.39e+00  <none>

Here you can see the numbers after the fit are approaching zero for all the floating coefficients.

A before and after plot illustrates the effect this has on PDF’s.

before


after


I am confused why the model seems to fit the data well, but the other PDFs are at zero. Have I missed something here?

What I want to achieve is the

Yield before fit / Yield After fit = fractional change in yield.

Am I right to assume that I can use the coefficient value before and after the fit to achieve this?

My model is fit using the following fitTo setup


RooArgList* pdfs = new RooArgList("pdfList");
  pdfs->add(*rooHistPdfQCDBefore);
  pdfs->add(*rooHistPdfWWBefore);
  pdfs->add(*rooHistPdfWZBefore);
  pdfs->add(*rooHistPdfWbBefore);
  pdfs->add(*rooHistPdfWcBefore);
  pdfs->add(*rooHistPdfWccBefore);
  pdfs->add(*rooHistPdfWlBefore);
  pdfs->add(*rooHistPdfZZBefore);
  pdfs->add(*rooHistPdfZbBefore);
  pdfs->add(*rooHistPdfZcBefore);
  pdfs->add(*rooHistPdfZlBefore);
  pdfs->add(*rooHistPdfSTopBefore);
  pdfs->add(*rooHistPdfTtbarBefore);
  
  RooArgList* integrals = new RooArgList("integralList");
  integrals->add(*rooIntegralQCDBefore);
  integrals->add(*rooIntegralWWBefore);
  integrals->add(*rooIntegralWZBefore);
  integrals->add(*rooIntegralWbBefore);
  integrals->add(*rooIntegralWcBefore);
  integrals->add(*rooIntegralWccBefore);
  integrals->add(*rooIntegralWlBefore);
  integrals->add(*rooIntegralZZBefore);
  integrals->add(*rooIntegralZbBefore);
  integrals->add(*rooIntegralZcBefore);
  integrals->add(*rooIntegralZlBefore);
  integrals->add(*rooIntegralSTopBefore);
  integrals->add(*rooIntegralTtbarBefore);

  RooAddPdf* qcdEstimateModel = new RooAddPdf("QCDEstimationPdf","QCDEstimationPdf", *pdfs, *integrals);

  // Get Data To Fit To
  RooDataHist* data = fittingSetup.getRooDataHist("eebb_PreTag","DATA", "boson_Mass_Zee_1ISO_ISOcorrected");

  // Fit Model To Data
  RooFitResult* result = qcdEstimateModel->fitTo(*data,
						 RooFit::NumCPU(1,1),
						 RooFit::Save(kTRUE),
						 RooFit::Extended(kTRUE),
						 RooFit::SumW2Error(kFALSE));

Cheers,

Mike