Calculating an Asymmetry using RooSimPdfBuilder


I want to setup a simultaneous fit over a category which I call
acp: acp = ± 1

I am familiar with RooSimPdfBuilder, but I do not see how to do the

I have a model that I would like to split on the two categories:
Nsig * sigpdf + Nbkg * bkgpdf. I would like to setup a simultaneous fit
which splits on my acp category and returns ACP and Ntotal rather than
NsigB and NsigBbar. I know how to split on pdf parameters.
etc. What I do not see right away is how to split on the yields and create
a RooFormulaVar for each yield. I want something like this:
NsigACP1 = (1-ACP)/2 * Ntot
NsigACP-1 = (1+ACP)/2 * Ntot

In this setup, the floating parameters in the fit are Ntot and ACP.
I am fairly certain this is possible, I just do not see how to setup a
RooFormulaVar for the split yields in the RooSimPdfBuilder. So, is it possible?
Does this make sense?

Chris S.


I figured out how to do this using RooSimultaneous, but it requires that pdfs for
both models be built. Is it possible to build such a model with different RooFormulaVars
for the yields using RooSimPdfBuilder?

Chris S.

Hi Chris,

If you want an instance of a split parameter to be anything else than a RooRealVar (in your case you want a RooFormulaVar), it is possible to do this. What you have to do is that you have to precreate the RooFormulaVar expression that you want to be used and give it the name that RooSimPdfBuilder would give it and then feed those to RooSimPdfBuilder through the addSpecializations() method. In this way RooSimPdfBuilder will pick up your custom object rather than creating a RooRealVar when the split is execute.



Thanks a lot Wouter. That is easy!