00001 #ifndef EcalPreshowerNoiseDistrib_H 00002 #define EcalPreshowerNoiseDistrib_H 00003 00004 #include "FWCore/Framework/interface/Frameworkfwd.h" 00005 #include "FWCore/Framework/interface/EDAnalyzer.h" 00006 00007 #include "FWCore/Framework/interface/Event.h" 00008 #include "FWCore/Framework/interface/EventSetup.h" 00009 #include "FWCore/Framework/interface/ESHandle.h" 00010 #include "FWCore/Framework/interface/MakerMacros.h" 00011 00012 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00013 #include "FWCore/MessageLogger/interface/MessageLogger.h" 00014 00015 #include "DQMServices/Core/interface/DQMStore.h" 00016 #include "FWCore/ServiceRegistry/interface/Service.h" 00017 00018 #include "DataFormats/EcalDigi/interface/ESDataFrame.h" 00019 #include "DataFormats/EcalDigi/interface/EcalDigiCollections.h" 00020 00021 #include <iostream> 00022 #include <fstream> 00023 #include <vector> 00024 #include <map> 00025 #include "DQMServices/Core/interface/MonitorElement.h" 00026 00027 class EcalPreshowerNoiseDistrib: public edm::EDAnalyzer{ 00028 00029 typedef std::map<uint32_t,float,std::less<uint32_t> > MapType; 00030 00031 public: 00032 00034 EcalPreshowerNoiseDistrib(const edm::ParameterSet& ps); 00035 00037 ~EcalPreshowerNoiseDistrib(); 00038 00039 protected: 00040 00042 void analyze(const edm::Event& e, const edm::EventSetup& c); 00043 00044 // BeginJob 00045 void beginJob(const edm::EventSetup& c); 00046 00047 // EndJob 00048 void endJob(void); 00049 00050 private: 00051 00052 bool verbose_; 00053 00054 DQMStore* dbe_; 00055 00056 std::string outputFile_; 00057 00058 edm::InputTag ESdigiCollection_; 00059 00060 00061 MonitorElement* meESDigiADC_[3]; 00062 MonitorElement* meESDigiCorr_[3]; 00063 MonitorElement* meESDigi3D_; 00064 MonitorElement* meESDigiMultiplicity_; 00065 }; 00066 00067 #endif