CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/src/DQMOffline/CalibCalo/interface/DQMSourceEleCalib.h

Go to the documentation of this file.
00001 #ifndef DQMSourceEleCalib_H
00002 #define DQMSourceEleCalib_H
00003 
00016 #include "FWCore/Framework/interface/Frameworkfwd.h"
00017 #include "FWCore/Framework/interface/EDAnalyzer.h"
00018 #include "DataFormats/DetId/interface/DetId.h"
00019 #include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h"
00020 
00021 class DQMStore;
00022 class MonitorElement;
00023 
00024 class DQMSourceEleCalib : public edm::EDAnalyzer {
00025 
00026 public:
00027 
00028   DQMSourceEleCalib( const edm::ParameterSet& );
00029   ~DQMSourceEleCalib();
00030 
00031 protected:
00032    
00033   void beginJob();
00034 
00035   void beginRun(const edm::Run& r, const edm::EventSetup& c);
00036 
00037   void analyze(const edm::Event& e, const edm::EventSetup& c) ;
00038 
00039   void beginLuminosityBlock(const edm::LuminosityBlock& lumiSeg, 
00040                             const edm::EventSetup& context) ;
00041 
00042   void endLuminosityBlock(const edm::LuminosityBlock& lumiSeg, 
00043                           const edm::EventSetup& c);
00044 
00045   void endRun(const edm::Run& r, const edm::EventSetup& c);
00046 
00047   void endJob();
00048 
00049 private:
00050   
00052   DetId findMaxHit (const std::vector<std::pair<DetId, float> >&,
00053                     const EcalRecHitCollection*, 
00054                     const EcalRecHitCollection*  
00055                   );
00057   void fillAroundBarrel (const EcalRecHitCollection *, int, int);
00058   void fillAroundEndcap (const EcalRecHitCollection *, int, int);
00059 
00060   DQMStore*   dbe_;  
00061   int eventCounter_;      
00062                         
00064   MonitorElement * recHitsPerElectron_;
00066   MonitorElement * ElectronsNumber_;
00068   MonitorElement * ESCoP_;
00070   MonitorElement * OccupancyEB_;
00071   MonitorElement * OccupancyEEP_;
00072   MonitorElement * OccupancyEEM_;
00073   MonitorElement * LocalOccupancyEB_;
00074   MonitorElement * LocalOccupancyEE_;
00075 
00077   MonitorElement * HitsVsAssociatedHits_;
00078 
00080   edm::InputTag productMonitoredEB_;
00081 
00083   edm::InputTag productMonitoredEE_;
00085   edm::InputTag productMonitoredElectrons_;
00086 
00088   unsigned int prescaleFactor_;
00089   
00091   std::string folderName_; 
00092  
00094   bool saveToFile_;
00095 
00097   std::string fileName_;
00098 
00099 };
00100 
00101 #endif
00102