15 throw_(
"Unsupported MonitorElement kind");
32 if(_path !=
"")
path_ = _path;
44 for(
unsigned iME(0); iME <
mes_.size(); iME++){
49 for(
int iBin(1); iBin <= me->
getNbinsX(); ++iBin)
53 for(
int iBin(1); iBin <= me->
getNbinsX(); ++iBin)
57 for(
int iBin(1); iBin <= me->
getNbinsX() / 2; ++iBin){
65 for(
unsigned iME(0); iME <
mes_.size(); iME++){
103 unsigned nId(ids.size());
104 for(
unsigned iId(0); iId < nId; iId++){
133 unsigned nId(ids.size());
134 for(
unsigned iId(0); iId < nId; iId++){
173 unsigned nId(ids.size());
174 for(
unsigned iId(0); iId < nId; iId++){
176 mes_[iME]->setBinContent(bin, _content);
181 mes_[iME]->setBinContent(bin, _content);
196 mes_[iME]->setBinContent(bin, _content);
210 mes_[iME]->setBinContent(bin, _content);
227 unsigned nId(ids.size());
228 for(
unsigned iId(0); iId < nId; iId++){
230 mes_[iME]->setBinError(bin, _error);
235 mes_[iME]->setBinError(bin, _error);
250 mes_[iME]->setBinError(bin, _error);
264 mes_[iME]->setBinError(bin, _error);
282 unsigned nId(ids.size());
283 for(
unsigned iId(0); iId < nId; iId++){
285 mes_[iME]->setBinEntries(bin, _entries);
290 mes_[iME]->setBinEntries(bin, _entries);
306 mes_[iME]->setBinEntries(bin, _entries);
320 mes_[iME]->setBinEntries(bin, _entries);
343 return mes_[iME]->getBinContent(bin);
358 return mes_[iME]->getBinContent(bin);
373 return mes_[iME]->getBinContent(bin);
396 return mes_[iME]->getBinError(bin);
411 return mes_[iME]->getBinError(bin);
426 return mes_[iME]->getBinError(bin);
451 if(entries < 0.)
return 0.;
469 if(entries < 0.)
return 0.;
486 if(entries < 0.)
return 0.;
528 for(
unsigned iME(0); iME < nME; iME++) {
533 int nbinsX(me->
getTH1()->GetNbinsX());
534 int nbinsY(me->
getTH1()->GetNbinsY());
535 for(
int ix(1); ix <= nbinsX; ix++){
536 for(
int iy(1); iy <= nbinsY; iy++){
537 int bin((nbinsX + 2) * iy + ix);
560 if(me->getBinEntries(_bin) < 0.){
562 me->setBinEntries(_bin, 0.);
563 me->getTProfile2D()->SetEntries(me->getTProfile2D()->GetEntries() + 1.);
575 if(me->getBinEntries(_bin) < 0.){
577 me->setBinEntries(_bin, 0.);
578 me->getTProfile2D()->SetEntries(me->getTProfile2D()->GetEntries() + 1.);
590 int bin(me->getTProfile2D()->FindBin(_x, _wy));
591 if(me->getBinEntries(
bin) < 0.){
592 me->setBinContent(
bin, 0.);
593 me->setBinEntries(
bin, 0.);
594 me->getTProfile2D()->SetEntries(me->getTProfile2D()->GetEntries() + 1.);
MonitorElement::Kind kind_
void setBinContent(int binx, double content)
set content of bin (1-D)
int stripId() const
get the tower id
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)
EcalElectronicsMapping const * getElectronicsMap()
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
int towerId() const
get the tower id
void setBinContent(DetId const &, double) override
void setBinError(DetId const &, double) override
ObjectType getObject(ObjectType, unsigned)
void book(DQMStore::IBooker &) override
MESet * clone(std::string const &="") const override
bool isEndcapTTId(DetId const &)
std::vector< MonitorElement * > mes_
void fill(DetId const &, double=1., double=0., double=0.) override
double getBinContent(DetId const &, int=0) const override
void throw_(std::string const &_message) const
EcalTrigTowerConstituentsMap const * getTrigTowerMap()
void fill_(unsigned, int, double) override
double getBinError(DetId const &, int=0) const override
void setBinError(int binx, double error)
set uncertainty on content of bin (1-D)
int dccId() const
get the DCC (Ecal Local DCC value not global one) id
std::string channelName(uint32_t, BinningType _btype=kDCC)
virtual void fill_(unsigned, int, double)
bin
set the eta bin as selection string.
unsigned memDCCId(unsigned)
int findBin2D(ObjectType, BinningType, DetId const &)
unsigned findPlotIndex(ObjectType, DetId const &)
virtual void resetAll(double=0., double=0., double=0.)
double getBinEntries(DetId const &, int=0) const override
void softReset() override
int findBin(DetId const &) const
binning::ObjectType otype_
void setBinEntries(DetId const &, double) override
int getNbinsX() const
get # of bins in X-axis
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)
void book(DQMStore::IBooker &) override