Proper fitting of integers

From: Tadeusz Pytlos (pytlos@fizwe5.fic.uni.lodz.pl)
Date: Thu Sep 10 1998 - 20:08:12 MEST


Dear Rooters,
My problem seems to be easy, but I lost a lot of time with it.
Let's assume I have got a histogram of integers
 
      -
      - -
      - - -
      - - - -
      0 1 2 3

According to simple matematics fitting by y=p0+p1*x should give
p0=4 and p1=-1, errors=0. 
How could I fix a range or sth other 
to receive the best fiting results?
I'm using ROOT 2.00/11 RedHat 5.0. 
Best wishes,
           Tadeusz


root [0] TH1S *h1=new TH1S("h1","h1",4,0,4)
root [1] h1.Fill(0,4)
root [2] h1.Fill(1,3)
root [3] h1.Fill(2,2)
root [4] h1.Fill(3,1)
root [5] h1.Fit("pol1")
 **********
 **    1 **SET ERR           1
 **********
 FCN=0 FROM MIGRAD    STATUS=CONVERGED      22 CALLS          23 TOTAL
                     EDM=8.30088e-33    STRATEGY= 1      ERROR MATRIX
ACCURATE 
  EXT PARAMETER                                   STEP         FIRST   
  NO.   NAME      VALUE            ERROR          SIZE      DERIVATIVE 
   1  p0           4.50000e+00   1.83007e+00  -0.00000e+00   0.00000e+00
   2  p1          -1.00000e+00   6.56532e-01   0.00000e+00  -2.77547e-16
Warning in <MakeDefCanvas>: creating a default canvas with name c1


root [6] TH1F *h2=new TH1F("h2","h2",4,-0.5,3.5)
root [7] h2.Fill(0,4)                           
root [8] h2.Fill(1,3)
root [9] h2.Fill(2,2)
root [10] h2.Fill(3,1)
root [11] h2.Fit("pol1")
 FCN=0 FROM MIGRAD    STATUS=CONVERGED      20 CALLS          21 TOTAL
                     EDM=1.00357e-30    STRATEGY= 1      ERROR MATRIX
ACCURATE 
  EXT PARAMETER                                   STEP         FIRST   
  NO.   NAME      VALUE            ERROR          SIZE      DERIVATIVE 
   1  p0           4.00000e+00   1.53128e+00   1.20000e-03  -9.25194e-16
   2  p1          -1.00000e+00   6.56532e-01   3.00000e-04   0.00000e+00


root [12] Int_t x[4]={0,1,2,3}                          
root [13] Int_t y[4]={4,3,2,1}                          
root [14] TGraph *g1=new TGraph(4,x,y)
Error: Can't call TGraph::TGraph() in current scope FILE:/tmp/19719caa
LINE:1


--
Tadeusz Pytlos        
mailto:pytlos@fizwe5.fic.uni.lodz.pl 
Lodz, Poland                                                 



This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:34:37 MET