Double_t SGaussPol2(Double_t *x, Double_t *par) { Double_t arg = 0, arg2 = 0, arg3 = 0, arg4 = 0, arg5 = 0; if (par[3]) { arg = (x[0]-par[2])/par[3]; arg2 = 1/(TMath::Sqrt(2*TMath::Pi())*par[3]); arg3 = par[4]/(2*par[3]); } if (par[5]) { arg4 = par[4]/(4*par[5]); } Double_t sig2 = par[0]*( par[1] * arg2 * TMath::Exp(-arg*arg/2) + (1-par[1]) * arg3 * TMath::Exp(par[4]*par[5]*(par[6]-arg4)) * TMath::Exp(-par[4]*arg) *(1+TMath::Erf(par[5]*arg-par[6])) ) + par[7] + par[8]*x[0] + par[9]*TMath::Power(x[0],2); return sig2; }