]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PYTHIA8/pythia8130/include/SigmaExtraDim.h
pythia8130 distributed with AliRoot
[u/mrichter/AliRoot.git] / PYTHIA8 / pythia8130 / include / SigmaExtraDim.h
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.
5
6 // Header file for extra-dimensional-process differential cross sections.
7 // Contains classes derived from SigmaProcess via Sigma(1/2)Process.
8
9 #ifndef Pythia8_SigmaExtraDim_H
10 #define Pythia8_SigmaExtraDim_H
11
12 #include "SigmaProcess.h"
13
14 namespace Pythia8 {
15  
16 //**************************************************************************
17
18 // A derived class for g g -> G^* (excited graviton state).
19
20 class Sigma1gg2GravitonStar : public Sigma1Process {
21
22 public:
23
24   // Constructor.
25   Sigma1gg2GravitonStar() {}
26
27   // Initialize process. 
28   virtual void initProc(); 
29
30   // Calculate flavour-independent parts of cross section.
31   virtual void sigmaKin();
32
33   // Evaluate sigmaHat(sHat). 
34   virtual double sigmaHat() {return sigma;}
35
36   // Select flavour, colour and anticolour.
37   virtual void setIdColAcol();
38
39   // Evaluate weight for G* decay angle.
40   virtual double weightDecay( Event& process, int iResBeg, int iResEnd); 
41
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;}
47
48 private:
49
50   // Parameters set at initialization or for current kinematics. 
51   int    idGstar;
52   double mRes, GammaRes, m2Res, GamMRat, kappaMG, sigma;
53
54   // Pointer to properties of the particle species, to access decay channels.
55   ParticleDataEntry* gStarPtr;
56
57 };
58  
59 //**************************************************************************
60
61 // A derived class for f fbar -> G^* (excited graviton state).
62
63 class Sigma1ffbar2GravitonStar : public Sigma1Process {
64
65 public:
66
67   // Constructor.
68   Sigma1ffbar2GravitonStar() {}
69
70   // Initialize process. 
71   virtual void initProc(); 
72
73   // Calculate flavour-independent parts of cross section.
74   virtual void sigmaKin();
75
76   // Evaluate sigmaHat(sHat). 
77   virtual double sigmaHat() {return (abs(id1) < 9) ? sigma0 / 3. : sigma0;}
78
79   // Select flavour, colour and anticolour.
80   virtual void setIdColAcol();
81
82   // Evaluate weight for G* decay angle.
83   virtual double weightDecay( Event& process, int iResBeg, int iResEnd); 
84
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;}
90
91 private:
92
93   // Parameters set at initialization or for current kinematics. 
94   int    idGstar;
95   double mRes, GammaRes, m2Res, GamMRat, kappaMG, sigma0;
96
97   // Pointer to properties of the particle species, to access decay channels.
98   ParticleDataEntry* gStarPtr;
99
100 };
101  
102 //**************************************************************************
103
104 // A derived class for g g -> G^* g (excited graviton state).
105
106 class Sigma2gg2GravitonStarg : public Sigma2Process {
107
108 public:
109
110   // Constructor.
111   Sigma2gg2GravitonStarg() {}
112
113   // Initialize process. 
114   virtual void initProc(); 
115
116   // Calculate flavour-independent parts of cross section.
117   virtual void sigmaKin();
118
119   // Evaluate sigmaHat(sHat). 
120   virtual double sigmaHat() {return sigma;}
121
122   // Select flavour, colour and anticolour.
123   virtual void setIdColAcol();
124
125   // Evaluate weight: currently isotropic (except secondary top decay)..
126   virtual double weightDecay( Event& process, int iResBeg, int iResEnd); 
127
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;}
133
134 private:
135
136   // Parameters set at initialization or for current kinematics. 
137   int    idGstar;
138   double mRes, GammaRes, m2Res, GamMRat, kappaMG, openFrac, sigma;
139
140 };
141  
142 //**************************************************************************
143
144 // A derived class for q g -> G^* q (excited graviton state).
145
146 class Sigma2qg2GravitonStarq : public Sigma2Process {
147
148 public:
149
150   // Constructor.
151   Sigma2qg2GravitonStarq() {}
152
153   // Initialize process. 
154   virtual void initProc(); 
155
156   // Calculate flavour-independent parts of cross section.
157   virtual void sigmaKin();
158
159   // Evaluate sigmaHat(sHat). 
160   virtual double sigmaHat() {return sigma;}
161
162   // Select flavour, colour and anticolour.
163   virtual void setIdColAcol();
164
165   // Evaluate weight: currently isotropic (except secondary top decay)..
166   virtual double weightDecay( Event& process, int iResBeg, int iResEnd); 
167
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;}
173
174 private:
175
176   // Parameters set at initialization or for current kinematics. 
177   int    idGstar;
178   double mRes, GammaRes, m2Res, GamMRat, kappaMG, openFrac, sigma;
179
180 };
181  
182 //**************************************************************************
183
184 // A derived class for q qbar -> G^* g (excited graviton state).
185
186 class Sigma2qqbar2GravitonStarg : public Sigma2Process {
187
188 public:
189
190   // Constructor.
191   Sigma2qqbar2GravitonStarg() {}
192
193   // Initialize process. 
194   virtual void initProc(); 
195
196   // Calculate flavour-independent parts of cross section.
197   virtual void sigmaKin();
198
199   // Evaluate sigmaHat(sHat). 
200   virtual double sigmaHat() {return sigma;}
201
202   // Select flavour, colour and anticolour.
203   virtual void setIdColAcol();
204
205   // Evaluate weight: currently isotropic (except secondary top decay)..
206   virtual double weightDecay( Event& process, int iResBeg, int iResEnd); 
207
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;}
213
214 private:
215
216   // Parameters set at initialization or for current kinematics. 
217   int    idGstar;
218   double mRes, GammaRes, m2Res, GamMRat, kappaMG, openFrac, sigma;
219
220 };
221  
222 //**************************************************************************
223
224 } // end namespace Pythia8
225
226 #endif // Pythia8_SigmaExtraDim_H