42 mean(
"mean",
"mean",this,_mean),
43 _noRounding(noRounding),
44 _protectNegative(false)
54 mean(
"mean",this,other.mean),
55 _noRounding(other._noRounding),
56 _protectNegative(other._protectNegative)
85 if (
fabs(expected)<1
e-10 &&
fabs(observed)<1
e-10) {
90 if (
fabs(observed)<1
e-10) {
96 if(observed<1000000) {
102 extra=-
log(sigma_square)/2 + (diff*diff)/(2*sigma_square);
139 const double xmin = std::max(0.,
x.
min(rangeName));
140 const double xmax =
x.
max(rangeName);
151 const unsigned int ixmin =
xmin;
152 const unsigned int ixmax = std::min(
xmax + 1.,
153 (
double)std::numeric_limits<unsigned int>::max());
171 }
else if(code == 2) {
193 if (
matchArgs(directVars,generateVars,
x))
return 1 ;
206 if (xgen<=
x.
max() && xgen>=
x.
min()) {
RooAbsPdf is the abstract interface for all probability density functions The class provides hybrid a...
virtual Double_t getLogVal(const RooArgSet *set=0) const
Return the log of the current value with given normalization An error message is printed if the argum...
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
Bool_t matchArgs(const RooArgSet &allDeps, RooArgSet &numDeps, const RooArgProxy &a) const
Utility function for use in getAnalyticalIntegral().
RooArgSet is a container object that can hold multiple RooAbsArg objects.
static Int_t isInfinite(Double_t x)
Return true if x is infinite by RooNumBer internal specification.
void generateEvent(Int_t code)
Implement internal generator using TRandom::Poisson.
Double_t getLogVal(const RooArgSet *set=0) const
calculate and return the negative log-likelihood of the Poisson
Double_t analyticalIntegral(Int_t code, const char *rangeName=0) const
Implements the actual analytical integral(s) advertised by getAnalyticalIntegral.
Int_t getGenerator(const RooArgSet &directVars, RooArgSet &generateVars, Bool_t staticInitOK=kTRUE) const
Advertise internal generator in x.
Int_t getAnalyticalIntegral(RooArgSet &allVars, RooArgSet &analVars, const char *rangeName=0) const
Interface function getAnalyticalIntergral advertises the analytical integrals that are supported.
Double_t evaluate() const
Implementation in terms of the TMath Poisson function.
static TRandom * randomGenerator()
Return a pointer to a singleton random-number generator implementation.
Bool_t hasMax(const char *rname=0) const
Double_t min(const char *rname=0) const
Double_t max(const char *rname=0) const
virtual Int_t Poisson(Double_t mean)
Generates a random integer N according to a Poisson law.
double poisson_cdf(unsigned int n, double mu)
Cumulative distribution function of the Poisson distribution Lower tail of the integral of the poisso...
double poisson_cdf_c(unsigned int n, double mu)
Complement of the cumulative distribution function of the Poisson distribution.
double gamma_cdf(double x, double alpha, double theta, double x0=0)
Cumulative distribution function of the gamma distribution (lower tail).
VecExpr< UnaryOp< Fabs< T >, VecExpr< A, T, D >, T >, T, D > fabs(const VecExpr< A, T, D > &rhs)
static constexpr double s
Double_t Floor(Double_t x)
Double_t Poisson(Double_t x, Double_t par)
Compute the Poisson distribution function for (x,par) The Poisson PDF is implemented by means of Eule...
Double_t LnGamma(Double_t z)
Computation of ln[gamma(z)] for all z.