I’ve got a working model to find a 95% CL result. I decided to then start simulating what my result would be at x10 and x100 in luminosity. At some point my fits stopped converging. I think this is because the RooPoisson PDF is always returning zero probability and I need to switch over to RooGuassian. Is this the case?

Here is a partial workspace printout from a working run:

## [code]p.d.f.s

RooGaussian::constraint_Q[ x=nom_Q mean=alpha_Q sigma=nom_sigma_Q ] = 1

RooGaussian::constraint_S[ x=nom_S mean=alpha_S sigma=nom_sigma_S ] = 1

RooGaussian::constraint_lumi[ x=nom_lumi mean=alpha_lumi sigma=nom_sigma_lumi ] = 1

RooProdPdf::model[ obsA * obsB * obsC * obsD * constraint_lumi * constraint_Q * constraint_S ] = 1.03285e-041

RooPoisson::obsA[ x=NA mean=NexpA ] = 6.81314e-037

RooPoisson::obsB[ x=NB mean=NexpB ] = 0.0325385

RooPoisson::obsC[ x=NC mean=NexpC ] = 0.0223435

RooPoisson::obsD[ x=ND mean=NexpD ] = 0.0208516

## functions

RooProduct::NbQA[ Nq * lumi * alpha_Q ] = 172.059

RooProduct::NbQB[ Nq * lumi * tauB ] = 150

RooProduct::NbQC[ Nq * lumi * tauB * tauD ] = 318.75

RooProduct::NbQD[ Nq * lumi * tauD ] = 365.625

RooAddition::NexpA[ NsA + NbQA ] = 175.055

RooAddition::NexpB[ NsB + NbQB ] = 150.396

RooAddition::NexpC[ NsC + NbQC ] = 318.795

RooAddition::NexpD[ NsD + NbQD ] = 365.939

RooProduct::NsA[ mu * Ns0 * lumi * alpha_lumi * alpha_S ] = 2.99604

RooProduct::NsB[ mu * Ns0 * effB * lumi * alpha_lumi * alpha_S ] = 0.395633

RooProduct::NsC[ mu * Ns0 * effC * lumi * alpha_lumi * alpha_S ] = 0.0454379

RooProduct::NsD[ mu * Ns0 * effD * lumi * alpha_lumi * alpha_S ] = 0.314359

[/code]

The one to pay attention to is obsA. I will fit to the pdf “model”, and while this one work, the below fails because obsA is always zero.

## [code]p.d.f.s

RooGaussian::constraint_Q[ x=nom_Q mean=alpha_Q sigma=nom_sigma_Q ] = 1

RooGaussian::constraint_S[ x=nom_S mean=alpha_S sigma=nom_sigma_S ] = 1

RooGaussian::constraint_lumi[ x=nom_lumi mean=alpha_lumi sigma=nom_sigma_lumi ] = 1

RooProdPdf::model[ obsA * obsB * obsC * obsD * constraint_lumi * constraint_Q * constraint_S ] = 0

RooPoisson::obsA[ x=NA mean=NexpA ] = 0

RooPoisson::obsB[ x=NB mean=NexpB ] = 0.0102995

RooPoisson::obsC[ x=NC mean=NexpC ] = 0.00706622

RooPoisson::obsD[ x=ND mean=NexpD ] = 0.00659748

## functions

RooProduct::NbQA[ Nq * lumi * alpha_Q ] = 1720.59

RooProduct::NbQB[ Nq * lumi * tauB ] = 1500

RooProduct::NbQC[ Nq * lumi * tauB * tauD ] = 3187.5

RooProduct::NbQD[ Nq * lumi * tauD ] = 3656.25

RooAddition::NexpA[ NsA + NbQA ] = 1723.58

RooAddition::NexpB[ NsB + NbQB ] = 1500.4

RooAddition::NexpC[ NsC + NbQC ] = 3187.55

RooAddition::NexpD[ NsD + NbQD ] = 3656.56

RooProduct::NsA[ mu * Ns0 * lumi * alpha_lumi * alpha_S ] = 2.99604

RooProduct::NsB[ mu * Ns0 * effB * lumi * alpha_lumi * alpha_S ] = 0.395633

RooProduct::NsC[ mu * Ns0 * effC * lumi * alpha_lumi * alpha_S ] = 0.0454379

RooProduct::NsD[ mu * Ns0 * effD * lumi * alpha_lumi * alpha_S ] = 0.314359

[/code]

Here we see obsA is now zero.

The thing that is making me unsure is why aren’t obsC and obsD zero as well (or even smaller) during this initial dump?

Many thanks in advance for the help!