35 MESet& meQualitySummary(
MEs_.at(
"QualitySummary"));
64 uint16_t code(chIt->getEncodedStatusCode());
65 chSItr->setBinContent(code);
79 float entries(occItr->getBinContent());
81 float gain(sGain.getBinContent(
id));
82 float chid(sChId.getBinContent(
id));
83 float gainswitch(sGainSwitch.getBinContent(
id));
85 float towerid(sTowerId.getBinContent(
id));
86 float blocksize(sBlockSize.getBinContent(
id));
88 if (entries +
gain + chid + gainswitch + towerid + blocksize < 1.) {
90 meQualitySummary.setBinContent(
id, doMask ?
kMUnknown : kUnknown);
94 float chErr((
gain + chid + gainswitch + towerid + blocksize) /
95 (entries +
gain + chid + gainswitch + towerid + blocksize));
98 qItr->setBinContent(doMask ?
kMBad :
kBad);
99 meQualitySummary.setBinContent(
id, doMask ?
kMBad : kBad);
102 meQualitySummary.setBinContent(
id, doMask ?
kMGood : kGood);
110 std::vector<bool> hasMismatchDCC(
nDCC,
false);
111 for (
unsigned iDCC(0); iDCC <
nDCC; ++iDCC) {
112 if (sBXSRP.getBinContent(iDCC + 1) > 50. || sBXTCC.getBinContent(iDCC + 1) > 50.)
113 hasMismatchDCC[iDCC] =
true;
116 for (
MESet::iterator qsItr(meQualitySummary.beginChannel()); qsItr != meQualitySummary.end();
119 unsigned iDCC(
dccId(
id) - 1);
120 if (hasMismatchDCC[iDCC])
T getUntrackedParameter(std::string const &, T const &) const
#define DEFINE_ECALDQM_WORKER(TYPE)
void producePlots(ProcessType) override
edm::ESHandle< EcalChannelStatus > chStatus
static const int TT_SIZE_ERROR
static const int CH_GAIN_SWITCH_ERROR
const_iterator & toNextChannel()
void setParams(edm::ParameterSet const &) override
std::set< std::string > qualitySummaries_
void endLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &) override
StatusManager const * statusManager_
static const int CH_GAIN_ZERO_ERROR
std::vector< Item >::const_iterator const_iterator
float errFractionThreshold_
static const int TT_ID_ERROR
static const int CH_ID_ERROR
unsigned dccId(DetId const &)