RooBallack Class Reference

#include <RooBallack.hh>

List of all members.

Public Member Functions

 RooBallack (const char *name, const char *title, RooAbsReal &_x, RooAbsReal &_mean, RooAbsReal &_width, RooAbsReal &_tail, RooAbsReal &_alpha, RooAbsReal &_n)
 RooBallack (const RooBallack &other, const char *name=0)
virtual TObject * clone (const char *newname) const
virtual ~RooBallack ()

Protected Member Functions

Double_t evaluate () const

Protected Attributes

RooRealProxy x
RooRealProxy mean
RooRealProxy width
RooRealProxy tail
RooRealProxy alpha
RooRealProxy n


Detailed Description

Definition at line 19 of file RooBallack.hh.


Constructor & Destructor Documentation

RooBallack::RooBallack ( const char *  name,
const char *  title,
RooAbsReal &  _x,
RooAbsReal &  _mean,
RooAbsReal &  _width,
RooAbsReal &  _tail,
RooAbsReal &  _alpha,
RooAbsReal &  _n 
)

Referenced by clone().

RooBallack::RooBallack ( const RooBallack other,
const char *  name = 0 
)

Definition at line 38 of file RooBallack.cc.

00038                                                                 :
00039   RooAbsPdf(other, name), 
00040   x("x", this, other.x), 
00041   mean("mean", this, other.mean),
00042   width("width", this, other.width), 
00043   tail("tail", this, other.tail), 
00044   alpha("alpha", this, other.alpha),
00045   n("n", this, other.n)
00046 {
00047 }

virtual RooBallack::~RooBallack (  )  [inline, virtual]

Definition at line 34 of file RooBallack.hh.

00034 { }


Member Function Documentation

virtual TObject* RooBallack::clone ( const char *  newname  )  const [inline, virtual]

Definition at line 31 of file RooBallack.hh.

References RooBallack().

00031                                                     { 
00032     return new RooBallack(*this,newname); }

Double_t RooBallack::evaluate (  )  const [protected]

Definition at line 49 of file RooBallack.cc.

References alpha, mean, n, tail, width, and x.

00050 {
00051   // build the functional form
00052 
00053   double qa=0,qb=0,qc=0,qx=0,qy=0;
00054 
00055   double A=0,B=0,C=0,a=0,c1=0,c2=0;
00056   double sigTail=0, sigMean=0;
00057 
00058   a = sqrt(log(4.));
00059 
00060   const Double_t lowlimit = 1.0e-7;
00061 
00062   // Make a symmetric function around x=0
00063   if(x<0) {
00064     sigTail = -tail;
00065     sigMean = -mean;
00066   }
00067   else {
00068     sigTail = tail;
00069     sigMean = mean;
00070   }
00071 
00072   if(TMath::Abs(tail) < lowlimit) {
00073     qc = 0.5*TMath::Power(((x-sigMean)/width),2);
00074     A = 1.e7;
00075   }
00076   else {
00077     qa = sigTail*a;
00078     qb = sinh(qa)/qa;
00079     qx = (x-sigMean)/width*qb;
00080     qy = 1.+sigTail*qx;
00081   
00082     //---- Cutting curve from right side
00083     if( qy > lowlimit) {
00084       qc = 0.5*(TMath::Power((log(qy)/sigTail),2) + sigTail*sigTail);
00085     }   
00086     else {
00087       qc = 15.0;
00088     }
00089 
00090     // Preparing the polynomial tail
00091     A = alpha*width*a/sinh(sigTail*a);
00092   }
00093 
00094   // Determine the side ofthe tail and polynomial
00095   if( x>=sigMean-fabs(A) && sigTail<0 ) {
00096     return exp(-qc);
00097   }
00098   if( x<=sigMean+fabs(A) && sigTail>0 ) {
00099     return exp(-qc);
00100   }
00101   else {
00102     if( (1+alpha) > lowlimit ) {
00103       B = -0.5*(TMath::Power( (log(1+alpha)/sigTail), 2 ) + sigTail*sigTail);
00104     }
00105     else {
00106       B = -15.0;
00107     }
00108 
00109     C = n*A*sigTail*sigTail*(1+alpha)*(TMath::Power( (sigMean+A), n-1. ));
00110     c2 = - alpha*log(1+alpha)*exp(B)/C;
00111     c1 = exp(B) - c2*(TMath::Power( (sigMean+A), n));
00112 
00113     return c1 + c2*(TMath::Power(x,n));
00114   }
00115 
00116 }


Member Data Documentation

RooRealProxy RooBallack::alpha [protected]

Definition at line 41 of file RooBallack.hh.

Referenced by evaluate().

RooRealProxy RooBallack::mean [protected]

Definition at line 38 of file RooBallack.hh.

Referenced by evaluate().

RooRealProxy RooBallack::n [protected]

Definition at line 42 of file RooBallack.hh.

Referenced by evaluate().

RooRealProxy RooBallack::tail [protected]

Definition at line 40 of file RooBallack.hh.

Referenced by evaluate().

RooRealProxy RooBallack::width [protected]

Definition at line 39 of file RooBallack.hh.

Referenced by evaluate().

RooRealProxy RooBallack::x [protected]

Definition at line 37 of file RooBallack.hh.

Referenced by evaluate().


The documentation for this class was generated from the following files:
Generated on 30 Oct 2013 for RooRarFit by  doxygen 1.4.7