The Gaudi Framework  master (181af51f)
Loading...
Searching...
No Matches
StaticHistogram.h File Reference
#include <Gaudi/Accumulators.h>
#include <Gaudi/MonitoringHub.h>
#include <GaudiKernel/HistoDef.h>
#include <array>
#include <cassert>
#include <cmath>
#include <fmt/format.h>
#include <nlohmann/json.hpp>
#include <string>
#include <type_traits>
#include <utility>
#include <vector>
Include dependency graph for StaticHistogram.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::WeightedProfileTransform
 An inputTransform for WeightedProfile histograms, keeping weight and replacing value by 1. More...
 
struct  Gaudi::Accumulators::WeightedAdder< Arithmetic, Atomicity >
 An Adder ValueHandler, taking weight into account and computing a count plus the sum of the weights In case of full atomicity, fetch_add or compare_exchange_weak are used for each element, that is we do not have full atomicity accross the two elements. 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...
 
class  Gaudi::Accumulators::Axis< Arithmetic >
 Definition of a default type of Histogram Axis It contains number of bins, min and max value plus a title and defines the basic type of Axis (non log) It may also contain labels for the bins. More...
 
struct  Gaudi::Accumulators::HistoInputType< Arithmetic, NIndex >
 small class used as InputType for regular Histograms basically a tuple of the given values, specialized in case of a single entry so that the syntax is more natural. More...
 
struct  Gaudi::Accumulators::HistoInputType< std::tuple< Elements... >, NIndex >
 
struct  Gaudi::Accumulators::WeightedHistoInputType< ArithmeticTuple, NIndex, WArithmetic >
 small class used as InputType for weighted Histograms only a pair of the InnerType and the weight. More...
 
class  Gaudi::Accumulators::HistogramingAccumulatorInternal< Atomicity, InputType, Arithmetic, BaseAccumulatorT, AxisTupleType >
 Internal Accumulator class dealing with Histograming. More...
 
class  Gaudi::Accumulators::HistogramingCounterBase< ND, Atomicity, Arithmetic, Type, Accumulator, std::tuple< AxisTypes... > >
 

Namespaces

namespace  Gaudi
 This file provides a Grammar for the type Gaudi::Accumulators::Axis It allows to use that type from python with a format liks : ( nbins, min, max, title ) where title can be ommited.
 
namespace  Gaudi::Accumulators
 Efficient counter implementations for Gaudi.
 
namespace  Gaudi::Accumulators::details
 
namespace  Gaudi::Accumulators::naming
 

Typedefs

template<atomicity Atomicity, typename Arithmetic>
using Gaudi::Accumulators::WeightedAveragingAccumulator
 WeightedAveragingAccumulator.
 
template<atomicity Atomicity, typename Arithmetic>
using Gaudi::Accumulators::WeightedSigmaAccumulator
 WeightedSigmaAccumulator.
 
template<atomicity Atomicity, typename Arithmetic, typename ND, typename AxisTupleType>
using Gaudi::Accumulators::HistogramingAccumulator
 Class implementing a regular histogram accumulator.
 
template<atomicity Atomicity, typename Arithmetic, typename ND, typename AxisTupleType>
using Gaudi::Accumulators::WeightedHistogramingAccumulator
 Class implementing a weighted histogram accumulator.
 
template<atomicity Atomicity, typename Arithmetic, typename ND, typename AxisTupleType>
using Gaudi::Accumulators::ProfileHistogramingAccumulator
 Class implementing a profile histogram accumulator.
 
template<atomicity Atomicity, typename Arithmetic, typename ND, typename AxisTupleType>
using Gaudi::Accumulators::WeightedProfileHistogramingAccumulator
 Class implementing a weighted profile histogram accumulator.
 
template<unsigned int ND, atomicity Atomicity = atomicity::full, typename Arithmetic = double, typename AxisTupleType = make_tuple_t<Axis<Arithmetic>, ND>>
using Gaudi::Accumulators::StaticHistogram
 standard static histograming counter. See HistogramingCounterBase for details
 
template<unsigned int ND, atomicity Atomicity = atomicity::full, typename Arithmetic = double, typename AxisTupleType = make_tuple_t<Axis<Arithmetic>, ND>>
using Gaudi::Accumulators::StaticWeightedHistogram
 standard static histograming counter with weight. See HistogramingCounterBase for details
 
template<unsigned int ND, atomicity Atomicity = atomicity::full, typename Arithmetic = double, typename AxisTupleType = make_tuple_t<Axis<Arithmetic>, ND>>
using Gaudi::Accumulators::StaticProfileHistogram
 profile static histograming counter. See HistogramingCounterBase for details
 
template<unsigned int ND, atomicity Atomicity = atomicity::full, typename Arithmetic = double, typename AxisTupleType = make_tuple_t<Axis<Arithmetic>, ND>>
using Gaudi::Accumulators::StaticWeightedProfileHistogram
 weighted static profile histograming counter. See HistogramingCounterBase for details
 

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
 

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"