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