00001 #ifndef EcalEndcapDigisValidation_H 00002 #define EcalEndcapDigisValidation_H 00003 00004 /* 00005 * \file EcalEndcapDigisValidation.h 00006 * 00007 * $Date: 2010/01/04 15:10:59 $ 00008 * $Revision: 1.9 $ 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/EEDataFrame.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 EcalEndcapDigisValidation: public edm::EDAnalyzer{ 00037 00038 typedef std::map<uint32_t,float,std::less<uint32_t> > MapType; 00039 00040 public: 00041 00043 EcalEndcapDigisValidation(const edm::ParameterSet& ps); 00044 00046 ~EcalEndcapDigisValidation(); 00047 00048 protected: 00049 00051 void analyze(edm::Event const & e, edm::EventSetup const & c); 00052 00053 // BeginRun 00054 void beginRun(edm::Run const &, edm::EventSetup const & c); 00055 00056 // EndJob 00057 void endJob(void); 00058 00059 00060 void checkCalibrations(edm::EventSetup const & c); 00061 00062 private: 00063 00064 bool verbose_; 00065 00066 DQMStore* dbe_; 00067 00068 std::string outputFile_; 00069 00070 edm::InputTag EEdigiCollection_; 00071 00072 std::map<int, double, std::less<int> > gainConv_; 00073 00074 double barrelADCtoGeV_; 00075 double endcapADCtoGeV_; 00076 00077 MonitorElement* meEEDigiOccupancyzp_; 00078 MonitorElement* meEEDigiOccupancyzm_; 00079 00080 MonitorElement* meEEDigiMultiplicityzp_; 00081 MonitorElement* meEEDigiMultiplicityzm_; 00082 00083 MonitorElement* meEEDigiADCGlobal_; 00084 00085 MonitorElement* meEEDigiADCAnalog_[10]; 00086 00087 MonitorElement* meEEDigiADCgS_[10]; 00088 MonitorElement* meEEDigiADCg1_[10]; 00089 MonitorElement* meEEDigiADCg6_[10]; 00090 MonitorElement* meEEDigiADCg12_[10]; 00091 00092 MonitorElement* meEEDigiGain_[10]; 00093 00094 MonitorElement* meEEPedestal_; 00095 00096 MonitorElement* meEEMaximumgt100ADC_; 00097 00098 MonitorElement* meEEMaximumgt20ADC_; 00099 00100 MonitorElement* meEEnADCafterSwitch_; 00101 00102 }; 00103 00104 #endif