Double_t myFun (Double_t *xarg, Double_t *par) { Double_t x = xarg[0] , result = 0.; for (int st=0; st<=3; st++) result += par[st] * TMath::Power (x, st); return result; } void macro_FitTGraphErrors () { TCanvas* c1 = new TCanvas ("c1"); TGraphErrors* gr = new TGraphErrors ("dataPoints.txt"); gr->SetTitle (); gr->Draw("AP"); TF1* fun = new TF1 ("fun", myFun , -3, 5, 4); fun->SetParameters (-1. , 1. , -6. , 1.); fun->SetParLimits (0, -3., 2.); gr->Fit ( fun , "" ); c1->Update(); // cin.ignore(); }