CMS 3D CMS Logo

Public Member Functions | Protected Member Functions | Private Attributes

EETestPulseTask Class Reference

#include <EETestPulseTask.h>

Inheritance diagram for EETestPulseTask:
edm::EDAnalyzer

List of all members.

Public Member Functions

 EETestPulseTask (const edm::ParameterSet &ps)
 Constructor.
virtual ~EETestPulseTask ()
 Destructor.

Protected Member Functions

void analyze (const edm::Event &e, const edm::EventSetup &c)
 Analyze.
void beginJob (void)
 BeginJob.
void beginRun (const edm::Run &r, const edm::EventSetup &c)
 BeginRun.
void cleanup (void)
 Cleanup.
void endJob (void)
 EndJob.
void endRun (const edm::Run &r, const edm::EventSetup &c)
 EndRun.
void reset (void)
 Reset.
void setup (void)
 Setup.

Private Attributes

float amplitudeThreshold_
DQMStoredqmStore_
edm::InputTag EcalPnDiodeDigiCollection_
edm::InputTag EcalRawDataCollection_
edm::InputTag EcalUncalibratedRecHitCollection_
edm::InputTag EEDigiCollection_
bool enableCleanup_
int ievt_
bool init_
MonitorElementmeAmplMapG01_ [18]
MonitorElementmeAmplMapG06_ [18]
MonitorElementmeAmplMapG12_ [18]
MonitorElementmePnAmplMapG01_ [18]
MonitorElementmePnAmplMapG16_ [18]
MonitorElementmePnPedMapG01_ [18]
MonitorElementmePnPedMapG16_ [18]
bool mergeRuns_
MonitorElementmeShapeMapG01_ [18]
MonitorElementmeShapeMapG06_ [18]
MonitorElementmeShapeMapG12_ [18]
std::vector< int > MGPAGains_
std::vector< int > MGPAGainsPN_
std::string prefixME_

Detailed Description

Definition at line 20 of file EETestPulseTask.h.


Constructor & Destructor Documentation

EETestPulseTask::EETestPulseTask ( const edm::ParameterSet ps)

Constructor.

Definition at line 33 of file EETestPulseTask.cc.

References dqmStore_, EcalPnDiodeDigiCollection_, EcalRawDataCollection_, EcalUncalibratedRecHitCollection_, EEDigiCollection_, enableCleanup_, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), i, init_, meAmplMapG01_, meAmplMapG06_, meAmplMapG12_, mePnAmplMapG01_, mePnAmplMapG16_, mePnPedMapG01_, mePnPedMapG16_, mergeRuns_, meShapeMapG01_, meShapeMapG06_, meShapeMapG12_, MGPAGains_, MGPAGainsPN_, cppFunctionSkipper::operator, prefixME_, and AlCaHLTBitMon_QueryRunRegistry::string.

                                                         {

  init_ = false;

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

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

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

  mergeRuns_ = ps.getUntrackedParameter<bool>("mergeRuns", false);

  EcalRawDataCollection_ = ps.getParameter<edm::InputTag>("EcalRawDataCollection");
  EEDigiCollection_ = ps.getParameter<edm::InputTag>("EEDigiCollection");
  EcalPnDiodeDigiCollection_ = ps.getParameter<edm::InputTag>("EcalPnDiodeDigiCollection");
  EcalUncalibratedRecHitCollection_ = ps.getParameter<edm::InputTag>("EcalUncalibratedRecHitCollection");

  MGPAGains_.reserve(3);
  for ( unsigned int i = 1; i <= 3; i++ ) MGPAGains_.push_back(i);
  MGPAGains_ = ps.getUntrackedParameter<std::vector<int> >("MGPAGains", MGPAGains_);

  MGPAGainsPN_.reserve(2);
  for ( unsigned int i = 1; i <= 3; i++ ) MGPAGainsPN_.push_back(i);
  MGPAGainsPN_ = ps.getUntrackedParameter<std::vector<int> >("MGPAGainsPN", MGPAGainsPN_);

  for (int i = 0; i < 18; i++) {
    meShapeMapG01_[i] = 0;
    meAmplMapG01_[i] = 0;
    meShapeMapG06_[i] = 0;
    meAmplMapG06_[i] = 0;
    meShapeMapG12_[i] = 0;
    meAmplMapG12_[i] = 0;
    mePnAmplMapG01_[i] = 0;
    mePnPedMapG01_[i] = 0;
    mePnAmplMapG16_[i] = 0;
    mePnPedMapG16_[i] = 0;
  }

}
EETestPulseTask::~EETestPulseTask ( ) [virtual]

