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