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_
static constexpr int kSizeForDenseIndexing
MESet & at(const std::string &key)
void producePlots(ProcessType) override
static constexpr int kGood
EcalSubdetector subDet() const
get the subDetector associated to the Trigger Tower
static constexpr int kMUnknown
static constexpr int kUnknown
static constexpr int kMBad
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_
static constexpr int kBad
EcalElectronicsMapping const * GetElectronicsMap()
EcalDQMSetupObjects const getEcalDQMSetupObjects()
static constexpr int nDCC
static constexpr int kMGood
EcalTrigTowerConstituentsMap const * GetTrigTowerMap()
void erase(const std::string &key)