CMS 3D CMS Logo

Public Member Functions | Private Attributes | Friends

EBLaserClient Class Reference

#include <EBLaserClient.h>

Inheritance diagram for EBLaserClient:
EBClient

List of all members.

Public Member Functions

void analyze (void)
 Analyze.
void beginJob (void)
 BeginJob.
void beginRun (void)
 BeginRun.
void cleanup (void)
 Cleanup.
 EBLaserClient (const edm::ParameterSet &ps)
 Constructor.
void endJob (void)
 EndJob.
void endRun (void)
 EndRun.
int getEvtPerJob ()
 Get Functions.
int getEvtPerRun ()
 Returns the number of processed events in this Run.
void setup (void)
 Setup.
virtual ~EBLaserClient ()
 Destructor.

Private Attributes

float amplitudeThreshold_
float amplitudeThresholdPnG01_
float amplitudeThresholdPnG16_
bool cloneME_
bool debug_
DQMStoredqmStore_
bool enableCleanup_
TProfile2D * h01_ [36]
TProfile2D * h02_ [36]
TProfile2D * h03_ [36]
TProfile2D * h04_ [36]
TProfile2D * h05_ [36]
TProfile2D * h06_ [36]
TProfile2D * h07_ [36]
TProfile2D * h08_ [36]
TProfile2D * h09_ [36]
TProfile2D * h10_ [36]
TProfile2D * h11_ [36]
TProfile2D * h12_ [36]
TProfile2D * hs01_ [36]
TProfile2D * hs02_ [36]
TProfile2D * hs03_ [36]
TProfile2D * hs04_ [36]
TProfile * i01_ [36]
TProfile * i02_ [36]
TProfile * i03_ [36]
TProfile * i04_ [36]
TProfile * i05_ [36]
TProfile * i06_ [36]
TProfile * i07_ [36]
TProfile * i08_ [36]
TProfile * i09_ [36]
TProfile * i10_ [36]
TProfile * i11_ [36]
TProfile * i12_ [36]
TProfile * i13_ [36]
TProfile * i14_ [36]
TProfile * i15_ [36]
TProfile * i16_ [36]
int ievt_
int jevt_
std::vector< int > laserWavelengths_
MonitorElementme_hs01_ [36]
MonitorElementme_hs02_ [36]
MonitorElementme_hs03_ [36]
MonitorElementme_hs04_ [36]
MonitorElementme_hs05_ [36]
MonitorElementme_hs06_ [36]
MonitorElementme_hs07_ [36]
MonitorElementme_hs08_ [36]
MonitorElementmea01_ [36]
MonitorElementmea02_ [36]
MonitorElementmea03_ [36]
MonitorElementmea04_ [36]
MonitorElementmeaopn01_ [36]
MonitorElementmeaopn02_ [36]
MonitorElementmeaopn03_ [36]
MonitorElementmeaopn04_ [36]
MonitorElementmeg01_ [36]
MonitorElementmeg02_ [36]
MonitorElementmeg03_ [36]
MonitorElementmeg04_ [36]
MonitorElementmeg05_ [36]
MonitorElementmeg06_ [36]
MonitorElementmeg07_ [36]
MonitorElementmeg08_ [36]
MonitorElementmeg09_ [36]
MonitorElementmeg10_ [36]
MonitorElementmeg11_ [36]
MonitorElementmeg12_ [36]
MonitorElementmepnprms01_ [36]
MonitorElementmepnprms02_ [36]
MonitorElementmepnprms03_ [36]
MonitorElementmepnprms04_ [36]
MonitorElementmepnprms05_ [36]
MonitorElementmepnprms06_ [36]
MonitorElementmepnprms07_ [36]
MonitorElementmepnprms08_ [36]
MonitorElementmet01_ [36]
MonitorElementmet02_ [36]
MonitorElementmet03_ [36]
MonitorElementmet04_ [36]
MonitorElementmetav01_ [36]
MonitorElementmetav02_ [36]
MonitorElementmetav03_ [36]
MonitorElementmetav04_ [36]
MonitorElementmetrms01_ [36]
MonitorElementmetrms02_ [36]
MonitorElementmetrms03_ [36]
MonitorElementmetrms04_ [36]
float pedPnDiscrepancyMean_ [2]
float pedPnExpectedMean_ [2]
float pedPnRMSThreshold_ [2]
float percentVariation_
std::string prefixME_
float rmsThresholdRelative_
std::vector< int > superModules_
bool verbose_

Friends

class EBSummaryClient

Detailed Description

Definition at line 32 of file EBLaserClient.h.


Constructor & Destructor Documentation

EBLaserClient::EBLaserClient ( const edm::ParameterSet ps)

Constructor.

Definition at line 48 of file EBLaserClient.cc.

References amplitudeThreshold_, amplitudeThresholdPnG01_, amplitudeThresholdPnG16_, cloneME_, gather_cfg::cout, debug_, enableCleanup_, edm::ParameterSet::getUntrackedParameter(), h01_, h02_, h03_, h04_, h05_, h06_, h07_, h08_, h09_, h10_, h11_, h12_, hs01_, hs02_, hs03_, hs04_, i, i01_, i02_, i03_, i04_, i05_, i06_, i07_, i08_, i09_, i10_, i11_, i12_, i13_, i14_, i15_, i16_, ecalpyutils::ism(), laserWavelengths_, me_hs01_, me_hs02_, me_hs03_, me_hs04_, mea01_, mea02_, mea03_, mea04_, meaopn01_, meaopn02_, meaopn03_, meaopn04_, meg01_, meg02_, meg03_, meg04_, meg05_, meg06_, meg07_, meg08_, meg09_, meg10_, meg11_, meg12_, mepnprms01_, mepnprms02_, mepnprms03_, mepnprms04_, mepnprms05_, mepnprms06_, mepnprms07_, mepnprms08_, met01_, met02_, met03_, met04_, metav01_, metav02_, metav03_, metav04_, metrms01_, metrms02_, metrms03_, metrms04_, pedPnDiscrepancyMean_, pedPnExpectedMean_, pedPnRMSThreshold_, percentVariation_, prefixME_, rmsThresholdRelative_, superModules_, and verbose_.

                                                      {

  // cloneME switch
  cloneME_ = ps.getUntrackedParameter<bool>("cloneME", true);

  // verbose switch
  verbose_ = ps.getUntrackedParameter<bool>("verbose", true);

  // debug switch
  debug_ = ps.getUntrackedParameter<bool>("debug", false);

  // prefixME path
  prefixME_ = ps.getUntrackedParameter<std::string>("prefixME", "");

  // enableCleanup_ switch
  enableCleanup_ = ps.getUntrackedParameter<bool>("enableCleanup", false);

  // vector of selected Super Modules (Defaults to all 36).
  superModules_.reserve(36);
  for ( unsigned int i = 1; i <= 36; i++ ) superModules_.push_back(i);
  superModules_ = ps.getUntrackedParameter<std::vector<int> >("superModules", superModules_);

  laserWavelengths_.reserve(4);
  for ( unsigned int i = 1; i <= 4; i++ ) laserWavelengths_.push_back(i);
  laserWavelengths_ = ps.getUntrackedParameter<std::vector<int> >("laserWavelengths", laserWavelengths_);

  if ( verbose_ ) {
    std::cout << " Laser wavelengths:" << std::endl;
    for ( unsigned int i = 0; i < laserWavelengths_.size(); i++ ) {
      std::cout << " " << laserWavelengths_[i];
    }
    std::cout << std::endl;
  }

  for ( unsigned int i=0; i<superModules_.size(); i++ ) {

    int ism = superModules_[i];

    h01_[ism-1] = 0;
    h02_[ism-1] = 0;
    h03_[ism-1] = 0;
    h04_[ism-1] = 0;
    h05_[ism-1] = 0;
    h06_[ism-1] = 0;
    h07_[ism-1] = 0;
    h08_[ism-1] = 0;

    h09_[ism-1] = 0;
    h10_[ism-1] = 0;
    h11_[ism-1] = 0;
    h12_[ism-1] = 0;

    hs01_[ism-1] = 0;
    hs02_[ism-1] = 0;
    hs03_[ism-1] = 0;
    hs04_[ism-1] = 0;

    i01_[ism-1] = 0;
    i02_[ism-1] = 0;
    i03_[ism-1] = 0;
    i04_[ism-1] = 0;
    i05_[ism-1] = 0;
    i06_[ism-1] = 0;
    i07_[ism-1] = 0;
    i08_[ism-1] = 0;

    i09_[ism-1] = 0;
    i10_[ism-1] = 0;
    i11_[ism-1] = 0;
    i12_[ism-1] = 0;
    i13_[ism-1] = 0;
    i14_[ism-1] = 0;
    i15_[ism-1] = 0;
    i16_[ism-1] = 0;

  }

  for ( unsigned int i=0; i<superModules_.size(); i++ ) {

    int ism = superModules_[i];

    meg01_[ism-1] = 0;
    meg02_[ism-1] = 0;
    meg03_[ism-1] = 0;
    meg04_[ism-1] = 0;

    meg05_[ism-1] = 0;
    meg06_[ism-1] = 0;
    meg07_[ism-1] = 0;
    meg08_[ism-1] = 0;
    meg09_[ism-1] = 0;
    meg10_[ism-1] = 0;
    meg11_[ism-1] = 0;
    meg12_[ism-1] = 0;

    mea01_[ism-1] = 0;
    mea02_[ism-1] = 0;
    mea03_[ism-1] = 0;
    mea04_[ism-1] = 0;

    met01_[ism-1] = 0;
    met02_[ism-1] = 0;
    met03_[ism-1] = 0;
    met04_[ism-1] = 0;

    metav01_[ism-1] = 0;
    metav02_[ism-1] = 0;
    metav03_[ism-1] = 0;
    metav04_[ism-1] = 0;

    metrms01_[ism-1] = 0;
    metrms02_[ism-1] = 0;
    metrms03_[ism-1] = 0;
    metrms04_[ism-1] = 0;

    meaopn01_[ism-1] = 0;
    meaopn02_[ism-1] = 0;
    meaopn03_[ism-1] = 0;
    meaopn04_[ism-1] = 0;

    mepnprms01_[ism-1] = 0;
    mepnprms02_[ism-1] = 0;
    mepnprms03_[ism-1] = 0;
    mepnprms04_[ism-1] = 0;
    mepnprms05_[ism-1] = 0;
    mepnprms06_[ism-1] = 0;
    mepnprms07_[ism-1] = 0;
    mepnprms08_[ism-1] = 0;

    me_hs01_[ism-1] = 0;
    me_hs02_[ism-1] = 0;
    me_hs03_[ism-1] = 0;
    me_hs04_[ism-1] = 0;

  }

  percentVariation_ = 0.4;

  amplitudeThreshold_ = 100.;

  rmsThresholdRelative_ = 0.3;

  amplitudeThresholdPnG01_ = 100.;
  amplitudeThresholdPnG16_ = 100.;

  pedPnExpectedMean_[0] = 750.0;
  pedPnExpectedMean_[1] = 750.0;

  pedPnDiscrepancyMean_[0] = 100.0;
  pedPnDiscrepancyMean_[1] = 100.0;

  pedPnRMSThreshold_[0] = 999.;
  pedPnRMSThreshold_[1] = 999.;

}
EBLaserClient::~EBLaserClient ( ) [virtual]

Destructor.

Definition at line 204 of file EBLaserClient.cc.

                              {

}

Member Function Documentation

void EBLaserClient::analyze ( void  ) [virtual]

Analyze.

Implements EBClient.

Definition at line 1523 of file EBLaserClient.cc.

