ATLAS Offline Software
Namespaces | Enumerations | Functions | Variables
HistogramFillerUtils.h File Reference
#include <algorithm>
#include <utility>
#include "AthenaMonitoringKernel/IMonitoredVariable.h"
#include "AthenaMonitoringKernel/OHLockedHist.h"
#include "HistogramFactory.h"
#include "CxxUtils/AthUnlikelyMacros.h"
#include "TH1.h"
#include "TProfile.h"
#include "THashList.h"
#include "TProfile2D.h"
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 Monitored
 Generic monitoring tool for athena components.
 
 Monitored::detail
 

Enumerations

enum  Monitored::Axis { Monitored::X = 0, Monitored::Y, Monitored::Z }
 Helper type for histogram axis selection. More...
 

Functions

template<Axis AXIS, typename H >
constexpr auto Monitored::detail::getAxis (H *hist)
 Helper to get corresponding TAxis selected by Monitored::Axis. More...
 
template<Axis AXIS, typename H >
double Monitored::detail::getFillValue (const H *hist, const IMonitoredVariable *var, size_t i)
 Return value for filling i'th entry of var into AXIS for hist. More...
 
bool Monitored::detail::shouldRebinHistogram (const TAxis *axis, const double value)
 Method checks if histogram should be rebinned. More...
 
template<Axis AXIS, typename H >
void Monitored::detail::rebinHistogram (H *hist, const double value)
 Method that rebins a histogram. More...
 
template<typename T >
bool Monitored::detail::fillWillRebinHistogram (const TAxis *axis, T value)
 Check if Fill would result in rebinning. More...
 
template<>
bool Monitored::detail::fillWillRebinHistogram (const TAxis *axis, const char *value)
 Check if Fill would result in rebinning for alphanumeric axis. More...
 
template<typename H , typename T , T... a, typename ... Vs>
bool Monitored::detail::fillWillRebinHistogram (H *hist, std::integer_sequence< T, a... >, const Vs &... v)
 Check if any of the histogram axes will be rebinned. More...
 
template<typename H , typename W , typename M , typename ... Ms>
void Monitored::detail::doFill (H *hist, W weight, size_t i, const M &m1, const Ms &... m)
 Perform (arbitrary dimension) histogram fill with weight. More...
 
template<typename W >
void Monitored::detail::doFill (TProfile *, W, size_t, const double &, const char *const &)
 
template<typename W >
void Monitored::detail::doFill (TProfile *, W, size_t, const char *const &, const char *const &)
 
template<typename W >
void Monitored::detail::doFill (TProfile2D *, W, size_t, const double &, const double &, const char *const &)
 
template<typename W >
void Monitored::detail::doFill (TProfile2D *, W, size_t, const char *const &, const char *const &, const char *const &)
 
template<typename W >
void Monitored::detail::doFill (TProfile2D *, W, size_t, const char *const &, const double &, const char *const &)
 
template<typename W >
void Monitored::detail::doFill (TProfile2D *, W, size_t, const double &, const char *const &, const char *const &)
 

Variables

auto Monitored::detail::noWeight = [](size_t){ return 1.0; }
 no weight for filling More...
 
auto Monitored::detail::noCut = [](size_t){ return true; }
 no cut for filling More...
 
constexpr std::array Monitored::detail::axis_name {"X", "Y", "Z"}
 Convert axis to ROOT-compatible character. More...
 
constexpr std::array Monitored::detail::axis_bit {TH1::kXaxis, TH1::kYaxis, TH1::kZaxis}