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 00036 protected: 00037 00039 void analyze(const edm::Event& e, const edm::EventSetup& c); 00040 00041 private: 00042 00043 bool verbose_; 00044 00045 DQMStore* dbe_; 00046 00047 std::string outputFile_; 00048 00049 edm::InputTag ESdigiCollection_; 00050 00051 00052 MonitorElement* meESDigiADC_[3]; 00053 MonitorElement* meESDigiCorr_[3]; 00054 MonitorElement* meESDigi3D_; 00055 MonitorElement* meESDigiMultiplicity_; 00056 }; 00057 00058 #endif