00001 #ifndef EERawDataTask_H 00002 #define EERawDataTask_H 00003 00004 /* 00005 * \file EERawDataTask.h 00006 * 00007 * $Date: 2008/10/20 16:52:06 $ 00008 * $Revision: 1.4 $ 00009 * \author E. Di Marco 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 EERawDataTask : public edm::EDAnalyzer { 00021 00022 public: 00023 00025 EERawDataTask(const edm::ParameterSet& ps); 00026 00028 virtual ~EERawDataTask(); 00029 00030 protected: 00031 00033 void analyze(const edm::Event& e, const edm::EventSetup& c); 00034 00036 void beginJob(const edm::EventSetup& c); 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 FEDRawDataCollection_; 00069 edm::InputTag EcalRawDataCollection_; 00070 edm::InputTag GTEvmSource_; 00071 00072 MonitorElement* meEECRCErrors_; 00073 MonitorElement* meEEEventTypePreCalibrationBX_; 00074 MonitorElement* meEEEventTypeCalibrationBX_; 00075 MonitorElement* meEEEventTypePostCalibrationBX_; 00076 MonitorElement* meEERunNumberErrors_; 00077 MonitorElement* meEEL1AErrors_; 00078 MonitorElement* meEEOrbitNumberErrors_; 00079 MonitorElement* meEEBunchCrossingErrors_; 00080 MonitorElement* meEETriggerTypeErrors_; 00081 MonitorElement* meEEGapErrors_; 00082 00083 bool init_; 00084 00085 float calibrationBX_; 00086 00087 enum activeEVM { TCS, FDLEVM }; 00088 00089 }; 00090 00091 #endif