References abs, amplitudeThresholdPnG01_, amplitudeThresholdPnG16_, cloneME_, gather_cfg::cout, debug_, dqmStore_, EcalBarrel, MonitorElement::Fill(), spr::find(), DQMStore::get(), UtilsClient::getBinStatistics(), UtilsClient::getFirstNonEmptyChannel(), h01_, h02_, h03_, h04_, h05_, h06_, h07_, h08_, h09_, h10_, h11_, h12_, trackerHits::histo, hs01_, hs02_, hs03_, hs04_, i, i01_, i02_, i03_, i04_, i05_, i06_, i07_, i08_, i09_, i10_, i11_, i12_, i13_, i14_, i15_, i16_, Numbers::icEB(), ievt_, jevt_, EcalDQMStatusHelper::LASER_MEAN_ERROR, EcalDQMStatusHelper::LASER_RMS_ERROR, EcalDQMStatusHelper::LASER_TIMING_MEAN_ERROR, EcalDQMStatusHelper::LASER_TIMING_RMS_ERROR, laserWavelengths_, UtilsClient::maskBinContent(), Masks::maskChannel(), Masks::maskPn(), me_hs01_, me_hs02_, me_hs03_, me_hs04_, mea01_, mea02_, mea03_, mea04_, meaopn01_, meaopn02_, meaopn03_, meaopn04_, meg01_, meg02_, meg03_, meg04_, meg05_, meg06_, meg07_, meg08_, meg09_, meg10_, meg11_, meg12_, mepnprms01_, mepnprms02_, mepnprms03_, mepnprms04_, mepnprms05_, mepnprms06_, mepnprms07_, mepnprms08_, met01_, met02_, met03_, met04_, metav01_, metav02_, metav03_, metav04_, metrms01_, metrms02_, metrms03_, metrms04_, EcalDQMStatusHelper::PEDESTAL_HIGH_GAIN_MEAN_ERROR, EcalDQMStatusHelper::PEDESTAL_HIGH_GAIN_RMS_ERROR, EcalDQMStatusHelper::PEDESTAL_LOW_GAIN_MEAN_ERROR, EcalDQMStatusHelper::PEDESTAL_LOW_GAIN_RMS_ERROR, pedPnDiscrepancyMean_, pedPnExpectedMean_, pedPnRMSThreshold_, percentVariation_, prefixME_, MonitorElement::Reset(), rmsThresholdRelative_, Numbers::sEB(), MonitorElement::setBinContent(), MonitorElement::setBinError(), MonitorElement::setEntries(), and superModules_.

                                {

  ievt_++;
  jevt_++;
  if ( ievt_ % 10 == 0 ) {
    if ( debug_ ) std::cout << "EBLaserClient: ievt/jevt = " << ievt_ << "/" << jevt_ << std::endl;
  }

  uint32_t bits01 = 0;
  bits01 |= 1 << EcalDQMStatusHelper::LASER_MEAN_ERROR;
  bits01 |= 1 << EcalDQMStatusHelper::LASER_RMS_ERROR;

  uint32_t bits02 = 0;
  bits02 |= 1 << EcalDQMStatusHelper::LASER_TIMING_MEAN_ERROR;
  bits02 |= 1 << EcalDQMStatusHelper::LASER_TIMING_RMS_ERROR;

  uint32_t bits03 = 0;
  bits03 |= 1 << EcalDQMStatusHelper::PEDESTAL_LOW_GAIN_MEAN_ERROR;
  bits03 |= 1 << EcalDQMStatusHelper::PEDESTAL_LOW_GAIN_RMS_ERROR;

  uint32_t bits04 = 0;
  bits04 |= 1 << EcalDQMStatusHelper::PEDESTAL_HIGH_GAIN_MEAN_ERROR;
  bits04 |= 1 << EcalDQMStatusHelper::PEDESTAL_HIGH_GAIN_RMS_ERROR;

  char histo[200];

  MonitorElement* me;

  for ( unsigned int i=0; i<superModules_.size(); i++ ) {

    int ism = superModules_[i];

    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 1) != laserWavelengths_.end() ) {

      sprintf(histo, (prefixME_ + "/EBLaserTask/Laser1/EBLT amplitude %s L1").c_str(), Numbers::sEB(ism).c_str());
      me = dqmStore_->get(histo);
      h01_[ism-1] = UtilsClient::getHisto<TProfile2D*>( me, cloneME_, h01_[ism-1] );

      sprintf(histo, (prefixME_ + "/EBLaserTask/Laser1/EBLT amplitude over PN %s L1").c_str(), Numbers::sEB(ism).c_str());
      me = dqmStore_->get(histo);
      h02_[ism-1] = UtilsClient::getHisto<TProfile2D*>( me, cloneME_, h02_[ism-1] );

    }

    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 2) != laserWavelengths_.end() ) {

      sprintf(histo, (prefixME_ + "/EBLaserTask/Laser2/EBLT amplitude %s L2").c_str(), Numbers::sEB(ism).c_str());
      me = dqmStore_->get(histo);
      h03_[ism-1] = UtilsClient::getHisto<TProfile2D*>( me, cloneME_, h03_[ism-1] );

      sprintf(histo, (prefixME_ + "/EBLaserTask/Laser2/EBLT amplitude over PN %s L2").c_str(), Numbers::sEB(ism).c_str());
      me = dqmStore_->get(histo);
      h04_[ism-1] = UtilsClient::getHisto<TProfile2D*>( me, cloneME_, h04_[ism-1] );

    }

    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 3) != laserWavelengths_.end() ) {

      sprintf(histo, (prefixME_ + "/EBLaserTask/Laser3/EBLT amplitude %s L3").c_str(), Numbers::sEB(ism).c_str());
      me = dqmStore_->get(histo);
      h05_[ism-1] = UtilsClient::getHisto<TProfile2D*>( me, cloneME_, h05_[ism-1] );

      sprintf(histo, (prefixME_ + "/EBLaserTask/Laser3/EBLT amplitude over PN %s L3").c_str(), Numbers::sEB(ism).c_str());
      me = dqmStore_->get(histo);
      h06_[ism-1] = UtilsClient::getHisto<TProfile2D*>( me, cloneME_, h06_[ism-1] );

    }

    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 4) != laserWavelengths_.end() ) {

      sprintf(histo, (prefixME_ + "/EBLaserTask/Laser4/EBLT amplitude %s L4").c_str(), Numbers::sEB(ism).c_str());
      me = dqmStore_->get(histo);
      h07_[ism-1] = UtilsClient::getHisto<TProfile2D*>( me, cloneME_, h07_[ism-1] );

      sprintf(histo, (prefixME_ + "/EBLaserTask/Laser4/EBLT amplitude over PN %s L4").c_str(), Numbers::sEB(ism).c_str());
      me = dqmStore_->get(histo);
      h08_[ism-1] = UtilsClient::getHisto<TProfile2D*>( me, cloneME_, h08_[ism-1] );

    }

    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 1) != laserWavelengths_.end() ) {

      sprintf(histo, (prefixME_ + "/EBLaserTask/Laser1/EBLT timing %s L1").c_str(), Numbers::sEB(ism).c_str());
      me = dqmStore_->get(histo);
      h09_[ism-1] = UtilsClient::getHisto<TProfile2D*>( me, cloneME_, h09_[ism-1] );

    }

    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 2) != laserWavelengths_.end() ) {

      sprintf(histo, (prefixME_ + "/EBLaserTask/Laser2/EBLT timing %s L2").c_str(), Numbers::sEB(ism).c_str());
      me = dqmStore_->get(histo);
      h10_[ism-1] = UtilsClient::getHisto<TProfile2D*>( me, cloneME_, h10_[ism-1] );

    }

    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 3) != laserWavelengths_.end() ) {

      sprintf(histo, (prefixME_ + "/EBLaserTask/Laser3/EBLT timing %s L3").c_str(), Numbers::sEB(ism).c_str());
      me = dqmStore_->get(histo);
      h11_[ism-1] = UtilsClient::getHisto<TProfile2D*>( me, cloneME_, h11_[ism-1] );

    }

    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 4) != laserWavelengths_.end() ) {

      sprintf(histo, (prefixME_ + "/EBLaserTask/Laser4/EBLT timing %s L4").c_str(), Numbers::sEB(ism).c_str());
      me = dqmStore_->get(histo);
      h12_[ism-1] = UtilsClient::getHisto<TProfile2D*>( me, cloneME_, h12_[ism-1] );

    }

    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 1) != laserWavelengths_.end() ) {

      sprintf(histo, (prefixME_ + "/EBLaserTask/Laser1/EBLT shape %s L1").c_str(), Numbers::sEB(ism).c_str());
      me = dqmStore_->get(histo);
      hs01_[ism-1] = UtilsClient::getHisto<TProfile2D*>( me, cloneME_, hs01_[ism-1] );

    }

    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 2) != laserWavelengths_.end() ) {

      sprintf(histo, (prefixME_ + "/EBLaserTask/Laser2/EBLT shape %s L2").c_str(), Numbers::sEB(ism).c_str());
      me = dqmStore_->get(histo);
      hs02_[ism-1] = UtilsClient::getHisto<TProfile2D*>( me, cloneME_, hs02_[ism-1] );

    }

    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 3) != laserWavelengths_.end() ) {

      sprintf(histo, (prefixME_ + "/EBLaserTask/Laser3/EBLT shape %s L3").c_str(), Numbers::sEB(ism).c_str());
      me = dqmStore_->get(histo);
      hs03_[ism-1] = UtilsClient::getHisto<TProfile2D*>( me, cloneME_, hs03_[ism-1] );

    }

    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 4) != laserWavelengths_.end() ) {

      sprintf(histo, (prefixME_ + "/EBLaserTask/Laser4/EBLT shape %s L4").c_str(), Numbers::sEB(ism).c_str());
      me = dqmStore_->get(histo);
      hs04_[ism-1] = UtilsClient::getHisto<TProfile2D*>( me, cloneME_, hs04_[ism-1] );

    }

    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 1) != laserWavelengths_.end() ) {

      sprintf(histo, (prefixME_ + "/EBLaserTask/Laser1/PN/Gain01/EBLT PNs amplitude %s G01 L1").c_str(), Numbers::sEB(ism).c_str());
      me = dqmStore_->get(histo);
      i01_[ism-1] = UtilsClient::getHisto<TProfile*>( me, cloneME_, i01_[ism-1] );

    }


    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 2) != laserWavelengths_.end() ) {

      sprintf(histo, (prefixME_ + "/EBLaserTask/Laser2/PN/Gain01/EBLT PNs amplitude %s G01 L2").c_str(), Numbers::sEB(ism).c_str());
      me = dqmStore_->get(histo);
      i02_[ism-1] = UtilsClient::getHisto<TProfile*>( me, cloneME_, i02_[ism-1] );

    }

    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 3) != laserWavelengths_.end() ) {

      sprintf(histo, (prefixME_ + "/EBLaserTask/Laser3/PN/Gain01/EBLT PNs amplitude %s G01 L3").c_str(), Numbers::sEB(ism).c_str());
      me = dqmStore_->get(histo);
      i03_[ism-1] = UtilsClient::getHisto<TProfile*>( me, cloneME_, i03_[ism-1] );

    }

    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 4) != laserWavelengths_.end() ) {

      sprintf(histo, (prefixME_ + "/EBLaserTask/Laser4/PN/Gain01/EBLT PNs amplitude %s G01 L4").c_str(), Numbers::sEB(ism).c_str());
      me = dqmStore_->get(histo);
      i04_[ism-1] = UtilsClient::getHisto<TProfile*>( me, cloneME_, i04_[ism-1] );

    }

    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 1) != laserWavelengths_.end() ) {

      sprintf(histo, (prefixME_ + "/EBLaserTask/Laser1/PN/Gain01/EBLT PNs pedestal %s G01 L1").c_str(), Numbers::sEB(ism).c_str());
      me = dqmStore_->get(histo);
      i05_[ism-1] = UtilsClient::getHisto<TProfile*>( me, cloneME_, i05_[ism-1] );

    }

    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 2) != laserWavelengths_.end() ) {

      sprintf(histo, (prefixME_ + "/EBLaserTask/Laser2/PN/Gain01/EBLT PNs pedestal %s G01 L2").c_str(), Numbers::sEB(ism).c_str());
      me = dqmStore_->get(histo);
      i06_[ism-1] = UtilsClient::getHisto<TProfile*>( me, cloneME_, i06_[ism-1] );

    }

    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 3) != laserWavelengths_.end() ) {

      sprintf(histo, (prefixME_ + "/EBLaserTask/Laser3/PN/Gain01/EBLT PNs pedestal %s G01 L3").c_str(), Numbers::sEB(ism).c_str());
      me = dqmStore_->get(histo);
      i07_[ism-1] = UtilsClient::getHisto<TProfile*>( me, cloneME_, i07_[ism-1] );

    }

    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 4) != laserWavelengths_.end() ) {

      sprintf(histo, (prefixME_ + "/EBLaserTask/Laser4/PN/Gain01/EBLT PNs pedestal %s G01 L4").c_str(), Numbers::sEB(ism).c_str());
      me = dqmStore_->get(histo);
      i08_[ism-1] = UtilsClient::getHisto<TProfile*>( me, cloneME_, i08_[ism-1] );

    }

    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 1) != laserWavelengths_.end() ) {

      sprintf(histo, (prefixME_ + "/EBLaserTask/Laser1/PN/Gain16/EBLT PNs amplitude %s G16 L1").c_str(), Numbers::sEB(ism).c_str());
      me = dqmStore_->get(histo);
      i09_[ism-1] = UtilsClient::getHisto<TProfile*>( me, cloneME_, i09_[ism-1] );

    }

    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 2) != laserWavelengths_.end() ) {

      sprintf(histo, (prefixME_ + "/EBLaserTask/Laser2/PN/Gain16/EBLT PNs amplitude %s G16 L2").c_str(), Numbers::sEB(ism).c_str());
      me = dqmStore_->get(histo);
      i10_[ism-1] = UtilsClient::getHisto<TProfile*>( me, cloneME_, i10_[ism-1] );

    }

    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 3) != laserWavelengths_.end() ) {

      sprintf(histo, (prefixME_ + "/EBLaserTask/Laser3/PN/Gain16/EBLT PNs amplitude %s G16 L3").c_str(), Numbers::sEB(ism).c_str());
      me = dqmStore_->get(histo);
      i11_[ism-1] = UtilsClient::getHisto<TProfile*>( me, cloneME_, i11_[ism-1] );

    }

    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 4) != laserWavelengths_.end() ) {

      sprintf(histo, (prefixME_ + "/EBLaserTask/Laser4/PN/Gain16/EBLT PNs amplitude %s G16 L4").c_str(), Numbers::sEB(ism).c_str());
      me = dqmStore_->get(histo);
      i12_[ism-1] = UtilsClient::getHisto<TProfile*>( me, cloneME_, i12_[ism-1] );

    }

    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 1) != laserWavelengths_.end() ) {

      sprintf(histo, (prefixME_ + "/EBLaserTask/Laser1/PN/Gain16/EBLT PNs pedestal %s G16 L1").c_str(), Numbers::sEB(ism).c_str());
      me = dqmStore_->get(histo);
      i13_[ism-1] = UtilsClient::getHisto<TProfile*>( me, cloneME_, i13_[ism-1] );

    }

    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 2) != laserWavelengths_.end() ) {

      sprintf(histo, (prefixME_ + "/EBLaserTask/Laser2/PN/Gain16/EBLT PNs pedestal %s G16 L2").c_str(), Numbers::sEB(ism).c_str());
      me = dqmStore_->get(histo);
      i14_[ism-1] = UtilsClient::getHisto<TProfile*>( me, cloneME_, i14_[ism-1] );

    }

    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 3) != laserWavelengths_.end() ) {

      sprintf(histo, (prefixME_ + "/EBLaserTask/Laser3/PN/Gain16/EBLT PNs pedestal %s G16 L3").c_str(), Numbers::sEB(ism).c_str());
      me = dqmStore_->get(histo);
      i15_[ism-1] = UtilsClient::getHisto<TProfile*>( me, cloneME_, i15_[ism-1] );

    }

    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 4) != laserWavelengths_.end() ) {

      sprintf(histo, (prefixME_ + "/EBLaserTask/Laser4/PN/Gain16/EBLT PNs pedestal %s G16 L4").c_str(), Numbers::sEB(ism).c_str());
      me = dqmStore_->get(histo);
      i16_[ism-1] = UtilsClient::getHisto<TProfile*>( me, cloneME_, i16_[ism-1] );

    }

    if ( meg01_[ism-1] ) meg01_[ism-1]->Reset();
    if ( meg02_[ism-1] ) meg02_[ism-1]->Reset();
    if ( meg03_[ism-1] ) meg03_[ism-1]->Reset();
    if ( meg04_[ism-1] ) meg04_[ism-1]->Reset();

    if ( meg05_[ism-1] ) meg05_[ism-1]->Reset();
    if ( meg06_[ism-1] ) meg06_[ism-1]->Reset();
    if ( meg07_[ism-1] ) meg07_[ism-1]->Reset();
    if ( meg08_[ism-1] ) meg08_[ism-1]->Reset();
    if ( meg09_[ism-1] ) meg09_[ism-1]->Reset();
    if ( meg10_[ism-1] ) meg10_[ism-1]->Reset();
    if ( meg11_[ism-1] ) meg11_[ism-1]->Reset();
    if ( meg12_[ism-1] ) meg12_[ism-1]->Reset();

    if ( mea01_[ism-1] ) mea01_[ism-1]->Reset();
    if ( mea02_[ism-1] ) mea02_[ism-1]->Reset();
    if ( mea03_[ism-1] ) mea03_[ism-1]->Reset();
    if ( mea04_[ism-1] ) mea04_[ism-1]->Reset();

    if ( met01_[ism-1] ) met01_[ism-1]->Reset();
    if ( met02_[ism-1] ) met02_[ism-1]->Reset();
    if ( met03_[ism-1] ) met03_[ism-1]->Reset();
    if ( met04_[ism-1] ) met04_[ism-1]->Reset();

    if ( metav01_[ism-1] ) metav01_[ism-1]->Reset();
    if ( metav02_[ism-1] ) metav02_[ism-1]->Reset();
    if ( metav03_[ism-1] ) metav03_[ism-1]->Reset();
    if ( metav04_[ism-1] ) metav04_[ism-1]->Reset();

    if ( metrms01_[ism-1] ) metrms01_[ism-1]->Reset();
    if ( metrms02_[ism-1] ) metrms02_[ism-1]->Reset();
    if ( metrms03_[ism-1] ) metrms03_[ism-1]->Reset();
    if ( metrms04_[ism-1] ) metrms04_[ism-1]->Reset();

    if ( meaopn01_[ism-1] ) meaopn01_[ism-1]->Reset();
    if ( meaopn02_[ism-1] ) meaopn02_[ism-1]->Reset();
    if ( meaopn03_[ism-1] ) meaopn03_[ism-1]->Reset();
    if ( meaopn04_[ism-1] ) meaopn04_[ism-1]->Reset();

    if ( mepnprms01_[ism-1] ) mepnprms01_[ism-1]->Reset();
    if ( mepnprms02_[ism-1] ) mepnprms02_[ism-1]->Reset();
    if ( mepnprms03_[ism-1] ) mepnprms03_[ism-1]->Reset();
    if ( mepnprms04_[ism-1] ) mepnprms04_[ism-1]->Reset();
    if ( mepnprms05_[ism-1] ) mepnprms05_[ism-1]->Reset();
    if ( mepnprms06_[ism-1] ) mepnprms06_[ism-1]->Reset();
    if ( mepnprms07_[ism-1] ) mepnprms07_[ism-1]->Reset();
    if ( mepnprms08_[ism-1] ) mepnprms08_[ism-1]->Reset();

    if ( me_hs01_[ism-1] ) me_hs01_[ism-1]->Reset();
    if ( me_hs02_[ism-1] ) me_hs02_[ism-1]->Reset();
    if ( me_hs03_[ism-1] ) me_hs03_[ism-1]->Reset();
    if ( me_hs04_[ism-1] ) me_hs04_[ism-1]->Reset();

    float meanAmplL1, meanAmplL2, meanAmplL3, meanAmplL4;

    int nCryL1, nCryL2, nCryL3, nCryL4;

    meanAmplL1 = meanAmplL2 = meanAmplL3 = meanAmplL4 = 0.;

    nCryL1 = nCryL2 = nCryL3 = nCryL4 = 0;

    for ( int ie = 1; ie <= 85; ie++ ) {
      for ( int ip = 1; ip <= 20; ip++ ) {

        bool update01;
        bool update02;
        bool update03;
        bool update04;

        float num01, num02, num03, num04;
        float mean01, mean02, mean03, mean04;
        float rms01, rms02, rms03, rms04;

        update01 = UtilsClient::getBinStatistics(h01_[ism-1], ie, ip, num01, mean01, rms01);
        update02 = UtilsClient::getBinStatistics(h03_[ism-1], ie, ip, num02, mean02, rms02);
        update03 = UtilsClient::getBinStatistics(h05_[ism-1], ie, ip, num03, mean03, rms03);
        update04 = UtilsClient::getBinStatistics(h07_[ism-1], ie, ip, num04, mean04, rms04);

        float xmean01 = mean01;
        float xmean02 = mean02;
        float xmean03 = mean03;
        float xmean04 = mean04;

        // special correction for EB+04
        if ( ism == 22 && ie <= 5 ) {
          xmean01 = xmean01 * 1.5;
          xmean02 = xmean02 * 1.5;
          xmean03 = xmean03 * 1.5;
          xmean04 = xmean04 * 1.5;
        }

        // special correction for EB+09
        if ( ism == 27 && ie > 5 && ip <= 10 ) {
          xmean01 = xmean01 * 1.5;
          xmean02 = xmean02 * 1.5;
          xmean03 = xmean03 * 1.5;
          xmean04 = xmean04 * 1.5;
        }

        // special correction for EB+18
        if ( ism == 36 && ie > 5 && ip <= 10 ) {
          xmean01 = xmean01 * 1.0;
          xmean02 = xmean02 * 1.0;
          xmean03 = xmean03 * 1.0;
          xmean04 = xmean04 * 2.0;
        }

        if ( update01 ) {
          meanAmplL1 += xmean01;
          nCryL1++;
        }

        if ( update02 ) {
          meanAmplL2 += xmean02;
          nCryL2++;
        }

        if ( update03 ) {
          meanAmplL3 += xmean03;
          nCryL3++;
        }

        if ( update04 ) {
          meanAmplL4 += xmean04;
          nCryL4++;
        }

      }
    }

    if ( nCryL1 > 0 ) meanAmplL1 /= float (nCryL1);
    if ( nCryL2 > 0 ) meanAmplL2 /= float (nCryL2);
    if ( nCryL3 > 0 ) meanAmplL3 /= float (nCryL3);
    if ( nCryL4 > 0 ) meanAmplL4 /= float (nCryL4);

    for ( int ie = 1; ie <= 85; ie++ ) {
      for ( int ip = 1; ip <= 20; ip++ ) {

        if ( meg01_[ism-1] ) meg01_[ism-1]->setBinContent( ie, ip, 2.);
        if ( meg02_[ism-1] ) meg02_[ism-1]->setBinContent( ie, ip, 2.);
        if ( meg03_[ism-1] ) meg03_[ism-1]->setBinContent( ie, ip, 2.);
        if ( meg04_[ism-1] ) meg04_[ism-1]->setBinContent( ie, ip, 2.);

        bool update01;
        bool update02;
        bool update03;
        bool update04;
        bool update05;
        bool update06;
        bool update07;
        bool update08;
        bool update09;
        bool update10;
        bool update11;
        bool update12;

        float num01, num02, num03, num04, num05, num06, num07, num08;
        float num09, num10, num11, num12;
        float mean01, mean02, mean03, mean04, mean05, mean06, mean07, mean08;
        float mean09, mean10, mean11, mean12;
        float rms01, rms02, rms03, rms04, rms05, rms06, rms07, rms08;
        float rms09, rms10, rms11, rms12;

        update01 = UtilsClient::getBinStatistics(h01_[ism-1], ie, ip, num01, mean01, rms01);
        update02 = UtilsClient::getBinStatistics(h02_[ism-1], ie, ip, num02, mean02, rms02);
        update03 = UtilsClient::getBinStatistics(h03_[ism-1], ie, ip, num03, mean03, rms03);
        update04 = UtilsClient::getBinStatistics(h04_[ism-1], ie, ip, num04, mean04, rms04);
        update05 = UtilsClient::getBinStatistics(h05_[ism-1], ie, ip, num05, mean05, rms05);
        update06 = UtilsClient::getBinStatistics(h06_[ism-1], ie, ip, num06, mean06, rms06);
        update07 = UtilsClient::getBinStatistics(h07_[ism-1], ie, ip, num07, mean07, rms07);
        update08 = UtilsClient::getBinStatistics(h08_[ism-1], ie, ip, num08, mean08, rms08);
        update09 = UtilsClient::getBinStatistics(h09_[ism-1], ie, ip, num09, mean09, rms09);
        update10 = UtilsClient::getBinStatistics(h10_[ism-1], ie, ip, num10, mean10, rms10);
        update11 = UtilsClient::getBinStatistics(h11_[ism-1], ie, ip, num11, mean11, rms11);
        update12 = UtilsClient::getBinStatistics(h12_[ism-1], ie, ip, num12, mean12, rms12);

        float xmean01 = mean01;
        float xmean03 = mean03;
        float xmean05 = mean05;
        float xmean07 = mean07;

        // special correction for EB+04
        if ( ism == 22 && ie <= 5 ) {
          xmean01 = xmean01 * 1.5;
          xmean03 = xmean03 * 1.5;
          xmean05 = xmean05 * 1.5;
          xmean07 = xmean07 * 1.5;
        }

        // special correction for EB+09
        if ( ism == 27 && ie > 5 && ip <= 10 ) {
          xmean01 = xmean01 * 1.5;
          xmean03 = xmean03 * 1.5;
          xmean05 = xmean05 * 1.5;
          xmean07 = xmean07 * 1.5;
        }

        // special correction for EB+18
        if ( ism == 36 && ie > 5 && ip <= 10 ) {
          xmean01 = xmean01 * 1.0;
          xmean03 = xmean03 * 1.0;
          xmean05 = xmean05 * 1.0;
          xmean07 = xmean07 * 2.0;
        }

        if ( update01 ) {

          float val;

          val = 1.;
          if ( std::abs(xmean01 - meanAmplL1) > std::abs(percentVariation_ * meanAmplL1) || xmean01 < amplitudeThreshold_ || rms01 > rmsThresholdRelative_ * mean01 )
            val = 0.;
          if ( meg01_[ism-1] ) meg01_[ism-1]->setBinContent( ie, ip, val );

          int ic = Numbers::icEB(ism, ie, ip);

          if ( mea01_[ism-1] ) {
            if ( mean01 > 0. ) {
              mea01_[ism-1]->setBinContent( ic, mean01 );
              mea01_[ism-1]->setBinError( ic, rms01 );
            } else {
              mea01_[ism-1]->setEntries( 1.+mea01_[ism-1]->getEntries() );
            }
          }

        }

        if ( update03 ) {

          float val;

          val = 1.;
          if ( std::abs(xmean03 - meanAmplL2) > std::abs(percentVariation_ * meanAmplL2) || xmean03 < amplitudeThreshold_ || rms03 > rmsThresholdRelative_ * mean03 )
            val = 0.;
          if ( meg02_[ism-1] ) meg02_[ism-1]->setBinContent( ie, ip, val );

          int ic = Numbers::icEB(ism, ie, ip);

          if ( mea02_[ism-1] ) {
            if ( mean03 > 0. ) {
              mea02_[ism-1]->setBinContent( ic, mean03 );
              mea02_[ism-1]->setBinError( ic, rms03 );
            } else {
              mea02_[ism-1]->setEntries( 1.+mea02_[ism-1]->getEntries() );
            }
          }

        }

        if ( update05 ) {

          float val;

          val = 1.;
          if ( std::abs(xmean05 - meanAmplL3) > std::abs(percentVariation_ * meanAmplL3) || xmean05 < amplitudeThreshold_ || rms05 > rmsThresholdRelative_ * mean05 )
            val = 0.;
          if ( meg03_[ism-1] ) meg03_[ism-1]->setBinContent( ie, ip, val );

          int ic = Numbers::icEB(ism, ie, ip);

          if ( mea03_[ism-1] ) {
            if ( mean05 > 0. ) {
              mea03_[ism-1]->setBinContent( ic, mean05 );
              mea03_[ism-1]->setBinError( ic, rms05 );
            } else {
              mea03_[ism-1]->setEntries( 1.+mea03_[ism-1]->getEntries() );
            }
          }

        }

        if ( update07 ) {

          float val;

          val = 1.;
          if ( std::abs(xmean07 - meanAmplL4) > std::abs(percentVariation_ * meanAmplL4) || xmean07 < amplitudeThreshold_ || rms07 > rmsThresholdRelative_ * mean07 )
            val = 0.;
          if ( meg04_[ism-1] ) meg04_[ism-1]->setBinContent( ie, ip, val );

          int ic = Numbers::icEB(ism, ie, ip);

          if ( mea04_[ism-1] ) {
            if ( mean07 > 0. ) {
              mea04_[ism-1]->setBinContent( ic, mean07 );
              mea04_[ism-1]->setBinError( ic, rms07 );
            } else {
              mea04_[ism-1]->setEntries( 1.+mea04_[ism-1]->getEntries() );
            }
          }

        }

        if ( Masks::maskChannel(ism, ie, ip, bits01, EcalBarrel) ) {
          UtilsClient::maskBinContent( meg01_[ism-1], ie, ip );
          UtilsClient::maskBinContent( meg02_[ism-1], ie, ip );
          UtilsClient::maskBinContent( meg03_[ism-1], ie, ip );
          UtilsClient::maskBinContent( meg04_[ism-1], ie, ip );
        }

        if ( update02 ) {

          int ic = Numbers::icEB(ism, ie, ip);

          if ( meaopn01_[ism-1] ) {
            if ( mean02 > 0. ) {
              meaopn01_[ism-1]->setBinContent( ic, mean02 );
              meaopn01_[ism-1]->setBinError( ic, rms02 );
            } else {
              meaopn01_[ism-1]->setEntries( 1.+meaopn01_[ism-1]->getEntries() );
            }
          }

        }

        if ( update04 ) {

          int ic = Numbers::icEB(ism, ie, ip);

          if ( meaopn02_[ism-1] ) {
            if ( mean04 > 0. ) {
              meaopn02_[ism-1]->setBinContent( ic, mean04 );
              meaopn02_[ism-1]->setBinError( ic, rms04 );
            } else {
              meaopn02_[ism-1]->setEntries( 1.+meaopn02_[ism-1]->getEntries() );
            }
          }

        }

        if ( update06 ) {

          int ic = Numbers::icEB(ism, ie, ip);

          if ( meaopn03_[ism-1] ) {
            if ( mean06 > 0. ) {
              meaopn03_[ism-1]->setBinContent( ic, mean06 );
              meaopn03_[ism-1]->setBinError( ic, rms06 );
            } else {
              meaopn03_[ism-1]->setEntries( 1.+meaopn03_[ism-1]->getEntries() );
            }
          }

        }

        if ( update08 ) {

          int ic = Numbers::icEB(ism, ie, ip);

          if ( meaopn04_[ism-1] ) {
            if ( mean08 > 0. ) {
              meaopn04_[ism-1]->setBinContent( ic, mean08 );
              meaopn04_[ism-1]->setBinError( ic, rms08 );
            } else {
              meaopn04_[ism-1]->setEntries( 1.+meaopn04_[ism-1]->getEntries() );
            }
          }

        }

        if ( update09 ) {

          int ic = Numbers::icEB(ism, ie, ip);

          if ( met01_[ism-1] ) {
            if ( mean09 > 0. ) {
              met01_[ism-1]->setBinContent( ic, mean09 );
              met01_[ism-1]->setBinError( ic, rms09 );
            } else {
              met01_[ism-1]->setEntries(1.+met01_[ism-1]->getEntries());
            }
          }

          if ( metav01_[ism-1] ) metav01_[ism-1] ->Fill(mean09);
          if ( metrms01_[ism-1] ) metrms01_[ism-1]->Fill(rms09);

        }

        if ( update10 ) {

          int ic = Numbers::icEB(ism, ie, ip);

          if ( met02_[ism-1] ) {
            if ( mean10 > 0. ) {
              met02_[ism-1]->setBinContent( ic, mean10 );
              met02_[ism-1]->setBinError( ic, rms10 );
            } else {
              met02_[ism-1]->setEntries(1.+met02_[ism-1]->getEntries());
            }
          }

          if ( metav02_[ism-1] ) metav02_[ism-1] ->Fill(mean10);
          if ( metrms02_[ism-1] ) metrms02_[ism-1]->Fill(rms10);

        }

        if ( update11 ) {

          int ic = Numbers::icEB(ism, ie, ip);

          if ( met03_[ism-1] ) {
            if ( mean11 > 0. ) {
              met03_[ism-1]->setBinContent( ic, mean11 );
              met03_[ism-1]->setBinError( ic, rms11 );
            } else {
              met03_[ism-1]->setEntries(1.+met03_[ism-1]->getEntries());
            }
          }

          if ( metav03_[ism-1] ) metav03_[ism-1] ->Fill(mean11);
          if ( metrms03_[ism-1] ) metrms03_[ism-1]->Fill(rms11);

        }

        if ( update12 ) {

          int ic = Numbers::icEB(ism, ie, ip);

          if ( met04_[ism-1] ) {
            if ( mean12 > 0. ) {
              met04_[ism-1]->setBinContent( ic, mean12 );
              met04_[ism-1]->setBinError( ic, rms12 );
            } else {
              met04_[ism-1]->setEntries(1.+met04_[ism-1]->getEntries());
            }
          }

          if ( metav04_[ism-1] ) metav04_[ism-1] ->Fill(mean12);
          if ( metrms04_[ism-1] ) metrms04_[ism-1]->Fill(rms12);

        }

      }
    }

    for ( int i = 1; i <= 10; i++ ) {

      if ( meg05_[ism-1] ) meg05_[ism-1]->setBinContent( i, 1, 2. );
      if ( meg06_[ism-1] ) meg06_[ism-1]->setBinContent( i, 1, 2. );
      if ( meg07_[ism-1] ) meg07_[ism-1]->setBinContent( i, 1, 2. );
      if ( meg08_[ism-1] ) meg08_[ism-1]->setBinContent( i, 1, 2. );
      if ( meg09_[ism-1] ) meg09_[ism-1]->setBinContent( i, 1, 2. );
      if ( meg10_[ism-1] ) meg10_[ism-1]->setBinContent( i, 1, 2. );
      if ( meg11_[ism-1] ) meg11_[ism-1]->setBinContent( i, 1, 2. );
      if ( meg12_[ism-1] ) meg12_[ism-1]->setBinContent( i, 1, 2. );

      bool update01;
      bool update02;
      bool update03;
      bool update04;
      bool update05;
      bool update06;
      bool update07;
      bool update08;
      bool update09;
      bool update10;
      bool update11;
      bool update12;
      bool update13;
      bool update14;
      bool update15;
      bool update16;

      float num01, num02, num03, num04, num05, num06, num07, num08;
      float num09, num10, num11, num12, num13, num14, num15, num16;
      float mean01, mean02, mean03, mean04, mean05, mean06, mean07, mean08;
      float mean09, mean10, mean11, mean12, mean13, mean14, mean15, mean16;
      float rms01, rms02, rms03, rms04, rms05, rms06, rms07, rms08;
      float rms09, rms10, rms11, rms12, rms13, rms14, rms15, rms16;

      update01 = UtilsClient::getBinStatistics(i01_[ism-1], i, 0, num01, mean01, rms01);
      update02 = UtilsClient::getBinStatistics(i02_[ism-1], i, 0, num02, mean02, rms02);
      update03 = UtilsClient::getBinStatistics(i03_[ism-1], i, 0, num03, mean03, rms03);
      update04 = UtilsClient::getBinStatistics(i04_[ism-1], i, 0, num04, mean04, rms04);
      update05 = UtilsClient::getBinStatistics(i05_[ism-1], i, 0, num05, mean05, rms05);
      update06 = UtilsClient::getBinStatistics(i06_[ism-1], i, 0, num06, mean06, rms06);
      update07 = UtilsClient::getBinStatistics(i07_[ism-1], i, 0, num07, mean07, rms07);
      update08 = UtilsClient::getBinStatistics(i08_[ism-1], i, 0, num08, mean08, rms08);
      update09 = UtilsClient::getBinStatistics(i09_[ism-1], i, 0, num09, mean09, rms09);
      update10 = UtilsClient::getBinStatistics(i10_[ism-1], i, 0, num10, mean10, rms10);
      update11 = UtilsClient::getBinStatistics(i11_[ism-1], i, 0, num11, mean11, rms11);
      update12 = UtilsClient::getBinStatistics(i12_[ism-1], i, 0, num12, mean12, rms12);
      update13 = UtilsClient::getBinStatistics(i13_[ism-1], i, 0, num13, mean13, rms13);
      update14 = UtilsClient::getBinStatistics(i14_[ism-1], i, 0, num14, mean14, rms14);
      update15 = UtilsClient::getBinStatistics(i15_[ism-1], i, 0, num15, mean15, rms15);
      update16 = UtilsClient::getBinStatistics(i16_[ism-1], i, 0, num16, mean16, rms16);

      if ( update01 && update05 ) {

        float val;

        val = 1.;
        if ( mean01 < amplitudeThresholdPnG01_ )
          val = 0.;
        if ( mean05 <  pedPnExpectedMean_[0] - pedPnDiscrepancyMean_[0] ||
             pedPnExpectedMean_[0] + pedPnDiscrepancyMean_[0] < mean05)
          val = 0.;
        if ( rms05 > pedPnRMSThreshold_[0] )
          val = 0.;

        if ( meg05_[ism-1] )           meg05_[ism-1]->setBinContent(i, 1, val);
        if ( mepnprms01_[ism-1] ) mepnprms01_[ism-1]->Fill(rms05);

      }

      if ( update02 && update06 ) {

       float val;

        val = 1.;
        if ( mean02 < amplitudeThresholdPnG01_ )
          val = 0.;
        if ( mean06 <  pedPnExpectedMean_[0] - pedPnDiscrepancyMean_[0] ||
             pedPnExpectedMean_[0] + pedPnDiscrepancyMean_[0] < mean06)
          val = 0.;
        if ( rms06 > pedPnRMSThreshold_[0] )
          val = 0.;

        if ( meg06_[ism-1] )           meg06_[ism-1]->setBinContent(i, 1, val);
        if ( mepnprms02_[ism-1] ) mepnprms02_[ism-1]->Fill(rms06);
      }

      if ( update03 && update07 ) {

        float val;

        val = 1.;
        if ( mean03 < amplitudeThresholdPnG01_ )
          val = 0.;
        if ( mean07 <  pedPnExpectedMean_[0] - pedPnDiscrepancyMean_[0] ||
             pedPnExpectedMean_[0] + pedPnDiscrepancyMean_[0] < mean07)
          val = 0.;
        if ( rms07 > pedPnRMSThreshold_[0] )
          val = 0.;

        if ( meg07_[ism-1] )           meg07_[ism-1]->setBinContent(i, 1, val);
        if ( mepnprms03_[ism-1] ) mepnprms03_[ism-1]->Fill(rms07);
      }

      if ( update04 && update08 ) {

        float val;

        val = 1.;
        if ( mean04 < amplitudeThresholdPnG01_ )
          val = 0.;
        if ( mean08 <  pedPnExpectedMean_[0] - pedPnDiscrepancyMean_[0] ||
             pedPnExpectedMean_[0] + pedPnDiscrepancyMean_[0] < mean08)
          val = 0.;
        if ( rms08 > pedPnRMSThreshold_[0] )
          val = 0.;

        if ( meg08_[ism-1] )           meg08_[ism-1]->setBinContent(i, 1, val);
        if ( mepnprms04_[ism-1] ) mepnprms04_[ism-1]->Fill(rms08);
      }

      if ( update09 && update13 ) {

        float val;

        val = 1.;
        if ( mean09 < amplitudeThresholdPnG16_ )
          val = 0.;
        if ( mean13 <  pedPnExpectedMean_[1] - pedPnDiscrepancyMean_[1] ||
             pedPnExpectedMean_[1] + pedPnDiscrepancyMean_[1] < mean13)
          val = 0.;
        if ( rms13 > pedPnRMSThreshold_[1] )
          val = 0.;

        if ( meg09_[ism-1] )           meg09_[ism-1]->setBinContent(i, 1, val);
        if ( mepnprms05_[ism-1] ) mepnprms05_[ism-1]->Fill(rms13);
      }

      if ( update10 && update14 ) {

        float val;

        val = 1.;
        if ( mean10 < amplitudeThresholdPnG16_ )
          val = 0.;
        if ( mean14 <  pedPnExpectedMean_[1] - pedPnDiscrepancyMean_[1] ||
             pedPnExpectedMean_[1] + pedPnDiscrepancyMean_[1] < mean14)
          val = 0.;
        if ( rms14 > pedPnRMSThreshold_[1] )
          val = 0.;

        if ( meg10_[ism-1] )           meg10_[ism-1]->setBinContent(i, 1, val);
        if ( mepnprms06_[ism-1] ) mepnprms06_[ism-1]->Fill(rms14);
      }

      if ( update11 && update15 ) {

        float val;

        val = 1.;
        if ( mean11 < amplitudeThresholdPnG16_ )
          val = 0.;
        if ( mean15 <  pedPnExpectedMean_[1] - pedPnDiscrepancyMean_[1] ||
             pedPnExpectedMean_[1] + pedPnDiscrepancyMean_[1] < mean15)
          val = 0.;
        if ( rms15 > pedPnRMSThreshold_[1] )
          val = 0.;

        if ( meg11_[ism-1] )           meg11_[ism-1]->setBinContent(i, 1, val);
        if ( mepnprms07_[ism-1] ) mepnprms07_[ism-1]->Fill(rms15);
      }

      if ( update12 && update16 ) {

        float val;

        val = 1.;
        if ( mean12 < amplitudeThresholdPnG16_ )
          val = 0.;
        if ( mean16 <  pedPnExpectedMean_[1] - pedPnDiscrepancyMean_[1] ||
             pedPnExpectedMean_[1] + pedPnDiscrepancyMean_[1] < mean16)
          val = 0.;
        if ( rms16 > pedPnRMSThreshold_[1] )
          val = 0.;

        if ( meg12_[ism-1] )           meg12_[ism-1]->setBinContent(i, 1, val);
        if ( mepnprms08_[ism-1] ) mepnprms08_[ism-1]->Fill(rms16);
      }

      if ( Masks::maskPn(ism, i, bits01|bits03, EcalBarrel) ) {
        UtilsClient::maskBinContent( meg05_[ism-1], i, 1 );
        UtilsClient::maskBinContent( meg06_[ism-1], i, 1 );
        UtilsClient::maskBinContent( meg07_[ism-1], i, 1 );
        UtilsClient::maskBinContent( meg08_[ism-1], i, 1 );
      }

      if ( Masks::maskPn(ism, i, bits01|bits04, EcalBarrel) ) {
        UtilsClient::maskBinContent( meg09_[ism-1], i, 1 );
        UtilsClient::maskBinContent( meg10_[ism-1], i, 1 );
        UtilsClient::maskBinContent( meg11_[ism-1], i, 1 );
        UtilsClient::maskBinContent( meg12_[ism-1], i, 1 );
      }

    }

    for ( int i = 1; i <= 10; i++ ) {

      if ( hs01_[ism-1] ) {
        int ic = UtilsClient::getFirstNonEmptyChannel( hs01_[ism-1] );
        if ( me_hs01_[ism-1] ) {
          me_hs01_[ism-1]->setBinContent( i, hs01_[ism-1]->GetBinContent(ic, i) );
          me_hs01_[ism-1]->setBinError( i, hs01_[ism-1]->GetBinError(ic, i) );
        }
      }

      if ( hs02_[ism-1] ) {
        int ic = UtilsClient::getFirstNonEmptyChannel( hs02_[ism-1] );
        if ( me_hs02_[ism-1] ) {
          me_hs02_[ism-1]->setBinContent( i, hs02_[ism-1]->GetBinContent(ic, i) );
          me_hs02_[ism-1]->setBinError( i, hs02_[ism-1]->GetBinError(ic, i) );
        }
      }

      if ( hs03_[ism-1] ) {
        int ic = UtilsClient::getFirstNonEmptyChannel( hs03_[ism-1] );
        if ( me_hs03_[ism-1] ) {
          me_hs03_[ism-1]->setBinContent( i, hs03_[ism-1]->GetBinContent(ic, i) );
          me_hs03_[ism-1]->setBinError( i, hs03_[ism-1]->GetBinError(ic, i) );
        }
      }

      if ( hs04_[ism-1] ) {
        int ic = UtilsClient::getFirstNonEmptyChannel( hs04_[ism-1] );
        if ( me_hs04_[ism-1] ) {
          me_hs04_[ism-1]->setBinContent( i, hs04_[ism-1]->GetBinContent(ic, i) );
          me_hs04_[ism-1]->setBinError( i, hs04_[ism-1]->GetBinError(ic, i) );
        }
      }

    }

  }

}
void EBLaserClient::beginJob ( void  ) [virtual]

