source: HiSusy/trunk/Pythia8/pythia8170/include/TauDecays.h @ 1

Last change on this file since 1 was 1, checked in by zerwas, 11 years ago

first import of structure, PYTHIA8 and DELPHES

File size: 3.7 KB
Line 
1// TauDecays.h is a part of the PYTHIA event generator.
2// Copyright (C) 2012 Philip Ilten, Torbjorn Sjostrand.
3// PYTHIA is licenced under the GNU GPL version 2, see COPYING for details.
4// Please respect the MCnet Guidelines, see GUIDELINES for details.
5
6// Header file for the TauDecays class.
7
8#ifndef Pythia8_TauDecays_H
9#define Pythia8_TauDecays_H
10
11#include "Basics.h"
12#include "Event.h"
13#include "HelicityBasics.h"
14#include "HelicityMatrixElements.h"
15#include "PythiaComplex.h"
16#include "PythiaStdlib.h"
17#include "Settings.h"
18
19namespace Pythia8 {
20
21//==========================================================================
22
23// TauDecays class.
24// This class decays tau leptons, with helicity information.
25
26class TauDecays {
27
28public:
29
30  // Constructor and destructor.
31  TauDecays() {};
32  ~TauDecays() {}
33
34  // Initializer.
35  void init(Info* infoPtrIn, Settings* settingsPtrIn, 
36    ParticleData* particleDataPtrIn, Rndm* rndmPtrIn,
37    Couplings* couplingsPtrIn);
38
39  // Decay a tau or correlated tau pair.
40  bool decay(int iDec, Event& event);
41
42  // Choose a decay channel for a particle.
43  vector<HelicityParticle> createChildren(HelicityParticle parent);
44
45  // Perform an N-body isotropic decay.
46  void isotropicDecay(vector<HelicityParticle>& p);
47
48  // Write the decay to event record.
49  void writeDecay(Event& event, vector<HelicityParticle>& p);
50
51private: 
52
53  // Constants: could only be changed in the code itself.
54  static const int    NTRYCHANNEL, NTRYDECAY;
55  static const double WTCORRECTION[11];
56
57  // Flag whether a correlated tau decay should be performed.
58  bool   correlated;
59
60  // User selected mode and mother for tau decays.
61  int    tauMode, tauMother, tauModeSave, tauMotherSave;
62
63  // User selected polarization for tau decays.
64  double polarization, polSave;
65
66  // Helicity matrix element pointers.
67  HelicityMatrixElement* hardME;
68  HelicityMatrixElement* decayME;
69
70  // Hard process helicity matrix elements.
71  HMETwoFermions2W2TwoFermions      hmeTwoFermions2W2TwoFermions;
72  HMETwoFermions2Z2TwoFermions      hmeTwoFermions2Z2TwoFermions;
73  HMETwoFermions2Gamma2TwoFermions  hmeTwoFermions2Gamma2TwoFermions;
74  HMETwoFermions2GammaZ2TwoFermions hmeTwoFermions2GammaZ2TwoFermions;
75  HMEZ2TwoFermions                  hmeZ2TwoFermions;
76  HMEHiggsEven2TwoFermions          hmeHiggsEven2TwoFermions;
77  HMEHiggsOdd2TwoFermions           hmeHiggsOdd2TwoFermions;
78  HMEHiggsCharged2TwoFermions       hmeHiggsCharged2TwoFermions;
79  HMEUnpolarized                    hmeUnpolarized;
80
81  // Tau decay helicity matrix elements.
82  HMETau2Meson                    hmeTau2Meson;
83  HMETau2TwoLeptons               hmeTau2TwoLeptons;
84  HMETau2TwoMesonsViaVector       hmeTau2TwoMesonsViaVector;
85  HMETau2TwoMesonsViaVectorScalar hmeTau2TwoMesonsViaVectorScalar;
86  HMETau2ThreePions               hmeTau2ThreePions;
87  HMETau2ThreeMesonsWithKaons     hmeTau2ThreeMesonsWithKaons;
88  HMETau2ThreeMesonsGeneric       hmeTau2ThreeMesonsGeneric;
89  HMETau2TwoPionsGamma            hmeTau2TwoPionsGamma;
90  HMETau2FourPions                hmeTau2FourPions;
91  HMETau2FivePions                hmeTau2FivePions;
92  HMETau2PhaseSpace               hmeTau2PhaseSpace;
93
94  // Particles of the hard process.
95  HelicityParticle in1, in2, mediator, out1, out2;
96  vector<HelicityParticle> particles;
97
98  // The info pointer for the Pythia class.
99  Info*         infoPtr;
100
101  // Pointer to settings database.
102  Settings*     settingsPtr;
103
104  // Pointer to the particle data table.
105  ParticleData* particleDataPtr;
106
107  // Pointer to the random number generator.
108  Rndm*         rndmPtr;
109
110  // Pointer to SM coupling data.
111  Couplings*    couplingsPtr;
112
113};
114
115//==========================================================================
116
117} // end namespace Pythia8
118
119#endif // end Pythia8_TauDecays_H
Note: See TracBrowser for help on using the repository browser.