Dear experts,
I don’t know if this is the right place for this post but I’ll explain my problem shortly.
I’m running several ToyMC of a background (parametrized with Exponentials “E" or 4th degree Bernstein polynomial “B”) + a signal pdf (for simplicity a gaussian function) and fitting them with a bkg+signal pdf of the same kind.
The fitting is achieved by means of RooChi2Var and RooMinuit, calling migrad, hesse and minos in succession.
RooChi2Var *Chi2=new RooChi2Var(“Chi2”,”Chi2”,*fitting_pdf,data_simulation,Extended());
RooMinuit *minuit=new RooMinuit(*Chi2);
int result_migrad=minuit->migrad();
int result_hesse=minuit->hesse();
int result_minos=minuit->minos();
When I run the simulation Minos status always says PROBLEMS and I obtain
result_migrad=0
result_hesse=0
result_minos=6 (what does 6 mean?)
The problem disappear when I use RooMinimizer instead of RooMinuit.
RooChi2Var *Chi2=new RooChi2Var(“Chi2”,”Chi2”,*fitting_pdf,data_simulation,Extended());
RooMinimizer *minuit=new RooMinimizer(*Chi2);
int result_migrad=minuit->migrad();
int result_hesse=minuit->hesse();
int result_minos=minuit->minos();
Obtaining a Minos status which says SUCCESSFUL and
result_migrad=0
result_hesse=0
result_minos=0
Am I doing something wrong?
Can anyone tell me why this is happening or, in other words, what are the differences between RooMinuit and RooMinimizer that produce this phenomenon?
And finally, if I switch from RooMinuit to RooMinimizer, how my results (errors estimate in particular) will be affected?
Cheers,
Carlo