BeginJob.

Implements EBClient.

Definition at line 208 of file EBLaserClient.cc.

References gather_cfg::cout, debug_, dqmStore_, ievt_, jevt_, and cmsCodeRules::cppFunctionSkipper::operator.

                                 {

  dqmStore_ = edm::Service<DQMStore>().operator->();

  if ( debug_ ) std::cout << "EBLaserClient: beginJob" << std::endl;

  ievt_ = 0;
  jevt_ = 0;

}
void EBLaserClient::beginRun ( void  ) [virtual]

BeginRun.

Implements EBClient.

Definition at line 219 of file EBLaserClient.cc.

References gather_cfg::cout, debug_, jevt_, and setup().

                                 {

  if ( debug_ ) std::cout << "EBLaserClient: beginRun" << std::endl;

  jevt_ = 0;

  this->setup();

}
void EBLaserClient::cleanup ( void  ) [virtual]

Cleanup.

Implements EBClient.

Definition at line 642 of file EBLaserClient.cc.

References cloneME_, dqmStore_, enableCleanup_, edm::getName(), h01_, h02_, h03_, h04_, h05_, h06_, h07_, h08_, h09_, h10_, h11_, h12_, hs01_, hs02_, hs03_, hs04_, i, i01_, i02_, i03_, i04_, i05_, i06_, i07_, i08_, i09_, i10_, i11_, i12_, i13_, i14_, i15_, i16_, ecalpyutils::ism(), me_hs01_, me_hs02_, me_hs03_, me_hs04_, mea01_, mea02_, mea03_, mea04_, meaopn01_, meaopn02_, meaopn03_, meaopn04_, meg01_, meg02_, meg03_, meg04_, meg05_, meg06_, meg07_, meg08_, meg09_, meg10_, meg11_, meg12_, mepnprms01_, mepnprms02_, mepnprms03_, mepnprms04_, mepnprms05_, mepnprms06_, mepnprms07_, mepnprms08_, met01_, met02_, met03_, met04_, metav01_, metav02_, metav03_, metav04_, metrms01_, metrms02_, metrms03_, metrms04_, prefixME_, DQMStore::removeElement(), DQMStore::setCurrentFolder(), and superModules_.

