27 unsigned const nPhiRings(56);
42 double digiPhiRingMean[nPhiRings];
43 std::fill_n(digiPhiRingMean, nPhiRings, 0.);
44 double rechitPhiRingMean[nPhiRings];
45 std::fill_n(rechitPhiRingMean, nPhiRings, 0.);
46 int numCrystals[nPhiRings];
47 std::fill_n(numCrystals, nPhiRings, 0);
55 float entries(dItr->getBinContent());
56 float rhentries(rItr->getBinContent());
69 unsigned index(ieta < 0 ? ieta + 28 : ieta + 27);
71 digiPhiRingMean[
index] += entries;
72 rechitPhiRingMean[
index] += rhentries;
73 numCrystals[
index] += 1;
76 for (
unsigned ie(0); ie < nPhiRings; ie++) {
77 digiPhiRingMean[ie] /= numCrystals[ie];
78 rechitPhiRingMean[ie] /= numCrystals[ie];
82 std::vector<float> Nentries(
nDCC, 0.);
83 std::vector<float> Nrhentries(
nDCC, 0.);
94 float entries(dItr->getBinContent());
95 float rhentries(rItr->getBinContent());
107 unsigned index(ieta < 0 ? ieta + 28 : ieta + 27);
115 if (rhentries >
minHits_ && rhentries > rechitPhiRingMean[index] * deviationThreshold_) {
125 Nentries[iDCC] += entries;
127 Nrhentries[iDCC] += rhentries;
130 double tpdigiPhiRingMean[nPhiRings];
131 std::fill_n(tpdigiPhiRingMean, nPhiRings, 0.);
139 tpdigiPhiRingMean[
index] += entries;
142 for (
int ie(0); ie < 28; ie++) {
148 tpdigiPhiRingMean[ie] /=
denom;
149 tpdigiPhiRingMean[55 - ie] /=
denom;
170 for (
unsigned iD(0); iD < ids.size(); ++iD) {
177 meQualitySummary.setBinContent(
186 float meanFEDEB(0), meanFEDEE(0), rmsFEDEB(0), rmsFEDEE(0);
187 unsigned int nFEDEB(0), nFEDEE(0);
188 for (
unsigned iDCC(0); iDCC <
nDCC; iDCC++) {
190 meanFEDEB += Nrhentries[iDCC];
191 rmsFEDEB += Nrhentries[iDCC] * Nrhentries[iDCC];
194 meanFEDEE += Nrhentries[iDCC];
195 rmsFEDEE += Nrhentries[iDCC] * Nrhentries[iDCC];
199 meanFEDEB /= float(nFEDEB);
200 rmsFEDEB /= float(nFEDEB);
201 meanFEDEE /= float(nFEDEE);
202 rmsFEDEE /= float(nFEDEE);
203 rmsFEDEB =
sqrt(
abs(rmsFEDEB - meanFEDEB * meanFEDEB));
204 rmsFEDEE =
sqrt(
abs(rmsFEDEE - meanFEDEE * meanFEDEE));
206 float meanFED(0.), rmsFED(0.), nRMS(5.);
220 if (meanFED > 1000. && Nrhentries[iDCC] < threshold)
221 meQualitySummary.setBinContent(
T getUntrackedParameter(std::string const &, T const &) const
static EcalTrigTowerDetId detIdFromDenseIndex(uint32_t di)
#define DEFINE_ECALDQM_WORKER(TYPE)
uint16_t *__restrict__ id
static const int PHYSICS_BAD_CHANNEL_WARNING
MESet & at(const std::string &key)
const_iterator & toNextChannel(EcalElectronicsMapping const *electronicsMap)
uint32_t const *__restrict__ Quality * quality
static const int PEDESTAL_ONLINE_HIGH_GAIN_RMS_ERROR
static const int PHYSICS_BAD_CHANNEL_ERROR
void setParams(edm::ParameterSet const &) override
EcalTrigTowerDetId towerOf(const DetId &id) const
Get the tower id for this det id (or null if not known)
int ieta() const
get the tower ieta
EcalTrigTowerConstituentsMap const * GetTrigTowerMap()
std::set< std::string > qualitySummaries_
float deviationThreshold_
StatusManager const * statusManager_
Abs< T >::type abs(const T &t)
unsigned dccId(DetId const &, EcalElectronicsMapping const *)
EcalDQMSetupObjects const getEcalDQMSetupObjects()
void producePlots(ProcessType) override
const_iterator & toNextChannel(EcalElectronicsMapping const *)
EcalElectronicsMapping const * GetElectronicsMap()
std::vector< DetId > scConstituents(EcalScDetId const &)