8 MESetEcal(_fullPath, _otype, _btype, _kind, 2, 0, 0, _zaxis)
15 throw_(
"Unsupported MonitorElement kind");
32 if(_path !=
"")
path_ = _path;
64 unsigned nId(ids.size());
65 for(
unsigned iId(0); iId < nId; iId++){
118 unsigned nId(ids.size());
119 for(
unsigned iId(0); iId < nId; iId++){
121 mes_[iME]->setBinContent(bin, _content);
126 mes_[iME]->setBinContent(bin, _content);
141 mes_[iME]->setBinContent(bin, _content);
155 mes_[iME]->setBinContent(bin, _content);
172 unsigned nId(ids.size());
173 for(
unsigned iId(0); iId < nId; iId++){
175 mes_[iME]->setBinError(bin, _error);
180 mes_[iME]->setBinError(bin, _error);
195 mes_[iME]->setBinError(bin, _error);
209 mes_[iME]->setBinError(bin, _error);
227 unsigned nId(ids.size());
228 for(
unsigned iId(0); iId < nId; iId++){
230 mes_[iME]->setBinEntries(bin, _entries);
235 mes_[iME]->setBinEntries(bin, _entries);
251 mes_[iME]->setBinEntries(bin, _entries);
265 mes_[iME]->setBinEntries(bin, _entries);
288 return mes_[iME]->getBinContent(bin);
303 return mes_[iME]->getBinContent(bin);
318 return mes_[iME]->getBinContent(bin);
341 return mes_[iME]->getBinError(bin);
356 return mes_[iME]->getBinError(bin);
371 return mes_[iME]->getBinError(bin);
396 if(entries < 0.)
return 0.;
414 if(entries < 0.)
return 0.;
431 if(entries < 0.)
return 0.;
473 for(
unsigned iME(0); iME < nME; iME++) {
478 int nbinsX(me->
getTH1()->GetNbinsX());
479 int nbinsY(me->
getTH1()->GetNbinsY());
480 for(
int ix(1); ix <= nbinsX; ix++){
481 for(
int iy(1); iy <= nbinsY; iy++){
482 int bin((nbinsX + 2) * iy + ix);
505 if(me->getBinEntries(_bin) < 0.){
507 me->setBinEntries(_bin, 0.);
508 me->getTProfile2D()->SetEntries(me->getTProfile2D()->GetEntries() + 1.);
520 if(me->getBinEntries(_bin) < 0.){
522 me->setBinEntries(_bin, 0.);
523 me->getTProfile2D()->SetEntries(me->getTProfile2D()->GetEntries() + 1.);
535 int bin(me->getTProfile2D()->FindBin(_x, _wy));
536 if(me->getBinEntries(
bin) < 0.){
537 me->setBinContent(
bin, 0.);
538 me->setBinEntries(
bin, 0.);
539 me->getTProfile2D()->SetEntries(me->getTProfile2D()->GetEntries() + 1.);
546 template<
class Bookable>
553 for(
unsigned iME(0); iME <
mes_.size(); iME++){
558 for(
int iBin(1); iBin <= me->
getNbinsX(); ++iBin)
562 for(
int iBin(1); iBin <= me->
getNbinsX(); ++iBin)
566 for(
int iBin(1); iBin <= me->
getNbinsX() / 2; ++iBin){
574 for(
unsigned iME(0); iME <
mes_.size(); iME++){
double getBinEntries(DetId const &, int=0) const override
MonitorElement::Kind kind_
void setBinContent(int binx, double content)
set content of bin (1-D)
virtual void checkME_(unsigned _iME) const
bool isValidIdBin(ObjectType, BinningType, unsigned, int)
Ecal readout channel identification [32:20] Unused (so far) [19:13] DCC id [12:6] tower [5:3] strip [...
unsigned getNObjects(ObjectType)
void book(DQMStore &) override
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)
void reset(double=0., double=0., double=0.) override
MESet * clone(std::string const &="") const override
void setBinContent(DetId const &, double) override
void setBinError(DetId const &, double) override
ObjectType getObject(ObjectType, unsigned)
bool isEndcapTTId(DetId const &)
std::vector< MonitorElement * > mes_
void fill(DetId const &, double=1., double=0., double=0.) override
tuple path
else: Piece not in the list, fine.
void book(DQMStore &) override
void throw_(std::string const &_message) const
EcalTrigTowerConstituentsMap const * getTrigTowerMap()
void fill_(unsigned, int, double) override
void setBinError(int binx, double error)
set uncertainty on content of bin (1-D)
double getBinError(DetId const &, int=0) const override
std::string channelName(uint32_t, BinningType _btype=kDCC)
virtual void fill_(unsigned, int, double)
unsigned memDCCId(unsigned)
double getBinContent(DetId const &, int=0) const override
int findBin2D(ObjectType, BinningType, DetId const &)
unsigned findPlotIndex(ObjectType, DetId const &)
virtual void resetAll(double=0., double=0., double=0.)
void softReset() override
int getNbinsX(void) const
get # of bins in X-axis
int findBin(DetId const &) const
binning::ObjectType otype_
void setBinEntries(DetId const &, double) override
MESetDet2D(std::string const &, binning::ObjectType, binning::BinningType, MonitorElement::Kind, binning::AxisSpecs const *=0)
binning::BinningType btype_
void setBinEntries(int bin, double nentries)
set # of bin entries (to be used for profiles)