Filler for 1D histograms filled in cummulative mode.
More...
#include <CumulativeHistogramFiller1D.h>
|
| template<class H, typename W, typename C, typename ... Ms> |
| unsigned | fill (W weight, C cut, const Ms &... m) const |
| | Fill histogram from IMonitoredVariable.
|
| template<class H> |
| H * | histogram () const |
Filler for 1D histograms filled in cummulative mode.
Definition at line 14 of file CumulativeHistogramFiller1D.h.
◆ CumulativeHistogramFiller1D()
| Monitored::CumulativeHistogramFiller1D::CumulativeHistogramFiller1D |
( |
const HistogramDef & | definition, |
|
|
std::shared_ptr< IHistogramProvider > | provider ) |
|
inline |
Definition at line 16 of file CumulativeHistogramFiller1D.h.
HistogramFiller1D(const HistogramDef &definition, std::shared_ptr< IHistogramProvider > provider)
◆ fill() [1/2]
Method that actually fills the ROOT object.
- Returns
- number of fills performed
Reimplemented from Monitored::HistogramFiller1D.
Definition at line 21 of file CumulativeHistogramFiller1D.h.
21 {
22 if ( vars.size() != 1) {
23 return 0;
24 }
25
26 const size_t varVecSize = vars[0]->size();
27
28 if (vars.cut) {
29 const size_t maskSize = vars.cut->size();
30
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: "
36 }
37 }
38
41 for (;
i < varVecSize;
i++) {
42 if (vars.cut && !vars.cut->get(i)) { continue; }
44
45 for (unsigned j = bin; j > 0; --j) {
47 }
48 }
49
51 }
T * get(TKey *tobj)
get a TObject* from a TKey* (why can't a TObject be a TKey?)
IMessageSvc * getMessageSvc(bool quiet=false)
◆ fill() [2/2]
template<class
H, typename W, typename
C, typename ... Ms>
| unsigned Monitored::HistogramFiller::fill |
( |
W | weight, |
|
|
C | cut, |
|
|
const Ms &... | m ) const |
|
inlineprotectedinherited |
Fill histogram from IMonitoredVariable.
Supports arbitrary dimensions and double/string representation.
- Template Parameters
-
| H | histogram type (TH1, TH2, ...) |
- Parameters
-
Definition at line 168 of file HistogramFiller.h.
168 {
170
172 for (;
i < std::max({
m.size()...}); ++
i ) {
175 }
176 }
178 }
cut
This script demonstrates how to call a C++ class from Python Also how to use PyROOT is shown.
void doFill(H *hist, W weight, size_t i, const M &m1, const Ms &... m)
Perform (arbitrary dimension) histogram fill with weight.
◆ getLock()
| const std::unique_lock< std::mutex > Monitored::HistogramFiller::getLock |
( |
| ) |
const |
|
inlineinherited |
◆ histogram()
| H * Monitored::HistogramFiller::histogram |
( |
| ) |
const |
|
inlineprotectedinherited |
Definition at line 153 of file HistogramFiller.h.
153 {
155 }
std::shared_ptr< IHistogramProvider > m_histogramProvider
◆ histogramCutMaskName()
| const std::string & Monitored::HistogramFiller::histogramCutMaskName |
( |
| ) |
const |
|
inlineinherited |
Definition at line 143 of file HistogramFiller.h.
143 {
145 }
std::shared_ptr< HistogramDef > m_histDef
◆ histogramVariablesNames()
| const std::vector< std::string > & Monitored::HistogramFiller::histogramVariablesNames |
( |
| ) |
const |
|
inlineinherited |
◆ histogramWeightName()
| const std::string & Monitored::HistogramFiller::histogramWeightName |
( |
| ) |
const |
|
inlineinherited |
◆ touch()
| void Monitored::HistogramFiller::touch |
( |
| ) |
const |
|
inlineinherited |
◆ m_histDef
| std::shared_ptr<HistogramDef> Monitored::HistogramFiller::m_histDef |
|
protectedinherited |
◆ m_histogramProvider
◆ m_lock
| std::mutex Monitored::HistogramFiller::m_lock |
|
mutableprotectedinherited |
The documentation for this class was generated from the following file: