CMS 3D CMS Logo

Public Types | Public Member Functions | Public Attributes | Private Attributes

function::ZMuMuBackNorm Class Reference

#include <ZMuMuBackNorm.h>

List of all members.

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 (double l, double a, double b)
 ZMuMuBackNorm (const Exponential &expo, const Polynomial< 2 > &pol)
 ZMuMuBackNorm (boost::shared_ptr< double > l, boost::shared_ptr< double > a, boost::shared_ptr< double > b)

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.

{ arguments = 2 };
anonymous enum
Enumerator:
parameters 

Definition at line 13 of file ZMuMuBackNorm.h.

{ parameters = 3 };

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.

References a1, a2, expo_, lambda, and pol_.

                                                                                                  :
      lambda(l), a1(a), a2(b), 
      expo_(-(*l)), 
      pol_(-pow(*l, 2)- (*l) * (*a) - 2 * (*b), -pow(*l, 2) * (*a) - 2 * (*l) * (*b), -pow(*l, 2) * (*b)) {}
function::ZMuMuBackNorm::ZMuMuBackNorm ( double  l,
double  a,
double  b 
) [inline]

Definition at line 18 of file ZMuMuBackNorm.h.

References a1, a2, expo_, lambda, and pol_.

                                               : 
      lambda(new double(l)), a1(new double(a)), a2(new double(b)), 
      expo_(-l), pol_(-pow(l, 2)-l*a-2*b, -pow(l, 2)*a-2*l*b, -pow(l, 2)*b) {}
function::ZMuMuBackNorm::ZMuMuBackNorm ( const Exponential &  expo,
const Polynomial< 2 > &  pol 
) [inline]

Definition at line 21 of file ZMuMuBackNorm.h.

References expo_, and pol_.

: expo_(expo), pol_(pol) { }

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_.

                                                              {
      double l = - (*(expo_.lambda)); //the exponential is constructed as negative!!
      double l3inv = 1/(l*l*l);
      double N1 = expo_(x_max)*l3inv * pol_(x_max);
      double N2 = expo_(x_min)*l3inv * pol_(x_min);
      return 1/(N1 - N2);
    }
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().

                                                     { 
      expo_.setParameters(-l);
      double l2 = l*l;
      pol_.setParameters(-l2-l*a-2*b, -l2*a-2*l*b, -l2*b);
    }

Member Data Documentation

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

Definition at line 34 of file ZMuMuBackNorm.h.

Referenced by ZMuMuBackNorm().

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

Definition at line 34 of file ZMuMuBackNorm.h.

Referenced by ZMuMuBackNorm().

Exponential function::ZMuMuBackNorm::expo_ [private]

Definition at line 36 of file ZMuMuBackNorm.h.

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

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

Definition at line 34 of file ZMuMuBackNorm.h.

Referenced by ZMuMuBackNorm().

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

Definition at line 37 of file ZMuMuBackNorm.h.

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