Destructor.

Definition at line 73 of file EETestPulseTask.cc.

                                 {

}

Member Function Documentation

void EETestPulseTask::analyze ( const edm::Event e,
const edm::EventSetup c 
) [protected, virtual]

Analyze.

Implements edm::EDAnalyzer.

Definition at line 350 of file EETestPulseTask.cc.

References ecalMGPA::adc(), EcalMGPASample::adc(), EcalEndcap, EcalPnDiodeDigiCollection_, EcalRawDataCollection_, EcalUncalibratedRecHitCollection_, EEDigiCollection_, MonitorElement::Fill(), edm::Event::getByLabel(), i, Numbers::icEE(), ievt_, init_, Numbers::iSM(), ecalpyutils::ism(), EEDetId::ix(), LogDebug, meAmplMapG01_, meAmplMapG06_, meAmplMapG12_, mePnAmplMapG01_, mePnAmplMapG16_, mePnPedMapG01_, mePnPedMapG16_, meShapeMapG01_, meShapeMapG06_, meShapeMapG12_, environment_file_cff::runType, EcalDataFrame::sample(), setup(), Numbers::subDet(), EcalDCCHeaderBlock::TESTPULSE_GAP, and EcalDCCHeaderBlock::TESTPULSE_MGPA.

                                                                      {

  bool enable = false;
  int runType[18];
  for (int i=0; i<18; i++) runType[i] = -1;
  int mgpaGain[18];
  for (int i=0; i<18; i++) mgpaGain[i] = -1;

  edm::Handle<EcalRawDataCollection> dcchs;

  if ( e.getByLabel(EcalRawDataCollection_, dcchs) ) {

    for ( EcalRawDataCollection::const_iterator dcchItr = dcchs->begin(); dcchItr != dcchs->end(); ++dcchItr ) {

      if ( Numbers::subDet( *dcchItr ) != EcalEndcap ) continue;

      int ism = Numbers::iSM( *dcchItr, EcalEndcap );

      runType[ism-1] = dcchItr->getRunType();
      mgpaGain[ism-1] = dcchItr->getMgpaGain();

      if ( dcchItr->getRunType() == EcalDCCHeaderBlock::TESTPULSE_MGPA ||
           dcchItr->getRunType() == EcalDCCHeaderBlock::TESTPULSE_GAP ) enable = true;

    }

  } else {

    edm::LogWarning("EETestPulseTask") << EcalRawDataCollection_ << " not available";

  }

  if ( ! enable ) return;

  if ( ! init_ ) this->setup();

  ievt_++;

  edm::Handle<EEDigiCollection> digis;

  if ( e.getByLabel(EEDigiCollection_, digis) ) {

    int need = digis->size();
    LogDebug("EETestPulseTask") << "event " << ievt_ << " digi collection size " << need;

    for ( EEDigiCollection::const_iterator digiItr = digis->begin(); digiItr != digis->end(); ++digiItr ) {

      EEDetId id = digiItr->id();

      int ix = id.ix();
      int iy = id.iy();

      int ism = Numbers::iSM( id );

      if ( ! ( runType[ism-1] == EcalDCCHeaderBlock::TESTPULSE_MGPA ||
               runType[ism-1] == EcalDCCHeaderBlock::TESTPULSE_GAP ) ) continue;

      int ic = Numbers::icEE(ism, ix, iy);

      EEDataFrame dataframe = (*digiItr);

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

        int adc = dataframe.sample(i).adc();

        MonitorElement* meShapeMap = 0;

        if ( mgpaGain[ism-1] == 3 ) meShapeMap = meShapeMapG01_[ism-1];
        if ( mgpaGain[ism-1] == 2 ) meShapeMap = meShapeMapG06_[ism-1];
        if ( mgpaGain[ism-1] == 1 ) meShapeMap = meShapeMapG12_[ism-1];

        float xval = float(adc);

        if ( meShapeMap ) meShapeMap->Fill(ic - 0.5, i + 0.5, xval);

      }

    }

  } else {

    edm::LogWarning("EETestPulseTask") << EEDigiCollection_ << " not available";

  }

  edm::Handle<EcalUncalibratedRecHitCollection> hits;

  if ( e.getByLabel(EcalUncalibratedRecHitCollection_, hits) ) {

    int neh = hits->size();
    LogDebug("EETestPulseTask") << "event " << ievt_ << " hits collection size " << neh;

    for ( EcalUncalibratedRecHitCollection::const_iterator hitItr = hits->begin(); hitItr != hits->end(); ++hitItr ) {

      EEDetId id = hitItr->id();

      int ix = id.ix();
      int iy = id.iy();

      int ism = Numbers::iSM( id );

      if ( ism >= 1 && ism <= 9 ) ix = 101 - ix;

      float xix = ix - 0.5;
      float xiy = iy - 0.5;

      if ( ! ( runType[ism-1] == EcalDCCHeaderBlock::TESTPULSE_MGPA ||
               runType[ism-1] == EcalDCCHeaderBlock::TESTPULSE_GAP ) ) continue;

      MonitorElement* meAmplMap = 0;

      if ( mgpaGain[ism-1] == 3 ) meAmplMap = meAmplMapG01_[ism-1];
      if ( mgpaGain[ism-1] == 2 ) meAmplMap = meAmplMapG06_[ism-1];
      if ( mgpaGain[ism-1] == 1 ) meAmplMap = meAmplMapG12_[ism-1];

      float xval = hitItr->amplitude();
      if ( xval <= 0. ) xval = 0.0;

//      if ( mgpaGain[ism-1] == 3 ) xval = xval * 1./12.;
//      if ( mgpaGain[ism-1] == 2 ) xval = xval * 1./ 2.;
//      if ( mgpaGain[ism-1] == 1 ) xval = xval * 1./ 1.;

      if ( meAmplMap ) meAmplMap->Fill(xix, xiy, xval);

    }

  } else {

    edm::LogWarning("EETestPulseTask") << EcalUncalibratedRecHitCollection_ << " not available";

  }

  edm::Handle<EcalPnDiodeDigiCollection> pns;

  if ( e.getByLabel(EcalPnDiodeDigiCollection_, pns) ) {

    int nep = pns->size();
    LogDebug("EETestPulseTask") << "event " << ievt_ << " pns collection size " << nep;

    for ( EcalPnDiodeDigiCollection::const_iterator pnItr = pns->begin(); pnItr != pns->end(); ++pnItr ) {

      if ( Numbers::subDet( pnItr->id() ) != EcalEndcap ) continue;

      int ism = Numbers::iSM( pnItr->id() );

      int num = pnItr->id().iPnId();

      if ( ! ( runType[ism-1] == EcalDCCHeaderBlock::TESTPULSE_MGPA ||
               runType[ism-1] == EcalDCCHeaderBlock::TESTPULSE_GAP ) ) continue;

      float xvalped = 0.;

      for (int i = 0; i < 4; i++) {

        int adc = pnItr->sample(i).adc();

        MonitorElement* mePNPed = 0;

        if ( pnItr->sample(i).gainId() == 0 ) mePNPed = mePnPedMapG01_[ism-1];
        if ( pnItr->sample(i).gainId() == 1 ) mePNPed = mePnPedMapG16_[ism-1];

        float xval = float(adc);

        if ( mePNPed ) mePNPed->Fill(num - 0.5, xval);

        xvalped = xvalped + xval;

      }

      xvalped = xvalped / 4;

      float xvalmax = 0.;

      MonitorElement* mePN = 0;

      for (int i = 0; i < 50; i++) {

        int adc = pnItr->sample(i).adc();

        float xval = float(adc);

        if ( xval >= xvalmax ) xvalmax = xval;

      }

      xvalmax = xvalmax - xvalped;

      if ( pnItr->sample(0).gainId() == 0 ) mePN = mePnAmplMapG01_[ism-1];
      if ( pnItr->sample(0).gainId() == 1 ) mePN = mePnAmplMapG16_[ism-1];

      if ( mePN ) mePN->Fill(num - 0.5, xvalmax);

    }

  } else {

    edm::LogWarning("EETestPulseTask") << EcalPnDiodeDigiCollection_ << " not available";

  }

}
void EETestPulseTask::beginJob ( void  ) [protected, virtual]

