27 Float_t z[5],x[5],y[5],errorz[5];
30 Double_t func(
float x,
float y,Double_t *par)
32 Double_t value=( (par[0]*par[0])/(x*x)-1)/ ( par[1]+par[2]*y-par[3]*y*y);
37 void fcn(Int_t &npar, Double_t *gin, Double_t &f, Double_t *par, Int_t iflag)
39 const Int_t nbins = 5;
45 for (i=0;i<nbins; i++) {
46 delta = (z[i]-func(x[i],y[i],par))/errorz[i];
81 TMinuit *gMinuit =
new TMinuit(5);
88 gMinuit->mnexcm(
"SET ERR", arglist ,1,ierflg);
91 static Double_t vstart[4] = {3, 1 , 0.1 , 0.01};
92 static Double_t step[4] = {0.1 , 0.1 , 0.01 , 0.001};
93 gMinuit->mnparm(0,
"a1", vstart[0], step[0], 0,0,ierflg);
94 gMinuit->mnparm(1,
"a2", vstart[1], step[1], 0,0,ierflg);
95 gMinuit->mnparm(2,
"a3", vstart[2], step[2], 0,0,ierflg);
96 gMinuit->mnparm(3,
"a4", vstart[3], step[3], 0,0,ierflg);
101 gMinuit->mnexcm(
"MIGRAD", arglist ,2,ierflg);
104 Double_t amin,edm,errdef;
105 Int_t nvpar,nparx,icstat;
106 gMinuit->mnstat(amin,edm,errdef,nvpar,nparx,icstat);