Referenced by endJob(), and endRun().

                                {

  if ( ! enableCleanup_ ) return;

  for ( unsigned int i=0; i<superModules_.size(); i++ ) {

    int ism = superModules_[i];

    if ( cloneME_ ) {
      if ( h01_[ism-1] ) delete h01_[ism-1];
      if ( h02_[ism-1] ) delete h02_[ism-1];
      if ( h03_[ism-1] ) delete h03_[ism-1];
      if ( h04_[ism-1] ) delete h04_[ism-1];
      if ( h05_[ism-1] ) delete h05_[ism-1];
      if ( h06_[ism-1] ) delete h06_[ism-1];
      if ( h07_[ism-1] ) delete h07_[ism-1];
      if ( h08_[ism-1] ) delete h08_[ism-1];

      if ( h09_[ism-1] ) delete h09_[ism-1];
      if ( h10_[ism-1] ) delete h10_[ism-1];
      if ( h11_[ism-1] ) delete h11_[ism-1];
      if ( h12_[ism-1] ) delete h12_[ism-1];

      if ( hs01_[ism-1] ) delete hs01_[ism-1];
      if ( hs02_[ism-1] ) delete hs02_[ism-1];
      if ( hs03_[ism-1] ) delete hs03_[ism-1];
      if ( hs04_[ism-1] ) delete hs04_[ism-1];

      if ( i01_[ism-1] ) delete i01_[ism-1];
      if ( i02_[ism-1] ) delete i02_[ism-1];
      if ( i03_[ism-1] ) delete i03_[ism-1];
      if ( i04_[ism-1] ) delete i04_[ism-1];
      if ( i05_[ism-1] ) delete i05_[ism-1];
      if ( i06_[ism-1] ) delete i06_[ism-1];
      if ( i07_[ism-1] ) delete i07_[ism-1];
      if ( i08_[ism-1] ) delete i08_[ism-1];

      if ( i09_[ism-1] ) delete i09_[ism-1];
      if ( i10_[ism-1] ) delete i10_[ism-1];
      if ( i11_[ism-1] ) delete i11_[ism-1];
      if ( i12_[ism-1] ) delete i12_[ism-1];
      if ( i13_[ism-1] ) delete i13_[ism-1];
      if ( i14_[ism-1] ) delete i14_[ism-1];
      if ( i15_[ism-1] ) delete i15_[ism-1];
      if ( i16_[ism-1] ) delete i16_[ism-1];
    }

    h01_[ism-1] = 0;
    h02_[ism-1] = 0;
    h03_[ism-1] = 0;
    h04_[ism-1] = 0;
    h05_[ism-1] = 0;
    h06_[ism-1] = 0;
    h07_[ism-1] = 0;
    h08_[ism-1] = 0;

    h09_[ism-1] = 0;
    h10_[ism-1] = 0;
    h11_[ism-1] = 0;
    h12_[ism-1] = 0;

    hs01_[ism-1] = 0;
    hs02_[ism-1] = 0;
    hs03_[ism-1] = 0;
    hs04_[ism-1] = 0;

    i01_[ism-1] = 0;
    i02_[ism-1] = 0;
    i03_[ism-1] = 0;
    i04_[ism-1] = 0;
    i05_[ism-1] = 0;
    i06_[ism-1] = 0;
    i07_[ism-1] = 0;
    i08_[ism-1] = 0;

    i09_[ism-1] = 0;
    i10_[ism-1] = 0;
    i11_[ism-1] = 0;
    i12_[ism-1] = 0;
    i13_[ism-1] = 0;
    i14_[ism-1] = 0;
    i15_[ism-1] = 0;
    i16_[ism-1] = 0;

  }

  for ( unsigned int i=0; i<superModules_.size(); i++ ) {

    int ism = superModules_[i];

    dqmStore_->setCurrentFolder( prefixME_ + "/EBLaserClient" );

    if ( meg01_[ism-1] ) dqmStore_->removeElement( meg01_[ism-1]->getName() );
    meg01_[ism-1] = 0;
    if ( meg02_[ism-1] ) dqmStore_->removeElement( meg02_[ism-1]->getName() );
    meg02_[ism-1] = 0;
    if ( meg03_[ism-1] ) dqmStore_->removeElement( meg03_[ism-1]->getName() );
    meg03_[ism-1] = 0;
    if ( meg04_[ism-1] ) dqmStore_->removeElement( meg04_[ism-1]->getName() );
    meg04_[ism-1] = 0;

    if ( meg05_[ism-1] ) dqmStore_->removeElement( meg05_[ism-1]->getName() );
    meg05_[ism-1] = 0;
    if ( meg06_[ism-1] ) dqmStore_->removeElement( meg06_[ism-1]->getName() );
    meg06_[ism-1] = 0;
    if ( meg07_[ism-1] ) dqmStore_->removeElement( meg07_[ism-1]->getName() );
    meg07_[ism-1] = 0;
    if ( meg08_[ism-1] ) dqmStore_->removeElement( meg08_[ism-1]->getName() );
    meg08_[ism-1] = 0;
    if ( meg09_[ism-1] ) dqmStore_->removeElement( meg09_[ism-1]->getName() );
    meg09_[ism-1] = 0;
    if ( meg10_[ism-1] ) dqmStore_->removeElement( meg10_[ism-1]->getName() );
    meg10_[ism-1] = 0;
    if ( meg11_[ism-1] ) dqmStore_->removeElement( meg11_[ism-1]->getName() );
    meg11_[ism-1] = 0;
    if ( meg12_[ism-1] ) dqmStore_->removeElement( meg12_[ism-1]->getName() );
    meg12_[ism-1] = 0;

    if ( mea01_[ism-1] ) dqmStore_->removeElement( mea01_[ism-1]->getName() );
    mea01_[ism-1] = 0;
    if ( mea02_[ism-1] ) dqmStore_->removeElement( mea02_[ism-1]->getName() );
    mea02_[ism-1] = 0;
    if ( mea03_[ism-1] ) dqmStore_->removeElement( mea03_[ism-1]->getName() );
    mea03_[ism-1] = 0;
    if ( mea04_[ism-1] ) dqmStore_->removeElement( mea04_[ism-1]->getName() );
    mea04_[ism-1] = 0;

    if ( met01_[ism-1] ) dqmStore_->removeElement( met01_[ism-1]->getName() );
    met01_[ism-1] = 0;
    if ( met02_[ism-1] ) dqmStore_->removeElement( met02_[ism-1]->getName() );
    met02_[ism-1] = 0;
    if ( met03_[ism-1] ) dqmStore_->removeElement( met03_[ism-1]->getName() );
    met03_[ism-1] = 0;
    if ( met04_[ism-1] ) dqmStore_->removeElement( met04_[ism-1]->getName() );
    met04_[ism-1] = 0;

    if ( metav01_[ism-1] ) dqmStore_->removeElement( metav01_[ism-1]->getName() );
    metav01_[ism-1] = 0;
    if ( metav02_[ism-1] ) dqmStore_->removeElement( metav02_[ism-1]->getName() );
    metav02_[ism-1] = 0;
    if ( metav03_[ism-1] ) dqmStore_->removeElement( metav03_[ism-1]->getName() );
    metav03_[ism-1] = 0;
    if ( metav04_[ism-1] ) dqmStore_->removeElement( metav04_[ism-1]->getName() );
    metav04_[ism-1] = 0;

    if ( metrms01_[ism-1] ) dqmStore_->removeElement( metrms01_[ism-1]->getName() );
    metrms01_[ism-1] = 0;
    if ( metrms02_[ism-1] ) dqmStore_->removeElement( metrms02_[ism-1]->getName() );
    metrms02_[ism-1] = 0;
    if ( metrms03_[ism-1] ) dqmStore_->removeElement( metrms03_[ism-1]->getName() );
    metrms03_[ism-1] = 0;
    if ( metrms04_[ism-1] ) dqmStore_->removeElement( metrms04_[ism-1]->getName() );
    metrms04_[ism-1] = 0;

    if ( meaopn01_[ism-1] ) dqmStore_->removeElement( meaopn01_[ism-1]->getName() );
    meaopn01_[ism-1] = 0;
    if ( meaopn02_[ism-1] ) dqmStore_->removeElement( meaopn02_[ism-1]->getName() );
    meaopn02_[ism-1] = 0;
    if ( meaopn03_[ism-1] ) dqmStore_->removeElement( meaopn03_[ism-1]->getName() );
    meaopn03_[ism-1] = 0;
    if ( meaopn04_[ism-1] ) dqmStore_->removeElement( meaopn04_[ism-1]->getName() );
    meaopn04_[ism-1] = 0;

    if ( mepnprms01_[ism-1] ) dqmStore_->removeElement( mepnprms01_[ism-1]->getName() );
    mepnprms01_[ism-1] = 0;
    if ( mepnprms02_[ism-1] ) dqmStore_->removeElement( mepnprms02_[ism-1]->getName() );
    mepnprms02_[ism-1] = 0;
    if ( mepnprms03_[ism-1] ) dqmStore_->removeElement( mepnprms03_[ism-1]->getName() );
    mepnprms03_[ism-1] = 0;
    if ( mepnprms04_[ism-1] ) dqmStore_->removeElement( mepnprms04_[ism-1]->getName() );
    mepnprms04_[ism-1] = 0;
    if ( mepnprms05_[ism-1] ) dqmStore_->removeElement( mepnprms05_[ism-1]->getName() );
    mepnprms05_[ism-1] = 0;
    if ( mepnprms06_[ism-1] ) dqmStore_->removeElement( mepnprms06_[ism-1]->getName() );
    mepnprms06_[ism-1] = 0;
    if ( mepnprms07_[ism-1] ) dqmStore_->removeElement( mepnprms07_[ism-1]->getName() );
    mepnprms07_[ism-1] = 0;
    if ( mepnprms08_[ism-1] ) dqmStore_->removeElement( mepnprms08_[ism-1]->getName() );
    mepnprms08_[ism-1] = 0;

    if ( me_hs01_[ism-1] ) dqmStore_->removeElement( me_hs01_[ism-1]->getName() );
    me_hs01_[ism-1] = 0;
    if ( me_hs02_[ism-1] ) dqmStore_->removeElement( me_hs02_[ism-1]->getName() );
    me_hs02_[ism-1] = 0;
    if ( me_hs03_[ism-1] ) dqmStore_->removeElement( me_hs03_[ism-1]->getName() );
    me_hs03_[ism-1] = 0;
    if ( me_hs04_[ism-1] ) dqmStore_->removeElement( me_hs04_[ism-1]->getName() );
    me_hs04_[ism-1] = 0;

  }

}
void EBLaserClient::endJob ( void  ) [virtual]

