00001 #ifndef EEBeamHodoTask_H 00002 #define EEBeamHodoTask_H 00003 00004 /* 00005 * \file EEBeamHodoTask.h 00006 * 00007 * $Date: 2009/10/26 17:33:50 $ 00008 * $Revision: 1.11 $ 00009 * \author G. Della Ricca 00010 * \author G. Franzoni 00011 * 00012 */ 00013 00014 #include "FWCore/Framework/interface/EDAnalyzer.h" 00015 #include "FWCore/Framework/interface/Event.h" 00016 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00017 00018 class MonitorElement; 00019 class DQMStore; 00020 00021 class EEBeamHodoTask: public edm::EDAnalyzer{ 00022 00023 public: 00024 00026 EEBeamHodoTask(const edm::ParameterSet& ps); 00027 00029 virtual ~EEBeamHodoTask(); 00030 00031 protected: 00032 00034 void analyze(const edm::Event& e, const edm::EventSetup& c); 00035 00037 void beginJob(void); 00038 00040 void endJob(void); 00041 00043 void beginRun(const edm::Run & r, const edm::EventSetup & c); 00044 00046 void endRun(const edm::Run & r, const edm::EventSetup & c); 00047 00049 void reset(void); 00050 00052 void setup(void); 00053 00055 void cleanup(void); 00056 00057 private: 00058 00059 int ievt_; 00060 00061 DQMStore* dqmStore_; 00062 00063 std::string prefixME_; 00064 00065 bool enableCleanup_; 00066 00067 bool mergeRuns_; 00068 00069 edm::InputTag EcalTBEventHeader_; 00070 edm::InputTag EcalRawDataCollection_; 00071 edm::InputTag EcalUncalibratedRecHitCollection_; 00072 edm::InputTag EcalTBTDCRawInfo_; 00073 edm::InputTag EcalTBHodoscopeRawInfo_; 00074 edm::InputTag EcalTBTDCRecInfo_; 00075 edm::InputTag EcalTBHodoscopeRecInfo_; 00076 00077 int LV1_; 00078 bool tableIsMoving_; 00079 bool resetNow_; 00080 int cryInBeam_; 00081 int previousCryInBeam_; 00082 int cryInBeamCounter_; 00083 00084 // ME type I 00085 MonitorElement* meHodoOcc_[4]; 00086 MonitorElement* meHodoRaw_[4]; 00087 MonitorElement* meHodoPosRecXY_; 00088 MonitorElement* meHodoPosRecX_; 00089 MonitorElement* meHodoPosRecY_; 00090 MonitorElement* meHodoSloXRec_; 00091 MonitorElement* meHodoSloYRec_; 00092 MonitorElement* meHodoQuaXRec_; 00093 MonitorElement* meHodoQuaYRec_; 00094 MonitorElement* meTDCRec_; 00095 MonitorElement* meHodoPosXMinusCaloPosXVsCry_; 00096 MonitorElement* meHodoPosYMinusCaloPosYVsCry_; 00097 MonitorElement* meTDCTimeMinusCaloTimeVsCry_; 00098 MonitorElement* meMissingCollections_; 00099 00100 // ME type II 00101 MonitorElement* meEvsXRecProf_; 00102 MonitorElement* meEvsYRecProf_; 00103 MonitorElement* meEvsXRecHis_; 00104 MonitorElement* meEvsYRecHis_; 00105 MonitorElement* meCaloVsHodoXPos_; 00106 MonitorElement* meCaloVsHodoYPos_; 00107 MonitorElement* meCaloVsTDCTime_; 00108 00109 bool init_; 00110 00111 int smId; 00112 00113 }; 00114 00115 #endif