The Gaudi Framework  v38r0 (2143aa4c)
Histogram.h File Reference
#include <Gaudi/Accumulators.h>
#include <Gaudi/MonitoringHub.h>
#include <GaudiKernel/HistoDef.h>
#include <array>
#include <cmath>
#include <fmt/format.h>
#include <nlohmann/json.hpp>
#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::details::GetTuple< Type, ND >
 
struct  Gaudi::Accumulators::details::GetTuple< Type, ND >
 
struct  Gaudi::Accumulators::details::GetTuple< Type, 1 >
 
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::HistogramingCounterBaseInternal< ND, Atomicity, Arithmetic, Type, Accumulator, Seq >
 A base counter dealing with Histograms. More...
 
class  Gaudi::Accumulators::HistogramingCounterBaseInternal< ND, Atomicity, Arithmetic, Type, Accumulator, std::index_sequence< NDs... > >
 

Namespaces

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

Typedefs

template<std::size_t , typename T >
using Gaudi::Accumulators::details::alwaysT = T
 
template<typename Type , unsigned int ND>
using Gaudi::Accumulators::details::GetTuple_t = typename GetTuple< Type, ND >::type
 
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, typename Arithmetic , const char * Type, template< atomicity, typename, typename > typename Accumulator>
using Gaudi::Accumulators::HistogramingCounterBase = HistogramingCounterBaseInternal< ND, Atomicity, Arithmetic, Type, Accumulator, std::make_index_sequence< ND > >
 
template<unsigned int ND, atomicity Atomicity = atomicity::full, typename Arithmetic = double>
using Gaudi::Accumulators::Histogram = HistogramingCounterBase< ND, Atomicity, Arithmetic, naming::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, naming::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, naming::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, naming::weightedProfilehistogramString, WeightedProfileHistogramingAccumulator >
 weighted profile histograming counter. See HistogramingCounterBase for details More...
 

Functions

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

Variables

constexpr char Gaudi::Accumulators::naming::histogramString [] = "histogram:Histogram"
 
constexpr char Gaudi::Accumulators::naming::weightedHistogramString [] = "histogram:WeightedHistogram"
 
constexpr char Gaudi::Accumulators::naming::profilehistogramString [] = "histogram:ProfileHistogram"
 
constexpr char Gaudi::Accumulators::naming::weightedProfilehistogramString [] = "histogram:WeightedProfileHistogram"