EndJob.

Implements EBClient.

Definition at line 229 of file EBLaserClient.cc.

References cleanup(), gather_cfg::cout, debug_, and ievt_.

                               {

  if ( debug_ ) std::cout << "EBLaserClient: endJob, ievt = " << ievt_ << std::endl;

  this->cleanup();

}
void EBLaserClient::endRun ( void  ) [virtual]

EndRun.

Implements EBClient.

Definition at line 237 of file EBLaserClient.cc.

References cleanup(), gather_cfg::cout, debug_, and jevt_.

                               {

  if ( debug_ ) std::cout << "EBLaserClient: endRun, jevt = " << jevt_ << std::endl;

  this->cleanup();

}
int EBLaserClient::getEvtPerJob ( void  ) [inline, virtual]

Get Functions.

Implements EBClient.

Definition at line 71 of file EBLaserClient.h.

References ievt_.

{ return ievt_; }
int EBLaserClient::getEvtPerRun ( void  ) [inline, virtual]

Returns the number of processed events in this Run.

Implements EBClient.

Definition at line 72 of file EBLaserClient.h.

References jevt_.

{ return jevt_; }
void EBLaserClient::setup ( void  ) [virtual]

Setup.

Implements EBClient.

Definition at line 245 of file EBLaserClient.cc.

