Dear ROOT experts,
We are trying to understand a technical problem that we encountered in our latest analyses when the background and signal data was very low (~ 0.5). So we built this simple model for debugging.
The function is (2 bins):
L=-log(Pois(n1/b1)Pois(m1/b1+mus1)Pois(n2/b2)Pois(m2/b2+mus2))
For our purposes we specifically want to estimate MU, B1 and B2 (the MLEs). Also we don’t want to constrain MU, but we still need that Bi+MU*si >= 0 so that the Poisson functions stay defined.
So our input is n1, m1, n2, m2, s1, s2 and our desired output is MU, B1, B2.
In most cases where one of the ni’s or mi’s is zero we observe that the RooMinimizer doesn’t converge and the output we obtain is wrong. (Compared to the result from our Matlab standalone function).
An example is: n1=1, m1=0, n2=2, m2=3, s1=0.3, s2=0.4
The outcome from ROOT is MU=-1.31, B1=0.50, B2=2.84
The outcome from Matlab is MU=-2.26, B1=0.68, B2=3.11
I am unsure if this problem comes from my code, the workspace created with HistFactory or the minimizer used.
In the following link you can find my Matlab code, Root code and the terminal output: github.com/mbirman6/StatModel
We would be grateful for any advice,
Thanks in advance,
Mattias