CMS 3D CMS Logo

Public Member Functions | Protected Member Functions | Private Types | Private Attributes

EEOccupancyTask Class Reference

#include <EEOccupancyTask.h>

Inheritance diagram for EEOccupancyTask:
edm::EDAnalyzer

List of all members.

Public Member Functions

 EEOccupancyTask (const edm::ParameterSet &ps)
 Constructor.
virtual ~EEOccupancyTask ()
 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 Types

enum  runClassification {
  notdata, physics, testpulse, laser,
  led, pedestal
}

Private Attributes

DQMStoredqmStore_
edm::InputTag EcalPnDiodeDigiCollection_
edm::InputTag EcalRawDataCollection_
edm::InputTag EcalRecHitCollection_
edm::InputTag EcalTrigPrimDigiCollection_
edm::InputTag EEDigiCollection_
bool enableCleanup_
float geometryEE [EEDetId::kSizeForDenseIndexing][2]
int ievt_
bool init_
bool initCaloGeometry_
MonitorElementmeEEDigiOccupancy_ [2]
MonitorElementmeEEDigiOccupancyProEta_ [2]
MonitorElementmeEEDigiOccupancyProPhi_ [2]
MonitorElementmeEELaserDigiOccupancy_ [2]
MonitorElementmeEELedDigiOccupancy_ [2]
MonitorElementmeEEPedestalDigiOccupancy_ [2]
MonitorElementmeEERecHitEnergy_ [18]
MonitorElementmeEERecHitOccupancy_ [2]
MonitorElementmeEERecHitOccupancyProEta_ [2]
MonitorElementmeEERecHitOccupancyProEtaThr_ [2]
MonitorElementmeEERecHitOccupancyProPhi_ [2]
MonitorElementmeEERecHitOccupancyProPhiThr_ [2]
MonitorElementmeEERecHitOccupancyThr_ [2]
MonitorElementmeEERecHitSpectrum_ [2]
MonitorElementmeEETestPulseDigiOccupancy_ [2]
MonitorElementmeEETrigPrimDigiOccupancy_ [2]
MonitorElementmeEETrigPrimDigiOccupancyProEta_ [2]
MonitorElementmeEETrigPrimDigiOccupancyProEtaThr_ [2]
MonitorElementmeEETrigPrimDigiOccupancyProPhi_ [2]
MonitorElementmeEETrigPrimDigiOccupancyProPhiThr_ [2]
MonitorElementmeEETrigPrimDigiOccupancyThr_ [2]
MonitorElementmeEvent_ [18]
MonitorElementmeOccupancy_ [18]
MonitorElementmeOccupancyMem_ [18]
bool mergeRuns_
MonitorElementmeSpectrum_ [18]
edm::ESHandle< CaloGeometrypGeometry_
std::string prefixME_
float recHitEnergyMin_
float trigPrimEtMin_

Detailed Description

Definition at line 28 of file EEOccupancyTask.h.


Member Enumeration Documentation

Enumerator:
notdata 
physics 
testpulse 
laser 
led 
pedestal 

Definition at line 82 of file EEOccupancyTask.h.


Constructor & Destructor Documentation

EEOccupancyTask::EEOccupancyTask ( const edm::ParameterSet ps)

Constructor.

Definition at line 39 of file EEOccupancyTask.cc.

References dqmStore_, EcalPnDiodeDigiCollection_, EcalRawDataCollection_, EcalRecHitCollection_, EcalTrigPrimDigiCollection_, EEDigiCollection_, enableCleanup_, geometryEE, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), i, init_, initCaloGeometry_, EEDetId::kSizeForDenseIndexing, meEEDigiOccupancy_, meEEDigiOccupancyProEta_, meEEDigiOccupancyProPhi_, meEELaserDigiOccupancy_, meEELedDigiOccupancy_, meEEPedestalDigiOccupancy_, meEERecHitEnergy_, meEERecHitOccupancy_, meEERecHitOccupancyProEta_, meEERecHitOccupancyProEtaThr_, meEERecHitOccupancyProPhi_, meEERecHitOccupancyProPhiThr_, meEERecHitOccupancyThr_, meEERecHitSpectrum_, meEETestPulseDigiOccupancy_, meEETrigPrimDigiOccupancy_, meEETrigPrimDigiOccupancyProEta_, meEETrigPrimDigiOccupancyProEtaThr_, meEETrigPrimDigiOccupancyProPhi_, meEETrigPrimDigiOccupancyProPhiThr_, meEETrigPrimDigiOccupancyThr_, meOccupancy_, meOccupancyMem_, mergeRuns_, meSpectrum_, cmsCodeRules::cppFunctionSkipper::operator, prefixME_, recHitEnergyMin_, and trigPrimEtMin_.

                                                         {

  init_ = false;

  initCaloGeometry_ = 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");
  EcalRecHitCollection_ = ps.getParameter<edm::InputTag>("EcalRecHitCollection");
  EcalTrigPrimDigiCollection_ = ps.getParameter<edm::InputTag>("EcalTrigPrimDigiCollection");

  for (int i = 0; i < 18; i++) {
    meOccupancy_[i]    = 0;
    meOccupancyMem_[i] = 0;
    meEERecHitEnergy_[i] = 0;
    meSpectrum_[i] = 0;
  }

  meEERecHitSpectrum_[0] = 0;
  meEERecHitSpectrum_[1] = 0;

  meEEDigiOccupancy_[0] = 0;
  meEEDigiOccupancyProEta_[0] = 0;
  meEEDigiOccupancyProPhi_[0] = 0;
  meEEDigiOccupancy_[1] = 0;
  meEEDigiOccupancyProEta_[1] = 0;
  meEEDigiOccupancyProPhi_[1] = 0;

  meEERecHitOccupancy_[0] = 0;
  meEERecHitOccupancyProEta_[0] = 0;
  meEERecHitOccupancyProPhi_[0] = 0;
  meEERecHitOccupancy_[1] = 0;
  meEERecHitOccupancyProEta_[1] = 0;
  meEERecHitOccupancyProPhi_[1] = 0;

  meEERecHitOccupancyThr_[0] = 0;
  meEERecHitOccupancyProEtaThr_[0] = 0;
  meEERecHitOccupancyProPhiThr_[0] = 0;
  meEERecHitOccupancyThr_[1] = 0;
  meEERecHitOccupancyProEtaThr_[1] = 0;
  meEERecHitOccupancyProPhiThr_[1] = 0;

  meEETrigPrimDigiOccupancy_[0] = 0;
  meEETrigPrimDigiOccupancyProEta_[0] = 0;
  meEETrigPrimDigiOccupancyProPhi_[0] = 0;
  meEETrigPrimDigiOccupancy_[1] = 0;
  meEETrigPrimDigiOccupancyProEta_[1] = 0;
  meEETrigPrimDigiOccupancyProPhi_[1] = 0;

  meEETrigPrimDigiOccupancyThr_[0] = 0;
  meEETrigPrimDigiOccupancyProEtaThr_[0] = 0;
  meEETrigPrimDigiOccupancyProPhiThr_[0] = 0;
  meEETrigPrimDigiOccupancyThr_[1] = 0;
  meEETrigPrimDigiOccupancyProEtaThr_[1] = 0;
  meEETrigPrimDigiOccupancyProPhiThr_[1] = 0;

  meEETestPulseDigiOccupancy_[0] = 0;
  meEETestPulseDigiOccupancy_[1] = 0;

  meEELaserDigiOccupancy_[0] = 0;
  meEELaserDigiOccupancy_[1] = 0;

  meEELedDigiOccupancy_[0] = 0;
  meEELedDigiOccupancy_[1] = 0;

  meEEPedestalDigiOccupancy_[0] = 0;
  meEEPedestalDigiOccupancy_[1] = 0;

  recHitEnergyMin_ = 0.500; // GeV
  trigPrimEtMin_ = 4.; // 4 ADCs == 1 GeV

  for (int i = 0; i < EEDetId::kSizeForDenseIndexing; i++) {
    geometryEE[i][0] = 0;
    geometryEE[i][1] = 0;
  }

}
EEOccupancyTask::~EEOccupancyTask ( ) [virtual]