References DQMStore::book1D(), DQMStore::book2D(), dqmStore_, spr::find(), edm::getName(), trackerHits::histo, i, ecalpyutils::ism(), laserWavelengths_, me_hs01_, me_hs02_, me_hs03_, me_hs04_, mea01_, mea02_, mea03_, mea04_, meaopn01_, meaopn02_, meaopn03_, meaopn04_, meg01_, meg02_, meg03_, meg04_, meg05_, meg06_, meg07_, meg08_, meg09_, meg10_, meg11_, meg12_, mepnprms01_, mepnprms02_, mepnprms03_, mepnprms04_, mepnprms05_, mepnprms06_, mepnprms07_, mepnprms08_, met01_, met02_, met03_, met04_, metav01_, metav02_, metav03_, metav04_, metrms01_, metrms02_, metrms03_, metrms04_, prefixME_, DQMStore::removeElement(), MonitorElement::Reset(), Numbers::sEB(), MonitorElement::setAxisTitle(), MonitorElement::setBinContent(), DQMStore::setCurrentFolder(), and superModules_.

Referenced by beginRun().

                              {

  char histo[200];

  dqmStore_->setCurrentFolder( prefixME_ + "/EBLaserClient" );

  for ( unsigned int i=0; i<superModules_.size(); i++ ) {

    int ism = superModules_[i];

    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 1) != laserWavelengths_.end() ) {
      if ( meg01_[ism-1] ) dqmStore_->removeElement( meg01_[ism-1]->getName() );
      sprintf(histo, "EBLT laser quality L1 %s", Numbers::sEB(ism).c_str());
      meg01_[ism-1] = dqmStore_->book2D(histo, histo, 85, 0., 85., 20, 0., 20.);
      meg01_[ism-1]->setAxisTitle("ieta", 1);
      meg01_[ism-1]->setAxisTitle("iphi", 2);
    }
    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 2) != laserWavelengths_.end() ) {
      if ( meg02_[ism-1] ) dqmStore_->removeElement( meg02_[ism-1]->getName() );
      sprintf(histo, "EBLT laser quality L2 %s", Numbers::sEB(ism).c_str());
      meg02_[ism-1] = dqmStore_->book2D(histo, histo, 85, 0., 85., 20, 0., 20.);
      meg02_[ism-1]->setAxisTitle("ieta", 1);
      meg02_[ism-1]->setAxisTitle("iphi", 2);
    }
    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 3) != laserWavelengths_.end() ) {
      if ( meg03_[ism-1] ) dqmStore_->removeElement( meg03_[ism-1]->getName() );
      sprintf(histo, "EBLT laser quality L3 %s", Numbers::sEB(ism).c_str());
      meg03_[ism-1] = dqmStore_->book2D(histo, histo, 85, 0., 85., 20, 0., 20.);
      meg03_[ism-1]->setAxisTitle("ieta", 1);
      meg03_[ism-1]->setAxisTitle("iphi", 2);
    }
    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 4) != laserWavelengths_.end() ) {
      if ( meg04_[ism-1] ) dqmStore_->removeElement( meg04_[ism-1]->getName() );
      sprintf(histo, "EBLT laser quality L4 %s", Numbers::sEB(ism).c_str());
      meg04_[ism-1] = dqmStore_->book2D(histo, histo, 85, 0., 85., 20, 0., 20.);
      meg04_[ism-1]->setAxisTitle("ieta", 1);
      meg04_[ism-1]->setAxisTitle("iphi", 2);
    }

    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 1) != laserWavelengths_.end() ) {
      if ( meg05_[ism-1] ) dqmStore_->removeElement( meg05_[ism-1]->getName() );
      sprintf(histo, "EBLT laser quality L1 PNs G01 %s", Numbers::sEB(ism).c_str());
      meg05_[ism-1] = dqmStore_->book2D(histo, histo, 10, 0., 10., 1, 0., 5.);
      meg05_[ism-1]->setAxisTitle("pseudo-strip", 1);
      meg05_[ism-1]->setAxisTitle("channel", 2);
    }
    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 2) != laserWavelengths_.end() ) {
      if ( meg06_[ism-1] ) dqmStore_->removeElement( meg06_[ism-1]->getName() );
      sprintf(histo, "EBLT laser quality L2 PNs G01 %s", Numbers::sEB(ism).c_str());
      meg06_[ism-1] = dqmStore_->book2D(histo, histo, 10, 0., 10., 1, 0., 5.);
      meg06_[ism-1]->setAxisTitle("pseudo-strip", 1);
      meg06_[ism-1]->setAxisTitle("channel", 2);
    }
    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 3) != laserWavelengths_.end() ) {
      if ( meg07_[ism-1] ) dqmStore_->removeElement( meg07_[ism-1]->getName() );
      sprintf(histo, "EBLT laser quality L3 PNs G01 %s", Numbers::sEB(ism).c_str());
      meg07_[ism-1] = dqmStore_->book2D(histo, histo, 10, 0., 10., 1, 0., 5.);
      meg07_[ism-1]->setAxisTitle("pseudo-strip", 1);
      meg07_[ism-1]->setAxisTitle("channel", 2);
    }
    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 4) != laserWavelengths_.end() ) {
      if ( meg08_[ism-1] ) dqmStore_->removeElement( meg08_[ism-1]->getName() );
      sprintf(histo, "EBLT laser quality L4 PNs G01 %s", Numbers::sEB(ism).c_str());
      meg08_[ism-1] = dqmStore_->book2D(histo, histo, 10, 0., 10., 1, 0., 5.);
      meg08_[ism-1]->setAxisTitle("pseudo-strip", 1);
      meg08_[ism-1]->setAxisTitle("channel", 2);
    }
    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 1) != laserWavelengths_.end() ) {
      if ( meg09_[ism-1] ) dqmStore_->removeElement( meg09_[ism-1]->getName() );
      sprintf(histo, "EBLT laser quality L1 PNs G16 %s", Numbers::sEB(ism).c_str());
      meg09_[ism-1] = dqmStore_->book2D(histo, histo, 10, 0., 10., 1, 0., 5.);
      meg09_[ism-1]->setAxisTitle("pseudo-strip", 1);
      meg09_[ism-1]->setAxisTitle("channel", 2);
    }
    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 2) != laserWavelengths_.end() ) {
      if ( meg10_[ism-1] ) dqmStore_->removeElement( meg10_[ism-1]->getName() );
      sprintf(histo, "EBLT laser quality L2 PNs G16 %s", Numbers::sEB(ism).c_str());
      meg10_[ism-1] = dqmStore_->book2D(histo, histo, 10, 0., 10., 1, 0., 5.);
      meg10_[ism-1]->setAxisTitle("pseudo-strip", 1);
      meg10_[ism-1]->setAxisTitle("channel", 2);
    }
    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 3) != laserWavelengths_.end() ) {
      if ( meg11_[ism-1] ) dqmStore_->removeElement( meg11_[ism-1]->getName() );
      sprintf(histo, "EBLT laser quality L3 PNs G16 %s", Numbers::sEB(ism).c_str());
      meg11_[ism-1] = dqmStore_->book2D(histo, histo, 10, 0., 10., 1, 0., 5.);
      meg11_[ism-1]->setAxisTitle("pseudo-strip", 1);
      meg11_[ism-1]->setAxisTitle("channel", 2);
    }
    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 4) != laserWavelengths_.end() ) {
      if ( meg12_[ism-1] ) dqmStore_->removeElement( meg12_[ism-1]->getName() );
      sprintf(histo, "EBLT laser quality L4 PNs G16 %s", Numbers::sEB(ism).c_str());
      meg12_[ism-1] = dqmStore_->book2D(histo, histo, 10, 0., 10., 1, 0., 5.);
      meg12_[ism-1]->setAxisTitle("pseudo-strip", 1);
      meg12_[ism-1]->setAxisTitle("channel", 2);
    }

    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 1) != laserWavelengths_.end() ) {
      if ( mea01_[ism-1] ) dqmStore_->removeElement( mea01_[ism-1]->getName() );;
      sprintf(histo, "EBLT amplitude L1 %s", Numbers::sEB(ism).c_str());
      mea01_[ism-1] = dqmStore_->book1D(histo, histo, 1700, 0., 1700.);
      mea01_[ism-1]->setAxisTitle("channel", 1);
      mea01_[ism-1]->setAxisTitle("amplitude", 2);
    }
    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 2) != laserWavelengths_.end() ) {
      if ( mea02_[ism-1] ) dqmStore_->removeElement( mea02_[ism-1]->getName() );
      sprintf(histo, "EBLT amplitude L2 %s", Numbers::sEB(ism).c_str());
      mea02_[ism-1] = dqmStore_->book1D(histo, histo, 1700, 0., 1700.);
      mea02_[ism-1]->setAxisTitle("channel", 1);
      mea02_[ism-1]->setAxisTitle("amplitude", 2);
    }
    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 3) != laserWavelengths_.end() ) {
      if ( mea03_[ism-1] ) dqmStore_->removeElement( mea03_[ism-1]->getName() );
      sprintf(histo, "EBLT amplitude L3 %s", Numbers::sEB(ism).c_str());
      mea03_[ism-1] = dqmStore_->book1D(histo, histo, 1700, 0., 1700.);
      mea03_[ism-1]->setAxisTitle("channel", 1);
      mea03_[ism-1]->setAxisTitle("amplitude", 2);
    }
    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 4) != laserWavelengths_.end() ) {
      if ( mea04_[ism-1] ) dqmStore_->removeElement( mea04_[ism-1]->getName() );
      sprintf(histo, "EBLT amplitude L4 %s", Numbers::sEB(ism).c_str());
      mea04_[ism-1] = dqmStore_->book1D(histo, histo, 1700, 0., 1700.);
      mea04_[ism-1]->setAxisTitle("channel", 1);
      mea04_[ism-1]->setAxisTitle("amplitude", 2);
    }

    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 1) != laserWavelengths_.end() ) {
      if ( met01_[ism-1] ) dqmStore_->removeElement( met01_[ism-1]->getName() );
      sprintf(histo, "EBLT laser timing L1 %s", Numbers::sEB(ism).c_str());
      met01_[ism-1] = dqmStore_->book1D(histo, histo, 1700, 0., 1700.);
      met01_[ism-1]->setAxisTitle("channel", 1);
      met01_[ism-1]->setAxisTitle("jitter", 2);
    }
    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 2) != laserWavelengths_.end() ) {
      if ( met02_[ism-1] ) dqmStore_->removeElement( met02_[ism-1]->getName() );
      sprintf(histo, "EBLT laser timing L2 %s", Numbers::sEB(ism).c_str());
      met02_[ism-1] = dqmStore_->book1D(histo, histo, 1700, 0., 1700.);
      met02_[ism-1]->setAxisTitle("channel", 1);
      met02_[ism-1]->setAxisTitle("jitter", 2);
    }
    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 3) != laserWavelengths_.end() ) {
      if ( met03_[ism-1] ) dqmStore_->removeElement( met03_[ism-1]->getName() );
      sprintf(histo, "EBLT laser timing L3 %s", Numbers::sEB(ism).c_str());
      met03_[ism-1] = dqmStore_->book1D(histo, histo, 1700, 0., 1700.);
      met03_[ism-1]->setAxisTitle("channel", 1);
      met03_[ism-1]->setAxisTitle("jitter", 2);
    }
    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 4) != laserWavelengths_.end() ) {
      if ( met04_[ism-1] ) dqmStore_->removeElement( met04_[ism-1]->getName() );
      sprintf(histo, "EBLT laser timing L4 %s", Numbers::sEB(ism).c_str());
      met04_[ism-1] = dqmStore_->book1D(histo, histo, 1700, 0., 1700.);
      met04_[ism-1]->setAxisTitle("channel", 1);
      met04_[ism-1]->setAxisTitle("jitter", 2);
    }

    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 1) != laserWavelengths_.end() ) {
      if ( metav01_[ism-1] ) dqmStore_->removeElement( metav01_[ism-1]->getName() );
      sprintf(histo, "EBLT laser timing mean L1 %s", Numbers::sEB(ism).c_str());
      metav01_[ism-1] = dqmStore_->book1D(histo, histo, 100, 0., 10.);
      metav01_[ism-1]->setAxisTitle("mean", 1);
    }
    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 2) != laserWavelengths_.end() ) {
      if ( metav02_[ism-1] ) dqmStore_->removeElement( metav02_[ism-1]->getName() );
      sprintf(histo, "EBLT laser timing mean L2 %s", Numbers::sEB(ism).c_str());
      metav02_[ism-1] = dqmStore_->book1D(histo, histo, 100, 0., 10.);
      metav02_[ism-1]->setAxisTitle("mean", 1);
    }
    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 3) != laserWavelengths_.end() ) {
      if ( metav03_[ism-1] ) dqmStore_->removeElement( metav03_[ism-1]->getName() );
      sprintf(histo, "EBLT laser timing mean L3 %s", Numbers::sEB(ism).c_str());
      metav03_[ism-1] = dqmStore_->book1D(histo, histo, 100, 0., 10.);
      metav03_[ism-1]->setAxisTitle("mean", 1);
    }
    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 4) != laserWavelengths_.end() ) {
      if ( metav04_[ism-1] ) dqmStore_->removeElement( metav04_[ism-1]->getName() );
      sprintf(histo, "EBLT laser timing mean L4 %s", Numbers::sEB(ism).c_str());
      metav04_[ism-1] = dqmStore_->book1D(histo, histo, 100, 0., 10.);
      metav04_[ism-1]->setAxisTitle("mean", 1);
    }

    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 1) != laserWavelengths_.end() ) {
      if ( metrms01_[ism-1] ) dqmStore_->removeElement( metrms01_[ism-1]->getName() );
      sprintf(histo, "EBLT laser timing rms L1 %s", Numbers::sEB(ism).c_str());
      metrms01_[ism-1] = dqmStore_->book1D(histo, histo, 100, 0., 0.5);
      metrms01_[ism-1]->setAxisTitle("rms", 1);
    }
    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 2) != laserWavelengths_.end() ) {
      if ( metrms02_[ism-1] ) dqmStore_->removeElement( metrms02_[ism-1]->getName() );
      sprintf(histo, "EBLT laser timing rms L2 %s", Numbers::sEB(ism).c_str());
      metrms02_[ism-1] = dqmStore_->book1D(histo, histo, 100, 0., 0.5);
      metrms02_[ism-1]->setAxisTitle("rms", 1);
    }
    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 3) != laserWavelengths_.end() ) {
      if ( metrms03_[ism-1] ) dqmStore_->removeElement( metrms03_[ism-1]->getName() );
      sprintf(histo, "EBLT laser timing rms L3 %s", Numbers::sEB(ism).c_str());
      metrms03_[ism-1] = dqmStore_->book1D(histo, histo, 100, 0., 0.5);
      metrms03_[ism-1]->setAxisTitle("rms", 1);
    }
    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 4) != laserWavelengths_.end() ) {
      if ( metrms04_[ism-1] ) dqmStore_->removeElement( metrms04_[ism-1]->getName() );
      sprintf(histo, "EBLT laser timing rms L4 %s", Numbers::sEB(ism).c_str());
      metrms04_[ism-1] = dqmStore_->book1D(histo, histo, 100, 0., 0.5);
      metrms04_[ism-1]->setAxisTitle("rms", 1);
    }

    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 1) != laserWavelengths_.end() ) {
      if ( meaopn01_[ism-1] ) dqmStore_->removeElement( meaopn01_[ism-1]->getName() );
      sprintf(histo, "EBLT amplitude over PN L1 %s", Numbers::sEB(ism).c_str());
      meaopn01_[ism-1] = dqmStore_->book1D(histo, histo, 1700, 0., 1700.);
      meaopn01_[ism-1]->setAxisTitle("channel", 1);
      meaopn01_[ism-1]->setAxisTitle("amplitude/PN", 2);
    }
    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 2) != laserWavelengths_.end() ) {
      if ( meaopn02_[ism-1] ) dqmStore_->removeElement( meaopn02_[ism-1]->getName() );
      sprintf(histo, "EBLT amplitude over PN L2 %s", Numbers::sEB(ism).c_str());
      meaopn02_[ism-1] = dqmStore_->book1D(histo, histo, 1700, 0., 1700.);
      meaopn02_[ism-1]->setAxisTitle("channel", 1);
      meaopn02_[ism-1]->setAxisTitle("amplitude/PN", 2);
    }
    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 3) != laserWavelengths_.end() ) {
      if ( meaopn03_[ism-1] ) dqmStore_->removeElement( meaopn03_[ism-1]->getName() );
      sprintf(histo, "EBLT amplitude over PN L3 %s", Numbers::sEB(ism).c_str());
      meaopn03_[ism-1] = dqmStore_->book1D(histo, histo, 1700, 0., 1700.);
      meaopn03_[ism-1]->setAxisTitle("channel", 1);
      meaopn03_[ism-1]->setAxisTitle("amplitude/PN", 2);
    }
    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 4) != laserWavelengths_.end() ) {
      if ( meaopn04_[ism-1] ) dqmStore_->removeElement( meaopn04_[ism-1]->getName() );
      sprintf(histo, "EBLT amplitude over PN L4 %s", Numbers::sEB(ism).c_str());
      meaopn04_[ism-1] = dqmStore_->book1D(histo, histo, 1700, 0., 1700.);
      meaopn04_[ism-1]->setAxisTitle("channel", 1);
      meaopn04_[ism-1]->setAxisTitle("amplitude/PN", 2);
    }

    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 1) != laserWavelengths_.end() ) {
      if ( mepnprms01_[ism-1] ) dqmStore_->removeElement( mepnprms01_[ism-1]->getName() );
      sprintf(histo, "EBLT PNs pedestal rms %s G01 L1", Numbers::sEB(ism).c_str());
      mepnprms01_[ism-1] = dqmStore_->book1D(histo, histo, 100, 0., 10.);
      mepnprms01_[ism-1]->setAxisTitle("rms", 1);
    }
    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 2) != laserWavelengths_.end() ) {
      if ( mepnprms02_[ism-1] ) dqmStore_->removeElement( mepnprms02_[ism-1]->getName() );
      sprintf(histo, "EBLT PNs pedestal rms %s G01 L2", Numbers::sEB(ism).c_str());
      mepnprms02_[ism-1] = dqmStore_->book1D(histo, histo, 100, 0., 10.);
      mepnprms02_[ism-1]->setAxisTitle("rms", 1);
    }
    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 3) != laserWavelengths_.end() ) {
      if ( mepnprms03_[ism-1] ) dqmStore_->removeElement( mepnprms03_[ism-1]->getName() );
      sprintf(histo, "EBLT PNs pedestal rms %s G01 L3", Numbers::sEB(ism).c_str());
      mepnprms03_[ism-1] = dqmStore_->book1D(histo, histo, 100, 0., 10.);
      mepnprms03_[ism-1]->setAxisTitle("rms", 1);
    }
    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 4) != laserWavelengths_.end() ) {
      if ( mepnprms04_[ism-1] ) dqmStore_->removeElement( mepnprms04_[ism-1]->getName() );
      sprintf(histo, "EBLT PNs pedestal rms %s G01 L4", Numbers::sEB(ism).c_str());
      mepnprms04_[ism-1] = dqmStore_->book1D(histo, histo, 100, 0., 10.);
      mepnprms04_[ism-1]->setAxisTitle("rms", 1);
    }
    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 1) != laserWavelengths_.end() ) {
      if ( mepnprms05_[ism-1] ) dqmStore_->removeElement( mepnprms05_[ism-1]->getName() );
      sprintf(histo, "EBLT PNs pedestal rms %s G16 L1", Numbers::sEB(ism).c_str());
      mepnprms05_[ism-1] = dqmStore_->book1D(histo, histo, 100, 0., 10.);
      mepnprms05_[ism-1]->setAxisTitle("rms", 1);
    }
    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 2) != laserWavelengths_.end() ) {
      if ( mepnprms06_[ism-1] ) dqmStore_->removeElement( mepnprms06_[ism-1]->getName() );
      sprintf(histo, "EBLT PNs pedestal rms %s G16 L2", Numbers::sEB(ism).c_str());
      mepnprms06_[ism-1] = dqmStore_->book1D(histo, histo, 100, 0., 10.);
      mepnprms06_[ism-1]->setAxisTitle("rms", 1);
    }
    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 3) != laserWavelengths_.end() ) {
      if ( mepnprms07_[ism-1] ) dqmStore_->removeElement( mepnprms07_[ism-1]->getName() );
      sprintf(histo, "EBLT PNs pedestal rms %s G16 L3", Numbers::sEB(ism).c_str());
      mepnprms07_[ism-1] = dqmStore_->book1D(histo, histo, 100, 0., 10.);
      mepnprms07_[ism-1]->setAxisTitle("rms", 1);
    }
    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 4) != laserWavelengths_.end() ) {
      if ( mepnprms08_[ism-1] ) dqmStore_->removeElement( mepnprms08_[ism-1]->getName() );
      sprintf(histo, "EBLT PNs pedestal rms %s G16 L4", Numbers::sEB(ism).c_str());
      mepnprms08_[ism-1] = dqmStore_->book1D(histo, histo, 100, 0., 10.);
      mepnprms08_[ism-1]->setAxisTitle("rms", 1);
    }
    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 1) != laserWavelengths_.end() ) {
      if ( me_hs01_[ism-1] ) dqmStore_->removeElement( me_hs01_[ism-1]->getName() );
      sprintf(histo, "EBLT laser shape L1 %s", Numbers::sEB(ism).c_str());
      me_hs01_[ism-1] = dqmStore_->book1D(histo, histo, 10, 0., 10.);
      me_hs01_[ism-1]->setAxisTitle("sample", 1);
      me_hs01_[ism-1]->setAxisTitle("amplitude", 2);
    }
    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 2) != laserWavelengths_.end() ) {
      if ( me_hs02_[ism-1] ) dqmStore_->removeElement( me_hs02_[ism-1]->getName() );
      sprintf(histo, "EBLT laser shape L2 %s", Numbers::sEB(ism).c_str());
      me_hs02_[ism-1] = dqmStore_->book1D(histo, histo, 10, 0., 10.);
      me_hs02_[ism-1]->setAxisTitle("sample", 1);
      me_hs02_[ism-1]->setAxisTitle("amplitude", 2);
    }
    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 3) != laserWavelengths_.end() ) {
      if ( me_hs03_[ism-1] ) dqmStore_->removeElement( me_hs03_[ism-1]->getName() );
      sprintf(histo, "EBLT laser shape L3 %s", Numbers::sEB(ism).c_str());
      me_hs03_[ism-1] = dqmStore_->book1D(histo, histo, 10, 0., 10.);
      me_hs03_[ism-1]->setAxisTitle("sample", 1);
      me_hs03_[ism-1]->setAxisTitle("amplitude", 2);
    }
    if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 4) != laserWavelengths_.end() ) {
      if ( me_hs04_[ism-1] ) dqmStore_->removeElement( me_hs04_[ism-1]->getName() );
      sprintf(histo, "EBLT laser shape L4 %s", Numbers::sEB(ism).c_str());
      me_hs04_[ism-1] = dqmStore_->book1D(histo, histo, 10, 0., 10.);
      me_hs04_[ism-1]->setAxisTitle("sample", 1);
      me_hs04_[ism-1]->setAxisTitle("amplitude", 2);
    }

  }

  for ( unsigned int i=0; i<superModules_.size(); i++ ) {

    int ism = superModules_[i];

    if ( meg01_[ism-1] ) meg01_[ism-1]->Reset();
    if ( meg02_[ism-1] ) meg02_[ism-1]->Reset();
    if ( meg03_[ism-1] ) meg03_[ism-1]->Reset();
    if ( meg04_[ism-1] ) meg04_[ism-1]->Reset();

    if ( meg05_[ism-1] ) meg05_[ism-1]->Reset();
    if ( meg06_[ism-1] ) meg06_[ism-1]->Reset();
    if ( meg07_[ism-1] ) meg07_[ism-1]->Reset();
    if ( meg08_[ism-1] ) meg08_[ism-1]->Reset();
    if ( meg09_[ism-1] ) meg09_[ism-1]->Reset();
    if ( meg10_[ism-1] ) meg10_[ism-1]->Reset();
    if ( meg11_[ism-1] ) meg11_[ism-1]->Reset();
    if ( meg12_[ism-1] ) meg12_[ism-1]->Reset();

    for ( int ie = 1; ie <= 85; ie++ ) {
      for ( int ip = 1; ip <= 20; ip++ ) {

        if ( meg01_[ism-1] ) meg01_[ism-1]->setBinContent( ie, ip, 2. );
        if ( meg02_[ism-1] ) meg02_[ism-1]->setBinContent( ie, ip, 2. );
        if ( meg03_[ism-1] ) meg03_[ism-1]->setBinContent( ie, ip, 2. );
        if ( meg04_[ism-1] ) meg04_[ism-1]->setBinContent( ie, ip, 2. );

      }
    }

    for ( int i = 1; i <= 10; i++ ) {

        if ( meg05_[ism-1] ) meg05_[ism-1]->setBinContent( i, 1, 2. );
        if ( meg06_[ism-1] ) meg06_[ism-1]->setBinContent( i, 1, 2. );
        if ( meg07_[ism-1] ) meg07_[ism-1]->setBinContent( i, 1, 2. );
        if ( meg08_[ism-1] ) meg08_[ism-1]->setBinContent( i, 1, 2. );
        if ( meg09_[ism-1] ) meg09_[ism-1]->setBinContent( i, 1, 2. );
        if ( meg10_[ism-1] ) meg10_[ism-1]->setBinContent( i, 1, 2. );
        if ( meg11_[ism-1] ) meg11_[ism-1]->setBinContent( i, 1, 2. );
        if ( meg12_[ism-1] ) meg12_[ism-1]->setBinContent( i, 1, 2. );

    }

    if ( mea01_[ism-1] ) mea01_[ism-1]->Reset();
    if ( mea02_[ism-1] ) mea02_[ism-1]->Reset();
    if ( mea03_[ism-1] ) mea03_[ism-1]->Reset();
    if ( mea04_[ism-1] ) mea04_[ism-1]->Reset();

    if ( met01_[ism-1] ) met01_[ism-1]->Reset();
    if ( met02_[ism-1] ) met02_[ism-1]->Reset();
    if ( met03_[ism-1] ) met03_[ism-1]->Reset();
    if ( met04_[ism-1] ) met04_[ism-1]->Reset();

    if ( metav01_[ism-1] ) metav01_[ism-1]->Reset();
    if ( metav02_[ism-1] ) metav02_[ism-1]->Reset();
    if ( metav03_[ism-1] ) metav03_[ism-1]->Reset();
    if ( metav04_[ism-1] ) metav04_[ism-1]->Reset();

    if ( metrms01_[ism-1] ) metrms01_[ism-1]->Reset();
    if ( metrms02_[ism-1] ) metrms02_[ism-1]->Reset();
    if ( metrms03_[ism-1] ) metrms03_[ism-1]->Reset();
    if ( metrms04_[ism-1] ) metrms04_[ism-1]->Reset();

    if ( meaopn01_[ism-1] ) meaopn01_[ism-1]->Reset();
    if ( meaopn02_[ism-1] ) meaopn02_[ism-1]->Reset();
    if ( meaopn03_[ism-1] ) meaopn03_[ism-1]->Reset();
    if ( meaopn04_[ism-1] ) meaopn04_[ism-1]->Reset();

    if ( mepnprms01_[ism-1] ) mepnprms01_[ism-1]->Reset();
    if ( mepnprms02_[ism-1] ) mepnprms02_[ism-1]->Reset();
    if ( mepnprms03_[ism-1] ) mepnprms03_[ism-1]->Reset();
    if ( mepnprms04_[ism-1] ) mepnprms04_[ism-1]->Reset();
    if ( mepnprms05_[ism-1] ) mepnprms01_[ism-1]->Reset();
    if ( mepnprms06_[ism-1] ) mepnprms02_[ism-1]->Reset();
    if ( mepnprms07_[ism-1] ) mepnprms03_[ism-1]->Reset();
    if ( mepnprms08_[ism-1] ) mepnprms04_[ism-1]->Reset();

    if ( me_hs01_[ism-1] ) me_hs01_[ism-1]->Reset();
    if ( me_hs02_[ism-1] ) me_hs02_[ism-1]->Reset();
    if ( me_hs03_[ism-1] ) me_hs03_[ism-1]->Reset();
    if ( me_hs04_[ism-1] ) me_hs04_[ism-1]->Reset();

  }

}

