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 
25 
26 #include<string>
27 #include<vector>
28 
30 public:
31  explicit ParticleReplacerParticleGun(const edm::ParameterSet&, bool);
33 
34  virtual void beginJob();
35  virtual void endJob();
36 
37  std::auto_ptr<HepMC::GenEvent> produce(const reco::MuonCollection& muons, const reco::Vertex *pvtx=0, const HepMC::GenEvent *genEvt=0);
38 
39 protected:
40 
41 private:
42  void correctTauMass(const reco::MuonCollection& muons, std::vector<HepMC::FourVector>& corrected);
43  void forceTauolaTauDecays();
44  void tauola_forParticleGun(int tau_idx, int pdg_id, const HepMC::FourVector& particle_momentum);
45  float tauHelicity(int pdg_id);
46  float randomPolarization();
47 
48  //gen::TauolaInterfaceBase* tauola_;
50 
51  std::string particleOrigin_;
52  std::string forceTauPolarization_;
53  std::string forceTauDecay_;
54  std::string generatorMode_;
58 
59  float pol1_[4];
60  float pol2_[4];
61 
62  bool printout_;
63 
64 };
65 
66 #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)