Dbn ()
Dbn (const double numEntries , const double sumW , const double sumW2 , const double sumWX , const double sumWX2 , const double sumWY , const double sumWY2 , const double sumWZ , const double sumWZ2 , const double sumWXY , const double sumWXZ , const double sumWYZ )
Dbn (const BaseT &other)
Dbn (BaseT &&other)
void fill (const std::array< double, 3 > &vals, const double weight=1.0, const double fraction=1.0)
void fill (const double valX, const double valY, const double valZ, const double weight=1.0, const double fraction=1.0)
DbnBase ()
Default constructor of a new distribution.
DbnBase (const double numEntries, const std::array< double, N+1 > &sumW, const std::array< double, N+1 > &sumW2)
Constructor to set a distribution with a pre-filled state.
DbnBase (const double numEntries, const std::array< double, N+1 > &sumW, const std::array< double, N+1 > &sumW2, const std::array< double, N *(N-1)/2 > &sumWcross)
Constructor to set a distribution with a pre-filled state.
DbnBase (const DbnBase &)=default
DbnBase (DbnBase &&)=default
DbnBase & operator= (const DbnBase &)=default
DbnBase & operator= (DbnBase &&)=default
void fill (const std::array< double, N > vals, const double weight=1.0, const double fraction=1.0)
Contribute a sample at val (from an array) with weight weight .
void fill (Args &&... args)
Templated convenience overload of fill method.
void set (const double numEntries, const std::array< double, N+1 > &sumW, const std::array< double, N+1 > &sumW2, const std::array< double, N *(N-1)/2 > &sumWcross)
Set a sample with array-based number of entries numEntries , sum of weights sumW (and corresponding moments), sum of squared weights sumW2 (and corresponding moments).
void set (const double numEntries, const std::vector< double > &sumW, const std::vector< double > &sumW2, const std::vector< double > &sumWcross={})
Set a sample with vector-based number of entries numEntries , sum of weights sumW (and corresponding moments), sum of squared weights sumW2 (and corresponding moments).
void set (const DbnBase < N > &other)
Set a sample with other .
void set (DbnBase < N > &&other)
Set a sample with other .
void reset ()
Reset the internal counters.
void scaleW (const double scalefactor)
Rescale as if all fill weights had been different by factor scalefactor .
void scale (const size_t dim, const double factor)
double errW () const
The absolute error on sumW.
double relErrW () const
The relative error on sumW.
double mean (const size_t i) const
Weighted mean, , of distribution.
double variance (const size_t i) const
Weighted variance, , of distribution.
double stdDev (const size_t i) const
Weighted standard deviation, , of distribution.
double stdErr (const size_t i) const
Weighted standard error on the mean, , of distribution.
double relStdErr (const size_t i) const
Relative weighted standard error on the mean, , of distribution.
double RMS (const size_t i) const
Weighted RMS, , of distribution.
double numEntries () const
Number of entries (number of times fill
was called, ignoring weights)
double effNumEntries () const
Effective number of entries .
double sumW () const
The sum of weights.
double sumW (const size_t i) const
The sum of x*weight.
double sumW2 () const
The sum of weights squared.
double sumW2 (const size_t i) const
The sum of x^2*weight.
double crossTerm (const size_t A1, const size_t A2) const
The second-order cross term between axes k and l .
size_t dim () const
std::string toString () const
String representation of the DbnBase for debugging.
DbnBase < sizeof...(size_t)> reduceTo (size_t... axes) const
Reduce operation that produces a lower-dimensional DbnBase keeping only the specified axes in the new DbnBase .
DbnBase < sizeof...(Is)> reduceTo (std::index_sequence< Is... >) const
Same as above but using an std::integer_sequence.
auto reduce () const
Reduce operation that produces a lower-dimensional DbnBase removing the specified axes for the new DbnBase .
DbnBase & operator+= (const DbnBase &d)
Add two DbnBases.
DbnBase & operator+= (DbnBase &&d)
Add two DbnBases.
DbnBase & operator-= (const DbnBase &d)
Subtract one DbnBase from another.
DbnBase & operator-= (DbnBase &&d)
Subtract one DbnBase from another.
void scaleX (double factor)
double xMean () const
double xVariance () const
double xStdDev () const
double xStdErr () const
double xRMS () const
double sumWX () const
double sumWX2 () const
void scaleY (double factor)
void scaleXY (double fx, double fy)
double yMean () const
double yVariance () const
double yStdDev () const
double yStdErr () const
double yRMS () const
double sumWY () const
double sumWY2 () const
double sumWXY () const
void scaleZ (double factor)
void scaleXZ (double fx, double fz)
void scaleYZ (double fy, double fz)
void scaleXYZ (double fx, double fy, double fz)
double zMean () const
double zVariance () const
double zStdDev () const
double zStdErr () const
double zRMS () const
double sumWZ () const
double sumWZ2 () const
double sumWXZ () const
double sumWYZ () const
Partial template specialisation with CRTP for x-, y- and z-methods.
Definition at line 741 of file Dbn.h .