 |
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef AthenaMonitoringKernel_HistogramFiller_HistogramFiller1D_h
6 #define AthenaMonitoringKernel_HistogramFiller_HistogramFiller1D_h
15 #include "GaudiKernel/MsgStream.h"
36 log << MSG::ERROR <<
"CutMask does not match the size of plotted variable: "
42 auto cutMaskAccessor = [&](
size_t i) {
return static_cast<bool>(vars.
cut->
get(
i)); };
45 auto weightAccessor = [&](
size_t i){
return vars.
weight->
get(
i); };
49 log << MSG::ERROR <<
"Weight does not match the size of plotted variable: "
53 if (not vars.
cut)
return HistogramFiller::fill<TH1>(weightAccessor,
detail::noCut, *vars[0]);
54 else return HistogramFiller::fill<TH1>(weightAccessor, cutMaskAccessor, *vars[0]);
58 else return HistogramFiller::fill<TH1>(
detail::noWeight, cutMaskAccessor, *vars[0]);
virtual size_t size() const =0
gives size of vector representation
singleton-like access to IMessageSvc via open function and helper
Filler for plain 1D histograms.
const Monitored::IMonitoredVariable * cut
pointer to cut mask variable, typically absent
virtual unsigned fill(const HistogramFiller::VariablesPack &vars) const override
Method that actually fills the ROOT object.
the internal class used to keep parsed Filler properties
IMessageSvc * getMessageSvc(bool quiet=false)
const Monitored::IMonitoredVariable * weight
pointer to weight variable, typically absent
helper class to pass variables to fillers
auto noCut
no cut for filling
virtual double get(size_t) const =0
Generic monitoring tool for athena components.
size_t size() const
number of variables in the pack ( not counting the weight and mask )
Base class for all histogram fillers.
auto noWeight
no weight for filling
HistogramFiller1D(const HistogramDef &definition, std::shared_ptr< IHistogramProvider > provider)