ATLAS Offline Software
Loading...
Searching...
No Matches
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

namespace  Monitored
 Generic monitoring tool for athena components.
namespace  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.
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.
bool Monitored::detail::shouldRebinHistogram (const TAxis *axis, const double value)
 Method checks if histogram should be rebinned.
template<Axis AXIS, typename H>
void Monitored::detail::rebinHistogram (H *hist, const double value)
 Method that rebins a histogram.
template<typename T>
bool Monitored::detail::fillWillRebinHistogram (const TAxis *axis, T value)
 Check if Fill would result in rebinning.
template<>
bool Monitored::detail::fillWillRebinHistogram (const TAxis *axis, const char *value)
 Check if Fill would result in rebinning for alphanumeric axis.
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.
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.
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
auto Monitored::detail::noCut = [](size_t){ return true; }
 no cut for filling
constexpr std::array Monitored::detail::axis_name {"X", "Y", "Z"}
 Convert axis to ROOT-compatible character.
constexpr std::array Monitored::detail::axis_bit {TH1::kXaxis, TH1::kYaxis, TH1::kZaxis}