BeginJob.

Reimplemented from edm::EDAnalyzer.

Definition at line 77 of file EETestPulseTask.cc.

References dqmStore_, ievt_, prefixME_, DQMStore::rmdir(), and DQMStore::setCurrentFolder().

                                  {

  ievt_ = 0;

  if ( dqmStore_ ) {
    dqmStore_->setCurrentFolder(prefixME_ + "/EETestPulseTask");
    dqmStore_->rmdir(prefixME_ + "/EETestPulseTask");
  }

}
void EETestPulseTask::beginRun ( const edm::Run r,
const edm::EventSetup c 
) [protected, virtual]

BeginRun.

Reimplemented from edm::EDAnalyzer.

Definition at line 88 of file EETestPulseTask.cc.

References Numbers::initGeometry(), mergeRuns_, and reset().

                                                                      {

  Numbers::initGeometry(c, false);

  if ( ! mergeRuns_ ) this->reset();

}
void EETestPulseTask::cleanup ( void  ) [protected]

Cleanup.

Definition at line 267 of file EETestPulseTask.cc.

References dqmStore_, spr::find(), i, init_, meAmplMapG01_, meAmplMapG06_, meAmplMapG12_, mePnAmplMapG01_, mePnAmplMapG16_, mePnPedMapG01_, mePnPedMapG16_, meShapeMapG01_, meShapeMapG06_, meShapeMapG12_, MGPAGains_, MGPAGainsPN_, prefixME_, DQMStore::removeElement(), and DQMStore::setCurrentFolder().

Referenced by endJob().

                                 {

  if ( ! init_ ) return;

  if ( dqmStore_ ) {
    dqmStore_->setCurrentFolder(prefixME_ + "/EETestPulseTask");

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

      dqmStore_->setCurrentFolder(prefixME_ + "/EETestPulseTask/Gain01");
      for (int i = 0; i < 18; i++) {
        if ( meShapeMapG01_[i] ) dqmStore_->removeElement( meShapeMapG01_[i]->getName() );
        meShapeMapG01_[i] = 0;
        if ( meAmplMapG01_[i] ) dqmStore_->removeElement( meAmplMapG01_[i]->getName() );
        meAmplMapG01_[i] = 0;
      }

    }

    if (find(MGPAGains_.begin(), MGPAGains_.end(), 6) != MGPAGains_.end() ) {

      dqmStore_->setCurrentFolder(prefixME_ + "/EETestPulseTask/Gain06");
      for (int i = 0; i < 18; i++) {
        if ( meShapeMapG06_[i] ) dqmStore_->removeElement( meShapeMapG06_[i]->getName() );
        meShapeMapG06_[i] = 0;
        if ( meAmplMapG06_[i] ) dqmStore_->removeElement( meAmplMapG06_[i]->getName() );
        meAmplMapG06_[i] = 0;
      }

    }

    if (find(MGPAGains_.begin(), MGPAGains_.end(), 12) != MGPAGains_.end() ) {

      dqmStore_->setCurrentFolder(prefixME_ + "/EETestPulseTask/Gain12");
      for (int i = 0; i < 18; i++) {
        if ( meShapeMapG12_[i] ) dqmStore_->removeElement( meShapeMapG12_[i]->getName() );
        meShapeMapG12_[i] = 0;
        if ( meAmplMapG12_[i] ) dqmStore_->removeElement( meAmplMapG12_[i]->getName() );
        meAmplMapG12_[i] = 0;
      }

    }

    dqmStore_->setCurrentFolder(prefixME_ + "/EETestPulseTask/PN");

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

      dqmStore_->setCurrentFolder(prefixME_ + "/EETestPulseTask/PN/Gain01");
      for (int i = 0; i < 18; i++) {
        if ( mePnAmplMapG01_[i] ) dqmStore_->removeElement( mePnAmplMapG01_[i]->getName() );
        mePnAmplMapG01_[i] = 0;
        if ( mePnPedMapG01_[i] ) dqmStore_->removeElement( mePnPedMapG01_[i]->getName() );
        mePnPedMapG01_[i] = 0;
      }

    }

    if (find(MGPAGainsPN_.begin(), MGPAGainsPN_.end(), 16) != MGPAGainsPN_.end() ) {

      dqmStore_->setCurrentFolder(prefixME_ + "/EETestPulseTask/PN/Gain16");
      for (int i = 0; i < 18; i++) {
        if ( mePnAmplMapG16_[i] ) dqmStore_->removeElement( mePnAmplMapG16_[i]->getName() );
        mePnAmplMapG16_[i] = 0;
        if ( mePnPedMapG16_[i] ) dqmStore_->removeElement( mePnPedMapG16_[i]->getName() );
        mePnPedMapG16_[i] = 0;
      }

    }

  }

  init_ = false;

}
void EETestPulseTask::endJob ( void  ) [protected, virtual]

