CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_9_patch3/src/DQMOffline/Ecal/interface/EBRecoSummary.h

Go to the documentation of this file.
00001 #ifndef EBRecoSummary_h
00002 #define EBRecoSummary_h
00003 
00004 // system include files
00005 #include <memory>
00006 
00007 // user include files
00008 #include "FWCore/Framework/interface/Frameworkfwd.h"
00009 #include "FWCore/Framework/interface/EDAnalyzer.h"
00010 
00011 #include "FWCore/Framework/interface/ESHandle.h"
00012 #include "FWCore/Framework/interface/Event.h"
00013 #include "FWCore/Framework/interface/MakerMacros.h"
00014 
00015 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00016 #include "FWCore/ServiceRegistry/interface/Service.h"
00017 #include "CommonTools/UtilAlgos/interface/TFileService.h"
00018 
00019 // DQM includes
00020 #include "DQMServices/Core/interface/DQMStore.h"
00021 #include "DQMServices/Core/interface/MonitorElement.h"
00022 
00023 // ROOT include
00024 #include "TFile.h"
00025 #include "TH1.h"
00026 #include "TH2.h"
00027 #include "TProfile.h"
00028 #include "TProfile2D.h"
00029 
00030 
00031 // Less than operator for sorting EcalRecHits according to energy.
00032 class ecalRecHitLess : public std::binary_function<EcalRecHit, EcalRecHit, bool>
00033 {
00034 public:
00035   bool operator()(EcalRecHit x, EcalRecHit y)
00036   {
00037     return (x.energy() > y.energy());
00038   }
00039 };
00040 
00041 
00042 class EBRecoSummary : public edm::EDAnalyzer {
00043   
00044       public:
00045          explicit EBRecoSummary(const edm::ParameterSet&);
00046          ~EBRecoSummary();
00047   
00048   
00049       private:
00050          virtual void beginJob() ;
00051          virtual void analyze(const edm::Event&, const edm::EventSetup&);
00052          virtual void endJob() ;
00053 
00054          // ----------additional functions-------------------
00055          void convxtalid(int & , int &);
00056          int diff_neta_s(int,int);
00057          int diff_nphi_s(int,int);
00058 
00059          
00060       // DQM Store -------------------
00061       DQMStore* dqmStore_;
00062       
00063       std::string prefixME_;
00064   
00065       // Monitor Elements (ex THXD)
00066             
00067       // ReducedRecHits ----------------------------------------------
00068       // ... barrel 
00069       MonitorElement* h_redRecHits_EB_recoFlag;
00070          
00071       // RecHits -----------------------------------------------------
00072       // ... barrel 
00073       MonitorElement* h_recHits_EB_energyMax;
00074       MonitorElement* h_recHits_EB_Chi2;
00075       MonitorElement* h_recHits_EB_time;
00076       MonitorElement* h_recHits_EB_E1oE4; 
00077       MonitorElement* h_recHits_EB_recoFlag;
00078       
00079       // Basic Clusters ----------------------------------------------
00080       MonitorElement* h_basicClusters_recHits_EB_recoFlag;
00081 
00082       // Super Clusters ----------------------------------------------
00083       // ... barrel
00084       MonitorElement* h_superClusters_EB_nBC;
00085       MonitorElement* h_superClusters_EB_E1oE4;
00086       
00087       MonitorElement* h_superClusters_eta;
00088       MonitorElement* h_superClusters_EB_phi;
00089       
00090       protected:
00091 
00092          // ----------member data ---------------------------
00093          edm::InputTag recHitCollection_EB_;
00094          edm::InputTag redRecHitCollection_EB_;
00095          edm::InputTag basicClusterCollection_EB_;
00096          edm::InputTag superClusterCollection_EB_;
00097          
00098          double ethrEB_;
00099 
00100          double scEtThrEB_;
00101 
00102 };
00103 
00104 
00105 #endif