Go to the documentation of this file.00001
00002 #ifndef TauAnalysis_MCEmbeddingTools_ParticleReplacerBase_h
00003 #define TauAnalysis_MCEmbeddingTools_ParticleReplacerBase_h
00004
00005
00006
00007
00008
00016
00017
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 double eventWeight;
00045
00046 protected:
00047
00048 const double tauMass;
00049 private:
00050 };
00051
00052
00053 #endif