// Novosibirsk Shape from RoooFit RooNovosibirsk Double_t e_p2e_nsb(Double_t *x, Double_t *par) { // Put the formula for your PDF's value here. Use the pre-computed // value of _norm to normalize the result. // par[0]=norm, par[1]=peak, par[2]=width, par[3]=tail // par[0]=4.64856e+04 par[1]= 6.67889e+01 // par[2]=4.04685e+00 par[3]=-2.17974e-01 double qa=0,qb=0,qc=0,qx=0,qy=0; if(TMath::Abs(par[3]) < 1.e-7) qc = 0.5*TMath::Power(((x[0]-par[1])/par[2]),2); else { qa = par[3]*sqrt(log(4.)); qb = sinh(qa)/qa; qx = (x[0]-par[1])/par[2]*qb; qy = 1.+par[3]*qx; //---- Cutting curve from right side if( qy > 1.E-7) qc = 0.5*(TMath::Power((log(qy)/par[3]),2) + par[3]*par[3]); else qc = 15.0; } //---- Normalize the result return par[0]*exp(-qc); }