[ROOT] Fit Option

From: zaldy (zaldy@neutrino.kek.jp)
Date: Sat Oct 09 2004 - 05:32:47 MEST


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