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;
76 if(_failedPath) *_failedPath =
path_;
91 if(
mes_.size() == 0 || !
mes_[0])
return;
99 mes_[0]->Fill(_x, _wy);
103 mes_[0]->Fill(_x, _wy, _w);
116 if(
mes_.size() == 0 || !
mes_[0])
return;
118 mes_[0]->setBinContent(_bin, _content);
127 if(
mes_.size() == 0 || !
mes_[0])
return;
129 mes_[0]->setBinError(_bin, _error);
138 if(
mes_.size() == 0 || !
mes_[0])
return;
140 mes_[0]->setBinEntries(_bin, _entries);
149 if(
mes_.size() == 0 || !
mes_[0])
return 0.;
151 return mes_[0]->getBinContent(_bin);
160 if(
mes_.size() == 0 || !
mes_[0])
return 0.;
162 return mes_[0]->getBinError(_bin);
171 if(
mes_.size() == 0 || !
mes_[0])
return 0.;
173 return mes_[0]->getBinEntries(_bin);
181 if(
mes_.size() == 0 || !
mes_[0])
return 0;
184 return mes_[0]->getTH1()->FindBin(_x);
186 return mes_[0]->getTH1()->FindBin(_x, _y);
197 template<
class Bookable>
205 if(
path_.find(
'%') != string::npos)
206 throw_(
"book() called with incompletely formed path");
208 size_t slashPos(
path_.find_last_of(
'/'));
210 _booker.setCurrentFolder(
path_.substr(0, slashPos));
216 me = _booker.bookFloat(
name);
222 throw_(
"No xaxis found for MESetNonObject");
239 throw_(
"No xaxis found for MESetNonObject");
261 throw_(
"No x/yaxis found for MESetNonObject");
282 throw_(
"No x/yaxis found for MESetNonObject");
283 double high(0.), low(0.);
293 me = _booker.bookProfile2D(
name,
name,
xaxis_->
nbins,
xaxis_->
low,
xaxis_->
high,
yaxis_->
nbins,
yaxis_->
low,
yaxis_->
high, low, high,
"");
298 throw_(
"Unsupported MonitorElement kind");
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
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_
tuple path
else: Piece not in the list, fine.
void setBinContent(int, double) override
const T & max(const T &a, const T &b)
void throw_(std::string const &_message) const
int findBin(double, double=0.) const
MonitorElement * get(const std::string &path) const
get ME from full pathname (e.g. "my/long/dir/my_histo")
bool retrieve(DQMStore const &, 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
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
void book(DQMStore &) override