File indexing completed on 2024-04-06 12:07:30
0001 #include "DQM/HcalCommon/interface/ContainerSingle2D.h"
0002 #include "DQM/HcalCommon/interface/Utilities.h"
0003
0004 namespace hcaldqm {
0005 using namespace constants;
0006 using namespace quantity;
0007 ContainerSingle2D::ContainerSingle2D() {
0008 _qx = nullptr;
0009 _qy = nullptr;
0010 _qz = nullptr;
0011 }
0012
0013 ContainerSingle2D::ContainerSingle2D(std::string const &folder, Quantity *qx, Quantity *qy, Quantity *qz)
0014 : Container(folder, qz->name() + "vs" + qy->name() + "vs" + qx->name()), _qx(qx), _qy(qy), _qz(qz) {
0015 _qx->setAxisType(quantity::fXAxis);
0016 _qy->setAxisType(quantity::fYAxis);
0017 _qz->setAxisType(quantity::fZAxis);
0018 }
0019
0020 ContainerSingle2D::ContainerSingle2D(
0021 std::string const &folder, std::string const &qname, Quantity *qx, Quantity *qy, Quantity *qz, int debug )
0022 : Container(folder, qname), _qx(qx), _qy(qy), _qz(qz) {
0023 _qx->setAxisType(quantity::fXAxis);
0024 _qy->setAxisType(quantity::fYAxis);
0025 _qz->setAxisType(quantity::fZAxis);
0026 }
0027
0028 ContainerSingle2D::ContainerSingle2D(ContainerSingle2D const &c) : Container(c._folder, c._qname) {
0029 _qx = c._qx->makeCopy();
0030 _qy = c._qy->makeCopy();
0031 _qz = c._qz->makeCopy();
0032 }
0033
0034 ContainerSingle2D::~ContainerSingle2D() {
0035 if (_qx != nullptr)
0036 delete _qx;
0037 if (_qy != nullptr)
0038 delete _qy;
0039 if (_qz != nullptr)
0040 delete _qz;
0041 _qx = nullptr;
0042 _qy = nullptr;
0043 _qz = nullptr;
0044 }
0045
0046 void ContainerSingle2D::initialize(
0047 std::string const &folder, Quantity *qx, Quantity *qy, Quantity *qz, int debug ) {
0048 Container::initialize(folder, qz->name() + "vs" + qy->name() + "vs" + qx->name(), debug);
0049 _qx = qx;
0050 _qy = qy;
0051 _qz = qz;
0052 _qx->setAxisType(quantity::fXAxis);
0053 _qy->setAxisType(quantity::fYAxis);
0054 _qz->setAxisType(quantity::fZAxis);
0055 }
0056
0057 void ContainerSingle2D::initialize(
0058 std::string const &folder, std::string const &qname, Quantity *qx, Quantity *qy, Quantity *qz, int debug ) {
0059 Container::initialize(folder, qname, debug);
0060 _qx = qx;
0061 _qy = qy;
0062 _qz = qz;
0063 _qx->setAxisType(quantity::fXAxis);
0064 _qy->setAxisType(quantity::fYAxis);
0065 _qz->setAxisType(quantity::fZAxis);
0066 }
0067
0068 void ContainerSingle2D::book(DQMStore::IBooker &ib, std::string subsystem, std::string aux) {
0069 ib.setCurrentFolder(subsystem + "/" + _folder + "/" + _qname);
0070 _me = ib.book2D(_qname + (aux.empty() ? aux : "_" + aux),
0071 _qname + (aux.empty() ? aux : " " + aux),
0072 _qx->nbins(),
0073 _qx->min(),
0074 _qx->max(),
0075 _qy->nbins(),
0076 _qy->min(),
0077 _qy->max());
0078 customize();
0079 }
0080
0081 void ContainerSingle2D::load(DQMStore::IGetter &ig, std::string subsystem, std::string aux) {
0082 _me = ig.get(subsystem + "/" + _folder + "/" + _qname + "/" + _qname + (aux.empty() ? aux : "_" + aux));
0083 }
0084
0085 void ContainerSingle2D::customize() {
0086 _me->setAxisTitle(_qx->name(), 1);
0087 _me->setAxisTitle(_qy->name(), 2);
0088 _me->setAxisTitle(_qz->name(), 3);
0089
0090 TH1 *h = _me->getTH1();
0091 _qx->setBits(h);
0092 _qy->setBits(h);
0093 _qz->setBits(h);
0094
0095 std::vector<std::string> xlabels = _qx->getLabels();
0096 std::vector<std::string> ylabels = _qy->getLabels();
0097 for (unsigned int i = 0; i < xlabels.size(); i++) {
0098 _me->setBinLabel(i + 1, xlabels[i], 1);
0099 }
0100 for (unsigned int i = 0; i < ylabels.size(); i++) {
0101 _me->setBinLabel(i + 1, ylabels[i], 2);
0102 }
0103 }
0104
0105 void ContainerSingle2D::fill(int x, int y) { _me->Fill(_qx->getValue(x), _qy->getValue(y)); }
0106
0107 void ContainerSingle2D::fill(int x, double y) { _me->Fill(_qx->getValue(x), _qy->getValue(y)); }
0108
0109 void ContainerSingle2D::fill(int x, double y, double z) {
0110 _me->Fill(_qx->getValue(x), _qy->getValue(y), z);
0111 }
0112
0113 void ContainerSingle2D::fill(double x, int y) { _me->Fill(_qx->getValue(x), _qy->getValue(y)); }
0114
0115 void ContainerSingle2D::fill(double x, double y) { _me->Fill(_qx->getValue(x), _qy->getValue(y)); }
0116
0117 void ContainerSingle2D::fill(double x, double y, double z) {
0118 _me->Fill(_qx->getValue(x), _qy->getValue(y), z);
0119 }
0120
0121 void ContainerSingle2D::fill(int x, int y, double z) {
0122 _me->Fill(_qx->getValue(x), _qy->getValue(y), z);
0123 }
0124
0125 void ContainerSingle2D::fill(int x, int y, int z) { _me->Fill(_qx->getValue(x), _qy->getValue(y), z); }
0126
0127 void ContainerSingle2D::fill(HcalDetId const &id) { _me->Fill(_qx->getValue(id), _qy->getValue(id)); }
0128
0129 double ContainerSingle2D::getBinContent(int x, int y) {
0130 return _me->getBinContent(_qx->getBin(x), _qy->getBin(y));
0131 }
0132 double ContainerSingle2D::getBinContent(int x, double y) {
0133 return _me->getBinContent(_qx->getBin(x), _qy->getBin(y));
0134 }
0135 double ContainerSingle2D::getBinContent(double x, int y) {
0136 return _me->getBinContent(_qx->getBin(x), _qy->getBin(y));
0137 }
0138 double ContainerSingle2D::getBinContent(double x, double y) {
0139 return _me->getBinContent(_qx->getBin(x), _qy->getBin(y));
0140 }
0141 double ContainerSingle2D::getBinEntries(int x, int y) {
0142 return _me->getBinEntries(_qx->getBin(x) + _qx->wofnbins() * _qy->getBin(y));
0143 }
0144 double ContainerSingle2D::getBinEntries(int x, double y) {
0145 return _me->getBinEntries(_qx->getBin(x) + _qx->wofnbins() * _qy->getBin(y));
0146 }
0147 double ContainerSingle2D::getBinEntries(double x, int y) {
0148 return _me->getBinEntries(_qx->getBin(x) + _qx->wofnbins() * _qy->getBin(y));
0149 }
0150 double ContainerSingle2D::getBinEntries(double x, double y) {
0151 return _me->getBinEntries(_qx->getBin(x) + _qx->wofnbins() * _qy->getBin(y));
0152 }
0153
0154 void ContainerSingle2D::setBinContent(int x, int y, int z) {
0155 _me->setBinContent(_qx->getBin(x), _qy->getBin(y), z);
0156 }
0157 void ContainerSingle2D::setBinContent(int x, double y, int z) {
0158 _me->setBinContent(_qx->getBin(x), _qy->getBin(y), z);
0159 }
0160 void ContainerSingle2D::setBinContent(double x, int y, int z) {
0161 _me->setBinContent(_qx->getBin(x), _qy->getBin(y), z);
0162 }
0163 void ContainerSingle2D::setBinContent(double x, double y, int z) {
0164 _me->setBinContent(_qx->getBin(x), _qy->getBin(y), z);
0165 }
0166 void ContainerSingle2D::setBinContent(int x, int y, double z) {
0167 _me->setBinContent(_qx->getBin(x), _qy->getBin(y), z);
0168 }
0169 void ContainerSingle2D::setBinContent(int x, double y, double z) {
0170 _me->setBinContent(_qx->getBin(x), _qy->getBin(y), z);
0171 }
0172 void ContainerSingle2D::setBinContent(double x, int y, double z) {
0173 _me->setBinContent(_qx->getBin(x), _qy->getBin(y), z);
0174 }
0175 void ContainerSingle2D::setBinContent(double x, double y, double z) {
0176 _me->setBinContent(_qx->getBin(x), _qy->getBin(y), z);
0177 }
0178
0179 void ContainerSingle2D::fill(HcalDetId const &id, double x) {
0180 if (_qx->isCoordinate() && _qy->isCoordinate())
0181 _me->Fill(_qx->getValue(id), _qy->getValue(id), x);
0182 else if (_qx->isCoordinate())
0183 _me->Fill(_qx->getValue(id), _qy->getValue(x));
0184 else if (_qy->isCoordinate())
0185 _me->Fill(_qx->getValue(x), _qy->getValue(id));
0186 }
0187
0188 void ContainerSingle2D::fill(HcalDetId const &id, int x) {
0189 if (_qx->isCoordinate() && _qy->isCoordinate())
0190 _me->Fill(_qx->getValue(id), _qy->getValue(id), x);
0191 else if (_qx->isCoordinate())
0192 _me->Fill(_qx->getValue(id), _qy->getValue(x));
0193 else if (_qy->isCoordinate())
0194 _me->Fill(_qx->getValue(x), _qy->getValue(id));
0195 }
0196
0197 void ContainerSingle2D::fill(HcalDetId const &id, double x, double y) {
0198 if (_qx->isCoordinate() && _qy->isCoordinate())
0199 _me->Fill(_qx->getValue(id), _qy->getValue(id), x);
0200 else if (_qx->isCoordinate() && !_qy->isCoordinate())
0201 _me->Fill(_qx->getValue(id), _qy->getValue(x), y);
0202 else if (!_qx->isCoordinate() && _qy->isCoordinate())
0203 _me->Fill(_qx->getValue(x), _qy->getValue(id), y);
0204 }
0205
0206 void ContainerSingle2D::fill(HcalDetId const &id, int x, int y) {
0207 if (_qx->isCoordinate() && _qy->isCoordinate())
0208 _me->Fill(_qx->getValue(id), _qy->getValue(id), x);
0209 else if (_qx->isCoordinate() && !_qy->isCoordinate())
0210 _me->Fill(_qx->getValue(id), _qy->getValue(x), y);
0211 else if (!_qx->isCoordinate() && _qy->isCoordinate())
0212 _me->Fill(_qx->getValue(x), _qy->getValue(id), y);
0213 }
0214
0215 void ContainerSingle2D::fill(HcalDetId const &id, int x, double y) {
0216 if (_qx->isCoordinate() && _qy->isCoordinate())
0217 _me->Fill(_qx->getValue(id), _qy->getValue(id), x);
0218 else if (_qx->isCoordinate() && !_qy->isCoordinate())
0219 _me->Fill(_qx->getValue(id), _qy->getValue(x), y);
0220 else if (!_qx->isCoordinate() && _qy->isCoordinate())
0221 _me->Fill(_qx->getValue(x), _qy->getValue(id), y);
0222 }
0223
0224 double ContainerSingle2D::getBinContent(HcalDetId const &id) {
0225 return _me->getBinContent(_qx->getBin(id), _qy->getBin(id));
0226 }
0227 double ContainerSingle2D::getBinContent(HcalDetId const &id, int x) {
0228 if (_qx->isCoordinate())
0229 return _me->getBinContent(_qx->getBin(id), _qy->getBin(x));
0230 else
0231 return _me->getBinContent(_qx->getBin(x), _qy->getBin(id));
0232 }
0233 double ContainerSingle2D::getBinContent(HcalDetId const &id, double x) {
0234 if (_qx->isCoordinate())
0235 return _me->getBinContent(_qx->getBin(id), _qy->getBin(x));
0236 else
0237 return _me->getBinContent(_qx->getBin(x), _qy->getBin(id));
0238 }
0239 double ContainerSingle2D::getBinEntries(HcalDetId const &id) {
0240 return _me->getBinEntries(_qx->getBin(id) + _qx->wofnbins() * _qy->getBin(id));
0241 }
0242 double ContainerSingle2D::getBinEntries(HcalDetId const &id, int x) {
0243 if (_qx->isCoordinate())
0244 return _me->getBinEntries(_qx->getBin(id) + _qx->wofnbins() * _qy->getBin(x));
0245 else
0246 return _me->getBinEntries(_qx->getBin(x) + _qx->wofnbins() * _qy->getBin(id));
0247 }
0248 double ContainerSingle2D::getBinEntries(HcalDetId const &id, double x) {
0249 if (_qx->isCoordinate())
0250 return _me->getBinEntries(_qx->getBin(id) + _qx->wofnbins() * _qy->getBin(x));
0251 else
0252 return _me->getBinEntries(_qx->getBin(x) + _qx->wofnbins() * _qy->getBin(id));
0253 }
0254
0255 void ContainerSingle2D::setBinContent(HcalDetId const &id, int x) {
0256 _me->setBinContent(_qx->getBin(id), _qy->getBin(id), x);
0257 }
0258 void ContainerSingle2D::setBinContent(HcalDetId const &id, double x) {
0259 _me->setBinContent(_qx->getBin(id), _qy->getBin(id), x);
0260 }
0261 void ContainerSingle2D::setBinContent(HcalDetId const &id, int x, int y) {
0262 if (_qx->isCoordinate())
0263 _me->setBinContent(_qx->getBin(id), _qy->getBin(x), y);
0264 else
0265 _me->setBinContent(_qx->getBin(x), _qy->getBin(id), y);
0266 }
0267 void ContainerSingle2D::setBinContent(HcalDetId const &id, int x, double y) {
0268 if (_qx->isCoordinate())
0269 _me->setBinContent(_qx->getBin(id), _qy->getBin(x), y);
0270 else
0271 _me->setBinContent(_qx->getBin(x), _qy->getBin(id), y);
0272 }
0273 void ContainerSingle2D::setBinContent(HcalDetId const &id, double x, int y) {
0274 if (_qx->isCoordinate())
0275 _me->setBinContent(_qx->getBin(id), _qy->getBin(x), y);
0276 else
0277 _me->setBinContent(_qx->getBin(x), _qy->getBin(id), y);
0278 }
0279 void ContainerSingle2D::setBinContent(HcalDetId const &id, double x, double y) {
0280 if (_qx->isCoordinate())
0281 _me->setBinContent(_qx->getBin(id), _qy->getBin(x), y);
0282 else
0283 _me->setBinContent(_qx->getBin(x), _qy->getBin(id), y);
0284 }
0285
0286
0287 void ContainerSingle2D::fill(HcalElectronicsId const &id) {
0288 _me->Fill(_qx->getValue(id), _qy->getValue(id));
0289 }
0290
0291 void ContainerSingle2D::fill(HcalElectronicsId const &id, double x) {
0292 if (_qx->isCoordinate() && _qy->isCoordinate())
0293 _me->Fill(_qx->getValue(id), _qy->getValue(id), x);
0294 else if (_qx->isCoordinate())
0295 _me->Fill(_qx->getValue(id), _qy->getValue(x));
0296 else if (_qy->isCoordinate())
0297 _me->Fill(_qx->getValue(x), _qy->getValue(id));
0298 }
0299
0300 void ContainerSingle2D::fill(HcalElectronicsId const &id, int x) {
0301 if (_qx->isCoordinate() && _qy->isCoordinate())
0302 _me->Fill(_qx->getValue(id), _qy->getValue(id), x);
0303 else if (_qx->isCoordinate())
0304 _me->Fill(_qx->getValue(id), _qy->getValue(x));
0305 else if (_qy->isCoordinate())
0306 _me->Fill(_qx->getValue(x), _qy->getValue(id));
0307 }
0308
0309 void ContainerSingle2D::fill(HcalElectronicsId const &id, double x, double y) {
0310 if (_qx->isCoordinate() && _qy->isCoordinate())
0311 _me->Fill(_qx->getValue(id), _qy->getValue(id), x);
0312 else if (_qx->isCoordinate() && !_qy->isCoordinate())
0313 _me->Fill(_qx->getValue(id), _qy->getValue(x), y);
0314 else if (!_qx->isCoordinate() && _qy->isCoordinate())
0315 _me->Fill(_qx->getValue(x), _qy->getValue(id), y);
0316 }
0317
0318 void ContainerSingle2D::fill(HcalElectronicsId const &id, int x, int y) {
0319 if (_qx->isCoordinate() && _qy->isCoordinate())
0320 _me->Fill(_qx->getValue(id), _qy->getValue(id), x);
0321 else if (_qx->isCoordinate() && !_qy->isCoordinate())
0322 _me->Fill(_qx->getValue(id), _qy->getValue(x), y);
0323 else if (!_qx->isCoordinate() && _qy->isCoordinate())
0324 _me->Fill(_qx->getValue(x), _qy->getValue(id), y);
0325 }
0326
0327 void ContainerSingle2D::fill(HcalElectronicsId const &id, int x, double y) {
0328 if (_qx->isCoordinate() && _qy->isCoordinate())
0329 _me->Fill(_qx->getValue(id), _qy->getValue(id), x);
0330 else if (_qx->isCoordinate() && !_qy->isCoordinate())
0331 _me->Fill(_qx->getValue(id), _qy->getValue(x), y);
0332 else if (!_qx->isCoordinate() && _qy->isCoordinate())
0333 _me->Fill(_qx->getValue(x), _qy->getValue(id), y);
0334 }
0335
0336 double ContainerSingle2D::getBinContent(HcalElectronicsId const &id) {
0337 return _me->getBinContent(_qx->getBin(id), _qy->getBin(id));
0338 }
0339 double ContainerSingle2D::getBinContent(HcalElectronicsId const &id, int x) {
0340 if (_qx->isCoordinate())
0341 return _me->getBinContent(_qx->getBin(id), _qy->getBin(x));
0342 else
0343 return _me->getBinContent(_qx->getBin(x), _qy->getBin(id));
0344 }
0345 double ContainerSingle2D::getBinContent(HcalElectronicsId const &id, double x) {
0346 if (_qx->isCoordinate())
0347 return _me->getBinContent(_qx->getBin(id), _qy->getBin(x));
0348 else
0349 return _me->getBinContent(_qx->getBin(x), _qy->getBin(id));
0350 }
0351 double ContainerSingle2D::getBinEntries(HcalElectronicsId const &id) {
0352 return _me->getBinEntries(_qx->getBin(id) + _qx->wofnbins() * _qy->getBin(id));
0353 }
0354 double ContainerSingle2D::getBinEntries(HcalElectronicsId const &id, int x) {
0355 if (_qx->isCoordinate())
0356 return _me->getBinEntries(_qx->getBin(id) + _qx->wofnbins() * _qy->getBin(x));
0357 else
0358 return _me->getBinEntries(_qx->getBin(x) + _qx->wofnbins() * _qy->getBin(id));
0359 }
0360 double ContainerSingle2D::getBinEntries(HcalElectronicsId const &id, double x) {
0361 if (_qx->isCoordinate())
0362 return _me->getBinEntries(_qx->getBin(id) + _qx->wofnbins() * _qy->getBin(x));
0363 else
0364 return _me->getBinEntries(_qx->getBin(x) + _qx->wofnbins() * _qy->getBin(id));
0365 }
0366
0367 void ContainerSingle2D::setBinContent(HcalElectronicsId const &id, int x) {
0368 _me->setBinContent(_qx->getBin(id), _qy->getBin(id), x);
0369 }
0370 void ContainerSingle2D::setBinContent(HcalElectronicsId const &id, double x) {
0371 _me->setBinContent(_qx->getBin(id), _qy->getBin(id), x);
0372 }
0373 void ContainerSingle2D::setBinContent(HcalElectronicsId const &id, int x, int y) {
0374 if (_qx->isCoordinate())
0375 _me->setBinContent(_qx->getBin(id), _qy->getBin(x), y);
0376 else
0377 _me->setBinContent(_qx->getBin(x), _qy->getBin(id), y);
0378 }
0379 void ContainerSingle2D::setBinContent(HcalElectronicsId const &id, int x, double y) {
0380 if (_qx->isCoordinate())
0381 _me->setBinContent(_qx->getBin(id), _qy->getBin(x), y);
0382 else
0383 _me->setBinContent(_qx->getBin(x), _qy->getBin(id), y);
0384 }
0385 void ContainerSingle2D::setBinContent(HcalElectronicsId const &id, double x, int y) {
0386 if (_qx->isCoordinate())
0387 _me->setBinContent(_qx->getBin(id), _qy->getBin(x), y);
0388 else
0389 _me->setBinContent(_qx->getBin(x), _qy->getBin(id), y);
0390 }
0391 void ContainerSingle2D::setBinContent(HcalElectronicsId const &id, double x, double y) {
0392 if (_qx->isCoordinate())
0393 _me->setBinContent(_qx->getBin(id), _qy->getBin(x), y);
0394 else
0395 _me->setBinContent(_qx->getBin(x), _qy->getBin(id), y);
0396 }
0397
0398
0399 void ContainerSingle2D::fill(HcalTrigTowerDetId const &id) {
0400 _me->Fill(_qx->getValue(id), _qy->getValue(id));
0401 }
0402
0403 void ContainerSingle2D::fill(HcalTrigTowerDetId const &id, double x) {
0404 if (_qx->isCoordinate() && _qy->isCoordinate())
0405 _me->Fill(_qx->getValue(id), _qy->getValue(id), x);
0406 else if (_qx->isCoordinate())
0407 _me->Fill(_qx->getValue(id), _qy->getValue(x));
0408 else if (_qy->isCoordinate())
0409 _me->Fill(_qx->getValue(x), _qy->getValue(id));
0410 }
0411
0412 void ContainerSingle2D::fill(HcalTrigTowerDetId const &id, int x) {
0413 if (_qx->isCoordinate() && _qy->isCoordinate())
0414 _me->Fill(_qx->getValue(id), _qy->getValue(id), x);
0415 else if (_qx->isCoordinate())
0416 _me->Fill(_qx->getValue(id), _qy->getValue(x));
0417 else if (_qy->isCoordinate())
0418 _me->Fill(_qx->getValue(x), _qy->getValue(id));
0419 }
0420
0421 void ContainerSingle2D::fill(HcalTrigTowerDetId const &id, double x, double y) {
0422 if (_qx->isCoordinate() && _qy->isCoordinate())
0423 _me->Fill(_qx->getValue(id), _qy->getValue(id), x);
0424 else if (_qx->isCoordinate() && !_qy->isCoordinate())
0425 _me->Fill(_qx->getValue(id), _qy->getValue(x), y);
0426 else if (!_qx->isCoordinate() && _qy->isCoordinate())
0427 _me->Fill(_qx->getValue(x), _qy->getValue(id), y);
0428 }
0429
0430 void ContainerSingle2D::fill(HcalTrigTowerDetId const &id, int x, int y) {
0431 if (_qx->isCoordinate() && _qy->isCoordinate())
0432 _me->Fill(_qx->getValue(id), _qy->getValue(id), x);
0433 else if (_qx->isCoordinate() && !_qy->isCoordinate())
0434 _me->Fill(_qx->getValue(id), _qy->getValue(x), y);
0435 else if (!_qx->isCoordinate() && _qy->isCoordinate())
0436 _me->Fill(_qx->getValue(x), _qy->getValue(id), y);
0437 }
0438
0439 void ContainerSingle2D::fill(HcalTrigTowerDetId const &id, int x, double y) {
0440 if (_qx->isCoordinate() && _qy->isCoordinate())
0441 _me->Fill(_qx->getValue(id), _qy->getValue(id), x);
0442 else if (_qx->isCoordinate() && !_qy->isCoordinate())
0443 _me->Fill(_qx->getValue(id), _qy->getValue(x), y);
0444 else if (!_qx->isCoordinate() && _qy->isCoordinate())
0445 _me->Fill(_qx->getValue(x), _qy->getValue(id), y);
0446 }
0447
0448 void ContainerSingle2D::fill(HcalDetId const &did, HcalElectronicsId const &eid) {
0449 if (_qx->type() == fDetectorQuantity)
0450 _me->Fill(_qx->getValue(did), _qy->getValue(eid));
0451 else
0452 _me->Fill(_qx->getValue(eid), _qy->getValue(did));
0453 }
0454
0455 void ContainerSingle2D::fill(HcalDetId const &did, HcalElectronicsId const &eid, double x) {
0456 if (_qx->type() == fDetectorQuantity)
0457 _me->Fill(_qx->getValue(did), _qy->getValue(eid), x);
0458 else
0459 _me->Fill(_qx->getValue(eid), _qy->getValue(did), x);
0460 }
0461
0462 double ContainerSingle2D::getBinContent(HcalTrigTowerDetId const &id) {
0463 return _me->getBinContent(_qx->getBin(id), _qy->getBin(id));
0464 }
0465 double ContainerSingle2D::getBinContent(HcalTrigTowerDetId const &id, int x) {
0466 if (_qx->isCoordinate())
0467 return _me->getBinContent(_qx->getBin(id), _qy->getBin(x));
0468 else
0469 return _me->getBinContent(_qx->getBin(x), _qy->getBin(id));
0470 }
0471 double ContainerSingle2D::getBinContent(HcalTrigTowerDetId const &id, double x) {
0472 if (_qx->isCoordinate())
0473 return _me->getBinContent(_qx->getBin(id), _qy->getBin(x));
0474 else
0475 return _me->getBinContent(_qx->getBin(x), _qy->getBin(id));
0476 }
0477 double ContainerSingle2D::getBinEntries(HcalTrigTowerDetId const &id) {
0478 return _me->getBinEntries(_qx->getBin(id) + _qx->wofnbins() * _qy->getBin(id));
0479 }
0480 double ContainerSingle2D::getBinEntries(HcalTrigTowerDetId const &id, int x) {
0481 if (_qx->isCoordinate())
0482 return _me->getBinEntries(_qx->getBin(id) + _qx->wofnbins() * _qy->getBin(x));
0483 else
0484 return _me->getBinEntries(_qx->getBin(x) + _qx->wofnbins() * _qy->getBin(id));
0485 }
0486 double ContainerSingle2D::getBinEntries(HcalTrigTowerDetId const &id, double x) {
0487 if (_qx->isCoordinate())
0488 return _me->getBinEntries(_qx->getBin(id) + _qx->wofnbins() * _qy->getBin(x));
0489 else
0490 return _me->getBinEntries(_qx->getBin(x) + _qx->wofnbins() * _qy->getBin(id));
0491 }
0492
0493 void ContainerSingle2D::setBinContent(HcalTrigTowerDetId const &id, int x) {
0494 _me->setBinContent(_qx->getBin(id), _qy->getBin(id), x);
0495 }
0496 void ContainerSingle2D::setBinContent(HcalTrigTowerDetId const &id, double x) {
0497 _me->setBinContent(_qx->getBin(id), _qy->getBin(id), x);
0498 }
0499 void ContainerSingle2D::setBinContent(HcalTrigTowerDetId const &id, int x, int y) {
0500 if (_qx->isCoordinate())
0501 _me->setBinContent(_qx->getBin(id), _qy->getBin(x), y);
0502 else
0503 _me->setBinContent(_qx->getBin(x), _qy->getBin(id), y);
0504 }
0505 void ContainerSingle2D::setBinContent(HcalTrigTowerDetId const &id, int x, double y) {
0506 if (_qx->isCoordinate())
0507 _me->setBinContent(_qx->getBin(id), _qy->getBin(x), y);
0508 else
0509 _me->setBinContent(_qx->getBin(x), _qy->getBin(id), y);
0510 }
0511 void ContainerSingle2D::setBinContent(HcalTrigTowerDetId const &id, double x, int y) {
0512 if (_qx->isCoordinate())
0513 _me->setBinContent(_qx->getBin(id), _qy->getBin(x), y);
0514 else
0515 _me->setBinContent(_qx->getBin(x), _qy->getBin(id), y);
0516 }
0517 void ContainerSingle2D::setBinContent(HcalTrigTowerDetId const &id, double x, double y) {
0518 if (_qx->isCoordinate())
0519 _me->setBinContent(_qx->getBin(id), _qy->getBin(x), y);
0520 else
0521 _me->setBinContent(_qx->getBin(x), _qy->getBin(id), y);
0522 }
0523
0524 void ContainerSingle2D::extendAxisRange(int l) {
0525 if (l < _qx->nbins())
0526 return;
0527
0528 int x = _qx->nbins();
0529 while (l >= x) {
0530 _me->getTH1()->LabelsInflate();
0531 x *= 2;
0532 _qx->setMax(x);
0533 }
0534 }
0535
0536 void ContainerSingle2D::showOverflowZ(bool showOverflow) { _qz->showOverflow(showOverflow); }
0537 }