00001 #ifndef EERecoSummary_h 00002 #define EERecoSummary_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 EERecoSummary : public edm::EDAnalyzer { 00043 00044 public: 00045 explicit EERecoSummary(const edm::ParameterSet&); 00046 ~EERecoSummary(); 00047 00048 00049 private: 00050 virtual void beginJob() ; 00051 virtual void analyze(const edm::Event&, const edm::EventSetup&); 00052 virtual void endJob() ; 00053 00054 00055 // DQM Store ------------------- 00056 DQMStore* dqmStore_; 00057 00058 std::string prefixME_; 00059 00060 // Monitor Elements (ex THXD) 00061 00062 // ReducedRecHits ---------------------------------------------- 00063 // ... endcap 00064 MonitorElement* h_redRecHits_EE_recoFlag; 00065 00066 // RecHits ----------------------------------------------------- 00067 // ... endcap 00068 MonitorElement* h_recHits_EE_recoFlag; 00069 // ... endcap + 00070 MonitorElement* h_recHits_EEP_energyMax; 00071 MonitorElement* h_recHits_EEP_Chi2; 00072 MonitorElement* h_recHits_EEP_time; 00073 // ... endcap - 00074 MonitorElement* h_recHits_EEM_energyMax; 00075 MonitorElement* h_recHits_EEM_Chi2; 00076 MonitorElement* h_recHits_EEM_time; 00077 00078 // Basic Clusters ---------------------------------------------- 00079 MonitorElement* h_basicClusters_recHits_EE_recoFlag; 00080 00081 // Super Clusters ---------------------------------------------- 00082 // ... endcap 00083 MonitorElement* h_superClusters_EEP_nBC; 00084 MonitorElement* h_superClusters_EEM_nBC; 00085 00086 MonitorElement* h_superClusters_eta; 00087 MonitorElement* h_superClusters_EE_phi; 00088 00089 protected: 00090 00091 // ----------member data --------------------------- 00092 edm::InputTag recHitCollection_EE_; 00093 edm::InputTag redRecHitCollection_EE_; 00094 edm::InputTag basicClusterCollection_EE_; 00095 edm::InputTag superClusterCollection_EE_; 00096 00097 double ethrEE_; 00098 00099 double scEtThrEE_; 00100 00101 }; 00102 00103 00104 #endif