CMS 3D CMS Logo

Public Member Functions

backgroundFunctionType4 Class Reference

Exponential with eta dependence. More...

#include <Functions.h>

Inheritance diagram for backgroundFunctionType4:
backgroundFunctionBase

List of all members.

Public Member Functions

 backgroundFunctionType4 (const double &lowerLimit, const double &upperLimit)
virtual double fracVsEta (const double *parval, const double &resEta) const
virtual double operator() (const double *parval, const double &mass, const double &eta) const
virtual void setParameters (double *Start, double *Step, double *Mini, double *Maxi, int *ind, TString *parname, const std::vector< double >::const_iterator &parBgrIt, const std::vector< int >::const_iterator &parBgrOrderIt, const int muonType)
 This method is used to differentiate parameters among the different functions.

Detailed Description

Exponential with eta dependence.

Definition at line 2902 of file Functions.h.


Constructor & Destructor Documentation

backgroundFunctionType4::backgroundFunctionType4 ( const double &  lowerLimit,
const double &  upperLimit 
) [inline]

In case of an exponential, we normalize it such that it has integral in any window equal to unity, and then, when adding together all the resonances, one gets a meaningful result for the overall background fraction.

Definition at line 2910 of file Functions.h.

References backgroundFunctionBase::parNum_.

                                                                                :
    backgroundFunctionBase(lowerLimit, upperLimit)
    { this->parNum_ = 4; }

Member Function Documentation

virtual double backgroundFunctionType4::fracVsEta ( const double *  parval,
const double &  resEta 
) const [inline, virtual]

Reimplemented from backgroundFunctionBase.

Definition at line 2933 of file Functions.h.

  {
    return( 1. - parval[3]*resEta*resEta ); // so that a = 1 for eta = 0.
  }
virtual double backgroundFunctionType4::operator() ( const double *  parval,
const double &  mass,
const double &  eta 
) const [inline, virtual]

Implements backgroundFunctionBase.

Definition at line 2913 of file Functions.h.

References eta(), funct::exp(), backgroundFunctionBase::lowerLimit_, lumiNorm::norm, and backgroundFunctionBase::upperLimit_.

  {
    double Bgrp2 = parval[1] + parval[2]*eta*eta;
    double norm = -(exp(-Bgrp2*upperLimit_) - exp(-Bgrp2*lowerLimit_))/Bgrp2;
    if( norm != 0 ) return exp(-Bgrp2*mass)/norm;
    else return 0.;
  }
virtual void backgroundFunctionType4::setParameters ( double *  Start,
double *  Step,
double *  Mini,
double *  Maxi,
int *  ind,
TString *  parname,
const std::vector< double >::const_iterator &  parBgrIt,
const std::vector< int >::const_iterator &  parBgrOrderIt,
const int  muonType 
) [inline, virtual]

This method is used to differentiate parameters among the different functions.

Implements backgroundFunctionBase.

Definition at line 2920 of file Functions.h.

References backgroundFunctionBase::setPar().

                                                                                                                                                                                                                                            {
    double thisStep[] = {0.01, 0.01, 0.01, 0.01};
    TString thisParName[] = {"Bgr fraction", "Bgr slope", "Bgr slope eta^2 dependence", "background fraction eta dependence"};
    if( muonType == 1 ) {
      double thisMini[] = {0.0, 0.,   0., -1.};
      double thisMaxi[] = {1.0, 10., 10.,  1.};
      this->setPar( Start, Step, Mini, Maxi, ind, parname, parBgrIt, parBgrOrderIt, thisStep, thisMini, thisMaxi, thisParName );
    } else {
      double thisMini[] = {0.0, 0., -1., -1.};
      double thisMaxi[] = {1.0, 10., 1.,  1.};
      this->setPar( Start, Step, Mini, Maxi, ind, parname, parBgrIt, parBgrOrderIt, thisStep, thisMini, thisMaxi, thisParName );
    }
  }