/***************************************************************************** * Project: RooFit * * * * This code was autogenerated by RooClassFactory * *****************************************************************************/ // Your description goes here... #include "Riostream.h" #include "RooGaussianTail.h" #include "RooAbsReal.h" #include "RooAbsCategory.h" #include #include "TMath.h" ClassImp(RooGaussianTail) RooGaussianTail::RooGaussianTail(const char *name, const char *title, RooAbsReal& _x, RooAbsReal& _mean, RooAbsReal& _sigma, RooAbsReal& _tail) : RooAbsPdf(name,title), x("x","x",this,_x), mean("mean","mean",this,_mean), sigma("sigma","sigma",this,_sigma), tail("tail","tail",this,_tail) { } RooGaussianTail::RooGaussianTail(const RooGaussianTail& other, const char* name) : RooAbsPdf(other,name), x("x",this,other.x), mean("mean",this,other.mean), sigma("sigma",this,other.sigma), tail("tail",this,other.tail) { } Double_t RooGaussianTail::evaluate() const { Double_t tail2 = tail * sigma; if (x <= (tail2 + mean)) return TMath::Gaus(x, mean, sigma); else return TMath::Gaus(tail2 + mean, mean, sigma) * TMath::Exp(-tail2 * (x - tail2 - mean) / (sigma * sigma)); }