EndJob.

Reimplemented from edm::EDAnalyzer.

Definition at line 342 of file EETestPulseTask.cc.

References cleanup(), enableCleanup_, and ievt_.

                                {

  edm::LogInfo("EETestPulseTask") << "analyzed " << ievt_ << " events";

  if ( enableCleanup_ ) this->cleanup();

}
void EETestPulseTask::endRun ( const edm::Run r,
const edm::EventSetup c 
) [protected, virtual]

EndRun.

Reimplemented from edm::EDAnalyzer.

Definition at line 96 of file EETestPulseTask.cc.

                                                                    {

}
void EETestPulseTask::reset ( void  ) [protected]

Reset.

Definition at line 100 of file EETestPulseTask.cc.

References spr::find(), i, meAmplMapG01_, meAmplMapG06_, meAmplMapG12_, mePnAmplMapG01_, mePnAmplMapG16_, mePnPedMapG01_, mePnPedMapG16_, meShapeMapG01_, meShapeMapG06_, meShapeMapG12_, MGPAGains_, MGPAGainsPN_, and MonitorElement::Reset().

Referenced by beginRun().

                                {

  for (int i = 0; i < 18; i++) {
    if (find(MGPAGains_.begin(), MGPAGains_.end(), 1) != MGPAGains_.end() ) {
      if ( meShapeMapG01_[i] ) meShapeMapG01_[i]->Reset();
      if ( meAmplMapG01_[i] ) meAmplMapG01_[i]->Reset();
    }
    if (find(MGPAGains_.begin(), MGPAGains_.end(), 6) != MGPAGains_.end() ) {
      if ( meShapeMapG06_[i] ) meShapeMapG06_[i]->Reset();
      if ( meAmplMapG06_[i] ) meAmplMapG06_[i]->Reset();
    }
    if (find(MGPAGains_.begin(), MGPAGains_.end(), 12) != MGPAGains_.end() ) {
      if ( meShapeMapG12_[i] ) meShapeMapG12_[i]->Reset();
      if ( meAmplMapG12_[i] ) meAmplMapG12_[i]->Reset();
    }
    if (find(MGPAGainsPN_.begin(), MGPAGainsPN_.end(), 1) != MGPAGainsPN_.end() ) {
      if ( mePnAmplMapG01_[i] ) mePnAmplMapG01_[i]->Reset();
      if ( mePnPedMapG01_[i] ) mePnPedMapG01_[i]->Reset();
    }
    if (find(MGPAGainsPN_.begin(), MGPAGainsPN_.end(), 16) != MGPAGainsPN_.end() ) {
      if ( mePnAmplMapG16_[i] ) mePnAmplMapG16_[i]->Reset();
      if ( mePnPedMapG16_[i] ) mePnPedMapG16_[i]->Reset();
    }
  }

}
void EETestPulseTask::setup ( void  ) [protected]

