template<int DIMENSIONS, class PRECISION, template< int D_, class P_, template< class P__ > class S_ > class... STAT>
class ROOT::Experimental::THist< DIMENSIONS, PRECISION, STAT >
Histogram class for histograms with DIMENSIONS
dimensions, where each bin count is stored by a value of type PRECISION
.
STAT stores statistical data of the entries filled into the histogram (bin content, uncertainties etc).
A histogram counts occurrences of values or n-dimensional combinations thereof. Contrary to for instance a TTree
, a histogram combines adjacent values. The resolution of this combination is defined by the axis binning, see e.g. http://www.wikiwand.com/en/Histogram
Definition at line 33 of file THist.hxx.
|
| THist ()=default |
|
| THist (THist &&)=default |
|
| THist (std::array< TAxisConfig, DIMENSIONS > axes) |
| Create a histogram from an array of axes (TAxisConfig s). More...
|
|
| THist (std::string_view histTitle, std::array< TAxisConfig, DIMENSIONS > axes) |
| Constructor overload taking the histogram title. More...
|
|
template<int ENABLEIF_NDIM = DIMENSIONS, class = typename std::enable_if<ENABLEIF_NDIM == 1>::type> |
| THist (const TAxisConfig &xaxis) |
| Constructor overload that's only available for a 1-dimensional histogram. More...
|
|
template<int ENABLEIF_NDIM = DIMENSIONS, class = typename std::enable_if<ENABLEIF_NDIM == 1>::type> |
| THist (std::string_view histTitle, const TAxisConfig &xaxis) |
| Constructor overload that's only available for a 1-dimensional histogram, also passing the histogram title. More...
|
|
template<int ENABLEIF_NDIM = DIMENSIONS, class = typename std::enable_if<ENABLEIF_NDIM == 2>::type> |
| THist (const TAxisConfig &xaxis, const TAxisConfig &yaxis) |
| Constructor overload that's only available for a 2-dimensional histogram. More...
|
|
template<int ENABLEIF_NDIM = DIMENSIONS, class = typename std::enable_if<ENABLEIF_NDIM == 2>::type> |
| THist (std::string_view histTitle, const TAxisConfig &xaxis, const TAxisConfig &yaxis) |
| Constructor overload that's only available for a 2-dimensional histogram, also passing the histogram title. More...
|
|
template<int ENABLEIF_NDIM = DIMENSIONS, class = typename std::enable_if<ENABLEIF_NDIM == 3>::type> |
| THist (const TAxisConfig &xaxis, const TAxisConfig &yaxis, const TAxisConfig &zaxis) |
| Constructor overload that's only available for a 3-dimensional histogram. More...
|
|
template<int ENABLEIF_NDIM = DIMENSIONS, class = typename std::enable_if<ENABLEIF_NDIM == 3>::type> |
| THist (std::string_view histTitle, const TAxisConfig &xaxis, const TAxisConfig &yaxis, const TAxisConfig &zaxis) |
| Constructor overload that's only available for a 3-dimensional histogram, also passing the histogram title. More...
|
|
const_iterator | begin () const |
|
const_iterator | end () const |
|
void | Fill (const CoordArray_t &x, Weight_t weight=(Weight_t) 1) noexcept |
| Add weight to the bin containing coordinate x . More...
|
|
void | FillN (const std::array_view< CoordArray_t > xN, const std::array_view< Weight_t > weightN) noexcept |
| For each coordinate in xN , add weightN[i] to the bin at coordinate xN[i] . More...
|
|
void | FillN (const std::array_view< CoordArray_t > xN) noexcept |
| Convenience overload: FillN() with weight 1. More...
|
|
Weight_t | GetBinContent (const CoordArray_t &x) const |
| Get the content of the bin at x . More...
|
|
double | GetBinUncertainty (const CoordArray_t &x) const |
| Get the uncertainty on the content of the bin at x . More...
|
|
int64_t | GetEntries () const noexcept |
| Get the number of entries this histogram was filled with. More...
|
|
ImplBase_t * | GetImpl () const noexcept |
| Access the ImplBase_t this THist points to. More...
|
|
void | swap (THist< DIMENSIONS, PRECISION, STAT... > &other) noexcept |
| Swap *this and other. More...
|
|
std::unique_ptr< ImplBase_t > && | TakeImpl () noexcept |
| "Steal" the ImplBase_t this THist points to. More...
|
|
template<int DIMENSIONS, class PRECISION , template< int D_, class P_, template< class P__ > class S_ > class... STAT>
Create a histogram from an array
of axes (TAxisConfig
s).
Example code:
Construct a 1-dimensional histogram that can be filled with floats
s. The axis has 10 bins between 0. and 1. The two outermost sets of curly braces are to reach the initialization of the std::array
elements; the inner one is for the initialization of a TAxisCoordinate
.
THist<1,float> h1f({{ {10, 0., 1.} }});
Construct a 2-dimensional histogram, with the first axis as before, and the second axis having non-uniform ("irregular") binning, where all bin- edges are specified. As this is itself an array it must be enclosed by double curlies.
THist<2,int> h2i({{ {10, 0., 1.}, {{-1., 0., 1., 10., 100.}} }});
Definition at line 280 of file THist.hxx.
template<int DIMENSIONS, class PRECISION, template< int D_, class P_, template< class P__ > class S_ > class... STAT>
template<int ENABLEIF_NDIM = DIMENSIONS, class = typename std::enable_if<ENABLEIF_NDIM == 1>::type>
Constructor overload that's only available for a 1-dimensional histogram.
Definition at line 101 of file THist.hxx.
template<int DIMENSIONS, class PRECISION, template< int D_, class P_, template< class P__ > class S_ > class... STAT>
template<int ENABLEIF_NDIM = DIMENSIONS, class = typename std::enable_if<ENABLEIF_NDIM == 1>::type>
Constructor overload that's only available for a 1-dimensional histogram, also passing the histogram title.
Definition at line 109 of file THist.hxx.
template<int DIMENSIONS, class PRECISION, template< int D_, class P_, template< class P__ > class S_ > class... STAT>
template<int ENABLEIF_NDIM = DIMENSIONS, class = typename std::enable_if<ENABLEIF_NDIM == 2>::type>
Constructor overload that's only available for a 2-dimensional histogram.
Definition at line 116 of file THist.hxx.
template<int DIMENSIONS, class PRECISION, template< int D_, class P_, template< class P__ > class S_ > class... STAT>
template<int ENABLEIF_NDIM = DIMENSIONS, class = typename std::enable_if<ENABLEIF_NDIM == 2>::type>
Constructor overload that's only available for a 2-dimensional histogram, also passing the histogram title.
Definition at line 124 of file THist.hxx.
template<int DIMENSIONS, class PRECISION, template< int D_, class P_, template< class P__ > class S_ > class... STAT>
template<int ENABLEIF_NDIM = DIMENSIONS, class = typename std::enable_if<ENABLEIF_NDIM == 3>::type>
Constructor overload that's only available for a 3-dimensional histogram.
Definition at line 131 of file THist.hxx.
template<int DIMENSIONS, class PRECISION, template< int D_, class P_, template< class P__ > class S_ > class... STAT>
template<int ENABLEIF_NDIM = DIMENSIONS, class = typename std::enable_if<ENABLEIF_NDIM == 3>::type>
Constructor overload that's only available for a 3-dimensional histogram, also passing the histogram title.
Definition at line 139 of file THist.hxx.
template<int DIMENSIONS, class PRECISION, template< int D_, class P_, template< class P__ > class S_ > class... STAT>
For each coordinate in xN
, add weightN[i]
to the bin at coordinate xN[i]
.
The sizes of xN
and weightN
must be the same. This is more efficient than many separate calls to Fill()
.
Definition at line 157 of file THist.hxx.