CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Public Attributes | Private Attributes
function::ZMuMuBackNorm Class Reference

#include <ZMuMuBackNorm.h>

Public Types

enum  { arguments = 2 }
 
enum  { parameters = 3 }
 

Public Member Functions

double operator() (const int x_min, const int x_max) const
 
void setParameters (double l, double a, double b)
 
 ZMuMuBackNorm (boost::shared_ptr< double > l, boost::shared_ptr< double > a, boost::shared_ptr< double > b)
 
 ZMuMuBackNorm (double l, double a, double b)
 
 ZMuMuBackNorm (const Exponential &expo, const Polynomial< 2 > &pol)
 

Public Attributes

boost::shared_ptr< double > a1
 
boost::shared_ptr< double > a2
 
boost::shared_ptr< double > lambda
 

Private Attributes

Exponential expo_
 
Polynomial< 2 > pol_
 

Detailed Description

Definition at line 10 of file ZMuMuBackNorm.h.

Member Enumeration Documentation

anonymous enum
Enumerator
arguments 

Definition at line 12 of file ZMuMuBackNorm.h.

anonymous enum
Enumerator
parameters 

Definition at line 13 of file ZMuMuBackNorm.h.

Constructor & Destructor Documentation

function::ZMuMuBackNorm::ZMuMuBackNorm ( boost::shared_ptr< double >  l,
boost::shared_ptr< double >  a,
boost::shared_ptr< double >  b 
)
inline

Definition at line 14 of file ZMuMuBackNorm.h.

14  :
15  lambda(l), a1(a), a2(b),
16  expo_(-(*l)),
17  pol_(-pow(*l, 2)- (*l) * (*a) - 2 * (*b), -pow(*l, 2) * (*a) - 2 * (*l) * (*b), -pow(*l, 2) * (*b)) {}
int l
Definition: vlib.h:268
boost::shared_ptr< double > lambda
Definition: ZMuMuBackNorm.h:34
boost::shared_ptr< double > a2
Definition: ZMuMuBackNorm.h:34
boost::shared_ptr< double > a1
Definition: ZMuMuBackNorm.h:34
double b
Definition: hdecay.h:120
double a
Definition: hdecay.h:121
Polynomial< 2 > pol_
Definition: ZMuMuBackNorm.h:37
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:40
function::ZMuMuBackNorm::ZMuMuBackNorm ( double  l,
double  a,
double  b 
)
inline

Definition at line 18 of file ZMuMuBackNorm.h.

18  :
19  lambda(new double(l)), a1(new double(a)), a2(new double(b)),
20  expo_(-l), pol_(-pow(l, 2)-l*a-2*b, -pow(l, 2)*a-2*l*b, -pow(l, 2)*b) {}
int l
Definition: vlib.h:268
boost::shared_ptr< double > lambda
Definition: ZMuMuBackNorm.h:34
boost::shared_ptr< double > a2
Definition: ZMuMuBackNorm.h:34
boost::shared_ptr< double > a1
Definition: ZMuMuBackNorm.h:34
double b
Definition: hdecay.h:120
double a
Definition: hdecay.h:121
Polynomial< 2 > pol_
Definition: ZMuMuBackNorm.h:37
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:40
function::ZMuMuBackNorm::ZMuMuBackNorm ( const Exponential &  expo,
const Polynomial< 2 > &  pol 
)
inline

Definition at line 21 of file ZMuMuBackNorm.h.

21 : expo_(expo), pol_(pol) { }
Polynomial< 2 > pol_
Definition: ZMuMuBackNorm.h:37

Member Function Documentation

double function::ZMuMuBackNorm::operator() ( const int  x_min,
const int  x_max 
) const
inline

Definition at line 22 of file ZMuMuBackNorm.h.

References expo_, function::l, and pol_.

22  {
23  double l = - (*(expo_.lambda)); //the exponential is constructed as negative!!
24  double l3inv = 1/(l*l*l);
25  double N1 = expo_(x_max)*l3inv * pol_(x_max);
26  double N2 = expo_(x_min)*l3inv * pol_(x_min);
27  return 1/(N1 - N2);
28  }
int l
Definition: vlib.h:268
Polynomial< 2 > pol_
Definition: ZMuMuBackNorm.h:37
void function::ZMuMuBackNorm::setParameters ( double  l,
double  a,
double  b 
)
inline

Definition at line 29 of file ZMuMuBackNorm.h.

References expo_, function::l, and pol_.

Referenced by function::ZMuMuNormalBack::setParameters().

29  {
30  expo_.setParameters(-l);
31  double l2 = l*l;
32  pol_.setParameters(-l2-l*a-2*b, -l2*a-2*l*b, -l2*b);
33  }
int l
Definition: vlib.h:268
double b
Definition: hdecay.h:120
double a
Definition: hdecay.h:121
Polynomial< 2 > pol_
Definition: ZMuMuBackNorm.h:37

Member Data Documentation

boost::shared_ptr<double> function::ZMuMuBackNorm::a1

Definition at line 34 of file ZMuMuBackNorm.h.

boost::shared_ptr<double> function::ZMuMuBackNorm::a2

Definition at line 34 of file ZMuMuBackNorm.h.

Exponential function::ZMuMuBackNorm::expo_
private

Definition at line 36 of file ZMuMuBackNorm.h.

Referenced by operator()(), and setParameters().

boost::shared_ptr<double> function::ZMuMuBackNorm::lambda

Definition at line 34 of file ZMuMuBackNorm.h.

Polynomial<2> function::ZMuMuBackNorm::pol_
private

Definition at line 37 of file ZMuMuBackNorm.h.

Referenced by operator()(), and setParameters().