CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_3/src/Validation/EventGenerator/interface/DrellYanValidation.h

Go to the documentation of this file.
00001 #ifndef DRELLYANVALIDATION_H
00002 #define DRELLYANVALIDATION_H
00003 
00004 /*class DrellYanValidation
00005  *  
00006  *  Class to fill Event Generator dqm monitor elements; works on HepMCProduct
00007  *
00008  *  $Date: 2011/12/29 10:53:10 $
00009  *  $Revision: 1.3 $
00010  *
00011  */
00012 
00013 // framework & common header files
00014 #include "FWCore/Framework/interface/EDAnalyzer.h"
00015 #include "FWCore/Framework/interface/Event.h"
00016 #include "FWCore/Framework/interface/EventSetup.h"
00017 #include "FWCore/Framework/interface/Run.h"
00018 
00019 #include "DataFormats/Common/interface/Handle.h"
00020 #include "FWCore/Framework/interface/ESHandle.h"
00021 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00022 #include "FWCore/Utilities/interface/InputTag.h"
00023 
00024 //DQM services
00025 #include "DQMServices/Core/interface/DQMStore.h"
00026 #include "FWCore/ServiceRegistry/interface/Service.h"
00027 #include "DQMServices/Core/interface/MonitorElement.h"
00028 
00029 #include "SimDataFormats/GeneratorProducts/interface/HepMCProduct.h"
00030 
00031 #include "SimGeneral/HepPDTRecord/interface/ParticleDataTable.h"
00032 
00033 #include "Validation/EventGenerator/interface/WeightManager.h"
00034 
00035 class DrellYanValidation : public edm::EDAnalyzer
00036 {
00037   public:
00038         explicit DrellYanValidation(const edm::ParameterSet&);
00039         virtual ~DrellYanValidation();
00040         virtual void beginJob();
00041         virtual void endJob();  
00042         virtual void analyze(const edm::Event&, const edm::EventSetup&);
00043         virtual void beginRun(const edm::Run&, const edm::EventSetup&);
00044         virtual void endRun(const edm::Run&, const edm::EventSetup&);
00045 
00046   private:
00047 
00048   WeightManager _wmanager;
00049 
00050   edm::InputTag hepmcCollection_;
00051 
00053   edm::ESHandle<HepPDT::ParticleDataTable> fPDGTable ;
00054   
00056   DQMStore *dbe;
00057 
00058   MonitorElement *nEvt;  
00059   MonitorElement *Zmass, *ZmassPeak, *Zpt, *ZptLog, *Zrap, *Zdaughters;
00060   MonitorElement *dilep_mass, *dilep_massPeak, *dilep_pt, *dilep_ptLog, *dilep_rap;
00061   MonitorElement *leadpt, *secpt, *leadeta, *seceta;
00062   MonitorElement *gamma_energy, *cos_theta_gamma_lepton; 
00063 
00065   int _flavor;
00067   std::string _name;
00068 
00069 };
00070 
00071 #endif