The Gaudi Framework  v36r1 (3e2fb5a8)
Histogram.h File Reference
#include <Gaudi/Accumulators.h>
#include <Gaudi/MonitoringHub.h>
#include <ROOT/RHist.hxx>
#include <boost/format.hpp>
#include <boost/histogram/algorithm/sum.hpp>
#include <boost/histogram/fwd.hpp>
#include <gsl/span>
#include <nlohmann/json.hpp>
#include <array>
#include <cmath>
#include <string>
#include <type_traits>
#include <utility>
#include <vector>
Include dependency graph for Histogram.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Gaudi::Accumulators::ExtractWeight
 A functor to extract weight, take a pair (valueTuple, weight) as input. More...
 
struct  Gaudi::Accumulators::WeightedProduct
 A Product functor, take a pair (value, weight) as input. More...
 
struct  Gaudi::Accumulators::WeightedSquare
 A WeightedSquare functor, take a pair (value, weight) as input. More...
 
struct  Gaudi::Accumulators::WeightedCountAccumulator< Atomicity, Arithmetic >
 WeightedCountAccumulator. More...
 
struct  Gaudi::Accumulators::WeightedSumAccumulator< Atomicity, Arithmetic >
 WeightedSumAccumulator. More...
 
struct  Gaudi::Accumulators::WeightedSquareAccumulator< Atomicity, Arithmetic >
 WeightedSquareAccumulator. More...
 
struct  Gaudi::Accumulators::Axis< Arithmetic >
 Definition of an Histogram Axis. More...
 
struct  Gaudi::Accumulators::HistoInputType< Arithmetic, ND, NIndex >
 small class used as InputType for regular Histograms More...
 
class  Gaudi::Accumulators::HistoInputType< Arithmetic, 1 >
 specialization of HistoInputType for ND == 1 in order to have simpler syntax that is, no tuple of one item More...
 
struct  Gaudi::Accumulators::WeightedHistoInputType< Arithmetic, ND, NIndex >
 small class used as InputType for weighted Histograms More...
 
class  Gaudi::Accumulators::HistogramingAccumulatorInternal< Atomicity, InputType, Arithmetic, ND, BaseAccumulatorT >
 Internal Accumulator class dealing with Histograming. More...
 
class  Gaudi::Accumulators::HistogramingCounterBase< ND, Atomicity, Arithmetic, Type, Accumulator >
 A base counter dealing with Histograms. More...
 

Namespaces

 Gaudi
 Header file for std:chrono::duration-based Counters.
 
 Gaudi::Accumulators
 

Typedefs

template<atomicity Atomicity, typename Arithmetic >
using Gaudi::Accumulators::WeightedAveragingAccumulator = AveragingAccumulatorBase< Atomicity, Arithmetic, WeightedCountAccumulator, WeightedSumAccumulator >
 WeightedAveragingAccumulator. More...
 
template<atomicity Atomicity, typename Arithmetic >
using Gaudi::Accumulators::WeightedSigmaAccumulator = SigmaAccumulatorBase< Atomicity, Arithmetic, WeightedAveragingAccumulator, WeightedSquareAccumulator >
 WeightedSigmaAccumulator. More...
 
template<atomicity Atomicity, typename Arithmetic , typename ND >
using Gaudi::Accumulators::HistogramingAccumulator = HistogramingAccumulatorInternal< Atomicity, HistoInputType< Arithmetic, ND::value >, unsigned long, ND, IntegralAccumulator >
 Class implementing a regular histogram accumulator. More...
 
template<atomicity Atomicity, typename Arithmetic , typename ND >
using Gaudi::Accumulators::WeightedHistogramingAccumulator = HistogramingAccumulatorInternal< Atomicity, WeightedHistoInputType< Arithmetic, ND::value >, Arithmetic, ND, WeightedCountAccumulator >
 Class implementing a weighted histogram accumulator. More...
 
template<atomicity Atomicity, typename Arithmetic , typename ND >
using Gaudi::Accumulators::ProfileHistogramingAccumulator = HistogramingAccumulatorInternal< Atomicity, HistoInputType< Arithmetic, ND::value+1, ND::value >, Arithmetic, ND, SigmaAccumulator >
 Class implementing a profile histogram accumulator. More...
 
template<atomicity Atomicity, typename Arithmetic , typename ND >
using Gaudi::Accumulators::WeightedProfileHistogramingAccumulator = HistogramingAccumulatorInternal< Atomicity, WeightedHistoInputType< Arithmetic, ND::value+1, ND::value >, Arithmetic, ND, WeightedSigmaAccumulator >
 Class implementing a weighted profile histogram accumulator. More...
 
template<unsigned int ND, atomicity Atomicity = atomicity::full, typename Arithmetic = double>
using Gaudi::Accumulators::Histogram = HistogramingCounterBase< ND, Atomicity, Arithmetic, histogramString, HistogramingAccumulator >
 standard histograming counter. See HistogramingCounterBase for details More...
 
template<unsigned int ND, atomicity Atomicity = atomicity::full, typename Arithmetic = double>
using Gaudi::Accumulators::WeightedHistogram = HistogramingCounterBase< ND, Atomicity, Arithmetic, weightedHistogramString, WeightedHistogramingAccumulator >
 standard histograming counter with weight. See HistogramingCounterBase for details More...
 
template<unsigned int ND, atomicity Atomicity = atomicity::full, typename Arithmetic = double>
using Gaudi::Accumulators::ProfileHistogram = HistogramingCounterBase< ND, Atomicity, Arithmetic, profilehistogramString, ProfileHistogramingAccumulator >
 profile histograming counter. See HistogramingCounterBase for details More...
 
template<unsigned int ND, atomicity Atomicity = atomicity::full, typename Arithmetic = double>
using Gaudi::Accumulators::WeightedProfileHistogram = HistogramingCounterBase< ND, Atomicity, Arithmetic, weightedProfilehistogramString, WeightedProfileHistogramingAccumulator >
 weighted profile histograming counter. See HistogramingCounterBase for details More...
 

Functions

template<typename Arithmetic >
void Gaudi::Accumulators::to_json (nlohmann::json &j, const Axis< Arithmetic > &axis)
 automatic conversion of the Axis type to json More...