CMS 3D CMS Logo

CSCHLTMonitorModule.cc

Go to the documentation of this file.
00001 /*
00002  * =====================================================================================
00003  *
00004  *       Filename:  CSCHLTMonitorModule.cc
00005  *
00006  *    Description:  CSC HLT Monitor module class
00007  *
00008  *        Version:  1.0
00009  *        Created:  09/15/2008 01:26:43 PM
00010  *       Revision:  none
00011  *       Compiler:  gcc
00012  *
00013  *         Author:  Valdas Rapsevicius (VR), Valdas.Rapsevicius@cern.ch
00014  *        Company:  CERN, CH
00015  *
00016  * =====================================================================================
00017  */
00018 
00019 #include "DQM/CSCMonitorModule/interface/CSCHLTMonitorModule.h"
00020 
00026 CSCHLTMonitorModule::CSCHLTMonitorModule(const edm::ParameterSet& ps){
00027 
00028   parameters = ps;
00029 
00030   examinerMask   = parameters.getUntrackedParameter<unsigned int>("ExaminerMask", 0x7FB7BF6);
00031   examinerForce  = parameters.getUntrackedParameter<bool>("ExaminerForce", false);
00032   examinerOutput = parameters.getUntrackedParameter<bool>("ExaminerOutput", false);
00033   examinerCRCKey = parameters.getUntrackedParameter<unsigned int>("ExaminerCRCKey", 0);
00034   inputObjectsTag = parameters.getUntrackedParameter<edm::InputTag>("InputObjects", (edm::InputTag)"source");
00035   monitorName = parameters.getUntrackedParameter<std::string>("monitorName", "CSC");
00036 
00037   fedIdMin = parameters.getUntrackedParameter<unsigned int>("FEDIdMin", 0);
00038   fedIdMax = parameters.getUntrackedParameter<unsigned int>("FEDIdMax", 1);
00039 
00040   rootDir = monitorName + "/";
00041   nEvents = 0;
00042 
00043   // Get back-end interface
00044   dbe = edm::Service<DQMStore>().operator->();
00045 
00046   this->init = false;
00047 
00048 }
00049 
00055 CSCHLTMonitorModule::~CSCHLTMonitorModule(){
00056 
00057 }
00058 
00065 void CSCHLTMonitorModule::beginJob(const edm::EventSetup& c){
00066 
00067 }
00068 
00069 void CSCHLTMonitorModule::setup() {
00070 
00071   // Base folder for the contents of this job
00072   dbe->setCurrentFolder(rootDir + FED_FOLDER);
00073 
00074   unsigned int fsize = fedIdMax - fedIdMin + 1;
00075   mes.insert(std::make_pair("FEDEntries", dbe->book1D("FEDEntries", "CSC FED Entries", fsize, fedIdMin, fedIdMax)));
00076   mes.insert(std::make_pair("FEDFatal", dbe->book1D("FEDFatal", "CSC FED Fatal Errors", fsize, fedIdMin, fedIdMax)));
00077   mes.insert(std::make_pair("FEDNonFatal", dbe->book1D("FEDNonFatal", "CSC FED Non Fatal Errors", fsize, fedIdMin, fedIdMax)));
00078 
00079   for(MeMap::iterator iter = mes.begin(); iter != mes.end(); iter++) {
00080     MonitorElement *me = iter->second; 
00081     TH1 *h = me->getTH1();
00082     me->setAxisTitle("FED Id", 1);
00083     me->setAxisTitle("# of Events", 2);
00084     h->SetOption("bar1text");
00085     h->SetStats(0);
00086   }
00087   
00088   this->init = true;
00089 
00090 }
00091 
00099 void CSCHLTMonitorModule::analyze(const edm::Event& e, const edm::EventSetup& c){
00100 
00101   // Get crate mapping from database
00102   edm::ESHandle<CSCCrateMap> hcrate;
00103   c.get<CSCCrateMapRcd>().get(hcrate);
00104 
00105   // Lets initialize MEs if it was not done so before 
00106   if (!this->init) {
00107     this->setup();
00108   }
00109 
00110   // Pass event to monitoring chain
00111   monitorEvent(e);
00112 
00113 }
00114 
00122 void CSCHLTMonitorModule::endJob(void){
00123 
00124 }
00125 
00126 void CSCHLTMonitorModule::beginRun(const edm::Run& r, const edm::EventSetup& context) {
00127 
00128 }
00129 
00130 void CSCHLTMonitorModule::endRun(const edm::Run& r, const edm::EventSetup& context) {
00131 
00132 }
00133 
00134 void CSCHLTMonitorModule::beginLuminosityBlock(const edm::LuminosityBlock& lumiSeg, const edm::EventSetup& context) {
00135 
00136 }
00137 

Generated on Tue Jun 9 17:32:33 2009 for CMSSW by  doxygen 1.5.4