![]() |
![]() |
00001 #ifndef EEBeamCaloClient_H 00002 #define EEBeamCaloClient_H 00003 00004 /* 00005 * \file EEBeamCaloClient.h 00006 * 00007 * $Date: 2010/01/25 21:12:25 $ 00008 * $Revision: 1.26 $ 00009 * \author G. Della Ricca 00010 * \author A. Ghezzi 00011 * 00012 */ 00013 00014 #include <vector> 00015 #include <string> 00016 00017 #include "TROOT.h" 00018 #include "TProfile2D.h" 00019 #include "TProfile.h" 00020 #include "TH1F.h" 00021 00022 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00023 00024 #include "DQM/EcalEndcapMonitorClient/interface/EEClient.h" 00025 00026 class MonitorElement; 00027 class DQMStore; 00028 #ifdef WITH_ECAL_COND_DB 00029 class EcalCondDBInterface; 00030 class MonRunIOV; 00031 #endif 00032 00033 class EEBeamCaloClient : public EEClient { 00034 00035 public: 00036 00038 EEBeamCaloClient(const edm::ParameterSet& ps); 00039 00041 virtual ~EEBeamCaloClient(); 00042 00044 void analyze(void); 00045 00047 void beginJob(void); 00048 00050 void endJob(void); 00051 00053 void beginRun(void); 00054 00056 void endRun(void); 00057 00059 void setup(void); 00060 00062 void cleanup(void); 00063 00064 #ifdef WITH_ECAL_COND_DB 00065 00066 bool writeDb(EcalCondDBInterface* econn, RunIOV* runiov, MonRunIOV* moniov, bool& status); 00067 #endif 00068 00070 inline int getEvtPerJob() { return ievt_; } 00071 inline int getEvtPerRun() { return jevt_; } 00072 00073 private: 00074 00075 const static int cryInArray_ = 9; 00076 00077 int ievt_; 00078 int jevt_; 00079 00080 bool cloneME_; 00081 00082 bool verbose_; 00083 bool debug_; 00084 00085 std::string prefixME_; 00086 00087 bool enableCleanup_; 00088 00089 std::vector<int> superModules_; 00090 00091 DQMStore* dqmStore_; 00092 00093 //specific task me 00094 std::vector<int> checkedSteps_; 00095 float prescaling_; 00096 //specific task me 00097 00098 TH1F* hBGains_[cryInArray_]; 00099 TProfile* hBpulse_[cryInArray_]; 00100 00101 TH1F* hBEne1_; 00102 00103 //TH1F* hBGainsMoving_[cryInArray_]; 00104 //TH1F* hBEne1Moving_; 00105 00106 TH1F* hBAllNeededCry_; 00107 00108 TH1F* hBNumReadCry_; 00109 00110 TH1F* hBE3x3_; 00111 00112 TH1F* hBE3x3Moving_; 00113 00114 TH2F* hBCryOnBeam_; 00115 00116 TH2F* hBMaxEneCry_; 00117 00118 TH1F* hBReadCryErrors_; 00119 00120 TProfile* hBE1vsCry_; 00121 00122 TProfile* hBE3x3vsCry_; 00123 00124 TH1F* hBEntriesvsCry_; 00125 00126 TH1F* hBcryDone_; 00127 00128 TH2F* hBBeamCentered_; 00129 00130 TH1F* hbTBmoving_; 00131 00132 TH1F* hbE1MaxCry_; 00133 00134 TH1F* hbDesync_; 00135 00136 TProfile* pBCriInBeamEvents_; 00137 00138 MonitorElement* meEEBCaloRedGreen_; 00139 MonitorElement* meEEBCaloRedGreenReadCry_; 00140 MonitorElement* meEEBCaloRedGreenSteps_; 00141 00142 // quality check parameters 00143 00144 int minEvtNum_; 00145 00146 float aveEne1_; 00147 float E1Th_; 00148 float aveEne3x3_; 00149 float E3x3Th_; 00150 float RMSEne3x3_; 00151 float ReadCryErrThr_; 00152 00153 }; 00154 00155 #endif