00001 #ifndef EcalBarrelDigisValidation_H 00002 #define EcalBarrelDigisValidation_H 00003 00004 /* 00005 * \file EcalBarrelDigisValidation.h 00006 * 00007 * $Date: 2010/01/04 15:10:59 $ 00008 * $Revision: 1.8 $ 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/EBDataFrame.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 EcalBarrelDigisValidation: public edm::EDAnalyzer{ 00037 00038 typedef std::map<uint32_t,float,std::less<uint32_t> > MapType; 00039 00040 public: 00041 00043 EcalBarrelDigisValidation(const edm::ParameterSet& ps); 00044 00046 ~EcalBarrelDigisValidation(); 00047 00048 protected: 00049 00051 void analyze(edm::Event const & e, edm::EventSetup const & c); 00052 00053 // BeginJob 00054 void beginRun(edm::Run const &, edm::EventSetup const & c); 00055 00056 // EndJob 00057 void endJob(void); 00058 00059 void checkCalibrations(edm::EventSetup const & c); 00060 00061 private: 00062 00063 bool verbose_; 00064 00065 DQMStore* dbe_; 00066 00067 std::string outputFile_; 00068 00069 edm::InputTag EBdigiCollection_; 00070 00071 std::map<int, double, std::less<int> > gainConv_; 00072 00073 double barrelADCtoGeV_; 00074 double endcapADCtoGeV_; 00075 00076 MonitorElement* meEBDigiOccupancy_; 00077 00078 MonitorElement* meEBDigiMultiplicity_; 00079 00080 MonitorElement* meEBDigiADCGlobal_; 00081 00082 MonitorElement* meEBDigiADCAnalog_[10]; 00083 00084 MonitorElement* meEBDigiADCgS_[10]; 00085 MonitorElement* meEBDigiADCg1_[10]; 00086 MonitorElement* meEBDigiADCg6_[10]; 00087 MonitorElement* meEBDigiADCg12_[10]; 00088 00089 MonitorElement* meEBDigiGain_[10]; 00090 00091 MonitorElement* meEBPedestal_; 00092 00093 MonitorElement* meEBMaximumgt100ADC_; 00094 00095 MonitorElement* meEBMaximumgt10ADC_; 00096 00097 MonitorElement* meEBnADCafterSwitch_; 00098 00099 }; 00100 00101 #endif