MINT2
Public Member Functions | Private Attributes | List of all members
RooGaussModelAcceptance::K_n Class Reference

#include <RooAbsGaussModelEfficiency.h>

Public Member Functions

 K_n (const std::complex< double > &z)
 
std::complex< double > operator() (unsigned i) const
 

Private Attributes

std::complex< double > _zi
 

Detailed Description

Definition at line 39 of file RooAbsGaussModelEfficiency.h.

Constructor & Destructor Documentation

◆ K_n()

RooGaussModelAcceptance::K_n::K_n ( const std::complex< double > &  z)
inline

Definition at line 42 of file RooAbsGaussModelEfficiency.h.

42 : _zi( std::complex<double>(1,0)/z) {}

Member Function Documentation

◆ operator()()

std::complex< double > RooGaussModelAcceptance::K_n::operator() ( unsigned  i) const

Definition at line 135 of file RooAbsGaussModelEfficiency.cpp.

135  {
136  assert(i<14);
137  const std::complex<double> zi2 = _zi*_zi ;
138  std::complex<double> f(1,0);
139  switch(i) {
140  // mathematica:
141  // K[z_, y_] = Exp[y*y]/(2*(z - y))
142  // F[z_, y_] = Derivative[0, y][K][z, 0]
143  // case n: F[z,n]
144  case 13: f *= 13.*_zi;
145  case 12: return f* 332640.*_zi*(1.+6.*zi2*(1.+5.*zi2*(1.+4.*zi2*(1.+3.*zi2*(1.+2.*zi2*(1.+zi2))))));
146  case 11: f *= 11.*_zi;
147  case 10: return f* 15120.*_zi*(1.+5.*zi2*(1.+4.*zi2*(1.+3.*zi2*(1.+2.*zi2*(1.+zi2)))));
148  case 9: f *= 9.*_zi;
149  case 8: return f* 840.*_zi*(1.+4.*zi2*(1.+3.*zi2*(1.+2.*zi2*(1.+zi2))));
150  case 7: f *= 7.*_zi;
151  case 6: return f* 60.*_zi*(1.+3.*zi2*(1.+2.*zi2*(1.+zi2)));
152  case 5: f *= 5.*_zi;
153  case 4: return f* 6.*_zi*(1.+2.*zi2*(1.+zi2));
154  case 3: f *= 3.*_zi;
155  case 2: return f* _zi*(1.+zi2);
156  case 1: f *= _zi;
157  case 0: return f* 0.5*_zi;
158  default: goto error;
159  }
160 error:
161  std::cerr << "K_n only implemented upto (and including) 13th order" << std::endl;
162  assert(false);
163  return 0;
164 }

Member Data Documentation

◆ _zi

std::complex<double> RooGaussModelAcceptance::K_n::_zi
private

Definition at line 40 of file RooAbsGaussModelEfficiency.h.


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