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