17 throw_(
"Unsupported MonitorElement kind");
38 for (
unsigned iME(0); iME <
mes_.size(); iME++) {
43 for (
int iBin(1); iBin <= me->
getNbinsX(); ++iBin)
47 for (
int iBin(1); iBin <= me->
getNbinsX(); ++iBin)
51 for (
int iBin(1); iBin <= me->
getNbinsX() / 2; ++iBin) {
58 for (
unsigned iME(0); iME <
mes_.size(); iME++) {
95 unsigned nId(ids.size());
96 for (
unsigned iId(0); iId < nId; iId++) {
124 std::vector<DetId>
ids(
126 unsigned nId(ids.size());
127 for (
unsigned iId(0); iId < nId; iId++) {
163 unsigned nId(ids.size());
164 for (
unsigned iId(0); iId < nId; iId++) {
166 mes_[iME]->setBinContent(bin, _content);
170 mes_[iME]->setBinContent(bin, _content);
184 mes_[iME]->setBinContent(bin, _content);
197 mes_[iME]->setBinContent(bin, _content);
213 unsigned nId(ids.size());
214 for (
unsigned iId(0); iId < nId; iId++) {
216 mes_[iME]->setBinError(bin, _error);
220 mes_[iME]->setBinError(bin, _error);
234 mes_[iME]->setBinError(bin, _error);
247 mes_[iME]->setBinError(bin, _error);
265 unsigned nId(ids.size());
266 for (
unsigned iId(0); iId < nId; iId++) {
268 mes_[iME]->setBinEntries(bin, _entries);
272 mes_[iME]->setBinEntries(bin, _entries);
288 mes_[iME]->setBinEntries(bin, _entries);
301 mes_[iME]->setBinEntries(bin, _entries);
322 return mes_[iME]->getBinContent(bin);
336 return mes_[iME]->getBinContent(bin);
350 return mes_[iME]->getBinContent(bin);
371 return mes_[iME]->getBinError(bin);
385 return mes_[iME]->getBinError(bin);
399 return mes_[iME]->getBinError(bin);
500 for (
unsigned iME(0); iME < nME; iME++) {
505 int nbinsX(me->
getTH1()->GetNbinsX());
506 int nbinsY(me->
getTH1()->GetNbinsY());
507 for (
int ix(1); ix <= nbinsX; ix++) {
508 for (
int iy(1); iy <= nbinsY; iy++) {
509 int bin((nbinsX + 2) * iy + ix);
530 if (me->getBinEntries(_bin) < 0.) {
532 me->setBinEntries(_bin, 0.);
533 me->getTProfile2D()->SetEntries(me->getTProfile2D()->GetEntries() + 1.);
543 if (me->getBinEntries(_bin) < 0.) {
545 me->setBinEntries(_bin, 0.);
546 me->getTProfile2D()->SetEntries(me->getTProfile2D()->GetEntries() + 1.);
556 int bin(me->getTProfile2D()->FindBin(_x, _wy));
557 if (me->getBinEntries(
bin) < 0.) {
558 me->setBinContent(
bin, 0.);
559 me->setBinEntries(
bin, 0.);
560 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 &)
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)
std::vector< MonitorElement * > mes_
void book(DQMStore::IBooker &) override