CMS 3D CMS Logo

Public Member Functions | Private Attributes

MonitorLTC Class Reference

#include <MonitorLTC.h>

Inheritance diagram for MonitorLTC:
edm::EDAnalyzer

List of all members.

Public Member Functions

virtual void analyze (const edm::Event &, const edm::EventSetup &)
virtual void beginJob ()
virtual void endJob ()
 MonitorLTC (const edm::ParameterSet &)
 ~MonitorLTC ()

Private Attributes

edm::ParameterSet conf_
DQMStoredqmStore_
std::string HLTDirectory
MonitorElementLTCTriggerDecision_all

Detailed Description

Definition at line 25 of file MonitorLTC.h.


Constructor & Destructor Documentation

MonitorLTC::MonitorLTC ( const edm::ParameterSet iConfig) [explicit]

Definition at line 21 of file MonitorLTC.cc.

References conf_, dqmStore_, HLTDirectory, and cmsCodeRules::cppFunctionSkipper::operator.

{
  HLTDirectory="HLTResults";
  dqmStore_  = edm::Service<DQMStore>().operator->();
  conf_ = iConfig;
}
MonitorLTC::~MonitorLTC ( ) [inline]

Definition at line 28 of file MonitorLTC.h.

{};

Member Function Documentation

void MonitorLTC::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
) [virtual]

Implements edm::EDAnalyzer.

Definition at line 49 of file MonitorLTC.cc.

References MonitorElement::Fill(), edm::Event::getByType(), and LTCTriggerDecision_all.

{
  edm::Handle<LTCDigiCollection> ltcdigis; iEvent.getByType(ltcdigis);
//  unsigned int ltc_run;
//  unsigned int ltc_event;
//  unsigned int ltc_triggerNumber;
//  unsigned int ltc_mask; // eight bits
//  unsigned long long int ltc_gpstime;
//  unsigned int ltc_orbit;
//  unsigned int ltc_bunch;
//  unsigned int ltc_inhibit;
  for( LTCDigiCollection::const_iterator ltcdigiItr = ltcdigis->begin() ; ltcdigiItr != ltcdigis->end() ; ++ltcdigiItr ) {
//    ltc_run = ltcdigiItr->runNumber();
//    ltc_event = ltcdigiItr->eventNumber();
//    ltc_triggerNumber = ltcdigiItr->eventID();
//    ltc_bunch = ltcdigiItr->bunchNumber();
//    ltc_orbit = ltcdigiItr->orbitNumber();
//    ltc_inhibit = ltcdigiItr->triggerInhibitNumber();
//    ltc_mask = (unsigned int)(ltcdigiItr->externTriggerMask());
//    ltc_gpstime = ltcdigiItr->bstGpsTime();
    for ( int ibit = 0; ibit < 7; ++ibit ) {
      if ( ltcdigiItr->HasTriggered(ibit) ) {
       LTCTriggerDecision_all->Fill(ibit,1.);
      }
    }
    //
//    std::cout << "XXX: "
//              << ltcdigiItr->runNumber() << " "
//              << ltcdigiItr->eventNumber() << " "
//              << ltcdigiItr->bunchNumber() << " "
//              << ltcdigiItr->orbitNumber() << " "
//              << "0x" << std::hex
//              << int(ltcdigiItr->externTriggerMask()) << " "
//              << std::dec
//              << ltcdigiItr->triggerInhibitNumber() << " "
//              << ltcdigiItr->bstGpsTime() << " "
//              << std::endl;
//    std::cout << (*ltcdigiItr) << std::endl;
  }

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

Reimplemented from edm::EDAnalyzer.

Definition at line 29 of file MonitorLTC.cc.

References DQMStore::book1D(), conf_, dqmStore_, edm::ParameterSet::getParameter(), HLTDirectory, LTCTriggerDecision_all, MonitorElement::setBinLabel(), and DQMStore::setCurrentFolder().

                         {
  dqmStore_->setCurrentFolder(HLTDirectory);
  // 0 DT
  // 1 CSC
  // 2 RBC1 (RPC techn. cosmic trigger for wheel +1, sector 10)
  // 3 RBC2 (RPC techn. cosmic trigger for wheel +2, sector 10)
  // 4 RPCTB (RPC Trigger Board trigger, covering both sectors 10 of both wheels, but with different geometrical acceptance ("pointing"))
  // 5 unused 
//  edm::CurrentProcessingContext const* current_processing_context = currentContext();
//  std::string const* the_label = moduleLabel();
  std::string the_label = conf_.getParameter<std::string>("@module_label");
  std::string ltctitle = the_label + "_LTCTriggerDecision";
  LTCTriggerDecision_all = dqmStore_->book1D(ltctitle, ltctitle, 8, -0.5, 7.5);
  LTCTriggerDecision_all->setBinLabel(1, "DT");
  LTCTriggerDecision_all->setBinLabel(2, "CSC");
  LTCTriggerDecision_all->setBinLabel(3, "RBC1");
  LTCTriggerDecision_all->setBinLabel(4, "RBC2");
  LTCTriggerDecision_all->setBinLabel(5, "RPCTB");
}
void MonitorLTC::endJob ( void  ) [virtual]

Reimplemented from edm::EDAnalyzer.

Definition at line 91 of file MonitorLTC.cc.

References conf_, dqmStore_, edm::ParameterSet::getParameter(), ExpressReco_HICollisions_FallBack::outputFileName, and DQMStore::save().

                           {
  bool outputMEsInRootFile = conf_.getParameter<bool>("OutputMEsInRootFile");
  std::string outputFileName = conf_.getParameter<std::string>("OutputFileName");
  if(outputMEsInRootFile){
    dqmStore_->save(outputFileName);
  }
}

Member Data Documentation

Definition at line 34 of file MonitorLTC.h.

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

Definition at line 33 of file MonitorLTC.h.

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

std::string MonitorLTC::HLTDirectory [private]

Definition at line 38 of file MonitorLTC.h.

Referenced by beginJob(), and MonitorLTC().

Definition at line 36 of file MonitorLTC.h.

Referenced by analyze(), and beginJob().