CMS 3D CMS Logo

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

RPCFEDIntegrity Class Reference

#include <RPCFEDIntegrity.h>

Inheritance diagram for RPCFEDIntegrity:
edm::EDAnalyzer

List of all members.

Public Member Functions

void analyze (const edm::Event &iEvent, const edm::EventSetup &c)
 Analyze.
void beginJob ()
 BeginJob.
void beginLuminosityBlock (edm::LuminosityBlock const &lumiSeg, edm::EventSetup const &context)
 Begin Lumi block.
void beginRun (const edm::Run &r, const edm::EventSetup &c)
void endJob ()
void endLuminosityBlock (edm::LuminosityBlock const &lumiSeg, edm::EventSetup const &c)
 End Lumi Block.
void endRun (const edm::Run &r, const edm::EventSetup &c)
 RPCFEDIntegrity (const edm::ParameterSet &ps)
 Constructor.
virtual ~RPCFEDIntegrity ()
 Destructor.

Private Types

enum  fedHisto { Entries, Fatal, NonFatal }

Private Member Functions

void bookFEDMe (void)
void labelBins (MonitorElement *myMe)
void reset (void)

Private Attributes

DQMStoredbe_
int FATAL_LIMIT
MonitorElementfedMe_ [3]
std::vector< std::string > histoName_
bool init_
int maxFEDNum_
bool merge_
int minFEDNum_
int numOfFED_
std::string prefixDir_
edm::InputTag rawCountsLabel_

Detailed Description

Definition at line 16 of file RPCFEDIntegrity.h.


Member Enumeration Documentation

enum RPCFEDIntegrity::fedHisto [private]
Enumerator:
Entries 
Fatal 
NonFatal 

Definition at line 60 of file RPCFEDIntegrity.h.


Constructor & Destructor Documentation

RPCFEDIntegrity::RPCFEDIntegrity ( const edm::ParameterSet ps)

Constructor.

Definition at line 21 of file RPCFEDIntegrity.cc.

References FATAL_LIMIT, edm::ParameterSet::getUntrackedParameter(), init_, maxFEDNum_, merge_, minFEDNum_, numOfFED_, prefixDir_, and rawCountsLabel_.

                                                           {
  edm::LogVerbatim ("rpcfedintegrity") << "[RPCFEDIntegrity]: Constructor";

  rawCountsLabel_ = ps.getUntrackedParameter<edm::InputTag>("RPCRawCountsInputTag");
  prefixDir_ = ps.getUntrackedParameter<std::string>("RPCPrefixDir", "RPC/FEDIntegrity");
  merge_ = ps.getUntrackedParameter<bool>("MergeRuns", false);
  minFEDNum_ =  ps.getUntrackedParameter<int>("MinimumFEDID", 790);
  maxFEDNum_ =  ps.getUntrackedParameter<int>("MaximumFEDID", 792);

  init_ = false;
  numOfFED_=   maxFEDNum_ -  minFEDNum_ + 1;
  FATAL_LIMIT = 5;
}
RPCFEDIntegrity::~RPCFEDIntegrity ( ) [virtual]

Destructor.

Definition at line 35 of file RPCFEDIntegrity.cc.

                                 {
  edm::LogVerbatim ("rpcfedintegrity") << "[RPCFEDIntegrity]: Destructor ";
  //  dbe_=0;
}

Member Function Documentation

void RPCFEDIntegrity::analyze ( const edm::Event iEvent,
const edm::EventSetup c 
) [virtual]

Analyze.

Implements edm::EDAnalyzer.

Definition at line 55 of file RPCFEDIntegrity.cc.

References Entries, Fatal, RPCRawDataCounts::fedBxRecords(), RPCRawDataCounts::fedErrorRecords(), RPCRawDataCounts::fedFormatErrors(), fedMe_, HcalObjRepresent::Fill(), edm::Event::getByLabel(), edm::HandleBase::isValid(), maxFEDNum_, minFEDNum_, NonFatal, edm::Handle< T >::product(), and rawCountsLabel_.

                                                                            {
  
  //get hold of raw data counts
  edm::Handle<RPCRawDataCounts> rawCounts;
  iEvent.getByLabel (rawCountsLabel_, rawCounts);
  if(!rawCounts.isValid()) return;


  const RPCRawDataCounts  & counts = *rawCounts.product();
 
  for (int fed=minFEDNum_; fed <=maxFEDNum_; ++fed) {
    if (counts.fedBxRecords(fed) ) fedMe_[Entries]->Fill(fed);
    if (counts.fedFormatErrors(fed)) fedMe_[Fatal]->Fill(fed);
    if (counts.fedErrorRecords(fed)) fedMe_[NonFatal]->Fill(fed);
  }
}
void RPCFEDIntegrity::beginJob ( void  ) [virtual]

BeginJob.

Reimplemented from edm::EDAnalyzer.

Definition at line 40 of file RPCFEDIntegrity.cc.

References dbe_, and cmsCodeRules::cppFunctionSkipper::operator.

                              {
  edm::LogVerbatim ("rpcfedintegrity") << "[RPCFEDIntegrity]: Begin job ";
  dbe_ = edm::Service<DQMStore>().operator->();
}
void RPCFEDIntegrity::beginLuminosityBlock ( edm::LuminosityBlock const &  lumiSeg,
edm::EventSetup const &  context 
) [virtual]

