5#ifndef AthenaMonitoringKernel_HistogramFiller_CumulativeHistogramFiller1D_h
6#define AthenaMonitoringKernel_HistogramFiller_CumulativeHistogramFiller1D_h
22 if ( vars.
size() != 1) {
26 const size_t varVecSize = vars[0]->
size();
29 const size_t maskSize = vars.
cut->
size();
31 if (maskSize == 0 || (maskSize == 1 && !vars.
cut->
get(0))) {
return 0; }
32 if (
ATH_UNLIKELY(maskSize > 1 && maskSize != varVecSize)) {
34 log << MSG::ERROR <<
"CutMask does not match the size of plotted variable: "
35 << maskSize <<
" " << varVecSize <<
endmsg;
41 for (; i < varVecSize; i++) {
42 if (vars.
cut && !vars.
cut->
get(i)) {
continue; }
45 for (
unsigned j =
bin; j > 0; --j) {
CumulativeHistogramFiller1D(const HistogramDef &definition, std::shared_ptr< IHistogramProvider > provider)
virtual unsigned fill(const HistogramFiller::VariablesPack &vars) const override
Method that actually fills the ROOT object.
HistogramFiller1D(const HistogramDef &definition, std::shared_ptr< IHistogramProvider > provider)
virtual double get(size_t) const =0
virtual size_t size() const =0
gives size of vector representation
T * get(TKey *tobj)
get a TObject* from a TKey* (why can't a TObject be a TKey?)
IMessageSvc * getMessageSvc(bool quiet=false)
Generic monitoring tool for athena components.
the internal class used to keep parsed Filler properties
helper class to pass variables to fillers
const Monitored::IMonitoredVariable * cut
pointer to cut mask variable, typically absent
size_t size() const
number of variables in the pack ( not counting the weight and mask )