1 #include "../interface/TimingClient.h"
16 toleranceMeanFwd_(0.),
19 minChannelEntries_(0),
20 minChannelEntriesFwd_(0),
22 minTowerEntriesFwd_(0),
23 tailPopulThreshold_(0.)
49 MESet& meFwdBkwdDiff(
MEs_.at(
"FwdBkwdDiff"));
55 MESet& meQualitySummary(
MEs_.at(
"QualitySummary"));
72 DetId id(qItr->getId());
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);
117 if(eeid.
zside() < 0){
120 posTime = sTimeMap.getBinContent(posId);
124 meFwdBkwdDiff.fill(
id, posTime -
mean);
125 meFwdvBkwd.fill(
id,
mean, posTime);
129 qItr->setBinContent(doMask ?
kMBad :
kBad);
138 DetId tId(qsItr->getId());
140 std::vector<DetId> ids;
158 float summaryEntries(sTimeAllMap.getBinEntries(tId));
160 float towerEntries(0.);
162 float towerMean2(0.);
166 for(std::vector<DetId>::iterator idItr(ids.begin()); idItr != ids.end(); ++idItr){
174 if(entries < 0.)
continue;
175 towerEntries += entries;
177 towerMean +=
mean * entries;
183 if(towerEntries / ids.size() > minTowerEntries / 25.){
187 towerMean /= towerEntries;
188 towerMean2 /= towerEntries;
190 float towerRMS(
sqrt(towerMean2 - towerMean * towerMean));
192 if(
abs(towerMean) > meanThresh || towerRMS > rmsThresh)
198 qsItr->setBinContent(quality);
T getUntrackedParameter(std::string const &, T const &) const
#define DEFINE_ECALDQM_WORKER(TYPE)
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
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)