Logo ROOT   master
Reference Guide
ROOT::Experimental::Detail::RHistData< DIMENSIONS, PRECISION, STORAGE, STAT > Class Template Reference

template<int DIMENSIONS, class PRECISION, class STORAGE, template< int D_, class P_ > class... STAT>
class ROOT::Experimental::Detail::RHistData< DIMENSIONS, PRECISION, STORAGE, STAT >

A RHistImplBase's data, provides accessors to all its statistics.

Definition at line 510 of file RHistData.hxx.

Public Types

using ConstHistBinStat_t = RHistBinStat< const RHistData, typename STAT< DIMENSIONS, PRECISION >::ConstBinStat_t... >
 The type of a non-modifying view on a bin. More...
 
using CoordArray_t = Hist::CoordArray_t< DIMENSIONS >
 The type of a (possibly multi-dimensional) coordinate. More...
 
using Hist_t = RHist< DIMENSIONS, PRECISION, STAT... >
 Matching RHist. More...
 
using HistBinStat_t = RHistBinStat< RHistData, typename STAT< DIMENSIONS, PRECISION >::BinStat_t... >
 The type of a modifying view on a bin. More...
 
using Weight_t = PRECISION
 The type of the weight and the bin content. More...
 

Public Member Functions

 RHistData ()=default
 
 RHistData (size_t bin_size, size_t overflow_size)
 Constructor providing the number of bins (incl under, overflow) to the base classes. More...
 
template<typename OtherData >
void Add (const OtherData &other)
 Integrate other statistical data into the current data. More...
 
void Fill (const CoordArray_t &x, int binidx, Weight_t weight=1.)
 Fill weight at x to the bin content at binidx. More...
 
template<bool B = true, class = typename std::enable_if<B && HasBinUncertainty()>::type>
double GetBinUncertainty (int binidx) const
 Calculate the bin content's uncertainty for the given bin, using base class information, i.e. More...
 
template<bool B = true, class = typename std::enable_if<B && !HasBinUncertainty()>::type>
double GetBinUncertainty (int binidx,...) const
 Calculate the bin content's uncertainty for the given bin, using Poisson statistics on the absolute bin content. More...
 
ConstHistBinStat_t GetView (int idx) const
 Get a view on the statistics values of a bin. More...
 
HistBinStat_t GetView (int idx)
 Get a (non-const) view on the statistics values of a bin. More...
 

Static Public Member Functions

static constexpr int GetNDim () noexcept
 Number of dimensions of the coordinates. More...
 
static constexpr bool HasBinUncertainty ()
 Whether this provides storage for uncertainties, or whether uncertainties are determined as poisson uncertainty of the content. More...
 

Static Private Member Functions

template<class T >
static auto HaveUncertainty (const T *This) -> decltype(This->GetBinUncertaintyImpl(12))
 Check whether double T::GetBinUncertaintyImpl(int) can be called. More...
 
template<class T >
static char HaveUncertainty (...)
 Fall-back case for check whether double T::GetBinUncertaintyImpl(int) can be called. More...
 

#include <ROOT/RHistData.hxx>

Inheritance diagram for ROOT::Experimental::Detail::RHistData< DIMENSIONS, PRECISION, STORAGE, STAT >:
[legend]

Member Typedef Documentation

◆ ConstHistBinStat_t

template<int DIMENSIONS, class PRECISION , class STORAGE , template< int D_, class P_ > class... STAT>
using ROOT::Experimental::Detail::RHistData< DIMENSIONS, PRECISION, STORAGE, STAT >::ConstHistBinStat_t = RHistBinStat<const RHistData, typename STAT<DIMENSIONS, PRECISION>::ConstBinStat_t...>

The type of a non-modifying view on a bin.

Definition at line 531 of file RHistData.hxx.

◆ CoordArray_t

template<int DIMENSIONS, class PRECISION , class STORAGE , template< int D_, class P_ > class... STAT>
using ROOT::Experimental::Detail::RHistData< DIMENSIONS, PRECISION, STORAGE, STAT >::CoordArray_t = Hist::CoordArray_t<DIMENSIONS>

The type of a (possibly multi-dimensional) coordinate.

Definition at line 527 of file RHistData.hxx.

◆ Hist_t

template<int DIMENSIONS, class PRECISION , class STORAGE , template< int D_, class P_ > class... STAT>
using ROOT::Experimental::Detail::RHistData< DIMENSIONS, PRECISION, STORAGE, STAT >::Hist_t = RHist<DIMENSIONS, PRECISION, STAT...>

Matching RHist.

Definition at line 521 of file RHistData.hxx.

◆ HistBinStat_t

template<int DIMENSIONS, class PRECISION , class STORAGE , template< int D_, class P_ > class... STAT>
using ROOT::Experimental::Detail::RHistData< DIMENSIONS, PRECISION, STORAGE, STAT >::HistBinStat_t = RHistBinStat<RHistData, typename STAT<DIMENSIONS, PRECISION>::BinStat_t...>

The type of a modifying view on a bin.

Definition at line 534 of file RHistData.hxx.

◆ Weight_t

template<int DIMENSIONS, class PRECISION , class STORAGE , template< int D_, class P_ > class... STAT>
using ROOT::Experimental::Detail::RHistData< DIMENSIONS, PRECISION, STORAGE, STAT >::Weight_t = PRECISION

The type of the weight and the bin content.

Definition at line 524 of file RHistData.hxx.

Constructor & Destructor Documentation

◆ RHistData() [1/2]

