CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_10_patch2/src/Validation/EcalHits/interface/EcalPreshowerSimHitsValidation.h

Go to the documentation of this file.
00001 #ifndef EcalPreshowerSimHitsValidation_H
00002 #define EcalPreshowerSimHitsValidation_H
00003 
00004 /*
00005  * \file EcalPreshowerSimHitsValidation.h
00006  *
00007  * \author C.Rovelli
00008  *
00009 */
00010 
00011 #include "FWCore/Framework/interface/Frameworkfwd.h"
00012 #include "FWCore/Framework/interface/EDAnalyzer.h"
00013 
00014 #include "FWCore/Framework/interface/Event.h"
00015 #include "FWCore/Framework/interface/EventSetup.h"
00016 #include "FWCore/Framework/interface/ESHandle.h"
00017 #include "FWCore/Framework/interface/MakerMacros.h"
00018 
00019 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00020 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00021 
00022 #include "DQMServices/Core/interface/DQMStore.h"
00023 #include "FWCore/ServiceRegistry/interface/Service.h"
00024 
00025 #include "SimDataFormats/GeneratorProducts/interface/HepMCProduct.h"
00026 #include "SimDataFormats/CaloHit/interface/PCaloHit.h"
00027 #include "SimDataFormats/CaloHit/interface/PCaloHitContainer.h"
00028 #include "SimDataFormats/ValidationFormats/interface/PValidationFormats.h"
00029 
00030 #include <iostream>
00031 #include <fstream>
00032 #include <vector>
00033 #include <map>
00034 #include "DQMServices/Core/interface/MonitorElement.h"
00035 
00036 
00037 class EcalPreshowerSimHitsValidation: public edm::EDAnalyzer{
00038 
00039     typedef std::map<uint32_t,float,std::less<uint32_t> >  MapType;
00040 
00041 public:
00042 
00044 EcalPreshowerSimHitsValidation(const edm::ParameterSet& ps);
00045 
00047 ~EcalPreshowerSimHitsValidation();
00048 
00049 protected:
00050 
00052 void analyze(const edm::Event& e, const edm::EventSetup& c);
00053 
00054 // BeginJob
00055 void beginJob();
00056 
00057 // EndJob
00058 void endJob(void);
00059 
00060 private:
00061 
00062  std::string HepMCLabel; 
00063  std::string g4InfoLabel; 
00064  std::string EEHitsCollection;
00065  std::string ESHitsCollection;
00066  
00067  bool verbose_;
00068  
00069  DQMStore* dbe_;
00070  
00071  std::string outputFile_;
00072 
00073  MonitorElement* menESHits1zp_;
00074  MonitorElement* menESHits2zp_;
00075 
00076  MonitorElement* menESHits1zm_;
00077  MonitorElement* menESHits2zm_;
00078 
00079  MonitorElement* meEShitLog10Energy_;
00080  MonitorElement* meEShitLog10EnergyNorm_;
00081 
00082  MonitorElement* meESEnergyHits1zp_;
00083  MonitorElement* meESEnergyHits2zp_;
00084 
00085  MonitorElement* meESEnergyHits1zm_;
00086  MonitorElement* meESEnergyHits2zm_;
00087 
00088  MonitorElement* meE1alphaE2zp_;
00089  MonitorElement* meE1alphaE2zm_;
00090 
00091  MonitorElement* meEEoverESzp_;
00092  MonitorElement* meEEoverESzm_;
00093 
00094  MonitorElement* me2eszpOver1eszp_; 
00095  MonitorElement* me2eszmOver1eszm_; 
00096 
00097 };
00098 
00099 #endif