CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch9/src/Validation/RecoEgamma/interface/PhotonPostprocessing.h

Go to the documentation of this file.
00001 #ifndef PhotonPostprocessing_H
00002 #define PhotonPostprocessing_H
00003 
00004 #include "FWCore/ServiceRegistry/interface/Service.h"
00005 #include "CommonTools/UtilAlgos/interface/TFileService.h"
00006 //
00007 #include "FWCore/Framework/interface/MakerMacros.h"
00008 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00009 #include "FWCore/Utilities/interface/Exception.h"
00010 
00011 #include "TFile.h"
00012 #include "TH1.h"
00013 #include "TH2.h"
00014 #include "TTree.h"
00015 #include "TVector3.h"
00016 #include "TProfile.h"
00017 //
00018 
00019 
00020 #include "FWCore/Framework/interface/EDAnalyzer.h"
00021 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00022 #include "FWCore/Framework/interface/Event.h"
00023 #include "FWCore/Framework/interface/EventSetup.h"
00024 
00025 //DQM services
00026 #include "DQMServices/Core/interface/DQMStore.h"
00027 #include "FWCore/ServiceRegistry/interface/Service.h"
00028 #include "DQMServices/Core/interface/MonitorElement.h"
00029 
00030 //
00031 
00032 #include <vector>
00033 
00045 // forward declarations
00046 class TFile;
00047 class TH1F;
00048 class TH2F;
00049 class TProfile;
00050 class TTree;
00051 
00052 
00053 class PhotonPostprocessing : public edm::EDAnalyzer
00054 {
00055 
00056  public:
00057    
00058   //
00059   explicit PhotonPostprocessing( const edm::ParameterSet& pset ) ;
00060   virtual ~PhotonPostprocessing();
00061                                    
00062       
00063   virtual void analyze(const edm::Event&, const edm::EventSetup&  ) ;
00064   virtual void beginJob() ;
00065   virtual void endJob() ;
00066   virtual void endLuminosityBlock( const edm::LuminosityBlock& , const edm::EventSetup& ) ;
00067   virtual void endRun(const edm::Run& , const edm::EventSetup& ) ;
00068  
00069 
00070  private:
00071   //
00072 
00073 
00074 
00075   void dividePlots(MonitorElement* dividend, MonitorElement* numerator, MonitorElement* denominator,std::string type);
00076   void dividePlots(MonitorElement* dividend, MonitorElement* numerator, double denominator); 
00077   virtual void runPostprocessing();      
00078 
00079   DQMStore *dbe_;
00080   int verbosity_;
00081 
00082   edm::ParameterSet parameters_;
00083 
00084 
00085   bool standAlone_;
00086   bool batch_;
00087   std::string outputFileName_;
00088   std::string inputFileName_;
00089 
00090   std::stringstream currentFolder_;
00091 
00092 
00093   double etMin;
00094   double etMax;
00095   int    etBin;
00096   double etaMin;
00097   double etaMax;
00098   int    etaBin;
00099   int    etaBin2;
00100   double phiMin;
00101   double phiMax;
00102   int    phiBin;
00103   double rMin;
00104   double rMax;
00105   int    rBin;
00106   double zMin;
00107   double zMax;
00108   int    zBin;
00109 
00110 
00111 
00112   MonitorElement*  phoRecoEffEta_;
00113   MonitorElement*  phoRecoEffPhi_;
00114   MonitorElement*  phoRecoEffEt_;
00115 
00116   MonitorElement*  phoDeadChEta_;
00117   MonitorElement*  phoDeadChPhi_;
00118   MonitorElement*  phoDeadChEt_;
00119 
00120 
00121   MonitorElement*  convEffEtaTwoTracks_;
00122   MonitorElement*  convEffPhiTwoTracks_;
00123   MonitorElement*  convEffRTwoTracks_;
00124   MonitorElement*  convEffZTwoTracks_;
00125   MonitorElement*  convEffEtTwoTracks_;
00126 
00127   MonitorElement*  convEffEtaTwoTracksAndVtxProbGT0_;
00128   MonitorElement*  convEffEtaTwoTracksAndVtxProbGT0005_;
00129   MonitorElement*  convEffRTwoTracksAndVtxProbGT0_;
00130   MonitorElement*  convEffRTwoTracksAndVtxProbGT0005_;
00131 
00132   MonitorElement*  convEffEtaOneTrack_;
00133   MonitorElement*  convEffROneTrack_;
00134   MonitorElement*  convEffEtOneTrack_;
00135 
00136   MonitorElement*  convFakeRateEtaTwoTracks_;
00137   MonitorElement*  convFakeRatePhiTwoTracks_;
00138   MonitorElement*  convFakeRateRTwoTracks_;
00139   MonitorElement*  convFakeRateZTwoTracks_;
00140   MonitorElement*  convFakeRateEtTwoTracks_;
00141 
00142   MonitorElement*  bkgRecoEffEta_;
00143   MonitorElement*  bkgRecoEffPhi_;
00144   MonitorElement*  bkgRecoEffEt_;
00145 
00146   MonitorElement*  bkgDeadChEta_;
00147   MonitorElement*  bkgDeadChPhi_;
00148   MonitorElement*  bkgDeadChEt_;
00149 
00150 
00151 
00152    
00153 };
00154 
00155 
00156 
00157 
00158 
00159 #endif