CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Attributes
RooCBExGaussShape Class Reference

#include <RooCBExGaussShape.h>

Inheritance diagram for RooCBExGaussShape:

Public Member Functions

TObject * clone (const char *newname) const override
 
Double_t evaluate () const override
 
 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 () override
 

Protected Attributes

RooRealProxy alpha
 
RooRealProxy frac
 
RooRealProxy m
 
RooRealProxy m0
 
RooRealProxy n
 
RooRealProxy sigma
 
RooRealProxy sigma_2
 

Detailed Description

Definition at line 14 of file RooCBExGaussShape.h.

Constructor & Destructor Documentation

RooCBExGaussShape::RooCBExGaussShape ( )
inline

Definition at line 16 of file RooCBExGaussShape.h.

Referenced by clone().

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

Definition at line 5 of file RooCBExGaussShape.cc.

14  : RooAbsPdf(name, title),
15  m("m", "m", this, _m),
16  m0(" m0", " m0", this, _m0),
17  sigma(" sigma", " sigma", this, _sigma),
18  alpha(" alpha", " alpha", this, _alpha),
19  n(" n", " n", this, _n),
20  sigma_2(" sigma_2", " sigma_2", this, _sigma_2),
21  frac(" frac", " frac", this, _frac) {}
RooRealProxy sigma_2
RooCBExGaussShape::RooCBExGaussShape ( const RooCBExGaussShape other,
const char *  name 
)

Definition at line 23 of file RooCBExGaussShape.cc.

24  : RooAbsPdf(other, name),
25  m("m", this, other.m),
26  m0(" m0", this, other.m0),
27  sigma(" sigma", this, other.sigma),
28  alpha(" alpha", this, other.alpha),
29  n(" n", this, other.n),
30  sigma_2(" sigma_2", this, other.sigma_2),
31  frac(" frac", this, other.frac) {}
RooRealProxy sigma_2
RooCBExGaussShape::~RooCBExGaussShape ( )
inlineoverride

Definition at line 29 of file RooCBExGaussShape.h.

29 {}

Member Function Documentation

TObject* RooCBExGaussShape::clone ( const char *  newname) const
inlineoverride

Definition at line 28 of file RooCBExGaussShape.h.

References RooCBExGaussShape().

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

Definition at line 33 of file RooCBExGaussShape.cc.

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

33  {
34  Double_t rval = 0;
35 
36  Double_t t = (m - m0) / sigma;
37  Double_t t0 = (m - m0) / sigma_2;
38  if (alpha < 0) {
39  t = -t;
40  t0 = -t0;
41  }
42 
43  Double_t absAlpha = fabs((Double_t)alpha);
44 
45  if (t >= -absAlpha) {
46  rval = frac * exp(-0.5 * t * t) + (1.0 - frac) * exp(-0.5 * t0 * t0);
47  } else {
48  Double_t a = TMath::Power(n / absAlpha, n) * exp(-0.5 * absAlpha * absAlpha);
49  Double_t b = n / absAlpha - absAlpha;
50  rval = a / TMath::Power(b - t, n);
51  }
52 
53  //std::cout<<"RooCBExGaussShape: m, evaluate= "<<m<<", "<<rval<<std::endl;
54  return rval;
55 }
Exp< T >::type exp(const T &t)
Definition: Exp.h:22
RooRealProxy sigma_2
double b
Definition: hdecay.h:118
double a
Definition: hdecay.h:119

Member Data Documentation

RooRealProxy RooCBExGaussShape::alpha
protected

Definition at line 39 of file RooCBExGaussShape.h.

Referenced by evaluate().

RooRealProxy RooCBExGaussShape::frac
protected

Definition at line 42 of file RooCBExGaussShape.h.

Referenced by evaluate().

RooRealProxy RooCBExGaussShape::m
protected

Definition at line 36 of file RooCBExGaussShape.h.

Referenced by evaluate().

RooRealProxy RooCBExGaussShape::m0
protected

Definition at line 37 of file RooCBExGaussShape.h.

Referenced by evaluate().

RooRealProxy RooCBExGaussShape::n
protected

Definition at line 40 of file RooCBExGaussShape.h.

Referenced by evaluate().

RooRealProxy RooCBExGaussShape::sigma
protected

Definition at line 38 of file RooCBExGaussShape.h.

Referenced by evaluate().

RooRealProxy RooCBExGaussShape::sigma_2
protected

Definition at line 41 of file RooCBExGaussShape.h.

Referenced by evaluate().