1 #include "../interface/TimingClient.h"
17 toleranceMeanFwd_(0.),
20 minChannelEntries_(0),
21 minChannelEntriesFwd_(0),
23 minTowerEntriesFwd_(0),
24 tailPopulThreshold_(0.)
50 MESet& meFwdBkwdDiff(
MEs_.at(
"FwdBkwdDiff"));
56 MESet& meQualitySummary(
MEs_.at(
"QualitySummary"));
71 float EBentries(0.), EEentries(0.);
72 float EBmean(0.), EEmean(0.);
73 float EBrms(0.), EErms(0.);
79 DetId id(qItr->getId());
95 if(entries < minChannelEntries){
97 rItr->setBinContent(-1.);
104 meMeanSM.fill(
id,
mean);
105 meMeanAll.fill(
id,
mean);
106 meProjEta.fill(
id,
mean);
107 meProjPhi.fill(
id,
mean);
108 meRMSAll.fill(
id,
rms);
109 rItr->setBinContent(
rms);
111 bool negative(
false);
116 if(ebid.
zside() < 0){
119 posTime = sTimeMap.getBinContent(posId);
124 if(eeid.
zside() < 0){
127 posTime = sTimeMap.getBinContent(posId);
131 meFwdBkwdDiff.fill(
id, posTime -
mean);
132 meFwdvBkwd.fill(
id,
mean, posTime);
136 qItr->setBinContent(doMask ?
kMBad :
kBad);
145 float chStatus( sChStatus.getBinContent(
id) );
147 if ( entriesLS < minChannelEntries )
continue;
154 EBentries += entriesLS;
158 EEentries += entriesLS;
164 MESet& meTrendMean(
MEs_.at(
"TrendMean"));
166 if ( EBentries > 0. ) {
170 if ( EEentries > 0. ) {
179 DetId tId(qsItr->getId());
181 std::vector<DetId> ids;
199 float summaryEntries(sTimeAllMap.getBinEntries(tId));
201 float towerEntries(0.);
203 float towerMean2(0.);
207 for(std::vector<DetId>::iterator idItr(ids.begin()); idItr != ids.end(); ++idItr){
215 if(entries < 0.)
continue;
216 towerEntries += entries;
218 towerMean +=
mean * entries;
224 if(towerEntries / ids.size() > minTowerEntries / 25.){
228 towerMean /= towerEntries;
229 towerMean2 /= towerEntries;
231 float towerRMS(
sqrt(towerMean2 - towerMean * towerMean));
233 if(
abs(towerMean) > meanThresh || towerRMS > rmsThresh)
239 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)