31 if ( debug_ )
cout <<
"ESSummaryClient: beginJob" << endl;
40 dqmStore_->setCurrentFolder( prefixME_ +
"/EventInfo" );
42 sprintf(histo,
"reportSummary");
43 me = dqmStore_->get(prefixME_ +
"/EventInfo/" + histo);
45 dqmStore_->removeElement(me->
getName());
47 me = dqmStore_->bookFloat(histo);
50 dqmStore_->setCurrentFolder( prefixME_ +
"/EventInfo/reportSummaryContents" );
52 for (
int i=0 ;
i<2; ++
i){
53 for (
int j=0 ;
j<2; ++
j){
54 int iz = (
i==0)? 1:-1;
55 sprintf(histo,
"EcalPreshower Z %d P %d", iz,
j+1);
56 me = dqmStore_->get(prefixME_ +
"/EventInfo/reportSummaryContents/" + histo);
58 dqmStore_->removeElement(me->
getName());
60 me = dqmStore_->bookFloat(histo);
65 dqmStore_->setCurrentFolder( prefixME_ +
"/EventInfo" );
67 sprintf(histo,
"reportSummaryMap");
68 me = dqmStore_->get(prefixME_ +
"/EventInfo/" + histo);
70 dqmStore_->removeElement(me->
getName());
72 me = dqmStore_->book2D(histo, histo, 80, 0.5, 80.5, 80, 0.5, 80.5);
76 for (
int i = 0;
i < 80;
i++ ) {
77 for (
int j = 0;
j < 80;
j++ ) {
86 if ( debug_ )
cout <<
"ESSummaryClient: beginRun" << endl;
96 if ( debug_ )
cout <<
"ESSummaryClient: endJob, ievt = " << ievt_ << endl;
104 if ( debug_ )
cout <<
"ESSummaryClient: endRun, jevt = " << jevt_ << endl;
116 if ( ! enableCleanup_ )
return;
124 float nDI_FedErr[80][80];
130 for (
int i=0;
i<80; ++
i)
131 for (
int j=0;
j<80; ++
j) {
132 nDI_FedErr[
i][
j] = -1;
136 for (
int i=0;
i<2; ++
i) {
137 for (
int j=0;
j<2; ++
j) {
139 int iz = (
i==0)? 1:-1;
141 sprintf(histo,
"ES Integrity Errors Z %d P %d", iz,
j+1);
142 me = dqmStore_->get(prefixME_ +
"/ESIntegrityTask/" + histo);
144 for (
int x=0;
x<40; ++
x)
145 for (
int y=0;
y<40; ++
y)
148 sprintf(histo,
"ES Integrity Summary 1 Z %d P %d", iz,
j+1);
149 me = dqmStore_->get(prefixME_ +
"/ESIntegrityClient/" + histo);
151 for (
int x=0;
x<40; ++
x)
152 for (
int y=0;
y<40; ++
y)
155 sprintf(histo,
"ES RecHit 2D Occupancy Z %d P %d", iz,
j+1);
156 me = dqmStore_->get(prefixME_ +
"/ESOccupancyTask/" + histo);
169 float nValidChannels=0;
170 float nGlobalErrors=0;
171 float nValidChannelsES[2][2]={};
172 float nGlobalErrorsES[2][2]={};
174 me = dqmStore_->get(prefixME_ +
"/EventInfo/reportSummaryMap");
176 for (
int x=0;
x<80; ++
x) {
177 if (eCount < 1)
break;
178 for (
int y=0;
y<80; ++
y) {
180 int z = (
x<40) ? 0:1;
181 int p = (
y>=40) ? 0:1;
186 if (nDI_FedErr[
x][
y] >= 0) {
190 nGlobalErrors += nDI_FedErr[
x][
y]/eCount;
192 nValidChannelsES[
z][
p]++;
193 nGlobalErrorsES[
z][
p] += nDI_FedErr[
x][
y]/eCount;
204 for (
int i=0;
i<2; ++
i) {
205 for (
int j=0;
j<2; ++
j) {
206 int iz = (
i==0)? 1:-1;
207 float reportSummaryES = -1.;
208 if (nValidChannelsES[
i][
j] != 0)
209 reportSummaryES = 1.0 - nGlobalErrorsES[
i][
j]/nValidChannelsES[
i][
j];
210 sprintf(histo,
"EcalPreshower Z %d P %d", iz,
j+1);
211 me = dqmStore_->get(prefixME_ +
"/EventInfo/reportSummaryContents/" + histo);
212 if ( me ) me->
Fill(reportSummaryES);
218 if ( nValidChannels != 0 )
219 reportSummary = 1.0 - nGlobalErrors/nValidChannels;
220 me = dqmStore_->get(prefixME_ +
"/EventInfo/reportSummary");
221 if ( me ) me->
Fill(reportSummary);
233 sprintf(histo,
"ES Good Channel Fraction");
234 me = dqmStore_->get(prefixME_+
"/ESIntegrityTask/"+histo);
236 for (
int i=0;
i<2; ++
i) {
237 for (
int j=0;
j<2; ++
j) {
238 int iz = (
i==0)? 1:-1;
239 sprintf(histo,
"EcalPreshower Z %d P %d", iz,
j+1);
240 me_report = dqmStore_->get(prefixME_+
"/EventInfo/reportSummaryContents/" + histo);
246 me_report = dqmStore_->get(prefixME_ +
"/EventInfo/reportSummary");
T getUntrackedParameter(std::string const &, T const &) const
const std::string & getName(void) const
get name of ME
void setBinContent(int binx, double content)
set content of bin (1-D)
void endLumiAnalyze()
EndLumiAnalyze.
ESSummaryClient(const edm::ParameterSet &ps)
Constructor.
static void cleanup(const Factory::MakerMap::value_type &v)
virtual ~ESSummaryClient()
Destructor.
void beginRun(void)
BeginRun.
void beginJob(DQMStore *dqmStore)
BeginJob.
void cleanup(void)
Cleanup.
double getBinContent(int binx) const
get content of bin (1-D)
void analyze(void)
Analyze.
void softReset(bool flag)
SoftReset.
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void setup(std::vector< TH2F > &depth, std::string name, std::string units="")