CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_3/src/DQM/DTMonitorModule/src/DTResolutionAnalysisTask.h

Go to the documentation of this file.
00001 #ifndef DTResolutionAnalysisTask_H
00002 #define DTResolutionAnalysisTask_H
00003 
00018 #include "FWCore/Framework/interface/Frameworkfwd.h"
00019 #include "DataFormats/MuonDetId/interface/DTSuperLayerId.h"
00020 #include <FWCore/Framework/interface/EDAnalyzer.h>
00021 #include "FWCore/Framework/interface/ESHandle.h"
00022 
00023 
00024 #include <string>
00025 #include <map>
00026 #include <vector>
00027 
00028 class DQMStore;
00029 class MonitorElement;
00030 class DTGeometry;
00031 
00032 class DTResolutionAnalysisTask: public edm::EDAnalyzer{
00033 public:
00035   DTResolutionAnalysisTask(const edm::ParameterSet& pset);
00036 
00038   virtual ~DTResolutionAnalysisTask();
00039 
00041   void beginRun(const edm::Run&, const edm::EventSetup&);
00042 
00044   void beginLuminosityBlock(edm::LuminosityBlock const& lumiSeg, edm::EventSetup const& context) ;
00045 
00047   void endJob();
00048 
00049   // Operations
00050   void analyze(const edm::Event& event, const edm::EventSetup& setup);
00051   
00052  
00053 protected:
00054 
00055 private:
00056   DQMStore* theDbe;
00057 
00058   edm::ESHandle<DTGeometry> dtGeom;
00059   
00060   int prescaleFactor;
00061   int resetCycle;
00062 
00063   u_int32_t thePhiHitsCut;
00064   u_int32_t theZHitsCut;
00065 
00066   // Lable of 4D segments in the event
00067   std::string theRecHits4DLabel;
00068   
00069   // Book a set of histograms for a give chamber
00070   void bookHistos(DTSuperLayerId slId);
00071   // Fill a set of histograms for a give chamber 
00072   void fillHistos(DTSuperLayerId slId,
00073                   float distExtr,
00074                   float residual);
00075 
00076   std::map<DTSuperLayerId, std::vector<MonitorElement*> > histosPerSL;
00077 
00078   // top folder for the histograms in DQMStore
00079   std::string topHistoFolder;
00080 
00081 };
00082 #endif
00083