CMS 3D CMS Logo

Public Member Functions | Protected Member Functions | Private Attributes

CSCOfflineClient Class Reference

Global stuff. More...

#include <CSCOfflineClient.h>

Inheritance diagram for CSCOfflineClient:
edm::EDAnalyzer cscdqm::MonitorObjectProvider

List of all members.

Public Member Functions

cscdqm::MonitorObjectbookMonitorObject (const cscdqm::HistoBookRequest &p_req)
 Book Monitor Object on Request.
 CSCOfflineClient (const edm::ParameterSet &ps)
 Constructor.
bool getCSCDetId (const unsigned int crateId, const unsigned int dmbId, CSCDetId &detId) const
virtual ~CSCOfflineClient ()
 Destructor.

Protected Member Functions

void analyze (const edm::Event &e, const edm::EventSetup &c)
void beginJob ()
void beginLuminosityBlock (const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &context)
void beginRun (const edm::Run &r, const edm::EventSetup &c)
void endJob ()
void endLuminosityBlock (edm::LuminosityBlock const &lumiSeg, edm::EventSetup const &iSetup)
void endRun (const edm::Run &r, const edm::EventSetup &c)
void setup ()

Private Attributes

cscdqm::Configuration config
DQMStoredbe
cscdqm::Dispatcherdispatcher

Detailed Description

Global stuff.

DQM Framework stuff CSC Framework stuff CSCDQM Framework stuff Local stuff Local Constants

CSC Offline DQM Client that uses CSCDQM Framework

Definition at line 64 of file CSCOfflineClient.h.


Constructor & Destructor Documentation

CSCOfflineClient::CSCOfflineClient ( const edm::ParameterSet ps)

Constructor.

Global stuff

Parameters:
psParameters.

Definition at line 25 of file CSCOfflineClient.cc.

References config, dbe, dispatcher, edm::ParameterSet::exists(), edm::ParameterSet::getUntrackedParameter(), cscdqm::Dispatcher::init(), cscdqm::Dispatcher::maskHWElements(), and cmsCodeRules::cppFunctionSkipper::operator.

                                                            {

  edm::ParameterSet params = ps.getUntrackedParameter<edm::ParameterSet>("EventProcessor");
  config.load(params);

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

  dispatcher = new cscdqm::Dispatcher(&config, const_cast<CSCOfflineClient*>(this));
  dispatcher->init();

  if (ps.exists("MASKEDHW")) {
    std::vector<std::string> maskedHW = ps.getUntrackedParameter<std::vector<std::string> >("MASKEDHW");
    dispatcher->maskHWElements(maskedHW);
  }

}
CSCOfflineClient::~CSCOfflineClient ( ) [virtual]

Destructor.

Definition at line 45 of file CSCOfflineClient.cc.

References dispatcher.

                                    {
  if (dispatcher) delete dispatcher;
}

Member Function Documentation

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

Implements edm::EDAnalyzer.

Definition at line 99 of file CSCOfflineClient.h.

{ }
void CSCOfflineClient::beginJob ( void  ) [inline, protected, virtual]

EDAnalyzer Implementation

Reimplemented from edm::EDAnalyzer.

Definition at line 96 of file CSCOfflineClient.h.

{ }
void CSCOfflineClient::beginLuminosityBlock ( const edm::LuminosityBlock lumiSeg,
const edm::EventSetup context 
) [inline, protected, virtual]

Reimplemented from edm::EDAnalyzer.

Definition at line 100 of file CSCOfflineClient.h.

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

Reimplemented from edm::EDAnalyzer.

Definition at line 97 of file CSCOfflineClient.h.

{ }
cscdqm::MonitorObject * CSCOfflineClient::bookMonitorObject ( const cscdqm::HistoBookRequest req) [virtual]

Book Monitor Object on Request.

Parameters:
reqRequest.
Returns:
MonitorObject created.

Implements cscdqm::MonitorObjectProvider.

Definition at line 93 of file CSCOfflineClient.cc.

