CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
ParticleReplacerParticleGun.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 #ifndef TauAnalysis_MCEmbeddingTools_ParticleReplacerParticleGun_h
3 #define TauAnalysis_MCEmbeddingTools_ParticleReplacerParticleGun_h
4 
5 //
6 // Package: MCEmbeddingtools
7 // Class: ParticleReplacerBase
8 //
16 //
17 // Original Author: Sami Lehti
18 //
19 //
20 
22 
26 
27 #include<string>
28 #include<vector>
29 
31 public:
32  explicit ParticleReplacerParticleGun(const edm::ParameterSet&, bool);
34 
35  virtual void beginJob();
36  virtual void endJob();
37 
38  std::auto_ptr<HepMC::GenEvent> produce(const reco::MuonCollection& muons, const reco::Vertex *pvtx=0, const HepMC::GenEvent *genEvt=0);
39 
40 protected:
41 
42 private:
43  void correctTauMass(const reco::MuonCollection& muons, std::vector<HepMC::FourVector>& corrected);
44  void forceTauolaTauDecays();
45  void tauola_forParticleGun(int tau_idx, int pdg_id, const HepMC::FourVector& particle_momentum);
46  float tauHelicity(int pdg_id);
47  float randomPolarization();
48 
51 
59 
60  float pol1_[4];
61  float pol2_[4];
62 
63  bool printout_;
64 
65 };
66 
67 #endif
void correctTauMass(const reco::MuonCollection &muons, std::vector< HepMC::FourVector > &corrected)
void tauola_forParticleGun(int tau_idx, int pdg_id, const HepMC::FourVector &particle_momentum)
std::vector< Muon > MuonCollection
collection of Muon objects
Definition: MuonFwd.h:9
ParticleReplacerParticleGun(const edm::ParameterSet &, bool)
tuple muons
Definition: patZpeak.py:38
std::auto_ptr< HepMC::GenEvent > produce(const reco::MuonCollection &muons, const reco::Vertex *pvtx=0, const HepMC::GenEvent *genEvt=0)
gen::TauolaInterfaceBase * tauola_