CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC4_patch1/src/TauAnalysis/MCEmbeddingTools/interface/ParticleReplacerBase.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 #ifndef TauAnalysis_MCEmbeddingTools_ParticleReplacerBase_h
00003 #define TauAnalysis_MCEmbeddingTools_ParticleReplacerBase_h
00004 
00005 //
00006 // Package:    MCEmbeddingtools
00007 // Class:      ParticleReplacerBase
00008 //
00016 //
00017 // Original Author:  Matti Kortelainen
00018 //
00019 //
00020 #include "FWCore/Framework/interface/EventSetup.h"
00021 #include "FWCore/Framework/interface/Run.h"
00022 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00023 
00024 #include "DataFormats/MuonReco/interface/Muon.h"
00025 #include "DataFormats/MuonReco/interface/MuonFwd.h"
00026 #include "DataFormats/VertexReco/interface/Vertex.h"
00027 
00028 #include "HepMC/GenEvent.h"
00029 
00030 #include<memory>
00031 
00032 class ParticleReplacerBase {
00033 public:
00034   explicit ParticleReplacerBase(const edm::ParameterSet& iConfig);
00035   virtual ~ParticleReplacerBase();
00036 
00037   virtual void beginJob();
00038   virtual void beginRun(edm::Run& iRun, const edm::EventSetup& iSetup);
00039   virtual void endRun();
00040   virtual void endJob();
00041 
00042   virtual std::auto_ptr<HepMC::GenEvent> produce(const reco::MuonCollection&, const reco::Vertex *pvtx=0, const HepMC::GenEvent *genEvt=0) = 0;
00043 
00044   unsigned int tried;
00045   unsigned int passed;
00046 
00047 protected:
00048 
00049   const double tauMass;
00050 private:
00051 };
00052 
00053 
00054 #endif