00001 #ifndef EEHltTask_H 00002 #define EEHltTask_H 00003 00004 /* 00005 * \file EEHltTask.h 00006 * 00007 * $Date: 2010/03/26 11:24:50 $ 00008 * $Revision: 1.6 $ 00009 * \author G. Della Ricca 00010 * 00011 */ 00012 00013 #include "FWCore/Framework/interface/EDAnalyzer.h" 00014 #include "FWCore/Framework/interface/Event.h" 00015 #include "FWCore/Framework/interface/EventSetup.h" 00016 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00017 00018 #include "DataFormats/DetId/interface/DetId.h" 00019 #include "DataFormats/EcalDetId/interface/EEDetId.h" 00020 #include "DataFormats/EcalDetId/interface/EcalElectronicsId.h" 00021 #include "DataFormats/EcalDetId/interface/EcalSubdetector.h" 00022 00023 #include "Geometry/EcalMapping/interface/EcalElectronicsMapping.h" 00024 00025 class MonitorElement; 00026 class DQMStore; 00027 00028 class EEHltTask: public edm::EDAnalyzer{ 00029 00030 public: 00031 00033 EEHltTask(const edm::ParameterSet& ps); 00034 00036 virtual ~EEHltTask(); 00037 00038 protected: 00039 00041 void analyze(const edm::Event& e, const edm::EventSetup& c); 00042 00044 void beginJob(void); 00045 00047 void endJob(void); 00048 00050 void beginRun(const edm::Run & r, const edm::EventSetup & c); 00051 00053 void endRun(const edm::Run & r, const edm::EventSetup & c); 00054 00056 void reset(void); 00057 00059 void setup(void); 00060 00062 void cleanup(void); 00063 00064 void initGeometry( const edm::EventSetup& setup ); 00065 00066 EcalSubdetector subDet( const EEDetId& id ) { return( id.subdet() ); } 00067 00068 EcalSubdetector subDet( const EcalElectronicsId& id ) { return( id.subdet() ); } 00069 00070 int iSM( const EEDetId& id ); 00071 00072 int iSM( const EcalElectronicsId& id ); 00073 00074 private: 00075 00076 int ievt_; 00077 00078 DQMStore* dqmStore_; 00079 00080 std::string prefixME_; 00081 std::string folderName_; 00082 00083 bool enableCleanup_; 00084 00085 bool mergeRuns_; 00086 00087 edm::InputTag EEDetIdCollection0_; 00088 edm::InputTag EEDetIdCollection1_; 00089 edm::InputTag EEDetIdCollection2_; 00090 edm::InputTag EEDetIdCollection3_; 00091 edm::InputTag EEDetIdCollection4_; 00092 edm::InputTag EcalElectronicsIdCollection1_; 00093 edm::InputTag EcalElectronicsIdCollection2_; 00094 edm::InputTag EcalElectronicsIdCollection3_; 00095 edm::InputTag EcalElectronicsIdCollection4_; 00096 edm::InputTag EcalElectronicsIdCollection5_; 00097 edm::InputTag EcalElectronicsIdCollection6_; 00098 edm::InputTag FEDRawDataCollection_; 00099 00100 MonitorElement* meEEFedsOccupancy_; 00101 MonitorElement* meEEFedsSizeErrors_; 00102 MonitorElement* meEEFedsIntegrityErrors_; 00103 00104 bool init_; 00105 bool initGeometry_; 00106 00107 const EcalElectronicsMapping* map; 00108 00109 }; 00110 00111 #endif