[ROOT] x error bars and fitting (3)

From: Nicolas de Sereville (deserevi@csnsm.in2p3.fr)
Date: Wed Sep 18 2002 - 18:14:14 MEST


Hi rooters,

I wrote to the mailing list last week and didn't receive answer (see link)
http://root.cern.ch/root/roottalk/roottalk02/3887.html
So I tried to make a more understandable example (see code at the end).

I noticed a strange behaviour while fitting TGraphErrors with a user
function.
In the following example, I define a TGraphError with horizontal an
vertical error bars. When I use the predefined function, the fit is good
and takes into account the horizontal error bars. When I use my user
function, I can see that the fit result is not the same and correspond to
the case without the x error bars!!

Am I doing something wrong?

Thanks

Nicolas (root 3.02/03 on RH 7.1)



void test()
{
   gStyle->SetOptFit(1);

   Double_t x[3]  = {1, 2, 3};
   Double_t ex[3] = {0.1, 0.1, 0.1};
   Double_t y[3]  = {1, 2.1, 2.9};
   Double_t ey[3] = {0.1, 0.1, 0.1};

   TGraphErrors *gre = new TGraphErrors(3, x, y, ex, ey);
//   TGraphErrors *gre = new TGraphErrors(3, x, y, 0, ey);
   gre->Draw("A*");

   // predefined function
   TF1 *f1 = new TF1("f1", "pol1", 0, 4);
   gre->Fit("f1", "R");

   // user function
//   TF1 *fitf = new TF1("fitf", fitf, 0, 4, 2);
//   fitf->SetParameters(0.1, 1);
//   fitf->SetParNames("b", "a");
//   gre->Fit("fitf", "R");
}


Double_t fitf(Double_t *x, Double_t *par)
{
   return par[0] + par[1]*x[0];
}

-- 
:-------------------------------:
:     Nicolas DE SEREVILLE      :
:         C.S.N.S.M.            :
:        Batiment 104           :
:     91405 ORSAY Campus        :
: Tel : (+ 33) (0)1 69 15 48 57 :
: Fax : (+ 33) (0)1 69 15 50 08 :
:-------------------------------:



This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:51:10 MET