CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/src/DQM/BeamMonitor/plugins/AlcaBeamMonitorClient.h

Go to the documentation of this file.
00001 #ifndef DQM_BeamMonitor_AlcaBeamMonitorClient_h
00002 #define DQM_BeamMonitor_AlcaBeamMonitorClient_h
00003 
00011 // C++
00012 #include <map>
00013 #include <vector>
00014 #include <string>
00015 // CMS
00016 #include "FWCore/Framework/interface/Frameworkfwd.h"
00017 #include "FWCore/Framework/interface/EDAnalyzer.h"
00018 #include "FWCore/Framework/interface/Event.h"
00019 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00020 #include "DQMServices/Core/interface/DQMStore.h"
00021 #include "DQMServices/Core/interface/MonitorElement.h"
00022 #include "DataFormats/Provenance/interface/LuminosityBlockID.h"
00023 //#include "DataFormats/VertexReco/interface/Vertex.h"
00024 //#include "DataFormats/VertexReco/interface/VertexFwd.h"
00025 
00026 class AlcaBeamMonitorClient : public edm::EDAnalyzer {
00027  public:
00028   AlcaBeamMonitorClient( const edm::ParameterSet& );
00029   ~AlcaBeamMonitorClient();
00030 
00031  protected:
00032 
00033   void beginJob            (void);
00034   void beginRun            (const edm::Run& iRun,              const edm::EventSetup& iSetup);
00035   void analyze             (const edm::Event& iEvent,          const edm::EventSetup& iSetup);
00036   void beginLuminosityBlock(const edm::LuminosityBlock& iLumi, const edm::EventSetup& iSetup);
00037   void endLuminosityBlock  (const edm::LuminosityBlock& iLumi, const edm::EventSetup& iSetup);
00038   void endRun              (const edm::Run& iRun,              const edm::EventSetup& iSetup);
00039   void endJob              (const edm::LuminosityBlock& iLumi, const edm::EventSetup& iSetup);
00040   
00041  private:
00042   //                x,y,z,sigmax(y,z)... [run,lumi]          Histo name      
00043   typedef std::map<std::string,std::map<std::string,std::map<std::string,MonitorElement*> > > HistosContainer;
00044 
00045   //                x,y,z,sigmax(y,z)... [run,lumi]          Histo name      
00046   typedef std::map<std::string,std::map<std::string,std::map<std::string,int> > > PositionContainer;
00047 
00048   //Parameters
00049   edm::ParameterSet parameters_;
00050   std::string       monitorName_;
00051 
00052   //Service variables
00053   int         numberOfValuesToSave_;
00054   DQMStore*   dbe_;
00055 
00056   //Containers
00057   HistosContainer                                             histosMap_;
00058   std::vector<std::string>                                    varNamesV_; //x,y,z,sigmax(y,z)
00059   std::multimap<std::string,std::string>                      histoByCategoryNames_; //run, lumi
00060   std::map<edm::LuminosityBlockNumber_t,std::vector<double> > valuesMap_;
00061   PositionContainer                                           positionsMap_;
00062 };
00063 
00064 #endif
00065