File indexing completed on 2024-04-06 12:07:13
0001 #include "DQM/EcalCommon/interface/MESetDet0D.h"
0002
0003 namespace ecaldqm {
0004 MESetDet0D::MESetDet0D(std::string const &_fullPath,
0005 binning::ObjectType _otype,
0006 binning::BinningType _btype,
0007 MonitorElement::Kind _kind)
0008 : MESetEcal(_fullPath, _otype, _btype, _kind, 0, nullptr, nullptr) {
0009 switch (kind_) {
0010 case MonitorElement::Kind::REAL:
0011 break;
0012 default:
0013 throw_("Unsupported MonitorElement kind");
0014 }
0015 }
0016
0017 MESetDet0D::MESetDet0D(MESetDet0D const &_orig) : MESetEcal(_orig) {}
0018
0019 MESetDet0D::~MESetDet0D() {}
0020
0021 MESet *MESetDet0D::clone(std::string const &_path ) const {
0022 std::string path(path_);
0023 if (!_path.empty())
0024 path_ = _path;
0025 MESet *copy(new MESetDet0D(*this));
0026 path_ = path;
0027 return copy;
0028 }
0029
0030 void MESetDet0D::fill(EcalDQMSetupObjects const edso, DetId const &_id, double _value, double, double) {
0031 if (!active_)
0032 return;
0033
0034 unsigned iME(binning::findPlotIndex(edso.electronicsMap, otype_, _id));
0035 checkME_(iME);
0036
0037 mes_[iME]->Fill(_value);
0038 }
0039
0040 void MESetDet0D::fill(EcalDQMSetupObjects const edso, EcalElectronicsId const &_id, double _value, double, double) {
0041 if (!active_)
0042 return;
0043
0044 unsigned iME(binning::findPlotIndex(edso.electronicsMap, otype_, _id));
0045 checkME_(iME);
0046
0047 mes_[iME]->Fill(_value);
0048 }
0049
0050 void MESetDet0D::fill(EcalDQMSetupObjects const edso, int _dcctccid, double _value, double, double) {
0051 if (!active_)
0052 return;
0053
0054 unsigned iME(binning::findPlotIndex(edso.electronicsMap, otype_, _dcctccid, btype_));
0055 checkME_(iME);
0056
0057 mes_[iME]->Fill(_value);
0058 }
0059
0060 double MESetDet0D::getBinContent(EcalDQMSetupObjects const edso, DetId const &_id, int) const {
0061 if (!active_)
0062 return 0.;
0063
0064 unsigned iME(binning::findPlotIndex(edso.electronicsMap, otype_, _id));
0065 checkME_(iME);
0066
0067 return mes_[iME]->getFloatValue();
0068 }
0069
0070 double MESetDet0D::getBinContent(EcalDQMSetupObjects const edso, EcalElectronicsId const &_id, int) const {
0071 if (!active_)
0072 return 0.;
0073
0074 unsigned iME(binning::findPlotIndex(edso.electronicsMap, otype_, _id));
0075 checkME_(iME);
0076
0077 return mes_[iME]->getFloatValue();
0078 }
0079
0080 double MESetDet0D::getBinContent(EcalDQMSetupObjects const edso, int _dcctccid, int) const {
0081 if (!active_)
0082 return 0.;
0083
0084 unsigned iME(binning::findPlotIndex(edso.electronicsMap, otype_, _dcctccid, btype_));
0085 checkME_(iME);
0086
0087 return mes_[iME]->getFloatValue();
0088 }
0089
0090 void MESetDet0D::reset(EcalElectronicsMapping const *electronicsMap, double _value , double, double) {
0091 unsigned nME(mes_.size());
0092 for (unsigned iME(0); iME < nME; iME++)
0093 mes_[iME]->Fill(_value);
0094 }
0095 }