28namespace Experimental {
31template <
typename BinContentType>
32class RHistFillContext;
63template <
typename BinContentType>
83 for (std::size_t i = 0; i <
engineAxes.size(); i++) {
84 if (
engineAxes[i].GetCategoricalAxis() !=
nullptr) {
96 explicit RHist(std::initializer_list<RAxisVariant> axes) :
RHist(std::vector(axes)) {}
105 template <
typename...
Axes>
177 template <std::
size_t N>
202 template <
typename... A>
205 return fEngine.GetBinContent(args...);
267 template <
typename... A>
268 void Fill(
const std::tuple<A...> &args)
295 template <
typename... A>
326 template <
typename... A>
329 static_assert(
sizeof...(A) >= 1,
"need at least one argument to Fill");
330 if constexpr (
sizeof...(A) >= 1) {
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
A variant of all supported axis types.
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.
void DisableDimension(std::size_t dim)
Disable one dimension of this statistics object.
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 with a regular axis.
std::size_t GetNDimensions() const
RHist Clone() const
Clone this histogram.
RHist & operator=(RHist &&)=default
Efficiently move a histogram.
RHist(const RAxisVariant &axis1, const Axes &...axes)
Construct a histogram.
void Scale(double factor)
Scale all histogram bin contents and statistics.
RHist(std::initializer_list< RAxisVariant > axes)
Construct a histogram.
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.