I have a poisson model in Roofit and I want to associate one of its parameters with more than one gaussian and then multiply them with the model. At first I did that for one gaussian and then I tried with more. What I did exactly was to write the gaussian functions and put them in a RooArgList. The only thing that I changed over those gaussians was the value for sigma (and their names of course). Then I used the RooProdPdf (for the model and the list) and finally I proceeded to the fit to data with constraints.

Normally the error of the parameter associated with the gaussian functions should have been increased at the end but the problem is that the final error after the fit is way smaller than when I had only one gaussian (as if I have lots of measurements for the same parameter for example). What can I do to fix the problem? Should I do something else?

Sorry if this is something trivial but I’m quite new to roofit. Thank you in advance.

hard to say anything without a minimal piece of code reproducing the behaviour you describe.
Did you have a look to the example macro illustrating the usage of constraints on parameters root.cern.ch/doc/master/rf604__ … ts_8C.html ?

Yeah, in this example if I got it right it uses one constraint term every time for parameter f. I tried to use more than one constraints for the same parameter.

I am writting the first constraint as:

// C r e a t e c o n s t r a i n t p d f
// -----------------------------------------
// Construct Gaussian constraint p.d.f on parameter f at 0.8 with resolution of 0.1
RooGaussian fconstraint("fconstraint","fconstraint",f,RooConst(0.8),RooConst(0.1)) ;

and the others by changing (increasing) the value of the second RooConst as:

Although every next costraint multiplied to the model has a sigma value greater than 0.1, the final error of the parameter f decreases. Is this normal?? I don’t know if I made myself clear now… If not let me know