56 width("width","width",this,_width),
57 peak("peak","peak",this,_peak),
58 tail("tail","tail",this,_tail)
69 width(
"width",this,other.width),
70 peak(
"peak",this,other.peak),
71 tail(
"tail",this,other.tail)
94 static const Double_t xi = 2.3548200450309494;
97 Double_t width_zero2 = width_zero * width_zero;
98 Double_t exponent = ( -0.5 / (width_zero2) * log * log ) - ( width_zero2 * 0.5 );
124 assert(code==1 || code==2) ;
129 static const Double_t sqrt2 = 1.4142135623730950;
130 static const Double_t sqlog2 = 0.832554611157697756;
131 static const Double_t sqlog4 = 1.17741002251547469;
132 static const Double_t log4 = 1.38629436111989062;
133 static const Double_t rootpiby2 = 1.2533141373155003;
134 static const Double_t sqpibylog2 = 2.12893403886245236;
159 if ( log_argument_A < 1.
e-7) {
160 log_argument_A = 1.e-7;
164 if ( log_argument_B < 1.
e-7) {
165 log_argument_B = 1.e-7;
172 Double_t erf_termA = ( term1_2 - log4 *
TMath::Log( log_argument_A ) ) / ( 2 * term1 * sqlog2 );
173 Double_t erf_termB = ( term1_2 - log4 *
TMath::Log( log_argument_B ) ) / ( 2 * term1 * sqlog2 );
179 }
else if (code==2) {
202 if ( log_argument_A < 1.
e-7) {
203 log_argument_A = 1.e-7;
207 if ( log_argument_B < 1.
e-7) {
208 log_argument_B = 1.e-7;
215 Double_t erf_termA = ( term1_2 - log4 *
TMath::Log( log_argument_A ) ) / ( 2 * term1 * sqlog2 );
216 Double_t erf_termB = ( term1_2 - log4 *
TMath::Log( log_argument_B ) ) / ( 2 * term1 * sqlog2 );
225 coutF(
Eval) <<
"Error in RooNovosibirsk::analyticalIntegral" << std::endl;
Bool_t matchArgs(const RooArgSet &allDeps, RooArgSet &numDeps, const RooArgProxy &a) const
Utility function for use in getAnalyticalIntegral().
RooNovosibirsk implements the Novosibirsk function.
LongDouble_t Power(LongDouble_t x, LongDouble_t y)
Int_t getAnalyticalIntegral(RooArgSet &allVars, RooArgSet &analVars, const char *rangeName=0) const
Interface function getAnalyticalIntergral advertises the analytical integrals that are supported...
Double_t Erf(Double_t x)
Computation of the error function erf(x).
Double_t evaluate() const
If tail=eta=0 the Belle distribution becomes gaussian.
Double_t min(const char *rname=0) const
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
you should not use this method at all Int_t Int_t Double_t Double_t Double_t e
Double_t max(const char *rname=0) const
RooAbsPdf is the abstract interface for all probability density functions The class provides hybrid a...
Double_t analyticalIntegral(Int_t code, const char *rangeName=0) const
Implements the actual analytical integral(s) advertised by getAnalyticalIntegral. ...