00001 #ifndef EcalDigisValidation_H 00002 #define EcalDigisValidation_H 00003 00004 /* 00005 * \file EcalDigisValidation.h 00006 * 00007 * $Date: 2010/01/04 15:10:59 $ 00008 * $Revision: 1.13 $ 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 "SimDataFormats/GeneratorProducts/interface/HepMCProduct.h" 00028 #include "SimDataFormats/EncodedEventId/interface/EncodedEventId.h" 00029 #include "SimDataFormats/Track/interface/SimTrack.h" 00030 #include "SimDataFormats/Track/interface/SimTrackContainer.h" 00031 #include "SimDataFormats/Vertex/interface/SimVertex.h" 00032 #include "SimDataFormats/Vertex/interface/SimVertexContainer.h" 00033 #include "SimDataFormats/CaloHit/interface/PCaloHit.h" 00034 #include "SimDataFormats/CaloHit/interface/PCaloHitContainer.h" 00035 00036 #include "DataFormats/EcalDigi/interface/EBDataFrame.h" 00037 #include "DataFormats/EcalDigi/interface/EEDataFrame.h" 00038 #include "DataFormats/EcalDigi/interface/ESDataFrame.h" 00039 #include "DataFormats/EcalDigi/interface/EcalDigiCollections.h" 00040 #include "SimDataFormats/CrossingFrame/interface/CrossingFrame.h" 00041 #include "SimDataFormats/CrossingFrame/interface/MixCollection.h" 00042 # 00043 #include <iostream> 00044 #include <fstream> 00045 #include <vector> 00046 #include <map> 00047 #include "DQMServices/Core/interface/MonitorElement.h" 00048 00049 class EcalDigisValidation: public edm::EDAnalyzer{ 00050 00051 typedef std::map<uint32_t,float,std::less<uint32_t> > MapType; 00052 00053 public: 00054 00056 EcalDigisValidation(const edm::ParameterSet& ps); 00057 00059 ~EcalDigisValidation(); 00060 00061 protected: 00062 00064 void analyze(edm::Event const & e, edm::EventSetup const & c); 00065 00066 // BeginRun 00067 void beginRun(edm::Run const &, edm::EventSetup const & c); 00068 00069 // EndJob 00070 void endJob(void); 00071 00072 private: 00073 00074 void checkCalibrations(edm::EventSetup const & c); 00075 00076 std::string HepMCLabel; 00077 std::string g4InfoLabel; 00078 00079 bool verbose_; 00080 00081 DQMStore* dbe_; 00082 00083 std::string outputFile_; 00084 00085 edm::InputTag EBdigiCollection_; 00086 edm::InputTag EEdigiCollection_; 00087 edm::InputTag ESdigiCollection_; 00088 00089 std::map<int, double, std::less<int> > gainConv_; 00090 00091 double barrelADCtoGeV_; 00092 double endcapADCtoGeV_; 00093 00094 MonitorElement* meGunEnergy_; 00095 MonitorElement* meGunEta_; 00096 MonitorElement* meGunPhi_; 00097 00098 MonitorElement* meEBDigiSimRatio_; 00099 MonitorElement* meEEDigiSimRatio_; 00100 00101 MonitorElement* meEBDigiSimRatiogt10ADC_; 00102 MonitorElement* meEEDigiSimRatiogt20ADC_; 00103 00104 MonitorElement* meEBDigiSimRatiogt100ADC_; 00105 MonitorElement* meEEDigiSimRatiogt100ADC_; 00106 00107 }; 00108 00109 #endif