Destructor.

Definition at line 126 of file EEOccupancyTask.cc.

                                 {

}

Member Function Documentation

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

Analyze.

Implements edm::EDAnalyzer.

Definition at line 565 of file EEOccupancyTask.cc.

References EcalDCCHeaderBlock::COSMIC, EcalDCCHeaderBlock::COSMICS_GLOBAL, EcalDCCHeaderBlock::COSMICS_LOCAL, Numbers::crystals(), EcalEndcap, EcalPnDiodeDigiCollection_, EcalRawDataCollection_, EcalRecHitCollection_, EcalTrigPrimDigiCollection_, EEDigiCollection_, eta(), PV3DBase< T, PVType, FrameType >::eta(), MonitorElement::Fill(), geometryEE, edm::EventSetup::get(), edm::Event::getByLabel(), i, ExpressReco_HICollisions_FallBack::id, ievt_, init_, Numbers::iSM(), ecalpyutils::ism(), EEDetId::ix(), EcalRecHit::kGood, EcalSeverityLevelAlgo::kGood, laser, EcalDCCHeaderBlock::LASER_GAP, EcalDCCHeaderBlock::LASER_STD, led, EcalDCCHeaderBlock::LED_GAP, EcalDCCHeaderBlock::LED_STD, LogDebug, meEEDigiOccupancy_, meEEDigiOccupancyProEta_, meEEDigiOccupancyProPhi_, meEELaserDigiOccupancy_, meEELedDigiOccupancy_, meEEPedestalDigiOccupancy_, meEERecHitEnergy_, meEERecHitOccupancy_, meEERecHitOccupancyProEta_, meEERecHitOccupancyProEtaThr_, meEERecHitOccupancyProPhi_, meEERecHitOccupancyProPhiThr_, meEERecHitOccupancyThr_, meEERecHitSpectrum_, meEETestPulseDigiOccupancy_, meEETrigPrimDigiOccupancy_, meEETrigPrimDigiOccupancyProEta_, meEETrigPrimDigiOccupancyProEtaThr_, meEETrigPrimDigiOccupancyProPhi_, meEETrigPrimDigiOccupancyProPhiThr_, meEETrigPrimDigiOccupancyThr_, meOccupancy_, meOccupancyMem_, meSpectrum_, EcalDCCHeaderBlock::MTCC, notdata, pedestal, EcalDCCHeaderBlock::PEDESTAL_GAP, EcalDCCHeaderBlock::PEDESTAL_STD, pGeometry_, PV3DBase< T, PVType, FrameType >::phi(), phi, physics, EcalDCCHeaderBlock::PHYSICS_GLOBAL, EcalDCCHeaderBlock::PHYSICS_LOCAL, pos, edm::ESHandle< T >::product(), recHitEnergyMin_, ExpressReco_HICollisions_FallBack::runType, setup(), EcalSeverityLevelAlgo::severityLevel(), Numbers::subDet(), testpulse, EcalDCCHeaderBlock::TESTPULSE_GAP, EcalDCCHeaderBlock::TESTPULSE_MGPA, and trigPrimEtMin_.

                                                                      {

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

  ievt_++;

  int runType[18] = { notdata };

  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 );

      int runtype = dcchItr->getRunType();

      if ( runtype == EcalDCCHeaderBlock::COSMIC ||
           runtype == EcalDCCHeaderBlock::MTCC ||
           runtype == EcalDCCHeaderBlock::COSMICS_GLOBAL ||
           runtype == EcalDCCHeaderBlock::PHYSICS_GLOBAL ||
           runtype == EcalDCCHeaderBlock::COSMICS_LOCAL ||
           runtype == EcalDCCHeaderBlock::PHYSICS_LOCAL ) runType[ism-1] = physics;
      if ( runtype == EcalDCCHeaderBlock::TESTPULSE_MGPA ||
           runtype == EcalDCCHeaderBlock::TESTPULSE_GAP ) runType[ism-1] = testpulse;
      if ( runtype == EcalDCCHeaderBlock::LASER_STD ||
           runtype == EcalDCCHeaderBlock::LASER_GAP ) runType[ism-1] = laser;
      if ( runtype == EcalDCCHeaderBlock::LED_STD ||
           runtype == EcalDCCHeaderBlock::LED_GAP ) runType[ism-1] = led;
      if ( runtype == EcalDCCHeaderBlock::PEDESTAL_STD ||
           runtype == EcalDCCHeaderBlock::PEDESTAL_GAP ) runType[ism-1] = pedestal;

    }

  } else {
    edm::LogWarning("EEOccupancyTask") << EcalRawDataCollection_ << " not available";
  }

  edm::Handle<EEDigiCollection> digis;

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

    int need = digis->size();
    LogDebug("EEOccupancyTask") << "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 hi = id.hashedIndex();

      if ( geometryEE[hi][0] == 0 ) {
        const GlobalPoint& pos = pGeometry_->getGeometry(id)->getPosition();
        geometryEE[hi][0] = pos.eta();
        geometryEE[hi][1] = pos.phi();
      }

      float eta = geometryEE[hi][0];
      float phi = geometryEE[hi][1];

      int ism = Numbers::iSM( id );

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

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

      if ( xix <= 0. || xix >= 100. || xiy <= 0. || xiy >= 100. ) {
        edm::LogWarning("EEOccupancyTask") << " det id = " << id;
        edm::LogWarning("EEOccupancyTask") << " sm, ix, iw " << ism << " " << ix << " " << iy;
        edm::LogWarning("EEOccupancyTask") << " xix, xiy " << xix << " " << xiy;
      }

      if ( meOccupancy_[ism-1] ) meOccupancy_[ism-1]->Fill( xix, xiy );

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

      float xeex = eex - 0.5;
      float xeey = eey - 0.5;

      if ( runType[ism-1] == physics || runType[ism-1] == notdata ) {

        if ( ism >=1 && ism <= 9 ) {
          if ( meEEDigiOccupancy_[0] ) meEEDigiOccupancy_[0]->Fill( xeex, xeey );
          if ( meEEDigiOccupancyProEta_[0] ) meEEDigiOccupancyProEta_[0]->Fill( eta );
          if ( meEEDigiOccupancyProPhi_[0] ) meEEDigiOccupancyProPhi_[0]->Fill( phi );
        } else {
          if ( meEEDigiOccupancy_[1] ) meEEDigiOccupancy_[1]->Fill( xeex, xeey );
          if ( meEEDigiOccupancyProEta_[1] ) meEEDigiOccupancyProEta_[1]->Fill( eta );
          if ( meEEDigiOccupancyProPhi_[1] ) meEEDigiOccupancyProPhi_[1]->Fill( phi );
        }

      }

      if ( runType[ism-1] == testpulse ) {

        if ( ism >=1 && ism <= 9 ) {
          if ( meEETestPulseDigiOccupancy_[0] ) meEETestPulseDigiOccupancy_[0]->Fill( xeex, xeey );
        } else {
          if ( meEETestPulseDigiOccupancy_[1] ) meEETestPulseDigiOccupancy_[1]->Fill( xeex, xeey );
        }

      }

      if ( runType[ism-1] == laser ) {

        if ( ism >=1 && ism <= 9 ) {
          if ( meEELaserDigiOccupancy_[0] ) meEELaserDigiOccupancy_[0]->Fill( xeex, xeey );
        } else {
          if ( meEELaserDigiOccupancy_[1] ) meEELaserDigiOccupancy_[1]->Fill( xeex, xeey );
        }

      }

      if ( runType[ism-1] == led ) {

        if ( ism >=1 && ism <= 9 ) {
          if ( meEELedDigiOccupancy_[0] ) meEELedDigiOccupancy_[0]->Fill( xeex, xeey );
        } else {
          if ( meEELedDigiOccupancy_[1] ) meEELedDigiOccupancy_[1]->Fill( xeex, xeey );
        }

      }

      if ( runType[ism-1] == pedestal ) {

        if ( ism >=1 && ism <= 9 ) {
          if ( meEEPedestalDigiOccupancy_[0] ) meEEPedestalDigiOccupancy_[0]->Fill( xeex, xeey );
        } else {
          if ( meEEPedestalDigiOccupancy_[1] ) meEEPedestalDigiOccupancy_[1]->Fill( xeex, xeey );
        }

      }

    }

  } else {

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

  }

  edm::Handle<EcalPnDiodeDigiCollection> PNs;

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

    // filling mem occupancy only for the 5 channels belonging
    // to a fully reconstructed PN's

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

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

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

      float PnId  = pnItr->id().iPnId();

      PnId        = PnId - 0.5;
      float st    = 0.0;

      for (int chInStrip = 1; chInStrip <= 5; chInStrip++){
        if ( meOccupancyMem_[ism-1] ) {
          st = chInStrip - 0.5;
          meOccupancyMem_[ism-1]->Fill(PnId, st);
        }
      }

    }

  } else {

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

  }

  // channel status
  edm::ESHandle<EcalChannelStatus> pChannelStatus;
  c.get<EcalChannelStatusRcd>().get(pChannelStatus);
  const EcalChannelStatus* chStatus = pChannelStatus.product();

  edm::Handle<EcalRecHitCollection> rechits;

  if ( e.getByLabel(EcalRecHitCollection_, rechits) ) {

    int nebrh = rechits->size();
    LogDebug("EEOccupancyTask") << "event " << ievt_ << " rec hits collection size " << nebrh;

    for ( EcalRecHitCollection::const_iterator rechitItr = rechits->begin(); rechitItr != rechits->end(); ++rechitItr ) {

      EEDetId id = rechitItr->id();

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

      int hi = id.hashedIndex();

      if ( geometryEE[hi][0] == 0 ) {
        const GlobalPoint& pos = pGeometry_->getGeometry(id)->getPosition();
        geometryEE[hi][0] = pos.eta();
        geometryEE[hi][1] = pos.phi();
      }

      float eta = geometryEE[hi][0];
      float phi = geometryEE[hi][1];

      int ism = Numbers::iSM( id );

      // sector view (from electronics)
      float xix = ( ism >= 1 && ism <= 9 ) ? 101 - eex - 0.5 : eex - 0.5;
      float xiy = eey - 0.5;

      // physics view (from IP)
      float xeex = eex - 0.5;
      float xeey = eey - 0.5;

      if ( runType[ism-1] == physics || runType[ism-1] == notdata ) {

        if ( ism >= 1 && ism <= 9 ) {
          if ( meEERecHitOccupancy_[0] ) meEERecHitOccupancy_[0]->Fill( xeex, xeey );
          if ( meEERecHitOccupancyProEta_[0] ) meEERecHitOccupancyProEta_[0]->Fill( eta );
          if ( meEERecHitOccupancyProPhi_[0] ) meEERecHitOccupancyProPhi_[0]->Fill( phi );
        } else {
          if ( meEERecHitOccupancy_[1] ) meEERecHitOccupancy_[1]->Fill( xeex, xeey );
          if ( meEERecHitOccupancyProEta_[1] ) meEERecHitOccupancyProEta_[1]->Fill( eta );
          if ( meEERecHitOccupancyProPhi_[1] ) meEERecHitOccupancyProPhi_[1]->Fill( phi );
        }

        uint32_t flag = rechitItr->recoFlag();
        uint32_t sev = EcalSeverityLevelAlgo::severityLevel(id, *rechits, *chStatus );

        if ( rechitItr->energy() > recHitEnergyMin_ && flag == EcalRecHit::kGood && sev == EcalSeverityLevelAlgo::kGood ) {

          if ( ism >= 1 && ism <= 9 ) {
            if ( meEERecHitOccupancyThr_[0] ) meEERecHitOccupancyThr_[0]->Fill( xeex, xeey );
            if ( meEERecHitOccupancyProEtaThr_[0] ) meEERecHitOccupancyProEtaThr_[0]->Fill( eta );
            if ( meEERecHitOccupancyProPhiThr_[0] ) meEERecHitOccupancyProPhiThr_[0]->Fill( phi );
          } else {
            if ( meEERecHitOccupancyThr_[1] ) meEERecHitOccupancyThr_[1]->Fill( xeex, xeey );
            if ( meEERecHitOccupancyProEtaThr_[1] ) meEERecHitOccupancyProEtaThr_[1]->Fill( eta );
            if ( meEERecHitOccupancyProPhiThr_[1] ) meEERecHitOccupancyProPhiThr_[1]->Fill( phi );
          }

        }

        if ( flag == EcalRecHit::kGood && sev == EcalSeverityLevelAlgo::kGood ) {
          if ( meEERecHitEnergy_[ism-1] ) meEERecHitEnergy_[ism-1]->Fill( xix, xiy, rechitItr->energy() );
          if ( meSpectrum_[ism-1] ) meSpectrum_[ism-1]->Fill( rechitItr->energy() );
          if (  ism >= 1 && ism <= 9  ) meEERecHitSpectrum_[0]->Fill( rechitItr->energy() );
          else meEERecHitSpectrum_[1]->Fill( rechitItr->energy() );
        }

      }
    }

  } else {

    edm::LogWarning("EEOccupancyTask") << EcalRecHitCollection_ << " not available";

  }

  edm::Handle<EcalTrigPrimDigiCollection> trigPrimDigis;

  if ( e.getByLabel(EcalTrigPrimDigiCollection_, trigPrimDigis) ) {

    int nebtpg = trigPrimDigis->size();
    LogDebug("EEOccupancyTask") << "event " << ievt_ << " trigger primitives digis collection size " << nebtpg;

    for ( EcalTrigPrimDigiCollection::const_iterator tpdigiItr = trigPrimDigis->begin(); tpdigiItr != trigPrimDigis->end(); ++tpdigiItr ) {

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

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

      std::vector<DetId>* crystals = Numbers::crystals( tpdigiItr->id() );

      for ( unsigned int i=0; i<crystals->size(); i++ ) {

        EEDetId id = (*crystals)[i];

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

        int hi = id.hashedIndex();

        if ( geometryEE[hi][0] == 0 ) {
          const GlobalPoint& pos = pGeometry_->getGeometry(id)->getPosition();
          geometryEE[hi][0] = pos.eta();
          geometryEE[hi][1] = pos.phi();
        }

        float eta = geometryEE[hi][0];
        float phi = geometryEE[hi][1];

        float xeex = eex - 0.5;
        float xeey = eey - 0.5;

        if ( runType[ism-1] == physics || runType[ism-1] == notdata ) {

          if ( ism >= 1 && ism <= 9 ) {
            if ( meEETrigPrimDigiOccupancy_[0] ) meEETrigPrimDigiOccupancy_[0]->Fill( xeex, xeey );
            if ( meEETrigPrimDigiOccupancyProEta_[0] ) meEETrigPrimDigiOccupancyProEta_[0]->Fill( eta );
            if ( meEETrigPrimDigiOccupancyProPhi_[0] ) meEETrigPrimDigiOccupancyProPhi_[0]->Fill( phi );
          } else {
            if ( meEETrigPrimDigiOccupancy_[1] ) meEETrigPrimDigiOccupancy_[1]->Fill( xeex, xeey );
            if ( meEETrigPrimDigiOccupancyProEta_[1] ) meEETrigPrimDigiOccupancyProEta_[1]->Fill( eta );
            if ( meEETrigPrimDigiOccupancyProPhi_[1] ) meEETrigPrimDigiOccupancyProPhi_[1]->Fill( phi );
          }

          if ( tpdigiItr->compressedEt() > trigPrimEtMin_ ) {

            if ( ism >= 1 && ism <= 9 ) {
              if ( meEETrigPrimDigiOccupancyThr_[0] ) meEETrigPrimDigiOccupancyThr_[0]->Fill( xeex, xeey );
              if ( meEETrigPrimDigiOccupancyProEtaThr_[0] ) meEETrigPrimDigiOccupancyProEtaThr_[0]->Fill( eta );
              if ( meEETrigPrimDigiOccupancyProPhiThr_[0] ) meEETrigPrimDigiOccupancyProPhiThr_[0]->Fill( phi );
            } else {
              if ( meEETrigPrimDigiOccupancyThr_[1] ) meEETrigPrimDigiOccupancyThr_[1]->Fill( xeex, xeey );
              if ( meEETrigPrimDigiOccupancyProEtaThr_[1] ) meEETrigPrimDigiOccupancyProEtaThr_[1]->Fill( eta );
              if ( meEETrigPrimDigiOccupancyProPhiThr_[1] ) meEETrigPrimDigiOccupancyProPhiThr_[1]->Fill( phi );
            }

          }

        }
      }
    }

  } else {

    edm::LogWarning("EEOccupancyTask") << EcalTrigPrimDigiCollection_ << " not available";

  }

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

