#include "Riostream.h"; gRoot->Reset(); Double32_t p0,p1,p1err, p0err,p2,p2err,p[200],perr[200]; Double32_t x[9]={1,2,3,4,5,6,7,8,9}; Double32_t y[200],z[9][200],error[9][200]; Int_t i,j; void fcn(Int_t &npar, Double_t *gin, Double_t &f, Double_t *par, Int_t iflag) { const Int_t nbins = 9,max=34; Double_t chisq = 0; Double_t delta; for (j=0;jSetFCN(fcn); Double_t arglist[10]; Int_t ierflg = 0; arglist[0] = 1; //this file contains the values for p[j] from a previous fit only in t in.open("fit300.txt"); for (j=0; j<34;j++) { in>>b>>b>>b>>p[j]>>b; // ignore the other columns } in.close(); gMinuit->mnparm(0, "p0", 0.95, 0.01, 0,0,ierflg); gMinuit->mnparm(1, "p1", 0.5, 0.01, 0,0,ierflg); gMinuit->mnparm(2, "p2", 0.16, 0.01, 0,0,ierflg); for (j=0;j<34;j++) { stringstream out; out<mnparm(j+3,nume.c_str(), p[j], 0.01, 0,0,ierflg); } in.open("out300.txt"); for (j=0; j<114;j++) { y[j]=0; in>>y[j]>>b; //ignore the second column for (i=0; i<9; i++) { in>>z[i][j]>>error[i][j]; } } arglist[0]=500; arglist[1]=1.; gMinuit->Migrad(); Double_t amin,edm,errdef; Int_t nvpar,nparx,icstat; gMinuit->mnstat(amin,edm,errdef,nvpar,nparx,icstat); gMinuit->mnprin(3,amin); gMinuit->GetParameter(1,p1,p1err); gMinuit->GetParameter(0,p0,p0err); gMinuit->GetParameter(0,p2,p2err); for (j=0;j<34;j++) { stringstream out; out<GetParameter(j+3,p[j],perr[j]); } }