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