00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #include <memory>
00012 #include <iostream>
00013 #include <fstream>
00014 #include <iomanip>
00015 #include <math.h>
00016
00017 #include "TCanvas.h"
00018 #include "TStyle.h"
00019 #include "TGraph.h"
00020 #include "TLine.h"
00021
00022 #include "DQMServices/Core/interface/DQMStore.h"
00023
00024 #include "OnlineDB/EcalCondDB/interface/MonLaserBlueDat.h"
00025 #include "OnlineDB/EcalCondDB/interface/MonLaserGreenDat.h"
00026 #include "OnlineDB/EcalCondDB/interface/MonLaserIRedDat.h"
00027 #include "OnlineDB/EcalCondDB/interface/MonLaserRedDat.h"
00028 #include "OnlineDB/EcalCondDB/interface/MonPNBlueDat.h"
00029 #include "OnlineDB/EcalCondDB/interface/MonPNGreenDat.h"
00030 #include "OnlineDB/EcalCondDB/interface/MonPNIRedDat.h"
00031 #include "OnlineDB/EcalCondDB/interface/MonPNRedDat.h"
00032 #include "OnlineDB/EcalCondDB/interface/MonTimingLaserBlueCrystalDat.h"
00033 #include "OnlineDB/EcalCondDB/interface/MonTimingLaserGreenCrystalDat.h"
00034 #include "OnlineDB/EcalCondDB/interface/MonTimingLaserIRedCrystalDat.h"
00035 #include "OnlineDB/EcalCondDB/interface/MonTimingLaserRedCrystalDat.h"
00036 #include "OnlineDB/EcalCondDB/interface/RunCrystalErrorsDat.h"
00037 #include "OnlineDB/EcalCondDB/interface/RunTTErrorsDat.h"
00038 #include "OnlineDB/EcalCondDB/interface/RunPNErrorsDat.h"
00039
00040 #include "OnlineDB/EcalCondDB/interface/EcalCondDBInterface.h"
00041
00042 #include "CondTools/Ecal/interface/EcalErrorDictionary.h"
00043
00044 #include "DQM/EcalCommon/interface/EcalErrorMask.h"
00045 #include "DQM/EcalCommon/interface/UtilsClient.h"
00046 #include "DQM/EcalCommon/interface/LogicID.h"
00047 #include "DQM/EcalCommon/interface/Numbers.h"
00048
00049 #include <DQM/EcalEndcapMonitorClient/interface/EELaserClient.h>
00050
00051 using namespace cms;
00052 using namespace edm;
00053 using namespace std;
00054
00055 EELaserClient::EELaserClient(const ParameterSet& ps) {
00056
00057
00058 cloneME_ = ps.getUntrackedParameter<bool>("cloneME", true);
00059
00060
00061 verbose_ = ps.getUntrackedParameter<bool>("verbose", true);
00062
00063
00064 debug_ = ps.getUntrackedParameter<bool>("debug", false);
00065
00066
00067 prefixME_ = ps.getUntrackedParameter<string>("prefixME", "");
00068
00069
00070 enableCleanup_ = ps.getUntrackedParameter<bool>("enableCleanup", false);
00071
00072
00073 superModules_.reserve(18);
00074 for ( unsigned int i = 1; i <= 18; i++ ) superModules_.push_back(i);
00075 superModules_ = ps.getUntrackedParameter<vector<int> >("superModules", superModules_);
00076
00077 for ( unsigned int i=0; i<superModules_.size(); i++ ) {
00078
00079 int ism = superModules_[i];
00080
00081 h01_[ism-1] = 0;
00082 h02_[ism-1] = 0;
00083 h03_[ism-1] = 0;
00084 h04_[ism-1] = 0;
00085 h05_[ism-1] = 0;
00086 h06_[ism-1] = 0;
00087 h07_[ism-1] = 0;
00088 h08_[ism-1] = 0;
00089
00090 h09_[ism-1] = 0;
00091 h10_[ism-1] = 0;
00092 h11_[ism-1] = 0;
00093 h12_[ism-1] = 0;
00094
00095 h13_[ism-1] = 0;
00096 h14_[ism-1] = 0;
00097 h15_[ism-1] = 0;
00098 h16_[ism-1] = 0;
00099 h17_[ism-1] = 0;
00100 h18_[ism-1] = 0;
00101 h19_[ism-1] = 0;
00102 h20_[ism-1] = 0;
00103
00104 h21_[ism-1] = 0;
00105 h22_[ism-1] = 0;
00106 h23_[ism-1] = 0;
00107 h24_[ism-1] = 0;
00108
00109 hs01_[ism-1] = 0;
00110 hs02_[ism-1] = 0;
00111 hs03_[ism-1] = 0;
00112 hs04_[ism-1] = 0;
00113
00114 hs05_[ism-1] = 0;
00115 hs06_[ism-1] = 0;
00116 hs07_[ism-1] = 0;
00117 hs08_[ism-1] = 0;
00118
00119 i01_[ism-1] = 0;
00120 i02_[ism-1] = 0;
00121 i03_[ism-1] = 0;
00122 i04_[ism-1] = 0;
00123 i05_[ism-1] = 0;
00124 i06_[ism-1] = 0;
00125 i07_[ism-1] = 0;
00126 i08_[ism-1] = 0;
00127
00128 i09_[ism-1] = 0;
00129 i10_[ism-1] = 0;
00130 i11_[ism-1] = 0;
00131 i12_[ism-1] = 0;
00132 i13_[ism-1] = 0;
00133 i14_[ism-1] = 0;
00134 i15_[ism-1] = 0;
00135 i16_[ism-1] = 0;
00136
00137 }
00138
00139 for ( unsigned int i=0; i<superModules_.size(); i++ ) {
00140
00141 int ism = superModules_[i];
00142
00143 meg01_[ism-1] = 0;
00144 meg02_[ism-1] = 0;
00145 meg03_[ism-1] = 0;
00146 meg04_[ism-1] = 0;
00147
00148 meg05_[ism-1] = 0;
00149 meg06_[ism-1] = 0;
00150 meg07_[ism-1] = 0;
00151 meg08_[ism-1] = 0;
00152 meg09_[ism-1] = 0;
00153 meg10_[ism-1] = 0;
00154 meg11_[ism-1] = 0;
00155 meg12_[ism-1] = 0;
00156
00157 mea01_[ism-1] = 0;
00158 mea02_[ism-1] = 0;
00159 mea03_[ism-1] = 0;
00160 mea04_[ism-1] = 0;
00161 mea05_[ism-1] = 0;
00162 mea06_[ism-1] = 0;
00163 mea07_[ism-1] = 0;
00164 mea08_[ism-1] = 0;
00165
00166 met01_[ism-1] = 0;
00167 met02_[ism-1] = 0;
00168 met03_[ism-1] = 0;
00169 met04_[ism-1] = 0;
00170 met05_[ism-1] = 0;
00171 met06_[ism-1] = 0;
00172 met07_[ism-1] = 0;
00173 met08_[ism-1] = 0;
00174
00175 metav01_[ism-1] = 0;
00176 metav02_[ism-1] = 0;
00177 metav03_[ism-1] = 0;
00178 metav04_[ism-1] = 0;
00179 metav05_[ism-1] = 0;
00180 metav06_[ism-1] = 0;
00181 metav07_[ism-1] = 0;
00182 metav08_[ism-1] = 0;
00183
00184 metrms01_[ism-1] = 0;
00185 metrms02_[ism-1] = 0;
00186 metrms03_[ism-1] = 0;
00187 metrms04_[ism-1] = 0;
00188 metrms05_[ism-1] = 0;
00189 metrms06_[ism-1] = 0;
00190 metrms07_[ism-1] = 0;
00191 metrms08_[ism-1] = 0;
00192
00193 meaopn01_[ism-1] = 0;
00194 meaopn02_[ism-1] = 0;
00195 meaopn03_[ism-1] = 0;
00196 meaopn04_[ism-1] = 0;
00197 meaopn05_[ism-1] = 0;
00198 meaopn06_[ism-1] = 0;
00199 meaopn07_[ism-1] = 0;
00200 meaopn08_[ism-1] = 0;
00201
00202 mepnprms01_[ism-1] = 0;
00203 mepnprms02_[ism-1] = 0;
00204 mepnprms03_[ism-1] = 0;
00205 mepnprms04_[ism-1] = 0;
00206 mepnprms05_[ism-1] = 0;
00207 mepnprms06_[ism-1] = 0;
00208 mepnprms07_[ism-1] = 0;
00209 mepnprms08_[ism-1] = 0;
00210
00211 me_hs01_[ism-1] = 0;
00212 me_hs02_[ism-1] = 0;
00213 me_hs03_[ism-1] = 0;
00214 me_hs04_[ism-1] = 0;
00215 me_hs05_[ism-1] = 0;
00216 me_hs06_[ism-1] = 0;
00217 me_hs07_[ism-1] = 0;
00218 me_hs08_[ism-1] = 0;
00219
00220 }
00221
00222 percentVariation_ = 0.4;
00223
00224 amplitudeThreshold_ = 10.;
00225
00226 amplitudeThresholdPnG01_ = 50.;
00227 amplitudeThresholdPnG16_ = 50.;
00228
00229 pedPnExpectedMean_[0] = 750.0;
00230 pedPnExpectedMean_[1] = 750.0;
00231
00232 pedPnDiscrepancyMean_[0] = 100.0;
00233 pedPnDiscrepancyMean_[1] = 100.0;
00234
00235 pedPnRMSThreshold_[0] = 1.0;
00236 pedPnRMSThreshold_[1] = 3.0;
00237
00238 }
00239
00240 EELaserClient::~EELaserClient() {
00241
00242 }
00243
00244 void EELaserClient::beginJob(DQMStore* dqmStore) {
00245
00246 dqmStore_ = dqmStore;
00247
00248 if ( debug_ ) cout << "EELaserClient: beginJob" << endl;
00249
00250 ievt_ = 0;
00251 jevt_ = 0;
00252
00253 }
00254
00255 void EELaserClient::beginRun(void) {
00256
00257 if ( debug_ ) cout << "EELaserClient: beginRun" << endl;
00258
00259 jevt_ = 0;
00260
00261 this->setup();
00262
00263 }
00264
00265 void EELaserClient::endJob(void) {
00266
00267 if ( debug_ ) cout << "EELaserClient: endJob, ievt = " << ievt_ << endl;
00268
00269 this->cleanup();
00270
00271 }
00272
00273 void EELaserClient::endRun(void) {
00274
00275 if ( debug_ ) cout << "EELaserClient: endRun, jevt = " << jevt_ << endl;
00276
00277 this->cleanup();
00278
00279 }
00280
00281 void EELaserClient::setup(void) {
00282
00283 char histo[200];
00284
00285 dqmStore_->setCurrentFolder( prefixME_ + "/EELaserClient" );
00286
00287 for ( unsigned int i=0; i<superModules_.size(); i++ ) {
00288
00289 int ism = superModules_[i];
00290
00291 if ( meg01_[ism-1] ) dqmStore_->removeElement( meg01_[ism-1]->getName() );
00292 sprintf(histo, "EELT laser quality L1 %s", Numbers::sEE(ism).c_str());
00293 meg01_[ism-1] = dqmStore_->book2D(histo, histo, 50, Numbers::ix0EE(ism)+0., Numbers::ix0EE(ism)+50., 50, Numbers::iy0EE(ism)+0., Numbers::iy0EE(ism)+50.);
00294 meg01_[ism-1]->setAxisTitle("jx", 1);
00295 meg01_[ism-1]->setAxisTitle("jy", 2);
00296 if ( meg02_[ism-1] ) dqmStore_->removeElement( meg02_[ism-1]->getName() );
00297 sprintf(histo, "EELT laser quality L2 %s", Numbers::sEE(ism).c_str());
00298 meg02_[ism-1] = dqmStore_->book2D(histo, histo, 50, Numbers::ix0EE(ism)+0., Numbers::ix0EE(ism)+50., 50, Numbers::iy0EE(ism)+0., Numbers::iy0EE(ism)+50.);
00299 meg02_[ism-1]->setAxisTitle("jx", 1);
00300 meg02_[ism-1]->setAxisTitle("jy", 2);
00301 if ( meg03_[ism-1] ) dqmStore_->removeElement( meg03_[ism-1]->getName() );
00302 sprintf(histo, "EELT laser quality L3 %s", Numbers::sEE(ism).c_str());
00303 meg03_[ism-1] = dqmStore_->book2D(histo, histo, 50, Numbers::ix0EE(ism)+0., Numbers::ix0EE(ism)+50., 50, Numbers::iy0EE(ism)+0., Numbers::iy0EE(ism)+50.);
00304 meg03_[ism-1]->setAxisTitle("jx", 1);
00305 meg03_[ism-1]->setAxisTitle("jy", 2);
00306 if ( meg04_[ism-1] ) dqmStore_->removeElement( meg04_[ism-1]->getName() );
00307 sprintf(histo, "EELT laser quality L4 %s", Numbers::sEE(ism).c_str());
00308 meg04_[ism-1] = dqmStore_->book2D(histo, histo, 50, Numbers::ix0EE(ism)+0., Numbers::ix0EE(ism)+50., 50, Numbers::iy0EE(ism)+0., Numbers::iy0EE(ism)+50.);
00309 meg04_[ism-1]->setAxisTitle("jx", 1);
00310 meg04_[ism-1]->setAxisTitle("jy", 2);
00311
00312 if ( meg05_[ism-1] ) dqmStore_->removeElement( meg05_[ism-1]->getName() );
00313 sprintf(histo, "EELT laser quality L1 PNs G01 %s", Numbers::sEE(ism).c_str());
00314 meg05_[ism-1] = dqmStore_->book2D(histo, histo, 10, 0., 10., 1, 0., 5.);
00315 meg05_[ism-1]->setAxisTitle("pseudo-strip", 1);
00316 meg05_[ism-1]->setAxisTitle("channel", 2);
00317 if ( meg06_[ism-1] ) dqmStore_->removeElement( meg06_[ism-1]->getName() );
00318 sprintf(histo, "EELT laser quality L2 PNs G01 %s", Numbers::sEE(ism).c_str());
00319 meg06_[ism-1] = dqmStore_->book2D(histo, histo, 10, 0., 10., 1, 0., 5.);
00320 meg06_[ism-1]->setAxisTitle("pseudo-strip", 1);
00321 meg06_[ism-1]->setAxisTitle("channel", 2);
00322 if ( meg07_[ism-1] ) dqmStore_->removeElement( meg07_[ism-1]->getName() );
00323 sprintf(histo, "EELT laser quality L3 PNs G01 %s", Numbers::sEE(ism).c_str());
00324 meg07_[ism-1] = dqmStore_->book2D(histo, histo, 10, 0., 10., 1, 0., 5.);
00325 meg07_[ism-1]->setAxisTitle("pseudo-strip", 1);
00326 meg07_[ism-1]->setAxisTitle("channel", 2);
00327 if ( meg08_[ism-1] ) dqmStore_->removeElement( meg08_[ism-1]->getName() );
00328 sprintf(histo, "EELT laser quality L4 PNs G01 %s", Numbers::sEE(ism).c_str());
00329 meg08_[ism-1] = dqmStore_->book2D(histo, histo, 10, 0., 10., 1, 0., 5.);
00330 meg08_[ism-1]->setAxisTitle("pseudo-strip", 1);
00331 meg08_[ism-1]->setAxisTitle("channel", 2);
00332 if ( meg09_[ism-1] ) dqmStore_->removeElement( meg09_[ism-1]->getName() );
00333 sprintf(histo, "EELT laser quality L1 PNs G16 %s", Numbers::sEE(ism).c_str());
00334 meg09_[ism-1] = dqmStore_->book2D(histo, histo, 10, 0., 10., 1, 0., 5.);
00335 meg09_[ism-1]->setAxisTitle("pseudo-strip", 1);
00336 meg09_[ism-1]->setAxisTitle("channel", 2);
00337 if ( meg10_[ism-1] ) dqmStore_->removeElement( meg10_[ism-1]->getName() );
00338 sprintf(histo, "EELT laser quality L2 PNs G16 %s", Numbers::sEE(ism).c_str());
00339 meg10_[ism-1] = dqmStore_->book2D(histo, histo, 10, 0., 10., 1, 0., 5.);
00340 meg10_[ism-1]->setAxisTitle("pseudo-strip", 1);
00341 meg10_[ism-1]->setAxisTitle("channel", 2);
00342 if ( meg11_[ism-1] ) dqmStore_->removeElement( meg11_[ism-1]->getName() );
00343 sprintf(histo, "EELT laser quality L3 PNs G16 %s", Numbers::sEE(ism).c_str());
00344 meg11_[ism-1] = dqmStore_->book2D(histo, histo, 10, 0., 10., 1, 0., 5.);
00345 meg11_[ism-1]->setAxisTitle("pseudo-strip", 1);
00346 meg11_[ism-1]->setAxisTitle("channel", 2);
00347 if ( meg12_[ism-1] ) dqmStore_->removeElement( meg12_[ism-1]->getName() );
00348 sprintf(histo, "EELT laser quality L4 PNs G16 %s", Numbers::sEE(ism).c_str());
00349 meg12_[ism-1] = dqmStore_->book2D(histo, histo, 10, 0., 10., 1, 0., 5.);
00350 meg12_[ism-1]->setAxisTitle("pseudo-strip", 1);
00351 meg12_[ism-1]->setAxisTitle("channel", 2);
00352
00353 if ( mea01_[ism-1] ) dqmStore_->removeElement( mea01_[ism-1]->getName() );;
00354 sprintf(histo, "EELT amplitude L1A %s", Numbers::sEE(ism).c_str());
00355 mea01_[ism-1] = dqmStore_->book1D(histo, histo, 850, 0., 850.);
00356 mea01_[ism-1]->setAxisTitle("channel", 1);
00357 mea01_[ism-1]->setAxisTitle("amplitude", 2);
00358 if ( mea02_[ism-1] ) dqmStore_->removeElement( mea02_[ism-1]->getName() );
00359 sprintf(histo, "EELT amplitude L2A %s", Numbers::sEE(ism).c_str());
00360 mea02_[ism-1] = dqmStore_->book1D(histo, histo, 850, 0., 850.);
00361 mea02_[ism-1]->setAxisTitle("channel", 1);
00362 mea02_[ism-1]->setAxisTitle("amplitude", 2);
00363 if ( mea03_[ism-1] ) dqmStore_->removeElement( mea03_[ism-1]->getName() );
00364 sprintf(histo, "EELT amplitude L3A %s", Numbers::sEE(ism).c_str());
00365 mea03_[ism-1] = dqmStore_->book1D(histo, histo, 850, 0., 850.);
00366 mea03_[ism-1]->setAxisTitle("channel", 1);
00367 mea03_[ism-1]->setAxisTitle("amplitude", 2);
00368 if ( mea04_[ism-1] ) dqmStore_->removeElement( mea04_[ism-1]->getName() );
00369 sprintf(histo, "EELT amplitude L4A %s", Numbers::sEE(ism).c_str());
00370 mea04_[ism-1] = dqmStore_->book1D(histo, histo, 850, 0., 850.);
00371 mea04_[ism-1]->setAxisTitle("channel", 1);
00372 mea04_[ism-1]->setAxisTitle("amplitude", 2);
00373 if ( mea05_[ism-1] ) dqmStore_->removeElement( mea05_[ism-1]->getName() );;
00374 sprintf(histo, "EELT amplitude L1B %s", Numbers::sEE(ism).c_str());
00375 mea05_[ism-1] = dqmStore_->book1D(histo, histo, 850, 0., 850.);
00376 mea05_[ism-1]->setAxisTitle("channel", 1);
00377 mea05_[ism-1]->setAxisTitle("amplitude", 2);
00378 if ( mea06_[ism-1] ) dqmStore_->removeElement( mea06_[ism-1]->getName() );
00379 sprintf(histo, "EELT amplitude L2B %s", Numbers::sEE(ism).c_str());
00380 mea06_[ism-1] = dqmStore_->book1D(histo, histo, 850, 0., 850.);
00381 mea06_[ism-1]->setAxisTitle("channel", 1);
00382 mea06_[ism-1]->setAxisTitle("amplitude", 2);
00383 if ( mea07_[ism-1] ) dqmStore_->removeElement( mea07_[ism-1]->getName() );
00384 sprintf(histo, "EELT amplitude L3B %s", Numbers::sEE(ism).c_str());
00385 mea07_[ism-1] = dqmStore_->book1D(histo, histo, 850, 0., 850.);
00386 mea07_[ism-1]->setAxisTitle("channel", 1);
00387 mea07_[ism-1]->setAxisTitle("amplitude", 2);
00388 if ( mea08_[ism-1] ) dqmStore_->removeElement( mea08_[ism-1]->getName() );
00389 sprintf(histo, "EELT amplitude L4B %s", Numbers::sEE(ism).c_str());
00390 mea08_[ism-1] = dqmStore_->book1D(histo, histo, 850, 0., 850.);
00391 mea08_[ism-1]->setAxisTitle("channel", 1);
00392 mea08_[ism-1]->setAxisTitle("amplitude", 2);
00393
00394 if ( met01_[ism-1] ) dqmStore_->removeElement( met01_[ism-1]->getName() );
00395 sprintf(histo, "EELT laser timing L1A %s", Numbers::sEE(ism).c_str());
00396 met01_[ism-1] = dqmStore_->book1D(histo, histo, 850, 0., 850.);
00397 met01_[ism-1]->setAxisTitle("channel", 1);
00398 met01_[ism-1]->setAxisTitle("jitter", 2);
00399 if ( met02_[ism-1] ) dqmStore_->removeElement( met02_[ism-1]->getName() );
00400 sprintf(histo, "EELT laser timing L2A %s", Numbers::sEE(ism).c_str());
00401 met02_[ism-1] = dqmStore_->book1D(histo, histo, 850, 0., 850.);
00402 met02_[ism-1]->setAxisTitle("channel", 1);
00403 met02_[ism-1]->setAxisTitle("jitter", 2);
00404 if ( met03_[ism-1] ) dqmStore_->removeElement( met03_[ism-1]->getName() );
00405 sprintf(histo, "EELT laser timing L3A %s", Numbers::sEE(ism).c_str());
00406 met03_[ism-1] = dqmStore_->book1D(histo, histo, 850, 0., 850.);
00407 met03_[ism-1]->setAxisTitle("channel", 1);
00408 met03_[ism-1]->setAxisTitle("jitter", 2);
00409 if ( met04_[ism-1] ) dqmStore_->removeElement( met04_[ism-1]->getName() );
00410 sprintf(histo, "EELT laser timing L4A %s", Numbers::sEE(ism).c_str());
00411 met04_[ism-1] = dqmStore_->book1D(histo, histo, 850, 0., 850.);
00412 met04_[ism-1]->setAxisTitle("channel", 1);
00413 met04_[ism-1]->setAxisTitle("jitter", 2);
00414 if ( met05_[ism-1] ) dqmStore_->removeElement( met05_[ism-1]->getName() );
00415 sprintf(histo, "EELT laser timing L1B %s", Numbers::sEE(ism).c_str());
00416 met05_[ism-1] = dqmStore_->book1D(histo, histo, 850, 0., 850.);
00417 met05_[ism-1]->setAxisTitle("channel", 1);
00418 met05_[ism-1]->setAxisTitle("jitter", 2);
00419 if ( met06_[ism-1] ) dqmStore_->removeElement( met06_[ism-1]->getName() );
00420 sprintf(histo, "EELT laser timing L2B %s", Numbers::sEE(ism).c_str());
00421 met06_[ism-1] = dqmStore_->book1D(histo, histo, 850, 0., 850.);
00422 met06_[ism-1]->setAxisTitle("channel", 1);
00423 met06_[ism-1]->setAxisTitle("jitter", 2);
00424 if ( met07_[ism-1] ) dqmStore_->removeElement( met07_[ism-1]->getName() );
00425 sprintf(histo, "EELT laser timing L3B %s", Numbers::sEE(ism).c_str());
00426 met07_[ism-1] = dqmStore_->book1D(histo, histo, 850, 0., 850.);
00427 met07_[ism-1]->setAxisTitle("channel", 1);
00428 met07_[ism-1]->setAxisTitle("jitter", 2);
00429 if ( met08_[ism-1] ) dqmStore_->removeElement( met08_[ism-1]->getName() );
00430 sprintf(histo, "EELT laser timing L4B %s", Numbers::sEE(ism).c_str());
00431 met08_[ism-1] = dqmStore_->book1D(histo, histo, 850, 0., 850.);
00432 met08_[ism-1]->setAxisTitle("channel", 1);
00433 met08_[ism-1]->setAxisTitle("jitter", 2);
00434
00435 if ( metav01_[ism-1] ) dqmStore_->removeElement( metav01_[ism-1]->getName() );
00436 sprintf(histo, "EELT laser timing mean L1A %s", Numbers::sEE(ism).c_str());
00437 metav01_[ism-1] = dqmStore_->book1D(histo, histo, 100, 0., 10.);
00438 metav01_[ism-1]->setAxisTitle("mean", 1);
00439 if ( metav02_[ism-1] ) dqmStore_->removeElement( metav02_[ism-1]->getName() );
00440 sprintf(histo, "EELT laser timing mean L2A %s", Numbers::sEE(ism).c_str());
00441 metav02_[ism-1] = dqmStore_->book1D(histo, histo, 100, 0., 10.);
00442 metav02_[ism-1]->setAxisTitle("mean", 1);
00443 if ( metav03_[ism-1] ) dqmStore_->removeElement( metav03_[ism-1]->getName() );
00444 sprintf(histo, "EELT laser timing mean L3A %s", Numbers::sEE(ism).c_str());
00445 metav03_[ism-1] = dqmStore_->book1D(histo, histo, 100, 0., 10.);
00446 metav03_[ism-1]->setAxisTitle("mean", 1);
00447 if ( metav04_[ism-1] ) dqmStore_->removeElement( metav04_[ism-1]->getName() );
00448 sprintf(histo, "EELT laser timing mean L4A %s", Numbers::sEE(ism).c_str());
00449 metav04_[ism-1] = dqmStore_->book1D(histo, histo, 100, 0., 10.);
00450 metav04_[ism-1]->setAxisTitle("mean", 1);
00451 if ( metav05_[ism-1] ) dqmStore_->removeElement( metav05_[ism-1]->getName() );
00452 sprintf(histo, "EELT laser timing mean L1B %s", Numbers::sEE(ism).c_str());
00453 metav05_[ism-1] = dqmStore_->book1D(histo, histo, 100, 0., 10.);
00454 metav05_[ism-1]->setAxisTitle("mean", 1);
00455 if ( metav06_[ism-1] ) dqmStore_->removeElement( metav06_[ism-1]->getName() );
00456 sprintf(histo, "EELT laser timing mean L2B %s", Numbers::sEE(ism).c_str());
00457 metav06_[ism-1] = dqmStore_->book1D(histo, histo, 100, 0., 10.);
00458 metav06_[ism-1]->setAxisTitle("mean", 1);
00459 if ( metav07_[ism-1] ) dqmStore_->removeElement( metav07_[ism-1]->getName() );
00460 sprintf(histo, "EELT laser timing mean L3B %s", Numbers::sEE(ism).c_str());
00461 metav07_[ism-1] = dqmStore_->book1D(histo, histo, 100, 0., 10.);
00462 metav07_[ism-1]->setAxisTitle("mean", 1);
00463 if ( metav08_[ism-1] ) dqmStore_->removeElement( metav08_[ism-1]->getName() );
00464 sprintf(histo, "EELT laser timing mean L4B %s", Numbers::sEE(ism).c_str());
00465 metav08_[ism-1] = dqmStore_->book1D(histo, histo, 100, 0., 10.);
00466 metav08_[ism-1]->setAxisTitle("mean", 1);
00467
00468 if ( metrms01_[ism-1] ) dqmStore_->removeElement( metrms01_[ism-1]->getName() );
00469 sprintf(histo, "EELT laser timing rms L1A %s", Numbers::sEE(ism).c_str());
00470 metrms01_[ism-1] = dqmStore_->book1D(histo, histo, 100, 0., 0.5);
00471 metrms01_[ism-1]->setAxisTitle("rms", 1);
00472 if ( metrms02_[ism-1] ) dqmStore_->removeElement( metrms02_[ism-1]->getName() );
00473 sprintf(histo, "EELT laser timing rms L2A %s", Numbers::sEE(ism).c_str());
00474 metrms02_[ism-1] = dqmStore_->book1D(histo, histo, 100, 0., 0.5);
00475 metrms02_[ism-1]->setAxisTitle("rms", 1);
00476 if ( metrms03_[ism-1] ) dqmStore_->removeElement( metrms03_[ism-1]->getName() );
00477 sprintf(histo, "EELT laser timing rms L3A %s", Numbers::sEE(ism).c_str());
00478 metrms03_[ism-1] = dqmStore_->book1D(histo, histo, 100, 0., 0.5);
00479 metrms03_[ism-1]->setAxisTitle("rms", 1);
00480 if ( metrms04_[ism-1] ) dqmStore_->removeElement( metrms04_[ism-1]->getName() );
00481 sprintf(histo, "EELT laser timing rms L4A %s", Numbers::sEE(ism).c_str());
00482 metrms04_[ism-1] = dqmStore_->book1D(histo, histo, 100, 0., 0.5);
00483 metrms04_[ism-1]->setAxisTitle("rms", 1);
00484 if ( metrms05_[ism-1] ) dqmStore_->removeElement( metrms05_[ism-1]->getName() );
00485 sprintf(histo, "EELT laser timing rms L1B %s", Numbers::sEE(ism).c_str());
00486 metrms05_[ism-1] = dqmStore_->book1D(histo, histo, 100, 0., 0.5);
00487 metrms05_[ism-1]->setAxisTitle("rms", 1);
00488 if ( metrms06_[ism-1] ) dqmStore_->removeElement( metrms06_[ism-1]->getName() );
00489 sprintf(histo, "EELT laser timing rms L2B %s", Numbers::sEE(ism).c_str());
00490 metrms06_[ism-1] = dqmStore_->book1D(histo, histo, 100, 0., 0.5);
00491 metrms06_[ism-1]->setAxisTitle("rms", 1);
00492 if ( metrms07_[ism-1] ) dqmStore_->removeElement( metrms07_[ism-1]->getName() );
00493 sprintf(histo, "EELT laser timing rms L3B %s", Numbers::sEE(ism).c_str());
00494 metrms07_[ism-1] = dqmStore_->book1D(histo, histo, 100, 0., 0.5);
00495 metrms07_[ism-1]->setAxisTitle("rms", 1);
00496 if ( metrms08_[ism-1] ) dqmStore_->removeElement( metrms08_[ism-1]->getName() );
00497 sprintf(histo, "EELT laser timing rms L4B %s", Numbers::sEE(ism).c_str());
00498 metrms08_[ism-1] = dqmStore_->book1D(histo, histo, 100, 0., 0.5);
00499 metrms08_[ism-1]->setAxisTitle("rms", 1);
00500
00501 if ( meaopn01_[ism-1] ) dqmStore_->removeElement( meaopn01_[ism-1]->getName() );
00502 sprintf(histo, "EELT amplitude over PN L1A %s", Numbers::sEE(ism).c_str());
00503 meaopn01_[ism-1] = dqmStore_->book1D(histo, histo, 850, 0., 850.);
00504 meaopn01_[ism-1]->setAxisTitle("channel", 1);
00505 meaopn01_[ism-1]->setAxisTitle("amplitude/PN", 2);
00506 if ( meaopn02_[ism-1] ) dqmStore_->removeElement( meaopn02_[ism-1]->getName() );
00507 sprintf(histo, "EELT amplitude over PN L2A %s", Numbers::sEE(ism).c_str());
00508 meaopn02_[ism-1] = dqmStore_->book1D(histo, histo, 850, 0., 850.);
00509 meaopn02_[ism-1]->setAxisTitle("channel", 1);
00510 meaopn02_[ism-1]->setAxisTitle("amplitude/PN", 2);
00511 if ( meaopn03_[ism-1] ) dqmStore_->removeElement( meaopn03_[ism-1]->getName() );
00512 sprintf(histo, "EELT amplitude over PN L3A %s", Numbers::sEE(ism).c_str());
00513 meaopn03_[ism-1] = dqmStore_->book1D(histo, histo, 850, 0., 850.);
00514 meaopn03_[ism-1]->setAxisTitle("channel", 1);
00515 meaopn03_[ism-1]->setAxisTitle("amplitude/PN", 2);
00516 if ( meaopn04_[ism-1] ) dqmStore_->removeElement( meaopn04_[ism-1]->getName() );
00517 sprintf(histo, "EELT amplitude over PN L4A %s", Numbers::sEE(ism).c_str());
00518 meaopn04_[ism-1] = dqmStore_->book1D(histo, histo, 850, 0., 850.);
00519 meaopn04_[ism-1]->setAxisTitle("channel", 1);
00520 meaopn04_[ism-1]->setAxisTitle("amplitude/PN", 2);
00521 if ( meaopn05_[ism-1] ) dqmStore_->removeElement( meaopn05_[ism-1]->getName() );
00522 sprintf(histo, "EELT amplitude over PN L1B %s", Numbers::sEE(ism).c_str());
00523 meaopn05_[ism-1] = dqmStore_->book1D(histo, histo, 850, 0., 850.);
00524 meaopn05_[ism-1]->setAxisTitle("channel", 1);
00525 meaopn05_[ism-1]->setAxisTitle("amplitude/PN", 2);
00526 if ( meaopn06_[ism-1] ) dqmStore_->removeElement( meaopn06_[ism-1]->getName() );
00527 sprintf(histo, "EELT amplitude over PN L2B %s", Numbers::sEE(ism).c_str());
00528 meaopn06_[ism-1] = dqmStore_->book1D(histo, histo, 850, 0., 850.);
00529 meaopn06_[ism-1]->setAxisTitle("channel", 1);
00530 meaopn06_[ism-1]->setAxisTitle("amplitude/PN", 2);
00531 if ( meaopn07_[ism-1] ) dqmStore_->removeElement( meaopn07_[ism-1]->getName() );
00532 sprintf(histo, "EELT amplitude over PN L3B %s", Numbers::sEE(ism).c_str());
00533 meaopn07_[ism-1] = dqmStore_->book1D(histo, histo, 850, 0., 850.);
00534 meaopn07_[ism-1]->setAxisTitle("channel", 1);
00535 meaopn07_[ism-1]->setAxisTitle("amplitude/PN", 2);
00536 if ( meaopn08_[ism-1] ) dqmStore_->removeElement( meaopn08_[ism-1]->getName() );
00537 sprintf(histo, "EELT amplitude over PN L4B %s", Numbers::sEE(ism).c_str());
00538 meaopn08_[ism-1] = dqmStore_->book1D(histo, histo, 850, 0., 850.);
00539 meaopn08_[ism-1]->setAxisTitle("channel", 1);
00540 meaopn08_[ism-1]->setAxisTitle("amplitude/PN", 2);
00541
00542 if ( mepnprms01_[ism-1] ) dqmStore_->removeElement( mepnprms01_[ism-1]->getName() );
00543 sprintf(histo, "EEPDT PNs pedestal rms %s G01 L1", Numbers::sEE(ism).c_str());
00544 mepnprms01_[ism-1] = dqmStore_->book1D(histo, histo, 100, 0., 10.);
00545 mepnprms01_[ism-1]->setAxisTitle("rms", 1);
00546 if ( mepnprms02_[ism-1] ) dqmStore_->removeElement( mepnprms02_[ism-1]->getName() );
00547 sprintf(histo, "EEPDT PNs pedestal rms %s G01 L2", Numbers::sEE(ism).c_str());
00548 mepnprms02_[ism-1] = dqmStore_->book1D(histo, histo, 100, 0., 10.);
00549 mepnprms02_[ism-1]->setAxisTitle("rms", 1);
00550 if ( mepnprms03_[ism-1] ) dqmStore_->removeElement( mepnprms03_[ism-1]->getName() );
00551 sprintf(histo, "EEPDT PNs pedestal rms %s G01 L3", Numbers::sEE(ism).c_str());
00552 mepnprms03_[ism-1] = dqmStore_->book1D(histo, histo, 100, 0., 10.);
00553 mepnprms03_[ism-1]->setAxisTitle("rms", 1);
00554 if ( mepnprms04_[ism-1] ) dqmStore_->removeElement( mepnprms04_[ism-1]->getName() );
00555 sprintf(histo, "EEPDT PNs pedestal rms %s G01 L4", Numbers::sEE(ism).c_str());
00556 mepnprms04_[ism-1] = dqmStore_->book1D(histo, histo, 100, 0., 10.);
00557 mepnprms04_[ism-1]->setAxisTitle("rms", 1);
00558 if ( mepnprms05_[ism-1] ) dqmStore_->removeElement( mepnprms05_[ism-1]->getName() );
00559 sprintf(histo, "EEPDT PNs pedestal rms %s G16 L1", Numbers::sEE(ism).c_str());
00560 mepnprms05_[ism-1] = dqmStore_->book1D(histo, histo, 100, 0., 10.);
00561 mepnprms05_[ism-1]->setAxisTitle("rms", 1);
00562 if ( mepnprms06_[ism-1] ) dqmStore_->removeElement( mepnprms06_[ism-1]->getName() );
00563 sprintf(histo, "EEPDT PNs pedestal rms %s G16 L2", Numbers::sEE(ism).c_str());
00564 mepnprms06_[ism-1] = dqmStore_->book1D(histo, histo, 100, 0., 10.);
00565 mepnprms06_[ism-1]->setAxisTitle("rms", 1);
00566 if ( mepnprms07_[ism-1] ) dqmStore_->removeElement( mepnprms07_[ism-1]->getName() );
00567 sprintf(histo, "EEPDT PNs pedestal rms %s G16 L3", Numbers::sEE(ism).c_str());
00568 mepnprms07_[ism-1] = dqmStore_->book1D(histo, histo, 100, 0., 10.);
00569 mepnprms07_[ism-1]->setAxisTitle("rms", 1);
00570 if ( mepnprms08_[ism-1] ) dqmStore_->removeElement( mepnprms08_[ism-1]->getName() );
00571 sprintf(histo, "EEPDT PNs pedestal rms %s G16 L4", Numbers::sEE(ism).c_str());
00572 mepnprms08_[ism-1] = dqmStore_->book1D(histo, histo, 100, 0., 10.);
00573 mepnprms08_[ism-1]->setAxisTitle("rms", 1);
00574
00575 if ( me_hs01_[ism-1] ) dqmStore_->removeElement( me_hs01_[ism-1]->getName() );
00576 sprintf(histo, "EELT laser shape L1A %s", Numbers::sEE(ism).c_str());
00577 me_hs01_[ism-1] = dqmStore_->book1D(histo, histo, 10, 0., 10.);
00578 me_hs01_[ism-1]->setAxisTitle("sample", 1);
00579 me_hs01_[ism-1]->setAxisTitle("amplitude", 2);
00580 if ( me_hs02_[ism-1] ) dqmStore_->removeElement( me_hs02_[ism-1]->getName() );
00581 sprintf(histo, "EELT laser shape L2A %s", Numbers::sEE(ism).c_str());
00582 me_hs02_[ism-1] = dqmStore_->book1D(histo, histo, 10, 0., 10.);
00583 me_hs02_[ism-1]->setAxisTitle("sample", 1);
00584 me_hs02_[ism-1]->setAxisTitle("amplitude", 2);
00585 if ( me_hs03_[ism-1] ) dqmStore_->removeElement( me_hs03_[ism-1]->getName() );
00586 sprintf(histo, "EELT laser shape L3A %s", Numbers::sEE(ism).c_str());
00587 me_hs03_[ism-1] = dqmStore_->book1D(histo, histo, 10, 0., 10.);
00588 me_hs03_[ism-1]->setAxisTitle("sample", 1);
00589 me_hs03_[ism-1]->setAxisTitle("amplitude", 2);
00590 if ( me_hs04_[ism-1] ) dqmStore_->removeElement( me_hs04_[ism-1]->getName() );
00591 sprintf(histo, "EELT laser shape L4A %s", Numbers::sEE(ism).c_str());
00592 me_hs04_[ism-1] = dqmStore_->book1D(histo, histo, 10, 0., 10.);
00593 me_hs04_[ism-1]->setAxisTitle("sample", 1);
00594 me_hs04_[ism-1]->setAxisTitle("amplitude", 2);
00595 if ( me_hs05_[ism-1] ) dqmStore_->removeElement( me_hs05_[ism-1]->getName() );
00596 sprintf(histo, "EELT laser shape L1B %s", Numbers::sEE(ism).c_str());
00597 me_hs05_[ism-1] = dqmStore_->book1D(histo, histo, 10, 0., 10.);
00598 me_hs05_[ism-1]->setAxisTitle("sample", 1);
00599 me_hs05_[ism-1]->setAxisTitle("amplitude", 2);
00600 if ( me_hs06_[ism-1] ) dqmStore_->removeElement( me_hs06_[ism-1]->getName() );
00601 sprintf(histo, "EELT laser shape L2B %s", Numbers::sEE(ism).c_str());
00602 me_hs06_[ism-1] = dqmStore_->book1D(histo, histo, 10, 0., 10.);
00603 me_hs06_[ism-1]->setAxisTitle("sample", 1);
00604 me_hs06_[ism-1]->setAxisTitle("amplitude", 2);
00605 if ( me_hs07_[ism-1] ) dqmStore_->removeElement( me_hs07_[ism-1]->getName() );
00606 sprintf(histo, "EELT laser shape L3B %s", Numbers::sEE(ism).c_str());
00607 me_hs07_[ism-1] = dqmStore_->book1D(histo, histo, 10, 0., 10.);
00608 me_hs07_[ism-1]->setAxisTitle("sample", 1);
00609 me_hs07_[ism-1]->setAxisTitle("amplitude", 2);
00610 if ( me_hs08_[ism-1] ) dqmStore_->removeElement( me_hs08_[ism-1]->getName() );
00611 sprintf(histo, "EELT laser shape L4B %s", Numbers::sEE(ism).c_str());
00612 me_hs08_[ism-1] = dqmStore_->book1D(histo, histo, 10, 0., 10.);
00613 me_hs08_[ism-1]->setAxisTitle("sample", 1);
00614 me_hs08_[ism-1]->setAxisTitle("amplitude", 2);
00615
00616 }
00617
00618 for ( unsigned int i=0; i<superModules_.size(); i++ ) {
00619
00620 int ism = superModules_[i];
00621
00622 if ( meg01_[ism-1] ) meg01_[ism-1]->Reset();
00623 if ( meg02_[ism-1] ) meg02_[ism-1]->Reset();
00624 if ( meg03_[ism-1] ) meg03_[ism-1]->Reset();
00625 if ( meg04_[ism-1] ) meg04_[ism-1]->Reset();
00626
00627 if ( meg05_[ism-1] ) meg05_[ism-1]->Reset();
00628 if ( meg06_[ism-1] ) meg06_[ism-1]->Reset();
00629 if ( meg07_[ism-1] ) meg07_[ism-1]->Reset();
00630 if ( meg08_[ism-1] ) meg08_[ism-1]->Reset();
00631 if ( meg09_[ism-1] ) meg09_[ism-1]->Reset();
00632 if ( meg10_[ism-1] ) meg10_[ism-1]->Reset();
00633 if ( meg11_[ism-1] ) meg11_[ism-1]->Reset();
00634 if ( meg12_[ism-1] ) meg12_[ism-1]->Reset();
00635
00636 for ( int ix = 1; ix <= 50; ix++ ) {
00637 for ( int iy = 1; iy <= 50; iy++ ) {
00638
00639 if ( meg01_[ism-1] ) meg01_[ism-1]->setBinContent( ix, iy, 6. );
00640 if ( meg02_[ism-1] ) meg02_[ism-1]->setBinContent( ix, iy, 6. );
00641 if ( meg03_[ism-1] ) meg03_[ism-1]->setBinContent( ix, iy, 6. );
00642 if ( meg04_[ism-1] ) meg04_[ism-1]->setBinContent( ix, iy, 6. );
00643
00644 int jx = ix + Numbers::ix0EE(ism);
00645 int jy = iy + Numbers::iy0EE(ism);
00646
00647 if ( ism >= 1 && ism <= 9 ) jx = 101 - jx;
00648
00649 if ( Numbers::validEE(ism, jx, jy) ) {
00650 if ( meg01_[ism-1] ) meg01_[ism-1]->setBinContent( ix, iy, 2. );
00651 if ( meg02_[ism-1] ) meg02_[ism-1]->setBinContent( ix, iy, 2. );
00652 if ( meg03_[ism-1] ) meg03_[ism-1]->setBinContent( ix, iy, 2. );
00653 if ( meg04_[ism-1] ) meg04_[ism-1]->setBinContent( ix, iy, 2. );
00654 }
00655
00656 }
00657 }
00658
00659 for ( int i = 1; i <= 10; i++ ) {
00660
00661 if ( meg05_[ism-1] ) meg05_[ism-1]->setBinContent( i, 1, 2. );
00662 if ( meg06_[ism-1] ) meg06_[ism-1]->setBinContent( i, 1, 2. );
00663 if ( meg07_[ism-1] ) meg07_[ism-1]->setBinContent( i, 1, 2. );
00664 if ( meg08_[ism-1] ) meg08_[ism-1]->setBinContent( i, 1, 2. );
00665 if ( meg09_[ism-1] ) meg09_[ism-1]->setBinContent( i, 1, 2. );
00666 if ( meg10_[ism-1] ) meg10_[ism-1]->setBinContent( i, 1, 2. );
00667 if ( meg11_[ism-1] ) meg11_[ism-1]->setBinContent( i, 1, 2. );
00668 if ( meg12_[ism-1] ) meg12_[ism-1]->setBinContent( i, 1, 2. );
00669
00670 }
00671
00672 if ( mea01_[ism-1] ) mea01_[ism-1]->Reset();
00673 if ( mea02_[ism-1] ) mea02_[ism-1]->Reset();
00674 if ( mea03_[ism-1] ) mea03_[ism-1]->Reset();
00675 if ( mea04_[ism-1] ) mea04_[ism-1]->Reset();
00676 if ( mea05_[ism-1] ) mea05_[ism-1]->Reset();
00677 if ( mea06_[ism-1] ) mea06_[ism-1]->Reset();
00678 if ( mea07_[ism-1] ) mea07_[ism-1]->Reset();
00679 if ( mea08_[ism-1] ) mea08_[ism-1]->Reset();
00680
00681 if ( met01_[ism-1] ) met01_[ism-1]->Reset();
00682 if ( met02_[ism-1] ) met02_[ism-1]->Reset();
00683 if ( met03_[ism-1] ) met03_[ism-1]->Reset();
00684 if ( met04_[ism-1] ) met04_[ism-1]->Reset();
00685 if ( met05_[ism-1] ) met05_[ism-1]->Reset();
00686 if ( met06_[ism-1] ) met06_[ism-1]->Reset();
00687 if ( met07_[ism-1] ) met07_[ism-1]->Reset();
00688 if ( met08_[ism-1] ) met08_[ism-1]->Reset();
00689
00690 if ( metav01_[ism-1] ) metav01_[ism-1]->Reset();
00691 if ( metav02_[ism-1] ) metav02_[ism-1]->Reset();
00692 if ( metav03_[ism-1] ) metav03_[ism-1]->Reset();
00693 if ( metav04_[ism-1] ) metav04_[ism-1]->Reset();
00694 if ( metav05_[ism-1] ) metav05_[ism-1]->Reset();
00695 if ( metav06_[ism-1] ) metav06_[ism-1]->Reset();
00696 if ( metav07_[ism-1] ) metav07_[ism-1]->Reset();
00697 if ( metav08_[ism-1] ) metav08_[ism-1]->Reset();
00698
00699 if ( metrms01_[ism-1] ) metrms01_[ism-1]->Reset();
00700 if ( metrms02_[ism-1] ) metrms02_[ism-1]->Reset();
00701 if ( metrms03_[ism-1] ) metrms03_[ism-1]->Reset();
00702 if ( metrms04_[ism-1] ) metrms04_[ism-1]->Reset();
00703 if ( metrms05_[ism-1] ) metrms05_[ism-1]->Reset();
00704 if ( metrms06_[ism-1] ) metrms06_[ism-1]->Reset();
00705 if ( metrms07_[ism-1] ) metrms07_[ism-1]->Reset();
00706 if ( metrms08_[ism-1] ) metrms08_[ism-1]->Reset();
00707
00708 if ( meaopn01_[ism-1] ) meaopn01_[ism-1]->Reset();
00709 if ( meaopn02_[ism-1] ) meaopn02_[ism-1]->Reset();
00710 if ( meaopn03_[ism-1] ) meaopn03_[ism-1]->Reset();
00711 if ( meaopn04_[ism-1] ) meaopn04_[ism-1]->Reset();
00712 if ( meaopn05_[ism-1] ) meaopn05_[ism-1]->Reset();
00713 if ( meaopn06_[ism-1] ) meaopn06_[ism-1]->Reset();
00714 if ( meaopn07_[ism-1] ) meaopn07_[ism-1]->Reset();
00715 if ( meaopn08_[ism-1] ) meaopn08_[ism-1]->Reset();
00716
00717 if ( mepnprms01_[ism-1] ) mepnprms01_[ism-1]->Reset();
00718 if ( mepnprms02_[ism-1] ) mepnprms02_[ism-1]->Reset();
00719 if ( mepnprms03_[ism-1] ) mepnprms03_[ism-1]->Reset();
00720 if ( mepnprms04_[ism-1] ) mepnprms04_[ism-1]->Reset();
00721 if ( mepnprms05_[ism-1] ) mepnprms05_[ism-1]->Reset();
00722 if ( mepnprms06_[ism-1] ) mepnprms06_[ism-1]->Reset();
00723 if ( mepnprms07_[ism-1] ) mepnprms07_[ism-1]->Reset();
00724 if ( mepnprms08_[ism-1] ) mepnprms08_[ism-1]->Reset();
00725
00726 if ( me_hs01_[ism-1] ) me_hs01_[ism-1]->Reset();
00727 if ( me_hs02_[ism-1] ) me_hs02_[ism-1]->Reset();
00728 if ( me_hs03_[ism-1] ) me_hs03_[ism-1]->Reset();
00729 if ( me_hs04_[ism-1] ) me_hs04_[ism-1]->Reset();
00730 if ( me_hs05_[ism-1] ) me_hs05_[ism-1]->Reset();
00731 if ( me_hs06_[ism-1] ) me_hs06_[ism-1]->Reset();
00732 if ( me_hs07_[ism-1] ) me_hs07_[ism-1]->Reset();
00733 if ( me_hs08_[ism-1] ) me_hs08_[ism-1]->Reset();
00734
00735 }
00736
00737 }
00738
00739 void EELaserClient::cleanup(void) {
00740
00741 if ( ! enableCleanup_ ) return;
00742
00743 for ( unsigned int i=0; i<superModules_.size(); i++ ) {
00744
00745 int ism = superModules_[i];
00746
00747 if ( cloneME_ ) {
00748 if ( h01_[ism-1] ) delete h01_[ism-1];
00749 if ( h02_[ism-1] ) delete h02_[ism-1];
00750 if ( h03_[ism-1] ) delete h03_[ism-1];
00751 if ( h04_[ism-1] ) delete h04_[ism-1];
00752 if ( h05_[ism-1] ) delete h05_[ism-1];
00753 if ( h06_[ism-1] ) delete h06_[ism-1];
00754 if ( h07_[ism-1] ) delete h07_[ism-1];
00755 if ( h08_[ism-1] ) delete h08_[ism-1];
00756
00757 if ( h09_[ism-1] ) delete h09_[ism-1];
00758 if ( h10_[ism-1] ) delete h10_[ism-1];
00759 if ( h11_[ism-1] ) delete h11_[ism-1];
00760 if ( h12_[ism-1] ) delete h12_[ism-1];
00761
00762 if ( h13_[ism-1] ) delete h13_[ism-1];
00763 if ( h14_[ism-1] ) delete h14_[ism-1];
00764 if ( h15_[ism-1] ) delete h15_[ism-1];
00765 if ( h16_[ism-1] ) delete h16_[ism-1];
00766 if ( h17_[ism-1] ) delete h17_[ism-1];
00767 if ( h18_[ism-1] ) delete h18_[ism-1];
00768 if ( h19_[ism-1] ) delete h19_[ism-1];
00769 if ( h20_[ism-1] ) delete h20_[ism-1];
00770
00771 if ( h21_[ism-1] ) delete h21_[ism-1];
00772 if ( h22_[ism-1] ) delete h22_[ism-1];
00773 if ( h23_[ism-1] ) delete h23_[ism-1];
00774 if ( h24_[ism-1] ) delete h24_[ism-1];
00775
00776 if ( hs01_[ism-1] ) delete hs01_[ism-1];
00777 if ( hs02_[ism-1] ) delete hs02_[ism-1];
00778 if ( hs03_[ism-1] ) delete hs03_[ism-1];
00779 if ( hs04_[ism-1] ) delete hs04_[ism-1];
00780
00781 if ( hs05_[ism-1] ) delete hs05_[ism-1];
00782 if ( hs06_[ism-1] ) delete hs06_[ism-1];
00783 if ( hs07_[ism-1] ) delete hs07_[ism-1];
00784 if ( hs08_[ism-1] ) delete hs08_[ism-1];
00785
00786 if ( i01_[ism-1] ) delete i01_[ism-1];
00787 if ( i02_[ism-1] ) delete i02_[ism-1];
00788 if ( i03_[ism-1] ) delete i03_[ism-1];
00789 if ( i04_[ism-1] ) delete i04_[ism-1];
00790 if ( i05_[ism-1] ) delete i05_[ism-1];
00791 if ( i06_[ism-1] ) delete i06_[ism-1];
00792 if ( i07_[ism-1] ) delete i07_[ism-1];
00793 if ( i08_[ism-1] ) delete i08_[ism-1];
00794
00795 if ( i09_[ism-1] ) delete i09_[ism-1];
00796 if ( i10_[ism-1] ) delete i10_[ism-1];
00797 if ( i11_[ism-1] ) delete i11_[ism-1];
00798 if ( i12_[ism-1] ) delete i12_[ism-1];
00799 if ( i13_[ism-1] ) delete i13_[ism-1];
00800 if ( i14_[ism-1] ) delete i14_[ism-1];
00801 if ( i15_[ism-1] ) delete i15_[ism-1];
00802 if ( i16_[ism-1] ) delete i16_[ism-1];
00803 }
00804
00805 h01_[ism-1] = 0;
00806 h02_[ism-1] = 0;
00807 h03_[ism-1] = 0;
00808 h04_[ism-1] = 0;
00809 h05_[ism-1] = 0;
00810 h06_[ism-1] = 0;
00811 h07_[ism-1] = 0;
00812 h08_[ism-1] = 0;
00813
00814 h09_[ism-1] = 0;
00815 h10_[ism-1] = 0;
00816 h11_[ism-1] = 0;
00817 h12_[ism-1] = 0;
00818
00819 h13_[ism-1] = 0;
00820 h14_[ism-1] = 0;
00821 h15_[ism-1] = 0;
00822 h16_[ism-1] = 0;
00823 h17_[ism-1] = 0;
00824 h18_[ism-1] = 0;
00825 h19_[ism-1] = 0;
00826 h20_[ism-1] = 0;
00827
00828 h21_[ism-1] = 0;
00829 h22_[ism-1] = 0;
00830 h23_[ism-1] = 0;
00831 h24_[ism-1] = 0;
00832
00833 hs01_[ism-1] = 0;
00834 hs02_[ism-1] = 0;
00835 hs03_[ism-1] = 0;
00836 hs04_[ism-1] = 0;
00837
00838 hs05_[ism-1] = 0;
00839 hs06_[ism-1] = 0;
00840 hs07_[ism-1] = 0;
00841 hs08_[ism-1] = 0;
00842
00843 i01_[ism-1] = 0;
00844 i02_[ism-1] = 0;
00845 i03_[ism-1] = 0;
00846 i04_[ism-1] = 0;
00847 i05_[ism-1] = 0;
00848 i06_[ism-1] = 0;
00849 i07_[ism-1] = 0;
00850 i08_[ism-1] = 0;
00851
00852 i09_[ism-1] = 0;
00853 i10_[ism-1] = 0;
00854 i11_[ism-1] = 0;
00855 i12_[ism-1] = 0;
00856 i13_[ism-1] = 0;
00857 i14_[ism-1] = 0;
00858 i15_[ism-1] = 0;
00859 i16_[ism-1] = 0;
00860
00861 }
00862
00863 for ( unsigned int i=0; i<superModules_.size(); i++ ) {
00864
00865 int ism = superModules_[i];
00866
00867 dqmStore_->setCurrentFolder( prefixME_ + "/EELaserClient" );
00868
00869 if ( meg01_[ism-1] ) dqmStore_->removeElement( meg01_[ism-1]->getName() );
00870 meg01_[ism-1] = 0;
00871 if ( meg02_[ism-1] ) dqmStore_->removeElement( meg02_[ism-1]->getName() );
00872 meg02_[ism-1] = 0;
00873 if ( meg03_[ism-1] ) dqmStore_->removeElement( meg03_[ism-1]->getName() );
00874 meg03_[ism-1] = 0;
00875 if ( meg04_[ism-1] ) dqmStore_->removeElement( meg04_[ism-1]->getName() );
00876 meg04_[ism-1] = 0;
00877
00878 if ( meg05_[ism-1] ) dqmStore_->removeElement( meg05_[ism-1]->getName() );
00879 meg05_[ism-1] = 0;
00880 if ( meg06_[ism-1] ) dqmStore_->removeElement( meg06_[ism-1]->getName() );
00881 meg06_[ism-1] = 0;
00882 if ( meg07_[ism-1] ) dqmStore_->removeElement( meg07_[ism-1]->getName() );
00883 meg07_[ism-1] = 0;
00884 if ( meg08_[ism-1] ) dqmStore_->removeElement( meg08_[ism-1]->getName() );
00885 meg08_[ism-1] = 0;
00886 if ( meg09_[ism-1] ) dqmStore_->removeElement( meg09_[ism-1]->getName() );
00887 meg09_[ism-1] = 0;
00888 if ( meg10_[ism-1] ) dqmStore_->removeElement( meg10_[ism-1]->getName() );
00889 meg10_[ism-1] = 0;
00890 if ( meg11_[ism-1] ) dqmStore_->removeElement( meg11_[ism-1]->getName() );
00891 meg11_[ism-1] = 0;
00892 if ( meg12_[ism-1] ) dqmStore_->removeElement( meg12_[ism-1]->getName() );
00893 meg12_[ism-1] = 0;
00894
00895 if ( mea01_[ism-1] ) dqmStore_->removeElement( mea01_[ism-1]->getName() );
00896 mea01_[ism-1] = 0;
00897 if ( mea02_[ism-1] ) dqmStore_->removeElement( mea02_[ism-1]->getName() );
00898 mea02_[ism-1] = 0;
00899 if ( mea03_[ism-1] ) dqmStore_->removeElement( mea03_[ism-1]->getName() );
00900 mea03_[ism-1] = 0;
00901 if ( mea04_[ism-1] ) dqmStore_->removeElement( mea04_[ism-1]->getName() );
00902 mea04_[ism-1] = 0;
00903 if ( mea05_[ism-1] ) dqmStore_->removeElement( mea05_[ism-1]->getName() );
00904 mea05_[ism-1] = 0;
00905 if ( mea06_[ism-1] ) dqmStore_->removeElement( mea06_[ism-1]->getName() );
00906 mea06_[ism-1] = 0;
00907 if ( mea07_[ism-1] ) dqmStore_->removeElement( mea07_[ism-1]->getName() );
00908 mea07_[ism-1] = 0;
00909 if ( mea08_[ism-1] ) dqmStore_->removeElement( mea08_[ism-1]->getName() );
00910 mea08_[ism-1] = 0;
00911
00912 if ( met01_[ism-1] ) dqmStore_->removeElement( met01_[ism-1]->getName() );
00913 met01_[ism-1] = 0;
00914 if ( met02_[ism-1] ) dqmStore_->removeElement( met02_[ism-1]->getName() );
00915 met02_[ism-1] = 0;
00916 if ( met03_[ism-1] ) dqmStore_->removeElement( met03_[ism-1]->getName() );
00917 met03_[ism-1] = 0;
00918 if ( met04_[ism-1] ) dqmStore_->removeElement( met04_[ism-1]->getName() );
00919 met04_[ism-1] = 0;
00920 if ( met05_[ism-1] ) dqmStore_->removeElement( met05_[ism-1]->getName() );
00921 met05_[ism-1] = 0;
00922 if ( met06_[ism-1] ) dqmStore_->removeElement( met06_[ism-1]->getName() );
00923 met06_[ism-1] = 0;
00924 if ( met07_[ism-1] ) dqmStore_->removeElement( met07_[ism-1]->getName() );
00925 met07_[ism-1] = 0;
00926 if ( met08_[ism-1] ) dqmStore_->removeElement( met08_[ism-1]->getName() );
00927 met08_[ism-1] = 0;
00928
00929 if ( metav01_[ism-1] ) dqmStore_->removeElement( metav01_[ism-1]->getName() );
00930 metav01_[ism-1] = 0;
00931 if ( metav02_[ism-1] ) dqmStore_->removeElement( metav02_[ism-1]->getName() );
00932 metav02_[ism-1] = 0;
00933 if ( metav03_[ism-1] ) dqmStore_->removeElement( metav03_[ism-1]->getName() );
00934 metav03_[ism-1] = 0;
00935 if ( metav04_[ism-1] ) dqmStore_->removeElement( metav04_[ism-1]->getName() );
00936 metav04_[ism-1] = 0;
00937 if ( metav05_[ism-1] ) dqmStore_->removeElement( metav05_[ism-1]->getName() );
00938 metav05_[ism-1] = 0;
00939 if ( metav06_[ism-1] ) dqmStore_->removeElement( metav06_[ism-1]->getName() );
00940 metav06_[ism-1] = 0;
00941 if ( metav07_[ism-1] ) dqmStore_->removeElement( metav07_[ism-1]->getName() );
00942 metav07_[ism-1] = 0;
00943 if ( metav08_[ism-1] ) dqmStore_->removeElement( metav08_[ism-1]->getName() );
00944 metav08_[ism-1] = 0;
00945
00946 if ( metrms01_[ism-1] ) dqmStore_->removeElement( metrms01_[ism-1]->getName() );
00947 metrms01_[ism-1] = 0;
00948 if ( metrms02_[ism-1] ) dqmStore_->removeElement( metrms02_[ism-1]->getName() );
00949 metrms02_[ism-1] = 0;
00950 if ( metrms03_[ism-1] ) dqmStore_->removeElement( metrms03_[ism-1]->getName() );
00951 metrms03_[ism-1] = 0;
00952 if ( metrms04_[ism-1] ) dqmStore_->removeElement( metrms04_[ism-1]->getName() );
00953 metrms04_[ism-1] = 0;
00954 if ( metrms05_[ism-1] ) dqmStore_->removeElement( metrms05_[ism-1]->getName() );
00955 metrms05_[ism-1] = 0;
00956 if ( metrms06_[ism-1] ) dqmStore_->removeElement( metrms06_[ism-1]->getName() );
00957 metrms06_[ism-1] = 0;
00958 if ( metrms07_[ism-1] ) dqmStore_->removeElement( metrms07_[ism-1]->getName() );
00959 metrms07_[ism-1] = 0;
00960 if ( metrms08_[ism-1] ) dqmStore_->removeElement( metrms08_[ism-1]->getName() );
00961 metrms08_[ism-1] = 0;
00962
00963 if ( meaopn01_[ism-1] ) dqmStore_->removeElement( meaopn01_[ism-1]->getName() );
00964 meaopn01_[ism-1] = 0;
00965 if ( meaopn02_[ism-1] ) dqmStore_->removeElement( meaopn02_[ism-1]->getName() );
00966 meaopn02_[ism-1] = 0;
00967 if ( meaopn03_[ism-1] ) dqmStore_->removeElement( meaopn03_[ism-1]->getName() );
00968 meaopn03_[ism-1] = 0;
00969 if ( meaopn04_[ism-1] ) dqmStore_->removeElement( meaopn04_[ism-1]->getName() );
00970 meaopn04_[ism-1] = 0;
00971 if ( meaopn05_[ism-1] ) dqmStore_->removeElement( meaopn05_[ism-1]->getName() );
00972 meaopn05_[ism-1] = 0;
00973 if ( meaopn06_[ism-1] ) dqmStore_->removeElement( meaopn06_[ism-1]->getName() );
00974 meaopn06_[ism-1] = 0;
00975 if ( meaopn07_[ism-1] ) dqmStore_->removeElement( meaopn07_[ism-1]->getName() );
00976 meaopn07_[ism-1] = 0;
00977 if ( meaopn08_[ism-1] ) dqmStore_->removeElement( meaopn08_[ism-1]->getName() );
00978 meaopn08_[ism-1] = 0;
00979
00980 if ( mepnprms01_[ism-1] ) dqmStore_->removeElement( mepnprms01_[ism-1]->getName() );
00981 mepnprms01_[ism-1] = 0;
00982 if ( mepnprms02_[ism-1] ) dqmStore_->removeElement( mepnprms02_[ism-1]->getName() );
00983 mepnprms02_[ism-1] = 0;
00984 if ( mepnprms03_[ism-1] ) dqmStore_->removeElement( mepnprms03_[ism-1]->getName() );
00985 mepnprms03_[ism-1] = 0;
00986 if ( mepnprms04_[ism-1] ) dqmStore_->removeElement( mepnprms04_[ism-1]->getName() );
00987 mepnprms04_[ism-1] = 0;
00988 if ( mepnprms05_[ism-1] ) dqmStore_->removeElement( mepnprms05_[ism-1]->getName() );
00989 mepnprms05_[ism-1] = 0;
00990 if ( mepnprms06_[ism-1] ) dqmStore_->removeElement( mepnprms06_[ism-1]->getName() );
00991 mepnprms06_[ism-1] = 0;
00992 if ( mepnprms07_[ism-1] ) dqmStore_->removeElement( mepnprms07_[ism-1]->getName() );
00993 mepnprms07_[ism-1] = 0;
00994 if ( mepnprms08_[ism-1] ) dqmStore_->removeElement( mepnprms08_[ism-1]->getName() );
00995 mepnprms08_[ism-1] = 0;
00996
00997 if ( me_hs01_[ism-1] ) dqmStore_->removeElement( me_hs01_[ism-1]->getName() );
00998 me_hs01_[ism-1] = 0;
00999 if ( me_hs02_[ism-1] ) dqmStore_->removeElement( me_hs02_[ism-1]->getName() );
01000 me_hs02_[ism-1] = 0;
01001 if ( me_hs03_[ism-1] ) dqmStore_->removeElement( me_hs03_[ism-1]->getName() );
01002 me_hs03_[ism-1] = 0;
01003 if ( me_hs04_[ism-1] ) dqmStore_->removeElement( me_hs04_[ism-1]->getName() );
01004 me_hs04_[ism-1] = 0;
01005 if ( me_hs05_[ism-1] ) dqmStore_->removeElement( me_hs05_[ism-1]->getName() );
01006 me_hs05_[ism-1] = 0;
01007 if ( me_hs06_[ism-1] ) dqmStore_->removeElement( me_hs06_[ism-1]->getName() );
01008 me_hs06_[ism-1] = 0;
01009 if ( me_hs07_[ism-1] ) dqmStore_->removeElement( me_hs07_[ism-1]->getName() );
01010 me_hs07_[ism-1] = 0;
01011 if ( me_hs08_[ism-1] ) dqmStore_->removeElement( me_hs08_[ism-1]->getName() );
01012 me_hs08_[ism-1] = 0;
01013
01014 }
01015
01016 }
01017
01018 bool EELaserClient::writeDb(EcalCondDBInterface* econn, RunIOV* runiov, MonRunIOV* moniov, bool& status, bool flag) {
01019
01020 status = true;
01021
01022 if ( ! flag ) return false;
01023
01024 EcalLogicID ecid;
01025
01026 MonLaserBlueDat apd_bl;
01027 map<EcalLogicID, MonLaserBlueDat> dataset1_bl;
01028 MonLaserGreenDat apd_gr;
01029 map<EcalLogicID, MonLaserGreenDat> dataset1_gr;
01030 MonLaserIRedDat apd_ir;
01031 map<EcalLogicID, MonLaserIRedDat> dataset1_ir;
01032 MonLaserRedDat apd_rd;
01033 map<EcalLogicID, MonLaserRedDat> dataset1_rd;
01034
01035 for ( unsigned int i=0; i<superModules_.size(); i++ ) {
01036
01037 int ism = superModules_[i];
01038
01039 if ( verbose_ ) {
01040 cout << " " << Numbers::sEE(ism) << " (ism=" << ism << ")" << endl;
01041 cout << endl;
01042 UtilsClient::printBadChannels(meg01_[ism-1], h01_[ism-1]);
01043 UtilsClient::printBadChannels(meg01_[ism-1], h13_[ism-1]);
01044 UtilsClient::printBadChannels(meg02_[ism-1], h03_[ism-1]);
01045 UtilsClient::printBadChannels(meg02_[ism-1], h15_[ism-1]);
01046 UtilsClient::printBadChannels(meg03_[ism-1], h05_[ism-1]);
01047 UtilsClient::printBadChannels(meg03_[ism-1], h17_[ism-1]);
01048 UtilsClient::printBadChannels(meg04_[ism-1], h07_[ism-1]);
01049 UtilsClient::printBadChannels(meg04_[ism-1], h19_[ism-1]);
01050 }
01051
01052 for ( int ix = 1; ix <= 50; ix++ ) {
01053 for ( int iy = 1; iy <= 50; iy++ ) {
01054
01055 int jx = ix + Numbers::ix0EE(ism);
01056 int jy = iy + Numbers::iy0EE(ism);
01057
01058 if ( ism >= 1 && ism <= 9 ) jx = 101 - jx;
01059
01060 if ( ! Numbers::validEE(ism, jx, jy) ) continue;
01061
01062 bool update01;
01063 bool update02;
01064 bool update03;
01065 bool update04;
01066 bool update05;
01067 bool update06;
01068 bool update07;
01069 bool update08;
01070
01071 bool update09;
01072 bool update10;
01073 bool update11;
01074 bool update12;
01075 bool update13;
01076 bool update14;
01077 bool update15;
01078 bool update16;
01079
01080 float num01, num02, num03, num04, num05, num06, num07, num08;
01081 float mean01, mean02, mean03, mean04, mean05, mean06, mean07, mean08;
01082 float rms01, rms02, rms03, rms04, rms05, rms06, rms07, rms08;
01083
01084 float num09, num10, num11, num12, num13, num14, num15, num16;
01085 float mean09, mean10, mean11, mean12, mean13, mean14, mean15, mean16;
01086 float rms09, rms10, rms11, rms12, rms13, rms14, rms15, rms16;
01087
01088 update01 = UtilsClient::getBinStatistics(h01_[ism-1], ix, iy, num01, mean01, rms01);
01089 update02 = UtilsClient::getBinStatistics(h02_[ism-1], ix, iy, num02, mean02, rms02);
01090 update03 = UtilsClient::getBinStatistics(h03_[ism-1], ix, iy, num03, mean03, rms03);
01091 update04 = UtilsClient::getBinStatistics(h04_[ism-1], ix, iy, num04, mean04, rms04);
01092 update05 = UtilsClient::getBinStatistics(h05_[ism-1], ix, iy, num05, mean05, rms05);
01093 update06 = UtilsClient::getBinStatistics(h06_[ism-1], ix, iy, num06, mean06, rms06);
01094 update07 = UtilsClient::getBinStatistics(h07_[ism-1], ix, iy, num07, mean07, rms07);
01095 update08 = UtilsClient::getBinStatistics(h08_[ism-1], ix, iy, num08, mean08, rms08);
01096
01097 update09 = UtilsClient::getBinStatistics(h13_[ism-1], ix, iy, num09, mean09, rms09);
01098 update10 = UtilsClient::getBinStatistics(h14_[ism-1], ix, iy, num10, mean10, rms10);
01099 update11 = UtilsClient::getBinStatistics(h15_[ism-1], ix, iy, num11, mean11, rms11);
01100 update12 = UtilsClient::getBinStatistics(h16_[ism-1], ix, iy, num12, mean12, rms12);
01101 update13 = UtilsClient::getBinStatistics(h17_[ism-1], ix, iy, num13, mean13, rms13);
01102 update14 = UtilsClient::getBinStatistics(h18_[ism-1], ix, iy, num14, mean14, rms14);
01103 update15 = UtilsClient::getBinStatistics(h19_[ism-1], ix, iy, num15, mean15, rms15);
01104 update16 = UtilsClient::getBinStatistics(h20_[ism-1], ix, iy, num16, mean16, rms16);
01105
01106 if ( update01 || update02 ) {
01107
01108 if ( Numbers::icEE(ism, jx, jy) == 1 ) {
01109
01110 if ( verbose_ ) {
01111 cout << "Preparing dataset for " << Numbers::sEE(ism) << " (ism=" << ism << ")" << endl;
01112 cout << "L1A (" << Numbers::ix0EE(i+1)+ix << "," << Numbers::iy0EE(i+1)+iy << ") " << num01 << " " << mean01 << " " << rms01 << endl;
01113 cout << endl;
01114 }
01115
01116 }
01117
01118 apd_bl.setAPDMean(mean01);
01119 apd_bl.setAPDRMS(rms01);
01120
01121 apd_bl.setAPDOverPNMean(mean02);
01122 apd_bl.setAPDOverPNRMS(rms02);
01123
01124 if ( UtilsClient::getBinStatus(meg01_[ism-1], ix, iy) ) {
01125 apd_bl.setTaskStatus(true);
01126 } else {
01127 apd_bl.setTaskStatus(false);
01128 }
01129
01130 status = status && UtilsClient::getBinQuality(meg01_[ism-1], ix, iy);
01131
01132 int ic = Numbers::indexEE(ism, jx, jy);
01133
01134 if ( ic == -1 ) continue;
01135
01136 if ( econn ) {
01137 ecid = LogicID::getEcalLogicID("EE_crystal_number", Numbers::iSM(ism, EcalEndcap), ic);
01138 dataset1_bl[ecid] = apd_bl;
01139 }
01140
01141 }
01142
01143 if ( update09 || update10 ) {
01144
01145 if ( Numbers::icEE(ism, jx, jy) == 1 ) {
01146
01147 if ( verbose_ ) {
01148 cout << "Preparing dataset for " << Numbers::sEE(ism) << " (ism=" << ism << ")" << endl;
01149 cout << "L1B (" << Numbers::ix0EE(i+1)+ix << "," << Numbers::iy0EE(i+1)+iy << ") " << num09 << " " << mean09 << " " << rms09 << endl;
01150 cout << endl;
01151 }
01152
01153 }
01154
01155 apd_bl.setAPDMean(mean09);
01156 apd_bl.setAPDRMS(rms09);
01157
01158 apd_bl.setAPDOverPNMean(mean10);
01159 apd_bl.setAPDOverPNRMS(rms10);
01160
01161 if ( UtilsClient::getBinStatus(meg01_[ism-1], ix, iy) ) {
01162 apd_bl.setTaskStatus(true);
01163 } else {
01164 apd_bl.setTaskStatus(false);
01165 }
01166
01167 status = status && UtilsClient::getBinQuality(meg01_[ism-1], ix, iy);
01168
01169 int ic = Numbers::indexEE(ism, jx, jy);
01170
01171 if ( ic == -1 ) continue;
01172
01173 if ( econn ) {
01174 ecid = LogicID::getEcalLogicID("EE_crystal_number", Numbers::iSM(ism, EcalEndcap), ic);
01175 dataset1_bl[ecid] = apd_bl;
01176 }
01177
01178 }
01179
01180 if ( update03 || update04 ) {
01181
01182 if ( Numbers::icEE(ism, jx, jy) == 1 ) {
01183
01184 if ( verbose_ ) {
01185 cout << "Preparing dataset for " << Numbers::sEE(ism) << " (ism=" << ism << ")" << endl;
01186 cout << "L2A (" << Numbers::ix0EE(i+1)+ix << "," << Numbers::iy0EE(i+1)+iy << ") " << num03 << " " << mean03 << " " << rms03 << endl;
01187 cout << endl;
01188 }
01189
01190 }
01191
01192 apd_ir.setAPDMean(mean03);
01193 apd_ir.setAPDRMS(rms03);
01194
01195 apd_ir.setAPDOverPNMean(mean04);
01196 apd_ir.setAPDOverPNRMS(rms04);
01197
01198 if ( UtilsClient::getBinStatus(meg02_[ism-1], ix, iy) ) {
01199 apd_ir.setTaskStatus(true);
01200 } else {
01201 apd_ir.setTaskStatus(false);
01202 }
01203
01204 status = status && UtilsClient::getBinQuality(meg02_[ism-1], ix, iy);
01205
01206 int ic = Numbers::indexEE(ism, jx, jy);
01207
01208 if ( ic == -1 ) continue;
01209
01210 if ( econn ) {
01211 ecid = LogicID::getEcalLogicID("EE_crystal_number", Numbers::iSM(ism, EcalEndcap), ic);
01212 dataset1_ir[ecid] = apd_ir;
01213 }
01214
01215 }
01216
01217 if ( update11 || update12 ) {
01218
01219 if ( Numbers::icEE(ism, jx, jy) == 1 ) {
01220
01221 if ( verbose_ ) {
01222 cout << "Preparing dataset for " << Numbers::sEE(ism) << " (ism=" << ism << ")" << endl;
01223 cout << "L2B (" << Numbers::ix0EE(i+1)+ix << "," << Numbers::iy0EE(i+1)+iy << ") " << num11 << " " << mean11 << " " << rms11 << endl;
01224 cout << endl;
01225 }
01226
01227 }
01228
01229 apd_ir.setAPDMean(mean11);
01230 apd_ir.setAPDRMS(rms11);
01231
01232 apd_ir.setAPDOverPNMean(mean12);
01233 apd_ir.setAPDOverPNRMS(rms12);
01234
01235 if ( UtilsClient::getBinStatus(meg02_[ism-1], ix, iy) ) {
01236 apd_ir.setTaskStatus(true);
01237 } else {
01238 apd_ir.setTaskStatus(false);
01239 }
01240
01241 status = status && UtilsClient::getBinQuality(meg02_[ism-1], ix, iy);
01242
01243 int ic = Numbers::indexEE(ism, jx, jy);
01244
01245 if ( ic == -1 ) continue;
01246
01247 if ( econn ) {
01248 ecid = LogicID::getEcalLogicID("EE_crystal_number", Numbers::iSM(ism, EcalEndcap), ic);
01249 dataset1_ir[ecid] = apd_ir;
01250 }
01251
01252 }
01253
01254 if ( update05 || update06 ) {
01255
01256 if ( Numbers::icEE(ism, jx, jy) == 1 ) {
01257
01258 if ( verbose_ ) {
01259 cout << "Preparing dataset for " << Numbers::sEE(ism) << " (ism=" << ism << ")" << endl;
01260 cout << "L3A (" << Numbers::ix0EE(i+1)+ix << "," << Numbers::iy0EE(i+1)+iy << ") " << num05 << " " << mean05 << " " << rms05 << endl;
01261 cout << endl;
01262 }
01263
01264 }
01265
01266 apd_gr.setAPDMean(mean05);
01267 apd_gr.setAPDRMS(rms05);
01268
01269 apd_gr.setAPDOverPNMean(mean06);
01270 apd_gr.setAPDOverPNRMS(rms06);
01271
01272 if ( UtilsClient::getBinStatus(meg03_[ism-1], ix, iy) ) {
01273 apd_gr.setTaskStatus(true);
01274 } else {
01275 apd_gr.setTaskStatus(false);
01276 }
01277
01278 status = status && UtilsClient::getBinQuality(meg03_[ism-1], ix, iy);
01279
01280 int ic = Numbers::indexEE(ism, jx, jy);
01281
01282 if ( ic == -1 ) continue;
01283
01284 if ( econn ) {
01285 ecid = LogicID::getEcalLogicID("EE_crystal_number", Numbers::iSM(ism, EcalEndcap), ic);
01286 dataset1_gr[ecid] = apd_gr;
01287 }
01288
01289 }
01290
01291 if ( update13 || update14 ) {
01292
01293 if ( Numbers::icEE(ism, jx, jy) == 1 ) {
01294
01295 if ( verbose_ ) {
01296 cout << "Preparing dataset for " << Numbers::sEE(ism) << " (ism=" << ism << ")" << endl;
01297 cout << "L3B (" << Numbers::ix0EE(i+1)+ix << "," << Numbers::iy0EE(i+1)+iy << ") " << num13 << " " << mean13 << " " << rms13 << endl;
01298 cout << endl;
01299 }
01300
01301 }
01302
01303 apd_gr.setAPDMean(mean13);
01304 apd_gr.setAPDRMS(rms13);
01305
01306 apd_gr.setAPDOverPNMean(mean14);
01307 apd_gr.setAPDOverPNRMS(rms14);
01308
01309 if ( UtilsClient::getBinStatus(meg03_[ism-1], ix, iy) ) {
01310 apd_gr.setTaskStatus(true);
01311 } else {
01312 apd_gr.setTaskStatus(false);
01313 }
01314
01315 status = status && UtilsClient::getBinQuality(meg03_[ism-1], ix, iy);
01316
01317 int ic = Numbers::indexEE(ism, jx, jy);
01318
01319 if ( ic == -1 ) continue;
01320
01321 if ( econn ) {
01322 ecid = LogicID::getEcalLogicID("EE_crystal_number", Numbers::iSM(ism, EcalEndcap), ic);
01323 dataset1_gr[ecid] = apd_gr;
01324 }
01325
01326 }
01327
01328 if ( update07 || update08 ) {
01329
01330 if ( Numbers::icEE(ism, jx, jy) == 1 ) {
01331
01332 if ( verbose_ ) {
01333 cout << "Preparing dataset for " << Numbers::sEE(ism) << " (ism=" << ism << ")" << endl;
01334 cout << "L4A (" << Numbers::ix0EE(i+1)+ix << "," << Numbers::iy0EE(i+1)+iy << ") " << num07 << " " << mean07 << " " << rms07 << endl;
01335 cout << endl;
01336 }
01337
01338 }
01339
01340 apd_rd.setAPDMean(mean07);
01341 apd_rd.setAPDRMS(rms07);
01342
01343 apd_rd.setAPDOverPNMean(mean08);
01344 apd_rd.setAPDOverPNRMS(rms08);
01345
01346 if ( UtilsClient::getBinStatus(meg04_[ism-1], ix, iy) ) {
01347 apd_rd.setTaskStatus(true);
01348 } else {
01349 apd_rd.setTaskStatus(false);
01350 }
01351
01352 status = status && UtilsClient::getBinQuality(meg04_[ism-1], ix, iy);
01353
01354 int ic = Numbers::indexEE(ism, jx, jy);
01355
01356 if ( ic == -1 ) continue;
01357
01358 if ( econn ) {
01359 ecid = LogicID::getEcalLogicID("EE_crystal_number", Numbers::iSM(ism, EcalEndcap), ic);
01360 dataset1_rd[ecid] = apd_rd;
01361 }
01362
01363 }
01364
01365 if ( update15 || update16 ) {
01366
01367 if ( Numbers::icEE(ism, jx, jy) == 1 ) {
01368
01369 if ( verbose_ ) {
01370 cout << "Preparing dataset for " << Numbers::sEE(ism) << " (ism=" << ism << ")" << endl;
01371 cout << "L4B (" << Numbers::ix0EE(i+1)+ix << "," << Numbers::iy0EE(i+1)+iy << ") " << num15 << " " << mean15 << " " << rms15 << endl;
01372 cout << endl;
01373 }
01374
01375 }
01376
01377 apd_rd.setAPDMean(mean15);
01378 apd_rd.setAPDRMS(rms15);
01379
01380 apd_rd.setAPDOverPNMean(mean16);
01381 apd_rd.setAPDOverPNRMS(rms16);
01382
01383 if ( UtilsClient::getBinStatus(meg04_[ism-1], ix, iy) ) {
01384 apd_rd.setTaskStatus(true);
01385 } else {
01386 apd_rd.setTaskStatus(false);
01387 }
01388
01389 status = status && UtilsClient::getBinQuality(meg04_[ism-1], ix, iy);
01390
01391 int ic = Numbers::indexEE(ism, jx, jy);
01392
01393 if ( ic == -1 ) continue;
01394
01395 if ( econn ) {
01396 ecid = LogicID::getEcalLogicID("EE_crystal_number", Numbers::iSM(ism, EcalEndcap), ic);
01397 dataset1_rd[ecid] = apd_rd;
01398 }
01399
01400 }
01401
01402 }
01403 }
01404
01405 }
01406
01407 if ( econn ) {
01408 try {
01409 if ( verbose_ ) cout << "Inserting MonLaserDat ..." << endl;
01410 if ( dataset1_bl.size() != 0 ) econn->insertDataArraySet(&dataset1_bl, moniov);
01411 if ( dataset1_ir.size() != 0 ) econn->insertDataArraySet(&dataset1_ir, moniov);
01412 if ( dataset1_gr.size() != 0 ) econn->insertDataArraySet(&dataset1_gr, moniov);
01413 if ( dataset1_rd.size() != 0 ) econn->insertDataArraySet(&dataset1_rd, moniov);
01414 if ( verbose_ ) cout << "done." << endl;
01415 } catch (runtime_error &e) {
01416 cerr << e.what() << endl;
01417 }
01418 }
01419
01420 if ( verbose_ ) cout << endl;
01421
01422 MonPNBlueDat pn_bl;
01423 map<EcalLogicID, MonPNBlueDat> dataset2_bl;
01424 MonPNGreenDat pn_gr;
01425 map<EcalLogicID, MonPNGreenDat> dataset2_gr;
01426 MonPNIRedDat pn_ir;
01427 map<EcalLogicID, MonPNIRedDat> dataset2_ir;
01428 MonPNRedDat pn_rd;
01429 map<EcalLogicID, MonPNRedDat> dataset2_rd;
01430
01431 for ( unsigned int i=0; i<superModules_.size(); i++ ) {
01432
01433 int ism = superModules_[i];
01434
01435 if ( verbose_ ) {
01436 cout << " " << Numbers::sEE(ism) << " (ism=" << ism << ")" << endl;
01437 cout << endl;
01438 UtilsClient::printBadChannels(meg05_[ism-1], i01_[ism-1]);
01439 UtilsClient::printBadChannels(meg05_[ism-1], i05_[ism-1]);
01440 UtilsClient::printBadChannels(meg06_[ism-1], i02_[ism-1]);
01441 UtilsClient::printBadChannels(meg06_[ism-1], i06_[ism-1]);
01442 UtilsClient::printBadChannels(meg07_[ism-1], i03_[ism-1]);
01443 UtilsClient::printBadChannels(meg07_[ism-1], i07_[ism-1]);
01444 UtilsClient::printBadChannels(meg08_[ism-1], i04_[ism-1]);
01445 UtilsClient::printBadChannels(meg08_[ism-1], i08_[ism-1]);
01446 UtilsClient::printBadChannels(meg09_[ism-1], i09_[ism-1]);
01447 UtilsClient::printBadChannels(meg09_[ism-1], i13_[ism-1]);
01448 UtilsClient::printBadChannels(meg10_[ism-1], i10_[ism-1]);
01449 UtilsClient::printBadChannels(meg10_[ism-1], i14_[ism-1]);
01450 UtilsClient::printBadChannels(meg11_[ism-1], i11_[ism-1]);
01451 UtilsClient::printBadChannels(meg11_[ism-1], i15_[ism-1]);
01452 UtilsClient::printBadChannels(meg12_[ism-1], i12_[ism-1]);
01453 UtilsClient::printBadChannels(meg12_[ism-1], i16_[ism-1]);
01454 }
01455
01456 for ( int i = 1; i <= 10; i++ ) {
01457
01458 bool update01;
01459 bool update02;
01460 bool update03;
01461 bool update04;
01462 bool update05;
01463 bool update06;
01464 bool update07;
01465 bool update08;
01466 bool update09;
01467 bool update10;
01468 bool update11;
01469 bool update12;
01470 bool update13;
01471 bool update14;
01472 bool update15;
01473 bool update16;
01474
01475 float num01, num02, num03, num04, num05, num06, num07, num08;
01476 float num09, num10, num11, num12, num13, num14, num15, num16;
01477 float mean01, mean02, mean03, mean04, mean05, mean06, mean07, mean08;
01478 float mean09, mean10, mean11, mean12, mean13, mean14, mean15, mean16;
01479 float rms01, rms02, rms03, rms04, rms05, rms06, rms07, rms08;
01480 float rms09, rms10, rms11, rms12, rms13, rms14, rms15, rms16;
01481
01482 update01 = UtilsClient::getBinStatistics(i01_[ism-1], i, 0, num01, mean01, rms01);
01483 update02 = UtilsClient::getBinStatistics(i02_[ism-1], i, 0, num02, mean02, rms02);
01484 update03 = UtilsClient::getBinStatistics(i03_[ism-1], i, 0, num03, mean03, rms03);
01485 update04 = UtilsClient::getBinStatistics(i04_[ism-1], i, 0, num04, mean04, rms04);
01486 update05 = UtilsClient::getBinStatistics(i05_[ism-1], i, 0, num05, mean05, rms05);
01487 update06 = UtilsClient::getBinStatistics(i06_[ism-1], i, 0, num06, mean06, rms06);
01488 update07 = UtilsClient::getBinStatistics(i07_[ism-1], i, 0, num07, mean07, rms07);
01489 update08 = UtilsClient::getBinStatistics(i08_[ism-1], i, 0, num08, mean08, rms08);
01490 update09 = UtilsClient::getBinStatistics(i09_[ism-1], i, 0, num09, mean09, rms09);
01491 update10 = UtilsClient::getBinStatistics(i10_[ism-1], i, 0, num10, mean10, rms10);
01492 update11 = UtilsClient::getBinStatistics(i11_[ism-1], i, 0, num11, mean11, rms11);
01493 update12 = UtilsClient::getBinStatistics(i12_[ism-1], i, 0, num12, mean12, rms12);
01494 update13 = UtilsClient::getBinStatistics(i13_[ism-1], i, 0, num13, mean13, rms13);
01495 update14 = UtilsClient::getBinStatistics(i14_[ism-1], i, 0, num14, mean14, rms14);
01496 update15 = UtilsClient::getBinStatistics(i15_[ism-1], i, 0, num15, mean15, rms15);
01497 update16 = UtilsClient::getBinStatistics(i16_[ism-1], i, 0, num16, mean16, rms16);
01498
01499 if ( update01 || update05 || update09 || update13 ) {
01500
01501 if ( i == 1 ) {
01502
01503 if ( verbose_ ) {
01504 cout << "Preparing dataset for " << Numbers::sEE(ism) << " (ism=" << ism << ")" << endl;
01505 cout << "PNs (" << i << ") L1 G01 " << num01 << " " << mean01 << " " << rms01 << endl;
01506 cout << "PNs (" << i << ") L1 G16 " << num09 << " " << mean09 << " " << rms09 << endl;
01507 cout << endl;
01508 }
01509
01510 }
01511
01512 pn_bl.setADCMeanG1(mean01);
01513 pn_bl.setADCRMSG1(rms01);
01514
01515 pn_bl.setPedMeanG1(mean05);
01516 pn_bl.setPedRMSG1(rms05);
01517
01518 pn_bl.setADCMeanG16(mean09);
01519 pn_bl.setADCRMSG16(rms09);
01520
01521 pn_bl.setPedMeanG16(mean13);
01522 pn_bl.setPedRMSG16(rms13);
01523
01524 if ( UtilsClient::getBinStatus(meg05_[ism-1], i, 1) ||
01525 UtilsClient::getBinStatus(meg09_[ism-1], i, 1) ) {
01526 pn_bl.setTaskStatus(true);
01527 } else {
01528 pn_bl.setTaskStatus(false);
01529 }
01530
01531 status = status && ( UtilsClient::getBinQuality(meg05_[ism-1], i, 1) ||
01532 UtilsClient::getBinQuality(meg09_[ism-1], i, 1) );
01533
01534 if ( econn ) {
01535 ecid = LogicID::getEcalLogicID("EE_LM_PN", Numbers::iSM(ism, EcalEndcap), i-1);
01536 dataset2_bl[ecid] = pn_bl;
01537 }
01538
01539 }
01540
01541 if ( update02 || update06 || update10 || update14 ) {
01542
01543 if ( i == 1 ) {
01544
01545 if ( verbose_ ) {
01546 cout << "Preparing dataset for " << Numbers::sEE(ism) << " (ism=" << ism << ")" << endl;
01547 cout << "PNs (" << i << ") L2 G01 " << num02 << " " << mean02 << " " << rms02 << endl;
01548 cout << "PNs (" << i << ") L2 G16 " << num10 << " " << mean10 << " " << rms10 << endl;
01549 cout << endl;
01550 }
01551
01552 }
01553
01554 pn_ir.setADCMeanG1(mean02);
01555 pn_ir.setADCRMSG1(rms02);
01556
01557 pn_ir.setPedMeanG1(mean06);
01558 pn_ir.setPedRMSG1(rms06);
01559
01560 pn_ir.setADCMeanG16(mean10);
01561 pn_ir.setADCRMSG16(rms10);
01562
01563 pn_ir.setPedMeanG16(mean14);
01564 pn_ir.setPedRMSG16(rms14);
01565
01566 if ( UtilsClient::getBinStatus(meg06_[ism-1], i, 1) ||
01567 UtilsClient::getBinStatus(meg10_[ism-1], i, 1) ) {
01568 pn_ir.setTaskStatus(true);
01569 } else {
01570 pn_ir.setTaskStatus(false);
01571 }
01572
01573 status = status && ( UtilsClient::getBinQuality(meg06_[ism-1], i, 1) ||
01574 UtilsClient::getBinQuality(meg10_[ism-1], i, 1) );
01575
01576 if ( econn ) {
01577 ecid = LogicID::getEcalLogicID("EE_LM_PN", Numbers::iSM(ism, EcalEndcap), i-1);
01578 dataset2_ir[ecid] = pn_ir;
01579 }
01580
01581 }
01582
01583 if ( update03 || update07 || update11 || update15 ) {
01584
01585 if ( i == 1 ) {
01586
01587 if ( verbose_ ) {
01588 cout << "Preparing dataset for " << Numbers::sEE(ism) << " (ism=" << ism << ")" << endl;
01589 cout << "PNs (" << i << ") L3 G01 " << num03 << " " << mean03 << " " << rms03 << endl;
01590 cout << "PNs (" << i << ") L3 G16 " << num11 << " " << mean11 << " " << rms11 << endl;
01591 cout << endl;
01592 }
01593
01594 }
01595
01596 pn_gr.setADCMeanG1(mean03);
01597 pn_gr.setADCRMSG1(rms03);
01598
01599 pn_gr.setPedMeanG1(mean07);
01600 pn_gr.setPedRMSG1(rms07);
01601
01602 pn_gr.setADCMeanG16(mean11);
01603 pn_gr.setADCRMSG16(rms11);
01604
01605 pn_gr.setPedMeanG16(mean15);
01606 pn_gr.setPedRMSG16(rms15);
01607
01608 if ( UtilsClient::getBinStatus(meg07_[ism-1], i, 1) ||
01609 UtilsClient::getBinStatus(meg11_[ism-1], i, 1) ) {
01610 pn_gr.setTaskStatus(true);
01611 } else {
01612 pn_gr.setTaskStatus(false);
01613 }
01614
01615 status = status && ( UtilsClient::getBinQuality(meg07_[ism-1], i, 1) ||
01616 UtilsClient::getBinQuality(meg11_[ism-1], i, 1) );
01617
01618 if ( econn ) {
01619 ecid = LogicID::getEcalLogicID("EE_LM_PN", Numbers::iSM(ism, EcalEndcap), i-1);
01620 dataset2_gr[ecid] = pn_gr;
01621 }
01622
01623 }
01624
01625 if ( update04 || update08 || update12 || update16 ) {
01626
01627 if ( i == 1 ) {
01628
01629 if ( verbose_ ) {
01630 cout << "Preparing dataset for " << Numbers::sEE(ism) << " (ism=" << ism << ")" << endl;
01631 cout << "PNs (" << i << ") L4 G01 " << num04 << " " << mean04 << " " << rms04 << endl;
01632 cout << "PNs (" << i << ") L4 G16 " << num12 << " " << mean12 << " " << rms12 << endl;
01633 cout << endl;
01634 }
01635
01636 }
01637
01638 pn_rd.setADCMeanG1(mean04);
01639 pn_rd.setADCRMSG1(rms04);
01640
01641 pn_rd.setPedMeanG1(mean08);
01642 pn_rd.setPedRMSG1(mean08);
01643
01644 pn_rd.setADCMeanG16(mean12);
01645 pn_rd.setADCRMSG16(rms12);
01646
01647 pn_rd.setPedMeanG16(mean16);
01648 pn_rd.setPedRMSG16(rms16);
01649
01650 if ( UtilsClient::getBinStatus(meg08_[ism-1], i, 1) ||
01651 UtilsClient::getBinStatus(meg12_[ism-1], i, 1) ) {
01652 pn_rd.setTaskStatus(true);
01653 } else {
01654 pn_rd.setTaskStatus(false);
01655 }
01656
01657 status = status && ( UtilsClient::getBinQuality(meg08_[ism-1], i, 1) ||
01658 UtilsClient::getBinQuality(meg12_[ism-1], i, 1) );
01659
01660 if ( econn ) {
01661 ecid = LogicID::getEcalLogicID("EE_LM_PN", Numbers::iSM(ism, EcalEndcap), i-1);
01662 dataset2_rd[ecid] = pn_rd;
01663 }
01664
01665 }
01666
01667 }
01668
01669 }
01670
01671 if ( econn ) {
01672 try {
01673 if ( verbose_ ) cout << "Inserting MonPnDat ..." << endl;
01674 if ( dataset2_bl.size() != 0 ) econn->insertDataArraySet(&dataset2_bl, moniov);
01675 if ( dataset2_ir.size() != 0 ) econn->insertDataArraySet(&dataset2_ir, moniov);
01676 if ( dataset2_gr.size() != 0 ) econn->insertDataArraySet(&dataset2_gr, moniov);
01677 if ( dataset2_rd.size() != 0 ) econn->insertDataArraySet(&dataset2_rd, moniov);
01678 if ( verbose_ ) cout << "done." << endl;
01679 } catch (runtime_error &e) {
01680 cerr << e.what() << endl;
01681 }
01682 }
01683
01684 if ( verbose_ ) cout << endl;
01685
01686 MonTimingLaserBlueCrystalDat t_bl;
01687 map<EcalLogicID, MonTimingLaserBlueCrystalDat> dataset3_bl;
01688 MonTimingLaserGreenCrystalDat t_gr;
01689 map<EcalLogicID, MonTimingLaserGreenCrystalDat> dataset3_gr;
01690 MonTimingLaserIRedCrystalDat t_ir;
01691 map<EcalLogicID, MonTimingLaserIRedCrystalDat> dataset3_ir;
01692 MonTimingLaserRedCrystalDat t_rd;
01693 map<EcalLogicID, MonTimingLaserRedCrystalDat> dataset3_rd;
01694
01695 for ( unsigned int i=0; i<superModules_.size(); i++ ) {
01696
01697 int ism = superModules_[i];
01698
01699 if ( verbose_ ) {
01700 cout << " " << Numbers::sEE(ism) << " (ism=" << ism << ")" << endl;
01701 cout << endl;
01702 }
01703
01704 for ( int ix = 1; ix <= 50; ix++ ) {
01705 for ( int iy = 1; iy <= 50; iy++ ) {
01706
01707 int jx = ix + Numbers::ix0EE(ism);
01708 int jy = iy + Numbers::iy0EE(ism);
01709
01710 if ( ism >= 1 && ism <= 9 ) jx = 101 - jx;
01711
01712 if ( ! Numbers::validEE(ism, jx, jy) ) continue;
01713
01714 bool update01;
01715 bool update02;
01716 bool update03;
01717 bool update04;
01718 bool update05;
01719 bool update06;
01720 bool update07;
01721 bool update08;
01722
01723 float num01, num02, num03, num04, num05, num06, num07, num08;
01724 float mean01, mean02, mean03, mean04, mean05, mean06, mean07, mean08;
01725 float rms01, rms02, rms03, rms04, rms05, rms06, rms07, rms08;
01726
01727 update01 = UtilsClient::getBinStatistics(h09_[ism-1], ix, iy, num01, mean01, rms01);
01728 update02 = UtilsClient::getBinStatistics(h10_[ism-1], ix, iy, num02, mean02, rms02);
01729 update03 = UtilsClient::getBinStatistics(h11_[ism-1], ix, iy, num03, mean03, rms03);
01730 update04 = UtilsClient::getBinStatistics(h12_[ism-1], ix, iy, num04, mean04, rms04);
01731 update05 = UtilsClient::getBinStatistics(h21_[ism-1], ix, iy, num05, mean05, rms05);
01732 update06 = UtilsClient::getBinStatistics(h22_[ism-1], ix, iy, num06, mean06, rms06);
01733 update07 = UtilsClient::getBinStatistics(h23_[ism-1], ix, iy, num07, mean07, rms07);
01734 update08 = UtilsClient::getBinStatistics(h24_[ism-1], ix, iy, num08, mean08, rms08);
01735
01736 if ( update01 ) {
01737
01738 if ( Numbers::icEE(ism, ix, iy) == 1 ) {
01739
01740 if ( verbose_ ) {
01741 cout << "Preparing dataset for " << Numbers::sEE(ism) << " (ism=" << ism << ")" << endl;
01742 cout << "L1A crystal (" << Numbers::ix0EE(i+1)+ix << "," << Numbers::iy0EE(i+1)+iy << ") " << num01 << " " << mean01 << " " << rms01 << endl;
01743 cout << endl;
01744 }
01745
01746 }
01747
01748 t_bl.setTimingMean(mean01);
01749 t_bl.setTimingRMS(rms01);
01750
01751 if ( UtilsClient::getBinStatus(meg01_[ism-1], ix, iy) ) {
01752 t_bl.setTaskStatus(true);
01753 } else {
01754 t_bl.setTaskStatus(false);
01755 }
01756
01757 status = status && UtilsClient::getBinQuality(meg01_[ism-1], ix, iy);
01758
01759 int ic = Numbers::indexEE(ism, ix, iy);
01760
01761 if ( ic == -1 ) continue;
01762
01763 if ( econn ) {
01764 ecid = LogicID::getEcalLogicID("EE_crystal_number", Numbers::iSM(ism, EcalEndcap), ic);
01765 dataset3_bl[ecid] = t_bl;
01766 }
01767
01768 }
01769
01770 if ( update05 ) {
01771
01772 if ( Numbers::icEE(ism, ix, iy) == 1 ) {
01773
01774 if ( verbose_ ) {
01775 cout << "Preparing dataset for " << Numbers::sEE(ism) << " (ism=" << ism << ")" << endl;
01776 cout << "L1B crystal (" << Numbers::ix0EE(i+1)+ix << "," << Numbers::iy0EE(i+1)+iy << ") " << num05 << " " << mean05 << " " << rms05 << endl;
01777 cout << endl;
01778 }
01779
01780 }
01781
01782 t_bl.setTimingMean(mean05);
01783 t_bl.setTimingRMS(rms05);
01784
01785 if ( UtilsClient::getBinStatus(meg01_[ism-1], ix, iy) ) {
01786 t_bl.setTaskStatus(true);
01787 } else {
01788 t_bl.setTaskStatus(false);
01789 }
01790
01791 status = status && UtilsClient::getBinQuality(meg01_[ism-1], ix, iy);
01792
01793 int ic = Numbers::indexEE(ism, ix, iy);
01794
01795 if ( ic == -1 ) continue;
01796
01797 if ( econn ) {
01798 ecid = LogicID::getEcalLogicID("EE_crystal_number", Numbers::iSM(ism, EcalEndcap), ic);
01799 dataset3_bl[ecid] = t_bl;
01800 }
01801
01802 }
01803
01804 if ( update02 ) {
01805
01806 if ( Numbers::icEE(ism, ix, iy) == 1 ) {
01807
01808 if ( verbose_ ) {
01809 cout << "Preparing dataset for " << Numbers::sEE(ism) << " (ism=" << ism << ")" << endl;
01810 cout << "L2A crystal (" << Numbers::ix0EE(i+1)+ix << "," << Numbers::iy0EE(i+1)+iy << ") " << num02 << " " << mean02 << " " << rms02 << endl;
01811 cout << endl;
01812 }
01813
01814 }
01815
01816 t_gr.setTimingMean(mean02);
01817 t_gr.setTimingRMS(rms02);
01818
01819 if ( UtilsClient::getBinStatus(meg02_[ism-1], ix, iy) ) {
01820 t_gr.setTaskStatus(true);
01821 } else {
01822 t_gr.setTaskStatus(false);
01823 }
01824
01825 status = status && UtilsClient::getBinQuality(meg02_[ism-1], ix, iy);
01826
01827 int ic = Numbers::indexEE(ism, ix, iy);
01828
01829 if ( ic == -1 ) continue;
01830
01831 if ( econn ) {
01832 ecid = LogicID::getEcalLogicID("EE_crystal_number", Numbers::iSM(ism, EcalEndcap), ic);
01833 dataset3_gr[ecid] = t_gr;
01834 }
01835
01836 }
01837
01838 if ( update06 ) {
01839
01840 if ( Numbers::icEE(ism, ix, iy) == 1 ) {
01841
01842 if ( verbose_ ) {
01843 cout << "Preparing dataset for " << Numbers::sEE(ism) << " (ism=" << ism << ")" << endl;
01844 cout << "L2B crystal (" << Numbers::ix0EE(i+1)+ix << "," << Numbers::iy0EE(i+1)+iy << ") " << num06 << " " << mean06 << " " << rms06 << endl;
01845 cout << endl;
01846 }
01847
01848 }
01849
01850 t_gr.setTimingMean(mean06);
01851 t_gr.setTimingRMS(rms06);
01852
01853 if ( UtilsClient::getBinStatus(meg02_[ism-1], ix, iy) ) {
01854 t_gr.setTaskStatus(true);
01855 } else {
01856 t_gr.setTaskStatus(false);
01857 }
01858
01859 status = status && UtilsClient::getBinQuality(meg02_[ism-1], ix, iy);
01860
01861 int ic = Numbers::indexEE(ism, ix, iy);
01862
01863 if ( ic == -1 ) continue;
01864
01865 if ( econn ) {
01866 ecid = LogicID::getEcalLogicID("EE_crystal_number", Numbers::iSM(ism, EcalEndcap), ic);
01867 dataset3_gr[ecid] = t_gr;
01868 }
01869
01870 }
01871
01872 if ( update03 ) {
01873
01874 if ( Numbers::icEE(ism, ix, iy) == 1 ) {
01875
01876 if ( verbose_ ) {
01877 cout << "Preparing dataset for " << Numbers::sEE(ism) << " (ism=" << ism << ")" << endl;
01878 cout << "L3A crystal (" << Numbers::ix0EE(i+1)+ix << "," << Numbers::iy0EE(i+1)+iy << ") " << num03 << " " << mean03 << " " << rms03 << endl;
01879 cout << endl;
01880 }
01881
01882 }
01883
01884 t_ir.setTimingMean(mean03);
01885 t_ir.setTimingRMS(rms03);
01886
01887 if ( UtilsClient::getBinStatus(meg03_[ism-1], ix, iy) ) {
01888 t_ir.setTaskStatus(true);
01889 } else {
01890 t_ir.setTaskStatus(false);
01891 }
01892
01893 status = status && UtilsClient::getBinQuality(meg03_[ism-1], ix, iy);
01894
01895 int ic = Numbers::indexEE(ism, ix, iy);
01896
01897 if ( ic == -1 ) continue;
01898
01899 if ( econn ) {
01900 ecid = LogicID::getEcalLogicID("EE_crystal_number", Numbers::iSM(ism, EcalEndcap), ic);
01901 dataset3_ir[ecid] = t_ir;
01902 }
01903
01904 }
01905
01906 if ( update07 ) {
01907
01908 if ( Numbers::icEE(ism, ix, iy) == 1 ) {
01909
01910 if ( verbose_ ) {
01911 cout << "Preparing dataset for " << Numbers::sEE(ism) << " (ism=" << ism << ")" << endl;
01912 cout << "L3B crystal (" << Numbers::ix0EE(i+1)+ix << "," << Numbers::iy0EE(i+1)+iy << ") " << num07 << " " << mean07 << " " << rms07 << endl;
01913 cout << endl;
01914 }
01915
01916 }
01917
01918 t_ir.setTimingMean(mean07);
01919 t_ir.setTimingRMS(rms07);
01920
01921 if ( UtilsClient::getBinStatus(meg03_[ism-1], ix, iy) ) {
01922 t_ir.setTaskStatus(true);
01923 } else {
01924 t_ir.setTaskStatus(false);
01925 }
01926
01927 status = status && UtilsClient::getBinQuality(meg03_[ism-1], ix, iy);
01928
01929 int ic = Numbers::indexEE(ism, ix, iy);
01930
01931 if ( ic == -1 ) continue;
01932
01933 if ( econn ) {
01934 ecid = LogicID::getEcalLogicID("EE_crystal_number", Numbers::iSM(ism, EcalEndcap), ic);
01935 dataset3_ir[ecid] = t_ir;
01936 }
01937
01938 }
01939
01940 if ( update04 ) {
01941
01942 if ( Numbers::icEE(ism, ix, iy) == 1 ) {
01943
01944 if ( verbose_ ) {
01945 cout << "Preparing dataset for " << Numbers::sEE(ism) << " (ism=" << ism << ")" << endl;
01946 cout << "L4A crystal (" << Numbers::ix0EE(i+1)+ix << "," << Numbers::iy0EE(i+1)+iy << ") " << num04 << " " << mean04 << " " << rms04 << endl;
01947 cout << endl;
01948 }
01949
01950 }
01951
01952 t_rd.setTimingMean(mean04);
01953 t_rd.setTimingRMS(rms04);
01954
01955 if ( UtilsClient::getBinStatus(meg04_[ism-1], ix, iy) ) {
01956 t_rd.setTaskStatus(true);
01957 } else {
01958 t_rd.setTaskStatus(false);
01959 }
01960
01961 status = status && UtilsClient::getBinQuality(meg04_[ism-1], ix, iy);
01962
01963 int ic = Numbers::indexEE(ism, ix, iy);
01964
01965 if ( ic == -1 ) continue;
01966
01967 if ( econn ) {
01968 ecid = LogicID::getEcalLogicID("EE_crystal_number", Numbers::iSM(ism, EcalEndcap), ic);
01969 dataset3_rd[ecid] = t_rd;
01970 }
01971
01972 }
01973
01974 if ( update08 ) {
01975
01976 if ( Numbers::icEE(ism, ix, iy) == 1 ) {
01977
01978 if ( verbose_ ) {
01979 cout << "Preparing dataset for " << Numbers::sEE(ism) << " (ism=" << ism << ")" << endl;
01980 cout << "L4B crystal (" << Numbers::ix0EE(i+1)+ix << "," << Numbers::iy0EE(i+1)+iy << ") " << num08 << " " << mean08 << " " << rms08 << endl;
01981 cout << endl;
01982 }
01983
01984 }
01985
01986 t_bl.setTimingMean(mean08);
01987 t_bl.setTimingRMS(rms08);
01988
01989 if ( UtilsClient::getBinStatus(meg04_[ism-1], ix, iy) ) {
01990 t_rd.setTaskStatus(true);
01991 } else {
01992 t_rd.setTaskStatus(false);
01993 }
01994
01995 status = status && UtilsClient::getBinQuality(meg04_[ism-1], ix, iy);
01996
01997 int ic = Numbers::indexEE(ism, ix, iy);
01998
01999 if ( ic == -1 ) continue;
02000
02001 if ( econn ) {
02002 ecid = LogicID::getEcalLogicID("EE_crystal_number", Numbers::iSM(ism, EcalEndcap), ic);
02003 dataset3_rd[ecid] = t_rd;
02004 }
02005
02006 }
02007
02008 }
02009 }
02010
02011 }
02012
02013 if ( econn ) {
02014 try {
02015 if ( verbose_ ) cout << "Inserting MonTimingLaserCrystalDat ..." << endl;
02016 if ( dataset3_bl.size() != 0 ) econn->insertDataArraySet(&dataset3_bl, moniov);
02017 if ( dataset3_ir.size() != 0 ) econn->insertDataArraySet(&dataset3_ir, moniov);
02018 if ( dataset3_gr.size() != 0 ) econn->insertDataArraySet(&dataset3_gr, moniov);
02019 if ( dataset3_rd.size() != 0 ) econn->insertDataArraySet(&dataset3_rd, moniov);
02020 if ( verbose_ ) cout << "done." << endl;
02021 } catch (runtime_error &e) {
02022 cerr << e.what() << endl;
02023 }
02024 }
02025
02026 return true;
02027
02028 }
02029
02030 void EELaserClient::analyze(void) {
02031
02032 ievt_++;
02033 jevt_++;
02034 if ( ievt_ % 10 == 0 ) {
02035 if ( debug_ ) cout << "EELaserClient: ievt/jevt = " << ievt_ << "/" << jevt_ << endl;
02036 }
02037
02038 uint64_t bits01 = 0;
02039 bits01 |= EcalErrorDictionary::getMask("LASER_MEAN_WARNING");
02040 bits01 |= EcalErrorDictionary::getMask("LASER_RMS_WARNING");
02041 bits01 |= EcalErrorDictionary::getMask("LASER_MEAN_OVER_PN_WARNING");
02042 bits01 |= EcalErrorDictionary::getMask("LASER_RMS_OVER_PN_WARNING");
02043
02044 uint64_t bits02 = 0;
02045 bits02 |= EcalErrorDictionary::getMask("PEDESTAL_LOW_GAIN_MEAN_WARNING");
02046 bits02 |= EcalErrorDictionary::getMask("PEDESTAL_LOW_GAIN_RMS_WARNING");
02047 bits02 |= EcalErrorDictionary::getMask("PEDESTAL_LOW_GAIN_MEAN_ERROR");
02048 bits02 |= EcalErrorDictionary::getMask("PEDESTAL_LOW_GAIN_RMS_ERROR");
02049
02050 uint64_t bits03 = 0;
02051 bits03 |= EcalErrorDictionary::getMask("PEDESTAL_MIDDLE_GAIN_MEAN_WARNING");
02052 bits03 |= EcalErrorDictionary::getMask("PEDESTAL_MIDDLE_GAIN_RMS_WARNING");
02053 bits03 |= EcalErrorDictionary::getMask("PEDESTAL_MIDDLE_GAIN_MEAN_ERROR");
02054 bits03 |= EcalErrorDictionary::getMask("PEDESTAL_MIDDLE_GAIN_RMS_ERROR");
02055
02056 uint64_t bits04 = 0;
02057 bits04 |= EcalErrorDictionary::getMask("PEDESTAL_HIGH_GAIN_MEAN_WARNING");
02058 bits04 |= EcalErrorDictionary::getMask("PEDESTAL_HIGH_GAIN_RMS_WARNING");
02059 bits04 |= EcalErrorDictionary::getMask("PEDESTAL_HIGH_GAIN_MEAN_ERROR");
02060 bits04 |= EcalErrorDictionary::getMask("PEDESTAL_HIGH_GAIN_RMS_ERROR");
02061
02062 map<EcalLogicID, RunCrystalErrorsDat> mask1;
02063 map<EcalLogicID, RunPNErrorsDat> mask2;
02064 map<EcalLogicID, RunTTErrorsDat> mask3;
02065
02066 EcalErrorMask::fetchDataSet(&mask1);
02067 EcalErrorMask::fetchDataSet(&mask2);
02068 EcalErrorMask::fetchDataSet(&mask3);
02069
02070 char histo[200];
02071
02072 MonitorElement* me;
02073
02074 for ( unsigned int i=0; i<superModules_.size(); i++ ) {
02075
02076 int ism = superModules_[i];
02077
02078 sprintf(histo, (prefixME_ + "/EELaserTask/Laser1/EELT amplitude %s L1A").c_str(), Numbers::sEE(ism).c_str());
02079 me = dqmStore_->get(histo);
02080 h01_[ism-1] = UtilsClient::getHisto<TProfile2D*>( me, cloneME_, h01_[ism-1] );
02081
02082 sprintf(histo, (prefixME_ + "/EELaserTask/Laser1/EELT amplitude over PN %s L1A").c_str(), Numbers::sEE(ism).c_str());
02083 me = dqmStore_->get(histo);
02084 h02_[ism-1] = UtilsClient::getHisto<TProfile2D*>( me, cloneME_, h02_[ism-1] );
02085
02086 sprintf(histo, (prefixME_ + "/EELaserTask/Laser2/EELT amplitude %s L2A").c_str(), Numbers::sEE(ism).c_str());
02087 me = dqmStore_->get(histo);
02088 h03_[ism-1] = UtilsClient::getHisto<TProfile2D*>( me, cloneME_, h03_[ism-1] );
02089
02090 sprintf(histo, (prefixME_ + "/EELaserTask/Laser2/EELT amplitude over PN %s L2A").c_str(), Numbers::sEE(ism).c_str());
02091 me = dqmStore_->get(histo);
02092 h04_[ism-1] = UtilsClient::getHisto<TProfile2D*>( me, cloneME_, h04_[ism-1] );
02093
02094 sprintf(histo, (prefixME_ + "/EELaserTask/Laser3/EELT amplitude %s L3A").c_str(), Numbers::sEE(ism).c_str());
02095 me = dqmStore_->get(histo);
02096 h05_[ism-1] = UtilsClient::getHisto<TProfile2D*>( me, cloneME_, h05_[ism-1] );
02097
02098 sprintf(histo, (prefixME_ + "/EELaserTask/Laser3/EELT amplitude over PN %s L3A").c_str(), Numbers::sEE(ism).c_str());
02099 me = dqmStore_->get(histo);
02100 h06_[ism-1] = UtilsClient::getHisto<TProfile2D*>( me, cloneME_, h06_[ism-1] );
02101
02102 sprintf(histo, (prefixME_ + "/EELaserTask/Laser4/EELT amplitude %s L4A").c_str(), Numbers::sEE(ism).c_str());
02103 me = dqmStore_->get(histo);
02104 h07_[ism-1] = UtilsClient::getHisto<TProfile2D*>( me, cloneME_, h07_[ism-1] );
02105
02106 sprintf(histo, (prefixME_ + "/EELaserTask/Laser4/EELT amplitude over PN %s L4A").c_str(), Numbers::sEE(ism).c_str());
02107 me = dqmStore_->get(histo);
02108 h08_[ism-1] = UtilsClient::getHisto<TProfile2D*>( me, cloneME_, h08_[ism-1] );
02109
02110 sprintf(histo, (prefixME_ + "/EELaserTask/Laser1/EELT timing %s L1A").c_str(), Numbers::sEE(ism).c_str());
02111 me = dqmStore_->get(histo);
02112 h09_[ism-1] = UtilsClient::getHisto<TProfile2D*>( me, cloneME_, h09_[ism-1] );
02113
02114 sprintf(histo, (prefixME_ + "/EELaserTask/Laser2/EELT timing %s L2A").c_str(), Numbers::sEE(ism).c_str());
02115 me = dqmStore_->get(histo);
02116 h10_[ism-1] = UtilsClient::getHisto<TProfile2D*>( me, cloneME_, h10_[ism-1] );
02117
02118 sprintf(histo, (prefixME_ + "/EELaserTask/Laser3/EELT timing %s L3A").c_str(), Numbers::sEE(ism).c_str());
02119 me = dqmStore_->get(histo);
02120 h11_[ism-1] = UtilsClient::getHisto<TProfile2D*>( me, cloneME_, h11_[ism-1] );
02121
02122 sprintf(histo, (prefixME_ + "/EELaserTask/Laser4/EELT timing %s L4A").c_str(), Numbers::sEE(ism).c_str());
02123 me = dqmStore_->get(histo);
02124 h12_[ism-1] = UtilsClient::getHisto<TProfile2D*>( me, cloneME_, h12_[ism-1] );
02125
02126 sprintf(histo, (prefixME_ + "/EELaserTask/Laser1/EELT amplitude %s L1B").c_str(), Numbers::sEE(ism).c_str());
02127 me = dqmStore_->get(histo);
02128 h13_[ism-1] = UtilsClient::getHisto<TProfile2D*>( me, cloneME_, h13_[ism-1] );
02129
02130 sprintf(histo, (prefixME_ + "/EELaserTask/Laser1/EELT amplitude over PN %s L1B").c_str(), Numbers::sEE(ism).c_str());
02131 me = dqmStore_->get(histo);
02132 h14_[ism-1] = UtilsClient::getHisto<TProfile2D*>( me, cloneME_, h14_[ism-1] );
02133
02134 sprintf(histo, (prefixME_ + "/EELaserTask/Laser2/EELT amplitude %s L2B").c_str(), Numbers::sEE(ism).c_str());
02135 me = dqmStore_->get(histo);
02136 h15_[ism-1] = UtilsClient::getHisto<TProfile2D*>( me, cloneME_, h15_[ism-1] );
02137
02138 sprintf(histo, (prefixME_ + "/EELaserTask/Laser2/EELT amplitude over PN %s L2B").c_str(), Numbers::sEE(ism).c_str());
02139 me = dqmStore_->get(histo);
02140 h16_[ism-1] = UtilsClient::getHisto<TProfile2D*>( me, cloneME_, h16_[ism-1] );
02141
02142 sprintf(histo, (prefixME_ + "/EELaserTask/Laser3/EELT amplitude %s L3B").c_str(), Numbers::sEE(ism).c_str());
02143 me = dqmStore_->get(histo);
02144 h17_[ism-1] = UtilsClient::getHisto<TProfile2D*>( me, cloneME_, h17_[ism-1] );
02145
02146 sprintf(histo, (prefixME_ + "/EELaserTask/Laser3/EELT amplitude over PN %s L3B").c_str(), Numbers::sEE(ism).c_str());
02147 me = dqmStore_->get(histo);
02148 h18_[ism-1] = UtilsClient::getHisto<TProfile2D*>( me, cloneME_, h18_[ism-1] );
02149
02150 sprintf(histo, (prefixME_ + "/EELaserTask/Laser4/EELT amplitude %s L4B").c_str(), Numbers::sEE(ism).c_str());
02151 me = dqmStore_->get(histo);
02152 h19_[ism-1] = UtilsClient::getHisto<TProfile2D*>( me, cloneME_, h19_[ism-1] );
02153
02154 sprintf(histo, (prefixME_ + "/EELaserTask/Laser4/EELT amplitude over PN %s L4B").c_str(), Numbers::sEE(ism).c_str());
02155 me = dqmStore_->get(histo);
02156 h20_[ism-1] = UtilsClient::getHisto<TProfile2D*>( me, cloneME_, h20_[ism-1] );
02157
02158 sprintf(histo, (prefixME_ + "/EELaserTask/Laser1/EELT timing %s L1B").c_str(), Numbers::sEE(ism).c_str());
02159 me = dqmStore_->get(histo);
02160 h21_[ism-1] = UtilsClient::getHisto<TProfile2D*>( me, cloneME_, h21_[ism-1] );
02161
02162 sprintf(histo, (prefixME_ + "/EELaserTask/Laser2/EELT timing %s L2B").c_str(), Numbers::sEE(ism).c_str());
02163 me = dqmStore_->get(histo);
02164 h22_[ism-1] = UtilsClient::getHisto<TProfile2D*>( me, cloneME_, h22_[ism-1] );
02165
02166 sprintf(histo, (prefixME_ + "/EELaserTask/Laser3/EELT timing %s L3B").c_str(), Numbers::sEE(ism).c_str());
02167 me = dqmStore_->get(histo);
02168 h23_[ism-1] = UtilsClient::getHisto<TProfile2D*>( me, cloneME_, h23_[ism-1] );
02169
02170 sprintf(histo, (prefixME_ + "/EELaserTask/Laser4/EELT timing %s L4B").c_str(), Numbers::sEE(ism).c_str());
02171 me = dqmStore_->get(histo);
02172 h24_[ism-1] = UtilsClient::getHisto<TProfile2D*>( me, cloneME_, h24_[ism-1] );
02173
02174 sprintf(histo, (prefixME_ + "/EELaserTask/Laser1/EELT shape %s L1A").c_str(), Numbers::sEE(ism).c_str());
02175 me = dqmStore_->get(histo);
02176 hs01_[ism-1] = UtilsClient::getHisto<TProfile2D*>( me, cloneME_, hs01_[ism-1] );
02177
02178 sprintf(histo, (prefixME_ + "/EELaserTask/Laser2/EELT shape %s L2A").c_str(), Numbers::sEE(ism).c_str());
02179 me = dqmStore_->get(histo);
02180 hs02_[ism-1] = UtilsClient::getHisto<TProfile2D*>( me, cloneME_, hs02_[ism-1] );
02181
02182 sprintf(histo, (prefixME_ + "/EELaserTask/Laser3/EELT shape %s L3A").c_str(), Numbers::sEE(ism).c_str());
02183 me = dqmStore_->get(histo);
02184 hs03_[ism-1] = UtilsClient::getHisto<TProfile2D*>( me, cloneME_, hs03_[ism-1] );
02185
02186 sprintf(histo, (prefixME_ + "/EELaserTask/Laser4/EELT shape %s L4A").c_str(), Numbers::sEE(ism).c_str());
02187 me = dqmStore_->get(histo);
02188 hs04_[ism-1] = UtilsClient::getHisto<TProfile2D*>( me, cloneME_, hs04_[ism-1] );
02189
02190 sprintf(histo, (prefixME_ + "/EELaserTask/Laser1/EELT shape %s L1B").c_str(), Numbers::sEE(ism).c_str());
02191 me = dqmStore_->get(histo);
02192 hs05_[ism-1] = UtilsClient::getHisto<TProfile2D*>( me, cloneME_, hs05_[ism-1] );
02193
02194 sprintf(histo, (prefixME_ + "/EELaserTask/Laser2/EELT shape %s L2B").c_str(), Numbers::sEE(ism).c_str());
02195 me = dqmStore_->get(histo);
02196 hs06_[ism-1] = UtilsClient::getHisto<TProfile2D*>( me, cloneME_, hs06_[ism-1] );
02197
02198 sprintf(histo, (prefixME_ + "/EELaserTask/Laser3/EELT shape %s L3B").c_str(), Numbers::sEE(ism).c_str());
02199 me = dqmStore_->get(histo);
02200 hs07_[ism-1] = UtilsClient::getHisto<TProfile2D*>( me, cloneME_, hs07_[ism-1] );
02201
02202 sprintf(histo, (prefixME_ + "/EELaserTask/Laser4/EELT shape %s L4B").c_str(), Numbers::sEE(ism).c_str());
02203 me = dqmStore_->get(histo);
02204 hs08_[ism-1] = UtilsClient::getHisto<TProfile2D*>( me, cloneME_, hs08_[ism-1] );
02205
02206 sprintf(histo, (prefixME_ + "/EELaserTask/Laser1/PN/Gain01/EEPDT PNs amplitude %s G01 L1").c_str(), Numbers::sEE(ism).c_str());
02207 me = dqmStore_->get(histo);
02208 i01_[ism-1] = UtilsClient::getHisto<TProfile*>( me, cloneME_, i01_[ism-1] );
02209
02210 sprintf(histo, (prefixME_ + "/EELaserTask/Laser2/PN/Gain01/EEPDT PNs amplitude %s G01 L2").c_str(), Numbers::sEE(ism).c_str());
02211 me = dqmStore_->get(histo);
02212 i02_[ism-1] = UtilsClient::getHisto<TProfile*>( me, cloneME_, i02_[ism-1] );
02213
02214 sprintf(histo, (prefixME_ + "/EELaserTask/Laser3/PN/Gain01/EEPDT PNs amplitude %s G01 L3").c_str(), Numbers::sEE(ism).c_str());
02215 me = dqmStore_->get(histo);
02216 i03_[ism-1] = UtilsClient::getHisto<TProfile*>( me, cloneME_, i03_[ism-1] );
02217
02218 sprintf(histo, (prefixME_ + "/EELaserTask/Laser4/PN/Gain01/EEPDT PNs amplitude %s G01 L4").c_str(), Numbers::sEE(ism).c_str());
02219 me = dqmStore_->get(histo);
02220 i04_[ism-1] = UtilsClient::getHisto<TProfile*>( me, cloneME_, i04_[ism-1] );
02221
02222 sprintf(histo, (prefixME_ + "/EELaserTask/Laser1/PN/Gain01/EEPDT PNs pedestal %s G01 L1").c_str(), Numbers::sEE(ism).c_str());
02223 me = dqmStore_->get(histo);
02224 i05_[ism-1] = UtilsClient::getHisto<TProfile*>( me, cloneME_, i05_[ism-1] );
02225
02226 sprintf(histo, (prefixME_ + "/EELaserTask/Laser2/PN/Gain01/EEPDT PNs pedestal %s G01 L2").c_str(), Numbers::sEE(ism).c_str());
02227 me = dqmStore_->get(histo);
02228 i06_[ism-1] = UtilsClient::getHisto<TProfile*>( me, cloneME_, i06_[ism-1] );
02229
02230 sprintf(histo, (prefixME_ + "/EELaserTask/Laser3/PN/Gain01/EEPDT PNs pedestal %s G01 L3").c_str(), Numbers::sEE(ism).c_str());
02231 me = dqmStore_->get(histo);
02232 i07_[ism-1] = UtilsClient::getHisto<TProfile*>( me, cloneME_, i07_[ism-1] );
02233
02234 sprintf(histo, (prefixME_ + "/EELaserTask/Laser4/PN/Gain01/EEPDT PNs pedestal %s G01 L4").c_str(), Numbers::sEE(ism).c_str());
02235 me = dqmStore_->get(histo);
02236 i08_[ism-1] = UtilsClient::getHisto<TProfile*>( me, cloneME_, i08_[ism-1] );
02237
02238 sprintf(histo, (prefixME_ + "/EELaserTask/Laser1/PN/Gain16/EEPDT PNs amplitude %s G16 L1").c_str(), Numbers::sEE(ism).c_str());
02239 me = dqmStore_->get(histo);
02240 i09_[ism-1] = UtilsClient::getHisto<TProfile*>( me, cloneME_, i09_[ism-1] );
02241
02242 sprintf(histo, (prefixME_ + "/EELaserTask/Laser2/PN/Gain16/EEPDT PNs amplitude %s G16 L2").c_str(), Numbers::sEE(ism).c_str());
02243 me = dqmStore_->get(histo);
02244 i10_[ism-1] = UtilsClient::getHisto<TProfile*>( me, cloneME_, i10_[ism-1] );
02245
02246 sprintf(histo, (prefixME_ + "/EELaserTask/Laser3/PN/Gain16/EEPDT PNs amplitude %s G16 L3").c_str(), Numbers::sEE(ism).c_str());
02247 me = dqmStore_->get(histo);
02248 i11_[ism-1] = UtilsClient::getHisto<TProfile*>( me, cloneME_, i11_[ism-1] );
02249
02250 sprintf(histo, (prefixME_ + "/EELaserTask/Laser4/PN/Gain16/EEPDT PNs amplitude %s G16 L4").c_str(), Numbers::sEE(ism).c_str());
02251 me = dqmStore_->get(histo);
02252 i12_[ism-1] = UtilsClient::getHisto<TProfile*>( me, cloneME_, i12_[ism-1] );
02253
02254 sprintf(histo, (prefixME_ + "/EELaserTask/Laser1/PN/Gain16/EEPDT PNs pedestal %s G16 L1").c_str(), Numbers::sEE(ism).c_str());
02255 me = dqmStore_->get(histo);
02256 i13_[ism-1] = UtilsClient::getHisto<TProfile*>( me, cloneME_, i13_[ism-1] );
02257
02258 sprintf(histo, (prefixME_ + "/EELaserTask/Laser2/PN/Gain16/EEPDT PNs pedestal %s G16 L2").c_str(), Numbers::sEE(ism).c_str());
02259 me = dqmStore_->get(histo);
02260 i14_[ism-1] = UtilsClient::getHisto<TProfile*>( me, cloneME_, i14_[ism-1] );
02261
02262 sprintf(histo, (prefixME_ + "/EELaserTask/Laser3/PN/Gain16/EEPDT PNs pedestal %s G16 L3").c_str(), Numbers::sEE(ism).c_str());
02263 me = dqmStore_->get(histo);
02264 i15_[ism-1] = UtilsClient::getHisto<TProfile*>( me, cloneME_, i15_[ism-1] );
02265
02266 sprintf(histo, (prefixME_ + "/EELaserTask/Laser4/PN/Gain16/EEPDT PNs pedestal %s G16 L4").c_str(), Numbers::sEE(ism).c_str());
02267 me = dqmStore_->get(histo);
02268 i16_[ism-1] = UtilsClient::getHisto<TProfile*>( me, cloneME_, i16_[ism-1] );
02269
02270 if ( meg01_[ism-1] ) meg01_[ism-1]->Reset();
02271 if ( meg02_[ism-1] ) meg02_[ism-1]->Reset();
02272 if ( meg03_[ism-1] ) meg03_[ism-1]->Reset();
02273 if ( meg04_[ism-1] ) meg04_[ism-1]->Reset();
02274
02275 if ( meg05_[ism-1] ) meg05_[ism-1]->Reset();
02276 if ( meg06_[ism-1] ) meg06_[ism-1]->Reset();
02277 if ( meg07_[ism-1] ) meg07_[ism-1]->Reset();
02278 if ( meg08_[ism-1] ) meg08_[ism-1]->Reset();
02279 if ( meg09_[ism-1] ) meg09_[ism-1]->Reset();
02280 if ( meg10_[ism-1] ) meg10_[ism-1]->Reset();
02281 if ( meg11_[ism-1] ) meg11_[ism-1]->Reset();
02282 if ( meg12_[ism-1] ) meg12_[ism-1]->Reset();
02283
02284 if ( mea01_[ism-1] ) mea01_[ism-1]->Reset();
02285 if ( mea02_[ism-1] ) mea02_[ism-1]->Reset();
02286 if ( mea03_[ism-1] ) mea03_[ism-1]->Reset();
02287 if ( mea04_[ism-1] ) mea04_[ism-1]->Reset();
02288 if ( mea05_[ism-1] ) mea05_[ism-1]->Reset();
02289 if ( mea06_[ism-1] ) mea06_[ism-1]->Reset();
02290 if ( mea07_[ism-1] ) mea07_[ism-1]->Reset();
02291 if ( mea08_[ism-1] ) mea08_[ism-1]->Reset();
02292
02293 if ( met01_[ism-1] ) met01_[ism-1]->Reset();
02294 if ( met02_[ism-1] ) met02_[ism-1]->Reset();
02295 if ( met03_[ism-1] ) met03_[ism-1]->Reset();
02296 if ( met04_[ism-1] ) met04_[ism-1]->Reset();
02297 if ( met05_[ism-1] ) met05_[ism-1]->Reset();
02298 if ( met06_[ism-1] ) met06_[ism-1]->Reset();
02299 if ( met07_[ism-1] ) met07_[ism-1]->Reset();
02300 if ( met08_[ism-1] ) met08_[ism-1]->Reset();
02301
02302 if ( metav01_[ism-1] ) metav01_[ism-1]->Reset();
02303 if ( metav02_[ism-1] ) metav02_[ism-1]->Reset();
02304 if ( metav03_[ism-1] ) metav03_[ism-1]->Reset();
02305 if ( metav04_[ism-1] ) metav04_[ism-1]->Reset();
02306 if ( metav05_[ism-1] ) metav05_[ism-1]->Reset();
02307 if ( metav06_[ism-1] ) metav06_[ism-1]->Reset();
02308 if ( metav07_[ism-1] ) metav07_[ism-1]->Reset();
02309 if ( metav08_[ism-1] ) metav08_[ism-1]->Reset();
02310
02311 if ( metrms01_[ism-1] ) metrms01_[ism-1]->Reset();
02312 if ( metrms02_[ism-1] ) metrms02_[ism-1]->Reset();
02313 if ( metrms03_[ism-1] ) metrms03_[ism-1]->Reset();
02314 if ( metrms04_[ism-1] ) metrms04_[ism-1]->Reset();
02315 if ( metrms05_[ism-1] ) metrms05_[ism-1]->Reset();
02316 if ( metrms06_[ism-1] ) metrms06_[ism-1]->Reset();
02317 if ( metrms07_[ism-1] ) metrms07_[ism-1]->Reset();
02318 if ( metrms08_[ism-1] ) metrms08_[ism-1]->Reset();
02319
02320 if ( meaopn01_[ism-1] ) meaopn01_[ism-1]->Reset();
02321 if ( meaopn02_[ism-1] ) meaopn02_[ism-1]->Reset();
02322 if ( meaopn03_[ism-1] ) meaopn03_[ism-1]->Reset();
02323 if ( meaopn04_[ism-1] ) meaopn04_[ism-1]->Reset();
02324 if ( meaopn05_[ism-1] ) meaopn05_[ism-1]->Reset();
02325 if ( meaopn06_[ism-1] ) meaopn06_[ism-1]->Reset();
02326 if ( meaopn07_[ism-1] ) meaopn07_[ism-1]->Reset();
02327 if ( meaopn08_[ism-1] ) meaopn08_[ism-1]->Reset();
02328
02329 if ( mepnprms01_[ism-1] ) mepnprms01_[ism-1]->Reset();
02330 if ( mepnprms02_[ism-1] ) mepnprms02_[ism-1]->Reset();
02331 if ( mepnprms03_[ism-1] ) mepnprms03_[ism-1]->Reset();
02332 if ( mepnprms04_[ism-1] ) mepnprms04_[ism-1]->Reset();
02333 if ( mepnprms05_[ism-1] ) mepnprms05_[ism-1]->Reset();
02334 if ( mepnprms06_[ism-1] ) mepnprms06_[ism-1]->Reset();
02335 if ( mepnprms07_[ism-1] ) mepnprms07_[ism-1]->Reset();
02336 if ( mepnprms08_[ism-1] ) mepnprms08_[ism-1]->Reset();
02337
02338 if ( me_hs01_[ism-1] ) me_hs01_[ism-1]->Reset();
02339 if ( me_hs02_[ism-1] ) me_hs02_[ism-1]->Reset();
02340 if ( me_hs03_[ism-1] ) me_hs03_[ism-1]->Reset();
02341 if ( me_hs04_[ism-1] ) me_hs04_[ism-1]->Reset();
02342 if ( me_hs05_[ism-1] ) me_hs05_[ism-1]->Reset();
02343 if ( me_hs06_[ism-1] ) me_hs06_[ism-1]->Reset();
02344 if ( me_hs07_[ism-1] ) me_hs07_[ism-1]->Reset();
02345 if ( me_hs08_[ism-1] ) me_hs08_[ism-1]->Reset();
02346
02347 float meanAmplL1A, meanAmplL2A, meanAmplL3A, meanAmplL4A;
02348 float meanAmplL1B, meanAmplL2B, meanAmplL3B, meanAmplL4B;
02349
02350 int nCryL1A, nCryL2A, nCryL3A, nCryL4A;
02351 int nCryL1B, nCryL2B, nCryL3B, nCryL4B;
02352
02353 meanAmplL1A = meanAmplL2A = meanAmplL3A = meanAmplL4A = 0.;
02354 meanAmplL1B = meanAmplL2B = meanAmplL3B = meanAmplL4B = 0.;
02355
02356 nCryL1A = nCryL2A = nCryL3A = nCryL4A = 0;
02357 nCryL1B = nCryL2B = nCryL3B = nCryL4B = 0;
02358
02359 for ( int ix = 1; ix <= 50; ix++ ) {
02360 for ( int iy = 1; iy <= 50; iy++ ) {
02361
02362 bool update01;
02363 bool update02;
02364 bool update03;
02365 bool update04;
02366 bool update05;
02367 bool update06;
02368 bool update07;
02369 bool update08;
02370
02371 float num01, num02, num03, num04, num05, num06, num07, num08;
02372 float mean01, mean02, mean03, mean04, mean05, mean06, mean07, mean08;
02373 float rms01, rms02, rms03, rms04, rms05, rms06, rms07, rms08;
02374
02375 update01 = UtilsClient::getBinStatistics(h01_[ism-1], ix, iy, num01, mean01, rms01);
02376 update02 = UtilsClient::getBinStatistics(h03_[ism-1], ix, iy, num02, mean02, rms02);
02377 update03 = UtilsClient::getBinStatistics(h05_[ism-1], ix, iy, num03, mean03, rms03);
02378 update04 = UtilsClient::getBinStatistics(h07_[ism-1], ix, iy, num04, mean04, rms04);
02379 update05 = UtilsClient::getBinStatistics(h13_[ism-1], ix, iy, num05, mean05, rms05);
02380 update06 = UtilsClient::getBinStatistics(h15_[ism-1], ix, iy, num06, mean06, rms06);
02381 update07 = UtilsClient::getBinStatistics(h17_[ism-1], ix, iy, num07, mean07, rms07);
02382 update08 = UtilsClient::getBinStatistics(h19_[ism-1], ix, iy, num08, mean08, rms08);
02383
02384 if ( update01 ) {
02385 meanAmplL1A += mean01;
02386 nCryL1A++;
02387 }
02388
02389 if ( update02 ) {
02390 meanAmplL2A += mean02;
02391 nCryL2A++;
02392 }
02393
02394 if ( update03 ) {
02395 meanAmplL3A += mean03;
02396 nCryL3A++;
02397 }
02398
02399 if ( update04 ) {
02400 meanAmplL4A += mean04;
02401 nCryL4A++;
02402 }
02403
02404 if ( update05 ) {
02405 meanAmplL1B += mean05;
02406 nCryL1B++;
02407 }
02408
02409 if ( update06 ) {
02410 meanAmplL2B += mean06;
02411 nCryL2B++;
02412 }
02413
02414 if ( update07 ) {
02415 meanAmplL3B += mean07;
02416 nCryL3B++;
02417 }
02418
02419 if ( update08 ) {
02420 meanAmplL4B += mean08;
02421 nCryL4B++;
02422 }
02423
02424 }
02425 }
02426
02427 if ( nCryL1A > 0 ) meanAmplL1A /= float (nCryL1A);
02428 if ( nCryL2A > 0 ) meanAmplL2A /= float (nCryL2A);
02429 if ( nCryL3A > 0 ) meanAmplL3A /= float (nCryL3A);
02430 if ( nCryL4A > 0 ) meanAmplL4A /= float (nCryL4A);
02431 if ( nCryL1B > 0 ) meanAmplL1B /= float (nCryL1B);
02432 if ( nCryL2B > 0 ) meanAmplL2B /= float (nCryL2B);
02433 if ( nCryL3B > 0 ) meanAmplL3B /= float (nCryL3B);
02434 if ( nCryL4B > 0 ) meanAmplL4B /= float (nCryL4B);
02435
02436 for ( int ix = 1; ix <= 50; ix++ ) {
02437 for ( int iy = 1; iy <= 50; iy++ ) {
02438
02439 if ( meg01_[ism-1] ) meg01_[ism-1]->setBinContent( ix, iy, 6.);
02440 if ( meg02_[ism-1] ) meg02_[ism-1]->setBinContent( ix, iy, 6.);
02441 if ( meg03_[ism-1] ) meg03_[ism-1]->setBinContent( ix, iy, 6.);
02442 if ( meg04_[ism-1] ) meg04_[ism-1]->setBinContent( ix, iy, 6.);
02443
02444 int jx = ix + Numbers::ix0EE(ism);
02445 int jy = iy + Numbers::iy0EE(ism);
02446
02447 if ( ism >= 1 && ism <= 9 ) jx = 101 - jx;
02448
02449 if ( Numbers::validEE(ism, jx, jy) ) {
02450 if ( meg01_[ism-1] ) meg01_[ism-1]->setBinContent( ix, iy, 2.);
02451 if ( meg02_[ism-1] ) meg02_[ism-1]->setBinContent( ix, iy, 2.);
02452 if ( meg03_[ism-1] ) meg03_[ism-1]->setBinContent( ix, iy, 2.);
02453 if ( meg04_[ism-1] ) meg04_[ism-1]->setBinContent( ix, iy, 2.);
02454 }
02455
02456 bool update01;
02457 bool update02;
02458 bool update03;
02459 bool update04;
02460 bool update05;
02461 bool update06;
02462 bool update07;
02463 bool update08;
02464 bool update09;
02465 bool update10;
02466 bool update11;
02467 bool update12;
02468
02469 bool update13;
02470 bool update14;
02471 bool update15;
02472 bool update16;
02473 bool update17;
02474 bool update18;
02475 bool update19;
02476 bool update20;
02477 bool update21;
02478 bool update22;
02479 bool update23;
02480 bool update24;
02481
02482 float num01, num02, num03, num04, num05, num06, num07, num08;
02483 float num09, num10, num11, num12;
02484 float mean01, mean02, mean03, mean04, mean05, mean06, mean07, mean08;
02485 float mean09, mean10, mean11, mean12;
02486 float rms01, rms02, rms03, rms04, rms05, rms06, rms07, rms08;
02487 float rms09, rms10, rms11, rms12;
02488
02489 float num13, num14, num15, num16, num17, num18, num19, num20;
02490 float num21, num22, num23, num24;
02491 float mean13, mean14, mean15, mean16, mean17, mean18, mean19, mean20;
02492 float mean21, mean22, mean23, mean24;
02493 float rms13, rms14, rms15, rms16, rms17, rms18, rms19, rms20;
02494 float rms21, rms22, rms23, rms24;
02495
02496 update01 = UtilsClient::getBinStatistics(h01_[ism-1], ix, iy, num01, mean01, rms01);
02497 update02 = UtilsClient::getBinStatistics(h02_[ism-1], ix, iy, num02, mean02, rms02);
02498 update03 = UtilsClient::getBinStatistics(h03_[ism-1], ix, iy, num03, mean03, rms03);
02499 update04 = UtilsClient::getBinStatistics(h04_[ism-1], ix, iy, num04, mean04, rms04);
02500 update05 = UtilsClient::getBinStatistics(h05_[ism-1], ix, iy, num05, mean05, rms05);
02501 update06 = UtilsClient::getBinStatistics(h06_[ism-1], ix, iy, num06, mean06, rms06);
02502 update07 = UtilsClient::getBinStatistics(h07_[ism-1], ix, iy, num07, mean07, rms07);
02503 update08 = UtilsClient::getBinStatistics(h08_[ism-1], ix, iy, num08, mean08, rms08);
02504 update09 = UtilsClient::getBinStatistics(h09_[ism-1], ix, iy, num09, mean09, rms09);
02505 update10 = UtilsClient::getBinStatistics(h10_[ism-1], ix, iy, num10, mean10, rms10);
02506 update11 = UtilsClient::getBinStatistics(h11_[ism-1], ix, iy, num11, mean11, rms11);
02507 update12 = UtilsClient::getBinStatistics(h12_[ism-1], ix, iy, num12, mean12, rms12);
02508
02509
02510
02511 update13 = UtilsClient::getBinStatistics(h13_[ism-1], ix, iy, num13, mean13, rms13);
02512 update14 = UtilsClient::getBinStatistics(h14_[ism-1], ix, iy, num14, mean14, rms14);
02513 update15 = UtilsClient::getBinStatistics(h15_[ism-1], ix, iy, num15, mean15, rms15);
02514 update16 = UtilsClient::getBinStatistics(h16_[ism-1], ix, iy, num16, mean16, rms16);
02515 update17 = UtilsClient::getBinStatistics(h17_[ism-1], ix, iy, num17, mean17, rms17);
02516 update18 = UtilsClient::getBinStatistics(h18_[ism-1], ix, iy, num18, mean18, rms18);
02517 update19 = UtilsClient::getBinStatistics(h19_[ism-1], ix, iy, num19, mean19, rms19);
02518 update20 = UtilsClient::getBinStatistics(h20_[ism-1], ix, iy, num20, mean20, rms20);
02519 update21 = UtilsClient::getBinStatistics(h21_[ism-1], ix, iy, num21, mean21, rms21);
02520 update22 = UtilsClient::getBinStatistics(h22_[ism-1], ix, iy, num22, mean22, rms22);
02521 update23 = UtilsClient::getBinStatistics(h23_[ism-1], ix, iy, num23, mean23, rms23);
02522 update24 = UtilsClient::getBinStatistics(h24_[ism-1], ix, iy, num24, mean24, rms24);
02523
02524 if ( update01 ) {
02525
02526 float val;
02527
02528 val = 1.;
02529 if ( fabs(mean01 - meanAmplL1A) > fabs(percentVariation_ * meanAmplL1A) || mean01 < amplitudeThreshold_ )
02530 val = 0.;
02531 if ( meg01_[ism-1] ) meg01_[ism-1]->setBinContent( ix, iy, val );
02532
02533 int ic = Numbers::icEE(ism, jx, jy);
02534
02535 if ( ic != -1 ) {
02536 if ( mea01_[ism-1] ) {
02537 if ( mean01 > 0. ) {
02538 mea01_[ism-1]->setBinContent( ic, mean01 );
02539 mea01_[ism-1]->setBinError( ic, rms01 );
02540 } else {
02541 mea01_[ism-1]->setEntries( 1.+mea01_[ism-1]->getEntries() );
02542 }
02543 }
02544 }
02545
02546 }
02547
02548 if ( update13 ) {
02549
02550 float val;
02551
02552 val = 1.;
02553 if ( fabs(mean13 - meanAmplL1B) > fabs(percentVariation_ * meanAmplL1B) || mean13 < amplitudeThreshold_ )
02554 val = 0.;
02555 if ( meg01_[ism-1] ) meg01_[ism-1]->setBinContent( ix, iy, val );
02556
02557 int ic = Numbers::icEE(ism, jx, jy);
02558
02559 if ( ic != -1 ) {
02560 if ( mea05_[ism-1] ) {
02561 if ( mean13 > 0. ) {
02562 mea05_[ism-1]->setBinContent( ic, mean13 );
02563 mea05_[ism-1]->setBinError( ic, rms13 );
02564 } else {
02565 mea05_[ism-1]->setEntries( 1.+mea05_[ism-1]->getEntries() );
02566 }
02567 }
02568 }
02569
02570 }
02571
02572 if ( update03 ) {
02573
02574 float val;
02575
02576 val = 1.;
02577 if ( fabs(mean03 - meanAmplL2A) > fabs(percentVariation_ * meanAmplL2A) || mean03 < amplitudeThreshold_ )
02578 val = 0.;
02579 if ( meg02_[ism-1] ) meg02_[ism-1]->setBinContent( ix, iy, val);
02580
02581 int ic = Numbers::icEE(ism, jx, jy);
02582
02583 if ( ic != -1 ) {
02584 if ( mea02_[ism-1] ) {
02585 if ( mean03 > 0. ) {
02586 mea02_[ism-1]->setBinContent( ic, mean03 );
02587 mea02_[ism-1]->setBinError( ic, rms03 );
02588 } else {
02589 mea02_[ism-1]->setEntries( 1.+mea02_[ism-1]->getEntries() );
02590 }
02591 }
02592 }
02593
02594 }
02595
02596 if ( update15 ) {
02597
02598 float val;
02599
02600 val = 1.;
02601 if ( fabs(mean15 - meanAmplL2B) > fabs(percentVariation_ * meanAmplL2B) || mean15 < amplitudeThreshold_ )
02602 val = 0.;
02603 if ( meg02_[ism-1] ) meg02_[ism-1]->setBinContent( ix, iy, val);
02604
02605 int ic = Numbers::icEE(ism, jx, jy);
02606
02607 if ( ic != -1 ) {
02608 if ( mea06_[ism-1] ) {
02609 if ( mean15 > 0. ) {
02610 mea06_[ism-1]->setBinContent( ic, mean15 );
02611 mea06_[ism-1]->setBinError( ic, rms15 );
02612 } else {
02613 mea06_[ism-1]->setEntries( 1.+mea06_[ism-1]->getEntries() );
02614 }
02615 }
02616 }
02617
02618 }
02619
02620 if ( update05 ) {
02621
02622 float val;
02623
02624 val = 1.;
02625 if ( fabs(mean05 - meanAmplL3A) > fabs(percentVariation_ * meanAmplL3A) || mean05 < amplitudeThreshold_ )
02626 val = 0.;
02627 if ( meg03_[ism-1] ) meg03_[ism-1]->setBinContent( ix, iy, val );
02628
02629 int ic = Numbers::icEE(ism, jx, jy);
02630
02631 if ( ic != -1 ) {
02632 if ( mea03_[ism-1] ) {
02633 if ( mean05 > 0. ) {
02634 mea03_[ism-1]->setBinContent( ic, mean05 );
02635 mea03_[ism-1]->setBinError( ic, rms05 );
02636 } else {
02637 mea03_[ism-1]->setEntries( 1.+mea03_[ism-1]->getEntries() );
02638 }
02639 }
02640 }
02641
02642 }
02643
02644 if ( update17 ) {
02645
02646 float val;
02647
02648 val = 1.;
02649 if ( fabs(mean17 - meanAmplL3B) > fabs(percentVariation_ * meanAmplL3B) || mean17 < amplitudeThreshold_ )
02650 val = 0.;
02651 if ( meg03_[ism-1] ) meg03_[ism-1]->setBinContent( ix, iy, val );
02652
02653 int ic = Numbers::icEE(ism, jx, jy);
02654
02655 if ( ic != -1 ) {
02656 if ( mea07_[ism-1] ) {
02657 if ( mean17 > 0. ) {
02658 mea07_[ism-1]->setBinContent( ic, mean17 );
02659 mea07_[ism-1]->setBinError( ic, rms17 );
02660 } else {
02661 mea07_[ism-1]->setEntries( 1.+mea07_[ism-1]->getEntries() );
02662 }
02663 }
02664 }
02665
02666 }
02667
02668 if ( update07 ) {
02669
02670 float val;
02671
02672 val = 1.;
02673 if ( fabs(mean07 - meanAmplL4A) > fabs(percentVariation_ * meanAmplL4A) || mean07 < amplitudeThreshold_ )
02674 val = 0.;
02675 if ( meg04_[ism-1] ) meg04_[ism-1]->setBinContent( ix, iy, val );
02676
02677 int ic = Numbers::icEE(ism, jx, jy);
02678
02679 if ( ic != -1 ) {
02680 if ( mea04_[ism-1] ) {
02681 if ( mean07 > 0. ) {
02682 mea04_[ism-1]->setBinContent( ic, mean07 );
02683 mea04_[ism-1]->setBinError( ic, rms07 );
02684 } else {
02685 mea04_[ism-1]->setEntries( 1.+mea04_[ism-1]->getEntries() );
02686 }
02687 }
02688 }
02689
02690 }
02691
02692 if ( update19 ) {
02693
02694 float val;
02695
02696 val = 1.;
02697 if ( fabs(mean19 - meanAmplL4B) > fabs(percentVariation_ * meanAmplL4B) || mean19 < amplitudeThreshold_ )
02698 val = 0.;
02699 if ( meg04_[ism-1] ) meg04_[ism-1]->setBinContent( ix, iy, val );
02700
02701 int ic = Numbers::icEE(ism, jx, jy);
02702
02703 if ( ic != -1 ) {
02704 if ( mea08_[ism-1] ) {
02705 if ( mean19 > 0. ) {
02706 mea08_[ism-1]->setBinContent( ic, mean19 );
02707 mea08_[ism-1]->setBinError( ic, rms19 );
02708 } else {
02709 mea08_[ism-1]->setEntries( 1.+mea08_[ism-1]->getEntries() );
02710 }
02711 }
02712 }
02713
02714 }
02715
02716 if ( update02 ) {
02717
02718 int ic = Numbers::icEE(ism, jx, jy);
02719
02720 if ( ic != -1 ) {
02721 if ( meaopn01_[ism-1] ) {
02722 if ( mean02 > 0. ) {
02723 meaopn01_[ism-1]->setBinContent( ic, mean02 );
02724 meaopn01_[ism-1]->setBinError( ic, rms02 );
02725 } else {
02726 meaopn01_[ism-1]->setEntries( 1.+meaopn01_[ism-1]->getEntries() );
02727 }
02728 }
02729 }
02730
02731 }
02732
02733 if ( update14 ) {
02734
02735 int ic = Numbers::icEE(ism, jx, jy);
02736
02737 if ( ic != -1 ) {
02738 if ( meaopn05_[ism-1] ) {
02739 if ( mean14 > 0. ) {
02740 meaopn05_[ism-1]->setBinContent( ic, mean14 );
02741 meaopn05_[ism-1]->setBinError( ic, rms14 );
02742 } else {
02743 meaopn05_[ism-1]->setEntries( 1.+meaopn05_[ism-1]->getEntries() );
02744 }
02745 }
02746 }
02747
02748 }
02749
02750 if ( update04 ) {
02751
02752 int ic = Numbers::icEE(ism, jx, jy);
02753
02754 if ( ic != -1 ) {
02755 if ( meaopn02_[ism-1] ) {
02756 if ( mean04 > 0. ) {
02757 meaopn02_[ism-1]->setBinContent( ic, mean04 );
02758 meaopn02_[ism-1]->setBinError( ic, rms04 );
02759 } else {
02760 meaopn02_[ism-1]->setEntries( 1.+meaopn02_[ism-1]->getEntries() );
02761 }
02762 }
02763 }
02764
02765 }
02766
02767 if ( update16 ) {
02768
02769 int ic = Numbers::icEE(ism, jx, jy);
02770
02771 if ( ic != -1 ) {
02772 if ( meaopn06_[ism-1] ) {
02773 if ( mean16 > 0. ) {
02774 meaopn06_[ism-1]->setBinContent( ic, mean16 );
02775 meaopn06_[ism-1]->setBinError( ic, rms16 );
02776 } else {
02777 meaopn06_[ism-1]->setEntries( 1.+meaopn06_[ism-1]->getEntries() );
02778 }
02779 }
02780 }
02781
02782 }
02783
02784 if ( update06 ) {
02785
02786 int ic = Numbers::icEE(ism, jx, jy);
02787
02788 if ( ic != -1 ) {
02789 if ( meaopn03_[ism-1] ) {
02790 if ( mean06 > 0. ) {
02791 meaopn03_[ism-1]->setBinContent( ic, mean06 );
02792 meaopn03_[ism-1]->setBinError( ic, rms06 );
02793 } else {
02794 meaopn03_[ism-1]->setEntries( 1.+meaopn03_[ism-1]->getEntries() );
02795 }
02796 }
02797 }
02798
02799 }
02800
02801 if ( update18 ) {
02802
02803 int ic = Numbers::icEE(ism, jx, jy);
02804
02805 if ( ic != -1 ) {
02806 if ( meaopn07_[ism-1] ) {
02807 if ( mean18 > 0. ) {
02808 meaopn07_[ism-1]->setBinContent( ic, mean18 );
02809 meaopn07_[ism-1]->setBinError( ic, rms18 );
02810 } else {
02811 meaopn07_[ism-1]->setEntries( 1.+meaopn07_[ism-1]->getEntries() );
02812 }
02813 }
02814 }
02815
02816 }
02817
02818 if ( update08 ) {
02819
02820 int ic = Numbers::icEE(ism, jx, jy);
02821
02822 if ( ic != -1 ) {
02823 if ( meaopn04_[ism-1] ) {
02824 if ( mean08 > 0. ) {
02825 meaopn04_[ism-1]->setBinContent( ic, mean08 );
02826 meaopn04_[ism-1]->setBinError( ic, rms08 );
02827 } else {
02828 meaopn04_[ism-1]->setEntries( 1.+meaopn04_[ism-1]->getEntries() );
02829 }
02830 }
02831 }
02832
02833 }
02834
02835 if ( update20 ) {
02836
02837 int ic = Numbers::icEE(ism, jx, jy);
02838
02839 if ( ic != -1 ) {
02840 if ( meaopn08_[ism-1] ) {
02841 if ( mean20 > 0. ) {
02842 meaopn08_[ism-1]->setBinContent( ic, mean20 );
02843 meaopn08_[ism-1]->setBinError( ic, rms20 );
02844 } else {
02845 meaopn08_[ism-1]->setEntries( 1.+meaopn08_[ism-1]->getEntries() );
02846 }
02847 }
02848 }
02849
02850 }
02851
02852 if ( update09 ) {
02853
02854 int ic = Numbers::icEE(ism, jx, jy);
02855
02856 if ( ic != -1 ) {
02857 if ( met01_[ism-1] ) {
02858 if ( mean09 > 0. ) {
02859 met01_[ism-1]->setBinContent( ic, mean09 );
02860 met01_[ism-1]->setBinError( ic, rms09 );
02861 } else {
02862 met01_[ism-1]->setEntries(1.+met01_[ism-1]->getEntries());
02863 }
02864 }
02865
02866 if ( metav01_[ism-1] ) metav01_[ism-1] ->Fill(mean09);
02867 if ( metrms01_[ism-1] ) metrms01_[ism-1]->Fill(rms09);
02868 }
02869
02870 }
02871
02872 if ( update21 ) {
02873
02874 int ic = Numbers::icEE(ism, jx, jy);
02875
02876 if ( ic != -1 ) {
02877 if ( met05_[ism-1] ) {
02878 if ( mean21 > 0. ) {
02879 met05_[ism-1]->setBinContent( ic, mean21 );
02880 met05_[ism-1]->setBinError( ic, rms21 );
02881 } else {
02882 met05_[ism-1]->setEntries(1.+met05_[ism-1]->getEntries());
02883 }
02884 }
02885
02886 if ( metav05_[ism-1] ) metav05_[ism-1] ->Fill(mean21);
02887 if ( metrms05_[ism-1] ) metrms05_[ism-1]->Fill(rms21);
02888 }
02889
02890 }
02891
02892 if ( update10 ) {
02893
02894 int ic = Numbers::icEE(ism, jx, jy);
02895
02896 if ( ic != -1 ) {
02897 if ( met02_[ism-1] ) {
02898 if ( mean10 > 0. ) {
02899 met02_[ism-1]->setBinContent( ic, mean10 );
02900 met02_[ism-1]->setBinError( ic, rms10 );
02901 } else {
02902 met02_[ism-1]->setEntries(1.+met02_[ism-1]->getEntries());
02903 }
02904 }
02905
02906 if ( metav02_[ism-1] ) metav02_[ism-1] ->Fill(mean10);
02907 if ( metrms02_[ism-1] ) metrms02_[ism-1]->Fill(rms10);
02908 }
02909
02910 }
02911
02912 if ( update22 ) {
02913
02914 int ic = Numbers::icEE(ism, jx, jy);
02915
02916 if ( ic != -1 ) {
02917 if ( met06_[ism-1] ) {
02918 if ( mean22 > 0. ) {
02919 met06_[ism-1]->setBinContent( ic, mean22 );
02920 met06_[ism-1]->setBinError( ic, rms22 );
02921 } else {
02922 met06_[ism-1]->setEntries(1.+met06_[ism-1]->getEntries());
02923 }
02924 }
02925
02926 if ( metav06_[ism-1] ) metav06_[ism-1] ->Fill(mean22);
02927 if ( metrms06_[ism-1] ) metrms06_[ism-1]->Fill(rms22);
02928 }
02929
02930 }
02931
02932 if ( update11 ) {
02933
02934 int ic = Numbers::icEE(ism, jx, jy);
02935
02936 if ( ic != -1 ) {
02937 if ( met03_[ism-1] ) {
02938 if ( mean11 > 0. ) {
02939 met03_[ism-1]->setBinContent( ic, mean11 );
02940 met03_[ism-1]->setBinError( ic, rms11 );
02941 } else {
02942 met03_[ism-1]->setEntries(1.+met03_[ism-1]->getEntries());
02943 }
02944 }
02945
02946 if ( metav03_[ism-1] ) metav03_[ism-1] ->Fill(mean11);
02947 if ( metrms03_[ism-1] ) metrms03_[ism-1]->Fill(rms11);
02948 }
02949
02950 }
02951
02952 if ( update23 ) {
02953
02954 int ic = Numbers::icEE(ism, jx, jy);
02955
02956 if ( ic != -1 ) {
02957 if ( met07_[ism-1] ) {
02958 if ( mean23 > 0. ) {
02959 met07_[ism-1]->setBinContent( ic, mean23 );
02960 met07_[ism-1]->setBinError( ic, rms23 );
02961 } else {
02962 met07_[ism-1]->setEntries(1.+met07_[ism-1]->getEntries());
02963 }
02964 }
02965
02966 if ( metav07_[ism-1] ) metav07_[ism-1] ->Fill(mean23);
02967 if ( metrms07_[ism-1] ) metrms07_[ism-1]->Fill(rms23);
02968 }
02969
02970 }
02971
02972 if ( update12 ) {
02973
02974 int ic = Numbers::icEE(ism, jx, jy);
02975
02976 if ( ic != -1 ) {
02977 if ( met04_[ism-1] ) {
02978 if ( mean12 > 0. ) {
02979 met04_[ism-1]->setBinContent( ic, mean12 );
02980 met04_[ism-1]->setBinError( ic, rms12 );
02981 } else {
02982 met04_[ism-1]->setEntries(1.+met04_[ism-1]->getEntries());
02983 }
02984 }
02985
02986 if ( metav04_[ism-1] ) metav04_[ism-1] ->Fill(mean12);
02987 if ( metrms04_[ism-1] ) metrms04_[ism-1]->Fill(rms12);
02988 }
02989
02990 }
02991
02992 if ( update24 ) {
02993
02994 int ic = Numbers::icEE(ism, jx, jy);
02995
02996 if ( ic != -1 ) {
02997 if ( met08_[ism-1] ) {
02998 if ( mean24 > 0. ) {
02999 met08_[ism-1]->setBinContent( ic, mean24 );
03000 met08_[ism-1]->setBinError( ic, rms24 );
03001 } else {
03002 met08_[ism-1]->setEntries(1.+met08_[ism-1]->getEntries());
03003 }
03004 }
03005
03006 if ( metav08_[ism-1] ) metav08_[ism-1] ->Fill(mean24);
03007 if ( metrms08_[ism-1] ) metrms08_[ism-1]->Fill(rms24);
03008 }
03009
03010 }
03011
03012
03013
03014 if ( mask1.size() != 0 ) {
03015 map<EcalLogicID, RunCrystalErrorsDat>::const_iterator m;
03016 for (m = mask1.begin(); m != mask1.end(); m++) {
03017
03018 int jx = ix + Numbers::ix0EE(ism);
03019 int jy = iy + Numbers::iy0EE(ism);
03020
03021 if ( ism >= 1 && ism <= 9 ) jx = 101 - jx;
03022
03023 if ( ! Numbers::validEE(ism, jx, jy) ) continue;
03024
03025 int ic = Numbers::indexEE(ism, jx, jy);
03026
03027 if ( ic == -1 ) continue;
03028
03029 EcalLogicID ecid = m->first;
03030
03031 if ( ecid.getLogicID() == LogicID::getEcalLogicID("EE_crystal_number", Numbers::iSM(ism, EcalEndcap), ic).getLogicID() ) {
03032 if ( (m->second).getErrorBits() & bits01 ) {
03033 UtilsClient::maskBinContent( meg01_[ism-1], ix, iy );
03034 UtilsClient::maskBinContent( meg02_[ism-1], ix, iy );
03035 UtilsClient::maskBinContent( meg03_[ism-1], ix, iy );
03036 UtilsClient::maskBinContent( meg04_[ism-1], ix, iy );
03037 }
03038 }
03039
03040 }
03041 }
03042
03043
03044
03045 if ( mask3.size() != 0 ) {
03046 map<EcalLogicID, RunTTErrorsDat>::const_iterator m;
03047 for (m = mask3.begin(); m != mask3.end(); m++) {
03048
03049 EcalLogicID ecid = m->first;
03050
03051 int itt = Numbers::iTT(ism, EcalEndcap, ix, iy);
03052
03053 if ( ecid.getLogicID() == LogicID::getEcalLogicID("EE_readout_tower", Numbers::iSM(ism, EcalEndcap), itt).getLogicID() ) {
03054 if ( (m->second).getErrorBits() & bits01 ) {
03055 UtilsClient::maskBinContent( meg01_[ism-1], ix, iy );
03056 UtilsClient::maskBinContent( meg02_[ism-1], ix, iy );
03057 UtilsClient::maskBinContent( meg03_[ism-1], ix, iy );
03058 UtilsClient::maskBinContent( meg04_[ism-1], ix, iy );
03059 }
03060 }
03061
03062 }
03063 }
03064
03065 }
03066 }
03067
03068 for ( int i = 1; i <= 10; i++ ) {
03069
03070 if ( meg05_[ism-1] ) meg05_[ism-1]->setBinContent( i, 1, 2. );
03071 if ( meg06_[ism-1] ) meg06_[ism-1]->setBinContent( i, 1, 2. );
03072 if ( meg07_[ism-1] ) meg07_[ism-1]->setBinContent( i, 1, 2. );
03073 if ( meg08_[ism-1] ) meg08_[ism-1]->setBinContent( i, 1, 2. );
03074 if ( meg09_[ism-1] ) meg09_[ism-1]->setBinContent( i, 1, 2. );
03075 if ( meg10_[ism-1] ) meg10_[ism-1]->setBinContent( i, 1, 2. );
03076 if ( meg11_[ism-1] ) meg11_[ism-1]->setBinContent( i, 1, 2. );
03077 if ( meg12_[ism-1] ) meg12_[ism-1]->setBinContent( i, 1, 2. );
03078
03079 bool update01;
03080 bool update02;
03081 bool update03;
03082 bool update04;
03083 bool update05;
03084 bool update06;
03085 bool update07;
03086 bool update08;
03087 bool update09;
03088 bool update10;
03089 bool update11;
03090 bool update12;
03091 bool update13;
03092 bool update14;
03093 bool update15;
03094 bool update16;
03095
03096 float num01, num02, num03, num04, num05, num06, num07, num08;
03097 float num09, num10, num11, num12, num13, num14, num15, num16;
03098 float mean01, mean02, mean03, mean04, mean05, mean06, mean07, mean08;
03099 float mean09, mean10, mean11, mean12, mean13, mean14, mean15, mean16;
03100 float rms01, rms02, rms03, rms04, rms05, rms06, rms07, rms08;
03101 float rms09, rms10, rms11, rms12, rms13, rms14, rms15, rms16;
03102
03103 update01 = UtilsClient::getBinStatistics(i01_[ism-1], i, 0, num01, mean01, rms01);
03104 update02 = UtilsClient::getBinStatistics(i02_[ism-1], i, 0, num02, mean02, rms02);
03105 update03 = UtilsClient::getBinStatistics(i03_[ism-1], i, 0, num03, mean03, rms03);
03106 update04 = UtilsClient::getBinStatistics(i04_[ism-1], i, 0, num04, mean04, rms04);
03107 update05 = UtilsClient::getBinStatistics(i05_[ism-1], i, 0, num05, mean05, rms05);
03108 update06 = UtilsClient::getBinStatistics(i06_[ism-1], i, 0, num06, mean06, rms06);
03109 update07 = UtilsClient::getBinStatistics(i07_[ism-1], i, 0, num07, mean07, rms07);
03110 update08 = UtilsClient::getBinStatistics(i08_[ism-1], i, 0, num08, mean08, rms08);
03111 update09 = UtilsClient::getBinStatistics(i09_[ism-1], i, 0, num09, mean09, rms09);
03112 update10 = UtilsClient::getBinStatistics(i10_[ism-1], i, 0, num10, mean10, rms10);
03113 update11 = UtilsClient::getBinStatistics(i11_[ism-1], i, 0, num11, mean11, rms11);
03114 update12 = UtilsClient::getBinStatistics(i12_[ism-1], i, 0, num12, mean12, rms12);
03115 update13 = UtilsClient::getBinStatistics(i13_[ism-1], i, 0, num13, mean13, rms13);
03116 update14 = UtilsClient::getBinStatistics(i14_[ism-1], i, 0, num14, mean14, rms14);
03117 update15 = UtilsClient::getBinStatistics(i15_[ism-1], i, 0, num15, mean15, rms15);
03118 update16 = UtilsClient::getBinStatistics(i16_[ism-1], i, 0, num16, mean16, rms16);
03119
03120 if ( update01 && update05 ) {
03121
03122 float val;
03123
03124 val = 1.;
03125 if ( mean01 < amplitudeThresholdPnG01_ )
03126 val = 0.;
03127 if ( mean05 < pedPnExpectedMean_[0] - pedPnDiscrepancyMean_[0] ||
03128 pedPnExpectedMean_[0] + pedPnDiscrepancyMean_[0] < mean05)
03129 val = 0.;
03130 if ( rms05 > pedPnRMSThreshold_[0] )
03131 val = 0.;
03132
03133 if ( meg05_[ism-1] ) meg05_[ism-1]->setBinContent(i, 1, val);
03134 if ( mepnprms01_[ism-1] ) mepnprms01_[ism-1]->Fill(rms05);
03135
03136 }
03137
03138 if ( update02 && update06 ) {
03139
03140 float val;
03141
03142 val = 1.;
03143 if ( mean02 < amplitudeThresholdPnG01_ )
03144 val = 0.;
03145 if ( mean06 < pedPnExpectedMean_[0] - pedPnDiscrepancyMean_[0] ||
03146 pedPnExpectedMean_[0] + pedPnDiscrepancyMean_[0] < mean06)
03147 val = 0.;
03148 if ( rms06 > pedPnRMSThreshold_[0] )
03149 val = 0.;
03150
03151 if ( meg06_[ism-1] ) meg06_[ism-1]->setBinContent(i, 1, val);
03152 if ( mepnprms02_[ism-1] ) mepnprms02_[ism-1]->Fill(rms06);
03153
03154 }
03155
03156 if ( update03 && update07 ) {
03157
03158 float val;
03159
03160 val = 1.;
03161 if ( mean03 < amplitudeThresholdPnG01_ )
03162 val = 0.;
03163 if ( mean07 < pedPnExpectedMean_[0] - pedPnDiscrepancyMean_[0] ||
03164 pedPnExpectedMean_[0] + pedPnDiscrepancyMean_[0] < mean07)
03165 val = 0.;
03166 if ( rms07 > pedPnRMSThreshold_[0] )
03167 val = 0.;
03168
03169 if ( meg07_[ism-1] ) meg07_[ism-1]->setBinContent(i, 1, val);
03170 if ( mepnprms03_[ism-1] ) mepnprms03_[ism-1]->Fill(rms07);
03171
03172 }
03173
03174 if ( update04 && update08 ) {
03175
03176 float val;
03177
03178 val = 1.;
03179 if ( mean04 < amplitudeThresholdPnG01_ )
03180 val = 0.;
03181 if ( mean08 < pedPnExpectedMean_[0] - pedPnDiscrepancyMean_[0] ||
03182 pedPnExpectedMean_[0] + pedPnDiscrepancyMean_[0] < mean08)
03183 val = 0.;
03184 if ( rms08 > pedPnRMSThreshold_[0] )
03185 val = 0.;
03186
03187 if ( meg08_[ism-1] ) meg08_[ism-1]->setBinContent(i, 1, val);
03188 if ( mepnprms04_[ism-1] ) mepnprms04_[ism-1]->Fill(rms08);
03189
03190 }
03191
03192 if ( update09 && update13 ) {
03193
03194 float val;
03195
03196 val = 1.;
03197 if ( mean09 < amplitudeThresholdPnG16_ )
03198 val = 0.;
03199 if ( mean13 < pedPnExpectedMean_[1] - pedPnDiscrepancyMean_[1] ||
03200 pedPnExpectedMean_[1] + pedPnDiscrepancyMean_[1] < mean13)
03201 val = 0.;
03202 if ( rms13 > pedPnRMSThreshold_[1] )
03203 val = 0.;
03204
03205 if ( meg09_[ism-1] ) meg09_[ism-1]->setBinContent(i, 1, val);
03206 if ( mepnprms05_[ism-1] ) mepnprms05_[ism-1]->Fill(rms13);
03207
03208 }
03209
03210 if ( update10 && update14 ) {
03211
03212 float val;
03213
03214 val = 1.;
03215 if ( mean10 < amplitudeThresholdPnG16_ )
03216 val = 0.;
03217
03218 if ( mean14 < pedPnExpectedMean_[1] - pedPnDiscrepancyMean_[1] ||
03219 pedPnExpectedMean_[1] + pedPnDiscrepancyMean_[1] < mean14)
03220 val = 0.;
03221 if ( rms14 > pedPnRMSThreshold_[1] )
03222 val = 0.;
03223
03224 if ( meg10_[ism-1] ) meg10_[ism-1]->setBinContent(i, 1, val);
03225 if ( mepnprms06_[ism-1] ) mepnprms06_[ism-1]->Fill(rms14);
03226
03227 }
03228
03229 if ( update11 && update15 ) {
03230
03231 float val;
03232
03233 val = 1.;
03234 if ( mean11 < amplitudeThresholdPnG16_ )
03235 val = 0.;
03236
03237 if ( mean15 < pedPnExpectedMean_[1] - pedPnDiscrepancyMean_[1] ||
03238 pedPnExpectedMean_[1] + pedPnDiscrepancyMean_[1] < mean15)
03239 val = 0.;
03240 if ( rms15 > pedPnRMSThreshold_[1] )
03241 val = 0.;
03242
03243 if ( meg11_[ism-1] ) meg11_[ism-1]->setBinContent(i, 1, val);
03244 if ( mepnprms07_[ism-1] ) mepnprms07_[ism-1]->Fill(rms15);
03245
03246 }
03247
03248 if ( update12 && update16 ) {
03249
03250 float val;
03251
03252 val = 1.;
03253 if ( mean12 < amplitudeThresholdPnG16_ )
03254 val = 0.;
03255
03256 if ( mean16 < pedPnExpectedMean_[1] - pedPnDiscrepancyMean_[1] ||
03257 pedPnExpectedMean_[1] + pedPnDiscrepancyMean_[1] < mean16)
03258 val = 0.;
03259 if ( rms16 > pedPnRMSThreshold_[1] )
03260 val = 0.;
03261
03262 if ( meg12_[ism-1] ) meg12_[ism-1]->setBinContent(i, 1, val);
03263 if ( mepnprms08_[ism-1] ) mepnprms08_[ism-1]->Fill(rms16);
03264
03265 }
03266
03267
03268
03269 if ( mask2.size() != 0 ) {
03270 map<EcalLogicID, RunPNErrorsDat>::const_iterator m;
03271 for (m = mask2.begin(); m != mask2.end(); m++) {
03272
03273 EcalLogicID ecid = m->first;
03274
03275 if ( ecid.getLogicID() == LogicID::getEcalLogicID("EE_LM_PN", Numbers::iSM(ism, EcalEndcap), i-1).getLogicID() ) {
03276 if ( (m->second).getErrorBits() & (bits01|bits02) ) {
03277 UtilsClient::maskBinContent( meg05_[ism-1], i, 1 );
03278 UtilsClient::maskBinContent( meg06_[ism-1], i, 1 );
03279 UtilsClient::maskBinContent( meg07_[ism-1], i, 1 );
03280 UtilsClient::maskBinContent( meg08_[ism-1], i, 1 );
03281 }
03282 if ( (m->second).getErrorBits() & (bits01|bits04) ) {
03283 UtilsClient::maskBinContent( meg09_[ism-1], i, 1 );
03284 UtilsClient::maskBinContent( meg10_[ism-1], i, 1 );
03285 UtilsClient::maskBinContent( meg11_[ism-1], i, 1 );
03286 UtilsClient::maskBinContent( meg12_[ism-1], i, 1 );
03287 }
03288 }
03289
03290 }
03291 }
03292
03293 }
03294
03295 for ( int i = 1; i <= 10; i++ ) {
03296
03297 if ( hs01_[ism-1] ) {
03298 int ic = UtilsClient::getFirstNonEmptyChannel( hs01_[ism-1] );
03299 if ( me_hs01_[ism-1] ) {
03300 me_hs01_[ism-1]->setBinContent( i, hs01_[ism-1]->GetBinContent(ic, i) );
03301 me_hs01_[ism-1]->setBinError( i, hs01_[ism-1]->GetBinError(ic, i) );
03302 }
03303 }
03304
03305 if ( hs02_[ism-1] ) {
03306 int ic = UtilsClient::getFirstNonEmptyChannel( hs02_[ism-1] );
03307 if ( me_hs02_[ism-1] ) {
03308 me_hs02_[ism-1]->setBinContent( i, hs02_[ism-1]->GetBinContent(ic, i) );
03309 me_hs02_[ism-1]->setBinError( i, hs02_[ism-1]->GetBinError(ic, i) );
03310 }
03311 }
03312
03313 if ( hs03_[ism-1] ) {
03314 int ic = UtilsClient::getFirstNonEmptyChannel( hs03_[ism-1] );
03315 if ( me_hs03_[ism-1] ) {
03316 me_hs03_[ism-1]->setBinContent( i, hs03_[ism-1]->GetBinContent(ic, i) );
03317 me_hs03_[ism-1]->setBinError( i, hs03_[ism-1]->GetBinError(ic, i) );
03318 }
03319 }
03320
03321 if ( hs04_[ism-1] ) {
03322 int ic = UtilsClient::getFirstNonEmptyChannel( hs04_[ism-1] );
03323 if ( me_hs04_[ism-1] ) {
03324 me_hs04_[ism-1]->setBinContent( i, hs04_[ism-1]->GetBinContent(ic, i) );
03325 me_hs04_[ism-1]->setBinError( i, hs04_[ism-1]->GetBinError(ic, i) );
03326 }
03327 }
03328
03329 if ( hs05_[ism-1] ) {
03330 int ic = UtilsClient::getFirstNonEmptyChannel( hs05_[ism-1] );
03331 if ( me_hs05_[ism-1] ) {
03332 me_hs05_[ism-1]->setBinContent( i, hs05_[ism-1]->GetBinContent(ic, i) );
03333 me_hs05_[ism-1]->setBinError( i, hs05_[ism-1]->GetBinError(ic, i) );
03334 }
03335 }
03336
03337 if ( hs06_[ism-1] ) {
03338 int ic = UtilsClient::getFirstNonEmptyChannel( hs06_[ism-1] );
03339 if ( me_hs06_[ism-1] ) {
03340 me_hs06_[ism-1]->setBinContent( i, hs06_[ism-1]->GetBinContent(ic, i) );
03341 me_hs06_[ism-1]->setBinError( i, hs06_[ism-1]->GetBinError(ic, i) );
03342 }
03343 }
03344
03345 if ( hs07_[ism-1] ) {
03346 int ic = UtilsClient::getFirstNonEmptyChannel( hs07_[ism-1] );
03347 if ( me_hs07_[ism-1] ) {
03348 me_hs07_[ism-1]->setBinContent( i, hs07_[ism-1]->GetBinContent(ic, i) );
03349 me_hs07_[ism-1]->setBinError( i, hs07_[ism-1]->GetBinError(ic, i) );
03350 }
03351 }
03352
03353 if ( hs08_[ism-1] ) {
03354 int ic = UtilsClient::getFirstNonEmptyChannel( hs08_[ism-1] );
03355 if ( me_hs08_[ism-1] ) {
03356 me_hs08_[ism-1]->setBinContent( i, hs08_[ism-1]->GetBinContent(ic, i) );
03357 me_hs08_[ism-1]->setBinError( i, hs08_[ism-1]->GetBinError(ic, i) );
03358 }
03359 }
03360
03361 }
03362
03363 }
03364
03365 }
03366
03367 void EELaserClient::softReset(bool flag) {
03368
03369 }
03370
03371 void EELaserClient::htmlOutput(int run, string& htmlDir, string& htmlName) {
03372
03373 if ( verbose_ ) cout << "Preparing EELaserClient html output ..." << endl;
03374
03375 ofstream htmlFile;
03376
03377 htmlFile.open((htmlDir + htmlName).c_str());
03378
03379
03380 htmlFile << "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"> " << endl;
03381 htmlFile << "<html> " << endl;
03382 htmlFile << "<head> " << endl;
03383 htmlFile << " <meta content=\"text/html; charset=ISO-8859-1\" " << endl;
03384 htmlFile << " https-equiv=\"content-type\"> " << endl;
03385 htmlFile << " <title>Monitor:LaserTask output</title> " << endl;
03386 htmlFile << "</head> " << endl;
03387 htmlFile << "<style type=\"text/css\"> td { font-weight: bold } </style>" << endl;
03388 htmlFile << "<body> " << endl;
03389
03390 htmlFile << "<a name=""top""></a>" << endl;
03391 htmlFile << "<h2>Run: " << endl;
03392 htmlFile << " <span " << endl;
03393 htmlFile << " style=\"color: rgb(0, 0, 153);\">" << run << "</span></h2>" << endl;
03394 htmlFile << "<h2>Monitoring task: <span " << endl;
03395 htmlFile << " style=\"color: rgb(0, 0, 153);\">LASER</span></h2> " << endl;
03396 htmlFile << "<hr>" << endl;
03397 htmlFile << "<table border=1><tr><td bgcolor=red>channel has problems in this task</td>" << endl;
03398 htmlFile << "<td bgcolor=lime>channel has NO problems</td>" << endl;
03399 htmlFile << "<td bgcolor=yellow>channel is missing</td></table>" << endl;
03400 htmlFile << "<hr>" << endl;
03401
03402
03403
03404
03405 htmlFile << "<table style=\"width: 600px;\" border=\"0\">" << endl;
03406 htmlFile << "<tbody>" << endl;
03407 htmlFile << "<tr>" << endl;
03408 htmlFile << "<td style=\"text-align: center;\">" << endl;
03409 htmlFile << "<div style=\"text-align: center;\"> </div>" << endl;
03410 htmlFile << "<table style=\"width: 482px; height: 35px;\" border=\"1\">" << endl;
03411 htmlFile << "<tbody>" << endl;
03412 htmlFile << "<tr>" << endl;
03413 htmlFile << "<td style=\"text-align: center;\">L1 = blue laser </td>" << endl;
03414 htmlFile << "<td style=\"vertical-align: top; text-align: center;\">L2 = green laser </td>" << endl;
03415 htmlFile << "<td style=\"vertical-align: top; text-align: center;\">L3 = red laser </td>" << endl;
03416 htmlFile << "<td style=\"vertical-align: top; text-align: center;\">L4 = infrared laser </td>" << endl;
03417 htmlFile << "</tr>" << endl;
03418 htmlFile << "</tbody>" << endl;
03419 htmlFile << "</table>" << endl;
03420 htmlFile << "</td>" << endl;
03421 htmlFile << "<td align=\"center\">" << endl;
03422 htmlFile << "<div style=\"text-align: center;\"> </div>" << endl;
03423 htmlFile << "<table style=\"width: 255px; height: 35px;\" border=\"1\">" << endl;
03424 htmlFile << "<tbody>" << endl;
03425 htmlFile << "<tr>" << endl;
03426 htmlFile << "<td style=\"text-align: center;\">A=first half</td>" << endl;
03427 htmlFile << "<td style=\"vertical-align: top; text-align: center;\">B=second half<br>" << endl;
03428 htmlFile << "</td>" << endl;
03429 htmlFile << "</tr>" << endl;
03430 htmlFile << "</tbody>" << endl;
03431 htmlFile << "</table>" << endl;
03432 htmlFile << "</td>" << endl;
03433 htmlFile << "</tr>" << endl;
03434 htmlFile << "</tbody>" << endl;
03435 htmlFile << "</table>" << endl;
03436 htmlFile << "<br>" << endl;
03437 htmlFile << "<table border=1>" << std::endl;
03438 for ( unsigned int i=0; i<superModules_.size(); i ++ ) {
03439 htmlFile << "<td bgcolor=white><a href=""#"
03440 << Numbers::sEE(superModules_[i]) << ">"
03441 << setfill( '0' ) << setw(2) << superModules_[i] << "</a></td>";
03442 }
03443 htmlFile << std::endl << "</table>" << std::endl;
03444
03445
03446
03447 const int csize = 250;
03448
03449 const double histMax = 1.e15;
03450
03451 int pCol3[7] = { 301, 302, 303, 304, 305, 306, 307 };
03452
03453 TH2S labelGrid("labelGrid","label grid", 100, -2., 98., 100, -2., 98.);
03454 for ( short j=0; j<400; j++ ) {
03455 int x = 5*(1 + j%20);
03456 int y = 5*(1 + j/20);
03457 labelGrid.SetBinContent(x, y, Numbers::inTowersEE[j]);
03458 }
03459 labelGrid.SetMarkerSize(1);
03460 labelGrid.SetMinimum(0.1);
03461
03462 TH2C dummy1( "dummy1", "dummy1 for sm mem", 10, 0, 10, 5, 0, 5 );
03463 for ( short i=0; i<2; i++ ) {
03464 int a = 2 + i*5;
03465 int b = 2;
03466 dummy1.Fill( a, b, i+1+68 );
03467 }
03468 dummy1.SetMarkerSize(2);
03469 dummy1.SetMinimum(0.1);
03470
03471 string imgNameQual[8], imgNameAmp[8], imgNameTim[8], imgNameTimav[8], imgNameTimrms[8], imgNameShape[8], imgNameAmpoPN[8], imgNameMEPnQualG01[8], imgNameMEPnG01[8], imgNameMEPnPedG01[8], imgNameMEPnRmsPedG01[8], imgNameMEPnQualG16[8], imgNameMEPnG16[8], imgNameMEPnPedG16[8], imgNameMEPnRmsPedG16[8], imgName, meName;
03472
03473 TCanvas* cQual = new TCanvas("cQual", "Temp", 2*csize, 2*csize);
03474 TCanvas* cQualPN = new TCanvas("cQualPN", "Temp", 2*csize, csize);
03475 TCanvas* cAmp = new TCanvas("cAmp", "Temp", csize, csize);
03476 TCanvas* cTim = new TCanvas("cTim", "Temp", csize, csize);
03477 TCanvas* cTimav = new TCanvas("cTimav", "Temp", csize, csize);
03478 TCanvas* cTimrms = new TCanvas("cTimrms", "Temp", csize, csize);
03479 TCanvas* cShape = new TCanvas("cShape", "Temp", csize, csize);
03480 TCanvas* cAmpoPN = new TCanvas("cAmpoPN", "Temp", csize, csize);
03481 TCanvas* cPed = new TCanvas("cPed", "Temp", csize, csize);
03482
03483 TH2F* obj2f;
03484 TH1F* obj1f;
03485 TProfile* objp;
03486
03487
03488
03489 for ( unsigned int i=0; i<superModules_.size(); i ++ ) {
03490
03491 int ism = superModules_[i];
03492
03493
03494
03495 for ( int iCanvas = 1 ; iCanvas <= 4 * 2 ; iCanvas++ ) {
03496
03497
03498 if ( iCanvas == 2 || iCanvas == 3 ) continue;
03499 if ( iCanvas == 4+2 || iCanvas == 4+3 ) continue;
03500
03501
03502
03503 imgNameQual[iCanvas-1] = "";
03504
03505 obj2f = 0;
03506 switch ( iCanvas ) {
03507 case 1:
03508 obj2f = UtilsClient::getHisto<TH2F*>( meg01_[ism-1] );
03509 break;
03510 case 2:
03511 obj2f = UtilsClient::getHisto<TH2F*>( meg02_[ism-1] );
03512 break;
03513 case 3:
03514 obj2f = UtilsClient::getHisto<TH2F*>( meg03_[ism-1] );
03515 break;
03516 case 4:
03517 obj2f = UtilsClient::getHisto<TH2F*>( meg04_[ism-1] );
03518 break;
03519 case 5:
03520 case 6:
03521 case 7:
03522 case 8:
03523 obj2f = 0;
03524 break;
03525 default:
03526 break;
03527 }
03528
03529 if ( obj2f ) {
03530
03531 meName = obj2f->GetName();
03532
03533 replace(meName.begin(), meName.end(), ' ', '_');
03534 imgNameQual[iCanvas-1] = meName + ".png";
03535 imgName = htmlDir + imgNameQual[iCanvas-1];
03536
03537 cQual->cd();
03538 gStyle->SetOptStat(" ");
03539 gStyle->SetPalette(7, pCol3);
03540 cQual->SetGridx();
03541 cQual->SetGridy();
03542 obj2f->GetXaxis()->SetLabelSize(0.02);
03543 obj2f->GetXaxis()->SetTitleSize(0.02);
03544 obj2f->GetYaxis()->SetLabelSize(0.02);
03545 obj2f->GetYaxis()->SetTitleSize(0.02);
03546 obj2f->SetMinimum(-0.00000001);
03547 obj2f->SetMaximum(7.0);
03548 obj2f->Draw("col");
03549 int x1 = labelGrid.GetXaxis()->FindFixBin(Numbers::ix0EE(ism)+0.);
03550 int x2 = labelGrid.GetXaxis()->FindFixBin(Numbers::ix0EE(ism)+50.);
03551 int y1 = labelGrid.GetYaxis()->FindFixBin(Numbers::iy0EE(ism)+0.);
03552 int y2 = labelGrid.GetYaxis()->FindFixBin(Numbers::iy0EE(ism)+50.);
03553 labelGrid.GetXaxis()->SetRange(x1, x2);
03554 labelGrid.GetYaxis()->SetRange(y1, y2);
03555 labelGrid.Draw("text,same");
03556 cQual->SetBit(TGraph::kClipFrame);
03557 TLine l;
03558 l.SetLineWidth(1);
03559 for ( int i=0; i<201; i=i+1) {
03560 if ( (Numbers::ixSectorsEE[i]!=0 || Numbers::iySectorsEE[i]!=0) && (Numbers::ixSectorsEE[i+1]!=0 || Numbers::iySectorsEE[i+1]!=0) ) {
03561 l.DrawLine(Numbers::ixSectorsEE[i], Numbers::iySectorsEE[i], Numbers::ixSectorsEE[i+1], Numbers::iySectorsEE[i+1]);
03562 }
03563 }
03564 cQual->Update();
03565 cQual->SaveAs(imgName.c_str());
03566
03567 }
03568
03569
03570
03571 imgNameAmp[iCanvas-1] = "";
03572
03573 obj1f = 0;
03574 switch ( iCanvas ) {
03575 case 1:
03576 obj1f = UtilsClient::getHisto<TH1F*>( mea01_[ism-1] );
03577 break;
03578 case 2:
03579 obj1f = UtilsClient::getHisto<TH1F*>( mea02_[ism-1] );
03580 break;
03581 case 3:
03582 obj1f = UtilsClient::getHisto<TH1F*>( mea03_[ism-1] );
03583 break;
03584 case 4:
03585 obj1f = UtilsClient::getHisto<TH1F*>( mea04_[ism-1] );
03586 break;
03587 case 5:
03588 obj1f = UtilsClient::getHisto<TH1F*>( mea05_[ism-1] );
03589 break;
03590 case 6:
03591 obj1f = UtilsClient::getHisto<TH1F*>( mea06_[ism-1] );
03592 break;
03593 case 7:
03594 obj1f = UtilsClient::getHisto<TH1F*>( mea07_[ism-1] );
03595 break;
03596 case 8:
03597 obj1f = UtilsClient::getHisto<TH1F*>( mea08_[ism-1] );
03598 break;
03599 default:
03600 break;
03601 }
03602
03603 if ( obj1f ) {
03604
03605 meName = obj1f->GetName();
03606
03607 replace(meName.begin(), meName.end(), ' ', '_');
03608 imgNameAmp[iCanvas-1] = meName + ".png";
03609 imgName = htmlDir + imgNameAmp[iCanvas-1];
03610
03611 cAmp->cd();
03612 gStyle->SetOptStat("euo");
03613 obj1f->SetStats(kTRUE);
03614
03615
03616
03617
03618
03619 obj1f->SetMinimum(0.0);
03620 obj1f->Draw();
03621 cAmp->Update();
03622 cAmp->SaveAs(imgName.c_str());
03623 gPad->SetLogy(kFALSE);
03624
03625 }
03626
03627
03628
03629 imgNameTim[iCanvas-1] = "";
03630
03631 obj1f = 0;
03632 switch ( iCanvas ) {
03633 case 1:
03634 obj1f = UtilsClient::getHisto<TH1F*>( met01_[ism-1] );
03635 break;
03636 case 2:
03637 obj1f = UtilsClient::getHisto<TH1F*>( met02_[ism-1] );
03638 break;
03639 case 3:
03640 obj1f = UtilsClient::getHisto<TH1F*>( met03_[ism-1] );
03641 break;
03642 case 4:
03643 obj1f = UtilsClient::getHisto<TH1F*>( met04_[ism-1] );
03644 break;
03645 case 5:
03646 obj1f = UtilsClient::getHisto<TH1F*>( met05_[ism-1] );
03647 break;
03648 case 6:
03649 obj1f = UtilsClient::getHisto<TH1F*>( met06_[ism-1] );
03650 break;
03651 case 7:
03652 obj1f = UtilsClient::getHisto<TH1F*>( met07_[ism-1] );
03653 break;
03654 case 8:
03655 obj1f = UtilsClient::getHisto<TH1F*>( met08_[ism-1] );
03656 break;
03657 default:
03658 break;
03659 }
03660
03661 if ( obj1f ) {
03662
03663 meName = obj1f->GetName();
03664
03665 replace(meName.begin(), meName.end(), ' ', '_');
03666 imgNameTim[iCanvas-1] = meName + ".png";
03667 imgName = htmlDir + imgNameTim[iCanvas-1];
03668
03669 cTim->cd();
03670 gStyle->SetOptStat("euo");
03671 obj1f->SetStats(kTRUE);
03672 obj1f->SetMinimum(0.0);
03673 obj1f->SetMaximum(10.0);
03674 obj1f->Draw();
03675 cTim->Update();
03676 cTim->SaveAs(imgName.c_str());
03677 gPad->SetLogy(kFALSE);
03678
03679 }
03680
03681
03682
03683 imgNameTimav[iCanvas-1] = "";
03684
03685 obj1f = 0;
03686 switch ( iCanvas ) {
03687 case 1:
03688 obj1f = UtilsClient::getHisto<TH1F*>( metav01_[ism-1] );
03689 break;
03690 case 2:
03691 obj1f = UtilsClient::getHisto<TH1F*>( metav02_[ism-1] );
03692 break;
03693 case 3:
03694 obj1f = UtilsClient::getHisto<TH1F*>( metav03_[ism-1] );
03695 break;
03696 case 4:
03697 obj1f = UtilsClient::getHisto<TH1F*>( metav04_[ism-1] );
03698 break;
03699 case 5:
03700 obj1f = UtilsClient::getHisto<TH1F*>( metav05_[ism-1] );
03701 break;
03702 case 6:
03703 obj1f = UtilsClient::getHisto<TH1F*>( metav06_[ism-1] );
03704 break;
03705 case 7:
03706 obj1f = UtilsClient::getHisto<TH1F*>( metav07_[ism-1] );
03707 break;
03708 case 8:
03709 obj1f = UtilsClient::getHisto<TH1F*>( metav08_[ism-1] );
03710 break;
03711 default:
03712 break;
03713 }
03714
03715 if ( obj1f ) {
03716
03717 meName = obj1f->GetName();
03718
03719 replace(meName.begin(), meName.end(), ' ', '_');
03720 imgNameTimav[iCanvas-1] = meName + ".png";
03721 imgName = htmlDir + imgNameTimav[iCanvas-1];
03722
03723 cTimav->cd();
03724 gStyle->SetOptStat("euomr");
03725 obj1f->SetStats(kTRUE);
03726 if ( obj1f->GetMaximum(histMax) > 0. ) {
03727 gPad->SetLogy(kTRUE);
03728 } else {
03729 gPad->SetLogy(kFALSE);
03730 }
03731 obj1f->Draw();
03732 cTimav->Update();
03733 cTimav->SaveAs(imgName.c_str());
03734 gPad->SetLogy(kFALSE);
03735
03736 }
03737
03738
03739
03740 imgNameTimrms[iCanvas-1] = "";
03741
03742 obj1f = 0;
03743 switch ( iCanvas ) {
03744 case 1:
03745 obj1f = UtilsClient::getHisto<TH1F*>( metrms01_[ism-1] );
03746 break;
03747 case 2:
03748 obj1f = UtilsClient::getHisto<TH1F*>( metrms02_[ism-1] );
03749 break;
03750 case 3:
03751 obj1f = UtilsClient::getHisto<TH1F*>( metrms03_[ism-1] );
03752 break;
03753 case 4:
03754 obj1f = UtilsClient::getHisto<TH1F*>( metrms04_[ism-1] );
03755 break;
03756 case 5:
03757 obj1f = UtilsClient::getHisto<TH1F*>( metrms05_[ism-1] );
03758 break;
03759 case 6:
03760 obj1f = UtilsClient::getHisto<TH1F*>( metrms06_[ism-1] );
03761 break;
03762 case 7:
03763 obj1f = UtilsClient::getHisto<TH1F*>( metrms07_[ism-1] );
03764 break;
03765 case 8:
03766 obj1f = UtilsClient::getHisto<TH1F*>( metrms08_[ism-1] );
03767 break;
03768 default:
03769 break;
03770 }
03771
03772 if ( obj1f ) {
03773
03774 meName = obj1f->GetName();
03775
03776 replace(meName.begin(), meName.end(), ' ', '_');
03777 imgNameTimrms[iCanvas-1] = meName + ".png";
03778 imgName = htmlDir + imgNameTimrms[iCanvas-1];
03779
03780 cTimrms->cd();
03781 gStyle->SetOptStat("euomr");
03782 obj1f->SetStats(kTRUE);
03783 if ( obj1f->GetMaximum(histMax) > 0. ) {
03784 gPad->SetLogy(kTRUE);
03785 } else {
03786 gPad->SetLogy(kFALSE);
03787 }
03788 obj1f->Draw();
03789 cTimrms->Update();
03790 cTimrms->SaveAs(imgName.c_str());
03791 gPad->SetLogy(kFALSE);
03792
03793 }
03794
03795
03796
03797 imgNameShape[iCanvas-1] = "";
03798
03799 obj1f = 0;
03800 switch ( iCanvas ) {
03801 case 1:
03802 obj1f = UtilsClient::getHisto<TH1F*>( me_hs01_[ism-1] );
03803 break;
03804 case 2:
03805 obj1f = UtilsClient::getHisto<TH1F*>( me_hs02_[ism-1] );
03806 break;
03807 case 3:
03808 obj1f = UtilsClient::getHisto<TH1F*>( me_hs03_[ism-1] );
03809 break;
03810 case 4:
03811 obj1f = UtilsClient::getHisto<TH1F*>( me_hs04_[ism-1] );
03812 break;
03813 case 5:
03814 obj1f = UtilsClient::getHisto<TH1F*>( me_hs05_[ism-1] );
03815 break;
03816 case 6:
03817 obj1f = UtilsClient::getHisto<TH1F*>( me_hs06_[ism-1] );
03818 break;
03819 case 7:
03820 obj1f = UtilsClient::getHisto<TH1F*>( me_hs07_[ism-1] );
03821 break;
03822 case 8:
03823 obj1f = UtilsClient::getHisto<TH1F*>( me_hs08_[ism-1] );
03824 break;
03825 default:
03826 break;
03827 }
03828
03829 if ( obj1f ) {
03830 meName = obj1f->GetName();
03831
03832 replace(meName.begin(), meName.end(), ' ', '_');
03833 imgNameShape[iCanvas-1] = meName + ".png";
03834 imgName = htmlDir + imgNameShape[iCanvas-1];
03835
03836 cShape->cd();
03837 gStyle->SetOptStat("euo");
03838 obj1f->SetStats(kTRUE);
03839
03840
03841
03842
03843
03844 obj1f->Draw();
03845 cShape->Update();
03846 cShape->SaveAs(imgName.c_str());
03847 gPad->SetLogy(kFALSE);
03848
03849 }
03850
03851
03852
03853 imgNameAmpoPN[iCanvas-1] = "";
03854
03855 obj1f = 0;
03856 switch ( iCanvas ) {
03857 case 1:
03858 obj1f = UtilsClient::getHisto<TH1F*>( meaopn01_[ism-1] );
03859 break;
03860 case 2:
03861 obj1f = UtilsClient::getHisto<TH1F*>( meaopn02_[ism-1] );
03862 break;
03863 case 3:
03864 obj1f = UtilsClient::getHisto<TH1F*>( meaopn03_[ism-1] );
03865 break;
03866 case 4:
03867 obj1f = UtilsClient::getHisto<TH1F*>( meaopn04_[ism-1] );
03868 break;
03869 case 5:
03870 obj1f = UtilsClient::getHisto<TH1F*>( meaopn05_[ism-1] );
03871 break;
03872 case 6:
03873 obj1f = UtilsClient::getHisto<TH1F*>( meaopn06_[ism-1] );
03874 break;
03875 case 7:
03876 obj1f = UtilsClient::getHisto<TH1F*>( meaopn07_[ism-1] );
03877 break;
03878 case 8:
03879 obj1f = UtilsClient::getHisto<TH1F*>( meaopn08_[ism-1] );
03880 break;
03881 default:
03882 break;
03883 }
03884
03885 if ( obj1f ) {
03886
03887 meName = obj1f->GetName();
03888
03889 replace(meName.begin(), meName.end(), ' ', '_');
03890 imgNameAmpoPN[iCanvas-1] = meName + ".png";
03891 imgName = htmlDir + imgNameAmpoPN[iCanvas-1];
03892
03893 cAmpoPN->cd();
03894 gStyle->SetOptStat("euo");
03895 obj1f->SetStats(kTRUE);
03896
03897
03898
03899
03900
03901 obj1f->SetMinimum(0.0);
03902 obj1f->SetMaximum(20.0);
03903 obj1f->Draw();
03904 cAmpoPN->Update();
03905 cAmpoPN->SaveAs(imgName.c_str());
03906 gPad->SetLogy(kFALSE);
03907
03908 }
03909
03910
03911
03912 imgNameMEPnQualG01[iCanvas-1] = "";
03913
03914 obj2f = 0;
03915 switch ( iCanvas ) {
03916 case 1:
03917 obj2f = UtilsClient::getHisto<TH2F*>( meg05_[ism-1] );
03918 break;
03919 case 2:
03920 obj2f = UtilsClient::getHisto<TH2F*>( meg06_[ism-1] );
03921 break;
03922 case 3:
03923 obj2f = UtilsClient::getHisto<TH2F*>( meg07_[ism-1] );
03924 break;
03925 case 4:
03926 obj2f = UtilsClient::getHisto<TH2F*>( meg08_[ism-1] );
03927 break;
03928 case 5:
03929 case 6:
03930 case 7:
03931 case 8:
03932 obj2f = 0;
03933 break;
03934 default:
03935 break;
03936 }
03937
03938 if ( obj2f ) {
03939
03940 meName = obj2f->GetName();
03941
03942 replace(meName.begin(), meName.end(), ' ', '_');
03943 imgNameMEPnQualG01[iCanvas-1] = meName + ".png";
03944 imgName = htmlDir + imgNameMEPnQualG01[iCanvas-1];
03945
03946 cQualPN->cd();
03947 gStyle->SetOptStat(" ");
03948 gStyle->SetPalette(7, pCol3);
03949 obj2f->GetXaxis()->SetNdivisions(10);
03950 obj2f->GetYaxis()->SetNdivisions(5);
03951 cQualPN->SetGridx();
03952 cQualPN->SetGridy(0);
03953 obj2f->SetMinimum(-0.00000001);
03954 obj2f->SetMaximum(7.0);
03955 obj2f->Draw("col");
03956 dummy1.Draw("text,same");
03957 cQualPN->Update();
03958 cQualPN->SaveAs(imgName.c_str());
03959
03960 }
03961
03962 imgNameMEPnQualG16[iCanvas-1] = "";
03963
03964 obj2f = 0;
03965 switch ( iCanvas ) {
03966 case 1:
03967 obj2f = UtilsClient::getHisto<TH2F*>( meg09_[ism-1] );
03968 break;
03969 case 2:
03970 obj2f = UtilsClient::getHisto<TH2F*>( meg10_[ism-1] );
03971 break;
03972 case 3:
03973 obj2f = UtilsClient::getHisto<TH2F*>( meg11_[ism-1] );
03974 break;
03975 case 4:
03976 obj2f = UtilsClient::getHisto<TH2F*>( meg12_[ism-1] );
03977 break;
03978 case 5:
03979 case 6:
03980 case 7:
03981 case 8:
03982 obj2f = 0;
03983 break;
03984 default:
03985 break;
03986 }
03987
03988 if ( obj2f ) {
03989
03990 meName = obj2f->GetName();
03991
03992 replace(meName.begin(), meName.end(), ' ', '_');
03993 imgNameMEPnQualG16[iCanvas-1] = meName + ".png";
03994 imgName = htmlDir + imgNameMEPnQualG16[iCanvas-1];
03995
03996 cQualPN->cd();
03997 gStyle->SetOptStat(" ");
03998 gStyle->SetPalette(7, pCol3);
03999 obj2f->GetXaxis()->SetNdivisions(10);
04000 obj2f->GetYaxis()->SetNdivisions(5);
04001 cQualPN->SetGridx();
04002 cQualPN->SetGridy(0);
04003 obj2f->SetMinimum(-0.00000001);
04004 obj2f->SetMaximum(7.0);
04005 obj2f->Draw("col");
04006 dummy1.Draw("text,same");
04007 cQualPN->Update();
04008 cQualPN->SaveAs(imgName.c_str());
04009
04010 }
04011
04012 imgNameMEPnG01[iCanvas-1] = "";
04013
04014 objp = 0;
04015 switch ( iCanvas ) {
04016 case 1:
04017 objp = i01_[ism-1];
04018 break;
04019 case 2:
04020 objp = i02_[ism-1];
04021 break;
04022 case 3:
04023 objp = i03_[ism-1];
04024 break;
04025 case 4:
04026 objp = i04_[ism-1];
04027 break;
04028 case 5:
04029 case 6:
04030 case 7:
04031 case 8:
04032 objp = 0;
04033 break;
04034 default:
04035 break;
04036 }
04037
04038 if ( objp ) {
04039
04040 meName = objp->GetName();
04041
04042 replace(meName.begin(), meName.end(), ' ', '_');
04043 imgNameMEPnG01[iCanvas-1] = meName + ".png";
04044 imgName = htmlDir + imgNameMEPnG01[iCanvas-1];
04045
04046 cAmp->cd();
04047 gStyle->SetOptStat("euo");
04048 objp->SetStats(kTRUE);
04049
04050
04051
04052
04053
04054 objp->SetMinimum(0.0);
04055 objp->Draw();
04056 cAmp->Update();
04057 cAmp->SaveAs(imgName.c_str());
04058 gPad->SetLogy(kFALSE);
04059
04060 }
04061
04062 imgNameMEPnG16[iCanvas-1] = "";
04063
04064 objp = 0;
04065 switch ( iCanvas ) {
04066 case 1:
04067 objp = i09_[ism-1];
04068 break;
04069 case 2:
04070 objp = i10_[ism-1];
04071 break;
04072 case 3:
04073 objp = i11_[ism-1];
04074 break;
04075 case 4:
04076 objp = i12_[ism-1];
04077 break;
04078 case 5:
04079 case 6:
04080 case 7:
04081 case 8:
04082 objp = 0;
04083 break;
04084 default:
04085 break;
04086 }
04087
04088 if ( objp ) {
04089
04090 meName = objp->GetName();
04091
04092 replace(meName.begin(), meName.end(), ' ', '_');
04093 imgNameMEPnG16[iCanvas-1] = meName + ".png";
04094 imgName = htmlDir + imgNameMEPnG16[iCanvas-1];
04095
04096 cAmp->cd();
04097 gStyle->SetOptStat("euo");
04098 objp->SetStats(kTRUE);
04099
04100
04101
04102
04103
04104 objp->SetMinimum(0.0);
04105 objp->Draw();
04106 cAmp->Update();
04107 cAmp->SaveAs(imgName.c_str());
04108 gPad->SetLogy(kFALSE);
04109
04110 }
04111
04112
04113
04114 imgNameMEPnPedG01[iCanvas-1] = "";
04115
04116 objp = 0;
04117 switch ( iCanvas ) {
04118 case 1:
04119 objp = i05_[ism-1];
04120 break;
04121 case 2:
04122 objp = i06_[ism-1];
04123 break;
04124 case 3:
04125 objp = i07_[ism-1];
04126 break;
04127 case 4:
04128 objp = i08_[ism-1];
04129 break;
04130 case 5:
04131 case 6:
04132 case 7:
04133 case 8:
04134 objp = 0;
04135 break;
04136 default:
04137 break;
04138 }
04139
04140 if ( objp ) {
04141
04142 meName = objp->GetName();
04143
04144 replace(meName.begin(), meName.end(), ' ', '_');
04145 imgNameMEPnPedG01[iCanvas-1] = meName + ".png";
04146 imgName = htmlDir + imgNameMEPnPedG01[iCanvas-1];
04147
04148 cPed->cd();
04149 gStyle->SetOptStat("euo");
04150 objp->SetStats(kTRUE);
04151
04152
04153
04154
04155
04156 objp->SetMinimum(0.0);
04157 objp->Draw();
04158 cPed->Update();
04159 cPed->SaveAs(imgName.c_str());
04160 gPad->SetLogy(kFALSE);
04161
04162 }
04163
04164 imgNameMEPnPedG16[iCanvas-1] = "";
04165
04166 objp = 0;
04167 switch ( iCanvas ) {
04168 case 1:
04169 objp = i13_[ism-1];
04170 break;
04171 case 2:
04172 objp = i14_[ism-1];
04173 break;
04174 case 3:
04175 objp = i15_[ism-1];
04176 break;
04177 case 4:
04178 objp = i16_[ism-1];
04179 break;
04180 case 5:
04181 case 6:
04182 case 7:
04183 case 8:
04184 objp = 0;
04185 break;
04186 default:
04187 break;
04188 }
04189
04190 if ( objp ) {
04191
04192 meName = objp->GetName();
04193
04194 replace(meName.begin(), meName.end(), ' ', '_');
04195 imgNameMEPnPedG16[iCanvas-1] = meName + ".png";
04196 imgName = htmlDir + imgNameMEPnPedG16[iCanvas-1];
04197
04198 cPed->cd();
04199 gStyle->SetOptStat("euo");
04200 objp->SetStats(kTRUE);
04201
04202
04203
04204
04205
04206 objp->SetMinimum(0.0);
04207 objp->Draw();
04208 cPed->Update();
04209 cPed->SaveAs(imgName.c_str());
04210 gPad->SetLogy(kFALSE);
04211
04212 }
04213
04214 imgNameMEPnRmsPedG01[iCanvas-1] = "";
04215
04216 obj1f = 0;
04217 switch ( iCanvas ) {
04218 case 1:
04219 if ( mepnprms01_[ism-1] ) obj1f = UtilsClient::getHisto<TH1F*>(mepnprms01_[ism-1]);
04220 break;
04221 case 2:
04222 if ( mepnprms02_[ism-1] ) obj1f = UtilsClient::getHisto<TH1F*>(mepnprms02_[ism-1]);
04223 break;
04224 case 3:
04225 if ( mepnprms03_[ism-1] ) obj1f = UtilsClient::getHisto<TH1F*>(mepnprms03_[ism-1]);
04226 break;
04227 case 4:
04228 if ( mepnprms04_[ism-1] ) obj1f = UtilsClient::getHisto<TH1F*>(mepnprms04_[ism-1]);
04229 break;
04230 case 5:
04231 case 6:
04232 case 7:
04233 case 8:
04234 obj1f = 0;
04235 break;
04236 default:
04237 break;
04238 }
04239
04240 if ( obj1f ) {
04241
04242 meName = obj1f->GetName();
04243
04244 replace(meName.begin(), meName.end(), ' ', '_');
04245 imgNameMEPnRmsPedG01[iCanvas-1] = meName + ".png";
04246 imgName = htmlDir + imgNameMEPnRmsPedG01[iCanvas-1];
04247
04248 cPed->cd();
04249 gStyle->SetOptStat("euomr");
04250 obj1f->SetStats(kTRUE);
04251
04252
04253
04254
04255
04256 obj1f->SetMinimum(0.0);
04257 obj1f->Draw();
04258 cPed->Update();
04259 cPed->SaveAs(imgName.c_str());
04260 gPad->SetLogy(kFALSE);
04261
04262 }
04263
04264 imgNameMEPnRmsPedG16[iCanvas-1] = "";
04265
04266 obj1f = 0;
04267 switch ( iCanvas ) {
04268 case 1:
04269 if ( mepnprms05_[ism-1] ) obj1f = UtilsClient::getHisto<TH1F*>(mepnprms05_[ism-1]);
04270 break;
04271 case 2:
04272 if ( mepnprms06_[ism-1] ) obj1f = UtilsClient::getHisto<TH1F*>(mepnprms06_[ism-1]);
04273 break;
04274 case 3:
04275 if ( mepnprms07_[ism-1] ) obj1f = UtilsClient::getHisto<TH1F*>(mepnprms07_[ism-1]);
04276 break;
04277 case 4:
04278 if ( mepnprms08_[ism-1] ) obj1f = UtilsClient::getHisto<TH1F*>(mepnprms08_[ism-1]);
04279 break;
04280 case 5:
04281 case 6:
04282 case 7:
04283 case 8:
04284 obj1f = 0;
04285 break;
04286 default:
04287 break;
04288 }
04289
04290 if ( obj1f ) {
04291
04292 meName = obj1f->GetName();
04293
04294 replace(meName.begin(), meName.end(), ' ', '_');
04295 imgNameMEPnRmsPedG16[iCanvas-1] = meName + ".png";
04296 imgName = htmlDir + imgNameMEPnRmsPedG16[iCanvas-1];
04297
04298 cPed->cd();
04299 gStyle->SetOptStat("euomr");
04300 obj1f->SetStats(kTRUE);
04301
04302
04303
04304
04305
04306 obj1f->SetMinimum(0.0);
04307 obj1f->Draw();
04308 cPed->Update();
04309 cPed->SaveAs(imgName.c_str());
04310 gPad->SetLogy(kFALSE);
04311
04312 }
04313
04314 }
04315
04316 if( i>0 ) htmlFile << "<a href=""#top"">Top</a>" << std::endl;
04317 htmlFile << "<hr>" << std::endl;
04318 htmlFile << "<h3><a name="""
04319 << Numbers::sEE(ism) << """></a><strong>"
04320 << Numbers::sEE(ism) << "</strong></h3>" << endl;
04321 htmlFile << "<table border=\"0\" cellspacing=\"0\" " << endl;
04322 htmlFile << "cellpadding=\"10\" align=\"center\"> " << endl;
04323 htmlFile << "<tr align=\"center\">" << endl;
04324
04325 for ( int iCanvas = 1 ; iCanvas <= 4 ; iCanvas++ ) {
04326
04327
04328 if ( iCanvas == 2 || iCanvas == 3 ) continue;
04329
04330 if ( imgNameQual[iCanvas-1].size() != 0 )
04331 htmlFile << "<td colspan=\"2\"><img src=\"" << imgNameQual[iCanvas-1] << "\"></td>" << endl;
04332 else
04333 htmlFile << "<td colspan=\"2\"><img src=\"" << " " << "\"></td>" << endl;
04334
04335 }
04336
04337 htmlFile << "</tr>" << endl;
04338
04339 htmlFile << "<tr>" << endl;
04340
04341 for ( int iCanvas = 1 ; iCanvas <= 4 ; iCanvas++ ) {
04342
04343
04344 if ( iCanvas == 2 || iCanvas == 3 ) continue;
04345
04346 if ( imgNameAmp[iCanvas-1].size() != 0 )
04347 htmlFile << "<td><img src=\"" << imgNameAmp[iCanvas-1] << "\"></td>" << endl;
04348 else
04349 htmlFile << "<td><img src=\"" << " " << "\"></td>" << endl;
04350
04351 if ( imgNameAmpoPN[iCanvas-1].size() != 0 )
04352 htmlFile << "<td><img src=\"" << imgNameAmpoPN[iCanvas-1] << "\"></td>" << endl;
04353 else
04354 htmlFile << "<td><img src=\"" << " " << "\"></td>" << endl;
04355
04356 }
04357
04358 htmlFile << "</tr>" << endl;
04359
04360 htmlFile << "<tr>" << endl;
04361
04362 for ( int iCanvas = 1 ; iCanvas <= 4 ; iCanvas++ ) {
04363
04364
04365 if ( iCanvas == 2 || iCanvas == 3 ) continue;
04366
04367 if ( imgNameAmp[4+iCanvas-1].size() != 0 )
04368 htmlFile << "<td><img src=\"" << imgNameAmp[4+iCanvas-1] << "\"></td>" << endl;
04369 else
04370 htmlFile << "<td><img src=\"" << " " << "\"></td>" << endl;
04371
04372 if ( imgNameAmpoPN[4+iCanvas-1].size() != 0 )
04373 htmlFile << "<td><img src=\"" << imgNameAmpoPN[4+iCanvas-1] << "\"></td>" << endl;
04374 else
04375 htmlFile << "<td><img src=\"" << " " << "\"></td>" << endl;
04376
04377 }
04378
04379 htmlFile << "</tr>" << endl;
04380
04381 htmlFile << "<tr>" << endl;
04382
04383 for ( int iCanvas = 1 ; iCanvas <= 4 ; iCanvas++ ) {
04384
04385
04386 if ( iCanvas == 2 || iCanvas == 3 ) continue;
04387
04388 if ( imgNameTim[iCanvas-1].size() != 0 )
04389 htmlFile << "<td><img src=\"" << imgNameTim[iCanvas-1] << "\"></td>" << endl;
04390 else
04391 htmlFile << "<td><img src=\"" << " " << "\"></td>" << endl;
04392
04393 if ( imgNameShape[iCanvas-1].size() != 0 )
04394 htmlFile << "<td><img src=\"" << imgNameShape[iCanvas-1] << "\"></td>" << endl;
04395 else
04396 htmlFile << "<td><img src=\"" << " " << "\"></td>" << endl;
04397
04398 }
04399
04400 htmlFile << "</tr>" << endl;
04401
04402 htmlFile << "<tr>" << endl;
04403
04404 for ( int iCanvas = 1 ; iCanvas <= 4 ; iCanvas++ ) {
04405
04406
04407 if ( iCanvas == 2 || iCanvas == 3 ) continue;
04408
04409 if ( imgNameTimav[iCanvas-1].size() != 0 )
04410 htmlFile << "<td><img src=\"" << imgNameTimav[iCanvas-1] << "\"></td>" << endl;
04411 else
04412 htmlFile << "<td><img src=\"" << " " << "\"></td>" << endl;
04413
04414 if ( imgNameTimrms[iCanvas-1].size() != 0 )
04415 htmlFile << "<td><img src=\"" << imgNameTimrms[iCanvas-1] << "\"></td>" << endl;
04416 else
04417 htmlFile << "<td><img src=\"" << " " << "\"></td>" << endl;
04418
04419 }
04420
04421 htmlFile << "</tr>" << endl;
04422
04423 htmlFile << "<tr>" << endl;
04424
04425 for ( int iCanvas = 1 ; iCanvas <= 4 ; iCanvas++ ) {
04426
04427
04428 if ( iCanvas == 2 || iCanvas == 3 ) continue;
04429
04430 if ( imgNameTim[4+iCanvas-1].size() != 0 )
04431 htmlFile << "<td><img src=\"" << imgNameTim[4+iCanvas-1] << "\"></td>" << endl;
04432 else
04433 htmlFile << "<td><img src=\"" << " " << "\"></td>" << endl;
04434
04435 if ( imgNameShape[4+iCanvas-1].size() != 0 )
04436 htmlFile << "<td><img src=\"" << imgNameShape[4+iCanvas-1] << "\"></td>" << endl;
04437 else
04438 htmlFile << "<td><img src=\"" << " " << "\"></td>" << endl;
04439
04440 }
04441
04442 htmlFile << "</tr>" << endl;
04443
04444 htmlFile << "<tr>" << endl;
04445
04446 for ( int iCanvas = 1 ; iCanvas <= 4 ; iCanvas++ ) {
04447
04448
04449 if ( iCanvas == 2 || iCanvas == 3 ) continue;
04450
04451 if ( imgNameTimav[4+iCanvas-1].size() != 0 )
04452 htmlFile << "<td><img src=\"" << imgNameTimav[4+iCanvas-1] << "\"></td>" << endl;
04453 else
04454 htmlFile << "<td><img src=\"" << " " << "\"></td>" << endl;
04455
04456 if ( imgNameTimrms[4+iCanvas-1].size() != 0 )
04457 htmlFile << "<td><img src=\"" << imgNameTimrms[4+iCanvas-1] << "\"></td>" << endl;
04458 else
04459 htmlFile << "<td><img src=\"" << " " << "\"></td>" << endl;
04460
04461 }
04462
04463 htmlFile << "</tr>" << endl;
04464
04465 htmlFile << "<tr align=\"center\">" << endl;
04466
04467 for ( int iCanvas = 1 ; iCanvas <= 4 ; iCanvas++ ) {
04468
04469
04470 if ( iCanvas == 2 || iCanvas == 3 ) continue;
04471
04472 htmlFile << "<td colspan=\"2\">Laser " << iCanvas << "</td>" << endl;
04473
04474 }
04475
04476 htmlFile << "</tr>" << endl;
04477 htmlFile << "</table>" << endl;
04478 htmlFile << "<br>" << endl;
04479
04480 htmlFile << "<table border=\"0\" cellspacing=\"0\" " << endl;
04481 htmlFile << "cellpadding=\"10\" align=\"center\"> " << endl;
04482 htmlFile << "<tr align=\"center\">" << endl;
04483
04484 for ( int iCanvas = 1 ; iCanvas <= 4 ; iCanvas++ ) {
04485
04486
04487 if ( iCanvas == 2 || iCanvas == 3 ) continue;
04488
04489 if ( imgNameMEPnQualG01[iCanvas-1].size() != 0 )
04490 htmlFile << "<td colspan=\"2\"><img src=\"" << imgNameMEPnQualG01[iCanvas-1] << "\"></td>" << endl;
04491 else
04492 htmlFile << "<td colspan=\"2\"><img src=\"" << " " << "\"></td>" << endl;
04493
04494 }
04495
04496 htmlFile << "</tr>" << endl;
04497
04498 htmlFile << "<tr>" << endl;
04499
04500 for ( int iCanvas = 1 ; iCanvas <= 4 ; iCanvas++ ) {
04501
04502
04503 if ( iCanvas == 2 || iCanvas == 3 ) continue;
04504
04505 if ( imgNameMEPnPedG01[iCanvas-1].size() != 0 )
04506 htmlFile << "<td><img src=\"" << imgNameMEPnPedG01[iCanvas-1] << "\"></td>" << endl;
04507 else
04508 htmlFile << "<td><img src=\"" << " " << "\"></td>" << endl;
04509
04510 if ( imgNameMEPnRmsPedG01[iCanvas-1].size() != 0 )
04511 htmlFile << "<td><img src=\"" << imgNameMEPnRmsPedG01[iCanvas-1] << "\"></td>" << endl;
04512 else
04513 htmlFile << "<td><img src=\"" << " " << "\"></td>" << endl;
04514
04515 if ( imgNameMEPnG01[iCanvas-1].size() != 0 )
04516 htmlFile << "<td><img src=\"" << imgNameMEPnG01[iCanvas-1] << "\"></td>" << endl;
04517 else
04518 htmlFile << "<td><img src=\"" << " " << "\"></td>" << endl;
04519
04520 }
04521
04522 htmlFile << "</tr>" << endl;
04523
04524 htmlFile << "<tr align=\"center\">" << endl;
04525
04526 for ( int iCanvas = 1 ; iCanvas <= 4 ; iCanvas++ ) {
04527
04528
04529 if ( iCanvas == 2 || iCanvas == 3 ) continue;
04530
04531 htmlFile << "<td colspan=\"1\"> </td> <td colspan=\"1\">Laser " << iCanvas << " - PN Gain 1</td> <td colspan=\"1\">" << endl;
04532
04533 }
04534
04535 htmlFile << "</tr>" << endl;
04536
04537 htmlFile << "<tr align=\"center\">" << endl;
04538
04539 for ( int iCanvas = 1 ; iCanvas <= 4 ; iCanvas++ ) {
04540
04541
04542 if ( iCanvas == 2 || iCanvas == 3 ) continue;
04543
04544 if ( imgNameMEPnQualG16[iCanvas-1].size() != 0 )
04545 htmlFile << "<td colspan=\"2\"><img src=\"" << imgNameMEPnQualG16[iCanvas-1] << "\"></td>" << endl;
04546 else
04547 htmlFile << "<td colspan=\"2\"><img src=\"" << " " << "\"></td>" << endl;
04548
04549 }
04550
04551 htmlFile << "</tr>" << endl;
04552
04553 htmlFile << "<tr>" << endl;
04554
04555 for ( int iCanvas = 1 ; iCanvas <= 4 ; iCanvas++ ) {
04556
04557
04558 if ( iCanvas == 2 || iCanvas == 3 ) continue;
04559
04560 if ( imgNameMEPnPedG16[iCanvas-1].size() != 0 )
04561 htmlFile << "<td><img src=\"" << imgNameMEPnPedG16[iCanvas-1] << "\"></td>" << endl;
04562 else
04563 htmlFile << "<td><img src=\"" << " " << "\"></td>" << endl;
04564
04565 if ( imgNameMEPnRmsPedG16[iCanvas-1].size() != 0 )
04566 htmlFile << "<td><img src=\"" << imgNameMEPnRmsPedG16[iCanvas-1] << "\"></td>" << endl;
04567 else
04568 htmlFile << "<td><img src=\"" << " " << "\"></td>" << endl;
04569
04570 if ( imgNameMEPnG16[iCanvas-1].size() != 0 )
04571 htmlFile << "<td><img src=\"" << imgNameMEPnG16[iCanvas-1] << "\"></td>" << endl;
04572 else
04573 htmlFile << "<td><img src=\"" << " " << "\"></td>" << endl;
04574
04575 }
04576
04577 htmlFile << "<tr align=\"center\">" << endl;
04578
04579 for ( int iCanvas = 1 ; iCanvas <= 4 ; iCanvas++ ) {
04580
04581
04582 if ( iCanvas == 2 || iCanvas == 3 ) continue;
04583
04584 htmlFile << "<td colspan=\"1\"> </td> <td colspan=\"1\">Laser " << iCanvas << " - PN Gain 16</td> <td colspan=\"1\"> </td>" << endl;
04585
04586 }
04587
04588 htmlFile << "</tr>" << endl;
04589
04590 htmlFile << "</tr>" << endl;
04591 htmlFile << "</table>" << endl;
04592
04593 htmlFile << "<br>" << endl;
04594
04595 }
04596
04597 delete cQual;
04598 delete cQualPN;
04599 delete cAmp;
04600 delete cTim;
04601 delete cTimav;
04602 delete cTimrms;
04603 delete cShape;
04604 delete cAmpoPN;
04605 delete cPed;
04606
04607
04608 htmlFile << "</body> " << endl;
04609 htmlFile << "</html> " << endl;
04610
04611 htmlFile.close();
04612
04613 }
04614