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 unsigned int tried;
00045 unsigned int passed;
00046
00047 protected:
00048
00049 const double tauMass;
00050 private:
00051 };
00052
00053
00054 #endif