CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_10_patch1/src/DQM/L1TMonitorClient/interface/L1TEventInfoClient.h

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