Setup.

Definition at line 127 of file EETestPulseTask.cc.

References DQMStore::bookProfile(), DQMStore::bookProfile2D(), dqmStore_, spr::find(), i, init_, Numbers::ix0EE(), Numbers::iy0EE(), meAmplMapG01_, meAmplMapG06_, meAmplMapG12_, mePnAmplMapG01_, mePnAmplMapG16_, mePnPedMapG01_, mePnPedMapG16_, meShapeMapG01_, meShapeMapG06_, meShapeMapG12_, MGPAGains_, MGPAGainsPN_, mergeVDriftHistosByStation::name, prefixME_, Numbers::sEE(), MonitorElement::setAxisTitle(), DQMStore::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, and DQMStore::tag().

Referenced by analyze().

                               {

  init_ = true;

  std::string name;
  std::stringstream GainN, GN;

  if ( dqmStore_ ) {
    dqmStore_->setCurrentFolder(prefixME_ + "/EETestPulseTask");

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

      GainN.str("");
      GainN << "Gain" << std::setw(2) << std::setfill('0') << 1;
      GN.str("");
      GN << "G" << std::setw(2) << std::setfill('0') << 1;

      dqmStore_->setCurrentFolder(prefixME_ + "/EETestPulseTask/" + GainN.str());
      for (int i = 0; i < 18; i++) {
        name = "EETPT shape " + Numbers::sEE(i+1) + " " + GN.str();
        meShapeMapG01_[i] = dqmStore_->bookProfile2D(name, name, 850, 0., 850., 10, 0., 10., 4096, 0., 4096., "s");
        meShapeMapG01_[i]->setAxisTitle("channel", 1);
        meShapeMapG01_[i]->setAxisTitle("sample", 2);
        meShapeMapG01_[i]->setAxisTitle("amplitude", 3);
        dqmStore_->tag(meShapeMapG01_[i], i+1);

        name = "EETPT amplitude " + Numbers::sEE(i+1) + " " + GN.str();
        meAmplMapG01_[i] = dqmStore_->bookProfile2D(name, name, 50, Numbers::ix0EE(i+1)+0., Numbers::ix0EE(i+1)+50., 50, Numbers::iy0EE(i+1)+0., Numbers::iy0EE(i+1)+50., 4096, 0., 4096.*12., "s");
        meAmplMapG01_[i]->setAxisTitle("ix", 1);
        if ( i+1 >= 1 && i+1 <= 9 ) meAmplMapG01_[i]->setAxisTitle("101-ix", 1);
        meAmplMapG01_[i]->setAxisTitle("iy", 2);
        dqmStore_->tag(meAmplMapG01_[i], i+1);
      }

    }

    if (find(MGPAGains_.begin(), MGPAGains_.end(), 6) != MGPAGains_.end() ) {

      GainN.str("");
      GainN << "Gain" << std::setw(2) << std::setfill('0') << 6;
      GN.str("");
      GN << "G" << std::setw(2) << std::setfill('0') << 6;

      dqmStore_->setCurrentFolder(prefixME_ + "/EETestPulseTask/" + GainN.str());
      for (int i = 0; i < 18; i++) {
        name = "EETPT shape " + Numbers::sEE(i+1) + " " + GN.str();
        meShapeMapG06_[i] = dqmStore_->bookProfile2D(name, name, 850, 0., 850., 10, 0., 10., 4096, 0., 4096., "s");
        meShapeMapG06_[i]->setAxisTitle("channel", 1);
        meShapeMapG06_[i]->setAxisTitle("sample", 2);
        meShapeMapG06_[i]->setAxisTitle("amplitude", 3);
        dqmStore_->tag(meShapeMapG06_[i], i+1);

        name = "EETPT amplitude " + Numbers::sEE(i+1) + " " + GN.str();
        meAmplMapG06_[i] = dqmStore_->bookProfile2D(name, name, 50, Numbers::ix0EE(i+1)+0., Numbers::ix0EE(i+1)+50., 50, Numbers::iy0EE(i+1)+0., Numbers::iy0EE(i+1)+50., 4096, 0., 4096.*12., "s");
        meAmplMapG06_[i]->setAxisTitle("ix", 1);
        if ( i+1 >= 1 && i+1 <= 9 ) meAmplMapG06_[i]->setAxisTitle("101-ix", 1);
        meAmplMapG06_[i]->setAxisTitle("iy", 2);
        dqmStore_->tag(meAmplMapG06_[i], i+1);
      }

    }

    if (find(MGPAGains_.begin(), MGPAGains_.end(), 12) != MGPAGains_.end() ) {

      GainN.str("");
      GainN << "Gain" << std::setw(2) << std::setfill('0') << 12;
      GN.str("");
      GN << "G" << std::setw(2) << std::setfill('0') << 12;

      dqmStore_->setCurrentFolder(prefixME_ + "/EETestPulseTask/" + GainN.str());
      for (int i = 0; i < 18; i++) {
        name = "EETPT shape " + Numbers::sEE(i+1) + " " + GN.str();
        meShapeMapG12_[i] = dqmStore_->bookProfile2D(name, name, 850, 0., 850., 10, 0., 10., 4096, 0., 4096., "s");
        meShapeMapG12_[i]->setAxisTitle("channel", 1);
        meShapeMapG12_[i]->setAxisTitle("sample", 2);
        meShapeMapG12_[i]->setAxisTitle("amplitude", 3);
        dqmStore_->tag(meShapeMapG12_[i], i+1);

        name = "EETPT amplitude " + Numbers::sEE(i+1) + " " + GN.str();
        meAmplMapG12_[i] = dqmStore_->bookProfile2D(name, name, 50, Numbers::ix0EE(i+1)+0., Numbers::ix0EE(i+1)+50., 50, Numbers::iy0EE(i+1)+0., Numbers::iy0EE(i+1)+50., 4096, 0., 4096.*12., "s");
        meAmplMapG12_[i]->setAxisTitle("ix", 1);
        if ( i+1 >= 1 && i+1 <= 9 ) meAmplMapG12_[i]->setAxisTitle("101-ix", 1);
        meAmplMapG12_[i]->setAxisTitle("iy", 2);
        dqmStore_->tag(meAmplMapG12_[i], i+1);
      }

    }

    dqmStore_->setCurrentFolder(prefixME_ + "/EETestPulseTask/PN");

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

      GainN.str("");
      GainN << "Gain" << std::setw(2) << std::setfill('0') << 1;
      GN.str("");
      GN << "G" << std::setw(2) << std::setfill('0') << 1;

      dqmStore_->setCurrentFolder(prefixME_ + "/EETestPulseTask/PN/" + GainN.str());
      for (int i = 0; i < 18; i++) {
        name = "EETPT PNs amplitude " + Numbers::sEE(i+1) + " " + GN.str();
        mePnAmplMapG01_[i] = dqmStore_->bookProfile(name, name, 10, 0., 10., 4096, 0., 4096., "s");
        mePnAmplMapG01_[i]->setAxisTitle("channel", 1);
        mePnAmplMapG01_[i]->setAxisTitle("amplitude", 2);
        dqmStore_->tag(mePnAmplMapG01_[i], i+1);
        name = "EETPT PNs pedestal " + Numbers::sEE(i+1) + " " + GN.str();
        mePnPedMapG01_[i] =  dqmStore_->bookProfile(name, name, 10, 0., 10., 4096, 0., 4096., "s");
        mePnPedMapG01_[i]->setAxisTitle("channel", 1);
        mePnPedMapG01_[i]->setAxisTitle("pedestal", 2);
        dqmStore_->tag(mePnPedMapG01_[i], i+1);
      }

    }

    if (find(MGPAGainsPN_.begin(), MGPAGainsPN_.end(), 16) != MGPAGainsPN_.end() ) {

      GainN.str("");
      GainN << "Gain" << std::setw(2) << std::setfill('0') << 16;
      GN.str("");
      GN << "G" << std::setw(2) << std::setfill('0') << 16;

      dqmStore_->setCurrentFolder(prefixME_ + "/EETestPulseTask/PN/" + GainN.str());
      for (int i = 0; i < 18; i++) {
        name = "EETPT PNs amplitude " + Numbers::sEE(i+1) + " " + GN.str();
        mePnAmplMapG16_[i] = dqmStore_->bookProfile(name, name, 10, 0., 10., 4096, 0., 4096., "s");
        mePnAmplMapG16_[i]->setAxisTitle("channel", 1);
        mePnAmplMapG16_[i]->setAxisTitle("amplitude", 2);
        dqmStore_->tag(mePnAmplMapG16_[i], i+1);
        name = "EETPT PNs pedestal " + Numbers::sEE(i+1) + " " + GN.str();
        mePnPedMapG16_[i] =  dqmStore_->bookProfile(name, name, 10, 0., 10., 4096, 0., 4096., "s");
        mePnPedMapG16_[i]->setAxisTitle("channel", 1);
        mePnPedMapG16_[i]->setAxisTitle("pedestal", 2);
        dqmStore_->tag(mePnPedMapG16_[i], i+1);
      }

    }

  }

}

