43 for (
int i = 0;
i < 18;
i++) {
67 sprintf(histo,
"CertificationSummary");
71 sprintf(histo,
"CertificationSummaryMap");
78 for (
int i = 0;
i < 18;
i++) {
108 for (
int i = 0;
i < 18;
i++) {
112 sprintf(histo, (
prefixME_ +
"/EEIntegrityTask/EEIT weighted integrity errors by lumi").c_str());
116 sprintf(histo, (
prefixME_ +
"/EEStatusFlagsTask/FEStatus/EESFT weighted frontend errors by lumi").c_str());
120 sprintf(histo, (
prefixME_ +
"/EERawDataTask/EERDT FE synchronization errors by lumi").c_str());
126 float integrityErrSum = 0.;
127 float integrityQual = 1.0;
128 float frontendErrSum = 0.;
129 float frontendQual = 1.0;
130 float synchronizationErrSum = 0.;
131 float synchronizationQual = 1.0;
133 for (
int i=0;
i<18;
i++) {
134 float ismIntegrityQual = 1.0;
138 integrityErrSum +=
errors;
140 float ismFrontendQual = 1.0;
146 float ismSynchronizationQual = 1.0;
150 synchronizationErrSum +=
errors;
152 float minVal=
std::min(ismIntegrityQual,ismFrontendQual);
153 DQMVal[
i] =
std::min(minVal,ismSynchronizationQual);
159 float minVal =
std::min(integrityQual,frontendQual);
160 float totDQMVal =
std::min(minVal,synchronizationQual);
162 sprintf(histo, (
prefixME_ +
"/EventInfo/reportSummary").c_str());
164 if( me ) me->
Fill(totDQMVal);
166 for (
int i=0;
i<18;
i++) {
169 if( me ) me->
Fill(DQMVal[
i]);
171 sprintf(histo,
"reportSummaryMap");
174 for (
int ix = 1; ix <= 100; ix++ ) {
175 for (
int iy = 1; iy <= 100; iy++ ) {
176 int jx = ( i < 9 ) ? ix : 100 + ix;
187 sprintf(histo, (
prefixME_ +
"/EventInfo/DAQSummaryMap").c_str());
191 sprintf(histo, (
prefixME_ +
"/EventInfo/DCSSummaryMap").c_str());
197 int nValidChannels = 0;
198 int nValidChannelsEE[18];
200 for (
int i = 0;
i < 18;
i++) {
202 nValidChannelsEE[
i] = 0;
205 for (
int iz = -1; iz < 2; iz+=2 ) {
206 for (
int ix = 1; ix <= 100; ix++ ) {
207 for (
int iy = 1; iy <= 100; iy++ ) {
208 int jx = (iz==1) ? 100 + ix : ix;
214 int firstSec = ( iz < 0 ) ? 1 : 10;
215 int lastSec = ( iz < 0 ) ? 9 : 18;
216 for (
int i = firstSec;
i <= lastSec;
i++) {
220 float xvalDQM = DQMVal[ism-1];
222 float xvalDAQ, xvalDCS;
223 xvalDAQ = xvalDCS = -1.;
226 if (
hDAQ_ ) xvalDAQ =
hDAQ_->GetBinContent( jx, jy );
227 if (
hDCS_ ) xvalDCS =
hDCS_->GetBinContent( jx, jy );
229 if ( xvalDQM == -1 || ( xvalDAQ == -1 && xvalDCS == -1 ) ) {
239 sumCertEE[ism-1] += xcert;
240 nValidChannelsEE[ism-1]++;
257 for (
int i = 0;
i < 18;
i++) {
280 sprintf(histo, (
prefixME_ +
"/EventInfo/reportSummaryMap").c_str());
284 sprintf(histo, (
prefixME_ +
"/EventInfo/DAQSummaryMap").c_str());
288 sprintf(histo, (
prefixME_ +
"/EventInfo/DCSSummaryMap").c_str());
294 int nValidChannels = 0;
295 int nValidChannelsEE[18];
297 for (
int i = 0;
i < 18;
i++) {
299 nValidChannelsEE[
i] = 0;
302 for (
int iz = -1; iz < 2; iz+=2 ) {
303 for (
int ix = 1; ix <= 100; ix++ ) {
304 for (
int iy = 1; iy <= 100; iy++ ) {
305 int jx = (iz==1) ? 100 + ix : ix;
309 float xvalDQM, xvalDAQ, xvalDCS;
310 xvalDQM = xvalDAQ = xvalDCS = -1.;
313 if (
hDQM_ ) xvalDQM =
hDQM_->GetBinContent( jx, jy );
314 if (
hDAQ_ ) xvalDAQ =
hDAQ_->GetBinContent( jx, jy );
315 if (
hDCS_ ) xvalDCS =
hDCS_->GetBinContent( jx, jy );
317 if ( xvalDQM == -1 || ( xvalDAQ == -1 && xvalDCS == -1 ) ) {
328 int firstSec = ( iz < 0 ) ? 1 : 10;
329 int lastSec = ( iz < 0 ) ? 9 : 18;
330 for (
int i = firstSec;
i <= lastSec;
i++) {
332 sumCertEE[
i-1] += xcert;
333 nValidChannelsEE[
i-1]++;
348 if( nValidChannels>0 ) {
355 for (
int i = 0;
i < 18;
i++) {
357 if( nValidChannelsEE[i]>0 ) {
371 for (
int i = 0;
i < 18;
i++) {
405 for (
int i = 0;
i < 18;
i++) {
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)
MonitorElement * meEEDataCertification_[18]
Some "id" conversions.
static std::string sEE(const int ism)
static bool validDetId(int crystal_ix, int crystal_iy, int iz)
MonitorElement * bookFloat(const char *name)
Book float.
virtual ~EEDataCertificationTask()
Destructor.
TH1F * hSynchronizationByLumi_
void analyze(const edm::Event &e, const edm::EventSetup &c)
Analyze.
void beginRun(const edm::Run &r, const edm::EventSetup &c)
BeginRun.
void removeElement(const std::string &name)
MonitorElement * meEEDataCertificationSummaryMap_
void endLuminosityBlock(const edm::LuminosityBlock &lumiBlock, const edm::EventSetup &iSetup)
EndLuminosityBlock.
std::string getName(Reflex::Type &cc)
MonitorElement * get(const std::string &path) const
get ME from full pathname (e.g. "my/long/dir/my_histo")
Ecal Monitor Utils for Client.
void beginJob(void)
BeginJob.
EEDataCertificationTask(const edm::ParameterSet &ps)
Constructor.
void beginLuminosityBlock(const edm::LuminosityBlock &lumiBlock, const edm::EventSetup &iSetup)
BeginLuminosityBlock.
void cleanup(void)
Cleanup.
void endRun(const edm::Run &r, const edm::EventSetup &c)
EndRun.
static bool validEE(const int ism, const int ix, const int iy)
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
int ism(int ieta, int iphi)
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void Reset(void)
reset ME (ie. contents, errors, etc)
MonitorElement * meEEDataCertificationSummary_
void setCurrentFolder(const std::string &fullpath)