I am using the TMinuitMinimizer for my data fitting. I was using TFitter class before but because the SetFCN
problem (Can not use a class member function) I switch to TMinuitMinimizer class.
While I can use the TMinuitMinimizer.SetFunction to set the function for Minuit, I found there are no convenient functions in TMinuitMinimizer class to access the fitting results. In the TFitter class we have GetParameters, GetParError and GetStats to access the results. In the TMinuitMinimizer class I found similar function like X()
and Error() to access the parameters and their errors. But I still don"t know how to get the chi-square of the fitting.
I can not found any documents on this so I have to ask here. Thank you in advance.[/size]
the function Minimizer::X() return the variables (parameters) at the minimum,
Minimizer::Errors() returns the error estimated from the Hessian matrix (second derivatives)
and Minimizer::MinValue() return the minimum value of the function (e.g. chi2)
See also the tutorial tutorials/fit/NumericalMinimization.C
I am using the TMinuitMinimizer for the same reasons as that of @chenlition .
I need to perform multiple (sequential) minimizations with different algorithms
for same function (e.g. SEEK + SIMPLEX works for me generally) so as to avoid
local minima. With TMinuit I was able to do that either by sequentially calling respective
methods of TMinuit (e.g. mnseek() followed by mnsimp() ). I can’t find a way to do this
in TMinuitMinimizer . SetOptions() and Options() method of ROOT::Math::Minimizer are not
overloaded and it seems even if I overload them it would be useless.
Using ROOTv6.08/04 on fedora 23
I understand your problem. The way to do that currently is to create overtime a new TMinuitMinimizer with a different algorithm type. I should probably add a missing TMinimizer::SetAlgorithmType method to avoid re-creating all the time a new class