Friends And Related Function Documentation

friend class EBSummaryClient [friend]

Definition at line 34 of file EBLaserClient.h.


Member Data Documentation

Definition at line 189 of file EBLaserClient.h.

Referenced by EBLaserClient().

Definition at line 194 of file EBLaserClient.h.

Referenced by analyze(), and EBLaserClient().

Definition at line 195 of file EBLaserClient.h.

Referenced by analyze(), and EBLaserClient().

bool EBLaserClient::cloneME_ [private]

Definition at line 79 of file EBLaserClient.h.

Referenced by analyze(), cleanup(), and EBLaserClient().

bool EBLaserClient::debug_ [private]

Definition at line 82 of file EBLaserClient.h.

Referenced by analyze(), beginJob(), beginRun(), EBLaserClient(), endJob(), and endRun().

Definition at line 91 of file EBLaserClient.h.

Referenced by analyze(), beginJob(), cleanup(), and setup().

Definition at line 86 of file EBLaserClient.h.

Referenced by cleanup(), and EBLaserClient().

TProfile2D* EBLaserClient::h01_[36] [private]

Definition at line 93 of file EBLaserClient.h.

Referenced by analyze(), cleanup(), and EBLaserClient().

TProfile2D* EBLaserClient::h02_[36] [private]

Definition at line 94 of file EBLaserClient.h.

