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