How to use constraints in Asymptotic Calculator?

Hi,

I have s+b model with some nuisance parameters, and I am trying to use the asymptotic calculator to put gaussian constraints on some of them.

I think I can make the product of the Gaussian constraints the prior of the model when using the hybrid calculator, however I can’t figure out how to do this with the asymptotic one. Could you please help me with this?

Thanks.

Hi,

You can see the example described here (Poisson counting model)

twiki.cern.ch/twiki/bin/view/Ro … ting_model

how to create a RooStats model with constraints which can be used by the various RooStats calculators (including the Asymptotic calculator).
Note that it is important to define the global observables in the ModelConfig class.

Best Regards

Lorenzo

Hi,

Thanks for the reply but I am not using that kind of model. I am using a model like in:

twiki.cern.ch/twiki/bin/view/Ro … ignal_over

(However I am parametrizing my background and signal in a different way). There you parametrize your background as exp(-x*a) and your signal as a gaussian. Then in:

twiki.cern.ch/twiki/bin/view/Ro … mits_using

You use the workspace (with the model + data) of Exercise 2 to find the upper limits on the POI using the asymptotic calculator. My question is: If I already measured a (nuisance parameter) in exp(-x*a) and I want to constrain it with a gaussian with mean at 1 and sigma 0.1 so that the p values and the limits coming from the asymptotic, hybrid and frequentist calculators take that constraint into account, how should I include it in the code you wrote in Exercise 7?

Thanks.

Hi,

Yes, in that model (gaussian plus exponential background) there are no constraints since the background parameters are obtained from the data. However, you can still apply an external constraint if you want, and/or not fitting the background parameter from the data (for example by fitting only in the signal region).

The way you apply the constraints is exactly the same as in the case of the Poisson model. You multiply your model pdf by a Gaussian pdf (If you want the log-normal constraint you use the parameter transformation as described in the linked Poisson model example).
So in your case if you want to constraint the parameter a with a Gaussian of mean=1, sigma = 0.1 , you do something like :

w.factory("Gaussian::a_constraint(a0[1,0,10],a,sigma[0.1] )"); 
w.factory("PROD::constraintModel(modelPdf,a_constraint)");

then you must define a0 as a global observable, by doing:

w.var("a0")->setConstant(true); 
modelConfig->SetGlobalObservables(RooArgSet(a0) );

If you have more constraints, you add all the global observables in the ModelConfig

Best Regards

Lorenzo

Hi,

It seems to be working.

Thanks.