MINT2
Public Member Functions | Private Attributes | List of all members
BF_Integrand Class Reference

Public Member Functions

 BF_Integrand (std::vector< TF1 * > partialWidths, std::vector< FitParameter * > fit_couplings, double m0, double gamma0)
 
double operator() (Double_t *x, Double_t *par=0)
 
double operator() (double x)
 
double Eval (Double_t x)
 
void setIndex (const int i)
 

Private Attributes

int _index
 
double _m0
 
double _gamma0
 
std::vector< TF1 * > _partialWidths
 
std::vector< FitParameter * > _fit_couplings
 

Detailed Description

Definition at line 362 of file RunningWidthCalculator.cpp.

Constructor & Destructor Documentation

◆ BF_Integrand()

BF_Integrand::BF_Integrand ( std::vector< TF1 * >  partialWidths,
std::vector< FitParameter * >  fit_couplings,
double  m0,
double  gamma0 
)
inline

Definition at line 370 of file RunningWidthCalculator.cpp.

370  :
371  _index(0),_m0(m0), _gamma0(gamma0), _partialWidths(partialWidths), _fit_couplings(fit_couplings){}
std::vector< TF1 * > _partialWidths
std::vector< FitParameter * > _fit_couplings

Member Function Documentation

◆ Eval()

double BF_Integrand::Eval ( Double_t  x)
inline

Definition at line 382 of file RunningWidthCalculator.cpp.

382  {
383  double totalWidth = 0.;
384  double totalWidth_norm = 0.;
385 
386  double sum = 0.;
387  for (unsigned int i=1; i<_fit_couplings.size(); i++) {
388  sum += *_fit_couplings[i];
389  }
390 
391  for (unsigned int i=0; i<_partialWidths.size(); i++) {
392  double c;
393  if(i==0) c = *_fit_couplings[0];//* (1.-sum);
394  else c = *_fit_couplings[0]* *_fit_couplings[i];
395  totalWidth += c * _partialWidths[i]->Eval(x);
396  totalWidth_norm += c* _partialWidths[i]->Eval(_m0*_m0/(GeV*GeV));
397  }
398  totalWidth = totalWidth/totalWidth_norm * _gamma0/GeV;
399 
400  double c;
401  if(_index==0) c = *_fit_couplings[0];//* (1.-sum);
402  else c = *_fit_couplings[0]* *_fit_couplings[_index];
403 
404  return (c * _partialWidths[_index]->Eval(x))/ ( pow((x-_m0*_m0/(GeV*GeV)),2) +_m0*_m0/(GeV*GeV)*totalWidth*totalWidth);
405  }
std::vector< TF1 * > _partialWidths
static const double GeV
double Eval(Double_t x)
std::vector< FitParameter * > _fit_couplings

◆ operator()() [1/2]

double BF_Integrand::operator() ( Double_t *  x,
Double_t *  par = 0 
)
inline

Definition at line 373 of file RunningWidthCalculator.cpp.

373  {
374  return Eval(x[0]);
375  (void)par;
376  }
double Eval(Double_t x)

◆ operator()() [2/2]

double BF_Integrand::operator() ( double  x)
inline

Definition at line 378 of file RunningWidthCalculator.cpp.

378  {
379  return Eval(x);
380  }
double Eval(Double_t x)

◆ setIndex()

void BF_Integrand::setIndex ( const int  i)
inline

Definition at line 407 of file RunningWidthCalculator.cpp.

407  {
408  _index = i;
409  }

Member Data Documentation

◆ _fit_couplings

std::vector<FitParameter*> BF_Integrand::_fit_couplings
private

Definition at line 367 of file RunningWidthCalculator.cpp.

◆ _gamma0

double BF_Integrand::_gamma0
private

Definition at line 365 of file RunningWidthCalculator.cpp.

◆ _index

int BF_Integrand::_index
private

Definition at line 363 of file RunningWidthCalculator.cpp.

◆ _m0

double BF_Integrand::_m0
private

Definition at line 364 of file RunningWidthCalculator.cpp.

◆ _partialWidths

std::vector<TF1*> BF_Integrand::_partialWidths
private

Definition at line 366 of file RunningWidthCalculator.cpp.


The documentation for this class was generated from the following file: