16 toleranceMeanFwd_(0.),
19 minChannelEntries_(0),
20 minChannelEntriesFwd_(0),
22 minTowerEntriesFwd_(0),
23 tailPopulThreshold_(0.) {
44 MESet& meFwdBkwdDiff(
MEs_.at(
"FwdBkwdDiff"));
50 MESet& meQualitySummary(
MEs_.at(
"QualitySummary"));
65 float EBentries(0.), EEentries(0.);
66 float EBmean(0.), EEmean(0.);
67 float EBrms(0.), EErms(0.);
88 if (entries < minChannelEntries) {
90 rItr->setBinContent(-1.);
97 meMeanSM.fill(
id,
mean);
98 meMeanAll.fill(
id,
mean);
99 meProjEta.fill(
id,
mean);
100 meProjPhi.fill(
id,
mean);
101 meRMSAll.fill(
id,
rms);
102 rItr->setBinContent(
rms);
104 bool negative(
false);
109 if (ebid.
zside() < 0) {
112 posTime = sTimeMap.getBinContent(posId);
116 if (eeid.
zside() < 0) {
119 posTime = sTimeMap.getBinContent(posId);
123 meFwdBkwdDiff.fill(
id, posTime -
mean);
124 meFwdvBkwd.fill(
id,
mean, posTime);
128 qItr->setBinContent(doMask ?
kMBad :
kBad);
137 float chStatus(sChStatus.getBinContent(
id));
139 if (entriesLS < minChannelEntries)
148 EBentries += entriesLS;
152 EEentries += entriesLS;
158 MESet& meTrendMean(
MEs_.at(
"TrendMean"));
160 if (EBentries > 0.) {
166 if (EEentries > 0.) {
176 DetId tId(qsItr->getId());
178 std::vector<DetId>
ids;
196 float summaryEntries(sTimeAllMap.getBinEntries(tId));
198 float towerEntries(0.);
200 float towerMean2(0.);
204 for (std::vector<DetId>::iterator idItr(ids.begin()); idItr != ids.end(); ++idItr) {
214 towerEntries += entries;
216 towerMean +=
mean * entries;
222 if (towerEntries / ids.size() > minTowerEntries / 25.) {
226 towerMean /= towerEntries;
227 towerMean2 /= towerEntries;
229 float towerRMS(
sqrt(towerMean2 - towerMean * towerMean));
231 if (
std::abs(towerMean) > meanThresh || towerRMS > rmsThresh)
237 qsItr->setBinContent(quality);
T getUntrackedParameter(std::string const &, T const &) const
#define DEFINE_ECALDQM_WORKER(TYPE)
edm::LuminosityBlockNumber_t iLumi
static const int PHYSICS_BAD_CHANNEL_WARNING
int minChannelEntriesFwd_
double getBinEntries() const
bool isForward(DetId const &)
EBDetId switchZSide() const
float tailPopulThreshold_
const_iterator & toNextChannel()
std::set< std::string > qualitySummaries_
void setParams(edm::ParameterSet const &) override
EcalTrigTowerConstituentsMap const * getTrigTowerMap()
StatusManager const * statusManager_
double getBinError() const
Abs< T >::type abs(const T &t)
std::vector< DetId > constituentsOf(const EcalTrigTowerDetId &id) const
Get the constituent detids for this tower id.
EEDetId switchZSide() const
virtual void fill(DetId const &, double=1., double=1., double=1.)
double getBinContent() const
std::vector< DetId > scConstituents(EcalScDetId const &)
void producePlots(ProcessType) override
int zside() const
get the z-side of the crystal (1/-1)