template<int DIMENSIONS, class PRECISION , class STORAGE , template< int D_, class P_ > class... STAT>
ROOT::Experimental::Detail::RHistData< DIMENSIONS, PRECISION, STORAGE, STAT >::RHistData ( )
default

◆ RHistData() [2/2]

template<int DIMENSIONS, class PRECISION , class STORAGE , template< int D_, class P_ > class... STAT>
ROOT::Experimental::Detail::RHistData< DIMENSIONS, PRECISION, STORAGE, STAT >::RHistData ( size_t  bin_size,
size_t  overflow_size 
)
inline

Constructor providing the number of bins (incl under, overflow) to the base classes.

Definition at line 543 of file RHistData.hxx.

Member Function Documentation

◆ Add()

template<int DIMENSIONS, class PRECISION , class STORAGE , template< int D_, class P_ > class... STAT>
template<typename OtherData >
void ROOT::Experimental::Detail::RHistData< DIMENSIONS, PRECISION, STORAGE, STAT >::Add ( const OtherData &  other)
inline

Integrate other statistical data into the current data.

The implementation assumes that the other statistics were recorded with the same binning configuration, and that the statistics of OtherData are a superset of those recorded by the active RHistData instance.

Definition at line 572 of file RHistData.hxx.

◆ Fill()

template<int DIMENSIONS, class PRECISION , class STORAGE , template< int D_, class P_ > class... STAT>
void ROOT::Experimental::Detail::RHistData< DIMENSIONS, PRECISION, STORAGE, STAT >::Fill ( const CoordArray_t x,
int  binidx,
Weight_t  weight = 1. 
)
inline

Fill weight at x to the bin content at binidx.

Definition at line 546 of file RHistData.hxx.

◆ GetBinUncertainty() [1/2]

template<int DIMENSIONS, class PRECISION , class STORAGE , template< int D_, class P_ > class... STAT>
template<bool B = true, class = typename std::enable_if<B && HasBinUncertainty()>::type>
double ROOT::Experimental::Detail::RHistData< DIMENSIONS, PRECISION, STORAGE, STAT >::GetBinUncertainty ( int  binidx) const
inline

Calculate the bin content's uncertainty for the given bin, using base class information, i.e.

forwarding to a base's GetBinUncertaintyImpl(binidx).

Definition at line 591 of file RHistData.hxx.

◆ GetBinUncertainty() [2/2]

template<int DIMENSIONS, class PRECISION , class STORAGE , template< int D_, class P_ > class... STAT>
template<bool B = true, class = typename std::enable_if<B && !HasBinUncertainty()>::type>
double ROOT::Experimental::Detail::RHistData< DIMENSIONS, PRECISION, STORAGE, STAT >::GetBinUncertainty ( int  binidx,
  ... 
) const
inline

Calculate the bin content's uncertainty for the given bin, using Poisson statistics on the absolute bin content.

Only available if no base provides this functionality. Requires GetContent().

Definition at line 599 of file RHistData.hxx.

◆ GetNDim()

template<int DIMENSIONS, class PRECISION , class STORAGE , template< int D_, class P_ > class... STAT>
static constexpr int ROOT::Experimental::Detail::RHistData< DIMENSIONS, PRECISION, STORAGE, STAT >::GetNDim ( )
inlinestaticnoexcept

Number of dimensions of the coordinates.

Definition at line 537 of file RHistData.hxx.

◆ GetView() [1/2]

template<int DIMENSIONS, class PRECISION , class STORAGE , template< int D_, class P_ > class... STAT>
ConstHistBinStat_t ROOT::Experimental::Detail::RHistData< DIMENSIONS, PRECISION, STORAGE, STAT >::GetView ( int  idx) const
inline

Get a view on the statistics values of a bin.

Definition at line 606 of file RHistData.hxx.

◆ GetView() [2/2]

template<int DIMENSIONS, class PRECISION , class STORAGE , template< int D_, class P_ > class... STAT>
HistBinStat_t ROOT::Experimental::Detail::RHistData< DIMENSIONS, PRECISION, STORAGE, STAT >::GetView ( int  idx)
inline

Get a (non-const) view on the statistics values of a bin.

Definition at line 608 of file RHistData.hxx.

◆ HasBinUncertainty()

template<int DIMENSIONS, class PRECISION , class STORAGE , template< int D_, class P_ > class... STAT>
static constexpr bool ROOT::Experimental::Detail::RHistData< DIMENSIONS, PRECISION, STORAGE, STAT >::HasBinUncertainty ( )
inlinestatic

Whether this provides storage for uncertainties, or whether uncertainties are determined as poisson uncertainty of the content.

Definition at line 581 of file RHistData.hxx.

◆ HaveUncertainty() [1/2]

template<int DIMENSIONS, class PRECISION , class STORAGE , template< int D_, class P_ > class... STAT>
template<class T >
static auto ROOT::Experimental::Detail::RHistData< DIMENSIONS, PRECISION, STORAGE, STAT >::HaveUncertainty ( const T *  This) -> decltype(This->GetBinUncertaintyImpl(12))
staticprivate

Check whether double T::GetBinUncertaintyImpl(int) can be called.

◆ HaveUncertainty() [2/2]

template<int DIMENSIONS, class PRECISION , class STORAGE , template< int D_, class P_ > class... STAT>
template<class T >
static char ROOT::Experimental::Detail::RHistData< DIMENSIONS, PRECISION, STORAGE, STAT >::HaveUncertainty (   ...)
staticprivate

Fall-back case for check whether double T::GetBinUncertaintyImpl(int) can be called.


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