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(