Begin Lumi block.

Reimplemented from edm::EDAnalyzer.

Definition at line 53 of file RPCFEDIntegrity.cc.

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

Reimplemented from edm::EDAnalyzer.

Definition at line 45 of file RPCFEDIntegrity.cc.

References bookFEDMe(), init_, merge_, and reset().

                                                                     {
  edm::LogVerbatim ("rpcfedintegrity") << "[RPCFEDIntegrity]: Begin run ";

 if (!init_) this->bookFEDMe();
 else if (!merge_) this->reset();

}
void RPCFEDIntegrity::bookFEDMe ( void  ) [private]

Definition at line 81 of file RPCFEDIntegrity.cc.

References DQMStore::book1D(), dbe_, Entries, Fatal, fedMe_, init_, labelBins(), maxFEDNum_, minFEDNum_, NonFatal, numOfFED_, prefixDir_, and DQMStore::setCurrentFolder().

Referenced by beginRun().

                                    {

  if(dbe_){
    dbe_->setCurrentFolder(prefixDir_);

    fedMe_[Entries] =  dbe_->book1D("FEDEntries","FED Entries",numOfFED_, minFEDNum_, maxFEDNum_ +1);
    this->labelBins(fedMe_[Entries]);
    fedMe_[Fatal] =  dbe_->book1D("FEDFatal","FED Fatal Errors",numOfFED_, minFEDNum_, maxFEDNum_ +1);
    this->labelBins(fedMe_[Fatal]);
    fedMe_[NonFatal] =  dbe_->book1D("FEDNonFatal","FED NON Fatal Errors",numOfFED_, minFEDNum_, maxFEDNum_ +1);
   this->labelBins(fedMe_[NonFatal]);
  }

  init_ = true;
}
void RPCFEDIntegrity::endJob ( void  ) [virtual]

Reimplemented from edm::EDAnalyzer.

Definition at line 76 of file RPCFEDIntegrity.cc.

References dbe_.

                            {
  dbe_=0;
}
void RPCFEDIntegrity::endLuminosityBlock ( edm::LuminosityBlock const &  lumiSeg,
edm::EventSetup const &  c 
) [virtual]

End Lumi Block.

Reimplemented from edm::EDAnalyzer.

Definition at line 72 of file RPCFEDIntegrity.cc.

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

Reimplemented from edm::EDAnalyzer.

Definition at line 74 of file RPCFEDIntegrity.cc.

{}
void RPCFEDIntegrity::labelBins ( MonitorElement myMe) [private]

Definition at line 97 of file RPCFEDIntegrity.cc.

References MonitorElement::getNbinsX(), i, minFEDNum_, numOfFED_, MonitorElement::setBinLabel(), and fw3dlego::xbins.

Referenced by bookFEDMe().

                                                     {

  int xbins = myMe->getNbinsX();
  
  if (xbins!= numOfFED_ ) return;
  std::stringstream xLabel;

  for (int i = 0; i<xbins; i++){
    xLabel.str("");
    int fedNum =  minFEDNum_ + i;
    xLabel<<fedNum;
    myMe->setBinLabel(i+1, xLabel.str(),1);    
  }
}
void RPCFEDIntegrity::reset ( void  ) [private]

Definition at line 113 of file RPCFEDIntegrity.cc.

References dbe_, DQMStore::get(), histoName_, i, prefixDir_, and MonitorElement::Reset().

Referenced by beginRun().

                                {

  MonitorElement * me;  

  if(dbe_){
    for(unsigned int i = 0; i<histoName_.size(); i++){
      me = 0;
      me = dbe_->get(prefixDir_ + histoName_[i]);
      if(0!=me ) me->Reset();
    }
  }
}

Member Data Documentation

Definition at line 56 of file RPCFEDIntegrity.h.

Referenced by beginJob(), bookFEDMe(), endJob(), and reset().

Definition at line 58 of file RPCFEDIntegrity.h.

Referenced by RPCFEDIntegrity().

Definition at line 62 of file RPCFEDIntegrity.h.

Referenced by analyze(), and bookFEDMe().

std::vector<std::string> RPCFEDIntegrity::histoName_ [private]

Definition at line 65 of file RPCFEDIntegrity.h.

Referenced by reset().

bool RPCFEDIntegrity::init_ [private]

Definition at line 54 of file RPCFEDIntegrity.h.

Referenced by beginRun(), bookFEDMe(), and RPCFEDIntegrity().

Definition at line 64 of file RPCFEDIntegrity.h.

Referenced by analyze(), bookFEDMe(), and RPCFEDIntegrity().

bool RPCFEDIntegrity::merge_ [private]

Definition at line 54 of file RPCFEDIntegrity.h.

Referenced by beginRun(), and RPCFEDIntegrity().

Definition at line 64 of file RPCFEDIntegrity.h.

Referenced by analyze(), bookFEDMe(), labelBins(), and RPCFEDIntegrity().

Definition at line 64 of file RPCFEDIntegrity.h.

Referenced by bookFEDMe(), labelBins(), and RPCFEDIntegrity().

std::string RPCFEDIntegrity::prefixDir_ [private]

Definition at line 52 of file RPCFEDIntegrity.h.

Referenced by bookFEDMe(), reset(), and RPCFEDIntegrity().

Definition at line 48 of file RPCFEDIntegrity.h.

Referenced by analyze(), and RPCFEDIntegrity().