void fitter() { char name[2]; name[1] = 0; TVirtualFitter::SetDefaultFitter("Minuit2"); TVirtualFitter *fitter = TVirtualFitter::Fitter(0, 4); //The following loop below is expected to set the fitter //parameters as: // // par[0]: name="0", value=0 // par[1]: name="1", value=1 // par[2]: name="2", value=2 // par[3]: name="3", value=3 for (int jj = 0; jj < 2; ++jj) { name[0] = char(jj+48); //ASCII presentation of jj fitter->SetParameter(jj, name, jj, 0, 0, 0); name[0] = char(jj+48+2); //ASCII presentation of jj+2 fitter->SetParameter(jj+2, name, jj+2, 0, 0, 0); } //See what we got: for (int jj = 0; jj < 4; ++jj) { cout << "par[" << jj << "]:\tname=" << fitter->GetParName(jj) << "\tvalue=" << fitter->GetParameter(jj) << endl; } //It looks like SetParameter(...) ignores its' first argument //and set parameters sequentially... }