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");
113 throw_(
"No x/yaxis found for MESetNonObject");
125 throw_(
"No x/yaxis found for MESetNonObject");
127 throw_(
"Variable bin size for 2D profile not implemented");
129 double high(0.), low(0.);
152 throw_(
"Unsupported MonitorElement kind");
193 *_failedPath =
path_;
216 mes_[0]->Fill(_x, _wy);
220 mes_[0]->Fill(_x, _wy, _w);
236 mes_[0]->setBinContent(_bin, _content);
248 mes_[0]->setBinError(_bin, _error);
260 mes_[0]->setBinEntries(_bin, _entries);
272 return mes_[0]->getBinContent(_bin);
277 return mes_[0]->getFloatValue();
291 return mes_[0]->getBinError(_bin);
303 return mes_[0]->getBinEntries(_bin);
314 return mes_[0]->getTH1()->FindBin(_x);
316 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())
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)
virtual void clear() const
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)
binning::AxisSpecs const * yaxis_
~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())
void throw_(std::string const &_message) const
double getBinError(EcalDQMSetupObjects const, int, int=0) const override
virtual MonitorElement * get(std::string const &fullpath) const
double getBinEntries(EcalDQMSetupObjects const, int, int=0) const override
void book(DQMStore::IBooker &, EcalElectronicsMapping const *) override
virtual void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
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())
int findBin(EcalDQMSetupObjects const, double, double=0.) const
double getFloatValue() 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())
bool isVariableBinning() const override
std::vector< MonitorElement * > mes_
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)