/***************************************************************************** * Project: RooFit * * * * This code was autogenerated by RooClassFactory * *****************************************************************************/ // Your description goes here... #include "Riostream.h" #include "RooInverseGaussianTail.h" #include "RooAbsReal.h" #include "RooAbsCategory.h" #include #include "TMath.h" ClassImp(RooInverseGaussianTail) RooInverseGaussianTail::RooInverseGaussianTail(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) { } RooInverseGaussianTail::RooInverseGaussianTail(const RooInverseGaussianTail& 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 RooInverseGaussianTail::evaluate() const { Double_t tail2 = tail * sigma; if (x >= (mean - tail2)) return TMath::Gaus(x, mean, sigma); else return TMath::Gaus(mean - tail2, mean, sigma) * TMath::Exp(tail2 * (x + tail2 - mean) / (sigma * sigma)); }