Referenced by analyze(), cleanup(), and EBLaserClient().

TProfile2D* EBLaserClient::h03_[36] [private]

Definition at line 95 of file EBLaserClient.h.

Referenced by analyze(), cleanup(), and EBLaserClient().

TProfile2D* EBLaserClient::h04_[36] [private]

Definition at line 96 of file EBLaserClient.h.

Referenced by analyze(), cleanup(), and EBLaserClient().

TProfile2D* EBLaserClient::h05_[36] [private]

Definition at line 97 of file EBLaserClient.h.

Referenced by analyze(), cleanup(), and EBLaserClient().

TProfile2D* EBLaserClient::h06_[36] [private]

Definition at line 98 of file EBLaserClient.h.

Referenced by analyze(), cleanup(), and EBLaserClient().

TProfile2D* EBLaserClient::h07_[36] [private]

Definition at line 99 of file EBLaserClient.h.

Referenced by analyze(), cleanup(), and EBLaserClient().

TProfile2D* EBLaserClient::h08_[36] [private]

Definition at line 100 of file EBLaserClient.h.

Referenced by analyze(), cleanup(), and EBLaserClient().

TProfile2D* EBLaserClient::h09_[36] [private]

Definition at line 102 of file EBLaserClient.h.

Referenced by analyze(), cleanup(), and EBLaserClient().

TProfile2D* EBLaserClient::h10_[36] [private]

Definition at line 103 of file EBLaserClient.h.

Referenced by analyze(), cleanup(), and EBLaserClient().

TProfile2D* EBLaserClient::h11_[36] [private]

Definition at line 104 of file EBLaserClient.h.

Referenced by analyze(), cleanup(), and EBLaserClient().

TProfile2D* EBLaserClient::h12_[36] [private]

Definition at line 105 of file EBLaserClient.h.

Referenced by analyze(), cleanup(), and EBLaserClient().

TProfile2D* EBLaserClient::hs01_[36] [private]

Definition at line 107 of file EBLaserClient.h.

Referenced by analyze(), cleanup(), and EBLaserClient().

TProfile2D* EBLaserClient::hs02_[36] [private]

Definition at line 108 of file EBLaserClient.h.

Referenced by analyze(), cleanup(), and EBLaserClient().

TProfile2D* EBLaserClient::hs03_[36] [private]

Definition at line 109 of file EBLaserClient.h.

Referenced by analyze(), cleanup(), and EBLaserClient().

TProfile2D* EBLaserClient::hs04_[36] [private]

Definition at line 110 of file EBLaserClient.h.

Referenced by analyze(), cleanup(), and EBLaserClient().

TProfile* EBLaserClient::i01_[36] [private]

Definition at line 169 of file EBLaserClient.h.

Referenced by analyze(), cleanup(), and EBLaserClient().

TProfile* EBLaserClient::i02_[36] [private]

Definition at line 170 of file EBLaserClient.h.

Referenced by analyze(), cleanup(), and EBLaserClient().

TProfile* EBLaserClient::i03_[36] [private]

Definition at line 171 of file EBLaserClient.h.

Referenced by analyze(), cleanup(), and EBLaserClient().

TProfile* EBLaserClient::i04_[36] [private]

Definition at line 172 of file EBLaserClient.h.

Referenced by analyze(), cleanup(), and EBLaserClient().

TProfile* EBLaserClient::i05_[36] [private]

Definition at line 173 of file EBLaserClient.h.

Referenced by analyze(), cleanup(), and EBLaserClient().

TProfile* EBLaserClient::i06_[36] [private]

Definition at line 174 of file EBLaserClient.h.

Referenced by analyze(), cleanup(), and EBLaserClient().

TProfile* EBLaserClient::i07_[36] [private]

Definition at line 175 of file EBLaserClient.h.

Referenced by analyze(), cleanup(), and EBLaserClient().

TProfile* EBLaserClient::i08_[36] [private]

Definition at line 176 of file EBLaserClient.h.

Referenced by analyze(), cleanup(), and EBLaserClient().

TProfile* EBLaserClient::i09_[36] [private]

Definition at line 177 of file EBLaserClient.h.

Referenced by analyze(), cleanup(), and EBLaserClient().

TProfile* EBLaserClient::i10_[36] [private]

Definition at line 178 of file EBLaserClient.h.

Referenced by analyze(), cleanup(), and EBLaserClient().

TProfile* EBLaserClient::i11_[36] [private]

Definition at line 179 of file EBLaserClient.h.

Referenced by analyze(), cleanup(), and EBLaserClient().

TProfile* EBLaserClient::i12_[36] [private]

Definition at line 180 of file EBLaserClient.h.

Referenced by analyze(), cleanup(), and EBLaserClient().

TProfile* EBLaserClient::i13_[36] [private]

Definition at line 181 of file EBLaserClient.h.

Referenced by analyze(), cleanup(), and EBLaserClient().

TProfile* EBLaserClient::i14_[36] [private]

Definition at line 182 of file EBLaserClient.h.

Referenced by analyze(), cleanup(), and EBLaserClient().

TProfile* EBLaserClient::i15_[36] [private]

Definition at line 183 of file EBLaserClient.h.

Referenced by analyze(), cleanup(), and EBLaserClient().

TProfile* EBLaserClient::i16_[36] [private]

Definition at line 184 of file EBLaserClient.h.

Referenced by analyze(), cleanup(), and EBLaserClient().

int EBLaserClient::ievt_ [private]

Definition at line 76 of file EBLaserClient.h.

Referenced by analyze(), beginJob(), endJob(), and getEvtPerJob().

int EBLaserClient::jevt_ [private]

Definition at line 77 of file EBLaserClient.h.

Referenced by analyze(), beginJob(), beginRun(), endRun(), and getEvtPerRun().

std::vector<int> EBLaserClient::laserWavelengths_ [private]

Definition at line 89 of file EBLaserClient.h.

Referenced by analyze(), EBLaserClient(), and setup().

Definition at line 160 of file EBLaserClient.h.

Referenced by analyze(), cleanup(), EBLaserClient(), and setup().

Definition at line 161 of file EBLaserClient.h.

Referenced by analyze(), cleanup(), EBLaserClient(), and setup().

Definition at line 162 of file EBLaserClient.h.

Referenced by analyze(), cleanup(), EBLaserClient(), and setup().

Definition at line 163 of file EBLaserClient.h.

Referenced by analyze(), cleanup(), EBLaserClient(), and setup().

Definition at line 164 of file EBLaserClient.h.

Definition at line 165 of file EBLaserClient.h.

Definition at line 166 of file EBLaserClient.h.

Definition at line 167 of file EBLaserClient.h.

Definition at line 126 of file EBLaserClient.h.

Referenced by EBSummaryClient::analyze(), analyze(), cleanup(), EBLaserClient(), and setup().

Definition at line 127 of file EBLaserClient.h.

Referenced by EBSummaryClient::analyze(), analyze(), cleanup(), EBLaserClient(), and setup().

Definition at line 128 of file EBLaserClient.h.

Referenced by EBSummaryClient::analyze(), analyze(), cleanup(), EBLaserClient(), and setup().

Definition at line 129 of file EBLaserClient.h.

Referenced by EBSummaryClient::analyze(), analyze(), cleanup(), EBLaserClient(), and setup().

Definition at line 146 of file EBLaserClient.h.

Referenced by EBSummaryClient::analyze(), analyze(), cleanup(), EBLaserClient(), and setup().

Definition at line 147 of file EBLaserClient.h.

Referenced by EBSummaryClient::analyze(), analyze(), cleanup(), EBLaserClient(), and setup().

Definition at line 148 of file EBLaserClient.h.

Referenced by EBSummaryClient::analyze(), analyze(), cleanup(), EBLaserClient(), and setup().

Definition at line 149 of file EBLaserClient.h.

Referenced by EBSummaryClient::analyze(), analyze(), cleanup(), EBLaserClient(), and setup().

Definition at line 112 of file EBLaserClient.h.

Referenced by EBSummaryClient::analyze(), analyze(), cleanup(), EBLaserClient(), and setup().

Definition at line 113 of file EBLaserClient.h.

Referenced by EBSummaryClient::analyze(), analyze(), cleanup(), EBLaserClient(), and setup().

Definition at line 114 of file EBLaserClient.h.

Referenced by EBSummaryClient::analyze(), analyze(), cleanup(), EBLaserClient(), and setup().

Definition at line 115 of file EBLaserClient.h.

Referenced by EBSummaryClient::analyze(), analyze(), cleanup(), EBLaserClient(), and setup().

Definition at line 117 of file EBLaserClient.h.

Referenced by analyze(), cleanup(), EBLaserClient(), and setup().

Definition at line 118 of file EBLaserClient.h.

Referenced by analyze(), cleanup(), EBLaserClient(), and setup().

Definition at line 119 of file EBLaserClient.h.

Referenced by analyze(), cleanup(), EBLaserClient(), and setup().

Definition at line 120 of file EBLaserClient.h.

Referenced by analyze(), cleanup(), EBLaserClient(), and setup().

Definition at line 121 of file EBLaserClient.h.

Referenced by EBSummaryClient::analyze(), analyze(), cleanup(), EBLaserClient(), and setup().

Definition at line 122 of file EBLaserClient.h.

Referenced by EBSummaryClient::analyze(), analyze(), cleanup(), EBLaserClient(), and setup().

Definition at line 123 of file EBLaserClient.h.

Referenced by EBSummaryClient::analyze(), analyze(), cleanup(), EBLaserClient(), and setup().

Definition at line 124 of file EBLaserClient.h.

Referenced by EBSummaryClient::analyze(), analyze(), cleanup(), EBLaserClient(), and setup().

Definition at line 151 of file EBLaserClient.h.

Referenced by analyze(), cleanup(), EBLaserClient(), and setup().

Definition at line 152 of file EBLaserClient.h.

Referenced by analyze(), cleanup(), EBLaserClient(), and setup().

Definition at line 153 of file EBLaserClient.h.

Referenced by analyze(), cleanup(), EBLaserClient(), and setup().

Definition at line 154 of file EBLaserClient.h.

Referenced by analyze(), cleanup(), EBLaserClient(), and setup().

Definition at line 155 of file EBLaserClient.h.

Referenced by analyze(), cleanup(), EBLaserClient(), and setup().

Definition at line 156 of file EBLaserClient.h.

Referenced by analyze(), cleanup(), EBLaserClient(), and setup().

Definition at line 157 of file EBLaserClient.h.

Referenced by analyze(), cleanup(), EBLaserClient(), and setup().

Definition at line 158 of file EBLaserClient.h.

Referenced by analyze(), cleanup(), EBLaserClient(), and setup().

Definition at line 131 of file EBLaserClient.h.

Referenced by EBSummaryClient::analyze(), analyze(), cleanup(), EBLaserClient(), and setup().

Definition at line 132 of file EBLaserClient.h.

Referenced by EBSummaryClient::analyze(), analyze(), cleanup(), EBLaserClient(), and setup().

Definition at line 133 of file EBLaserClient.h.

Referenced by EBSummaryClient::analyze(), analyze(), cleanup(), EBLaserClient(), and setup().

Definition at line 134 of file EBLaserClient.h.

Referenced by EBSummaryClient::analyze(), analyze(), cleanup(), EBLaserClient(), and setup().

Definition at line 136 of file EBLaserClient.h.

Referenced by analyze(), cleanup(), EBLaserClient(), and setup().

Definition at line 137 of file EBLaserClient.h.

Referenced by analyze(), cleanup(), EBLaserClient(), and setup().

Definition at line 138 of file EBLaserClient.h.

Referenced by analyze(), cleanup(), EBLaserClient(), and setup().

Definition at line 139 of file EBLaserClient.h.

Referenced by analyze(), cleanup(), EBLaserClient(), and setup().

Definition at line 141 of file EBLaserClient.h.

Referenced by analyze(), cleanup(), EBLaserClient(), and setup().

Definition at line 142 of file EBLaserClient.h.

Referenced by analyze(), cleanup(), EBLaserClient(), and setup().

Definition at line 143 of file EBLaserClient.h.

Referenced by analyze(), cleanup(), EBLaserClient(), and setup().

Definition at line 144 of file EBLaserClient.h.

Referenced by analyze(), cleanup(), EBLaserClient(), and setup().

Definition at line 197 of file EBLaserClient.h.

Referenced by analyze(), and EBLaserClient().

Definition at line 196 of file EBLaserClient.h.

Referenced by analyze(), and EBLaserClient().

Definition at line 198 of file EBLaserClient.h.

Referenced by analyze(), and EBLaserClient().

Definition at line 188 of file EBLaserClient.h.

Referenced by analyze(), and EBLaserClient().

std::string EBLaserClient::prefixME_ [private]

Definition at line 84 of file EBLaserClient.h.

Referenced by analyze(), cleanup(), EBLaserClient(), and setup().

Definition at line 190 of file EBLaserClient.h.

Referenced by analyze(), and EBLaserClient().

std::vector<int> EBLaserClient::superModules_ [private]

Definition at line 88 of file EBLaserClient.h.

Referenced by analyze(), cleanup(), EBLaserClient(), and setup().

bool EBLaserClient::verbose_ [private]

Definition at line 81 of file EBLaserClient.h.

Referenced by EBLaserClient().