#include #include #include #include #include #define NDIM 100 void fitDataFromFile() { std::string fileNameString = "datiFLin.txt"; ifstream inputFile; inputFile.open(fileNameString.c_str()); if (!inputFile.good()) { cout<<"Error while opening file <"<"< open in reading mode"<"<> a1 >> a2 >> a3 >>a4; if (Nlines==NDIM) { cout<<"More than "<SetParameters(1.,4.); /// now you can manipulate teh data held in the arrays TGraphErrors *gr= new TGraphErrors(Nlines,xmeas,ymeas,exmeas,eymeas); gr->Fit("fun"); TVirtualFitter * fitter = TVirtualFitter::GetFitter(); double p1=fitter->GetParameter(1); double p0=fitter->GetParameter(0); // estraggo e stampo la matrice di covarianza double * covMatrix = fitter->GetCovarianceMatrix(); printf("\n p1=%f p0=%f\n",p1,p0); printf("\n c11=%f c12=%f ",covMatrix[0],covMatrix[1]); printf("\n c21=%f c22=%f\n ",covMatrix[2],covMatrix[3]); printf("\n p0+/-errp0 = %f +/- %f",p0,sqrt(covMatrix[0])); printf("\n p1+/-errp1 = %f +/- %f",p1,sqrt(covMatrix[3])); double chi2 = fun->GetChisquare(); double pchi2 = fun->GetProb(); printf("\n\n chi^2=%f Prob(chi^2)=%f\n\n",chi2,pchi2); }