Member Data Documentation

Definition at line 91 of file EETestPulseTask.h.

Definition at line 60 of file EETestPulseTask.h.

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

Definition at line 70 of file EETestPulseTask.h.

Referenced by analyze(), and EETestPulseTask().

Definition at line 68 of file EETestPulseTask.h.

Referenced by analyze(), and EETestPulseTask().

Definition at line 71 of file EETestPulseTask.h.

Referenced by analyze(), and EETestPulseTask().

Definition at line 69 of file EETestPulseTask.h.

Referenced by analyze(), and EETestPulseTask().

Definition at line 64 of file EETestPulseTask.h.

Referenced by EETestPulseTask(), and endJob().

int EETestPulseTask::ievt_ [private]

Definition at line 58 of file EETestPulseTask.h.

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

bool EETestPulseTask::init_ [private]

Definition at line 93 of file EETestPulseTask.h.

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

Definition at line 79 of file EETestPulseTask.h.

Referenced by analyze(), cleanup(), EETestPulseTask(), reset(), and setup().

Definition at line 80 of file EETestPulseTask.h.

Referenced by analyze(), cleanup(), EETestPulseTask(), reset(), and setup().

Definition at line 81 of file EETestPulseTask.h.

Referenced by analyze(), cleanup(), EETestPulseTask(), reset(), and setup().

