CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
ParticleReplacerBase.h
Go to the documentation of this file.
1 #ifndef TauAnalysis_MCEmbeddingTools_ParticleReplacerBase_h
2 #define TauAnalysis_MCEmbeddingTools_ParticleReplacerBase_h
3 
19 
22 
23 #include "HepMC/GenEvent.h"
24 
25 class MCParticleReplacer;
26 
28 {
29  public:
30  explicit ParticleReplacerBase(const edm::ParameterSet&);
31  virtual ~ParticleReplacerBase() {}
32 
34 
35  virtual void beginJob() {}
36  virtual void beginRun(edm::Run& run, const edm::EventSetup& es) {}
37  virtual void endRun() {}
38  virtual void endJob() {}
39 
40  virtual std::auto_ptr<HepMC::GenEvent> produce(const std::vector<reco::Particle>&, const reco::Vertex* evtVtx = 0, const HepMC::GenEvent* genEvt = 0, MCParticleReplacer* = 0) = 0;
41 
42  unsigned int tried_;
43  unsigned int passed_;
44 
45  protected:
46  const double tauMass_;
47 
49 };
50 
52 
54 
55 #endif
virtual void beginRun(edm::Run &run, const edm::EventSetup &es)
edmplugin::PluginFactory< ParticleReplacerBase *(const edm::ParameterSet &)> ParticleReplacerPluginFactory
ParticleReplacerBase(const edm::ParameterSet &)
virtual std::auto_ptr< HepMC::GenEvent > produce(const std::vector< reco::Particle > &, const reco::Vertex *evtVtx=0, const HepMC::GenEvent *genEvt=0, MCParticleReplacer *=0)=0
virtual void declareExtraProducts(MCParticleReplacer *)
Definition: Run.h:43