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