26namespace Experimental {
29template <
typename BinContentType>
30class RHistFillContext;
61template <
typename BinContentType>
145 template <std::
size_t N>
170 template <
typename... A>
173 return fEngine.GetBinContent(args...);
235 template <
typename... A>
236 void Fill(
const std::tuple<A...> &args)
263 template <
typename... A>
294 template <
typename... A>
A context to concurrently fill an RHist.
Histogram statistics of unbinned values.
void Add(const RHistStats &other)
Add all entries from another statistics object.
void Clear()
Clear this statistics object.
void AddAtomic(const RHistStats &other)
Add all entries from another statistics object using atomic instructions.
void Scale(double factor)
Scale the histogram statistics.
void Fill(const std::tuple< A... > &args)
Fill an entry into this statistics object.
double ComputeNEffectiveEntries() const
Compute the number of effective entries.
std::uint64_t GetNEntries() const
double ComputeMean(std::size_t dim=0) const
Compute the arithmetic mean of unbinned values.
double ComputeStdDev(std::size_t dim=0) const
Compute the standard deviation of unbinned values.
A histogram for aggregation of data along multiple dimensions.
RHist(const RHist &)=delete
The copy constructor is deleted.
double ComputeMean(std::size_t dim=0) const
Compute the arithmetic mean of unbinned values.
RHist(std::uint64_t nNormalBins, std::pair< double, double > interval)
Construct a one-dimensional histogram engine with a regular axis.
std::size_t GetNDimensions() const
RHist Clone() const
Clone this histogram.
RHist & operator=(RHist &&)=default
Efficiently move a histogram.
void Scale(double factor)
Scale all histogram bin contents and statistics.
void Fill(const std::tuple< A... > &args)
Fill an entry into the histogram.
RHist & operator=(const RHist &)=delete
The copy assignment operator is deleted.
RHistStats fStats
The global histogram statistics.
void AddAtomic(const RHist &other)
Add all bin contents and statistics of another histogram using atomic instructions.
void Fill(const std::tuple< A... > &args, RWeight weight)
Fill an entry into the histogram with a weight.
RHistEngine< BinContentType > fEngine
The histogram engine including the bin contents.
double ComputeNEffectiveEntries() const
Compute the number of effective entries.
std::uint64_t GetTotalNBins() const
RHist(std::vector< RAxisVariant > axes)
Construct a histogram.
const RHistStats & GetStats() const
const RHistEngine< BinContentType > & GetEngine() const
void Streamer(TBuffer &)
ROOT Streamer function to throw when trying to store an object of this class.
void Fill(const A &...args)
Fill an entry into the histogram.
double ComputeStdDev(std::size_t dim=0) const
Compute the standard deviation of unbinned values.
RHist(RHist &&)=default
Efficiently move construct a histogram.
const BinContentType & GetBinContent(const std::array< RBinIndex, N > &indices) const
Get the content of a single bin.
const std::vector< RAxisVariant > & GetAxes() const
void Add(const RHist &other)
Add all bin contents and statistics of another histogram.
RHist(RHistEngine< BinContentType > engine)
Private constructor based off an engine.
const BinContentType & GetBinContent(const A &...args) const
Get the content of a single bin.
void Clear()
Clear all bin contents and statistics.
std::uint64_t GetNEntries() const
A regular axis with equidistant bins in the interval .
Buffer base class used for serializing objects.
A weight for filling histograms.