Dear Charles and Wouter,
Thank you both very much for your nice and quick answers. I have some more questions about this, if you allow me.
In my problem, I have a very complicate PDF with several parameters. If I let them all free, it is not possible to determine them all properly.
I noticed that one of the parameters was mostly responsible for the bad output distributions of the parameters. What I tried first was therefore to fix this parameter. The output distributions for all the other parameters (errors and pull included) were indeed ok afterwards.
As a second step, I tried to apply the very nice idea of a Gaussian constraint on this parameter, to let some freedom on it, and this worked really fine
! In this case, I just have a problem of how to interpret the error and pull distributions that I obtain for the constrained parameter, Indeed, they do not seem to have any meaning anymore, the error mean not being equal anymore to the width of the parameter distribution and the width of the pull distribution being very small compared to 1. In other words, when using a Gaussian constraint on one parameter, how can we then give an error on this parameter (if this is possible to determine an error on it, what I am not sure about…) ? And about the other parameters, how can I determine how their errors have been affected by the Gaussian constraint (as they are +/- correlated with the constrained parameter) ?
As a third step, I would like to try to reparameterize my pdf, to see if I can determine all the parameters without any external information about the value of one parameter (what would be indeed the “ideal” case). For this, I decided to introduce a new parameter c, which represents a term in the pdf that is a function of two other parameters a and b (c=fct(a,b)). These two parameters a and b are still kept as parameters in the fit, as they also appear individually in other parts of the pdf. To be consistent with the initial expression of the pdf, I have to add a constraint term to link this new parameter c with a and b. Therefore, I have added a constraint function multiplied by a Lagrange multiplier as :
F=-2ln(Likelihood)+lambda*(g(a,b,c)=0)
I therefore tried to follow the example : roofit.sourceforge.net/docs/clas … n2.cc.html
At the moment, I haven’t managed to have any fit converging.
In the example above, alpha is fixed, while in my case, lambda is not known “a priori”, so I have to let it float in the fit. However, I am not sure about the value I should give as input (and which error size). I have tried 0 and -1 and input values. Could this be part of my problem and is there any way of determining a reasonable initial value for lambda ?
In the output of the fits, HESSE is also complaining that the second derivative of lambda is zero. This is indeed always the case for a Lagrange multiplier, so I don’t know what I can exactly do for this :
MINUIT WARNING IN HESSE
============== Second derivative zero for parameter8
MNHESS FAILS AND WILL RETURN DIAGONAL MATRIX.
FCN=-0.1 FROM HESSE STATUS=FAILED 21 CALLS 100 TOTAL
EDM=50.7279 STRATEGY= 2 ERROR MATRIX UNCERTAINTY 100.0 per cent
I was also wondering if you would have any other suggestions/ideas I could try for this Lagrange multiplier method ?
Thank you very much,
Best Greetings,
Géraldine