References DQMStore::bookFloat(), DQMStore::bookInt(), DQMStore::bookString(), dbe, cscdqm::HistoBookRequest::default_float, cscdqm::HistoBookRequest::default_int, cscdqm::HistoBookRequest::default_string, DIR_CRTINFO, DIR_DAQINFO, DIR_DCSINFO, DIR_EVENTINFO, cscdqm::MonitorObject::Fill(), cscdqm::FLOAT, cscdqm::HistoBookRequest::folder, cscdqm::HistoBookRequest::hdef, cscdqm::HistoBookRequest::htype, cscdqm::INT, relativeConstraints::keys, mergeVDriftHistosByStation::name, NULL, path(), cscdqm::Utility::regexMatch(), DQMStore::setCurrentFolder(), and cscdqm::STRING.

                                                                                          {

  cscdqm::MonitorObject *me = NULL;
  std::string name = req.hdef->getName();

  std::string path = req.folder;
  if (req.hdef->getPath().size() > 0) {
    path = path + req.hdef->getPath() + "/";
  }
  
  dbe->setCurrentFolder(path);

  if (req.htype == cscdqm::INT) {
    me = new CSCMonitorObject(dbe->bookInt(name));
    me->Fill(req.default_int);
  } else 
  if (req.htype == cscdqm::FLOAT) {
    if (req.hdef->getId() == cscdqm::h::PAR_REPORT_SUMMARY) {
      dbe->setCurrentFolder(DIR_EVENTINFO);
    } else if (cscdqm::Utility::regexMatch("^PAR_DCS_", cscdqm::h::keys[req.hdef->getId()])) {
      dbe->setCurrentFolder(DIR_DCSINFO);
    } else if (cscdqm::Utility::regexMatch("^PAR_DAQ_", cscdqm::h::keys[req.hdef->getId()])) {
      dbe->setCurrentFolder(DIR_DAQINFO);
    } else if (cscdqm::Utility::regexMatch("^PAR_CRT_", cscdqm::h::keys[req.hdef->getId()])) {
      dbe->setCurrentFolder(DIR_CRTINFO);
    }
    me = new CSCMonitorObject(dbe->bookFloat(name));
    me->Fill(req.default_float);
  } else 
  if (req.htype == cscdqm::STRING) {
    me = new CSCMonitorObject(dbe->bookString(name, req.default_string));
  }

  return me;

}
void CSCOfflineClient::endJob ( void  ) [inline, protected, virtual]

Reimplemented from edm::EDAnalyzer.

Definition at line 103 of file CSCOfflineClient.h.

{ }
void CSCOfflineClient::endLuminosityBlock ( edm::LuminosityBlock const &  lumiSeg,
edm::EventSetup const &  iSetup 
) [inline, protected, virtual]

Reimplemented from edm::EDAnalyzer.

Definition at line 101 of file CSCOfflineClient.h.

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

Reimplemented from edm::EDAnalyzer.

Definition at line 49 of file CSCOfflineClient.cc.

References config, dbe, def, DIR_EVENTINFO, dispatcher, cscdqm::Configuration::fnPutHisto, DQMStore::get(), cscdqm::HistoDef::getHistoIdByName(), DQMStore::getMEs(), cscdqm::Configuration::incNEvents(), mergeVDriftHistosByStation::name, DQMStore::setCurrentFolder(), and cscdqm::Dispatcher::updateFractionAndEfficiencyHistos().

                                                                     {

  /*
   *  Putting histograms to internal cache: EMU stuff
   */

  dbe->setCurrentFolder(config.getFOLDER_EMU());
  std::vector<std::string> me_names = dbe->getMEs();
  for (std::vector<std::string>::iterator iter = me_names.begin(); iter != me_names.end(); iter++) {
    std::string me_name = *iter;
    MonitorElement* me = dbe->get(config.getFOLDER_EMU() + me_name);
    cscdqm::HistoId id;
    if (me && cscdqm::HistoDef::getHistoIdByName(me_name, id)) {
      const cscdqm::EMUHistoDef def(id);
      cscdqm::MonitorObject* mo = new CSCMonitorObject(me);
      config.fnPutHisto(def, mo);
    }
  }

  /*
   *  Putting histograms to internal cache: EventInfo
   */

  {
    std::string name = DIR_EVENTINFO;
    name += "reportSummaryMap";
    MonitorElement* me = dbe->get(name);
    if (me) {
      const cscdqm::EMUHistoDef def(cscdqm::h::EMU_CSC_STATS_SUMMARY);
      cscdqm::MonitorObject* mo = new CSCMonitorObject(me);
      config.fnPutHisto(def, mo);
    }
  }

  config.incNEvents();
  dispatcher->updateFractionAndEfficiencyHistos();

}
bool CSCOfflineClient::getCSCDetId ( const unsigned int  crateId,
const unsigned int  dmbId,
CSCDetId detId 
) const [inline, virtual]

MonitorObjectProvider Implementation

Implements cscdqm::MonitorObjectProvider.

Definition at line 87 of file CSCOfflineClient.h.

{ return false; }
void CSCOfflineClient::setup ( ) [inline, protected]

Definition at line 98 of file CSCOfflineClient.h.

{ }

Member Data Documentation

Definition at line 77 of file CSCOfflineClient.h.

Referenced by CSCOfflineClient(), and endRun().

Definition at line 79 of file CSCOfflineClient.h.

Referenced by bookMonitorObject(), CSCOfflineClient(), and endRun().

Definition at line 78 of file CSCOfflineClient.h.

Referenced by CSCOfflineClient(), endRun(), and ~CSCOfflineClient().