CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch13/src/DQM/TrackingMonitor/plugins/TrackEfficiencyClient.h

Go to the documentation of this file.
00001 #ifndef TrackingMonitor_TrackEfficiencyClient_h
00002 #define TrackingMonitor_TrackEfficiencyClient_h
00003 // -*- C++ -*-
00004 //
00005 // Package:    TrackingMonitor
00006 // Class  :    TrackEfficiencyClient
00007 // 
00011 // Original Author:  A.-C. Le Bihan
00012 //         Created:  Fri Dec  5 12:14:22 CET 2008
00013 
00014 
00015 #include <string>
00016 
00017 #include "FWCore/Framework/interface/EDAnalyzer.h"
00018 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00019 #include "FWCore/Framework/interface/ESHandle.h"
00020 #include "FWCore/Framework/interface/LuminosityBlock.h"
00021 #include "FWCore/Framework/interface/Run.h"
00022 #include "FWCore/Framework/interface/EventSetup.h"
00023 #include "FWCore/Framework/interface/MakerMacros.h"
00024 
00025 #include <iostream>
00026 #include <fstream>
00027 #include <string>
00028 #include <vector>
00029 //#include <map>
00030 
00031 class DQMStore;
00032 
00033 class TrackEfficiencyClient: public edm::EDAnalyzer {
00034 
00035  public:
00036 
00038   TrackEfficiencyClient(const edm::ParameterSet& ps);
00039   
00041   virtual ~TrackEfficiencyClient();
00042 
00043  protected:
00044 
00046   void beginJob(void);
00047 
00049   void beginRun(edm::Run const& run, edm::EventSetup const& eSetup);
00050 
00052   void analyze(edm::Event const& e, edm::EventSetup const& eSetup);
00053 
00055   void endJob();
00056   
00058   void endRun();
00059  
00061   void endLuminosityBlock(edm::LuminosityBlock const& lumiSeg, edm::EventSetup const& eSetup);
00062 
00063  
00064  private:
00065 
00066   DQMStore* dqmStore_;
00067   edm::ParameterSet conf_;
00068   
00069   bool trackEfficiency_; //1 if one wants to measure the tracking efficiency
00070                          //0 if one wants to measure the muon reco efficiency
00071   
00072   std::string histName;  
00073   std::string algoName_;
00074   std::string FolderName_;
00075   
00076   MonitorElement * effX;
00077   MonitorElement * effY;  
00078   MonitorElement * effZ; 
00079   MonitorElement * effEta;
00080   MonitorElement * effPhi;
00081   MonitorElement * effD0; 
00082   MonitorElement * effCompatibleLayers; 
00083  
00084 };
00085 #endif