CMS 3D CMS Logo

Public Member Functions | Protected Member Functions | Protected Attributes

RooCB Class Reference

#include <HZZ2L2QRooPdfs.h>

List of all members.

Public Member Functions

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

Protected Member Functions

Double_t evaluate () const

Protected Attributes

RooRealProxy alpha
RooRealProxy mean
RooRealProxy n
RooRealProxy theta
RooRealProxy width
RooRealProxy x

Detailed Description

Definition at line 8 of file HZZ2L2QRooPdfs.h.


Constructor & Destructor Documentation

RooCB::RooCB ( )

Referenced by clone().

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

Definition at line 17 of file HZZ2L2QRooPdfs.cc.

               :
  RooAbsPdf(name,title),
  x("x","x",this,_x),
  mean("mean","mean",this,_mean),
  width("width","width",this,_width),
  alpha("alpha","alpha",this,_alpha),
  n("n","n",this,_n),
  theta("theta","theta",this,_theta)
{
}
RooCB::RooCB ( const RooCB other,
const char *  name = 0 
)

Definition at line 35 of file HZZ2L2QRooPdfs.cc.

                                                 :
  RooAbsPdf(other,name),
  x("x",this,other.x),
  mean("mean",this,other.mean),
  width("width",this,other.width),
  alpha("alpha",this,other.alpha),
  n("n",this,other.n),
  theta("theta",this,other.theta)
{
}
virtual RooCB::~RooCB ( ) [inline, virtual]

Definition at line 21 of file HZZ2L2QRooPdfs.h.

{ }

Member Function Documentation

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

Definition at line 20 of file HZZ2L2QRooPdfs.h.

References RooCB().

{ return new RooCB(*this,newname); }
double RooCB::evaluate ( ) const [protected]

Definition at line 46 of file HZZ2L2QRooPdfs.cc.

References a, funct::A, alpha, funct::cos(), create_public_lumi_plots::exp, mean, n, funct::sin(), lumiQTWidget::t, theta, w(), width, and x.

{
  double a = cos(theta)*alpha - sin(theta)*width;
  double w = sin(theta)*alpha + cos(theta)*width;

  double t = (x-mean)/w;
  if(a<0) t = -t;

  double absa = fabs((double)a);

  double A = TMath::Power(n/absa,n)*exp(-0.5*absa*absa);
  double B = n/absa-absa;

  if(t >= -absa){
    return exp(-0.5*t*t);
  }else{
    return A/TMath::Power(B-t,n);
  }
}

Member Data Documentation

RooRealProxy RooCB::alpha [protected]

Definition at line 28 of file HZZ2L2QRooPdfs.h.

Referenced by evaluate().

RooRealProxy RooCB::mean [protected]

Definition at line 26 of file HZZ2L2QRooPdfs.h.

Referenced by evaluate().

RooRealProxy RooCB::n [protected]

Definition at line 29 of file HZZ2L2QRooPdfs.h.

Referenced by evaluate().

RooRealProxy RooCB::theta [protected]

Definition at line 30 of file HZZ2L2QRooPdfs.h.

Referenced by evaluate().

RooRealProxy RooCB::width [protected]

Definition at line 27 of file HZZ2L2QRooPdfs.h.

Referenced by evaluate().

RooRealProxy RooCB::x [protected]

Definition at line 25 of file HZZ2L2QRooPdfs.h.

Referenced by evaluate().