CMS 3D CMS Logo

Public Member Functions | Public Attributes

RooCBExGaussShape Class Reference

#include <RooCBExGaussShape.h>

List of all members.

Public Member Functions

virtual TObject * clone (const char *newname) const
Double_t evaluate () const
 RooCBExGaussShape ()
 RooCBExGaussShape (const char *name, const char *title, RooAbsReal &_m, RooAbsReal &_m0, RooAbsReal &_sigma, RooAbsReal &_alpha, RooAbsReal &_n, RooAbsReal &_sigma_2, RooAbsReal &_frac)
 RooCBExGaussShape (const RooCBExGaussShape &other, const char *name)
 ~RooCBExGaussShape ()

Public Attributes

RooRealProxy alpha
RooRealProxy frac
ClassDef(RooCBExGaussShape,
1) protected RooRealProxy 
m0
RooRealProxy n
RooRealProxy sigma
RooRealProxy sigma_2

Detailed Description

Definition at line 15 of file RooCBExGaussShape.h.


Constructor & Destructor Documentation

RooCBExGaussShape::RooCBExGaussShape ( ) [inline]

Definition at line 17 of file RooCBExGaussShape.h.

Referenced by clone().

{} ; 
RooCBExGaussShape::RooCBExGaussShape ( const char *  name,
const char *  title,
RooAbsReal &  _m,
RooAbsReal &  _m0,
RooAbsReal &  _sigma,
RooAbsReal &  _alpha,
RooAbsReal &  _n,
RooAbsReal &  _sigma_2,
RooAbsReal &  _frac 
)
RooCBExGaussShape::RooCBExGaussShape ( const RooCBExGaussShape other,
const char *  name 
)

Definition at line 24 of file RooCBExGaussShape.cc.

                                                                                    :
  RooAbsPdf(other,name), 
  m("m",this,other.m),
  m0(" m0",this,other. m0),
  sigma(" sigma",this,other. sigma),
  alpha(" alpha",this,other. alpha),
  n(" n",this,other. n),
  sigma_2(" sigma_2",this,other. sigma_2),
  frac(" frac",this,other. frac)
{ }
RooCBExGaussShape::~RooCBExGaussShape ( ) [inline]

Definition at line 30 of file RooCBExGaussShape.h.

{}

Member Function Documentation

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

Definition at line 29 of file RooCBExGaussShape.h.

References RooCBExGaussShape().

{ return new RooCBExGaussShape(*this,newname);}
Double_t RooCBExGaussShape::evaluate ( ) const

Definition at line 36 of file RooCBExGaussShape.cc.

References a, alpha, b, funct::exp(), frac, m, m0, n, sigma, sigma_2, and matplotRender::t.

 { 
   Double_t rval=0;

   Double_t t = (m-m0)/sigma;
   Double_t t0 = (m-m0)/sigma_2;
   if (alpha < 0){ 
     t = -t;
     t0 = -t0;
   }

   Double_t absAlpha = fabs((Double_t)alpha);

   if (t >= -absAlpha) {
     rval= frac*exp(-0.5*t*t) + (1.0-frac)*exp(-0.5*t0*t0);
   }
   else {
     Double_t a =  TMath::Power(n/absAlpha,n)*exp(-0.5*absAlpha*absAlpha);
     Double_t b= n/absAlpha - absAlpha; 
     rval= a/TMath::Power(b - t, n);
   }

   //std::cout<<"RooCBExGaussShape: m, evaluate= "<<m<<", "<<rval<<std::endl;
   return rval;
 } 

Member Data Documentation

Definition at line 40 of file RooCBExGaussShape.h.

Referenced by evaluate().

Definition at line 43 of file RooCBExGaussShape.h.

Referenced by evaluate().

ClassDef (RooCBExGaussShape,1) protected RooRealProxy RooCBExGaussShape::m0

Definition at line 33 of file RooCBExGaussShape.h.

Referenced by evaluate().

RooRealProxy RooCBExGaussShape::n

Definition at line 41 of file RooCBExGaussShape.h.

Referenced by evaluate().

Definition at line 39 of file RooCBExGaussShape.h.

Referenced by evaluate().

Definition at line 42 of file RooCBExGaussShape.h.

Referenced by evaluate().