6 MESet(_fullPath, _otype, _btype, _kind),
7 xaxis_(_xaxis ?
new binning::AxisSpecs(*_xaxis) : 0),
8 yaxis_(_yaxis ?
new binning::AxisSpecs(*_yaxis) : 0),
9 zaxis_(_zaxis ?
new binning::AxisSpecs(*_zaxis) : 0)
15 xaxis_(_orig.xaxis_ ?
new binning::AxisSpecs(*_orig.xaxis_) : 0),
16 yaxis_(_orig.yaxis_ ?
new binning::AxisSpecs(*_orig.yaxis_) : 0),
17 zaxis_(_orig.zaxis_ ?
new binning::AxisSpecs(*_orig.zaxis_) : 0)
38 MESetNonObject const* pRhs(dynamic_cast<MESetNonObject const*>(&_rhs));
51 if(_path !=
"")
path_ = _path;
64 if(
path_.find(
'%') != string::npos)
65 throw_(
"book() called with incompletely formed path");
67 size_t slashPos(
path_.find_last_of(
'/'));
81 throw_(
"No xaxis found for MESetNonObject");
93 throw_(
"No xaxis found for MESetNonObject");
119 throw_(
"No x/yaxis found for MESetNonObject");
131 throw_(
"No x/yaxis found for MESetNonObject");
133 throw_(
"Variable bin size for 2D profile not implemented");
135 double high(0.), low(0.);
145 me = _ibooker.
bookProfile2D(
name,
name,
xaxis_->
nbins,
xaxis_->
low,
xaxis_->
high,
yaxis_->
nbins,
yaxis_->
low,
yaxis_->
high, low, high,
"");
150 throw_(
"Unsupported MonitorElement kind");
189 if(_failedPath) *_failedPath =
path_;
204 if(
mes_.size() == 0 || !
mes_[0])
return;
212 mes_[0]->Fill(_x, _wy);
216 mes_[0]->Fill(_x, _wy, _w);
229 if(
mes_.size() == 0 || !
mes_[0])
return;
231 mes_[0]->setBinContent(_bin, _content);
240 if(
mes_.size() == 0 || !
mes_[0])
return;
242 mes_[0]->setBinError(_bin, _error);
251 if(
mes_.size() == 0 || !
mes_[0])
return;
253 mes_[0]->setBinEntries(_bin, _entries);
262 if(
mes_.size() == 0 || !
mes_[0])
return 0.;
264 return mes_[0]->getBinContent(_bin);
273 if(
mes_.size() == 0 || !
mes_[0])
return 0.;
275 return mes_[0]->getBinError(_bin);
284 if(
mes_.size() == 0 || !
mes_[0])
return 0.;
286 return mes_[0]->getBinEntries(_bin);
294 if(
mes_.size() == 0 || !
mes_[0])
return 0;
297 return mes_[0]->getTH1()->FindBin(_x);
299 return mes_[0]->getTH1()->FindBin(_x, _y);
binning::AxisSpecs const * zaxis_
MonitorElement::Kind kind_
MESet & operator=(MESet const &) override
void setBinEntries(int, double) override
double getBinError(int, int=0) const override
double getBinEntries(int, int=0) const override
virtual void clear() const
MonitorElement * bookProfile(Args &&...args)
MonitorElement * get(const std::string &path)
binning::AxisSpecs const * xaxis_
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)
binning::AxisSpecs const * yaxis_
void setBinError(int, double) override
std::vector< MonitorElement * > mes_
void book(DQMStore::IBooker &) override
void setBinContent(int, double) override
void throw_(std::string const &_message) const
MonitorElement * bookProfile2D(Args &&...args)
MonitorElement * book1D(Args &&...args)
int findBin(double, double=0.) const
void setCurrentFolder(const std::string &fullpath)
MonitorElement * book2D(Args &&...args)
bool retrieve(DQMStore::IGetter &, std::string *=0) const override
MESetNonObject(std::string const &, binning::ObjectType, binning::BinningType, MonitorElement::Kind, binning::AxisSpecs const *=0, binning::AxisSpecs const *=0, binning::AxisSpecs const *=0)
void fill(double, double=1., double=1.) override
MonitorElement * bookFloat(Args &&...args)
virtual MESet & operator=(MESet const &)
void setLumiFlag(void)
this ME is meant to be stored for each luminosity section
MESet * clone(std::string const &="") const override
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
double getBinContent(int, int=0) const override
bool isVariableBinning() const override