Double_t df_dParExp(Double_t *x, Double_t *p) { TF1 *fitFunc = new TF1("ExpFunc",ExpFunc,0,1500,3); fitFunc->SetParameters(p[1],p[2],p[3]); Double_t grad[3]; int ipar = int(p[0]); assert (ipar >=0 && ipar < 3 ); assert(fitFunc); fitFunc->GradientPar(x, grad); return grad[ipar]; }
Double_t df_dParsqrt(Double_t *x, Double_t *p) { TF1 *fitFunc = new TF1("sqrtFunc",sqrtFunc,130,1620,3); fitFunc->SetParameters(p[1],p[2]); Double_t grad[2]; int ipar = int(p[0]); assert (ipar >=0 && ipar < 2 ); assert(fitFunc); fitFunc->GradientPar(x, grad); return grad[ipar]; }