00001 #ifndef L1THcalClient_H 00002 #define L1THcalClient_H 00003 // -*- C++ -*- 00004 // 00005 // Package: L1THcalClient 00006 // Class: L1THcalClient 00007 // 00015 // 00016 // Original Author: Adam Aurisano 00017 // Created: Sun Nov 25 21:32:01 CEST 2007 00018 // 00019 // 00020 // system include files 00021 #include <memory> 00022 00023 // user include files 00024 #include "FWCore/Framework/interface/Frameworkfwd.h" 00025 #include "FWCore/Framework/interface/EDAnalyzer.h" 00026 #include "FWCore/Framework/interface/LuminosityBlock.h" 00027 00028 #include "FWCore/Framework/interface/Event.h" 00029 #include "FWCore/Framework/interface/MakerMacros.h" 00030 00031 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00032 #include "DQMServices/Core/interface/DQMStore.h" 00033 #include <TH1F.h> 00034 #include <TH2F.h> 00035 00036 using namespace std; 00037 00038 00039 //#include "DQMServices/Core/interface/DQMOldReceiver.h" 00040 #include "DQMServices/Core/interface/MonitorElement.h" 00041 // 00042 // class decleration 00043 class SubscriptionHandle; 00044 class QTestHandle; 00045 00046 class L1THcalClient : public edm::EDAnalyzer{ 00047 public: 00048 explicit L1THcalClient(const edm::ParameterSet&); 00049 ~L1THcalClient(); 00050 TH1F * get1DHisto(string meName, DQMStore * dbi); 00051 TH2F * get2DHisto(string meName, DQMStore * dbi); 00052 00053 00054 private: 00055 virtual void beginJob(const edm::EventSetup&) ; 00056 virtual void analyze(const edm::Event&, const edm::EventSetup&); 00057 virtual void endJob() ; 00058 // virtual void endLuminosityBlock(const edm::LuminosityBlock & l, const edm::EventSetup & c); 00059 void calcEff(TH1F* num, TH1F* den, MonitorElement* me); 00060 00061 // ----------member data --------------------------- 00062 int nevents,nupdates; 00063 00064 DQMStore *dbe; 00065 //std::string outputFile; 00066 //std::string qualityCriterionName; 00067 std::string input_dir; 00068 std::string output_dir; 00069 int minEventsforFit; 00070 //bool stdalone; 00071 //bool saveOutput; 00072 //bool getMESubscriptionListFromFile; 00073 //bool getQualityTestsFromFile; 00074 //SubscriptionHandle *subscriber; 00075 //QTestHandle * qtHandler; 00076 MonitorElement *hcalPlateau_; 00077 MonitorElement *hcalThreshold_; 00078 MonitorElement *hcalWidth_; 00079 MonitorElement *hcalEff_1_; 00080 MonitorElement *hcalEff_2_; 00081 MonitorElement *hcalEff_3_; 00082 MonitorElement *hcalEff_4_; 00083 MonitorElement *hcalEff_HBHE[56][72]; 00084 MonitorElement *hcalEff_HF[8][18]; 00085 00086 }; 00087 00088 #endif