I have a chi-square minimization code with minuit involving three fit parameters. I am getting the fit values of the parameters all fine. But is there any way to output all the values of the fit parameters as well as the corresponding chi-square which follows the region:
chi2 - chi2Min <= 3.53
for 68% confidence level?
I tried using gMinuit->mncont(par[i], par[j], ...) but it only takes two parameters at a time and does not output their corresponding \chi^2 values.
I am looking for something which will output all the values of all the fit parameters along with their \chi^2 values satisfying the above equation.
What you are asking is to compute the 3d contour of a 3d function. This is not an easy task, and unfortunately as you have found out, Minuit supports only the 2d case.
The easiest thing for you is probably to scan the chi2 function around the minimum (e.g. in a 3d grid), create an histogram and then from it get the contour. If the chi2 computation is not so expensive, this is the easiest way. Implementing an adaptive algorithm can be tricky,
Thanks @moneta, But can I ask what do you mean by “create an histogram and then from it get the contour.”? I understand I have to do a grid search with three parameters and I can just write the values of the parameters which satisfy the inequality to a file and do further analysis. Won’t this help?
I mean to create a TH3D where you put in the 3 axis the parameter values you are scanning and as histogram weight (bin content) the chi2 value. You can then use the option “COLZ” and see the regions where the chi2 is around the value you want.
Unfortunately, as I said, we don’t have an algorithm in ROOT for determine the correct iso-surface contour