yoda is hosted by Hepforge, IPPP Durham
YODA - Yet more Objects for Data Analysis 2.0.0
YODA::Dbn< 0 > Class Reference

Partial template specialisation for Dbn0D. More...

#include <Dbn.h>

Inheritance diagram for YODA::Dbn< 0 >:
YODA::DbnBase< 0 >

Public Types

using BaseT = DbnBase< 0 >
 
- Public Types inherited from YODA::DbnBase< 0 >
using BaseT = DbnBase< N >
 
using FillDim = std::integral_constant< size_t, N >
 
using DataSize = std::integral_constant< size_t, 1+2 *(N+1)+(N *(N-1)/2)>
 

Public Member Functions

 Dbn ()
 
 Dbn (const double numEntries, const double sumW, const double sumW2)
 
 Dbn (const BaseT &other)
 
 Dbn (BaseT &&other)
 
void fill (const std::array< double, 0 > &vals, const double weight=1.0, const double fraction=1.0)
 
void fill (const double weight=1.0, const double fraction=1.0)
 
- Public Member Functions inherited from YODA::DbnBase< 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
 
DbnBaseoperator= (const DbnBase &)=default
 
DbnBaseoperator= (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, $ \bar{x} $, of distribution.
 
double variance (const size_t i) const
 Weighted variance, $ \sigma^2 $, of distribution.
 
double stdDev (const size_t i) const
 Weighted standard deviation, $ \sigma $, of distribution.
 
double stdErr (const size_t i) const
 Weighted standard error on the mean, $ \sim \sigma/\sqrt{N-1} $, of distribution.
 
double relStdErr (const size_t i) const
 Relative weighted standard error on the mean, $ \sim \sigma/\sqrt{N-1} $, of distribution.
 
double RMS (const size_t i) const
 Weighted RMS, $ \sqrt{ \sum{w x^2}/\sum{w} } $, of distribution.
 
double numEntries () const
 Number of entries (number of times fill was called, ignoring weights)
 
double effNumEntries () const
 Effective number of entries $ = (\sum w)^2 / \sum w^2 $.
 
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.
 
DbnBaseoperator+= (const DbnBase &d)
 Add two DbnBases.
 
DbnBaseoperator+= (DbnBase &&d)
 Add two DbnBases.
 
DbnBaseoperator-= (const DbnBase &d)
 Subtract one DbnBase from another.
 
DbnBaseoperator-= (DbnBase &&d)
 Subtract one DbnBase from another.
 

Detailed Description

Partial template specialisation for Dbn0D.

Definition at line 647 of file Dbn.h.

Member Typedef Documentation

◆ BaseT

using YODA::Dbn< 0 >::BaseT = DbnBase<0>

Definition at line 650 of file Dbn.h.

Constructor & Destructor Documentation

◆ Dbn() [1/4]

YODA::Dbn< 0 >::Dbn ( )
inline

Definition at line 654 of file Dbn.h.

654: BaseT() {}
DbnBase< 0 > BaseT
Definition Dbn.h:650

◆ Dbn() [2/4]

YODA::Dbn< 0 >::Dbn ( const double  numEntries,
const double  sumW,
const double  sumW2 
)
inline

Definition at line 656 of file Dbn.h.

657 : BaseT(numEntries, {sumW} , {sumW2}) { }
double sumW() const
The sum of weights.
Definition Dbn.h:320
double numEntries() const
Number of entries (number of times fill was called, ignoring weights)
Definition Dbn.h:309
double sumW2() const
The sum of weights squared.
Definition Dbn.h:325

References YODA::DbnBase< N >::sumW().

◆ Dbn() [3/4]

YODA::Dbn< 0 >::Dbn ( const BaseT other)
inline

Definition at line 659 of file Dbn.h.

659: BaseT(other) {}

◆ Dbn() [4/4]

YODA::Dbn< 0 >::Dbn ( BaseT &&  other)
inline

Definition at line 661 of file Dbn.h.

661: BaseT(std::move(other)) {}

Member Function Documentation

◆ fill() [1/2]

void YODA::Dbn< 0 >::fill ( const double  weight = 1.0,
const double  fraction = 1.0 
)
inline

Definition at line 667 of file Dbn.h.

667{ BaseT::fill({}, weight, fraction); }
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.
Definition Dbn.h:152

References YODA::DbnBase< N >::fill().

◆ fill() [2/2]

void YODA::Dbn< 0 >::fill ( const std::array< double, 0 > &  vals,
const double  weight = 1.0,
const double  fraction = 1.0 
)
inline

Definition at line 663 of file Dbn.h.

663 {
664 BaseT::fill(vals, weight, fraction);
665 }

References YODA::DbnBase< N >::fill().


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