8 #ifndef Pythia8_TauDecays_H
9 #define Pythia8_TauDecays_H
11 #include "Pythia8/Basics.h"
12 #include "Pythia8/Event.h"
13 #include "Pythia8/HelicityBasics.h"
14 #include "Pythia8/HelicityMatrixElements.h"
15 #include "Pythia8/PythiaComplex.h"
16 #include "Pythia8/PythiaStdlib.h"
17 #include "Pythia8/Settings.h"
35 void init(Info* infoPtrIn, Settings* settingsPtrIn,
36 ParticleData* particleDataPtrIn, Rndm* rndmPtrIn,
37 Couplings* couplingsPtrIn);
40 bool decay(
int iDec,
Event& event);
43 vector<HelicityParticle> createChildren(HelicityParticle parent);
46 void isotropicDecay(vector<HelicityParticle>& p);
49 void writeDecay(
Event& event, vector<HelicityParticle>& p);
54 static const int NTRYCHANNEL, NTRYDECAY;
55 static const double WTCORRECTION[11];
61 int tauMode, tauMother, tauModeSave, tauMotherSave;
64 double polarization, polSave;
67 HelicityMatrixElement* hardME;
68 HelicityMatrixElement* decayME;
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;
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;
95 HelicityParticle in1, in2, mediator, out1, out2;
96 vector<HelicityParticle> particles;
102 Settings* settingsPtr;
105 ParticleData* particleDataPtr;
111 Couplings* couplingsPtr;
114 double tau0Max, tauMax, rMax, xyMax, zMax;
115 bool limitTau0, limitTau, limitRadius, limitCylinder, limitDecay;
122 #endif // end Pythia8_TauDecays_H