11 :
MESet(_fullPath, _otype, _btype, _kind),
12 xaxis_(_xaxis ? new
binning::AxisSpecs(*_xaxis) : nullptr),
13 yaxis_(_yaxis ? new
binning::AxisSpecs(*_yaxis) : nullptr),
14 zaxis_(_zaxis ? new
binning::AxisSpecs(*_zaxis) : nullptr) {}
18 xaxis_(_orig.xaxis_ ? new
binning::AxisSpecs(*_orig.xaxis_) : nullptr),
19 yaxis_(_orig.yaxis_ ? new
binning::AxisSpecs(*_orig.yaxis_) : nullptr),
20 zaxis_(_orig.zaxis_ ? new
binning::AxisSpecs(*_orig.zaxis_) : nullptr) {}
36 MESetNonObject const *pRhs(dynamic_cast<MESetNonObject const *>(&_rhs));
62 if (
path_.find(
'%') != string::npos)
63 throw_(
"book() called with incompletely formed path");
65 size_t slashPos(
path_.find_last_of(
'/'));
68 auto oldscope = MonitorElementData::Scope::RUN;
70 oldscope = _ibooker.
setScope(MonitorElementData::Scope::LUMI);
81 throw_(
"No xaxis found for MESetNonObject");
91 throw_(
"No xaxis found for MESetNonObject");
114 throw_(
"No x/yaxis found for MESetNonObject");
126 throw_(
"No x/yaxis found for MESetNonObject");
128 throw_(
"Variable bin size for 2D profile not implemented");
153 throw_(
"Unsupported MonitorElement kind");
194 *_failedPath =
path_;
217 mes_[0]->Fill(_x, _wy);
221 mes_[0]->Fill(_x, _wy, _w);
249 mes_[0]->setBinError(_bin, _error);
261 mes_[0]->setBinEntries(_bin, _entries);
273 return mes_[0]->getBinContent(_bin);
278 return mes_[0]->getFloatValue();
292 return mes_[0]->getBinError(_bin);
304 return mes_[0]->getBinEntries(_bin);
315 return mes_[0]->getTH1()->FindBin(_x);
317 return mes_[0]->getTH1()->FindBin(_x, _y);
binning::AxisSpecs const * zaxis_
MonitorElement::Kind kind_
MESet & operator=(MESet const &) override
MonitorElement * bookFloat(TString const &name, FUNC onbooking=NOOP())
int findBin(EcalDQMSetupObjects const, double, double=0.) const
MonitorElement * bookProfile2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, double lowZ, double highZ, char const *option="s", FUNC onbooking=NOOP())
double getBinContent(EcalDQMSetupObjects const, int, int=0) const override
virtual void setCurrentFolder(std::string const &fullpath)
void fill(EcalDQMSetupObjects const, double, double=1., double=1.) override
binning::AxisSpecs const * xaxis_
void setBinEntries(EcalDQMSetupObjects const, int, double) override
virtual MonitorElementData::Scope setScope(MonitorElementData::Scope newscope)
void throw_(std::string const &_message) const
binning::AxisSpecs const * yaxis_
std::vector< float > edges
double getFloatValue() const
~MESetNonObject() override
MonitorElement * bookProfile(TString const &name, TString const &title, int nchX, double lowX, double highX, int, double lowY, double highY, char const *option="s", FUNC onbooking=NOOP())
double getBinError(EcalDQMSetupObjects const, int, int=0) const override
double getBinEntries(EcalDQMSetupObjects const, int, int=0) const override
void book(DQMStore::IBooker &, EcalElectronicsMapping const *) override
MESetNonObject(std::string const &, binning::ObjectType, binning::BinningType, MonitorElement::Kind, binning::AxisSpecs const *=nullptr, binning::AxisSpecs const *=nullptr, binning::AxisSpecs const *=nullptr)
void setBinError(EcalDQMSetupObjects const, int, double) override
bool retrieve(EcalElectronicsMapping const *, DQMStore::IGetter &, std::string *=nullptr) const override
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
virtual MonitorElement * get(std::string const &fullpath) const
void setBinContent(EcalDQMSetupObjects const, int, double) override
virtual MESet & operator=(MESet const &)
MESet * clone(std::string const &="") const override
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
virtual void clear() const
bool isVariableBinning() const override
std::vector< std::string > labels
std::vector< MonitorElement * > mes_