11 :
ESClient(ps), meReportSummary_(nullptr), meReportSummaryMap_(nullptr) {
12 for (
unsigned iZ(0); iZ != 2; ++iZ)
13 for (
unsigned iD(0); iD != 2; ++iD)
21 cout <<
"ESSummaryClient: setup" << endl;
31 for (
int i = 0;
i < 2; ++
i) {
32 for (
int j = 0;
j < 2; ++
j) {
33 int iz = (
i == 0) ? 1 : -1;
34 sprintf(
histo,
"EcalPreshower Z %d P %d", iz,
j + 1);
47 for (
int i = 0;
i < 80;
i++) {
48 for (
int j = 0;
j < 80;
j++) {
55 float nDI_FedErr[80][80];
61 for (
int i = 0;
i < 80; ++
i)
62 for (
int j = 0;
j < 80; ++
j) {
63 nDI_FedErr[
i][
j] = -1;
67 for (
int i = 0;
i < 2; ++
i) {
68 for (
int j = 0;
j < 2; ++
j) {
69 int iz = (
i == 0) ? 1 : -1;
71 sprintf(
histo,
"ES Integrity Errors Z %d P %d", iz,
j + 1);
74 for (
int x = 0;
x < 40; ++
x)
75 for (
int y = 0;
y < 40; ++
y)
76 nDI_FedErr[
i * 40 +
x][(1 -
j) * 40 +
y] =
me->getBinContent(
x + 1,
y + 1);
78 sprintf(
histo,
"ES Integrity Summary 1 Z %d P %d", iz,
j + 1);
81 for (
int x = 0;
x < 40; ++
x)
82 for (
int y = 0;
y < 40; ++
y)
83 DCC[
i * 40 +
x][(1 -
j) * 40 +
y] =
me->getBinContent(
x + 1,
y + 1);
85 sprintf(
histo,
"ES RecHit 2D Occupancy Z %d P %d", iz,
j + 1);
88 eCount =
me->getBinContent(40, 40);
98 float nValidChannels = 0;
99 float nGlobalErrors = 0;
100 float nValidChannelsES[2][2] = {};
101 float nGlobalErrorsES[2][2] = {};
103 for (
int x = 0;
x < 80; ++
x) {
106 for (
int y = 0;
y < 80; ++
y) {
107 int z = (
x < 40) ? 0 : 1;
108 int p = (
y >= 40) ? 0 : 1;
110 if (
DCC[
x][
y] == 0.) {
113 if (nDI_FedErr[
x][
y] >= 0) {
117 nGlobalErrors += nDI_FedErr[
x][
y] / eCount;
119 nValidChannelsES[
z][
p]++;
120 nGlobalErrorsES[
z][
p] += nDI_FedErr[
x][
y] / eCount;
128 for (
unsigned iZ(0); iZ != 2; ++iZ) {
129 for (
unsigned iD(0); iD != 2; ++iD) {
130 float reportSummaryES(-1.);
131 if (nValidChannelsES[iZ][iD] != 0)
132 reportSummaryES = 1. - nGlobalErrorsES[iZ][iD] / nValidChannelsES[iZ][iD];
138 float reportSummary(-1.);
139 if (nValidChannels != 0)
140 reportSummary = 1. - nGlobalErrors / nValidChannels;
157 for (
unsigned iZ(0); iZ != 2; ++iZ)
158 for (
unsigned iD(0); iD != 2; ++iD)
161 for (
int i = 0;
i < 2; ++
i)
162 for (
int j = 0;
j < 2; ++
j)
MonitorElement * bookFloat(TString const &name, FUNC onbooking=NOOP())
virtual void setCurrentFolder(std::string const &fullpath)
ESSummaryClient(const edm::ParameterSet &ps)
Constructor.
MonitorElement * meReportSummary_
void book(DQMStore::IBooker &) override
void endLumiAnalyze(DQMStore::IGetter &) override
Analyze.
MonitorElement * meReportSummaryContents_[2][2]
~ESSummaryClient() override
Destructor.
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
void endJobAnalyze(DQMStore::IGetter &) override
virtual void setBinContent(int binx, double content)
set content of bin (1-D)
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
virtual MonitorElement * get(std::string const &fullpath) const
MonitorElement * meReportSummaryMap_
void fillReportSummary(DQMStore::IGetter &)
static std::string const source
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)