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_FitErrorMatrix () { TCanvas *c1 = new TCanvas ("c1"); TGraphErrors gr ("dataPoints.txt"); gr.SetTitle (); gr.Draw("AP"); TF1 fun ("fun", myFun , -3, 5, 4); fun.SetParameters (-1. , 1. , -6. , 1.); TFitResultPtr fitRes = gr.Fit ( &fun , "S" ); TMatrixDSym cov = fitRes->GetCovarianceMatrix(); for (int r = 0; r < cov.GetNrows() ; r++) { for (int c = 0; c < cov.GetNcols() ; c++) cout << setw(16) << cov[r][c] ; cout << endl; } c1->Update(); cin.ignore(); }