00001 #ifndef EEBeamCaloTask_H 00002 #define EEBeamCaloTask_H 00003 00004 /* 00005 * \file EEBeamCaloTask.h 00006 * 00007 * $Date: 2009/10/26 17:33:50 $ 00008 * $Revision: 1.11 $ 00009 * \author A. Ghezzi 00010 * 00011 */ 00012 00013 #include "FWCore/Framework/interface/EDAnalyzer.h" 00014 #include "FWCore/Framework/interface/Event.h" 00015 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00016 00017 class MonitorElement; 00018 class DQMStore; 00019 00020 class EEBeamCaloTask: public edm::EDAnalyzer{ 00021 00022 public: 00023 00025 EEBeamCaloTask(const edm::ParameterSet& ps); 00026 00028 virtual ~EEBeamCaloTask(); 00029 00030 protected: 00031 00033 void analyze(const edm::Event& e, const edm::EventSetup& c); 00034 00036 void beginJob(void); 00037 00039 void endJob(void); 00040 00042 void beginRun(const edm::Run & r, const edm::EventSetup & c); 00043 00045 void endRun(const edm::Run & r, const edm::EventSetup & c); 00046 00048 void reset(void); 00049 00051 void setup(void); 00052 00054 void cleanup(void); 00055 00056 private: 00057 00058 int ievt_; 00059 00060 DQMStore* dqmStore_; 00061 00062 std::string prefixME_; 00063 00064 bool enableCleanup_; 00065 00066 bool mergeRuns_; 00067 00068 edm::InputTag EcalTBEventHeader_; 00069 edm::InputTag EcalRawDataCollection_; 00070 edm::InputTag EBDigiCollection_; 00071 edm::InputTag EcalUncalibratedRecHitCollection_; 00072 00073 const static int cryInArray_ = 9; 00074 const static int defaultPede_ = 200; 00075 00076 MonitorElement* meBBCaloPulseProf_[cryInArray_]; 00077 MonitorElement* meBBCaloPulseProfG12_[cryInArray_]; 00078 MonitorElement* meBBCaloGains_[cryInArray_]; 00079 MonitorElement* meBBCaloEne_[cryInArray_]; 00080 00081 //MonitorElement* meBBCaloPulseProfMoving_[cryInArray_]; 00082 //MonitorElement* meBBCaloPulseProfG12Moving_[cryInArray_]; 00083 //MonitorElement* meBBCaloGainsMoving_[cryInArray_]; 00084 //MonitorElement* meBBCaloEneMoving_[cryInArray_]; 00085 00086 MonitorElement* meBBCaloCryRead_; 00087 //MonitorElement* meBBCaloCryReadMoving_; 00088 00089 MonitorElement* meBBCaloAllNeededCry_; 00090 MonitorElement* meBBNumCaloCryRead_; 00091 00092 MonitorElement* meBBCaloE3x3_; 00093 MonitorElement* meBBCaloE3x3Moving_; 00094 00095 /* MonitorElement* meBBCaloE3x3Cry_[1701]; */ 00096 /* MonitorElement* meBBCaloE1Cry_[1701]; */ 00097 00098 MonitorElement* meBBCaloCryOnBeam_; 00099 MonitorElement* meBBCaloMaxEneCry_; 00100 00101 MonitorElement* TableMoving_; 00102 00103 MonitorElement* CrystalsDone_; 00104 00105 MonitorElement* CrystalInBeam_vs_Event_; 00106 00107 MonitorElement* meEEBCaloReadCryErrors_; 00108 00109 MonitorElement* meEEBCaloE1vsCry_; 00110 00111 MonitorElement* meEEBCaloE3x3vsCry_; 00112 00113 MonitorElement* meEEBCaloEntriesVsCry_; 00114 00115 MonitorElement* meEEBCaloBeamCentered_; 00116 00117 MonitorElement* meEEBCaloE1MaxCry_; 00118 00119 MonitorElement* meEEBCaloDesync_; 00120 00121 bool init_; 00122 00123 bool profileArranged_; 00124 00125 int PreviousTableStatus_[2]; 00126 int PreviousCrystalinBeam_[3]; 00127 00128 int cib_[12];// used 10 00129 bool changed_tb_status_; 00130 bool changed_cry_in_beam_; 00131 int evt_after_change_ ; 00132 bool wasFakeChange_; 00133 int lastStableStatus_ ; 00134 int table_step_, crystal_step_; 00135 int event_last_reset_; 00136 int last_cry_in_beam_; 00137 int previous_cry_in_beam_; 00138 int previous_ev_num_; 00139 // 0=stable, 1=moving, 00140 // PreviousTableStatus_[0]-> event=current -2 00141 // PreviousTableStatus_[1]-> event=current -1 00142 00143 //int cryIn3x3_[cryInArray_]; 00144 00145 }; 00146 00147 #endif