11 :
MESetEcal(_fullPath, _otype, _btype, _kind, 2, nullptr, nullptr, _zaxis) {
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++) {
125 std::vector<DetId> ids(
127 unsigned nId(ids.size());
128 for (
unsigned iId(0); iId < nId; iId++) {
164 unsigned nId(ids.size());
165 for (
unsigned iId(0); iId < nId; iId++) {
167 mes_[iME]->setBinContent(bin, _content);
171 mes_[iME]->setBinContent(bin, _content);
185 mes_[iME]->setBinContent(bin, _content);
198 mes_[iME]->setBinContent(bin, _content);
214 unsigned nId(ids.size());
215 for (
unsigned iId(0); iId < nId; iId++) {
217 mes_[iME]->setBinError(bin, _error);
221 mes_[iME]->setBinError(bin, _error);
235 mes_[iME]->setBinError(bin, _error);
248 mes_[iME]->setBinError(bin, _error);
266 unsigned nId(ids.size());
267 for (
unsigned iId(0); iId < nId; iId++) {
269 mes_[iME]->setBinEntries(bin, _entries);
273 mes_[iME]->setBinEntries(bin, _entries);
289 mes_[iME]->setBinEntries(bin, _entries);
302 mes_[iME]->setBinEntries(bin, _entries);
323 return mes_[iME]->getBinContent(bin);
337 return mes_[iME]->getBinContent(bin);
351 return mes_[iME]->getBinContent(bin);
372 return mes_[iME]->getBinError(bin);
386 return mes_[iME]->getBinError(bin);
400 return mes_[iME]->getBinError(bin);
504 for (
unsigned iME(0); iME < nME; iME++) {
509 int nbinsX(me->
getTH1()->GetNbinsX());
510 int nbinsY(me->
getTH1()->GetNbinsY());
511 for (
int ix(1); ix <= nbinsX; ix++) {
512 for (
int iy(1); iy <= nbinsY; iy++) {
513 int bin((nbinsX + 2) * iy + ix);
528 if (
me->getBinEntries(_bin) < 0.) {
529 me->setBinContent(_bin, 0.);
530 me->setBinEntries(_bin, 0.);
531 me->getTProfile2D()->SetEntries(
me->getTProfile2D()->GetEntries() + 1.);
541 if (
me->getBinEntries(_bin) < 0.) {
542 me->setBinContent(_bin, 0.);
543 me->setBinEntries(_bin, 0.);
544 me->getTProfile2D()->SetEntries(
me->getTProfile2D()->GetEntries() + 1.);
554 int bin(
me->getTProfile2D()->FindBin(_x, _wy));
555 if (
me->getBinEntries(
bin) < 0.) {
556 me->setBinContent(
bin, 0.);
557 me->setBinEntries(
bin, 0.);
558 me->getTProfile2D()->SetEntries(
me->getTProfile2D()->GetEntries() + 1.);
MonitorElement::Kind kind_
bool isValidIdBin(EcalElectronicsMapping const *, ObjectType, BinningType, unsigned, int)
int stripId() const
get the tower id
virtual void checkME_(unsigned _iME) const
Ecal readout channel identification [32:20] Unused (so far) [19:13] DCC id [12:6] tower [5:3] strip [...
unsigned getNObjects(ObjectType)
std::vector< DetId > pseudoStripConstituents(int tccId, int tt, int pseudostrip) const
Get the constituent detids for this dccId.
MESet * clone(std::string const &="") const override
int towerId() const
get the tower id
ObjectType getObject(ObjectType, unsigned)
bool isEndcapTTId(DetId const &)
virtual int getNbinsX() const
get # of bins in X-axis
void throw_(std::string const &_message) const
void fill_(unsigned, int, double) override
void setBinEntries(EcalDQMSetupObjects const, DetId const &, double) override
int findBin2D(EcalElectronicsMapping const *, ObjectType, BinningType, DetId const &)
int findBin(EcalDQMSetupObjects const, DetId const &) const
MESetDet2D(std::string const &, binning::ObjectType, binning::BinningType, MonitorElement::Kind, binning::AxisSpecs const *=nullptr)
virtual 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)
EcalElectronicsMapping const * electronicsMap
std::vector< DetId > constituentsOf(const EcalTrigTowerDetId &id) const
Get the constituent detids for this tower id.
void book(DQMStore::IBooker &, EcalElectronicsMapping const *) override
void reset(EcalElectronicsMapping const *, double=0., double=0., double=0.) override
int dccId() const
get the DCC (Ecal Local DCC value not global one) id
virtual void fill_(unsigned, int, double)
unsigned memDCCId(unsigned)
unsigned findPlotIndex(EcalElectronicsMapping const *, ObjectType, DetId const &)
virtual void setBinEntries(int bin, double nentries)
set # of bin entries (to be used for profiles)
virtual void setBinContent(int binx, double content)
set content of bin (1-D)
EcalTrigTowerConstituentsMap const * trigtowerMap
void setBinContent(EcalDQMSetupObjects const, DetId const &, double) override
virtual void resetAll(double=0., double=0., double=0.)
void book(DQMStore::IBooker &, EcalElectronicsMapping const *) override
binning::ObjectType otype_
std::string channelName(EcalElectronicsMapping const *, uint32_t, BinningType _btype=kDCC)
virtual void setBinError(int binx, double error)
set uncertainty on content of bin (1-D)
void setBinError(EcalDQMSetupObjects const, DetId const &, double) override
void fill(EcalDQMSetupObjects const, DetId const &, double=1., double=0., double=0.) override
double getBinContent(EcalDQMSetupObjects const, DetId const &, int=0) const override
binning::BinningType btype_
double getBinEntries(EcalDQMSetupObjects const, DetId const &, int=0) const override
double getBinError(EcalDQMSetupObjects const, DetId const &, int=0) const override
virtual TH1 * getTH1() const
std::vector< MonitorElement * > mes_