double ffit(double *x, double *par) { double y = 0.; double x0 = x[0]/0.8954; y = par[0] + par[1]*x0 + par[2]*x0*x0 + par[3]*x0*x0*x0 + par[4]*x0*x0*x0*x0 + par[5]*x0*x0*x0*x0*x0 + par[6]*x0*x0*x0*x0*x0*x0; if (x0 > 116.) y = par[7] + par[8]*x0 + par[9]*x0*x0; return y; } void xx() { double xmin = 10.; // allowed function range double xmax = 150.; // allowed function range TF1 *func = new TF1("func",ffit,xmin,xmax,10); func->SetParameter(0, 3.26609e-01); func->SetParameter(1, 6.40266e-02); func->SetParameter(2, -2.38273e-03); func->SetParameter(3, 4.62234e-05); func->SetParameter(4, -5.02656e-07); func->SetParameter(5, 2.87526e-09); func->SetParameter(6, -6.70040e-12); func->SetParameter(7, 9.57575e-01+5.02e-4); func->SetParameter(8, 2.70604e-04); func->SetParameter(9, -7.08136e-06 ); func->GetXaxis()->SetRangeUser(20.,100.0); func->Draw(); }