00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #include <memory>
00011 #include <iostream>
00012 #include <fstream>
00013 #include <iomanip>
00014 #include <math.h>
00015
00016 #include "FWCore/ServiceRegistry/interface/Service.h"
00017
00018 #include "DQMServices/Core/interface/DQMStore.h"
00019
00020 #ifdef WITH_ECAL_COND_DB
00021 #include "OnlineDB/EcalCondDB/interface/RunTag.h"
00022 #include "OnlineDB/EcalCondDB/interface/RunIOV.h"
00023 #endif
00024
00025 #include "DataFormats/EcalDetId/interface/EcalScDetId.h"
00026
00027 #include "DQM/EcalCommon/interface/UtilsClient.h"
00028 #include "DQM/EcalCommon/interface/Numbers.h"
00029
00030 #include "DQM/EcalEndcapMonitorClient/interface/EEStatusFlagsClient.h"
00031 #include "DQM/EcalEndcapMonitorClient/interface/EEIntegrityClient.h"
00032 #include "DQM/EcalEndcapMonitorClient/interface/EELaserClient.h"
00033 #include "DQM/EcalEndcapMonitorClient/interface/EELedClient.h"
00034 #include "DQM/EcalEndcapMonitorClient/interface/EEPedestalClient.h"
00035 #include "DQM/EcalEndcapMonitorClient/interface/EEPedestalOnlineClient.h"
00036 #include "DQM/EcalEndcapMonitorClient/interface/EETestPulseClient.h"
00037 #include "DQM/EcalEndcapMonitorClient/interface/EEBeamCaloClient.h"
00038 #include "DQM/EcalEndcapMonitorClient/interface/EEBeamHodoClient.h"
00039 #include "DQM/EcalEndcapMonitorClient/interface/EETriggerTowerClient.h"
00040 #include "DQM/EcalEndcapMonitorClient/interface/EEClusterClient.h"
00041 #include "DQM/EcalEndcapMonitorClient/interface/EETimingClient.h"
00042
00043 #include "DQM/EcalEndcapMonitorClient/interface/EESummaryClient.h"
00044
00045 EESummaryClient::EESummaryClient(const edm::ParameterSet& ps) {
00046
00047
00048 cloneME_ = ps.getUntrackedParameter<bool>("cloneME", true);
00049
00050
00051 verbose_ = ps.getUntrackedParameter<bool>("verbose", true);
00052
00053
00054 debug_ = ps.getUntrackedParameter<bool>("debug", false);
00055
00056
00057 prefixME_ = ps.getUntrackedParameter<std::string>("prefixME", "");
00058
00059
00060 enableCleanup_ = ps.getUntrackedParameter<bool>("enableCleanup", false);
00061
00062
00063 superModules_.reserve(18);
00064 for ( unsigned int i = 1; i <= 18; i++ ) superModules_.push_back(i);
00065 superModules_ = ps.getUntrackedParameter<std::vector<int> >("superModules", superModules_);
00066
00067 laserWavelengths_.reserve(4);
00068 for ( unsigned int i = 1; i <= 4; i++ ) laserWavelengths_.push_back(i);
00069 laserWavelengths_ = ps.getUntrackedParameter<std::vector<int> >("laserWavelengths", laserWavelengths_);
00070
00071 ledWavelengths_.reserve(2);
00072 for ( unsigned int i = 1; i <= 2; i++ ) ledWavelengths_.push_back(i);
00073 ledWavelengths_ = ps.getUntrackedParameter<std::vector<int> >("ledWavelengths", ledWavelengths_);
00074
00075 MGPAGains_.reserve(3);
00076 for ( unsigned int i = 1; i <= 3; i++ ) MGPAGains_.push_back(i);
00077 MGPAGains_ = ps.getUntrackedParameter<std::vector<int> >("MGPAGains", MGPAGains_);
00078
00079 MGPAGainsPN_.reserve(2);
00080 for ( unsigned int i = 1; i <= 3; i++ ) MGPAGainsPN_.push_back(i);
00081 MGPAGainsPN_ = ps.getUntrackedParameter<std::vector<int> >("MGPAGainsPN", MGPAGainsPN_);
00082
00083
00084 meIntegrity_[0] = 0;
00085 meIntegrity_[1] = 0;
00086 meIntegrityPN_ = 0;
00087 meOccupancy_[0] = 0;
00088 meOccupancy_[1] = 0;
00089 meOccupancyPN_ = 0;
00090 meStatusFlags_[0] = 0;
00091 meStatusFlags_[1] = 0;
00092 mePedestalOnline_[0] = 0;
00093 mePedestalOnline_[1] = 0;
00094 mePedestalOnlineRMSMap_[0] = 0;
00095 mePedestalOnlineRMSMap_[1] = 0;
00096 mePedestalOnlineMean_ = 0;
00097 mePedestalOnlineRMS_ = 0;
00098
00099 meLaserL1_[0] = 0;
00100 meLaserL1_[1] = 0;
00101 meLaserL1PN_ = 0;
00102 meLaserL1Ampl_ = 0;
00103 meLaserL1Timing_ = 0;
00104 meLaserL1AmplOverPN_ = 0;
00105
00106 meLaserL2_[0] = 0;
00107 meLaserL2_[1] = 0;
00108 meLaserL2PN_ = 0;
00109 meLaserL2Ampl_ = 0;
00110 meLaserL2Timing_ = 0;
00111 meLaserL2AmplOverPN_ = 0;
00112
00113 meLaserL3_[0] = 0;
00114 meLaserL3_[1] = 0;
00115 meLaserL3PN_ = 0;
00116 meLaserL3Ampl_ = 0;
00117 meLaserL3Timing_ = 0;
00118 meLaserL3AmplOverPN_ = 0;
00119
00120 meLaserL4_[0] = 0;
00121 meLaserL4_[1] = 0;
00122 meLaserL4PN_ = 0;
00123 meLaserL4Ampl_ = 0;
00124 meLaserL4Timing_ = 0;
00125 meLaserL4AmplOverPN_ = 0;
00126
00127 meLedL1_[0] = 0;
00128 meLedL1_[1] = 0;
00129 meLedL1PN_ = 0;
00130 meLedL1Ampl_ = 0;
00131 meLedL1Timing_ = 0;
00132 meLedL1AmplOverPN_ = 0;
00133
00134 meLedL2_[0] = 0;
00135 meLedL2_[1] = 0;
00136 meLedL2PN_ = 0;
00137 meLedL2Ampl_ = 0;
00138 meLedL2Timing_ = 0;
00139 meLedL2AmplOverPN_ = 0;
00140
00141 mePedestalG01_[0] = 0;
00142 mePedestalG01_[1] = 0;
00143 mePedestalG06_[0] = 0;
00144 mePedestalG06_[1] = 0;
00145 mePedestalG12_[0] = 0;
00146 mePedestalG12_[1] = 0;
00147 mePedestalPNG01_ = 0;
00148 mePedestalPNG16_ = 0;
00149 meTestPulseG01_[0] = 0;
00150 meTestPulseG01_[1] = 0;
00151 meTestPulseG06_[0] = 0;
00152 meTestPulseG06_[1] = 0;
00153 meTestPulseG12_[0] = 0;
00154 meTestPulseG12_[1] = 0;
00155 meTestPulsePNG01_ = 0;
00156 meTestPulsePNG16_ = 0;
00157 meTestPulseAmplG01_ = 0;
00158 meTestPulseAmplG06_ = 0;
00159 meTestPulseAmplG12_ = 0;
00160 meGlobalSummary_[0] = 0;
00161 meGlobalSummary_[1] = 0;
00162
00163 meRecHitEnergy_[0] = 0;
00164 meRecHitEnergy_[1] = 0;
00165 meTiming_[0] = 0;
00166 meTiming_[1] = 0;
00167 meTimingMean1D_[0] = 0;
00168 meTimingMean1D_[1] = 0;
00169 meTimingRMS1D_[0] = 0;
00170 meTimingRMS1D_[1] = 0;
00171 meTimingMean_ = 0;
00172 meTimingRMS_ = 0;
00173
00174 meTriggerTowerEt_[0] = 0;
00175 meTriggerTowerEt_[1] = 0;
00176 meTriggerTowerEmulError_[0] = 0;
00177 meTriggerTowerEmulError_[1] = 0;
00178 meTriggerTowerTiming_[0] = 0;
00179 meTriggerTowerTiming_[1] = 0;
00180 meTriggerTowerNonSingleTiming_[0] = 0;
00181 meTriggerTowerNonSingleTiming_[1] = 0;
00182
00183
00184 meIntegrityErr_ = 0;
00185 meOccupancy1D_ = 0;
00186 meStatusFlagsErr_ = 0;
00187 mePedestalOnlineErr_ = 0;
00188 meLaserL1Err_ = 0;
00189 meLaserL1PNErr_ = 0;
00190 meLaserL2Err_ = 0;
00191 meLaserL2PNErr_ = 0;
00192 meLaserL3Err_ = 0;
00193 meLaserL3PNErr_ = 0;
00194 meLaserL4Err_ = 0;
00195 meLaserL4PNErr_ = 0;
00196 meLedL1Err_ = 0;
00197 meLedL1PNErr_ = 0;
00198 meLedL2Err_ = 0;
00199 meLedL2PNErr_ = 0;
00200
00201 for ( unsigned int i=0; i<superModules_.size(); i++ ) {
00202
00203 int ism = superModules_[i];
00204
00205 hpot01_[ism-1] = 0;
00206 httt01_[ism-1] = 0;
00207
00208 }
00209
00210 synchErrorThreshold_ = 0.0;
00211
00212 }
00213
00214 EESummaryClient::~EESummaryClient() {
00215
00216 }
00217
00218 void EESummaryClient::beginJob(void) {
00219
00220 dqmStore_ = edm::Service<DQMStore>().operator->();
00221
00222 if ( debug_ ) std::cout << "EESummaryClient: beginJob" << std::endl;
00223
00224 ievt_ = 0;
00225 jevt_ = 0;
00226
00227 }
00228
00229 void EESummaryClient::beginRun(void) {
00230
00231 if ( debug_ ) std::cout << "EESummaryClient: beginRun" << std::endl;
00232
00233 jevt_ = 0;
00234
00235 this->setup();
00236
00237 }
00238
00239 void EESummaryClient::endJob(void) {
00240
00241 if ( debug_ ) std::cout << "EESummaryClient: endJob, ievt = " << ievt_ << std::endl;
00242
00243 this->cleanup();
00244
00245 }
00246
00247 void EESummaryClient::endRun(void) {
00248
00249 if ( debug_ ) std::cout << "EESummaryClient: endRun, jevt = " << jevt_ << std::endl;
00250
00251 this->cleanup();
00252
00253 }
00254
00255 void EESummaryClient::setup(void) {
00256
00257 char histo[200];
00258
00259 dqmStore_->setCurrentFolder( prefixME_ + "/EESummaryClient" );
00260
00261 if ( meIntegrity_[0] ) dqmStore_->removeElement( meIntegrity_[0]->getName() );
00262 sprintf(histo, "EEIT EE - integrity quality summary");
00263 meIntegrity_[0] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
00264 meIntegrity_[0]->setAxisTitle("ix", 1);
00265 meIntegrity_[0]->setAxisTitle("iy", 2);
00266
00267 if ( meIntegrity_[1] ) dqmStore_->removeElement( meIntegrity_[1]->getName() );
00268 sprintf(histo, "EEIT EE + integrity quality summary");
00269 meIntegrity_[1] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
00270 meIntegrity_[1]->setAxisTitle("ix", 1);
00271 meIntegrity_[1]->setAxisTitle("iy", 2);
00272
00273 if ( meIntegrityErr_ ) dqmStore_->removeElement( meIntegrityErr_->getName() );
00274 sprintf(histo, "EEIT integrity quality errors summary");
00275 meIntegrityErr_ = dqmStore_->book1D(histo, histo, 18, 1, 19);
00276 for (int i = 0; i < 18; i++) {
00277 meIntegrityErr_->setBinLabel(i+1, Numbers::sEE(i+1).c_str(), 1);
00278 }
00279
00280 if ( meIntegrityPN_ ) dqmStore_->removeElement( meIntegrityPN_->getName() );
00281 sprintf(histo, "EEIT PN integrity quality summary");
00282 meIntegrityPN_ = dqmStore_->book2D(histo, histo, 45, 0., 45., 20, -10., 10.);
00283 meIntegrityPN_->setAxisTitle("jchannel", 1);
00284 meIntegrityPN_->setAxisTitle("jpseudo-strip", 2);
00285
00286 if ( meOccupancy_[0] ) dqmStore_->removeElement( meOccupancy_[0]->getName() );
00287 sprintf(histo, "EEOT EE - digi occupancy summary");
00288 meOccupancy_[0] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
00289 meOccupancy_[0]->setAxisTitle("ix", 1);
00290 meOccupancy_[0]->setAxisTitle("iy", 2);
00291
00292 if ( meOccupancy_[1] ) dqmStore_->removeElement( meOccupancy_[1]->getName() );
00293 sprintf(histo, "EEOT EE + digi occupancy summary");
00294 meOccupancy_[1] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
00295 meOccupancy_[1]->setAxisTitle("ix", 1);
00296 meOccupancy_[1]->setAxisTitle("iy", 2);
00297
00298 if ( meOccupancy1D_ ) dqmStore_->removeElement( meOccupancy1D_->getName() );
00299 sprintf(histo, "EEIT digi occupancy summary 1D");
00300 meOccupancy1D_ = dqmStore_->book1D(histo, histo, 18, 1, 19);
00301 for (int i = 0; i < 18; i++) {
00302 meOccupancy1D_->setBinLabel(i+1, Numbers::sEE(i+1).c_str(), 1);
00303 }
00304
00305 if ( meOccupancyPN_ ) dqmStore_->removeElement( meOccupancyPN_->getName() );
00306 sprintf(histo, "EEOT PN digi occupancy summary");
00307 meOccupancyPN_ = dqmStore_->book2D(histo, histo, 45, 0., 45., 20, -10., 10.);
00308 meOccupancyPN_->setAxisTitle("channel", 1);
00309 meOccupancyPN_->setAxisTitle("pseudo-strip", 2);
00310
00311 if ( meStatusFlags_[0] ) dqmStore_->removeElement( meStatusFlags_[0]->getName() );
00312 sprintf(histo, "EESFT EE - front-end status summary");
00313 meStatusFlags_[0] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
00314 meStatusFlags_[0]->setAxisTitle("ix", 1);
00315 meStatusFlags_[0]->setAxisTitle("iy", 2);
00316
00317 if ( meStatusFlags_[1] ) dqmStore_->removeElement( meStatusFlags_[1]->getName() );
00318 sprintf(histo, "EESFT EE + front-end status summary");
00319 meStatusFlags_[1] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
00320 meStatusFlags_[1]->setAxisTitle("ix", 1);
00321 meStatusFlags_[1]->setAxisTitle("iy", 2);
00322
00323 if ( meStatusFlagsErr_ ) dqmStore_->removeElement( meStatusFlagsErr_->getName() );
00324 sprintf(histo, "EESFT front-end status errors summary");
00325 meStatusFlagsErr_ = dqmStore_->book1D(histo, histo, 18, 1, 19);
00326 for (int i = 0; i < 18; i++) {
00327 meStatusFlagsErr_->setBinLabel(i+1, Numbers::sEE(i+1).c_str(), 1);
00328 }
00329
00330 if ( mePedestalOnline_[0] ) dqmStore_->removeElement( mePedestalOnline_[0]->getName() );
00331 sprintf(histo, "EEPOT EE - pedestal quality summary G12");
00332 mePedestalOnline_[0] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
00333 mePedestalOnline_[0]->setAxisTitle("ix", 1);
00334 mePedestalOnline_[0]->setAxisTitle("iy", 2);
00335
00336 if ( mePedestalOnline_[1] ) dqmStore_->removeElement( mePedestalOnline_[1]->getName() );
00337 sprintf(histo, "EEPOT EE + pedestal quality summary G12");
00338 mePedestalOnline_[1] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
00339 mePedestalOnline_[1]->setAxisTitle("ix", 1);
00340 mePedestalOnline_[1]->setAxisTitle("iy", 2);
00341
00342 if ( mePedestalOnlineRMSMap_[0] ) dqmStore_->removeElement( mePedestalOnlineRMSMap_[0]->getName() );
00343 sprintf(histo, "EEPOT EE - pedestal G12 RMS map");
00344 mePedestalOnlineRMSMap_[0] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
00345 mePedestalOnlineRMSMap_[0]->setAxisTitle("ix", 1);
00346 mePedestalOnlineRMSMap_[0]->setAxisTitle("iy", 2);
00347
00348 if ( mePedestalOnlineRMSMap_[1] ) dqmStore_->removeElement( mePedestalOnlineRMSMap_[1]->getName() );
00349 sprintf(histo, "EEPOT EE + pedestal G12 RMS map");
00350 mePedestalOnlineRMSMap_[1] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
00351 mePedestalOnlineRMSMap_[1]->setAxisTitle("ix", 1);
00352 mePedestalOnlineRMSMap_[1]->setAxisTitle("iy", 2);
00353
00354 if ( mePedestalOnlineMean_ ) dqmStore_->removeElement( mePedestalOnlineMean_->getName() );
00355 sprintf(histo, "EEPOT pedestal G12 mean");
00356 mePedestalOnlineMean_ = dqmStore_->bookProfile(histo, histo, 18, 1, 19, 100, 150., 250.);
00357 for (int i = 0; i < 18; i++) {
00358 mePedestalOnlineMean_->setBinLabel(i+1, Numbers::sEE(i+1).c_str(), 1);
00359 }
00360
00361 if ( mePedestalOnlineRMS_ ) dqmStore_->removeElement( mePedestalOnlineRMS_->getName() );
00362 sprintf(histo, "EEPOT pedestal G12 rms");
00363 mePedestalOnlineRMS_ = dqmStore_->bookProfile(histo, histo, 18, 1, 19, 100, 0., 10.);
00364 for (int i = 0; i < 18; i++) {
00365 mePedestalOnlineRMS_->setBinLabel(i+1, Numbers::sEE(i+1).c_str(), 1);
00366 }
00367
00368 if ( mePedestalOnlineErr_ ) dqmStore_->removeElement( mePedestalOnlineErr_->getName() );
00369 sprintf(histo, "EEPOT pedestal quality errors summary G12");
00370 mePedestalOnlineErr_ = dqmStore_->book1D(histo, histo, 18, 1, 19);
00371 for (int i = 0; i < 18; i++) {
00372 mePedestalOnlineErr_->setBinLabel(i+1, Numbers::sEE(i+1).c_str(), 1);
00373 }
00374
00375 if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 1) != laserWavelengths_.end() ) {
00376
00377 if ( meLaserL1_[0] ) dqmStore_->removeElement( meLaserL1_[0]->getName() );
00378 sprintf(histo, "EELT EE - laser quality summary L1");
00379 meLaserL1_[0] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
00380 meLaserL1_[0]->setAxisTitle("ix", 1);
00381 meLaserL1_[0]->setAxisTitle("iy", 2);
00382
00383 if ( meLaserL1_[1] ) dqmStore_->removeElement( meLaserL1_[1]->getName() );
00384 sprintf(histo, "EELT EE + laser quality summary L1");
00385 meLaserL1_[1] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
00386 meLaserL1_[1]->setAxisTitle("ix", 1);
00387 meLaserL1_[1]->setAxisTitle("iy", 2);
00388
00389 if ( meLaserL1Err_ ) dqmStore_->removeElement( meLaserL1Err_->getName() );
00390 sprintf(histo, "EELT laser quality errors summary L1");
00391 meLaserL1Err_ = dqmStore_->book1D(histo, histo, 18, 1, 19);
00392 for (int i = 0; i < 18; i++) {
00393 meLaserL1Err_->setBinLabel(i+1, Numbers::sEE(i+1).c_str(), 1);
00394 }
00395
00396 if ( meLaserL1PN_ ) dqmStore_->removeElement( meLaserL1PN_->getName() );
00397 sprintf(histo, "EELT PN laser quality summary L1");
00398 meLaserL1PN_ = dqmStore_->book2D(histo, histo, 45, 0., 45., 20, -10., 10.);
00399 meLaserL1PN_->setAxisTitle("jchannel", 1);
00400 meLaserL1PN_->setAxisTitle("jpseudo-strip", 2);
00401
00402 if ( meLaserL1PNErr_ ) dqmStore_->removeElement( meLaserL1PNErr_->getName() );
00403 sprintf(histo, "EELT PN laser quality errors summary L1");
00404 meLaserL1PNErr_ = dqmStore_->book1D(histo, histo, 18, 1, 19);
00405 for (int i = 0; i < 18; i++) {
00406 meLaserL1PNErr_->setBinLabel(i+1, Numbers::sEE(i+1).c_str(), 1);
00407 }
00408
00409 if ( meLaserL1Ampl_ ) dqmStore_->removeElement( meLaserL1Ampl_->getName() );
00410 sprintf(histo, "EELT laser L1 amplitude summary");
00411 meLaserL1Ampl_ = dqmStore_->bookProfile(histo, histo, 18, 1, 19, 4096, 0., 4096., "s");
00412 for (int i = 0; i < 18; i++) {
00413 meLaserL1Ampl_->setBinLabel(i+1, Numbers::sEE(i+1).c_str(), 1);
00414 }
00415
00416 if ( meLaserL1Timing_ ) dqmStore_->removeElement( meLaserL1Timing_->getName() );
00417 sprintf(histo, "EELT laser L1 timing summary");
00418 meLaserL1Timing_ = dqmStore_->bookProfile(histo, histo, 18, 1, 19, 100, 0., 10., "s");
00419 for (int i = 0; i < 18; i++) {
00420 meLaserL1Timing_->setBinLabel(i+1, Numbers::sEE(i+1).c_str(), 1);
00421 }
00422
00423 if ( meLaserL1AmplOverPN_ ) dqmStore_->removeElement( meLaserL1AmplOverPN_->getName() );
00424 sprintf(histo, "EELT laser L1 amplitude over PN summary");
00425 meLaserL1AmplOverPN_ = dqmStore_->bookProfile(histo, histo, 18, 1, 19, 4096, 0., 4096.*12., "s");
00426 for (int i = 0; i < 18; i++) {
00427 meLaserL1AmplOverPN_->setBinLabel(i+1, Numbers::sEE(i+1).c_str(), 1);
00428 }
00429
00430 }
00431
00432 if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 2) != laserWavelengths_.end() ) {
00433
00434 if ( meLaserL2_[0] ) dqmStore_->removeElement( meLaserL2_[0]->getName() );
00435 sprintf(histo, "EELT EE - laser quality summary L2");
00436 meLaserL2_[0] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
00437 meLaserL2_[0]->setAxisTitle("ix", 1);
00438 meLaserL2_[0]->setAxisTitle("iy", 2);
00439
00440 if ( meLaserL2_[1] ) dqmStore_->removeElement( meLaserL2_[1]->getName() );
00441 sprintf(histo, "EELT EE + laser quality summary L2");
00442 meLaserL2_[1] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
00443 meLaserL2_[1]->setAxisTitle("ix", 1);
00444 meLaserL2_[1]->setAxisTitle("iy", 2);
00445
00446 if ( meLaserL2Err_ ) dqmStore_->removeElement( meLaserL2Err_->getName() );
00447 sprintf(histo, "EELT laser quality errors summary L2");
00448 meLaserL2Err_ = dqmStore_->book1D(histo, histo, 18, 1, 19);
00449 for (int i = 0; i < 18; i++) {
00450 meLaserL2Err_->setBinLabel(i+1, Numbers::sEE(i+1).c_str(), 1);
00451 }
00452
00453 if ( meLaserL2PN_ ) dqmStore_->removeElement( meLaserL2PN_->getName() );
00454 sprintf(histo, "EELT PN laser quality summary L2");
00455 meLaserL2PN_ = dqmStore_->book2D(histo, histo, 45, 0., 45., 20, -10., 10.);
00456 meLaserL2PN_->setAxisTitle("jchannel", 1);
00457 meLaserL2PN_->setAxisTitle("jpseudo-strip", 2);
00458
00459 if ( meLaserL2PNErr_ ) dqmStore_->removeElement( meLaserL2PNErr_->getName() );
00460 sprintf(histo, "EELT PN laser quality errors summary L2");
00461 meLaserL2PNErr_ = dqmStore_->book1D(histo, histo, 18, 1, 19);
00462 for (int i = 0; i < 18; i++) {
00463 meLaserL2PNErr_->setBinLabel(i+1, Numbers::sEE(i+1).c_str(), 1);
00464 }
00465
00466 if ( meLaserL2Ampl_ ) dqmStore_->removeElement( meLaserL2Ampl_->getName() );
00467 sprintf(histo, "EELT laser L2 amplitude summary");
00468 meLaserL2Ampl_ = dqmStore_->bookProfile(histo, histo, 18, 1, 19, 4096, 0., 4096., "s");
00469 for (int i = 0; i < 18; i++) {
00470 meLaserL2Ampl_->setBinLabel(i+1, Numbers::sEE(i+1).c_str(), 1);
00471 }
00472
00473 if ( meLaserL2Timing_ ) dqmStore_->removeElement( meLaserL2Timing_->getName() );
00474 sprintf(histo, "EELT laser L2 timing summary");
00475 meLaserL2Timing_ = dqmStore_->bookProfile(histo, histo, 18, 1, 19, 100, 0., 10., "s");
00476 for (int i = 0; i < 18; i++) {
00477 meLaserL2Timing_->setBinLabel(i+1, Numbers::sEE(i+1).c_str(), 1);
00478 }
00479
00480 if ( meLaserL2AmplOverPN_ ) dqmStore_->removeElement( meLaserL2AmplOverPN_->getName() );
00481 sprintf(histo, "EELT laser L2 amplitude over PN summary");
00482 meLaserL2AmplOverPN_ = dqmStore_->bookProfile(histo, histo, 18, 1, 19, 4096, 0., 4096.*12., "s");
00483 for (int i = 0; i < 18; i++) {
00484 meLaserL2AmplOverPN_->setBinLabel(i+1, Numbers::sEE(i+1).c_str(), 1);
00485 }
00486
00487 }
00488
00489 if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 3) != laserWavelengths_.end() ) {
00490
00491 if ( meLaserL3_[0] ) dqmStore_->removeElement( meLaserL3_[0]->getName() );
00492 sprintf(histo, "EELT EE - laser quality summary L3");
00493 meLaserL3_[0] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
00494 meLaserL3_[0]->setAxisTitle("ix", 1);
00495 meLaserL3_[0]->setAxisTitle("iy", 2);
00496
00497 if ( meLaserL3_[1] ) dqmStore_->removeElement( meLaserL3_[1]->getName() );
00498 sprintf(histo, "EELT EE + laser quality summary L3");
00499 meLaserL3_[1] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
00500 meLaserL3_[1]->setAxisTitle("ix", 1);
00501 meLaserL3_[1]->setAxisTitle("iy", 2);
00502
00503 if ( meLaserL3Err_ ) dqmStore_->removeElement( meLaserL3Err_->getName() );
00504 sprintf(histo, "EELT laser quality errors summary L3");
00505 meLaserL3Err_ = dqmStore_->book1D(histo, histo, 18, 1, 19);
00506 for (int i = 0; i < 18; i++) {
00507 meLaserL3Err_->setBinLabel(i+1, Numbers::sEE(i+1).c_str(), 1);
00508 }
00509
00510 if ( meLaserL3PN_ ) dqmStore_->removeElement( meLaserL3PN_->getName() );
00511 sprintf(histo, "EELT PN laser quality summary L3");
00512 meLaserL3PN_ = dqmStore_->book2D(histo, histo, 45, 0., 45., 20, -10., 10.);
00513 meLaserL3PN_->setAxisTitle("jchannel", 1);
00514 meLaserL3PN_->setAxisTitle("jpseudo-strip", 2);
00515
00516 if ( meLaserL3PNErr_ ) dqmStore_->removeElement( meLaserL3PNErr_->getName() );
00517 sprintf(histo, "EELT PN laser quality errors summary L3");
00518 meLaserL3PNErr_ = dqmStore_->book1D(histo, histo, 18, 1, 19);
00519 for (int i = 0; i < 18; i++) {
00520 meLaserL3PNErr_->setBinLabel(i+1, Numbers::sEE(i+1).c_str(), 1);
00521 }
00522
00523 if ( meLaserL3Ampl_ ) dqmStore_->removeElement( meLaserL3Ampl_->getName() );
00524 sprintf(histo, "EELT laser L3 amplitude summary");
00525 meLaserL3Ampl_ = dqmStore_->bookProfile(histo, histo, 18, 1, 19, 4096, 0., 4096., "s");
00526 for (int i = 0; i < 18; i++) {
00527 meLaserL3Ampl_->setBinLabel(i+1, Numbers::sEE(i+1).c_str(), 1);
00528 }
00529
00530 if ( meLaserL3Timing_ ) dqmStore_->removeElement( meLaserL3Timing_->getName() );
00531 sprintf(histo, "EELT laser L3 timing summary");
00532 meLaserL3Timing_ = dqmStore_->bookProfile(histo, histo, 18, 1, 19, 100, 0., 10., "s");
00533 for (int i = 0; i < 18; i++) {
00534 meLaserL3Timing_->setBinLabel(i+1, Numbers::sEE(i+1).c_str(), 1);
00535 }
00536
00537 if ( meLaserL3AmplOverPN_ ) dqmStore_->removeElement( meLaserL3AmplOverPN_->getName() );
00538 sprintf(histo, "EELT laser L3 amplitude over PN summary");
00539 meLaserL3AmplOverPN_ = dqmStore_->bookProfile(histo, histo, 18, 1, 19, 4096, 0., 4096.*12., "s");
00540 for (int i = 0; i < 18; i++) {
00541 meLaserL3AmplOverPN_->setBinLabel(i+1, Numbers::sEE(i+1).c_str(), 1);
00542 }
00543
00544 }
00545
00546 if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 4) != laserWavelengths_.end() ) {
00547
00548 if ( meLaserL4_[0] ) dqmStore_->removeElement( meLaserL4_[0]->getName() );
00549 sprintf(histo, "EELT EE - laser quality summary L4");
00550 meLaserL4_[0] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
00551 meLaserL4_[0]->setAxisTitle("ix", 1);
00552 meLaserL4_[0]->setAxisTitle("iy", 2);
00553
00554 if ( meLaserL4_[1] ) dqmStore_->removeElement( meLaserL4_[1]->getName() );
00555 sprintf(histo, "EELT EE + laser quality summary L4");
00556 meLaserL4_[1] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
00557 meLaserL4_[1]->setAxisTitle("ix", 1);
00558 meLaserL4_[1]->setAxisTitle("iy", 2);
00559
00560 if ( meLaserL4Err_ ) dqmStore_->removeElement( meLaserL4Err_->getName() );
00561 sprintf(histo, "EELT laser quality errors summary L4");
00562 meLaserL4Err_ = dqmStore_->book1D(histo, histo, 18, 1, 19);
00563 for (int i = 0; i < 18; i++) {
00564 meLaserL4Err_->setBinLabel(i+1, Numbers::sEE(i+1).c_str(), 1);
00565 }
00566
00567 if ( meLaserL4PN_ ) dqmStore_->removeElement( meLaserL4PN_->getName() );
00568 sprintf(histo, "EELT PN laser quality summary L4");
00569 meLaserL4PN_ = dqmStore_->book2D(histo, histo, 45, 0., 45., 20, -10., 10.);
00570 meLaserL4PN_->setAxisTitle("jchannel", 1);
00571 meLaserL4PN_->setAxisTitle("jpseudo-strip", 2);
00572
00573 if ( meLaserL4PNErr_ ) dqmStore_->removeElement( meLaserL4PNErr_->getName() );
00574 sprintf(histo, "EELT PN laser quality errors summary L4");
00575 meLaserL4PNErr_ = dqmStore_->book1D(histo, histo, 18, 1, 19);
00576 for (int i = 0; i < 18; i++) {
00577 meLaserL4PNErr_->setBinLabel(i+1, Numbers::sEE(i+1).c_str(), 1);
00578 }
00579
00580 if ( meLaserL4Ampl_ ) dqmStore_->removeElement( meLaserL4Ampl_->getName() );
00581 sprintf(histo, "EELT laser L4 amplitude summary");
00582 meLaserL4Ampl_ = dqmStore_->bookProfile(histo, histo, 18, 1, 19, 4096, 0., 4096., "s");
00583 for (int i = 0; i < 18; i++) {
00584 meLaserL4Ampl_->setBinLabel(i+1, Numbers::sEE(i+1).c_str(), 1);
00585 }
00586
00587 if ( meLaserL4Timing_ ) dqmStore_->removeElement( meLaserL4Timing_->getName() );
00588 sprintf(histo, "EELT laser L4 timing summary");
00589 meLaserL4Timing_ = dqmStore_->bookProfile(histo, histo, 18, 1, 19, 100, 0., 10., "s");
00590 for (int i = 0; i < 18; i++) {
00591 meLaserL4Timing_->setBinLabel(i+1, Numbers::sEE(i+1).c_str(), 1);
00592 }
00593
00594 if ( meLaserL4AmplOverPN_ ) dqmStore_->removeElement( meLaserL4AmplOverPN_->getName() );
00595 sprintf(histo, "EELT laser L4 amplitude over PN summary");
00596 meLaserL4AmplOverPN_ = dqmStore_->bookProfile(histo, histo, 18, 1, 19, 4096, 0., 4096.*12., "s");
00597 for (int i = 0; i < 18; i++) {
00598 meLaserL4AmplOverPN_->setBinLabel(i+1, Numbers::sEE(i+1).c_str(), 1);
00599 }
00600
00601 }
00602
00603 if ( find(ledWavelengths_.begin(), ledWavelengths_.end(), 1) != ledWavelengths_.end() ) {
00604
00605 if ( meLedL1_[0] ) dqmStore_->removeElement( meLedL1_[0]->getName() );
00606 sprintf(histo, "EELDT EE - led quality summary L1");
00607 meLedL1_[0] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
00608 meLedL1_[0]->setAxisTitle("ix", 1);
00609 meLedL1_[0]->setAxisTitle("iy", 2);
00610
00611 if ( meLedL1_[1] ) dqmStore_->removeElement( meLedL1_[1]->getName() );
00612 sprintf(histo, "EELDT EE + led quality summary L1");
00613 meLedL1_[1] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
00614 meLedL1_[1]->setAxisTitle("ix", 1);
00615 meLedL1_[1]->setAxisTitle("iy", 2);
00616
00617 if ( meLedL1Err_ ) dqmStore_->removeElement( meLedL1Err_->getName() );
00618 sprintf(histo, "EELDT led quality errors summary L1");
00619 meLedL1Err_ = dqmStore_->book1D(histo, histo, 18, 1, 19);
00620 for (int i = 0; i < 18; i++) {
00621 meLedL1Err_->setBinLabel(i+1, Numbers::sEE(i+1).c_str(), 1);
00622 }
00623
00624 if ( meLedL1PN_ ) dqmStore_->removeElement( meLedL1PN_->getName() );
00625 sprintf(histo, "EELDT PN led quality summary L1");
00626 meLedL1PN_ = dqmStore_->book2D(histo, histo, 45, 0., 45., 20, -10., 10.);
00627 meLedL1PN_->setAxisTitle("jchannel", 1);
00628 meLedL1PN_->setAxisTitle("jpseudo-strip", 2);
00629
00630 if ( meLedL1PNErr_ ) dqmStore_->removeElement( meLedL1PNErr_->getName() );
00631 sprintf(histo, "EELDT PN led quality errors summary L1");
00632 meLedL1PNErr_ = dqmStore_->book1D(histo, histo, 18, 1, 19);
00633 for (int i = 0; i < 18; i++) {
00634 meLedL1PNErr_->setBinLabel(i+1, Numbers::sEE(i+1).c_str(), 1);
00635 }
00636
00637 if ( meLedL1Ampl_ ) dqmStore_->removeElement( meLedL1Ampl_->getName() );
00638 sprintf(histo, "EELDT led L1 amplitude summary");
00639 meLedL1Ampl_ = dqmStore_->bookProfile(histo, histo, 18, 1, 19, 4096, 0., 4096., "s");
00640 for (int i = 0; i < 18; i++) {
00641 meLedL1Ampl_->setBinLabel(i+1, Numbers::sEE(i+1).c_str(), 1);
00642 }
00643
00644 if ( meLedL1Timing_ ) dqmStore_->removeElement( meLedL1Timing_->getName() );
00645 sprintf(histo, "EELDT led L1 timing summary");
00646 meLedL1Timing_ = dqmStore_->bookProfile(histo, histo, 18, 1, 19, 100, 0., 10., "s");
00647 for (int i = 0; i < 18; i++) {
00648 meLedL1Timing_->setBinLabel(i+1, Numbers::sEE(i+1).c_str(), 1);
00649 }
00650
00651 if ( meLedL1AmplOverPN_ ) dqmStore_->removeElement( meLedL1AmplOverPN_->getName() );
00652 sprintf(histo, "EELDT led L1 amplitude over PN summary");
00653 meLedL1AmplOverPN_ = dqmStore_->bookProfile(histo, histo, 18, 1, 19, 4096, 0., 4096.*12., "s");
00654 for (int i = 0; i < 18; i++) {
00655 meLedL1AmplOverPN_->setBinLabel(i+1, Numbers::sEE(i+1).c_str(), 1);
00656 }
00657
00658 }
00659
00660 if ( find(ledWavelengths_.begin(), ledWavelengths_.end(), 2) != ledWavelengths_.end() ) {
00661
00662 if ( meLedL2_[0] ) dqmStore_->removeElement( meLedL2_[0]->getName() );
00663 sprintf(histo, "EELDT EE - led quality summary L2");
00664 meLedL2_[0] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
00665 meLedL2_[0]->setAxisTitle("ix", 1);
00666 meLedL2_[0]->setAxisTitle("iy", 2);
00667
00668 if ( meLedL2_[1] ) dqmStore_->removeElement( meLedL2_[1]->getName() );
00669 sprintf(histo, "EELDT EE + led quality summary L2");
00670 meLedL2_[1] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
00671 meLedL2_[1]->setAxisTitle("ix", 1);
00672 meLedL2_[1]->setAxisTitle("iy", 2);
00673
00674 if ( meLedL2Err_ ) dqmStore_->removeElement( meLedL2Err_->getName() );
00675 sprintf(histo, "EELDT led quality errors summary L2");
00676 meLedL2Err_ = dqmStore_->book1D(histo, histo, 18, 1, 19);
00677 for (int i = 0; i < 18; i++) {
00678 meLedL2Err_->setBinLabel(i+1, Numbers::sEE(i+1).c_str(), 1);
00679 }
00680
00681 if ( meLedL2PN_ ) dqmStore_->removeElement( meLedL2PN_->getName() );
00682 sprintf(histo, "EELDT PN led quality summary L2");
00683 meLedL2PN_ = dqmStore_->book2D(histo, histo, 45, 0., 45., 20, -10., 10.);
00684 meLedL2PN_->setAxisTitle("jchannel", 1);
00685 meLedL2PN_->setAxisTitle("jpseudo-strip", 2);
00686
00687 if ( meLedL2PNErr_ ) dqmStore_->removeElement( meLedL2PNErr_->getName() );
00688 sprintf(histo, "EELDT PN led quality errors summary L2");
00689 meLedL2PNErr_ = dqmStore_->book1D(histo, histo, 18, 1, 19);
00690 for (int i = 0; i < 18; i++) {
00691 meLedL2PNErr_->setBinLabel(i+1, Numbers::sEE(i+1).c_str(), 1);
00692 }
00693
00694 if ( meLedL2Ampl_ ) dqmStore_->removeElement( meLedL2Ampl_->getName() );
00695 sprintf(histo, "EELDT led L2 amplitude summary");
00696 meLedL2Ampl_ = dqmStore_->bookProfile(histo, histo, 18, 1, 19, 4096, 0., 4096., "s");
00697 for (int i = 0; i < 18; i++) {
00698 meLedL2Ampl_->setBinLabel(i+1, Numbers::sEE(i+1).c_str(), 1);
00699 }
00700
00701 if ( meLedL2Timing_ ) dqmStore_->removeElement( meLedL2Timing_->getName() );
00702 sprintf(histo, "EELDT led L2 timing summary");
00703 meLedL2Timing_ = dqmStore_->bookProfile(histo, histo, 18, 1, 19, 100, 0., 10., "s");
00704 for (int i = 0; i < 18; i++) {
00705 meLedL2Timing_->setBinLabel(i+1, Numbers::sEE(i+1).c_str(), 1);
00706 }
00707
00708 if ( meLedL2AmplOverPN_ ) dqmStore_->removeElement( meLedL2AmplOverPN_->getName() );
00709 sprintf(histo, "EELDT led L2 amplitude over PN summary");
00710 meLedL2AmplOverPN_ = dqmStore_->bookProfile(histo, histo, 18, 1, 19, 4096, 0., 4096.*12., "s");
00711 for (int i = 0; i < 18; i++) {
00712 meLedL2AmplOverPN_->setBinLabel(i+1, Numbers::sEE(i+1).c_str(), 1);
00713 }
00714
00715 }
00716
00717 if (find(MGPAGains_.begin(), MGPAGains_.end(), 1) != MGPAGains_.end() ) {
00718
00719 if( mePedestalG01_[0] ) dqmStore_->removeElement( mePedestalG01_[0]->getName() );
00720 sprintf(histo, "EEPT EE - pedestal quality G01 summary");
00721 mePedestalG01_[0] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
00722 mePedestalG01_[0]->setAxisTitle("ix", 1);
00723 mePedestalG01_[0]->setAxisTitle("iy", 2);
00724
00725 }
00726
00727 if (find(MGPAGains_.begin(), MGPAGains_.end(), 6) != MGPAGains_.end() ) {
00728
00729 if( mePedestalG06_[0] ) dqmStore_->removeElement( mePedestalG06_[0]->getName() );
00730 sprintf(histo, "EEPT EE - pedestal quality G06 summary");
00731 mePedestalG06_[0] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
00732 mePedestalG06_[0]->setAxisTitle("ix", 1);
00733 mePedestalG06_[0]->setAxisTitle("iy", 2);
00734
00735 }
00736
00737 if (find(MGPAGains_.begin(), MGPAGains_.end(), 12) != MGPAGains_.end() ) {
00738
00739 if( mePedestalG12_[0] ) dqmStore_->removeElement( mePedestalG12_[0]->getName() );
00740 sprintf(histo, "EEPT EE - pedestal quality G12 summary");
00741 mePedestalG12_[0] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
00742 mePedestalG12_[0]->setAxisTitle("ix", 1);
00743 mePedestalG12_[0]->setAxisTitle("iy", 2);
00744
00745 }
00746
00747
00748 if (find(MGPAGainsPN_.begin(), MGPAGainsPN_.end(), 1) != MGPAGainsPN_.end() ) {
00749
00750 if( mePedestalPNG01_ ) dqmStore_->removeElement( mePedestalPNG01_->getName() );
00751 sprintf(histo, "EEPT PN pedestal quality G01 summary");
00752 mePedestalPNG01_ = dqmStore_->book2D(histo, histo, 45, 0., 45., 20, -10, 10.);
00753 mePedestalPNG01_->setAxisTitle("jchannel", 1);
00754 mePedestalPNG01_->setAxisTitle("jpseudo-strip", 2);
00755
00756 }
00757
00758 if (find(MGPAGainsPN_.begin(), MGPAGainsPN_.end(), 16) != MGPAGainsPN_.end() ) {
00759
00760 if( mePedestalPNG16_ ) dqmStore_->removeElement( mePedestalPNG16_->getName() );
00761 sprintf(histo, "EEPT PN pedestal quality G16 summary");
00762 mePedestalPNG16_ = dqmStore_->book2D(histo, histo, 45, 0., 45., 20, -10, 10.);
00763 mePedestalPNG16_->setAxisTitle("jchannel", 1);
00764 mePedestalPNG16_->setAxisTitle("jpseudo-strip", 2);
00765
00766 }
00767
00768 if (find(MGPAGains_.begin(), MGPAGains_.end(), 1) != MGPAGains_.end() ) {
00769
00770 if( mePedestalG01_[1] ) dqmStore_->removeElement( mePedestalG01_[1]->getName() );
00771 sprintf(histo, "EEPT EE + pedestal quality G01 summary");
00772 mePedestalG01_[1] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
00773 mePedestalG01_[1]->setAxisTitle("ix", 1);
00774 mePedestalG01_[1]->setAxisTitle("iy", 2);
00775
00776 }
00777
00778
00779 if (find(MGPAGains_.begin(), MGPAGains_.end(), 6) != MGPAGains_.end() ) {
00780
00781 if( mePedestalG06_[1] ) dqmStore_->removeElement( mePedestalG06_[1]->getName() );
00782 sprintf(histo, "EEPT EE + pedestal quality G06 summary");
00783 mePedestalG06_[1] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
00784 mePedestalG06_[1]->setAxisTitle("ix", 1);
00785 mePedestalG06_[1]->setAxisTitle("iy", 2);
00786
00787 }
00788
00789 if (find(MGPAGains_.begin(), MGPAGains_.end(), 12) != MGPAGains_.end() ) {
00790
00791 if( mePedestalG12_[1] ) dqmStore_->removeElement( mePedestalG12_[1]->getName() );
00792 sprintf(histo, "EEPT EE + pedestal quality G12 summary");
00793 mePedestalG12_[1] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
00794 mePedestalG12_[1]->setAxisTitle("ix", 1);
00795 mePedestalG12_[1]->setAxisTitle("iy", 2);
00796
00797 }
00798
00799 if (find(MGPAGains_.begin(), MGPAGains_.end(), 1) != MGPAGains_.end() ) {
00800
00801 if( meTestPulseG01_[0] ) dqmStore_->removeElement( meTestPulseG01_[0]->getName() );
00802 sprintf(histo, "EETPT EE - test pulse quality G01 summary");
00803 meTestPulseG01_[0] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
00804 meTestPulseG01_[0]->setAxisTitle("ix", 1);
00805 meTestPulseG01_[0]->setAxisTitle("iy", 2);
00806
00807 }
00808
00809 if (find(MGPAGains_.begin(), MGPAGains_.end(), 6) != MGPAGains_.end() ) {
00810
00811 if( meTestPulseG06_[0] ) dqmStore_->removeElement( meTestPulseG06_[0]->getName() );
00812 sprintf(histo, "EETPT EE - test pulse quality G06 summary");
00813 meTestPulseG06_[0] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
00814 meTestPulseG06_[0]->setAxisTitle("ix", 1);
00815 meTestPulseG06_[0]->setAxisTitle("iy", 2);
00816
00817 }
00818
00819 if (find(MGPAGains_.begin(), MGPAGains_.end(), 12) != MGPAGains_.end() ) {
00820
00821 if( meTestPulseG12_[0] ) dqmStore_->removeElement( meTestPulseG12_[0]->getName() );
00822 sprintf(histo, "EETPT EE - test pulse quality G12 summary");
00823 meTestPulseG12_[0] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
00824 meTestPulseG12_[0]->setAxisTitle("ix", 1);
00825 meTestPulseG12_[0]->setAxisTitle("iy", 2);
00826
00827 }
00828
00829
00830 if (find(MGPAGainsPN_.begin(), MGPAGainsPN_.end(), 1) != MGPAGainsPN_.end() ) {
00831
00832 if( meTestPulsePNG01_ ) dqmStore_->removeElement( meTestPulsePNG01_->getName() );
00833 sprintf(histo, "EETPT PN test pulse quality G01 summary");
00834 meTestPulsePNG01_ = dqmStore_->book2D(histo, histo, 45, 0., 45., 20, -10., 10.);
00835 meTestPulsePNG01_->setAxisTitle("jchannel", 1);
00836 meTestPulsePNG01_->setAxisTitle("jpseudo-strip", 2);
00837
00838 }
00839
00840 if (find(MGPAGainsPN_.begin(), MGPAGainsPN_.end(), 16) != MGPAGainsPN_.end() ) {
00841
00842 if( meTestPulsePNG16_ ) dqmStore_->removeElement( meTestPulsePNG16_->getName() );
00843 sprintf(histo, "EETPT PN test pulse quality G16 summary");
00844 meTestPulsePNG16_ = dqmStore_->book2D(histo, histo, 45, 0., 45., 20, -10., 10.);
00845 meTestPulsePNG16_->setAxisTitle("jchannel", 1);
00846 meTestPulsePNG16_->setAxisTitle("jpseudo-strip", 2);
00847
00848 }
00849
00850 if (find(MGPAGains_.begin(), MGPAGains_.end(), 1) != MGPAGains_.end() ) {
00851
00852 if( meTestPulseG01_[1] ) dqmStore_->removeElement( meTestPulseG01_[1]->getName() );
00853 sprintf(histo, "EETPT EE + test pulse quality G01 summary");
00854 meTestPulseG01_[1] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
00855 meTestPulseG01_[1]->setAxisTitle("ix", 1);
00856 meTestPulseG01_[1]->setAxisTitle("iy", 2);
00857
00858 }
00859
00860 if (find(MGPAGains_.begin(), MGPAGains_.end(), 6) != MGPAGains_.end() ) {
00861
00862 if( meTestPulseG06_[1] ) dqmStore_->removeElement( meTestPulseG06_[1]->getName() );
00863 sprintf(histo, "EETPT EE + test pulse quality G06 summary");
00864 meTestPulseG06_[1] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
00865 meTestPulseG06_[1]->setAxisTitle("ix", 1);
00866 meTestPulseG06_[1]->setAxisTitle("iy", 2);
00867
00868 }
00869
00870 if (find(MGPAGains_.begin(), MGPAGains_.end(), 12) != MGPAGains_.end() ) {
00871
00872 if( meTestPulseG12_[1] ) dqmStore_->removeElement( meTestPulseG12_[1]->getName() );
00873 sprintf(histo, "EETPT EE + test pulse quality G12 summary");
00874 meTestPulseG12_[1] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
00875 meTestPulseG12_[1]->setAxisTitle("ix", 1);
00876 meTestPulseG12_[1]->setAxisTitle("iy", 2);
00877
00878 }
00879
00880 if (find(MGPAGains_.begin(), MGPAGains_.end(), 1) != MGPAGains_.end() ) {
00881
00882 if( meTestPulseAmplG01_ ) dqmStore_->removeElement( meTestPulseAmplG01_->getName() );
00883 sprintf(histo, "EETPT test pulse amplitude G01 summary");
00884 meTestPulseAmplG01_ = dqmStore_->bookProfile(histo, histo, 18, 1, 19, 4096, 0., 4096.*12., "s");
00885 for (int i = 0; i < 18; i++) {
00886 meTestPulseAmplG01_->setBinLabel(i+1, Numbers::sEE(i+1).c_str(), 1);
00887 }
00888
00889 }
00890
00891 if (find(MGPAGains_.begin(), MGPAGains_.end(), 6) != MGPAGains_.end() ) {
00892
00893 if( meTestPulseAmplG06_ ) dqmStore_->removeElement( meTestPulseAmplG06_->getName() );
00894 sprintf(histo, "EETPT test pulse amplitude G06 summary");
00895 meTestPulseAmplG06_ = dqmStore_->bookProfile(histo, histo, 18, 1, 19, 4096, 0., 4096.*12., "s");
00896 for (int i = 0; i < 18; i++) {
00897 meTestPulseAmplG06_->setBinLabel(i+1, Numbers::sEE(i+1).c_str(), 1);
00898 }
00899
00900 }
00901
00902 if (find(MGPAGains_.begin(), MGPAGains_.end(), 12) != MGPAGains_.end() ) {
00903
00904 if( meTestPulseAmplG12_ ) dqmStore_->removeElement( meTestPulseAmplG12_->getName() );
00905 sprintf(histo, "EETPT test pulse amplitude G12 summary");
00906 meTestPulseAmplG12_ = dqmStore_->bookProfile(histo, histo, 18, 1, 19, 4096, 0., 4096.*12., "s");
00907 for (int i = 0; i < 18; i++) {
00908 meTestPulseAmplG12_->setBinLabel(i+1, Numbers::sEE(i+1).c_str(), 1);
00909 }
00910
00911 }
00912
00913 if( meRecHitEnergy_[0] ) dqmStore_->removeElement( meRecHitEnergy_[0]->getName() );
00914 sprintf(histo, "EEOT EE - energy summary");
00915 meRecHitEnergy_[0] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
00916 meRecHitEnergy_[0]->setAxisTitle("ix", 1);
00917 meRecHitEnergy_[0]->setAxisTitle("iy", 2);
00918
00919 if( meRecHitEnergy_[1] ) dqmStore_->removeElement( meRecHitEnergy_[1]->getName() );
00920 sprintf(histo, "EEOT EE + energy summary");
00921 meRecHitEnergy_[1] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
00922 meRecHitEnergy_[1]->setAxisTitle("ix", 1);
00923 meRecHitEnergy_[1]->setAxisTitle("iy", 2);
00924
00925 if( meTiming_[0] ) dqmStore_->removeElement( meTiming_[0]->getName() );
00926 sprintf(histo, "EETMT EE - timing quality summary");
00927 meTiming_[0] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
00928 meTiming_[0]->setAxisTitle("ix", 1);
00929 meTiming_[0]->setAxisTitle("iy", 2);
00930
00931 if( meTiming_[1] ) dqmStore_->removeElement( meTiming_[1]->getName() );
00932 sprintf(histo, "EETMT EE + timing quality summary");
00933 meTiming_[1] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
00934 meTiming_[1]->setAxisTitle("ix", 1);
00935 meTiming_[1]->setAxisTitle("iy", 2);
00936
00937 if( meTimingMean1D_[0] ) dqmStore_->removeElement( meTimingMean1D_[0]->getName() );
00938 sprintf(histo, "EETMT EE - timing mean 1D summary");
00939 meTimingMean1D_[0] = dqmStore_->book1D(histo, histo, 100, -50., 50.);
00940 meTimingMean1D_[0]->setAxisTitle("mean (ns)", 1);
00941
00942 if( meTimingMean1D_[1] ) dqmStore_->removeElement( meTimingMean1D_[1]->getName() );
00943 sprintf(histo, "EETMT EE + timing mean 1D summary");
00944 meTimingMean1D_[1] = dqmStore_->book1D(histo, histo, 100, -50., 50.);
00945 meTimingMean1D_[1]->setAxisTitle("mean (ns)", 1);
00946
00947 if( meTimingRMS1D_[0] ) dqmStore_->removeElement( meTimingRMS1D_[0]->getName() );
00948 sprintf(histo, "EETMT EE - timing rms 1D summary");
00949 meTimingRMS1D_[0] = dqmStore_->book1D(histo, histo, 100, 0.0, 150.0);
00950 meTimingRMS1D_[0]->setAxisTitle("rms (ns)", 1);
00951
00952 if( meTimingRMS1D_[1] ) dqmStore_->removeElement( meTimingRMS1D_[1]->getName() );
00953 sprintf(histo, "EETMT EE + timing rms 1D summary");
00954 meTimingRMS1D_[1] = dqmStore_->book1D(histo, histo, 100, 0.0, 150.0);
00955 meTimingRMS1D_[1]->setAxisTitle("rms (ns)", 1);
00956
00957 if ( meTimingMean_ ) dqmStore_->removeElement( meTimingMean_->getName() );
00958 sprintf(histo, "EETMT timing mean");
00959 meTimingMean_ = dqmStore_->bookProfile(histo, histo, 18, 1, 19, 100, -50., 50.);
00960 for (int i = 0; i < 18; i++) {
00961 meTimingMean_->setBinLabel(i+1, Numbers::sEE(i+1).c_str(), 1);
00962 }
00963 meTimingMean_->setAxisTitle("mean (ns)", 2);
00964
00965 if ( meTimingRMS_ ) dqmStore_->removeElement( meTimingRMS_->getName() );
00966 sprintf(histo, "EETMT timing rms");
00967 meTimingRMS_ = dqmStore_->bookProfile(histo, histo, 18, 1, 19, 100, 0., 35.);
00968 for (int i = 0; i < 18; i++) {
00969 meTimingRMS_->setBinLabel(i+1, Numbers::sEE(i+1).c_str(), 1);
00970 }
00971 meTimingRMS_->setAxisTitle("rms (ns)", 2);
00972
00973 if( meTriggerTowerEt_[0] ) dqmStore_->removeElement( meTriggerTowerEt_[0]->getName() );
00974 sprintf(histo, "EETTT EE - Et trigger tower summary");
00975 meTriggerTowerEt_[0] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
00976 meTriggerTowerEt_[0]->setAxisTitle("ix", 1);
00977 meTriggerTowerEt_[0]->setAxisTitle("iy", 2);
00978
00979 if( meTriggerTowerEt_[1] ) dqmStore_->removeElement( meTriggerTowerEt_[1]->getName() );
00980 sprintf(histo, "EETTT EE + Et trigger tower summary");
00981 meTriggerTowerEt_[1] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
00982 meTriggerTowerEt_[1]->setAxisTitle("ix", 1);
00983 meTriggerTowerEt_[1]->setAxisTitle("iy", 2);
00984
00985 if( meTriggerTowerEmulError_[0] ) dqmStore_->removeElement( meTriggerTowerEmulError_[0]->getName() );
00986 sprintf(histo, "EETTT EE - emulator error quality summary");
00987 meTriggerTowerEmulError_[0] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
00988 meTriggerTowerEmulError_[0]->setAxisTitle("ix", 1);
00989 meTriggerTowerEmulError_[0]->setAxisTitle("iy", 2);
00990
00991 if( meTriggerTowerEmulError_[1] ) dqmStore_->removeElement( meTriggerTowerEmulError_[1]->getName() );
00992 sprintf(histo, "EETTT EE + emulator error quality summary");
00993 meTriggerTowerEmulError_[1] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
00994 meTriggerTowerEmulError_[1]->setAxisTitle("ix", 1);
00995 meTriggerTowerEmulError_[1]->setAxisTitle("iy", 2);
00996
00997 if( meTriggerTowerTiming_[0] ) dqmStore_->removeElement( meTriggerTowerTiming_[0]->getName() );
00998 sprintf(histo, "EETTT EE - Trigger Primitives Timing summary");
00999 meTriggerTowerTiming_[0] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
01000 meTriggerTowerTiming_[0]->setAxisTitle("ix", 1);
01001 meTriggerTowerTiming_[0]->setAxisTitle("iy", 2);
01002 meTriggerTowerTiming_[0]->setAxisTitle("TP data matching emulator", 3);
01003
01004 if( meTriggerTowerTiming_[1] ) dqmStore_->removeElement( meTriggerTowerTiming_[1]->getName() );
01005 sprintf(histo, "EETTT EE + Trigger Primitives Timing summary");
01006 meTriggerTowerTiming_[1] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
01007 meTriggerTowerTiming_[1]->setAxisTitle("ix", 1);
01008 meTriggerTowerTiming_[1]->setAxisTitle("iy", 2);
01009 meTriggerTowerTiming_[1]->setAxisTitle("TP data matching emulator", 3);
01010
01011 if( meTriggerTowerNonSingleTiming_[0] ) dqmStore_->removeElement( meTriggerTowerNonSingleTiming_[0]->getName() );
01012 sprintf(histo, "EETTT EE - Trigger Primitives Non Single Timing summary");
01013 meTriggerTowerNonSingleTiming_[0] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
01014 meTriggerTowerNonSingleTiming_[0]->setAxisTitle("ix", 1);
01015 meTriggerTowerNonSingleTiming_[0]->setAxisTitle("iy", 2);
01016 meTriggerTowerNonSingleTiming_[0]->setAxisTitle("fraction", 3);
01017
01018 if( meTriggerTowerNonSingleTiming_[1] ) dqmStore_->removeElement( meTriggerTowerNonSingleTiming_[1]->getName() );
01019 sprintf(histo, "EETTT EE + Trigger Primitives Non Single Timing summary");
01020 meTriggerTowerNonSingleTiming_[1] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
01021 meTriggerTowerNonSingleTiming_[1]->setAxisTitle("ix", 1);
01022 meTriggerTowerNonSingleTiming_[1]->setAxisTitle("iy", 2);
01023 meTriggerTowerNonSingleTiming_[1]->setAxisTitle("fraction", 3);
01024
01025 if( meGlobalSummary_[0] ) dqmStore_->removeElement( meGlobalSummary_[0]->getName() );
01026 sprintf(histo, "EE global summary EE -");
01027 meGlobalSummary_[0] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
01028 meGlobalSummary_[0]->setAxisTitle("ix", 1);
01029 meGlobalSummary_[0]->setAxisTitle("iy", 2);
01030
01031 if( meGlobalSummary_[1] ) dqmStore_->removeElement( meGlobalSummary_[1]->getName() );
01032 sprintf(histo, "EE global summary EE +");
01033 meGlobalSummary_[1] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
01034 meGlobalSummary_[1]->setAxisTitle("ix", 1);
01035 meGlobalSummary_[1]->setAxisTitle("iy", 2);
01036
01037 }
01038
01039 void EESummaryClient::cleanup(void) {
01040
01041 if ( ! enableCleanup_ ) return;
01042
01043 dqmStore_->setCurrentFolder( prefixME_ + "/EESummaryClient" );
01044
01045 for ( unsigned int i=0; i<superModules_.size(); i++ ) {
01046
01047 int ism = superModules_[i];
01048
01049 if ( cloneME_ ) {
01050 if ( hpot01_[ism-1] ) delete hpot01_[ism-1];
01051 if ( httt01_[ism-1] ) delete httt01_[ism-1];
01052 }
01053
01054 hpot01_[ism-1] = 0;
01055 httt01_[ism-1] = 0;
01056
01057 }
01058
01059 if ( meIntegrity_[0] ) dqmStore_->removeElement( meIntegrity_[0]->getName() );
01060 meIntegrity_[0] = 0;
01061
01062 if ( meIntegrity_[1] ) dqmStore_->removeElement( meIntegrity_[1]->getName() );
01063 meIntegrity_[1] = 0;
01064
01065 if ( meIntegrityErr_ ) dqmStore_->removeElement( meIntegrityErr_->getName() );
01066 meIntegrityErr_ = 0;
01067
01068 if ( meIntegrityPN_ ) dqmStore_->removeElement( meIntegrityPN_->getName() );
01069 meIntegrityPN_ = 0;
01070
01071 if ( meOccupancy_[0] ) dqmStore_->removeElement( meOccupancy_[0]->getName() );
01072 meOccupancy_[0] = 0;
01073
01074 if ( meOccupancy_[1] ) dqmStore_->removeElement( meOccupancy_[1]->getName() );
01075 meOccupancy_[1] = 0;
01076
01077 if ( meOccupancy1D_ ) dqmStore_->removeElement( meOccupancy1D_->getName() );
01078 meOccupancy1D_ = 0;
01079
01080 if ( meOccupancyPN_ ) dqmStore_->removeElement( meOccupancyPN_->getName() );
01081 meOccupancyPN_ = 0;
01082
01083 if ( meStatusFlags_[0] ) dqmStore_->removeElement( meStatusFlags_[0]->getName() );
01084 meStatusFlags_[0] = 0;
01085
01086 if ( meStatusFlags_[1] ) dqmStore_->removeElement( meStatusFlags_[1]->getName() );
01087 meStatusFlags_[1] = 0;
01088
01089 if ( meStatusFlagsErr_ ) dqmStore_->removeElement( meStatusFlagsErr_->getName() );
01090 meStatusFlagsErr_ = 0;
01091
01092 if ( mePedestalOnline_[0] ) dqmStore_->removeElement( mePedestalOnline_[0]->getName() );
01093 mePedestalOnline_[0] = 0;
01094
01095 if ( mePedestalOnline_[1] ) dqmStore_->removeElement( mePedestalOnline_[1]->getName() );
01096 mePedestalOnline_[1] = 0;
01097
01098 if ( mePedestalOnlineErr_ ) dqmStore_->removeElement( mePedestalOnlineErr_->getName() );
01099 mePedestalOnlineErr_ = 0;
01100
01101 if ( mePedestalOnlineMean_ ) dqmStore_->removeElement( mePedestalOnlineMean_->getName() );
01102 mePedestalOnlineMean_ = 0;
01103
01104 if ( mePedestalOnlineRMS_ ) dqmStore_->removeElement( mePedestalOnlineRMS_->getName() );
01105 mePedestalOnlineRMS_ = 0;
01106
01107 if ( mePedestalOnlineRMSMap_[0] ) dqmStore_->removeElement( mePedestalOnlineRMSMap_[0]->getName() );
01108 mePedestalOnlineRMSMap_[0] = 0;
01109
01110 if ( mePedestalOnlineRMSMap_[1] ) dqmStore_->removeElement( mePedestalOnlineRMSMap_[1]->getName() );
01111 mePedestalOnlineRMSMap_[1] = 0;
01112
01113 if ( meLaserL1_[0] ) dqmStore_->removeElement( meLaserL1_[0]->getName() );
01114 meLaserL1_[0] = 0;
01115
01116 if ( meLaserL1_[1] ) dqmStore_->removeElement( meLaserL1_[1]->getName() );
01117 meLaserL1_[1] = 0;
01118
01119 if ( meLaserL1Err_ ) dqmStore_->removeElement( meLaserL1Err_->getName() );
01120 meLaserL1Err_ = 0;
01121
01122 if ( meLaserL1PN_ ) dqmStore_->removeElement( meLaserL1PN_->getName() );
01123 meLaserL1PN_ = 0;
01124
01125 if ( meLaserL1PNErr_ ) dqmStore_->removeElement( meLaserL1PNErr_->getName() );
01126 meLaserL1PNErr_ = 0;
01127
01128 if ( meLaserL1Ampl_ ) dqmStore_->removeElement( meLaserL1Ampl_->getName() );
01129 meLaserL1Ampl_ = 0;
01130
01131 if ( meLaserL1Timing_ ) dqmStore_->removeElement( meLaserL1Timing_->getName() );
01132 meLaserL1Timing_ = 0;
01133
01134 if ( meLaserL1AmplOverPN_ ) dqmStore_->removeElement( meLaserL1AmplOverPN_->getName() );
01135 meLaserL1AmplOverPN_ = 0;
01136
01137 if ( meLaserL2_[0] ) dqmStore_->removeElement( meLaserL2_[0]->getName() );
01138 meLaserL2_[0] = 0;
01139
01140 if ( meLaserL2_[1] ) dqmStore_->removeElement( meLaserL2_[1]->getName() );
01141 meLaserL2_[1] = 0;
01142
01143 if ( meLaserL2Err_ ) dqmStore_->removeElement( meLaserL2Err_->getName() );
01144 meLaserL2Err_ = 0;
01145
01146 if ( meLaserL2PN_ ) dqmStore_->removeElement( meLaserL2PN_->getName() );
01147 meLaserL2PN_ = 0;
01148
01149 if ( meLaserL2PNErr_ ) dqmStore_->removeElement( meLaserL2PNErr_->getName() );
01150 meLaserL2PNErr_ = 0;
01151
01152 if ( meLaserL2Ampl_ ) dqmStore_->removeElement( meLaserL2Ampl_->getName() );
01153 meLaserL2Ampl_ = 0;
01154
01155 if ( meLaserL2Timing_ ) dqmStore_->removeElement( meLaserL2Timing_->getName() );
01156 meLaserL2Timing_ = 0;
01157
01158 if ( meLaserL2AmplOverPN_ ) dqmStore_->removeElement( meLaserL2AmplOverPN_->getName() );
01159 meLaserL2AmplOverPN_ = 0;
01160
01161 if ( meLaserL3_[0] ) dqmStore_->removeElement( meLaserL3_[0]->getName() );
01162 meLaserL3_[0] = 0;
01163
01164 if ( meLaserL3_[1] ) dqmStore_->removeElement( meLaserL3_[1]->getName() );
01165 meLaserL3_[1] = 0;
01166
01167 if ( meLaserL3Err_ ) dqmStore_->removeElement( meLaserL3Err_->getName() );
01168 meLaserL3Err_ = 0;
01169
01170 if ( meLaserL3PN_ ) dqmStore_->removeElement( meLaserL3PN_->getName() );
01171 meLaserL3PN_ = 0;
01172
01173 if ( meLaserL3PNErr_ ) dqmStore_->removeElement( meLaserL3PNErr_->getName() );
01174 meLaserL3PNErr_ = 0;
01175
01176 if ( meLaserL3Ampl_ ) dqmStore_->removeElement( meLaserL3Ampl_->getName() );
01177 meLaserL3Ampl_ = 0;
01178
01179 if ( meLaserL3Timing_ ) dqmStore_->removeElement( meLaserL3Timing_->getName() );
01180 meLaserL3Timing_ = 0;
01181
01182 if ( meLaserL3AmplOverPN_ ) dqmStore_->removeElement( meLaserL3AmplOverPN_->getName() );
01183 meLaserL3AmplOverPN_ = 0;
01184
01185 if ( meLaserL4_[0] ) dqmStore_->removeElement( meLaserL4_[0]->getName() );
01186 meLaserL4_[0] = 0;
01187
01188 if ( meLaserL4_[1] ) dqmStore_->removeElement( meLaserL4_[1]->getName() );
01189 meLaserL4_[1] = 0;
01190
01191 if ( meLaserL4Err_ ) dqmStore_->removeElement( meLaserL4Err_->getName() );
01192 meLaserL4Err_ = 0;
01193
01194 if ( meLaserL4PN_ ) dqmStore_->removeElement( meLaserL4PN_->getName() );
01195 meLaserL4PN_ = 0;
01196
01197 if ( meLaserL4PNErr_ ) dqmStore_->removeElement( meLaserL4PNErr_->getName() );
01198 meLaserL4PNErr_ = 0;
01199
01200 if ( meLaserL4Ampl_ ) dqmStore_->removeElement( meLaserL4Ampl_->getName() );
01201 meLaserL4Ampl_ = 0;
01202
01203 if ( meLaserL4Timing_ ) dqmStore_->removeElement( meLaserL4Timing_->getName() );
01204 meLaserL4Timing_ = 0;
01205
01206 if ( meLaserL4AmplOverPN_ ) dqmStore_->removeElement( meLaserL4AmplOverPN_->getName() );
01207 meLaserL4AmplOverPN_ = 0;
01208
01209 if ( meLedL1_[0] ) dqmStore_->removeElement( meLedL1_[0]->getName() );
01210 meLedL1_[0] = 0;
01211
01212 if ( meLedL1_[1] ) dqmStore_->removeElement( meLedL1_[1]->getName() );
01213 meLedL1_[1] = 0;
01214
01215 if ( meLedL1Err_ ) dqmStore_->removeElement( meLedL1Err_->getName() );
01216 meLedL1Err_ = 0;
01217
01218 if ( meLedL1PN_ ) dqmStore_->removeElement( meLedL1PN_->getName() );
01219 meLedL1PN_ = 0;
01220
01221 if ( meLedL1PNErr_ ) dqmStore_->removeElement( meLedL1PNErr_->getName() );
01222 meLedL1PNErr_ = 0;
01223
01224 if ( meLedL1Ampl_ ) dqmStore_->removeElement( meLedL1Ampl_->getName() );
01225 meLedL1Ampl_ = 0;
01226
01227 if ( meLedL1Timing_ ) dqmStore_->removeElement( meLedL1Timing_->getName() );
01228 meLedL1Timing_ = 0;
01229
01230 if ( meLedL1AmplOverPN_ ) dqmStore_->removeElement( meLedL1AmplOverPN_->getName() );
01231 meLedL1AmplOverPN_ = 0;
01232
01233 if ( meLedL2_[0] ) dqmStore_->removeElement( meLedL2_[0]->getName() );
01234 meLedL2_[0] = 0;
01235
01236 if ( meLedL2_[1] ) dqmStore_->removeElement( meLedL2_[1]->getName() );
01237 meLedL2_[1] = 0;
01238
01239 if ( meLedL2Err_ ) dqmStore_->removeElement( meLedL2Err_->getName() );
01240 meLedL2Err_ = 0;
01241
01242 if ( meLedL2PN_ ) dqmStore_->removeElement( meLedL2PN_->getName() );
01243 meLedL2PN_ = 0;
01244
01245 if ( meLedL2PNErr_ ) dqmStore_->removeElement( meLedL2PNErr_->getName() );
01246 meLedL2PNErr_ = 0;
01247
01248 if ( meLedL2Ampl_ ) dqmStore_->removeElement( meLedL2Ampl_->getName() );
01249 meLedL2Ampl_ = 0;
01250
01251 if ( meLedL2Timing_ ) dqmStore_->removeElement( meLedL2Timing_->getName() );
01252 meLedL2Timing_ = 0;
01253
01254 if ( meLedL2AmplOverPN_ ) dqmStore_->removeElement( meLedL2AmplOverPN_->getName() );
01255 meLedL2AmplOverPN_ = 0;
01256
01257 if ( mePedestalG01_[0] ) dqmStore_->removeElement( mePedestalG01_[0]->getName() );
01258 mePedestalG01_[0] = 0;
01259
01260 if ( mePedestalG01_[1] ) dqmStore_->removeElement( mePedestalG01_[1]->getName() );
01261 mePedestalG01_[1] = 0;
01262
01263 if ( mePedestalG06_[0] ) dqmStore_->removeElement( mePedestalG06_[0]->getName() );
01264 mePedestalG06_[0] = 0;
01265
01266 if ( mePedestalG06_[1] ) dqmStore_->removeElement( mePedestalG06_[1]->getName() );
01267 mePedestalG06_[1] = 0;
01268
01269 if ( mePedestalG12_[0] ) dqmStore_->removeElement( mePedestalG12_[0]->getName() );
01270 mePedestalG12_[0] = 0;
01271
01272 if ( mePedestalG12_[1] ) dqmStore_->removeElement( mePedestalG12_[1]->getName() );
01273 mePedestalG12_[1] = 0;
01274
01275 if ( mePedestalPNG01_ ) dqmStore_->removeElement( mePedestalPNG01_->getName() );
01276 mePedestalPNG01_ = 0;
01277
01278 if ( mePedestalPNG16_ ) dqmStore_->removeElement( mePedestalPNG16_->getName() );
01279 mePedestalPNG16_ = 0;
01280
01281 if ( meTestPulseG01_[0] ) dqmStore_->removeElement( meTestPulseG01_[0]->getName() );
01282 meTestPulseG01_[0] = 0;
01283
01284 if ( meTestPulseG01_[1] ) dqmStore_->removeElement( meTestPulseG01_[1]->getName() );
01285 meTestPulseG01_[1] = 0;
01286
01287 if ( meTestPulseG06_[0] ) dqmStore_->removeElement( meTestPulseG06_[0]->getName() );
01288 meTestPulseG06_[0] = 0;
01289
01290 if ( meTestPulseG06_[1] ) dqmStore_->removeElement( meTestPulseG06_[1]->getName() );
01291 meTestPulseG06_[1] = 0;
01292
01293 if ( meTestPulseG12_[0] ) dqmStore_->removeElement( meTestPulseG12_[0]->getName() );
01294 meTestPulseG12_[0] = 0;
01295
01296 if ( meTestPulseG12_[1] ) dqmStore_->removeElement( meTestPulseG12_[1]->getName() );
01297 meTestPulseG12_[1] = 0;
01298
01299 if ( meTestPulsePNG01_ ) dqmStore_->removeElement( meTestPulsePNG01_->getName() );
01300 meTestPulsePNG01_ = 0;
01301
01302 if ( meTestPulsePNG16_ ) dqmStore_->removeElement( meTestPulsePNG16_->getName() );
01303 meTestPulsePNG16_ = 0;
01304
01305 if ( meTestPulseAmplG01_ ) dqmStore_->removeElement( meTestPulseAmplG01_->getName() );
01306 meTestPulseAmplG01_ = 0;
01307
01308 if ( meTestPulseAmplG06_ ) dqmStore_->removeElement( meTestPulseAmplG06_->getName() );
01309 meTestPulseAmplG06_ = 0;
01310
01311 if ( meTestPulseAmplG12_ ) dqmStore_->removeElement( meTestPulseAmplG12_->getName() );
01312 meTestPulseAmplG12_ = 0;
01313
01314 if ( meRecHitEnergy_[0] ) dqmStore_->removeElement( meRecHitEnergy_[0]->getName() );
01315 meRecHitEnergy_[0] = 0;
01316
01317 if ( meRecHitEnergy_[1] ) dqmStore_->removeElement( meRecHitEnergy_[1]->getName() );
01318 meRecHitEnergy_[1] = 0;
01319
01320 if ( meTiming_[0] ) dqmStore_->removeElement( meTiming_[0]->getName() );
01321 meTiming_[0] = 0;
01322
01323 if ( meTiming_[1] ) dqmStore_->removeElement( meTiming_[1]->getName() );
01324 meTiming_[1] = 0;
01325
01326 if ( meTimingMean1D_[0] ) dqmStore_->removeElement( meTimingMean1D_[0]->getName() );
01327 meTimingMean1D_[0] = 0;
01328
01329 if ( meTimingMean1D_[1] ) dqmStore_->removeElement( meTimingMean1D_[1]->getName() );
01330 meTimingMean1D_[1] = 0;
01331
01332 if ( meTimingRMS1D_[0] ) dqmStore_->removeElement( meTimingRMS1D_[0]->getName() );
01333 meTimingRMS1D_[0] = 0;
01334
01335 if ( meTimingRMS1D_[1] ) dqmStore_->removeElement( meTimingRMS1D_[1]->getName() );
01336 meTimingRMS1D_[1] = 0;
01337
01338 if ( meTriggerTowerEt_[0] ) dqmStore_->removeElement( meTriggerTowerEt_[0]->getName() );
01339 meTriggerTowerEt_[0] = 0;
01340
01341 if ( meTriggerTowerEt_[1] ) dqmStore_->removeElement( meTriggerTowerEt_[1]->getName() );
01342 meTriggerTowerEt_[1] = 0;
01343
01344 if ( meTriggerTowerEmulError_[0] ) dqmStore_->removeElement( meTriggerTowerEmulError_[0]->getName() );
01345 meTriggerTowerEmulError_[0] = 0;
01346
01347 if ( meTriggerTowerEmulError_[1] ) dqmStore_->removeElement( meTriggerTowerEmulError_[1]->getName() );
01348 meTriggerTowerEmulError_[1] = 0;
01349
01350 if ( meTriggerTowerTiming_[0] ) dqmStore_->removeElement( meTriggerTowerTiming_[0]->getName() );
01351 meTriggerTowerTiming_[0] = 0;
01352
01353 if ( meTriggerTowerTiming_[1] ) dqmStore_->removeElement( meTriggerTowerTiming_[1]->getName() );
01354 meTriggerTowerTiming_[1] = 0;
01355
01356 if ( meTriggerTowerNonSingleTiming_[0] ) dqmStore_->removeElement( meTriggerTowerNonSingleTiming_[0]->getName() );
01357 meTriggerTowerNonSingleTiming_[0] = 0;
01358
01359 if ( meTriggerTowerNonSingleTiming_[1] ) dqmStore_->removeElement( meTriggerTowerNonSingleTiming_[1]->getName() );
01360 meTriggerTowerNonSingleTiming_[1] = 0;
01361
01362 if ( meGlobalSummary_[0] ) dqmStore_->removeElement( meGlobalSummary_[0]->getName() );
01363 meGlobalSummary_[0] = 0;
01364
01365 if ( meGlobalSummary_[1] ) dqmStore_->removeElement( meGlobalSummary_[1]->getName() );
01366 meGlobalSummary_[1] = 0;
01367
01368 }
01369
01370 #ifdef WITH_ECAL_COND_DB
01371 bool EESummaryClient::writeDb(EcalCondDBInterface* econn, RunIOV* runiov, MonRunIOV* moniov, bool& status) {
01372
01373 status = true;
01374
01375 return true;
01376
01377 }
01378 #endif
01379
01380 void EESummaryClient::analyze(void) {
01381
01382 ievt_++;
01383 jevt_++;
01384 if ( ievt_ % 10 == 0 ) {
01385 if ( debug_ ) std::cout << "EESummaryClient: ievt/jevt = " << ievt_ << "/" << jevt_ << std::endl;
01386 }
01387
01388 for ( int ix = 1; ix <= 100; ix++ ) {
01389 for ( int iy = 1; iy <= 100; iy++ ) {
01390
01391 if ( meIntegrity_[0] ) meIntegrity_[0]->setBinContent( ix, iy, 6. );
01392 if ( meIntegrity_[1] ) meIntegrity_[1]->setBinContent( ix, iy, 6. );
01393 if ( meOccupancy_[0] ) meOccupancy_[0]->setBinContent( ix, iy, 0. );
01394 if ( meOccupancy_[1] ) meOccupancy_[1]->setBinContent( ix, iy, 0. );
01395 if ( meStatusFlags_[0] ) meStatusFlags_[0]->setBinContent( ix, iy, 6. );
01396 if ( meStatusFlags_[1] ) meStatusFlags_[1]->setBinContent( ix, iy, 6. );
01397 if ( mePedestalOnline_[0] ) mePedestalOnline_[0]->setBinContent( ix, iy, 6. );
01398 if ( mePedestalOnline_[1] ) mePedestalOnline_[1]->setBinContent( ix, iy, 6. );
01399 if ( mePedestalOnlineRMSMap_[0] ) mePedestalOnlineRMSMap_[0]->setBinContent( ix, iy, -1. );
01400 if ( mePedestalOnlineRMSMap_[1] ) mePedestalOnlineRMSMap_[1]->setBinContent( ix, iy, -1. );
01401
01402 if ( meLaserL1_[0] ) meLaserL1_[0]->setBinContent( ix, iy, 6. );
01403 if ( meLaserL1_[1] ) meLaserL1_[1]->setBinContent( ix, iy, 6. );
01404 if ( meLaserL2_[0] ) meLaserL2_[0]->setBinContent( ix, iy, 6. );
01405 if ( meLaserL2_[1] ) meLaserL2_[1]->setBinContent( ix, iy, 6. );
01406 if ( meLaserL3_[0] ) meLaserL3_[0]->setBinContent( ix, iy, 6. );
01407 if ( meLaserL3_[1] ) meLaserL3_[1]->setBinContent( ix, iy, 6. );
01408 if ( meLaserL4_[0] ) meLaserL4_[0]->setBinContent( ix, iy, 6. );
01409 if ( meLaserL4_[1] ) meLaserL4_[1]->setBinContent( ix, iy, 6. );
01410 if ( meLedL1_[0] ) meLedL1_[0]->setBinContent( ix, iy, 6. );
01411 if ( meLedL1_[1] ) meLedL1_[1]->setBinContent( ix, iy, 6. );
01412 if ( meLedL2_[0] ) meLedL2_[0]->setBinContent( ix, iy, 6. );
01413 if ( meLedL2_[1] ) meLedL2_[1]->setBinContent( ix, iy, 6. );
01414 if ( mePedestalG01_[0] ) mePedestalG01_[0]->setBinContent( ix, iy, 6. );
01415 if ( mePedestalG01_[1] ) mePedestalG01_[1]->setBinContent( ix, iy, 6. );
01416 if ( mePedestalG06_[0] ) mePedestalG06_[0]->setBinContent( ix, iy, 6. );
01417 if ( mePedestalG06_[1] ) mePedestalG06_[1]->setBinContent( ix, iy, 6. );
01418 if ( mePedestalG12_[0] ) mePedestalG12_[0]->setBinContent( ix, iy, 6. );
01419 if ( mePedestalG12_[1] ) mePedestalG12_[1]->setBinContent( ix, iy, 6. );
01420 if ( meTestPulseG01_[0] ) meTestPulseG01_[0]->setBinContent( ix, iy, 6. );
01421 if ( meTestPulseG01_[1] ) meTestPulseG01_[1]->setBinContent( ix, iy, 6. );
01422 if ( meTestPulseG06_[0] ) meTestPulseG06_[0]->setBinContent( ix, iy, 6. );
01423 if ( meTestPulseG06_[1] ) meTestPulseG06_[1]->setBinContent( ix, iy, 6. );
01424 if ( meTestPulseG12_[0] ) meTestPulseG12_[0]->setBinContent( ix, iy, 6. );
01425 if ( meTestPulseG12_[1] ) meTestPulseG12_[1]->setBinContent( ix, iy, 6. );
01426 if ( meRecHitEnergy_[0] ) meRecHitEnergy_[0]->setBinContent( ix, iy, 0. );
01427 if ( meRecHitEnergy_[1] ) meRecHitEnergy_[1]->setBinContent( ix, iy, 0. );
01428 if ( meTiming_[0] ) meTiming_[0]->setBinContent( ix, iy, 6. );
01429 if ( meTiming_[1] ) meTiming_[1]->setBinContent( ix, iy, 6. );
01430
01431 if ( meGlobalSummary_[0] ) meGlobalSummary_[0]->setBinContent( ix, iy, 6. );
01432 if ( meGlobalSummary_[1] ) meGlobalSummary_[1]->setBinContent( ix, iy, 6. );
01433
01434 }
01435 }
01436
01437
01438 for ( int ix = 1; ix <= 45; ix++ ) {
01439 for ( int iy = 1; iy <= 20; iy++ ) {
01440
01441 if ( meIntegrityPN_ ) meIntegrityPN_->setBinContent( ix, iy, 6. );
01442 if ( meOccupancyPN_ ) meOccupancyPN_->setBinContent( ix, iy, 0. );
01443 if ( meLaserL1PN_ ) meLaserL1PN_->setBinContent( ix, iy, 6. );
01444 if ( meLaserL2PN_ ) meLaserL2PN_->setBinContent( ix, iy, 6. );
01445 if ( meLaserL3PN_ ) meLaserL3PN_->setBinContent( ix, iy, 6. );
01446 if ( meLaserL4PN_ ) meLaserL4PN_->setBinContent( ix, iy, 6. );
01447 if ( meLedL1PN_ ) meLedL1PN_->setBinContent( ix, iy, 6. );
01448 if ( meLedL2PN_ ) meLedL2PN_->setBinContent( ix, iy, 6. );
01449 if ( mePedestalPNG01_ ) mePedestalPNG01_->setBinContent( ix, iy, 6. );
01450 if ( mePedestalPNG16_ ) mePedestalPNG16_->setBinContent( ix, iy, 6. );
01451 if ( meTestPulsePNG01_ ) meTestPulsePNG01_->setBinContent( ix, iy, 6. );
01452 if ( meTestPulsePNG16_ ) meTestPulsePNG16_->setBinContent( ix, iy, 6. );
01453
01454 }
01455 }
01456
01457 for ( int ix = 1; ix <= 100; ix++ ) {
01458 for ( int iy = 1; iy <= 100; iy++ ) {
01459 if ( meTriggerTowerEt_[0] ) meTriggerTowerEt_[0]->setBinContent( ix, iy, 0. );
01460 if ( meTriggerTowerEt_[1] ) meTriggerTowerEt_[1]->setBinContent( ix, iy, 0. );
01461 if ( meTriggerTowerEmulError_[0] ) meTriggerTowerEmulError_[0]->setBinContent( ix, iy, 6. );
01462 if ( meTriggerTowerEmulError_[1] ) meTriggerTowerEmulError_[1]->setBinContent( ix, iy, 6. );
01463 if ( meTriggerTowerTiming_[0] ) meTriggerTowerTiming_[0]->setBinContent( ix, iy, 0. );
01464 if ( meTriggerTowerTiming_[1] ) meTriggerTowerTiming_[1]->setBinContent( ix, iy, 0. );
01465 if ( meTriggerTowerNonSingleTiming_[0] ) meTriggerTowerNonSingleTiming_[0]->setBinContent( ix, iy, -1 );
01466 if ( meTriggerTowerNonSingleTiming_[1] ) meTriggerTowerNonSingleTiming_[1]->setBinContent( ix, iy, -1 );
01467 }
01468 }
01469
01470 if ( meIntegrity_[0] ) meIntegrity_[0]->setEntries( 0 );
01471 if ( meIntegrity_[1] ) meIntegrity_[1]->setEntries( 0 );
01472 if ( meIntegrityErr_ ) meIntegrityErr_->Reset();
01473 if ( meIntegrityPN_ ) meIntegrityPN_->setEntries( 0 );
01474 if ( meOccupancy_[0] ) meOccupancy_[0]->setEntries( 0 );
01475 if ( meOccupancy_[1] ) meOccupancy_[1]->setEntries( 0 );
01476 if ( meOccupancy1D_ ) meOccupancy1D_->Reset();
01477 if ( meOccupancyPN_ ) meOccupancyPN_->setEntries( 0 );
01478 if ( meStatusFlags_[0] ) meStatusFlags_[0]->setEntries( 0 );
01479 if ( meStatusFlags_[1] ) meStatusFlags_[1]->setEntries( 0 );
01480 if ( meStatusFlagsErr_ ) meStatusFlagsErr_->Reset();
01481 if ( mePedestalOnline_[0] ) mePedestalOnline_[0]->setEntries( 0 );
01482 if ( mePedestalOnline_[1] ) mePedestalOnline_[1]->setEntries( 0 );
01483 if ( mePedestalOnlineErr_ ) mePedestalOnlineErr_->Reset();
01484 if ( mePedestalOnlineMean_ ) mePedestalOnlineMean_->Reset();
01485 if ( mePedestalOnlineRMS_ ) mePedestalOnlineRMS_->Reset();
01486 if ( meLaserL1_[0] ) meLaserL1_[0]->setEntries( 0 );
01487 if ( meLaserL1_[1] ) meLaserL1_[1]->setEntries( 0 );
01488 if ( meLaserL1Err_ ) meLaserL1Err_->Reset();
01489 if ( meLaserL1PN_ ) meLaserL1PN_->setEntries( 0 );
01490 if ( meLaserL1PNErr_ ) meLaserL1PNErr_->Reset();
01491 if ( meLaserL1Ampl_ ) meLaserL1Ampl_->Reset();
01492 if ( meLaserL1Timing_ ) meLaserL1Timing_->Reset();
01493 if ( meLaserL1AmplOverPN_ ) meLaserL1AmplOverPN_->Reset();
01494 if ( meLaserL2_[0] ) meLaserL2_[0]->setEntries( 0 );
01495 if ( meLaserL2_[1] ) meLaserL2_[1]->setEntries( 0 );
01496 if ( meLaserL2Err_ ) meLaserL2Err_->Reset();
01497 if ( meLaserL2PN_ ) meLaserL2PN_->setEntries( 0 );
01498 if ( meLaserL2PNErr_ ) meLaserL2PNErr_->Reset();
01499 if ( meLaserL2Ampl_ ) meLaserL2Ampl_->Reset();
01500 if ( meLaserL2Timing_ ) meLaserL2Timing_->Reset();
01501 if ( meLaserL2AmplOverPN_ ) meLaserL2AmplOverPN_->Reset();
01502 if ( meLaserL3_[0] ) meLaserL3_[0]->setEntries( 0 );
01503 if ( meLaserL3_[1] ) meLaserL3_[1]->setEntries( 0 );
01504 if ( meLaserL3Err_ ) meLaserL3Err_->Reset();
01505 if ( meLaserL3PN_ ) meLaserL3PN_->setEntries( 0 );
01506 if ( meLaserL3PNErr_ ) meLaserL3PNErr_->Reset();
01507 if ( meLaserL3Ampl_ ) meLaserL3Ampl_->Reset();
01508 if ( meLaserL3Timing_ ) meLaserL3Timing_->Reset();
01509 if ( meLaserL3AmplOverPN_ ) meLaserL3AmplOverPN_->Reset();
01510 if ( meLaserL4_[0] ) meLaserL4_[0]->setEntries( 0 );
01511 if ( meLaserL4_[1] ) meLaserL4_[1]->setEntries( 0 );
01512 if ( meLaserL4Err_ ) meLaserL4Err_->Reset();
01513 if ( meLaserL4PN_ ) meLaserL4PN_->setEntries( 0 );
01514 if ( meLaserL4PNErr_ ) meLaserL4PNErr_->Reset();
01515 if ( meLaserL4Ampl_ ) meLaserL4Ampl_->Reset();
01516 if ( meLaserL4Timing_ ) meLaserL4Timing_->Reset();
01517 if ( meLaserL4AmplOverPN_ ) meLaserL4AmplOverPN_->Reset();
01518 if ( meLedL1_[0] ) meLedL1_[0]->setEntries( 0 );
01519 if ( meLedL1_[1] ) meLedL1_[1]->setEntries( 0 );
01520 if ( meLedL1Err_ ) meLedL1Err_->Reset();
01521 if ( meLedL1PN_ ) meLedL1PN_->setEntries( 0 );
01522 if ( meLedL1PNErr_ ) meLedL1PNErr_->Reset();
01523 if ( meLedL1Ampl_ ) meLedL1Ampl_->Reset();
01524 if ( meLedL1Timing_ ) meLedL1Timing_->Reset();
01525 if ( meLedL1AmplOverPN_ ) meLedL1AmplOverPN_->Reset();
01526 if ( meLedL2_[0] ) meLedL2_[0]->setEntries( 0 );
01527 if ( meLedL2_[1] ) meLedL2_[1]->setEntries( 0 );
01528 if ( meLedL2Err_ ) meLedL2Err_->Reset();
01529 if ( meLedL2PN_ ) meLedL2PN_->setEntries( 0 );
01530 if ( meLedL2PNErr_ ) meLedL2PNErr_->Reset();
01531 if ( meLedL2Ampl_ ) meLedL2Ampl_->Reset();
01532 if ( meLedL2Timing_ ) meLedL2Timing_->Reset();
01533 if ( meLedL2AmplOverPN_ ) meLedL2AmplOverPN_->Reset();
01534 if ( mePedestalG01_[0] ) mePedestalG01_[0]->setEntries( 0 );
01535 if ( mePedestalG01_[1] ) mePedestalG01_[1]->setEntries( 0 );
01536 if ( mePedestalG06_[0] ) mePedestalG06_[0]->setEntries( 0 );
01537 if ( mePedestalG06_[1] ) mePedestalG06_[1]->setEntries( 0 );
01538 if ( mePedestalG12_[0] ) mePedestalG12_[0]->setEntries( 0 );
01539 if ( mePedestalG12_[1] ) mePedestalG12_[1]->setEntries( 0 );
01540 if ( mePedestalPNG01_ ) mePedestalPNG01_->setEntries( 0 );
01541 if ( mePedestalPNG16_ ) mePedestalPNG16_->setEntries( 0 );
01542 if ( meTestPulseG01_[0] ) meTestPulseG01_[0]->setEntries( 0 );
01543 if ( meTestPulseG01_[1] ) meTestPulseG01_[1]->setEntries( 0 );
01544 if ( meTestPulseG06_[0] ) meTestPulseG06_[0]->setEntries( 0 );
01545 if ( meTestPulseG06_[1] ) meTestPulseG06_[1]->setEntries( 0 );
01546 if ( meTestPulseG12_[0] ) meTestPulseG12_[0]->setEntries( 0 );
01547 if ( meTestPulseG12_[1] ) meTestPulseG12_[1]->setEntries( 0 );
01548 if ( meTestPulsePNG01_ ) meTestPulsePNG01_->setEntries( 0 );
01549 if ( meTestPulsePNG16_ ) meTestPulsePNG16_->setEntries( 0 );
01550 if ( meTestPulseAmplG01_ ) meTestPulseAmplG01_->Reset();
01551 if ( meTestPulseAmplG06_ ) meTestPulseAmplG06_->Reset();
01552 if ( meTestPulseAmplG12_ ) meTestPulseAmplG12_->Reset();
01553
01554 if ( meRecHitEnergy_[0] ) meRecHitEnergy_[0]->setEntries( 0 );
01555 if ( meRecHitEnergy_[1] ) meRecHitEnergy_[1]->setEntries( 0 );
01556 if ( meTiming_[0] ) meTiming_[0]->setEntries( 0 );
01557 if ( meTiming_[1] ) meTiming_[1]->setEntries( 0 );
01558 if ( meTimingMean1D_[0] ) meTimingMean1D_[0]->Reset();
01559 if ( meTimingMean1D_[1] ) meTimingMean1D_[1]->Reset();
01560 if ( meTimingRMS1D_[0] ) meTimingRMS1D_[0]->Reset();
01561 if ( meTimingRMS1D_[1] ) meTimingRMS1D_[1]->Reset();
01562 if ( meTimingMean_ ) meTimingMean_->Reset();
01563 if ( meTimingRMS_ ) meTimingRMS_->Reset();
01564 if ( meTriggerTowerEt_[0] ) meTriggerTowerEt_[0]->setEntries( 0 );
01565 if ( meTriggerTowerEt_[1] ) meTriggerTowerEt_[1]->setEntries( 0 );
01566 if ( meTriggerTowerEmulError_[0] ) meTriggerTowerEmulError_[0]->setEntries( 0 );
01567 if ( meTriggerTowerEmulError_[1] ) meTriggerTowerEmulError_[1]->setEntries( 0 );
01568 if ( meTriggerTowerTiming_[0] ) meTriggerTowerTiming_[0]->setEntries( 0 );
01569 if ( meTriggerTowerTiming_[1] ) meTriggerTowerTiming_[1]->setEntries( 0 );
01570 if ( meTriggerTowerNonSingleTiming_[0] ) meTriggerTowerNonSingleTiming_[0]->setEntries( 0 );
01571 if ( meTriggerTowerNonSingleTiming_[1] ) meTriggerTowerNonSingleTiming_[1]->setEntries( 0 );
01572
01573 if ( meGlobalSummary_[0] ) meGlobalSummary_[0]->setEntries( 0 );
01574 if ( meGlobalSummary_[1] ) meGlobalSummary_[1]->setEntries( 0 );
01575
01576 for ( unsigned int i=0; i<clients_.size(); i++ ) {
01577
01578 EEIntegrityClient* eeic = dynamic_cast<EEIntegrityClient*>(clients_[i]);
01579 EEStatusFlagsClient* eesfc = dynamic_cast<EEStatusFlagsClient*>(clients_[i]);
01580 EEPedestalOnlineClient* eepoc = dynamic_cast<EEPedestalOnlineClient*>(clients_[i]);
01581
01582 EELaserClient* eelc = dynamic_cast<EELaserClient*>(clients_[i]);
01583 EELedClient* eeldc = dynamic_cast<EELedClient*>(clients_[i]);
01584 EEPedestalClient* eepc = dynamic_cast<EEPedestalClient*>(clients_[i]);
01585 EETestPulseClient* eetpc = dynamic_cast<EETestPulseClient*>(clients_[i]);
01586
01587 EETimingClient* eetmc = dynamic_cast<EETimingClient*>(clients_[i]);
01588 EETriggerTowerClient* eetttc = dynamic_cast<EETriggerTowerClient*>(clients_[i]);
01589
01590 MonitorElement *me;
01591 MonitorElement *me_01, *me_02, *me_03;
01592 MonitorElement *me_04, *me_05;
01593
01594 TH2F* h2;
01595 TH2F* h3;
01596
01597 for ( unsigned int i=0; i<superModules_.size(); i++ ) {
01598
01599 int ism = superModules_[i];
01600
01601 char histo[200];
01602
01603 sprintf(histo, (prefixME_ + "/EEOccupancyTask/EEOT rec hit energy %s").c_str(), Numbers::sEE(ism).c_str());
01604 me = dqmStore_->get(histo);
01605 hot01_[ism-1] = UtilsClient::getHisto<TProfile2D*>( me, cloneME_, hot01_[ism-1] );
01606
01607 sprintf(histo, (prefixME_ + "/EEPedestalOnlineTask/Gain12/EEPOT pedestal %s G12").c_str(), Numbers::sEE(ism).c_str());
01608 me = dqmStore_->get(histo);
01609 hpot01_[ism-1] = UtilsClient::getHisto<TProfile2D*>( me, cloneME_, hpot01_[ism-1] );
01610
01611 sprintf(histo, (prefixME_ + "/EETriggerTowerTask/EETTT Et map Real Digis %s").c_str(), Numbers::sEE(ism).c_str());
01612 me = dqmStore_->get(histo);
01613 httt01_[ism-1] = UtilsClient::getHisto<TProfile2D*>( me, cloneME_, httt01_[ism-1] );
01614
01615 sprintf(histo, (prefixME_ + "/EETimingTask/EETMT timing %s").c_str(), Numbers::sEE(ism).c_str());
01616 me = dqmStore_->get(histo);
01617 htmt01_[ism-1] = UtilsClient::getHisto<TProfile2D*>( me, cloneME_, htmt01_[ism-1] );
01618
01619 sprintf(histo, (prefixME_ + "/EcalInfo/EEMM DCC").c_str());
01620 me = dqmStore_->get(histo);
01621 norm01_ = UtilsClient::getHisto<TH1F*>( me, cloneME_, norm01_ );
01622
01623 sprintf(histo, (prefixME_ + "/EERawDataTask/EERDT L1A FE errors").c_str());
01624 me = dqmStore_->get(histo);
01625 synch01_ = UtilsClient::getHisto<TH1F*>( me, cloneME_, synch01_ );
01626
01627 for ( int ix = 1; ix <= 50; ix++ ) {
01628 for ( int iy = 1; iy <= 50; iy++ ) {
01629
01630 int jx = ix + Numbers::ix0EE(ism);
01631 int jy = iy + Numbers::iy0EE(ism);
01632
01633 if ( ism >= 1 && ism <= 9 ) {
01634 if ( ! Numbers::validEE(ism, 101 - jx, jy) ) continue;
01635 } else {
01636 if ( ! Numbers::validEE(ism, jx, jy) ) continue;
01637 }
01638
01639 if ( eeic ) {
01640
01641 me = eeic->meg01_[ism-1];
01642
01643 if ( me ) {
01644
01645 float xval = me->getBinContent( ix, iy );
01646
01647 if ( ism >= 1 && ism <= 9 ) {
01648 meIntegrity_[0]->setBinContent( 101 - jx, jy, xval );
01649 } else {
01650 meIntegrity_[1]->setBinContent( jx, jy, xval );
01651 }
01652
01653 if ( xval == 0 ) meIntegrityErr_->Fill( ism );
01654
01655 }
01656
01657 h2 = eeic->h_[ism-1];
01658
01659 if ( h2 ) {
01660
01661 float xval = h2->GetBinContent( ix, iy );
01662
01663 if ( ism >= 1 && ism <= 9 ) {
01664 if ( xval != 0 ) meOccupancy_[0]->setBinContent( 101 - jx, jy, xval );
01665 } else {
01666 if ( xval != 0 ) meOccupancy_[1]->setBinContent( jx, jy, xval );
01667 }
01668
01669 meOccupancy1D_->Fill( ism, xval );
01670
01671 }
01672
01673 }
01674
01675 if ( eepoc ) {
01676
01677 me = eepoc->meg03_[ism-1];
01678
01679 if ( me ) {
01680
01681 float xval = me->getBinContent( ix, iy );
01682
01683 if ( ism >= 1 && ism <= 9 ) {
01684 mePedestalOnline_[0]->setBinContent( 101 - jx, jy, xval );
01685 } else {
01686 mePedestalOnline_[1]->setBinContent( jx, jy, xval );
01687 }
01688
01689 if ( xval == 0 ) mePedestalOnlineErr_->Fill( ism );
01690
01691 }
01692
01693 float num01, mean01, rms01;
01694 bool update01 = UtilsClient::getBinStatistics(hpot01_[ism-1], ix, iy, num01, mean01, rms01);
01695
01696 if ( update01 ) {
01697
01698 mePedestalOnlineRMS_->Fill( ism, rms01 );
01699 mePedestalOnlineMean_->Fill( ism, mean01 );
01700
01701 if ( ism >= 1 && ism <= 9 ) {
01702 mePedestalOnlineRMSMap_[0]->setBinContent( 101 - jx, jy, rms01 );
01703 } else {
01704 mePedestalOnlineRMSMap_[1]->setBinContent( jx, jy, rms01 );
01705 }
01706
01707 }
01708
01709 }
01710
01711 if ( eelc ) {
01712
01713 if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 1) != laserWavelengths_.end() ) {
01714
01715 me = eelc->meg01_[ism-1];
01716
01717 if ( me ) {
01718
01719 float xval = me->getBinContent( ix, iy );
01720
01721 if ( me->getEntries() != 0 ) {
01722 if ( ism >= 1 && ism <= 9 ) {
01723 meLaserL1_[0]->setBinContent( 101 - jx, jy, xval );
01724 } else {
01725 meLaserL1_[1]->setBinContent( jx, jy, xval );
01726 }
01727
01728 if ( xval == 0 ) meLaserL1Err_->Fill( ism );
01729 }
01730
01731 }
01732
01733 }
01734
01735 if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 2) != laserWavelengths_.end() ) {
01736
01737 me = eelc->meg02_[ism-1];
01738
01739 if ( me ) {
01740
01741 float xval = me->getBinContent( ix, iy );
01742
01743 if ( me->getEntries() != 0 ) {
01744 if ( ism >= 1 && ism <= 9 ) {
01745 meLaserL2_[0]->setBinContent( 101 - jx, jy, xval );
01746 } else {
01747 meLaserL2_[1]->setBinContent( jx, jy, xval );
01748 }
01749
01750 if ( xval == 0 ) meLaserL2Err_->Fill( ism );
01751 }
01752
01753 }
01754
01755 }
01756
01757 if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 3) != laserWavelengths_.end() ) {
01758
01759 me = eelc->meg03_[ism-1];
01760
01761 if ( me ) {
01762
01763 float xval = me->getBinContent( ix, iy );
01764
01765 if ( me->getEntries() != 0 ) {
01766 if ( ism >= 1 && ism <= 9 ) {
01767 meLaserL3_[0]->setBinContent( 101 - jx, jy, xval );
01768 } else {
01769 meLaserL3_[1]->setBinContent( jx, jy, xval );
01770 }
01771
01772 if ( xval == 0 ) meLaserL3Err_->Fill( ism );
01773 }
01774
01775 }
01776
01777 }
01778
01779 if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 4) != laserWavelengths_.end() ) {
01780
01781 me = eelc->meg04_[ism-1];
01782
01783 if ( me ) {
01784
01785 float xval = me->getBinContent( ix, iy );
01786
01787 if ( me->getEntries() != 0 ) {
01788 if ( ism >= 1 && ism <= 9 ) {
01789 meLaserL4_[0]->setBinContent( 101 - jx, jy, xval );
01790 } else {
01791 meLaserL4_[1]->setBinContent( jx, jy, xval );
01792 }
01793
01794 if ( xval == 0 ) meLaserL4Err_->Fill( ism );
01795 }
01796
01797 }
01798
01799 }
01800
01801 }
01802
01803 if ( eeldc ) {
01804
01805 if ( find(ledWavelengths_.begin(), ledWavelengths_.end(), 1) != ledWavelengths_.end() ) {
01806
01807 me = eeldc->meg01_[ism-1];
01808
01809 if ( me ) {
01810
01811 float xval = me->getBinContent( ix, iy );
01812
01813 if ( me->getEntries() != 0 ) {
01814 if ( ism >= 1 && ism <= 9 ) {
01815 meLedL1_[0]->setBinContent( 101 - jx, jy, xval );
01816 } else {
01817 meLedL1_[1]->setBinContent( jx, jy, xval );
01818 }
01819
01820 if ( xval == 0 ) meLedL1Err_->Fill( ism );
01821 }
01822
01823 }
01824
01825 }
01826
01827 if ( find(ledWavelengths_.begin(), ledWavelengths_.end(), 2) != ledWavelengths_.end() ) {
01828
01829 me = eeldc->meg02_[ism-1];
01830
01831 if ( me ) {
01832
01833 float xval = me->getBinContent( ix, iy );
01834
01835 if ( me->getEntries() != 0 ) {
01836 if ( ism >= 1 && ism <= 9 ) {
01837 meLedL2_[0]->setBinContent( 101 - jx, jy, xval );
01838 } else {
01839 meLedL2_[1]->setBinContent( jx, jy, xval );
01840 }
01841
01842 if ( xval == 0 ) meLedL2Err_->Fill( ism );
01843 }
01844
01845 }
01846
01847 }
01848
01849 }
01850
01851 if ( eepc ) {
01852
01853 me_01 = eepc->meg01_[ism-1];
01854 me_02 = eepc->meg02_[ism-1];
01855 me_03 = eepc->meg03_[ism-1];
01856
01857 if ( me_01 ) {
01858 float val_01=me_01->getBinContent(ix,iy);
01859 if ( me_01->getEntries() != 0 ) {
01860 if ( ism >= 1 && ism <= 9 ) {
01861 mePedestalG01_[0]->setBinContent( 101 - jx, jy, val_01 );
01862 } else {
01863 mePedestalG01_[1]->setBinContent( jx, jy, val_01 );
01864 }
01865 }
01866 }
01867 if ( me_02 ) {
01868 float val_02=me_02->getBinContent(ix,iy);
01869 if ( me_02->getEntries() != 0 ) {
01870 if ( ism >= 1 && ism <= 9 ) {
01871 mePedestalG06_[0]->setBinContent( 101 - jx, jy, val_02 );
01872 } else {
01873 mePedestalG06_[1]->setBinContent( jx, jy, val_02 );
01874 }
01875 }
01876 }
01877 if ( me_03 ) {
01878 float val_03=me_03->getBinContent(ix,iy);
01879 if ( me_03->getEntries() != 0 ) {
01880 if ( ism >= 1 && ism <= 9 ) {
01881 mePedestalG12_[0]->setBinContent( 101 - jx, jy, val_03 );
01882 } else {
01883 mePedestalG12_[1]->setBinContent( jx, jy, val_03 );
01884 }
01885 }
01886 }
01887
01888 }
01889
01890 if ( eetpc ) {
01891
01892 me_01 = eetpc->meg01_[ism-1];
01893 me_02 = eetpc->meg02_[ism-1];
01894 me_03 = eetpc->meg03_[ism-1];
01895
01896 if ( me_01 ) {
01897 float val_01=me_01->getBinContent(ix,iy);
01898 if ( me_01->getEntries() != 0 ) {
01899 if ( ism >= 1 && ism <= 9 ) {
01900 meTestPulseG01_[0]->setBinContent( 101 - jx, jy, val_01 );
01901 } else {
01902 meTestPulseG01_[1]->setBinContent( jx, jy, val_01 );
01903 }
01904 }
01905 }
01906 if ( me_02 ) {
01907 float val_02=me_02->getBinContent(ix,iy);
01908 if ( me_02->getEntries() != 0 ) {
01909 if ( ism >= 1 && ism <= 9 ) {
01910 meTestPulseG06_[0]->setBinContent( 101 - jx, jy, val_02 );
01911 } else {
01912 meTestPulseG06_[1]->setBinContent( jx, jy, val_02 );
01913 }
01914 }
01915 }
01916 if ( me_03 ) {
01917 float val_03=me_03->getBinContent(ix,iy);
01918 if ( me_03->getEntries() != 0 ) {
01919 if ( ism >= 1 && ism <= 9 ) {
01920 meTestPulseG12_[0]->setBinContent( 101 - jx, jy, val_03 );
01921 } else {
01922 meTestPulseG12_[1]->setBinContent( jx, jy, val_03 );
01923 }
01924 }
01925 }
01926
01927 }
01928
01929 if ( hot01_[ism-1] ) {
01930
01931 float xval = hot01_[ism-1]->GetBinContent( ix, iy );
01932
01933 if ( ism >= 1 && ism <= 9 ) {
01934 meRecHitEnergy_[0]->setBinContent( 101 - jx, jy, xval );
01935 } else {
01936 meRecHitEnergy_[1]->setBinContent( jx, jy, xval );
01937 }
01938
01939 }
01940
01941 if ( eetmc ) {
01942
01943 me = eetmc->meg01_[ism-1];
01944
01945 if ( me ) {
01946
01947 float xval = me->getBinContent( ix, iy );
01948
01949 if ( ism >= 1 && ism <= 9 ) {
01950 meTiming_[0]->setBinContent( 101 - jx, jy, xval );
01951 } else {
01952 meTiming_[1]->setBinContent( jx, jy, xval );
01953 }
01954
01955 }
01956
01957 float num02, mean02, rms02;
01958 bool update02 = UtilsClient::getBinStatistics(htmt01_[ism-1], ix, iy, num02, mean02, rms02);
01959
01960 mean02 -= 50.;
01961
01962 if ( update02 ) {
01963
01964 if ( ism >= 1 && ism <= 9 ) {
01965 meTimingMean1D_[0]->Fill(mean02);
01966 meTimingRMS1D_[0]->Fill(rms02);
01967 } else {
01968 meTimingMean1D_[1]->Fill(mean02);
01969 meTimingRMS1D_[1]->Fill(rms02);
01970 }
01971
01972 meTimingMean_->Fill( ism, mean02 );
01973
01974 meTimingRMS_->Fill( ism, rms02 );
01975
01976 }
01977
01978 }
01979
01980 }
01981 }
01982
01983 for ( int ix = 1; ix <= 50; ix++ ) {
01984 for ( int iy = 1; iy <= 50; iy++ ) {
01985
01986 int jx = ix + Numbers::ix0EE(ism);
01987 int jy = iy + Numbers::iy0EE(ism);
01988
01989 if ( ism >= 1 && ism <= 9 ) {
01990 if ( ! Numbers::validEE(ism, 101 - jx, jy) ) continue;
01991 } else {
01992 if ( ! Numbers::validEE(ism, jx, jy) ) continue;
01993 }
01994
01995 if ( eesfc ) {
01996
01997 me = dqmStore_->get(prefixME_ + "/EcalInfo/EEMM DCC");
01998
01999 float xval = 6;
02000
02001 if ( me ) {
02002
02003 xval = 2;
02004 if ( me->getBinContent( ism ) > 0 ) xval = 1;
02005
02006 }
02007
02008 me = eesfc->meh01_[ism-1];
02009
02010 if ( me ) {
02011
02012 if ( me->getBinContent( ix, iy ) > 0 ) xval = 0;
02013
02014 if ( ism >= 1 && ism <= 9 ) {
02015
02016 meStatusFlags_[0]->setBinContent( 101 - jx, jy, xval );
02017
02018 if ( me->getBinError( ix, iy ) > 0 && me->getBinError( ix, iy ) < 0.1 ) {
02019 UtilsClient::maskBinContent( meStatusFlags_[0], 101 - jx, jy );
02020 }
02021 } else {
02022
02023 meStatusFlags_[1]->setBinContent( jx, jy, xval );
02024
02025 if ( me->getBinError( ix, iy ) > 0 && me->getBinError( ix, iy ) < 0.1 ) {
02026 UtilsClient::maskBinContent( meStatusFlags_[1], jx, jy );
02027 }
02028 }
02029
02030 if ( xval == 0 ) meStatusFlagsErr_->Fill( ism );
02031
02032 }
02033
02034 }
02035
02036 }
02037 }
02038
02039 for ( int ix = 1; ix <= 50; ix++ ) {
02040 for ( int iy = 1; iy <= 50; iy++ ) {
02041
02042 int jx = ix + Numbers::ix0EE(ism);
02043 int jy = iy + Numbers::iy0EE(ism);
02044
02045 if ( eetttc ) {
02046
02047 float mean01 = 0;
02048 bool hadNonZeroInterest = false;
02049
02050 if ( httt01_[ism-1] ) {
02051
02052 mean01 = httt01_[ism-1]->GetBinContent( ix, iy );
02053
02054 if ( mean01 != 0. ) {
02055 if ( ism >= 1 && ism <= 9 ) {
02056 if ( meTriggerTowerEt_[0] ) meTriggerTowerEt_[0]->setBinContent( 101 - jx, jy, mean01 );
02057 } else {
02058 if ( meTriggerTowerEt_[1] ) meTriggerTowerEt_[1]->setBinContent( jx, jy, mean01 );
02059 }
02060 }
02061
02062 }
02063
02064 me = eetttc->me_o01_[ism-1];
02065
02066 if ( me ) {
02067
02068 float xval = me->getBinContent( ix, iy );
02069
02070 if ( xval != 0. ) {
02071 if ( ism >= 1 && ism <= 9 ) {
02072 meTriggerTowerTiming_[0]->setBinContent( 101 - jx, jy, xval );
02073 } else {
02074 meTriggerTowerTiming_[1]->setBinContent( jx, jy, xval );
02075 }
02076 hadNonZeroInterest = true;
02077 }
02078
02079 }
02080
02081 me = eetttc->me_o02_[ism-1];
02082
02083 if ( me ) {
02084
02085 float xval = me->getBinContent( ix, iy );
02086
02087 if ( xval != 0. ) {
02088 if ( ism >= 1 && ism <= 9 ) {
02089 meTriggerTowerNonSingleTiming_[0]->setBinContent( 101 - jx, jy, xval );
02090 } else {
02091 meTriggerTowerNonSingleTiming_[1]->setBinContent( jx, jy, xval );
02092 }
02093 }
02094
02095 }
02096
02097 float xval = 2;
02098 if( mean01 > 0. ) {
02099
02100 h2 = eetttc->l01_[ism-1];
02101 h3 = eetttc->l02_[ism-1];
02102
02103 if ( h2 && h3 ) {
02104
02105
02106 float emulErrorVal = h2->GetBinContent( ix, iy );
02107
02108 if( emulErrorVal!=0 && hadNonZeroInterest ) xval = 0;
02109
02110 }
02111
02112 if ( xval!=0 && hadNonZeroInterest ) xval = 1;
02113
02114 }
02115
02116
02117 if ( xval == 2 ) continue;
02118
02119 if ( ism >= 1 && ism <= 9 ) {
02120 meTriggerTowerEmulError_[0]->setBinContent( 101 - jx, jy, xval );
02121 } else {
02122 meTriggerTowerEmulError_[1]->setBinContent( jx, jy, xval );
02123 }
02124
02125 }
02126
02127 }
02128 }
02129
02130
02131 for( int i = 1; i <= 10; i++ ) {
02132 for( int j = 1; j <= 5; j++ ) {
02133
02134 int ichanx;
02135 int ipseudostripx;
02136
02137 if(ism<=9) {
02138 ichanx = i;
02139 ipseudostripx = (ism<=3) ? j+5*(ism-1+6) : j+5*(ism-1-3);
02140 } else {
02141 ichanx = i+10;
02142 ipseudostripx = (ism<=12) ? j+5*(ism-10+6) : j+5*(ism-10-3);
02143 }
02144
02145 if ( eeic ) {
02146
02147 me_04 = eeic->meg02_[ism-1];
02148 h2 = eeic->hmem_[ism-1];
02149
02150
02151 if( me_04 ) {
02152
02153 float xval = me_04->getBinContent(i,j);
02154 meIntegrityPN_->setBinContent( ipseudostripx, ichanx, xval );
02155
02156 }
02157
02158 if ( h2 ) {
02159
02160 float xval = h2->GetBinContent(i,1);
02161 meOccupancyPN_->setBinContent( ipseudostripx, ichanx, xval );
02162
02163 }
02164
02165 }
02166
02167 if ( eepc ) {
02168
02169 me_04 = eepc->meg04_[ism-1];
02170 me_05 = eepc->meg05_[ism-1];
02171
02172 if( me_04 ) {
02173 float val_04=me_04->getBinContent(i,1);
02174 mePedestalPNG01_->setBinContent( ipseudostripx, ichanx, val_04 );
02175 }
02176 if( me_05 ) {
02177 float val_05=me_05->getBinContent(i,1);
02178 mePedestalPNG16_->setBinContent( ipseudostripx, ichanx, val_05 );
02179 }
02180
02181 }
02182
02183 if ( eetpc ) {
02184
02185 me_04 = eetpc->meg04_[ism-1];
02186 me_05 = eetpc->meg05_[ism-1];
02187
02188 if( me_04 ) {
02189 float val_04=me_04->getBinContent(i,1);
02190 meTestPulsePNG01_->setBinContent( ipseudostripx, ichanx, val_04 );
02191 }
02192 if( me_05 ) {
02193 float val_05=me_05->getBinContent(i,1);
02194 meTestPulsePNG16_->setBinContent( ipseudostripx, ichanx, val_05 );
02195 }
02196
02197 }
02198
02199 if ( eelc ) {
02200
02201 if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 1) != laserWavelengths_.end() ) {
02202
02203 me = eelc->meg09_[ism-1];
02204
02205 if( me ) {
02206
02207 float xval = me->getBinContent(i,1);
02208
02209 if ( me->getEntries() != 0 && me->getEntries() != 0 ) {
02210 meLaserL1PN_->setBinContent( ipseudostripx, ichanx, xval );
02211 if ( xval == 0 ) meLaserL1PNErr_->Fill( ism );
02212 }
02213
02214 }
02215
02216 }
02217
02218 if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 2) != laserWavelengths_.end() ) {
02219
02220 me = eelc->meg10_[ism-1];
02221
02222 if( me ) {
02223
02224 float xval = me->getBinContent(i,1);
02225
02226 if ( me->getEntries() != 0 && me->getEntries() != 0 ) {
02227 meLaserL2PN_->setBinContent( ipseudostripx, ichanx, xval );
02228 if ( xval == 0 ) meLaserL2PNErr_->Fill( ism );
02229 }
02230
02231 }
02232
02233 }
02234
02235 if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 3) != laserWavelengths_.end() ) {
02236
02237 me = eelc->meg11_[ism-1];
02238
02239 if( me ) {
02240
02241 float xval = me->getBinContent(i,1);
02242
02243 if ( me->getEntries() != 0 && me->getEntries() != 0 ) {
02244 meLaserL3PN_->setBinContent( ipseudostripx, ichanx, xval );
02245 if ( xval == 0 ) meLaserL3PNErr_->Fill( ism );
02246 }
02247
02248 }
02249
02250 }
02251
02252 if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 4) != laserWavelengths_.end() ) {
02253
02254 me = eelc->meg12_[ism-1];
02255
02256 if( me ) {
02257
02258 float xval = me->getBinContent(i,1);
02259
02260 if ( me->getEntries() != 0 && me->getEntries() != 0 ) {
02261 meLaserL4PN_->setBinContent( ipseudostripx, ichanx, xval );
02262 if ( xval == 0 ) meLaserL4PNErr_->Fill( ism );
02263 }
02264
02265 }
02266
02267 }
02268
02269 }
02270
02271 if ( eeldc ) {
02272
02273 if ( find(ledWavelengths_.begin(), ledWavelengths_.end(), 1) != ledWavelengths_.end() ) {
02274
02275 me = eeldc->meg09_[ism-1];
02276
02277 if( me ) {
02278
02279 float xval = me->getBinContent(i,1);
02280
02281 if ( me->getEntries() != 0 && me->getEntries() != 0 ) {
02282 meLedL1PN_->setBinContent( ipseudostripx, ichanx, xval );
02283 if ( xval == 0 ) meLedL1PNErr_->Fill( ism );
02284 }
02285
02286 }
02287
02288 }
02289
02290 if ( find(ledWavelengths_.begin(), ledWavelengths_.end(), 2) != ledWavelengths_.end() ) {
02291
02292 me = eeldc->meg10_[ism-1];
02293
02294 if( me ) {
02295
02296 float xval = me->getBinContent(i,1);
02297
02298 if ( me->getEntries() != 0 && me->getEntries() != 0 ) {
02299 meLedL2PN_->setBinContent( ipseudostripx, ichanx, xval );
02300 if ( xval == 0 ) meLedL2PNErr_->Fill( ism );
02301 }
02302
02303 }
02304
02305 }
02306
02307 }
02308
02309 }
02310 }
02311
02312 for ( int ix=1; ix<=50; ix++ ) {
02313 for (int iy=1; iy<=50; iy++ ) {
02314
02315 int jx = ix + Numbers::ix0EE(ism);
02316 int jy = iy + Numbers::iy0EE(ism);
02317
02318 int ic = -1;
02319 if ( ism >= 1 && ism <= 9 ) {
02320 ic = Numbers::icEE(ism, 101 - jx, jy);
02321 } else {
02322 ic = Numbers::icEE(ism, jx, jy);
02323 }
02324
02325 if( ic != -1 ) {
02326
02327 if ( eelc ) {
02328
02329 if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 1) != laserWavelengths_.end() ) {
02330
02331 MonitorElement *meg = eelc->meg01_[ism-1];
02332
02333 float xval = 2;
02334 if ( meg ) xval = meg->getBinContent( ix, iy );
02335
02336
02337 if( xval != 2 && xval != 5 ) {
02338
02339 MonitorElement* mea01 = eelc->mea01_[ism-1];
02340 MonitorElement* met01 = eelc->met01_[ism-1];
02341 MonitorElement* meaopn01 = eelc->meaopn01_[ism-1];
02342
02343 if( mea01 && met01 && meaopn01 ) {
02344 meLaserL1Ampl_->Fill( ism, mea01->getBinContent( ic ) );
02345 if( met01->getBinContent( ic ) > 0. ) meLaserL1Timing_->Fill( ism, met01->getBinContent( ic ) );
02346 meLaserL1AmplOverPN_->Fill( ism, meaopn01->getBinContent( ic ) );
02347 }
02348
02349 }
02350
02351 }
02352
02353 if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 2) != laserWavelengths_.end() ) {
02354
02355 MonitorElement *meg = eelc->meg02_[ism-1];
02356
02357 float xval = 2;
02358 if ( meg ) xval = meg->getBinContent( ix, iy );
02359
02360
02361 if( xval != 2 && xval != 5 ) {
02362
02363 MonitorElement* mea02 = eelc->mea02_[ism-1];
02364 MonitorElement* met02 = eelc->met02_[ism-1];
02365 MonitorElement* meaopn02 = eelc->meaopn02_[ism-1];
02366
02367 if( mea02 && met02 && meaopn02 ) {
02368 meLaserL2Ampl_->Fill( ism, mea02->getBinContent( ic ) );
02369 if( met02->getBinContent( ic ) > 0. ) meLaserL2Timing_->Fill( ism, met02->getBinContent( ic ) );
02370 meLaserL2AmplOverPN_->Fill( ism, meaopn02->getBinContent( ic ) );
02371 }
02372
02373 }
02374
02375 }
02376
02377 if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 3) != laserWavelengths_.end() ) {
02378
02379 MonitorElement *meg = eelc->meg03_[ism-1];
02380
02381 float xval = 2;
02382 if ( meg ) xval = meg->getBinContent( ix, iy );
02383
02384
02385 if( xval != 2 && xval != 5 ) {
02386
02387 MonitorElement* mea03 = eelc->mea03_[ism-1];
02388 MonitorElement* met03 = eelc->met03_[ism-1];
02389 MonitorElement* meaopn03 = eelc->meaopn03_[ism-1];
02390
02391 if( mea03 && met03 && meaopn03 ) {
02392 meLaserL3Ampl_->Fill( ism, mea03->getBinContent( ic ) );
02393 if( met03->getBinContent( ic ) > 0. ) meLaserL3Timing_->Fill( ism, met03->getBinContent( ic ) );
02394 meLaserL3AmplOverPN_->Fill( ism, meaopn03->getBinContent( ic ) );
02395 }
02396
02397 }
02398
02399 }
02400
02401 if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 4) != laserWavelengths_.end() ) {
02402
02403 MonitorElement *meg = eelc->meg04_[ism-1];
02404
02405 float xval = 2;
02406 if ( meg ) xval = meg->getBinContent( ix, iy );
02407
02408
02409 if( xval != 2 && xval != 5 ) {
02410
02411 MonitorElement* mea04 = eelc->mea04_[ism-1];
02412 MonitorElement* met04 = eelc->met04_[ism-1];
02413 MonitorElement* meaopn04 = eelc->meaopn04_[ism-1];
02414
02415 if( mea04 && met04 && meaopn04 ) {
02416 meLaserL4Ampl_->Fill( ism, mea04->getBinContent( ic ) );
02417 if( met04->getBinContent( ic ) > 0. ) meLaserL4Timing_->Fill( ism, met04->getBinContent( ic ) );
02418 meLaserL4AmplOverPN_->Fill( ism, meaopn04->getBinContent( ic ) );
02419 }
02420
02421 }
02422
02423 }
02424
02425 }
02426
02427 if ( eeldc ) {
02428
02429 if ( find(ledWavelengths_.begin(), ledWavelengths_.end(), 1) != ledWavelengths_.end() ) {
02430
02431 MonitorElement *meg = eeldc->meg01_[ism-1];
02432
02433 float xval = 2;
02434 if ( meg ) xval = meg->getBinContent( ix, iy );
02435
02436
02437 if( xval != 2 && xval != 5 ) {
02438
02439 MonitorElement* mea01 = eeldc->mea01_[ism-1];
02440 MonitorElement* met01 = eeldc->met01_[ism-1];
02441 MonitorElement* meaopn01 = eeldc->meaopn01_[ism-1];
02442
02443 if( mea01 && met01 && meaopn01 ) {
02444 meLedL1Ampl_->Fill( ism, mea01->getBinContent( ic ) );
02445 if( met01->getBinContent( ic ) > 0. ) meLedL1Timing_->Fill( ism, met01->getBinContent( ic ) );
02446 meLedL1AmplOverPN_->Fill( ism, meaopn01->getBinContent( ic ) );
02447 }
02448
02449 }
02450
02451 }
02452
02453 if ( find(ledWavelengths_.begin(), ledWavelengths_.end(), 2) != ledWavelengths_.end() ) {
02454
02455 MonitorElement *meg = eeldc->meg02_[ism-1];
02456
02457 float xval = 2;
02458 if ( meg ) xval = meg->getBinContent( ix, iy );
02459
02460
02461 if( xval != 2 && xval != 5 ) {
02462
02463 MonitorElement* mea02 = eeldc->mea02_[ism-1];
02464 MonitorElement* met02 = eeldc->met02_[ism-1];
02465 MonitorElement* meaopn02 = eeldc->meaopn02_[ism-1];
02466
02467 if( mea02 && met02 && meaopn02 ) {
02468 meLedL2Ampl_->Fill( ism, mea02->getBinContent( ic ) );
02469 if( met02->getBinContent( ic ) > 0. ) meLedL2Timing_->Fill( ism, met02->getBinContent( ic ) );
02470 meLedL2AmplOverPN_->Fill( ism, meaopn02->getBinContent( ic ) );
02471 }
02472
02473 }
02474
02475 }
02476
02477 }
02478
02479 if ( eetpc ) {
02480
02481 MonitorElement *meg01 = eetpc->meg01_[ism-1];
02482 MonitorElement *meg02 = eetpc->meg02_[ism-1];
02483 MonitorElement *meg03 = eetpc->meg03_[ism-1];
02484
02485 if ( meg01 ) {
02486
02487 float xval01 = meg01->getBinContent( ix, iy );
02488
02489 if ( xval01 != 2 && xval01 != 5 ) {
02490
02491 me = eetpc->mea01_[ism-1];
02492
02493 if ( me ) {
02494
02495 meTestPulseAmplG01_->Fill( ism, me->getBinContent( ic ) );
02496
02497 }
02498
02499 }
02500
02501 }
02502
02503 if ( meg02 ) {
02504
02505 float xval02 = meg02->getBinContent( ix, iy );
02506
02507 if ( xval02 != 2 && xval02 != 5 ) {
02508
02509 me = eetpc->mea02_[ism-1];
02510
02511 if ( me ) {
02512
02513 meTestPulseAmplG06_->Fill( ism, me->getBinContent( ic ) );
02514
02515 }
02516
02517 }
02518
02519 }
02520
02521 if ( meg03 ) {
02522
02523 float xval03 = meg03->getBinContent( ix, iy );
02524
02525 if ( xval03 != 2 && xval03 != 5 ) {
02526
02527 me = eetpc->mea03_[ism-1];
02528
02529 if ( me ) {
02530
02531 meTestPulseAmplG12_->Fill( ism, me->getBinContent( ic ) );
02532
02533 }
02534
02535 }
02536
02537 }
02538
02539 }
02540
02541 }
02542
02543 }
02544 }
02545
02546 }
02547
02548
02549
02550 for ( unsigned int i=0; i<superModules_.size(); i++ ) {
02551
02552 int ism = superModules_[i];
02553
02554 for ( int ix = 1; ix <= 50; ix++ ) {
02555 for ( int iy = 1; iy <= 50; iy++ ) {
02556
02557 int jx = ix + Numbers::ix0EE(ism);
02558 int jy = iy + Numbers::iy0EE(ism);
02559
02560 if ( eetttc ) {
02561
02562 if ( ism >= 1 && ism <= 9 ) {
02563 if ( meTriggerTowerEmulError_[0]->getBinContent( 101 - jx, jy ) == 6 ) {
02564 if ( Numbers::validEE(ism, 101 - jx, jy) ) meTriggerTowerEmulError_[0]->setBinContent( 101 - jx, jy, 2 );
02565 }
02566 } else {
02567 if ( meTriggerTowerEmulError_[1]->getBinContent( jx, jy ) == 6 ) {
02568 if ( Numbers::validEE(ism, jx, jy) ) meTriggerTowerEmulError_[1]->setBinContent( jx, jy, 2 );
02569 }
02570 }
02571
02572 }
02573
02574 }
02575 }
02576
02577 }
02578
02579 }
02580
02581
02582 int nGlobalErrors = 0;
02583 int nGlobalErrorsEE[18];
02584 int nValidChannels = 0;
02585 int nValidChannelsEE[18];
02586
02587 for (int i = 0; i < 18; i++) {
02588 nGlobalErrorsEE[i] = 0;
02589 nValidChannelsEE[i] = 0;
02590 }
02591
02592 for ( int jx = 1; jx <= 100; jx++ ) {
02593 for ( int jy = 1; jy <= 100; jy++ ) {
02594
02595 if(meIntegrity_[0] && mePedestalOnline_[0] && meTiming_[0] && meStatusFlags_[0] && meTriggerTowerEmulError_[0]) {
02596
02597 float xval = 6;
02598 float val_in = meIntegrity_[0]->getBinContent(jx,jy);
02599 float val_po = mePedestalOnline_[0]->getBinContent(jx,jy);
02600 float val_tm = meTiming_[0]->getBinContent(jx,jy);
02601 float val_sf = meStatusFlags_[0]->getBinContent(jx,jy);
02602
02603 float val_ee = 1;
02604
02605
02606
02607 float val_ls_1=2, val_ls_2=2, val_ls_3=2, val_ls_4=2;
02608 if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 1) != laserWavelengths_.end() ) {
02609 if ( meLaserL1_[0] ) val_ls_1 = meLaserL1_[0]->getBinContent(jx,jy);
02610 if(val_ls_1==2 || val_ls_1==3 || val_ls_1==4 || val_ls_1==5) val_ls_1=1;
02611 }
02612 if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 2) != laserWavelengths_.end() ) {
02613 if ( meLaserL2_[0] ) val_ls_2 = meLaserL2_[0]->getBinContent(jx,jy);
02614 if(val_ls_2==2 || val_ls_2==3 || val_ls_2==4 || val_ls_2==5) val_ls_2=1;
02615 }
02616 if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 3) != laserWavelengths_.end() ) {
02617 if ( meLaserL3_[0] ) val_ls_3 = meLaserL3_[0]->getBinContent(jx,jy);
02618 if(val_ls_3==2 || val_ls_3==3 || val_ls_3==4 || val_ls_3==5) val_ls_3=1;
02619 }
02620 if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 4) != laserWavelengths_.end() ) {
02621 if ( meLaserL4_[0] ) val_ls_4 = meLaserL4_[0]->getBinContent(jx,jy);
02622 if(val_ls_4==2 || val_ls_4==3 || val_ls_4==4 || val_ls_4==5) val_ls_4=1;
02623 }
02624
02625 float val_ls = 1;
02626 if (val_ls_1 == 0 || val_ls_2==0 || val_ls_3==0 || val_ls_4==0) val_ls=0;
02627
02628
02629
02630 float val_ld_1=2, val_ld_2=2;
02631 if ( find(ledWavelengths_.begin(), ledWavelengths_.end(), 1) != ledWavelengths_.end() ) {
02632 if ( meLedL1_[0] ) val_ld_1 = meLedL1_[0]->getBinContent(jx,jy);
02633 if(val_ld_1==2 || val_ld_1==3 || val_ld_1==4 || val_ld_1==5) val_ld_1=1;
02634 }
02635 if ( find(ledWavelengths_.begin(), ledWavelengths_.end(), 2) != ledWavelengths_.end() ) {
02636 if ( meLedL2_[0] ) val_ld_2 = meLedL2_[0]->getBinContent(jx,jy);
02637 if(val_ld_2==2 || val_ld_2==3 || val_ld_2==4 || val_ld_2==5) val_ld_2=1;
02638 }
02639
02640 float val_ld = 1;
02641 if (val_ld_1 == 0 || val_ld_2==0) val_ld=0;
02642
02643
02644 val_ls = 1;
02645 val_ld = 1;
02646
02647
02648
02649
02650
02651
02652
02653
02654
02655
02656 if( val_in==3 || val_in==4 || val_in==5) val_in=1;
02657 if(val_po==2 || val_po==3 || val_po==4 || val_po==5) val_po=1;
02658 if(val_ls==2 || val_ls==3 || val_ls==4 || val_ls==5) val_ls=1;
02659 if(val_ld==2 || val_ld==3 || val_ld==4 || val_ld==5) val_ld=1;
02660 if(val_tm==2 || val_tm==3 || val_tm==4 || val_tm==5) val_tm=1;
02661 if( val_sf==3 || val_sf==4 || val_sf==5) val_sf=1;
02662 if(val_ee==2 || val_ee==3 || val_ee==4 || val_ee==5) val_ee=1;
02663
02664 if(val_in==6) xval=6;
02665 else if(val_in==0) xval=0;
02666 else if(val_po==0 || val_ls==0 || val_ld==0 || val_tm==0 || val_sf==0 || val_ee==0) xval=0;
02667 else if(val_po==2 || val_ls==2 || val_ld==2 || val_tm==2 || val_sf==2 || val_ee==2) xval=2;
02668 else xval=1;
02669
02670 bool validCry = false;
02671
02672
02673
02674 float iEntries=0;
02675
02676 for(int ism = 1; ism <= 9; ism++) {
02677 std::vector<int>::iterator iter = find(superModules_.begin(), superModules_.end(), ism);
02678 if (iter != superModules_.end()) {
02679 if ( Numbers::validEE(ism, jx, jy) ) {
02680 validCry = true;
02681
02682
02683 if(norm01_ && synch01_) {
02684 float frac_synch_errors = 0.;
02685 float norm = norm01_->GetBinContent(ism);
02686 if(norm > 0) frac_synch_errors = float(synch01_->GetBinContent(ism))/float(norm);
02687 float val_sy = (frac_synch_errors <= synchErrorThreshold_);
02688 if(val_sy==0) xval=0;
02689 }
02690
02691 for ( unsigned int i=0; i<clients_.size(); i++ ) {
02692 EEIntegrityClient* eeic = dynamic_cast<EEIntegrityClient*>(clients_[i]);
02693 if ( eeic ) {
02694 TH2F* h2 = eeic->h_[ism-1];
02695 if ( h2 ) {
02696 iEntries = h2->GetEntries();
02697 }
02698 }
02699 }
02700 }
02701 }
02702 }
02703
02704 if ( validCry && iEntries==0 ) {
02705 xval=2;
02706 }
02707
02708 meGlobalSummary_[0]->setBinContent( jx, jy, xval );
02709
02710 if ( xval >= 0 && xval <= 5 ) {
02711 if ( xval != 2 && xval != 5 ) ++nValidChannels;
02712 for (int i = 1; i <= 9; i++) {
02713 if ( xval != 2 && xval != 5 ) {
02714 if ( Numbers::validEE(i, jx, jy) ) ++nValidChannelsEE[i-1];
02715 }
02716 }
02717 if ( xval == 0 ) ++nGlobalErrors;
02718 for (int i = 1; i <= 9; i++) {
02719 if ( xval == 0 ) {
02720 if ( Numbers::validEE(i, jx, jy) ) ++nGlobalErrorsEE[i-1];
02721 }
02722 }
02723 }
02724
02725 }
02726
02727 if(meIntegrity_[1] && mePedestalOnline_[1] && meTiming_[1] && meStatusFlags_[1] && meTriggerTowerEmulError_[1]) {
02728
02729 float xval = 6;
02730 float val_in = meIntegrity_[1]->getBinContent(jx,jy);
02731 float val_po = mePedestalOnline_[1]->getBinContent(jx,jy);
02732 float val_tm = meTiming_[1]->getBinContent(jx,jy);
02733 float val_sf = meStatusFlags_[1]->getBinContent(jx,jy);
02734
02735 float val_ee = 1;
02736
02737
02738
02739 float val_ls_1=2, val_ls_2=2, val_ls_3=2, val_ls_4=2;
02740 if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 1) != laserWavelengths_.end() ) {
02741 if ( meLaserL1_[1] ) val_ls_1 = meLaserL1_[1]->getBinContent(jx,jy);
02742 if(val_ls_1==2 || val_ls_1==3 || val_ls_1==4 || val_ls_1==5) val_ls_1=1;
02743 }
02744 if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 2) != laserWavelengths_.end() ) {
02745 if ( meLaserL2_[1] ) val_ls_2 = meLaserL2_[1]->getBinContent(jx,jy);
02746 if(val_ls_2==2 || val_ls_2==3 || val_ls_2==4 || val_ls_2==5) val_ls_2=1;
02747 }
02748 if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 3) != laserWavelengths_.end() ) {
02749 if ( meLaserL3_[1] ) val_ls_3 = meLaserL3_[1]->getBinContent(jx,jy);
02750 if(val_ls_3==2 || val_ls_3==3 || val_ls_3==4 || val_ls_3==5) val_ls_3=1;
02751 }
02752 if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 4) != laserWavelengths_.end() ) {
02753 if ( meLaserL4_[1] ) val_ls_4 = meLaserL4_[1]->getBinContent(jx,jy);
02754 if(val_ls_4==2 || val_ls_4==3 || val_ls_4==4 || val_ls_4==5) val_ls_4=1;
02755 }
02756
02757 float val_ls = 1;
02758 if (val_ls_1 == 0 || val_ls_2==0 || val_ls_3==0 || val_ls_4==0) val_ls=0;
02759
02760
02761
02762 float val_ld_1=2, val_ld_2=2;
02763 if ( find(ledWavelengths_.begin(), ledWavelengths_.end(), 1) != ledWavelengths_.end() ) {
02764 if ( meLedL1_[1] ) val_ld_1 = meLedL1_[1]->getBinContent(jx,jy);
02765 if(val_ld_1==2 || val_ld_1==3 || val_ld_1==4 || val_ld_1==5) val_ld_1=1;
02766 }
02767 if ( find(ledWavelengths_.begin(), ledWavelengths_.end(), 2) != ledWavelengths_.end() ) {
02768 if ( meLedL2_[1] ) val_ld_2 = meLedL2_[1]->getBinContent(jx,jy);
02769 if(val_ld_2==2 || val_ld_2==3 || val_ld_2==4 || val_ld_2==5) val_ld_2=1;
02770 }
02771
02772 float val_ld = 1;
02773 if (val_ld_1 == 0 || val_ld_2==0) val_ld=0;
02774
02775
02776 val_ls = 1;
02777 val_ld = 1;
02778
02779
02780
02781
02782
02783
02784
02785
02786
02787
02788 if( val_in==3 || val_in==4 || val_in==5) val_in=1;
02789 if(val_po==2 || val_po==3 || val_po==4 || val_po==5) val_po=1;
02790 if(val_ls==2 || val_ls==3 || val_ls==4 || val_ls==5) val_ls=1;
02791 if(val_ld==2 || val_ld==3 || val_ld==4 || val_ld==5) val_ld=1;
02792 if(val_tm==2 || val_tm==3 || val_tm==4 || val_tm==5) val_tm=1;
02793 if( val_sf==3 || val_sf==4 || val_sf==5) val_sf=1;
02794 if(val_ee==2 || val_ee==3 || val_ee==4 || val_ee==5) val_ee=1;
02795
02796 if(val_in==6) xval=6;
02797 else if(val_in==0) xval=0;
02798 else if(val_po==0 || val_ls==0 || val_ld==0 || val_tm==0 || val_sf==0 || val_ee==0) xval=0;
02799 else if(val_po==2 || val_ls==2 || val_ld==2 || val_tm==2 || val_sf==2 || val_ee==2) xval=2;
02800 else xval=1;
02801
02802 bool validCry = false;
02803
02804
02805
02806 float iEntries=0;
02807
02808 for(int ism = 10; ism <= 18; ism++) {
02809 std::vector<int>::iterator iter = find(superModules_.begin(), superModules_.end(), ism);
02810 if (iter != superModules_.end()) {
02811 if ( Numbers::validEE(ism, jx, jy) ) {
02812 validCry = true;
02813
02814
02815 if(norm01_ && synch01_) {
02816 float frac_synch_errors = 0.;
02817 float norm = norm01_->GetBinContent(ism);
02818 if(norm > 0) frac_synch_errors = float(synch01_->GetBinContent(ism))/float(norm);
02819 float val_sy = (frac_synch_errors <= synchErrorThreshold_);
02820 if(val_sy==0) xval=0;
02821 }
02822
02823 for ( unsigned int i=0; i<clients_.size(); i++ ) {
02824 EEIntegrityClient* eeic = dynamic_cast<EEIntegrityClient*>(clients_[i]);
02825 if ( eeic ) {
02826 TH2F* h2 = eeic->h_[ism-1];
02827 if ( h2 ) {
02828 iEntries = h2->GetEntries();
02829 }
02830 }
02831 }
02832 }
02833 }
02834 }
02835
02836 if ( validCry && iEntries==0 ) {
02837 xval=2;
02838 }
02839
02840 meGlobalSummary_[1]->setBinContent( jx, jy, xval );
02841
02842 if ( xval >= 0 && xval <= 5 ) {
02843 if ( xval != 2 && xval != 5 ) ++nValidChannels;
02844 for (int i = 10; i <= 18; i++) {
02845 if ( xval != 2 && xval != 5 ) {
02846 if ( Numbers::validEE(i, jx, jy) ) ++nValidChannelsEE[i-1];
02847 }
02848 }
02849 if ( xval == 0 ) ++nGlobalErrors;
02850 for (int i = 10; i <= 18; i++) {
02851 if ( xval == 0 ) {
02852 if ( Numbers::validEE(i, jx, jy) ) ++nGlobalErrorsEE[i-1];
02853 }
02854 }
02855 }
02856
02857 }
02858
02859 }
02860 }
02861
02862 MonitorElement* me;
02863
02864 float reportSummary = -1.0;
02865 if ( nValidChannels != 0 )
02866 reportSummary = 1.0 - float(nGlobalErrors)/float(nValidChannels);
02867 me = dqmStore_->get(prefixME_ + "/EventInfo/reportSummary");
02868 if ( me ) me->Fill(reportSummary);
02869
02870 char histo[200];
02871
02872 for (int i = 0; i < 18; i++) {
02873 float reportSummaryEE = -1.0;
02874 if ( nValidChannelsEE[i] != 0 )
02875 reportSummaryEE = 1.0 - float(nGlobalErrorsEE[i])/float(nValidChannelsEE[i]);
02876 sprintf(histo, "EcalEndcap_%s", Numbers::sEE(i+1).c_str());
02877 me = dqmStore_->get(prefixME_ + "/EventInfo/reportSummaryContents/" + histo);
02878 if ( me ) me->Fill(reportSummaryEE);
02879 }
02880
02881 me = dqmStore_->get(prefixME_ + "/EventInfo/reportSummaryMap");
02882 if ( me ) {
02883
02884 int nValidChannelsSC[2][20][20];
02885 int nGlobalErrorsSC[2][20][20];
02886 for ( int iside = 0; iside < 2; iside++ ) {
02887 for ( int jxdcc = 0; jxdcc < 20; jxdcc++ ) {
02888 for ( int jydcc = 0; jydcc < 20; jydcc++ ) {
02889 nValidChannelsSC[iside][jxdcc][jydcc] = 0;
02890 nGlobalErrorsSC[iside][jxdcc][jydcc] = 0;
02891 }
02892 }
02893 }
02894
02895 for (int iside = 0; iside < 2; iside++ ) {
02896 for ( int ix = 1; ix <= 100; ix++ ) {
02897 for ( int iy = 1; iy <= 100; iy++ ) {
02898
02899 int jxsc = (ix-1)/5;
02900 int jysc = (iy-1)/5;
02901
02902 float xval = meGlobalSummary_[iside]->getBinContent( ix, iy );
02903
02904 if ( xval >= 0 && xval <= 5 ) {
02905 if ( xval != 2 && xval != 5 ) ++nValidChannelsSC[iside][jxsc][jysc];
02906 if ( xval == 0 ) ++nGlobalErrorsSC[iside][jxsc][jysc];
02907 }
02908
02909 }
02910 }
02911 }
02912
02913 for (int iside = 0; iside < 2; iside++ ) {
02914 for ( int jxsc = 0; jxsc < 20; jxsc++ ) {
02915 for ( int jysc = 0; jysc < 20; jysc++ ) {
02916
02917 float scval = -1;
02918
02919 if( nValidChannelsSC[iside][jxsc][jysc] != 0 )
02920 scval = 1.0 - float(nGlobalErrorsSC[iside][jxsc][jysc])/float(nValidChannelsSC[iside][jxsc][jysc]);
02921
02922 me->setBinContent( jxsc+iside*20+1, jysc+1, scval );
02923
02924 }
02925 }
02926 }
02927
02928
02929
02930
02931
02932
02933
02934
02935
02936
02937
02938
02939
02940
02941
02942
02943
02944 }
02945
02946 }
02947