Simultaneous fit with constraint on yields

Dear Experts,

I have hard times finding the solution for the following problem, which is aimed to be solved with the RooFit framework:

I have two samples of events (physics and control), which have partially shared pdfs.

I aim to build something like that:

PHYSICS PDF: nTM PDF_{TM} + nSCF f PDF_{SCF}+nBBbar PDF_{BBbar}+nQQbar PDF_{QQbar}
CONTROL SAMPLE PDF: nSCF (1-f) PDF_{SCF}+mBBbar PDF_{BBbar}+mQQbar PDF_{QQbar}

nTM, nSCF, nBBbar, nQQbar, mBBbar, mQQbar — yields.

PDF_{SCF}, PDF_{BBbar}, PDF_{QQbar} are really supposed to be the same for both physics and control sample pdfs.

From the signal Monte-Carlo I will fix shapes of the following pdfs:
And also value of “f”-ratio for the SCF between physics and background samples will be fixed from monte-carlo truth (no fit of f-parameter is required).

My question is: What can be the way allowing to insert somehow constant f-parameter to the above pdfs, such that nSCF yield will be the same for the physics and control samples?

So far I was able to do the fit of the following:

PHYSICS PDF: nTM PDF_{TM} + nPeak PDF_{Peak}+nQQbar PDF_{QQbar}

using simultaneous fit with components (again parameters of PDF_{Peak} and PDF_{QQbar} are shared), however it is a big simplification of what I really aim to perform.

I need some sort of hint of PDFs redefinition but can’t figure out by myself how properly to do that.

Thank you in advance!

Best regards,

@moneta will probably give you some hints

Hi @iodapro! Did you already take a look at the example in tutorial rf501? What you are trying to do looks very similar to the example, only that you reuse the same PDFs in both categories.

And concerning the nSCF f and nSCF (1-f) coefficients: you can have nSCF and f as two RooRealVars and then use RooFormulaVar to build the coefficients that you give to RooAddPdf.

Please let me know if you need more specific guidance! If yes, it would also be very helpful if you can upload the code you have already written :slight_smile:



thanks for help!
Can I then use RooFormulaVar as RooRealVariable for redefining yields for example:
N’ = f * N
And N’ will be used in RooAddPdf .

Thank you!

Hi @iodapro,

yes, that’s what I meant. Let me know if it works!


Yes, that definitely works!
Again thank you

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.