1 // SigmaExtraDim.h is a part of the PYTHIA event generator.
2 // Copyright (C) 2008 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.
6 // Header file for extra-dimensional-process differential cross sections.
7 // Contains classes derived from SigmaProcess via Sigma(1/2)Process.
9 #ifndef Pythia8_SigmaExtraDim_H
10 #define Pythia8_SigmaExtraDim_H
12 #include "SigmaProcess.h"
16 //**************************************************************************
18 // A derived class for g g -> G^* (excited graviton state).
20 class Sigma1gg2GravitonStar : public Sigma1Process {
25 Sigma1gg2GravitonStar() {}
27 // Initialize process.
28 virtual void initProc();
30 // Calculate flavour-independent parts of cross section.
31 virtual void sigmaKin();
33 // Evaluate sigmaHat(sHat).
34 virtual double sigmaHat() {return sigma;}
36 // Select flavour, colour and anticolour.
37 virtual void setIdColAcol();
39 // Evaluate weight for G* decay angle.
40 virtual double weightDecay( Event& process, int iResBeg, int iResEnd);
42 // Info on the subprocess.
43 virtual string name() const {return "g g -> G*";}
44 virtual int code() const {return 5001;}
45 virtual string inFlux() const {return "gg";}
46 virtual int resonanceA() const {return idGstar;}
50 // Parameters set at initialization or for current kinematics.
52 double mRes, GammaRes, m2Res, GamMRat, kappaMG, sigma;
54 // Pointer to properties of the particle species, to access decay channels.
55 ParticleDataEntry* gStarPtr;
59 //**************************************************************************
61 // A derived class for f fbar -> G^* (excited graviton state).
63 class Sigma1ffbar2GravitonStar : public Sigma1Process {
68 Sigma1ffbar2GravitonStar() {}
70 // Initialize process.
71 virtual void initProc();
73 // Calculate flavour-independent parts of cross section.
74 virtual void sigmaKin();
76 // Evaluate sigmaHat(sHat).
77 virtual double sigmaHat() {return (abs(id1) < 9) ? sigma0 / 3. : sigma0;}
79 // Select flavour, colour and anticolour.
80 virtual void setIdColAcol();
82 // Evaluate weight for G* decay angle.
83 virtual double weightDecay( Event& process, int iResBeg, int iResEnd);
85 // Info on the subprocess.
86 virtual string name() const {return "f fbar -> G*";}
87 virtual int code() const {return 5002;}
88 virtual string inFlux() const {return "ffbarSame";}
89 virtual int resonanceA() const {return idGstar;}
93 // Parameters set at initialization or for current kinematics.
95 double mRes, GammaRes, m2Res, GamMRat, kappaMG, sigma0;
97 // Pointer to properties of the particle species, to access decay channels.
98 ParticleDataEntry* gStarPtr;
102 //**************************************************************************
104 // A derived class for g g -> G^* g (excited graviton state).
106 class Sigma2gg2GravitonStarg : public Sigma2Process {
111 Sigma2gg2GravitonStarg() {}
113 // Initialize process.
114 virtual void initProc();
116 // Calculate flavour-independent parts of cross section.
117 virtual void sigmaKin();
119 // Evaluate sigmaHat(sHat).
120 virtual double sigmaHat() {return sigma;}
122 // Select flavour, colour and anticolour.
123 virtual void setIdColAcol();
125 // Evaluate weight: currently isotropic (except secondary top decay)..
126 virtual double weightDecay( Event& process, int iResBeg, int iResEnd);
128 // Info on the subprocess.
129 virtual string name() const {return "g g -> G* g";}
130 virtual int code() const {return 5003;}
131 virtual string inFlux() const {return "gg";}
132 virtual int id3Mass() const {return idGstar;}
136 // Parameters set at initialization or for current kinematics.
138 double mRes, GammaRes, m2Res, GamMRat, kappaMG, openFrac, sigma;
142 //**************************************************************************
144 // A derived class for q g -> G^* q (excited graviton state).
146 class Sigma2qg2GravitonStarq : public Sigma2Process {
151 Sigma2qg2GravitonStarq() {}
153 // Initialize process.
154 virtual void initProc();
156 // Calculate flavour-independent parts of cross section.
157 virtual void sigmaKin();
159 // Evaluate sigmaHat(sHat).
160 virtual double sigmaHat() {return sigma;}
162 // Select flavour, colour and anticolour.
163 virtual void setIdColAcol();
165 // Evaluate weight: currently isotropic (except secondary top decay)..
166 virtual double weightDecay( Event& process, int iResBeg, int iResEnd);
168 // Info on the subprocess.
169 virtual string name() const {return "q g -> G* q";}
170 virtual int code() const {return 5004;}
171 virtual string inFlux() const {return "qg";}
172 virtual int id3Mass() const {return idGstar;}
176 // Parameters set at initialization or for current kinematics.
178 double mRes, GammaRes, m2Res, GamMRat, kappaMG, openFrac, sigma;
182 //**************************************************************************
184 // A derived class for q qbar -> G^* g (excited graviton state).
186 class Sigma2qqbar2GravitonStarg : public Sigma2Process {
191 Sigma2qqbar2GravitonStarg() {}
193 // Initialize process.
194 virtual void initProc();
196 // Calculate flavour-independent parts of cross section.
197 virtual void sigmaKin();
199 // Evaluate sigmaHat(sHat).
200 virtual double sigmaHat() {return sigma;}
202 // Select flavour, colour and anticolour.
203 virtual void setIdColAcol();
205 // Evaluate weight: currently isotropic (except secondary top decay)..
206 virtual double weightDecay( Event& process, int iResBeg, int iResEnd);
208 // Info on the subprocess.
209 virtual string name() const {return "q qbar -> G* g";}
210 virtual int code() const {return 5005;}
211 virtual string inFlux() const {return "qqbarSame";}
212 virtual int id3Mass() const {return idGstar;}
216 // Parameters set at initialization or for current kinematics.
218 double mRes, GammaRes, m2Res, GamMRat, kappaMG, openFrac, sigma;
222 //**************************************************************************
224 } // end namespace Pythia8
226 #endif // Pythia8_SigmaExtraDim_H