Dear Folks,
I have already posted this stuff a fews ago in ROOTTalk but I still need
to understand a few things. I also read the manual in TMinuit.
I am doing the fitting and access the fitted parameters and errors
using two fitting option:
(a) TH1D::Fit("f_name"); (b) TH1D::Fit("f_name","E");
As a cross check I dumped a few parameter values and their errors.
-----------a-a-a-a-a-a-a-a-a-a-a-a-a-a------------------------------------------
This is the result for (a) TH1D::Fit("f_name");
LINE FIT(Data)
Slope: 0.00162291 +/- 0.000605578 <====== P0
Int. : 0.644645 +/- 0.440121 <====== P1
FCN=274.613 FROM MIGRAD STATUS=CONVERGED 1185 CALLS 1186 TOTAL
EDM=7.07449e-07 STRATEGY= 1 ERROR MATRIX UNCERTAINTY 3.1 per cent
EXT PARAMETER STEP FIRST
NO. NAME VALUE ERROR SIZE DERIVATIVE
1 p0 6.44645e-01 4.40121e-01 -2.79232e-05 1.24430e-04
2 p1 1.62291e-03 6.05578e-04 -1.92359e-08 2.48881e-01
-------------------------------------------------------------------------------
--------b-b-b-b-b-b-b-b-b-b-b-b-b-b-------------------------------------------
This is the result for (b) TH1D::Fit("f_name","E");
LINE FIT(Data)
Slope: 0.00162291 +/- 0.000605869 <===== P0
Int. : 0.644645 +/- 0.445796 <===== P2
FCN=274.613 FROM MINOS STATUS=SUCCESSFUL 6620 CALLS 8331 TOTAL
EDM=4.59478e-07 STRATEGY= 1 ERROR MATRIX ACCURATE
EXT PARAMETER PARABOLIC MINOS ERRORS
NO. NAME VALUE ERROR NEGATIVE POSITIVE
1 p0 6.44645e-01 4.45830e-01 -4.46699e-01 4.44894e-01
2 p1 1.62291e-03 6.05907e-04 -6.05686e-04 6.06052e-04
--------------------------------------------------------------------------------
In (a) the errors are reflected there in the summary.
In (b) the errors do not exactly match.
I mean 0.000605869(for P1) is almost
the same with 4.45830e-01 (if qouting the PARABOLIC), but not equal.
As a cross check, it is good to know that the errors you dumped are near
to the MINOS algorithm, but this could be confusing.
I have 3 questions:
(1) Since the TMinuit members are public, then I expect to have same
values with the one printed in the summary below. Am I Correct?
(2) Why is the dumped values not reflected in (b)?
Or Is the method: f->GetParError(nth_param) not enough?
In that case the user will still add few more lines(i.e., TMinuit *
minuit = new TMinuit ......; minuit->GetWhatIwant() ....)...I wanted to
Know.
(3) How do we qoute the errors in (b) when the dumped values are not
reflected in the print out summary?
The reason I use option (b) is because this gives a more reliable result.
Thank you very much.
Zaldy A. Nawang
This archive was generated by hypermail 2b29 : Sun Jan 02 2005 - 05:50:09 MET