BeginJob.

Reimplemented from edm::EDAnalyzer.

Definition at line 130 of file EEOccupancyTask.cc.

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

                                  {

  ievt_ = 0;

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

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

BeginRun.

Reimplemented from edm::EDAnalyzer.

Definition at line 141 of file EEOccupancyTask.cc.

References edm::EventSetup::get(), initCaloGeometry_, Numbers::initGeometry(), mergeRuns_, pGeometry_, and reset().

                                                                      {

  Numbers::initGeometry(c, false);

  if( !initCaloGeometry_ ) {
    c.get<CaloGeometryRecord>().get(pGeometry_);
    initCaloGeometry_ = true;
  }

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

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

Cleanup.

Definition at line 438 of file EEOccupancyTask.cc.

References dqmStore_, edm::getName(), i, init_, meEEDigiOccupancy_, meEEDigiOccupancyProEta_, meEEDigiOccupancyProPhi_, meEELaserDigiOccupancy_, meEELedDigiOccupancy_, meEEPedestalDigiOccupancy_, meEERecHitEnergy_, meEERecHitOccupancy_, meEERecHitOccupancyProEta_, meEERecHitOccupancyProEtaThr_, meEERecHitOccupancyProPhi_, meEERecHitOccupancyProPhiThr_, meEERecHitOccupancyThr_, meEERecHitSpectrum_, meEETestPulseDigiOccupancy_, meEETrigPrimDigiOccupancy_, meEETrigPrimDigiOccupancyProEta_, meEETrigPrimDigiOccupancyProEtaThr_, meEETrigPrimDigiOccupancyProPhi_, meEETrigPrimDigiOccupancyProPhiThr_, meEETrigPrimDigiOccupancyThr_, meOccupancy_, meOccupancyMem_, meSpectrum_, prefixME_, DQMStore::removeElement(), and DQMStore::setCurrentFolder().

Referenced by endJob().

                                 {

  if ( ! init_ ) return;

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

    for (int i = 0; i < 18; i++) {
      if ( meOccupancy_[i] ) dqmStore_->removeElement( meOccupancy_[i]->getName() );
      meOccupancy_[i] = 0;
      if ( meOccupancyMem_[i] ) dqmStore_->removeElement( meOccupancyMem_[i]->getName() );
      meOccupancyMem_[i] = 0;
      if ( meEERecHitEnergy_[i] ) dqmStore_->removeElement( meEERecHitEnergy_[i]->getName() );
      meEERecHitEnergy_[i] = 0;
      if ( meSpectrum_[i] ) dqmStore_->removeElement( meSpectrum_[i]->getName() );
      meSpectrum_[i] = 0;
    }

    if ( meEERecHitSpectrum_[0] ) dqmStore_->removeElement( meEERecHitSpectrum_[0]->getName() );
    meEERecHitSpectrum_[0] = 0;
    if ( meEERecHitSpectrum_[1] ) dqmStore_->removeElement( meEERecHitSpectrum_[1]->getName() );
    meEERecHitSpectrum_[1] = 0;

    if ( meEEDigiOccupancy_[0] ) dqmStore_->removeElement( meEEDigiOccupancy_[0]->getName() );
    meEEDigiOccupancy_[0] = 0;
    if ( meEEDigiOccupancyProEta_[0] ) dqmStore_->removeElement( meEEDigiOccupancyProEta_[0]->getName() );
    meEEDigiOccupancyProEta_[0] = 0;
    if ( meEEDigiOccupancyProPhi_[0] ) dqmStore_->removeElement( meEEDigiOccupancyProPhi_[0]->getName() );
    meEEDigiOccupancyProPhi_[0] = 0;

    if ( meEEDigiOccupancy_[1] ) dqmStore_->removeElement( meEEDigiOccupancy_[1]->getName() );
    meEEDigiOccupancy_[1] = 0;
    if ( meEEDigiOccupancyProEta_[1] ) dqmStore_->removeElement( meEEDigiOccupancyProEta_[1]->getName() );
    meEEDigiOccupancyProEta_[1] = 0;
    if ( meEEDigiOccupancyProPhi_[1] ) dqmStore_->removeElement( meEEDigiOccupancyProPhi_[1]->getName() );
    meEEDigiOccupancyProPhi_[1] = 0;

    if ( meEERecHitOccupancy_[0] ) dqmStore_->removeElement( meEERecHitOccupancy_[0]->getName() );
    meEERecHitOccupancy_[0] = 0;
    if ( meEERecHitOccupancyProEta_[0] ) dqmStore_->removeElement( meEERecHitOccupancyProEta_[0]->getName() );
    meEERecHitOccupancyProEta_[0] = 0;
    if ( meEERecHitOccupancyProPhi_[0] ) dqmStore_->removeElement( meEERecHitOccupancyProPhi_[0]->getName() );
    meEERecHitOccupancyProPhi_[0] = 0;

    if ( meEERecHitOccupancy_[1] ) dqmStore_->removeElement( meEERecHitOccupancy_[1]->getName() );
    meEERecHitOccupancy_[1] = 0;
    if ( meEERecHitOccupancyProEta_[1] ) dqmStore_->removeElement( meEERecHitOccupancyProEta_[1]->getName() );
    meEERecHitOccupancyProEta_[1] = 0;
    if ( meEERecHitOccupancyProPhi_[1] ) dqmStore_->removeElement( meEERecHitOccupancyProPhi_[1]->getName() );
    meEERecHitOccupancyProPhi_[1] = 0;

    if ( meEERecHitOccupancyThr_[0] ) dqmStore_->removeElement( meEERecHitOccupancyThr_[0]->getName() );
    meEERecHitOccupancyThr_[0] = 0;
    if ( meEERecHitOccupancyProEtaThr_[0] ) dqmStore_->removeElement( meEERecHitOccupancyProEtaThr_[0]->getName() );
    meEERecHitOccupancyProEtaThr_[0] = 0;
    if ( meEERecHitOccupancyProPhiThr_[0] ) dqmStore_->removeElement( meEERecHitOccupancyProPhiThr_[0]->getName() );
    meEERecHitOccupancyProPhiThr_[0] = 0;

    if ( meEERecHitOccupancyThr_[1] ) dqmStore_->removeElement( meEERecHitOccupancyThr_[1]->getName() );
    meEERecHitOccupancyThr_[1] = 0;
    if ( meEERecHitOccupancyProEtaThr_[1] ) dqmStore_->removeElement( meEERecHitOccupancyProEtaThr_[1]->getName() );
    meEERecHitOccupancyProEtaThr_[1] = 0;
    if ( meEERecHitOccupancyProPhiThr_[1] ) dqmStore_->removeElement( meEERecHitOccupancyProPhiThr_[1]->getName() );
    meEERecHitOccupancyProPhiThr_[1] = 0;

    if ( meEETrigPrimDigiOccupancy_[0] ) dqmStore_->removeElement( meEETrigPrimDigiOccupancy_[0]->getName() );
    meEETrigPrimDigiOccupancy_[0] = 0;
    if ( meEETrigPrimDigiOccupancyProEta_[0] ) dqmStore_->removeElement( meEETrigPrimDigiOccupancyProEta_[0]->getName() );
    meEETrigPrimDigiOccupancyProEta_[0] = 0;
    if ( meEETrigPrimDigiOccupancyProPhi_[0] ) dqmStore_->removeElement( meEETrigPrimDigiOccupancyProPhi_[0]->getName() );
    meEETrigPrimDigiOccupancyProPhi_[0] = 0;

    if ( meEETrigPrimDigiOccupancy_[1] ) dqmStore_->removeElement( meEETrigPrimDigiOccupancy_[1]->getName() );
    meEETrigPrimDigiOccupancy_[1] = 0;
    if ( meEETrigPrimDigiOccupancyProEta_[1] ) dqmStore_->removeElement( meEETrigPrimDigiOccupancyProEta_[1]->getName() );
    meEETrigPrimDigiOccupancyProEta_[1] = 0;
    if ( meEETrigPrimDigiOccupancyProPhi_[1] ) dqmStore_->removeElement( meEETrigPrimDigiOccupancyProPhi_[1]->getName() );
    meEETrigPrimDigiOccupancyProPhi_[1] = 0;

    if ( meEETrigPrimDigiOccupancyThr_[0] ) dqmStore_->removeElement( meEETrigPrimDigiOccupancyThr_[0]->getName() );
    meEETrigPrimDigiOccupancyThr_[0] = 0;
    if ( meEETrigPrimDigiOccupancyProEtaThr_[0] ) dqmStore_->removeElement( meEETrigPrimDigiOccupancyProEtaThr_[0]->getName() );
    meEETrigPrimDigiOccupancyProEtaThr_[0] = 0;
    if ( meEETrigPrimDigiOccupancyProPhiThr_[0] ) dqmStore_->removeElement( meEETrigPrimDigiOccupancyProPhiThr_[0]->getName() );
    meEETrigPrimDigiOccupancyProPhiThr_[0] = 0;

    if ( meEETrigPrimDigiOccupancyThr_[1] ) dqmStore_->removeElement( meEETrigPrimDigiOccupancyThr_[1]->getName() );
    meEETrigPrimDigiOccupancyThr_[1] = 0;
    if ( meEETrigPrimDigiOccupancyProEtaThr_[1] ) dqmStore_->removeElement( meEETrigPrimDigiOccupancyProEtaThr_[1]->getName() );
    meEETrigPrimDigiOccupancyProEtaThr_[1] = 0;
    if ( meEETrigPrimDigiOccupancyProPhiThr_[1] ) dqmStore_->removeElement( meEETrigPrimDigiOccupancyProPhiThr_[1]->getName() );
    meEETrigPrimDigiOccupancyProPhiThr_[1] = 0;

    if ( meEETestPulseDigiOccupancy_[0] ) dqmStore_->removeElement( meEETestPulseDigiOccupancy_[0]->getName() );
    meEETestPulseDigiOccupancy_[0] = 0;
    if ( meEETestPulseDigiOccupancy_[1] ) dqmStore_->removeElement( meEETestPulseDigiOccupancy_[1]->getName() );
    meEETestPulseDigiOccupancy_[1] = 0;

    if ( meEELaserDigiOccupancy_[0] ) dqmStore_->removeElement( meEELaserDigiOccupancy_[0]->getName() );
    meEELaserDigiOccupancy_[0] = 0;
    if ( meEELaserDigiOccupancy_[1] ) dqmStore_->removeElement( meEELaserDigiOccupancy_[1]->getName() );
    meEELaserDigiOccupancy_[1] = 0;

    if ( meEELedDigiOccupancy_[0] ) dqmStore_->removeElement( meEELedDigiOccupancy_[0]->getName() );
    meEELedDigiOccupancy_[0] = 0;
    if ( meEELedDigiOccupancy_[1] ) dqmStore_->removeElement( meEELedDigiOccupancy_[1]->getName() );
    meEELedDigiOccupancy_[1] = 0;

    if ( meEEPedestalDigiOccupancy_[0] ) dqmStore_->removeElement( meEEPedestalDigiOccupancy_[0]->getName() );
    meEEPedestalDigiOccupancy_[0] = 0;
    if ( meEEPedestalDigiOccupancy_[1] ) dqmStore_->removeElement( meEEPedestalDigiOccupancy_[1]->getName() );
    meEEPedestalDigiOccupancy_[1] = 0;

  }

  init_ = false;

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

EndJob.

Reimplemented from edm::EDAnalyzer.

Definition at line 557 of file EEOccupancyTask.cc.

References cleanup(), enableCleanup_, and ievt_.

                                 {

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

  if ( enableCleanup_ ) this->cleanup();

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

EndRun.

Reimplemented from edm::EDAnalyzer.

Definition at line 154 of file EEOccupancyTask.cc.

                                                                    {

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

Reset.

Definition at line 158 of file EEOccupancyTask.cc.

References i, meEEDigiOccupancy_, meEEDigiOccupancyProEta_, meEEDigiOccupancyProPhi_, meEELaserDigiOccupancy_, meEELedDigiOccupancy_, meEEPedestalDigiOccupancy_, meEERecHitEnergy_, meEERecHitOccupancy_, meEERecHitOccupancyProEta_, meEERecHitOccupancyProEtaThr_, meEERecHitOccupancyProPhi_, meEERecHitOccupancyProPhiThr_, meEERecHitOccupancyThr_, meEERecHitSpectrum_, meEETestPulseDigiOccupancy_, meEETrigPrimDigiOccupancy_, meEETrigPrimDigiOccupancyProEta_, meEETrigPrimDigiOccupancyProEtaThr_, meEETrigPrimDigiOccupancyProPhi_, meEETrigPrimDigiOccupancyProPhiThr_, meEETrigPrimDigiOccupancyThr_, meOccupancy_, meOccupancyMem_, meSpectrum_, and MonitorElement::Reset().

Referenced by beginRun().

                                {

  for (int i = 0; i < 18; i++) {
    if ( meOccupancy_[i] ) meOccupancy_[i]->Reset();
    if ( meOccupancyMem_[i] ) meOccupancyMem_[i]->Reset();
    if ( meEERecHitEnergy_[i] ) meEERecHitEnergy_[i]->Reset();
    if ( meSpectrum_[i] ) meSpectrum_[i]->Reset();
  }

  if ( meEERecHitSpectrum_[0] ) meEERecHitSpectrum_[0]->Reset();
  if ( meEERecHitSpectrum_[1] ) meEERecHitSpectrum_[1]->Reset();

  if ( meEEDigiOccupancy_[0] ) meEEDigiOccupancy_[0]->Reset();
  if ( meEEDigiOccupancyProEta_[0] ) meEEDigiOccupancyProEta_[0]->Reset();
  if ( meEEDigiOccupancyProPhi_[0] ) meEEDigiOccupancyProPhi_[0]->Reset();
  if ( meEEDigiOccupancy_[1] ) meEEDigiOccupancy_[1]->Reset();
  if ( meEEDigiOccupancyProEta_[1] ) meEEDigiOccupancyProEta_[1]->Reset();
  if ( meEEDigiOccupancyProPhi_[1] ) meEEDigiOccupancyProPhi_[1]->Reset();

  if ( meEERecHitOccupancy_[0] ) meEERecHitOccupancy_[0]->Reset();
  if ( meEERecHitOccupancyProEta_[0] ) meEERecHitOccupancyProEta_[0]->Reset();
  if ( meEERecHitOccupancyProPhi_[0] ) meEERecHitOccupancyProPhi_[0]->Reset();
  if ( meEERecHitOccupancy_[1] ) meEERecHitOccupancy_[1]->Reset();
  if ( meEERecHitOccupancyProEta_[1] ) meEERecHitOccupancyProEta_[1]->Reset();
  if ( meEERecHitOccupancyProPhi_[1] ) meEERecHitOccupancyProPhi_[1]->Reset();

  if ( meEERecHitOccupancyThr_[0] ) meEERecHitOccupancyThr_[0]->Reset();
  if ( meEERecHitOccupancyProEtaThr_[0] ) meEERecHitOccupancyProEtaThr_[0]->Reset();
  if ( meEERecHitOccupancyProPhiThr_[0] ) meEERecHitOccupancyProPhiThr_[0]->Reset();
  if ( meEERecHitOccupancyThr_[1] ) meEERecHitOccupancyThr_[1]->Reset();
  if ( meEERecHitOccupancyProEtaThr_[1] ) meEERecHitOccupancyProEtaThr_[1]->Reset();
  if ( meEERecHitOccupancyProPhiThr_[1] ) meEERecHitOccupancyProPhiThr_[1]->Reset();

  if ( meEETrigPrimDigiOccupancy_[0] ) meEETrigPrimDigiOccupancy_[0]->Reset();
  if ( meEETrigPrimDigiOccupancyProEta_[0] ) meEETrigPrimDigiOccupancyProEta_[0]->Reset();
  if ( meEETrigPrimDigiOccupancyProPhi_[0] ) meEETrigPrimDigiOccupancyProPhi_[0]->Reset();
  if ( meEETrigPrimDigiOccupancy_[1] ) meEETrigPrimDigiOccupancy_[1]->Reset();
  if ( meEETrigPrimDigiOccupancyProEta_[1] ) meEETrigPrimDigiOccupancyProEta_[1]->Reset();
  if ( meEETrigPrimDigiOccupancyProPhi_[1] ) meEETrigPrimDigiOccupancyProPhi_[1]->Reset();

  if ( meEETrigPrimDigiOccupancyThr_[0] ) meEETrigPrimDigiOccupancyThr_[0]->Reset();
  if ( meEETrigPrimDigiOccupancyProEtaThr_[0] ) meEETrigPrimDigiOccupancyProEtaThr_[0]->Reset();
  if ( meEETrigPrimDigiOccupancyProPhiThr_[0] ) meEETrigPrimDigiOccupancyProPhiThr_[0]->Reset();
  if ( meEETrigPrimDigiOccupancyThr_[1] ) meEETrigPrimDigiOccupancyThr_[1]->Reset();
  if ( meEETrigPrimDigiOccupancyProEtaThr_[1] ) meEETrigPrimDigiOccupancyProEtaThr_[1]->Reset();
  if ( meEETrigPrimDigiOccupancyProPhiThr_[1] ) meEETrigPrimDigiOccupancyProPhiThr_[1]->Reset();

  if ( meEETestPulseDigiOccupancy_[0] ) meEETestPulseDigiOccupancy_[0]->Reset();
  if ( meEETestPulseDigiOccupancy_[1] ) meEETestPulseDigiOccupancy_[1]->Reset();

  if ( meEELaserDigiOccupancy_[0] ) meEELaserDigiOccupancy_[0]->Reset();
  if ( meEELaserDigiOccupancy_[1] ) meEELaserDigiOccupancy_[1]->Reset();

  if ( meEELedDigiOccupancy_[0] ) meEELedDigiOccupancy_[0]->Reset();
  if ( meEELedDigiOccupancy_[1] ) meEELedDigiOccupancy_[1]->Reset();

  if ( meEEPedestalDigiOccupancy_[0] ) meEEPedestalDigiOccupancy_[0]->Reset();
  if ( meEEPedestalDigiOccupancy_[1] ) meEEPedestalDigiOccupancy_[1]->Reset();

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

Setup.

Definition at line 219 of file EEOccupancyTask.cc.

References DQMStore::book1D(), DQMStore::book1DD(), DQMStore::book2D(), DQMStore::bookProfile2D(), dqmStore_, trackerHits::histo, i, init_, Numbers::ix0EE(), Numbers::iy0EE(), M_PI, meEEDigiOccupancy_, meEEDigiOccupancyProEta_, meEEDigiOccupancyProPhi_, meEELaserDigiOccupancy_, meEELedDigiOccupancy_, meEEPedestalDigiOccupancy_, meEERecHitEnergy_, meEERecHitOccupancy_, meEERecHitOccupancyProEta_, meEERecHitOccupancyProEtaThr_, meEERecHitOccupancyProPhi_, meEERecHitOccupancyProPhiThr_, meEERecHitOccupancyThr_, meEERecHitSpectrum_, meEETestPulseDigiOccupancy_, meEETrigPrimDigiOccupancy_, meEETrigPrimDigiOccupancyProEta_, meEETrigPrimDigiOccupancyProEtaThr_, meEETrigPrimDigiOccupancyProPhi_, meEETrigPrimDigiOccupancyProPhiThr_, meEETrigPrimDigiOccupancyThr_, meOccupancy_, meOccupancyMem_, meSpectrum_, prefixME_, Numbers::sEE(), MonitorElement::setAxisTitle(), DQMStore::setCurrentFolder(), and DQMStore::tag().

Referenced by analyze().

                               {

  init_ = true;

  char histo[200];

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

    for (int i = 0; i < 18; i++) {
      sprintf(histo, "EEOT digi occupancy %s", Numbers::sEE(i+1).c_str());
      meOccupancy_[i] = dqmStore_->book2D(histo, histo, 50, Numbers::ix0EE(i+1)+0., Numbers::ix0EE(i+1)+50., 50, Numbers::iy0EE(i+1)+0., Numbers::iy0EE(i+1)+50.);
      meOccupancy_[i]->setAxisTitle("ix", 1);
      if ( i+1 >= 1 && i+1 <= 9 ) meOccupancy_[i]->setAxisTitle("101-ix", 1);
      meOccupancy_[i]->setAxisTitle("iy", 2);
      dqmStore_->tag(meOccupancy_[i], i+1);

      sprintf(histo, "EEOT MEM digi occupancy %s", Numbers::sEE(i+1).c_str());
      meOccupancyMem_[i] = dqmStore_->book2D(histo, histo, 10, 0., 10., 5, 0., 5.);
      meOccupancyMem_[i]->setAxisTitle("pseudo-strip", 1);
      meOccupancyMem_[i]->setAxisTitle("channel", 2);
      dqmStore_->tag(meOccupancyMem_[i], i+1);

      sprintf(histo, "EEOT rec hit energy %s", Numbers::sEE(i+1).c_str());
      meEERecHitEnergy_[i] = dqmStore_->bookProfile2D(histo, histo, 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., "s");
      meEERecHitEnergy_[i]->setAxisTitle("ix", 1);
      if ( i+1 >= 1 && i+1 <= 9 ) meEERecHitEnergy_[i]->setAxisTitle("101-ix", 1);
      meEERecHitEnergy_[i]->setAxisTitle("iy", 2);
      meEERecHitEnergy_[i]->setAxisTitle("energy (GeV)", 3);
      dqmStore_->tag(meEERecHitEnergy_[i], i+1);

      sprintf(histo, "EEOT energy spectrum %s", Numbers::sEE(i+1).c_str());
      meSpectrum_[i] = dqmStore_->book1D(histo, histo, 100, 0., 1.5);
      meSpectrum_[i]->setAxisTitle("energy (GeV)", 1);
      dqmStore_->tag(meSpectrum_[i], i+1);
    }

    sprintf(histo, "EEOT rec hit spectrum EE -");
    meEERecHitSpectrum_[0] = dqmStore_->book1D(histo, histo, 100, 0., 10.);
    meEERecHitSpectrum_[0]->setAxisTitle("energy (GeV)", 1);

    sprintf(histo, "EEOT rec hit spectrum EE +");
    meEERecHitSpectrum_[1] = dqmStore_->book1D(histo, histo, 100, 0., 10.);
    meEERecHitSpectrum_[1]->setAxisTitle("energy (GeV)", 1);

    sprintf(histo, "EEOT digi occupancy EE -");
    meEEDigiOccupancy_[0] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
    meEEDigiOccupancy_[0]->setAxisTitle("jx", 1);
    meEEDigiOccupancy_[0]->setAxisTitle("jy", 2);
    sprintf(histo, "EEOT digi occupancy EE - projection eta");
    meEEDigiOccupancyProEta_[0] = dqmStore_->book1DD(histo, histo, 22, -3.0, -1.479);
    meEEDigiOccupancyProEta_[0]->setAxisTitle("eta", 1);
    meEEDigiOccupancyProEta_[0]->setAxisTitle("number of digis", 2);
    sprintf(histo, "EEOT digi occupancy EE - projection phi");
    meEEDigiOccupancyProPhi_[0] = dqmStore_->book1DD(histo, histo, 50, -M_PI, M_PI);
    meEEDigiOccupancyProPhi_[0]->setAxisTitle("phi", 1);
    meEEDigiOccupancyProPhi_[0]->setAxisTitle("number of digis", 2);

    sprintf(histo, "EEOT digi occupancy EE +");
    meEEDigiOccupancy_[1] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
    meEEDigiOccupancy_[1]->setAxisTitle("jx", 1);
    meEEDigiOccupancy_[1]->setAxisTitle("jy", 2);
    sprintf(histo, "EEOT digi occupancy EE + projection eta");
    meEEDigiOccupancyProEta_[1] = dqmStore_->book1DD(histo, histo, 22, 1.479, 3.0);
    meEEDigiOccupancyProEta_[1]->setAxisTitle("eta", 1);
    meEEDigiOccupancyProEta_[1]->setAxisTitle("number of digis", 2);
    sprintf(histo, "EEOT digi occupancy EE + projection phi");
    meEEDigiOccupancyProPhi_[1] = dqmStore_->book1DD(histo, histo, 50, -M_PI, M_PI);
    meEEDigiOccupancyProPhi_[1]->setAxisTitle("phi", 1);
    meEEDigiOccupancyProPhi_[1]->setAxisTitle("number of digis", 2);

    sprintf(histo, "EEOT rec hit occupancy EE -");
    meEERecHitOccupancy_[0] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
    meEERecHitOccupancy_[0]->setAxisTitle("jx", 1);
    meEERecHitOccupancy_[0]->setAxisTitle("jy", 2);
    sprintf(histo, "EEOT rec hit occupancy EE - projection eta");
    meEERecHitOccupancyProEta_[0] = dqmStore_->book1DD(histo, histo, 22, -3.0, -1.479);
    meEERecHitOccupancyProEta_[0]->setAxisTitle("eta", 1);
    meEERecHitOccupancyProEta_[0]->setAxisTitle("number of hits", 2);
    sprintf(histo, "EEOT rec hit occupancy EE - projection phi");
    meEERecHitOccupancyProPhi_[0] = dqmStore_->book1DD(histo, histo, 50, -M_PI, M_PI);
    meEERecHitOccupancyProPhi_[0]->setAxisTitle("phi", 1);
    meEERecHitOccupancyProPhi_[0]->setAxisTitle("number of hits", 2);

    sprintf(histo, "EEOT rec hit occupancy EE +");
    meEERecHitOccupancy_[1] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
    meEERecHitOccupancy_[1]->setAxisTitle("jx", 1);
    meEERecHitOccupancy_[1]->setAxisTitle("jy", 2);
    sprintf(histo, "EEOT rec hit occupancy EE + projection eta");
    meEERecHitOccupancyProEta_[1] = dqmStore_->book1DD(histo, histo, 22, 1.479, 3.0);
    meEERecHitOccupancyProEta_[1]->setAxisTitle("eta", 1);
    meEERecHitOccupancyProEta_[1]->setAxisTitle("number of hits", 2);
    sprintf(histo, "EEOT rec hit occupancy EE + projection phi");
    meEERecHitOccupancyProPhi_[1] = dqmStore_->book1DD(histo, histo, 50, -M_PI, M_PI);
    meEERecHitOccupancyProPhi_[1]->setAxisTitle("phi", 1);
    meEERecHitOccupancyProPhi_[1]->setAxisTitle("number of hits", 2);

    sprintf(histo, "EEOT rec hit thr occupancy EE -");
    meEERecHitOccupancyThr_[0] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
    meEERecHitOccupancyThr_[0]->setAxisTitle("jx", 1);
    meEERecHitOccupancyThr_[0]->setAxisTitle("jy", 2);
    sprintf(histo, "EEOT rec hit thr occupancy EE - projection eta");
    meEERecHitOccupancyProEtaThr_[0] = dqmStore_->book1DD(histo, histo, 22, -3.0, -1.479);
    meEERecHitOccupancyProEtaThr_[0]->setAxisTitle("eta", 1);
    meEERecHitOccupancyProEtaThr_[0]->setAxisTitle("number of hits", 2);
    sprintf(histo, "EEOT rec hit thr occupancy EE - projection phi");
    meEERecHitOccupancyProPhiThr_[0] = dqmStore_->book1DD(histo, histo, 50, -M_PI, M_PI);
    meEERecHitOccupancyProPhiThr_[0]->setAxisTitle("phi", 1);
    meEERecHitOccupancyProPhiThr_[0]->setAxisTitle("number of hits", 2);

    sprintf(histo, "EEOT rec hit thr occupancy EE +");
    meEERecHitOccupancyThr_[1] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
    meEERecHitOccupancyThr_[1]->setAxisTitle("jx", 1);
    meEERecHitOccupancyThr_[1]->setAxisTitle("jy", 2);
    sprintf(histo, "EEOT rec hit thr occupancy EE + projection eta");
    meEERecHitOccupancyProEtaThr_[1] = dqmStore_->book1DD(histo, histo, 22, 1.479, 3.0);
    meEERecHitOccupancyProEtaThr_[1]->setAxisTitle("eta", 1);
    meEERecHitOccupancyProEtaThr_[1]->setAxisTitle("number of hits", 2);
    sprintf(histo, "EEOT rec hit thr occupancy EE + projection phi");
    meEERecHitOccupancyProPhiThr_[1] = dqmStore_->book1DD(histo, histo, 50, -M_PI, M_PI);
    meEERecHitOccupancyProPhiThr_[1]->setAxisTitle("phi", 1);
    meEERecHitOccupancyProPhiThr_[1]->setAxisTitle("number of hits", 2);

    sprintf(histo, "EEOT TP digi occupancy EE -");
    meEETrigPrimDigiOccupancy_[0] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
    meEETrigPrimDigiOccupancy_[0]->setAxisTitle("jx", 1);
    meEETrigPrimDigiOccupancy_[0]->setAxisTitle("jy", 2);
    sprintf(histo, "EEOT TP digi occupancy EE - projection eta");
    meEETrigPrimDigiOccupancyProEta_[0] = dqmStore_->book1DD(histo, histo, 22, -3.0, -1.479);
    meEETrigPrimDigiOccupancyProEta_[0]->setAxisTitle("eta", 1);
    meEETrigPrimDigiOccupancyProEta_[0]->setAxisTitle("number of TP digis", 2);
    sprintf(histo, "EEOT TP digi occupancy EE - projection phi");
    meEETrigPrimDigiOccupancyProPhi_[0] = dqmStore_->book1DD(histo, histo, 50, -M_PI, M_PI);
    meEETrigPrimDigiOccupancyProPhi_[0]->setAxisTitle("phi", 1);
    meEETrigPrimDigiOccupancyProPhi_[0]->setAxisTitle("number of TP digis", 2);

    sprintf(histo, "EEOT TP digi occupancy EE +");
    meEETrigPrimDigiOccupancy_[1] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
    meEETrigPrimDigiOccupancy_[1]->setAxisTitle("jx", 1);
    meEETrigPrimDigiOccupancy_[1]->setAxisTitle("jy", 2);
    sprintf(histo, "EEOT TP digi occupancy EE + projection eta");
    meEETrigPrimDigiOccupancyProEta_[1] = dqmStore_->book1DD(histo, histo, 22, 1.479, 3.0);
    meEETrigPrimDigiOccupancyProEta_[1]->setAxisTitle("eta", 1);
    meEETrigPrimDigiOccupancyProEta_[1]->setAxisTitle("number of TP digis", 2);
    sprintf(histo, "EEOT TP digi occupancy EE + projection phi");
    meEETrigPrimDigiOccupancyProPhi_[1] = dqmStore_->book1DD(histo, histo, 50, -M_PI, M_PI);
    meEETrigPrimDigiOccupancyProPhi_[1]->setAxisTitle("phi", 1);
    meEETrigPrimDigiOccupancyProPhi_[1]->setAxisTitle("number of TP digis", 2);

    sprintf(histo, "EEOT TP digi thr occupancy EE -");
    meEETrigPrimDigiOccupancyThr_[0] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
    meEETrigPrimDigiOccupancyThr_[0]->setAxisTitle("jx", 1);
    meEETrigPrimDigiOccupancyThr_[0]->setAxisTitle("jy", 2);
    sprintf(histo, "EEOT TP digi thr occupancy EE - projection eta");
    meEETrigPrimDigiOccupancyProEtaThr_[0] = dqmStore_->book1DD(histo, histo, 22, -3.0, -1.479);
    meEETrigPrimDigiOccupancyProEtaThr_[0]->setAxisTitle("eta", 1);
    meEETrigPrimDigiOccupancyProEtaThr_[0]->setAxisTitle("number of TP digis", 2);
    sprintf(histo, "EEOT TP digi thr occupancy EE - projection phi");
    meEETrigPrimDigiOccupancyProPhiThr_[0] = dqmStore_->book1DD(histo, histo, 50, -M_PI, M_PI);
    meEETrigPrimDigiOccupancyProPhiThr_[0]->setAxisTitle("phi", 1);
    meEETrigPrimDigiOccupancyProPhiThr_[0]->setAxisTitle("number of TP digis", 2);

    sprintf(histo, "EEOT TP digi thr occupancy EE +");
    meEETrigPrimDigiOccupancyThr_[1] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
    meEETrigPrimDigiOccupancyThr_[1]->setAxisTitle("jx", 1);
    meEETrigPrimDigiOccupancyThr_[1]->setAxisTitle("jy", 2);
    sprintf(histo, "EEOT TP digi thr occupancy EE + projection eta");
    meEETrigPrimDigiOccupancyProEtaThr_[1] = dqmStore_->book1DD(histo, histo, 22, 1.479, 3.0);
    meEETrigPrimDigiOccupancyProEtaThr_[1]->setAxisTitle("eta", 1);
    meEETrigPrimDigiOccupancyProEtaThr_[1]->setAxisTitle("number of TP digis", 2);
    sprintf(histo, "EEOT TP digi thr occupancy EE + projection phi");
    meEETrigPrimDigiOccupancyProPhiThr_[1] = dqmStore_->book1DD(histo, histo, 50, -M_PI, M_PI);
    meEETrigPrimDigiOccupancyProPhiThr_[1]->setAxisTitle("phi", 1);
    meEETrigPrimDigiOccupancyProPhiThr_[1]->setAxisTitle("number of TP digis", 2);

    sprintf(histo, "EEOT test pulse digi occupancy EE -");
    meEETestPulseDigiOccupancy_[0] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
    meEETestPulseDigiOccupancy_[0]->setAxisTitle("jx", 1);
    meEETestPulseDigiOccupancy_[0]->setAxisTitle("jy", 2);

    sprintf(histo, "EEOT test pulse digi occupancy EE +");
    meEETestPulseDigiOccupancy_[1] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
    meEETestPulseDigiOccupancy_[1]->setAxisTitle("jx", 1);
    meEETestPulseDigiOccupancy_[1]->setAxisTitle("jy", 2);

    sprintf(histo, "EEOT led digi occupancy EE -");
    meEELedDigiOccupancy_[0] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
    meEELedDigiOccupancy_[0]->setAxisTitle("jx", 1);
    meEELedDigiOccupancy_[0]->setAxisTitle("jy", 2);

    sprintf(histo, "EEOT led digi occupancy EE +");
    meEELedDigiOccupancy_[1] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
    meEELedDigiOccupancy_[1]->setAxisTitle("jx", 1);
    meEELedDigiOccupancy_[1]->setAxisTitle("jy", 2);

    sprintf(histo, "EEOT laser digi occupancy EE -");
    meEELaserDigiOccupancy_[0] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
    meEELaserDigiOccupancy_[0]->setAxisTitle("jx", 1);
    meEELaserDigiOccupancy_[0]->setAxisTitle("jy", 2);

    sprintf(histo, "EEOT laser digi occupancy EE +");
    meEELaserDigiOccupancy_[1] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
    meEELaserDigiOccupancy_[1]->setAxisTitle("jx", 1);
    meEELaserDigiOccupancy_[1]->setAxisTitle("jy", 2);

    sprintf(histo, "EEOT pedestal digi occupancy EE -");
    meEEPedestalDigiOccupancy_[0] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
    meEEPedestalDigiOccupancy_[0]->setAxisTitle("jx", 1);
    meEEPedestalDigiOccupancy_[0]->setAxisTitle("jy", 2);

    sprintf(histo, "EEOT pedestal digi occupancy EE +");
    meEEPedestalDigiOccupancy_[1] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
    meEEPedestalDigiOccupancy_[1]->setAxisTitle("jx", 1);
    meEEPedestalDigiOccupancy_[1]->setAxisTitle("jy", 2);

  }

}

Member Data Documentation

Definition at line 68 of file EEOccupancyTask.h.

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

Definition at line 78 of file EEOccupancyTask.h.

Referenced by analyze(), and EEOccupancyTask().

Definition at line 76 of file EEOccupancyTask.h.

Referenced by analyze(), and EEOccupancyTask().

Definition at line 79 of file EEOccupancyTask.h.

Referenced by analyze(), and EEOccupancyTask().

Definition at line 80 of file EEOccupancyTask.h.

Referenced by analyze(), and EEOccupancyTask().

Definition at line 77 of file EEOccupancyTask.h.

Referenced by analyze(), and EEOccupancyTask().

Definition at line 72 of file EEOccupancyTask.h.

Referenced by EEOccupancyTask(), and endJob().

float EEOccupancyTask::geometryEE[EEDetId::kSizeForDenseIndexing][2] [private]

Definition at line 116 of file EEOccupancyTask.h.

Referenced by analyze(), and EEOccupancyTask().

int EEOccupancyTask::ievt_ [private]

Definition at line 66 of file EEOccupancyTask.h.

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

bool EEOccupancyTask::init_ [private]

Definition at line 118 of file EEOccupancyTask.h.

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

Definition at line 119 of file EEOccupancyTask.h.

Referenced by beginRun(), and EEOccupancyTask().

Definition at line 91 of file EEOccupancyTask.h.

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

Definition at line 92 of file EEOccupancyTask.h.

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

Definition at line 93 of file EEOccupancyTask.h.

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

Definition at line 107 of file EEOccupancyTask.h.

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

Definition at line 108 of file EEOccupancyTask.h.

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

Definition at line 109 of file EEOccupancyTask.h.

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

Definition at line 87 of file EEOccupancyTask.h.

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

Definition at line 94 of file EEOccupancyTask.h.

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

Definition at line 95 of file EEOccupancyTask.h.

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

Definition at line 98 of file EEOccupancyTask.h.

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

Definition at line 96 of file EEOccupancyTask.h.

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

Definition at line 99 of file EEOccupancyTask.h.

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

Definition at line 97 of file EEOccupancyTask.h.

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

Definition at line 90 of file EEOccupancyTask.h.

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

Definition at line 106 of file EEOccupancyTask.h.

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

Definition at line 100 of file EEOccupancyTask.h.

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

Definition at line 101 of file EEOccupancyTask.h.

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

Definition at line 104 of file EEOccupancyTask.h.

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

Definition at line 102 of file EEOccupancyTask.h.

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

Definition at line 105 of file EEOccupancyTask.h.

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

Definition at line 103 of file EEOccupancyTask.h.

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

Definition at line 84 of file EEOccupancyTask.h.

Definition at line 85 of file EEOccupancyTask.h.

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

Definition at line 86 of file EEOccupancyTask.h.

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

Definition at line 74 of file EEOccupancyTask.h.

Referenced by beginRun(), and EEOccupancyTask().

Definition at line 88 of file EEOccupancyTask.h.

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

Definition at line 114 of file EEOccupancyTask.h.

Referenced by analyze(), and beginRun().

std::string EEOccupancyTask::prefixME_ [private]

Definition at line 70 of file EEOccupancyTask.h.

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

Definition at line 111 of file EEOccupancyTask.h.

Referenced by analyze(), and EEOccupancyTask().

Definition at line 112 of file EEOccupancyTask.h.

Referenced by analyze(), and EEOccupancyTask().