14 :
DQWorkerClient(), minEntries_(0), errorFractionThreshold_(0.), TTF4MaskingAlarmThreshold_(0.) {
32 MESet* meNonSingleSummary =
nullptr;
33 MESet* meTimingSummary =
nullptr;
34 MESet* sEtEmulError =
nullptr;
35 MESet* sMatchedIndex =
nullptr;
37 MESet& meEmulQualitySummary(
MEs_.
at(
"EmulQualitySummary"));
46 std::vector<float> Nentries(
nDCC, 0.);
48 double currentLHCStatus = sLHCStatusByLumi.getFloatValue();
49 bool statsCheckEnabled =
50 ((currentLHCStatus > 10.5 && currentLHCStatus < 11.5) ||
51 currentLHCStatus < 0);
61 meNonSingleSummary = &
MEs_.
at(
"NonSingleSummary");
62 meTimingSummary = &
MEs_.
at(
"TimingSummary");
63 float towerEntries(0.);
66 for (
int iBin(0); iBin < 6; iBin++) {
68 towerEntries += entries;
72 tMax = iBin == 0 ? -0.5 : iBin + 0.5;
81 float nonsingleFraction(1. -
nMax / towerEntries);
83 if (nonsingleFraction > 0.) {
103 MESet& meTTF4vMaskByLumi(
MEs_.
at(
"TTF4vMaskByLumi"));
108 std::vector<float> nWithTTF4(
nDCC,
110 int nWithTTF4_EE = 0;
111 int nWithTTF4_EB = 0;
119 if (hasTTF4InThisLumiSection) {
132 if (hasTTF4InThisLumiSection) {
140 if (hasTTF4InThisLumiSection)
151 std::vector<float> nTTs(
nDCC, 0.);
152 std::vector<float> nTTFMismath(
nDCC, 0.);
166 meEmulQualitySummary.setBinContent(
175 float meanFEDEB(0.), meanFEDEE(0.), rmsFEDEB(0.), rmsFEDEE(0.);
176 unsigned int nFEDEB(0), nFEDEE(0);
177 for (
unsigned iDCC(0); iDCC <
nDCC; iDCC++) {
179 meanFEDEB += Nentries[iDCC];
180 rmsFEDEB += Nentries[iDCC] * Nentries[iDCC];
183 meanFEDEE += Nentries[iDCC];
184 rmsFEDEE += Nentries[iDCC] * Nentries[iDCC];
188 meanFEDEB /=
float(nFEDEB);
189 rmsFEDEB /=
float(nFEDEB);
190 meanFEDEE /=
float(nFEDEE);
191 rmsFEDEE /=
float(nFEDEE);
192 rmsFEDEB =
sqrt(
std::abs(rmsFEDEB - meanFEDEB * meanFEDEB));
193 rmsFEDEE =
sqrt(
std::abs(rmsFEDEE - meanFEDEE * meanFEDEE));
195 float meanFED(0.), rmsFED(0.), nRMS(5.);
207 if ((meanFED > 100. && Nentries[iDCC] <
threshold) && statsCheckEnabled)
208 meEmulQualitySummary.setBinContent(
virtual void setBinContent(EcalDQMSetupObjects const, DetId const &, double)
static EcalTrigTowerDetId detIdFromDenseIndex(uint32_t di)
#define DEFINE_ECALDQM_WORKER(TYPE)
edm::LuminosityBlockNumber_t iLumi
static const int PHYSICS_BAD_CHANNEL_WARNING
float errorFractionThreshold_
MESet & at(const std::string &key)
void producePlots(ProcessType) override
EcalSubdetector subDet() const
get the subDetector associated to the Trigger Tower
void setParams(edm::ParameterSet const &) override
virtual double getBinContent(EcalDQMSetupObjects const, DetId const &, int=0) const
std::set< std::string > qualitySummaries_
StatusManager const * statusManager_
Abs< T >::type abs(const T &t)
unsigned dccId(DetId const &, EcalElectronicsMapping const *)
float TTF4MaskingAlarmThreshold_
EcalElectronicsMapping const * GetElectronicsMap()
EcalDQMSetupObjects const getEcalDQMSetupObjects()
EcalTrigTowerConstituentsMap const * GetTrigTowerMap()
void erase(const std::string &key)