void func(Int_t& npar, Double_t* gin, Double_t& f, Double_t* par, Int_t iflag) { printf("NPAR = %d\n",npar); for (Int_t i = 0 ; iSetFCN(func); gMinuit->DefineParameter(0,"a", 0, 0.1, 0, 0); gMinuit->DefineParameter(1,"b", 0, 0.1, 0, 0); gMinuit->DefineParameter(2,"c", 0, 0.1, 0, 0); } Double_t arglist[20]; Int_t ierflg = 0; arglist[0] = 3; // 0 means minimal output; -1 is no output gMinuit->mnexcm("SET PRINTOUT", arglist,1,ierflg); gMinuit->mnexcm("SET GRADIENT 1",0,0,ierflg); gMinuit->FixParameter(0); gMinuit->mnexcm("SET GRADIENT 1",0,0,ierflg); }