CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch13/src/DQM/L1TMonitorClient/interface/L1TEMUEventInfoClient.h

Go to the documentation of this file.
00001 #ifndef DQM_L1TMONITORCLIENT_L1TEMUEventInfoClient_H
00002 #define DQM_L1TMONITORCLIENT_L1TEMUEventInfoClient_H
00003 
00004 #include "FWCore/Framework/interface/Frameworkfwd.h"
00005 #include "FWCore/Framework/interface/Event.h"
00006 #include "FWCore/Framework/interface/MakerMacros.h"
00007 #include <FWCore/Framework/interface/EDAnalyzer.h>
00008 #include "DQMServices/Core/interface/MonitorElement.h"
00009 
00010 #include <memory>
00011 #include <iostream>
00012 #include <fstream>
00013 #include <string>
00014 #include <vector>
00015 #include <map>
00016 #include <TH1F.h>
00017 #include <TH2F.h>
00018 #include <TProfile2D.h>
00019 
00020 class DQMStore;
00021 
00022 class L1TEMUEventInfoClient: public edm::EDAnalyzer {
00023 
00024 public:
00025 
00027   L1TEMUEventInfoClient(const edm::ParameterSet& ps);
00028   
00030   virtual ~L1TEMUEventInfoClient();
00031  
00032 protected:
00033 
00035   void beginJob(void);
00036 
00038   void beginRun(const edm::Run& r, const edm::EventSetup& c);
00039 
00041   void analyze(const edm::Event& e, const edm::EventSetup& c) ;
00042 
00043   void beginLuminosityBlock(const edm::LuminosityBlock& lumiSeg, 
00044                             const edm::EventSetup& context) ;
00045 
00047   void endLuminosityBlock(const edm::LuminosityBlock& lumiSeg, 
00048                           const edm::EventSetup& c);
00049 
00051   void endRun(const edm::Run& r, const edm::EventSetup& c);
00052 
00054   void endJob();
00055 
00056 private:
00057 
00058   void initialize();
00059   TH1F * get1DHisto(std::string meName, DQMStore * dbi);
00060   TH2F * get2DHisto(std::string meName, DQMStore * dbi);
00061   TProfile2D * get2DProfile(std::string meName, DQMStore * dbi);
00062   TProfile * get1DProfile(std::string meName, DQMStore * dbi);
00063   edm::ParameterSet parameters_;
00064   std::string StringToUpper(std::string strToConvert);
00065 
00066   DQMStore* dbe_;  
00067   std::string monitorDir_;
00068   bool verbose_;
00069   int counterLS_;      
00070   int counterEvt_;     
00071   int prescaleLS_;     
00072   int prescaleEvt_;    
00073   int nChannels;
00074 
00075   enum DataValue { data_empty, data_all, data_gt, data_muons, 
00076                    data_jets, data_taujets, data_isoem, 
00077                    data_nonisoem, data_met };
00078   enum EmulValue { emul_empty, emul_all, emul_gt, emul_dtf, 
00079                    emul_dtp, emul_ctf, emul_ctp, emul_rpc, 
00080                    emul_gmt, emul_etp, emul_htp, emul_rct, 
00081                    emul_gct, emul_glt };
00082 
00083   std::map<std::string, DataValue> s_mapDataValues;
00084   std::map<std::string, EmulValue> s_mapEmulValues;
00085   std::map<int, int> emulatorMap;
00086 
00087   Float_t setSummary(MonitorElement*);
00088   static const int nsys_=18;
00089   static const int nsysmon_=11;
00090 
00091   Float_t reportSummary;
00092   Float_t summarySum;
00093   Float_t summaryContent[nsys_];
00094   std::vector<std::string> dataMask;
00095   std::vector<std::string> emulMask;
00096   std::string syslabel_   [nsysmon_];
00097   std::string syslabelext_[nsysmon_];
00098   bool sysmask_[nsysmon_];
00099 
00100   // -------- member data --------
00101 
00102   MonitorElement * reportSummary_;
00103   MonitorElement * reportSummaryContent_[nsys_];
00104   MonitorElement * reportSummaryMap_;
00105 
00106 
00107 };
00108 
00109 #endif