9 #ifndef Pythia8_SigmaDM_H
10 #define Pythia8_SigmaDM_H
12 #include "Pythia8/PythiaComplex.h"
13 #include "Pythia8/SigmaProcess.h"
14 #include "Pythia8/StandardModel.h"
22 class Sigma1ffbar2Zp2XX :
public Sigma1Process {
27 Sigma1ffbar2Zp2XX() : kinMix(), mRes(), GammaRes(), m2Res(), sigma0(),
28 preFac(), gZp(), eps(), particlePtr() {}
31 virtual void initProc();
34 virtual void sigmaKin();
37 virtual double sigmaHat();
40 virtual void setIdColAcol();
43 virtual string name()
const {
return "f fbar -> Zp -> XX";}
44 virtual int code()
const {
return 6001;}
45 virtual string inFlux()
const {
return "qqbar";}
46 virtual int resonanceA()
const {
return 55;}
47 virtual bool isSChannel()
const {
return true;}
48 virtual int gmZmode()
const {
return 3;}
54 double mRes, GammaRes, m2Res, sigma0, preFac, gZp, eps;
57 ParticleDataEntry* particlePtr;
63 class Sigma2qqbar2Zpg2XXj :
public Sigma2Process {
68 Sigma2qqbar2Zpg2XXj() : kinMix(), mRes(), GammaRes(), m2Res(), preFac(),
69 sigma0(), gZp(), eps(), particlePtr() {}
72 virtual void initProc();
75 virtual void sigmaKin();
78 virtual double sigmaHat();
81 virtual void setIdColAcol();
84 virtual string name()
const {
return "q qbar -> Zp g -> XX + jet";}
85 virtual int code()
const {
return 6002;}
86 virtual string inFlux()
const {
return "qqbar";}
87 virtual int resonanceA()
const {
return 55;}
88 virtual int id3Mass()
const {
return 55;}
89 virtual int id4Mass()
const {
return 21;}
90 virtual bool isSChannel()
const {
return true;}
91 virtual int gmZmode()
const {
return 3;}
97 double mRes, GammaRes, m2Res, preFac, sigma0, gZp, eps;
100 ParticleDataEntry* particlePtr;
106 class Sigma2qg2Zpq2XXj :
public Sigma2qqbar2Zpg2XXj {
109 Sigma2qg2Zpq2XXj() {}
112 virtual string name()
const {
return "q g -> Zp q -> XX + jet";}
113 virtual int code()
const {
return 6003;}
114 virtual string inFlux()
const {
return "qg";}
115 virtual int resonanceA()
const {
return 55;}
116 virtual bool isSChannel()
const {
return true;}
117 virtual int gmZmode()
const {
return 3;}
125 class Sigma2ffbar2ZpH :
public Sigma2Process {
130 Sigma2ffbar2ZpH() : kinMix(), mRes(), GammaRes(), m2Res(), sigma0(), gZp(),
131 eps(), coupZpH(), openFrac(), particlePtr() {}
134 virtual void initProc();
137 virtual void sigmaKin();
140 virtual double sigmaHat();
143 virtual void setIdColAcol();
146 virtual string name()
const {
return "f fbar -> Zprime H";}
147 virtual int code()
const {
return 6004;}
148 virtual string inFlux()
const {
return "ffbarSame";}
149 virtual bool isSChannel()
const {
return true;}
150 virtual int id3Mass()
const {
return 55;}
151 virtual int id4Mass()
const {
return 25;}
152 virtual int resonanceA()
const {
return 55;}
153 virtual int gmZmode()
const {
return 3;}
159 double mRes, GammaRes, m2Res, sigma0, gZp, eps, coupZpH, openFrac;
162 ParticleDataEntry* particlePtr;
168 class Sigma1gg2S2XX :
public Sigma1Process {
173 Sigma1gg2S2XX() : mRes(), GammaRes(), m2Res(), sigma0(), particlePtr() {}
176 virtual void initProc();
179 virtual void sigmaKin();
182 virtual double sigmaHat();
185 virtual void setIdColAcol();
188 virtual string name()
const {
return "g g -> S -> XX";}
189 virtual int code()
const {
return 6011;}
190 virtual string inFlux()
const {
return "gg";}
191 virtual int resonanceA()
const {
return 54;}
192 virtual bool isSChannel()
const {
return true;}
197 double mRes, GammaRes, m2Res, sigma0;
200 ParticleDataEntry* particlePtr;
206 class Sigma2gg2Sg2XXj :
public Sigma2Process {
211 Sigma2gg2Sg2XXj() : mRes(), GammaRes(), m2Res(), propS(), sigma0(),
215 virtual void initProc();
218 virtual void sigmaKin();
221 virtual double sigmaHat();
224 virtual void setIdColAcol();
227 virtual string name()
const {
return "g g -> S g -> XX + jet";}
228 virtual int code()
const {
return 6012;}
229 virtual string inFlux()
const {
return "gg";}
230 virtual int resonanceA()
const {
return 54;}
231 virtual bool isSChannel()
const {
return true;}
232 virtual int id3Mass()
const {
return 54;}
233 virtual int id4Mass()
const {
return 21;}
238 double mRes, GammaRes, m2Res, propS, sigma0;
241 ParticleDataEntry* particlePtr;
247 class Sigma2qg2Sq2XXj :
public Sigma2gg2Sg2XXj {
255 virtual string name()
const {
return "q g -> S q -> XX + jet";}
256 virtual int code()
const {
return 6013;}
257 virtual string inFlux()
const {
return "qg";}
258 virtual bool isSChannel()
const {
return true;}
269 Sigma2qqbar2DY() : sigma0(), openFracPair(), propRes(), nameSave(), mRes(),
270 GammaRes(), m2Res(), M1(), M2(), Lambda(), mixN1(), mixN2(), xW(),
271 coupW11(), coupW12(), coupW2(), yuk(), type(), nplet(), isUD(),
275 virtual void initProc();
278 virtual void sigmaKin();
281 virtual double sigmaHat();
284 virtual void setIdColAcol();
287 virtual string name()
const {
return nameSave;}
288 virtual int code()
const {
return 6020;}
289 virtual string inFlux()
const {
return "qqbar";}
290 virtual int resonanceA()
const {
return 23;}
291 virtual bool isSChannel()
const {
return true;}
292 virtual int id3Mass()
const {
return abs(id3);}
293 virtual int id4Mass()
const {
return abs(id4);}
298 double sigma0, openFracPair;
301 double mRes, GammaRes, m2Res;
304 double M1, M2, Lambda, mixN1, mixN2, xW, coupW11, coupW12, coupW2;
322 #endif // Pythia_SigmaDM_H