Definition at line 83 of file EETestPulseTask.h.

Referenced by analyze(), cleanup(), EETestPulseTask(), reset(), and setup().

Definition at line 84 of file EETestPulseTask.h.

Referenced by analyze(), cleanup(), EETestPulseTask(), reset(), and setup().

Definition at line 86 of file EETestPulseTask.h.

Referenced by analyze(), cleanup(), EETestPulseTask(), reset(), and setup().

Definition at line 87 of file EETestPulseTask.h.

Referenced by analyze(), cleanup(), EETestPulseTask(), reset(), and setup().

Definition at line 66 of file EETestPulseTask.h.

Referenced by beginRun(), and EETestPulseTask().

Definition at line 75 of file EETestPulseTask.h.

Referenced by analyze(), cleanup(), EETestPulseTask(), reset(), and setup().

Definition at line 76 of file EETestPulseTask.h.

Referenced by analyze(), cleanup(), EETestPulseTask(), reset(), and setup().

Definition at line 77 of file EETestPulseTask.h.

Referenced by analyze(), cleanup(), EETestPulseTask(), reset(), and setup().

std::vector<int> EETestPulseTask::MGPAGains_ [private]

Definition at line 72 of file EETestPulseTask.h.

Referenced by cleanup(), EETestPulseTask(), reset(), and setup().

std::vector<int> EETestPulseTask::MGPAGainsPN_ [private]

Definition at line 73 of file EETestPulseTask.h.

Referenced by cleanup(), EETestPulseTask(), reset(), and setup().

std::string EETestPulseTask::prefixME_ [private]

Definition at line 62 of file EETestPulseTask.h.

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