Hello. Here is a question about fitting on multiple DataHist simultaneously.

For instance, if I have two pdf (“sig” and “bkg”), and I use these two pdf to fit on a DataHist:

RooAddPdf pdf_tot(“pdf_tot”,“pdf_tot”,RooArgList(pdf_sig,pdf_bkg), RooArgList(Nsig,Nbkg));

RooFitResult* result = pdf_tot.fitTo(datahist);

where Nsig and Nbkg are the fitted yields of the two categories, and datahist is the RooDataHist to be fitted.

If I have two DataHists (labelled by “A” and “B”) to be fitted, then I need to prepare pdf for them separated:

RooAddPdf pdf_tot_A(“pdf_tot_A”,“pdf_tot_A”,RooArgList(pdf_sig_A,pdf_bkg_A), RooArgList(Nsig_A,Nbkg_A));

RooAddPdf pdf_tot_B(“pdf_tot_B”,“pdf_tot_B”,RooArgList(pdf_sig_B,pdf_bkg_B), RooArgList(Nsig_B,Nbkg_B));

RooFitResult* result_A = pdf_tot.fitTo(datahist_A);

RooFitResult* result_B = pdf_tot.fitTo(datahist_B);

In this case, there are actually two independent fits on datahist_A and datahist_B.

I am wondering if I can make these two fits into a single fit, while constraining Nsig_A = Nsig_B and Nbkg_A = Nbkg_B?

Just like performing two fits on two Datahists simultaneously? So there will be only one sets of number of yields.

Making a two-dimensional fit is one way, but in my case, the statistics of the histogram is not enough, so I prefer fitting on 1D fit.

Thank you.