CMS 3D CMS Logo

Public Types | Public Member Functions | Static Public Member Functions | Private Attributes

ecaldqm::RawDataClient Class Reference

#include <RawDataClient.h>

Inheritance diagram for ecaldqm::RawDataClient:
ecaldqm::DQWorkerClient ecaldqm::DQWorker

List of all members.

Public Types

enum  MESets { kQualitySummary, nMESets }
enum  Sources { sL1ADCC, sFEStatus, nSources }

Public Member Functions

void bookMEs ()
void producePlots ()
 RawDataClient (const edm::ParameterSet &, const edm::ParameterSet &)
 ~RawDataClient ()

Static Public Member Functions

static void setMEData (std::vector< MEData > &)

Private Attributes

int synchErrorThreshold_

Detailed Description

Definition at line 8 of file RawDataClient.h.


Member Enumeration Documentation

Enumerator:
kQualitySummary 
nMESets 

Reimplemented from ecaldqm::DQWorker.

Definition at line 17 of file RawDataClient.h.

Enumerator:
sL1ADCC 
sFEStatus 
nSources 

Reimplemented from ecaldqm::DQWorkerClient.

Definition at line 24 of file RawDataClient.h.


Constructor & Destructor Documentation

data refman pasoursint CMSSW_5_2_7_hltpatch2 src DQM EcalBarrelMonitorClient src RawDataClient cc ecaldqm::RawDataClient::RawDataClient ( const edm::ParameterSet _params,
const edm::ParameterSet _paths 
)

Definition at line 13 of file RawDataClient.cc.

References edm::ParameterSet::getUntrackedParameter(), edm::ParameterSet::getUntrackedParameterSet(), ecaldqm::RawDataTask::kFEStatus, and ecaldqm::RawDataTask::kL1ADCC.

  {
    edm::ParameterSet const& taskParams(_params.getUntrackedParameterSet(name_));
    synchErrorThreshold_ = taskParams.getUntrackedParameter<int>("synchErrorThreshold");

    edm::ParameterSet const& sources(_params.getUntrackedParameterSet("sources"));
    source_(sL1ADCC, "RawDataTask", RawDataTask::kL1ADCC, sources);
    source_(sFEStatus, "RawDataTask", RawDataTask::kFEStatus, sources);
  }

ecaldqm::RawDataClient::~RawDataClient ( ) [inline]

Definition at line 11 of file RawDataClient.h.

{}

Member Function Documentation

void ecaldqm::RawDataClient::bookMEs ( ) [virtual]

Reimplemented from ecaldqm::DQWorker.

Definition at line 26 of file RawDataClient.cc.

References kQualitySummary, and ecaldqm::DQWorker::MEs_.

  {
    DQWorker::bookMEs();

    MEs_[kQualitySummary]->resetAll(-1.);
  }

void ecaldqm::RawDataClient::producePlots ( ) [virtual]

Implements ecaldqm::DQWorkerClient.

Definition at line 34 of file RawDataClient.cc.

References ecaldqm::Disabled, python::tagInventory::entries, ecaldqm::FIFOFull, ecaldqm::FIFOFullL1ADesync, ecaldqm::DQWorkerClient::fillQuality_(), ecaldqm::ForcedZS, ecaldqm::getElectronicsMap(), ecaldqm::getNSuperCrystals(), kQualitySummary, ecaldqm::nFEFlags, sFEStatus, sL1ADCC, ecaldqm::DQWorkerClient::sources_, EcalDQMStatusHelper::STATUS_FLAG_ERROR, ecaldqm::Suppressed, synchErrorThreshold_, and ecaldqm::DQWorkerClient::towerStatus.

  {
    uint32_t mask(1 << EcalDQMStatusHelper::STATUS_FLAG_ERROR);

    for(unsigned dccid(1); dccid <= 54; dccid++){

      float l1aDesync(sources_[sL1ADCC]->getBinContent(dccid));

      float dccStatus(l1aDesync > synchErrorThreshold_ ? 0. : 1.);

      for(unsigned tower(1); tower <= getNSuperCrystals(dccid); tower++){
        std::vector<DetId> ids(getElectronicsMap()->dccTowerConstituents(dccid, tower));

        if(ids.size() == 0) continue;

        float towerStatus(dccStatus);

        if(towerStatus > 0.){ // if the DCC is good, look into individual FEs
          float towerEntries(0.);
          for(unsigned iS(0); iS < nFEFlags; iS++){
            float entries(sources_[sFEStatus]->getBinContent(ids[0], iS + 1));
            towerEntries += entries;
            if(entries > 0. &&
               iS != Enabled && iS != Disabled && iS != Suppressed &&
               iS != FIFOFull && iS != FIFOFullL1ADesync && iS != ForcedZS)
              towerStatus = 0.;
          }

          if(towerEntries < 1.) towerStatus = 2.;
        }

        if(dccid <= 9 || dccid >= 46){
          std::vector<EcalScDetId> scs(getElectronicsMap()->getEcalScDetId(dccid, tower));
          for(std::vector<EcalScDetId>::iterator scItr(scs.begin()); scItr != scs.end(); ++scItr)
            fillQuality_(kQualitySummary, *scItr, mask, towerStatus);
        }
        else
          fillQuality_(kQualitySummary, ids[0], mask, towerStatus);
      }
    }
  }

void ecaldqm::RawDataClient::setMEData ( std::vector< MEData > &  _data) [static]

Member Data Documentation

Definition at line 31 of file RawDataClient.h.

Referenced by producePlots().