File indexing completed on 2025-01-18 10:06:29
0001
0002
0003
0004
0005
0006
0007
0008
0009 #ifndef Pythia8_SigmaDM_H
0010 #define Pythia8_SigmaDM_H
0011
0012 #include "Pythia8/PythiaComplex.h"
0013 #include "Pythia8/SigmaProcess.h"
0014 #include "Pythia8/StandardModel.h"
0015
0016 namespace Pythia8 {
0017
0018
0019
0020
0021
0022 class Sigma1ffbar2Zp2XX : public Sigma1Process {
0023
0024 public:
0025
0026
0027 Sigma1ffbar2Zp2XX() : kinMix(), mRes(), GammaRes(), m2Res(), sigma0(),
0028 preFac(), gZp(), eps(), particlePtr() {}
0029
0030
0031 virtual void initProc();
0032
0033
0034 virtual void sigmaKin();
0035
0036
0037 virtual double sigmaHat();
0038
0039
0040 virtual void setIdColAcol();
0041
0042
0043 virtual string name() const {return "f fbar -> Zp -> XX";}
0044 virtual int code() const {return 6001;}
0045 virtual string inFlux() const {return "qqbar";}
0046 virtual int resonanceA() const {return 55;}
0047 virtual bool isSChannel() const {return true;}
0048 virtual int gmZmode() const {return 3;}
0049
0050 private:
0051
0052
0053 bool kinMix;
0054 double mRes, GammaRes, m2Res, sigma0, preFac, gZp, eps;
0055
0056
0057 ParticleDataEntryPtr particlePtr;
0058
0059 };
0060
0061
0062
0063 class Sigma2qqbar2Zpg2XXj : public Sigma2Process {
0064
0065 public:
0066
0067
0068 Sigma2qqbar2Zpg2XXj() : kinMix(), mRes(), GammaRes(), m2Res(), preFac(),
0069 sigma0(), gZp(), eps(), particlePtr() {}
0070
0071
0072 virtual void initProc();
0073
0074
0075 virtual void sigmaKin();
0076
0077
0078 virtual double sigmaHat();
0079
0080
0081 virtual void setIdColAcol();
0082
0083
0084 virtual string name() const {return "q qbar -> Zp g -> XX + jet";}
0085 virtual int code() const {return 6002;}
0086 virtual string inFlux() const {return "qqbar";}
0087 virtual int resonanceA() const {return 55;}
0088 virtual int id3Mass() const {return 55;}
0089 virtual int id4Mass() const {return 21;}
0090 virtual bool isSChannel() const {return true;}
0091 virtual int gmZmode() const {return 3;}
0092
0093 protected:
0094
0095
0096 bool kinMix;
0097 double mRes, GammaRes, m2Res, preFac, sigma0, gZp, eps;
0098
0099
0100 ParticleDataEntryPtr particlePtr;
0101
0102 };
0103
0104
0105
0106 class Sigma2qg2Zpq2XXj : public Sigma2qqbar2Zpg2XXj {
0107
0108
0109 Sigma2qg2Zpq2XXj() {}
0110
0111
0112 virtual string name() const {return "q g -> Zp q -> XX + jet";}
0113 virtual int code() const {return 6003;}
0114 virtual string inFlux() const {return "qg";}
0115 virtual int resonanceA() const {return 55;}
0116 virtual bool isSChannel() const {return true;}
0117 virtual int gmZmode() const {return 3;}
0118
0119 };
0120
0121
0122
0123
0124
0125 class Sigma2ffbar2ZpH : public Sigma2Process {
0126
0127 public:
0128
0129
0130 Sigma2ffbar2ZpH() : kinMix(), mRes(), GammaRes(), m2Res(), sigma0(), gZp(),
0131 eps(), coupZpH(), openFrac(), particlePtr() {}
0132
0133
0134 virtual void initProc();
0135
0136
0137 virtual void sigmaKin();
0138
0139
0140 virtual double sigmaHat();
0141
0142
0143 virtual void setIdColAcol();
0144
0145
0146 virtual string name() const {return "f fbar -> Zprime H";}
0147 virtual int code() const {return 6004;}
0148 virtual string inFlux() const {return "ffbarSame";}
0149 virtual bool isSChannel() const {return true;}
0150 virtual int id3Mass() const {return 55;}
0151 virtual int id4Mass() const {return 25;}
0152 virtual int resonanceA() const {return 55;}
0153 virtual int gmZmode() const {return 3;}
0154
0155 private:
0156
0157
0158 bool kinMix;
0159 double mRes, GammaRes, m2Res, sigma0, gZp, eps, coupZpH, openFrac;
0160
0161
0162 ParticleDataEntryPtr particlePtr;
0163
0164 };
0165
0166
0167
0168 class Sigma1gg2S2XX : public Sigma1Process {
0169
0170 public:
0171
0172
0173 Sigma1gg2S2XX() : mRes(), GammaRes(), m2Res(), sigma0(), particlePtr() {}
0174
0175
0176 virtual void initProc();
0177
0178
0179 virtual void sigmaKin();
0180
0181
0182 virtual double sigmaHat();
0183
0184
0185 virtual void setIdColAcol();
0186
0187
0188 virtual string name() const {return "g g -> S -> XX";}
0189 virtual int code() const {return 6011;}
0190 virtual string inFlux() const {return "gg";}
0191 virtual int resonanceA() const {return 54;}
0192 virtual bool isSChannel() const {return true;}
0193
0194 private:
0195
0196
0197 double mRes, GammaRes, m2Res, sigma0;
0198
0199
0200 ParticleDataEntryPtr particlePtr;
0201
0202 };
0203
0204
0205
0206 class Sigma2gg2Sg2XXj : public Sigma2Process {
0207
0208 public:
0209
0210
0211 Sigma2gg2Sg2XXj() : mRes(), GammaRes(), m2Res(), propS(), sigma0(),
0212 particlePtr() {}
0213
0214
0215 virtual void initProc();
0216
0217
0218 virtual void sigmaKin();
0219
0220
0221 virtual double sigmaHat();
0222
0223
0224 virtual void setIdColAcol();
0225
0226
0227 virtual string name() const {return "g g -> S g -> XX + jet";}
0228 virtual int code() const {return 6012;}
0229 virtual string inFlux() const {return "gg";}
0230 virtual int resonanceA() const {return 54;}
0231 virtual bool isSChannel() const {return true;}
0232 virtual int id3Mass() const {return 54;}
0233 virtual int id4Mass() const {return 21;}
0234
0235 protected:
0236
0237
0238 double mRes, GammaRes, m2Res, propS, sigma0;
0239
0240
0241 ParticleDataEntryPtr particlePtr;
0242
0243 };
0244
0245
0246
0247 class Sigma2qg2Sq2XXj : public Sigma2gg2Sg2XXj {
0248
0249 public:
0250
0251
0252 Sigma2qg2Sq2XXj() {}
0253
0254
0255 virtual string name() const {return "q g -> S q -> XX + jet";}
0256 virtual int code() const {return 6013;}
0257 virtual string inFlux() const {return "qg";}
0258 virtual bool isSChannel() const {return true;}
0259
0260 };
0261
0262
0263
0264 class Sigma2qqbar2DY : public Sigma2Process {
0265
0266 public:
0267
0268
0269 Sigma2qqbar2DY() : sigma0(), openFracPair(), propRes(), nameSave(), mRes(),
0270 GammaRes(), m2Res(), M1(), M2(), Lambda(), mixN1(), mixN2(), xW(),
0271 coupW11(), coupW12(), coupW2(), yuk(), type(), nplet(), isUD(),
0272 particlePtr() {}
0273
0274
0275 virtual void initProc();
0276
0277
0278 virtual void sigmaKin();
0279
0280
0281 virtual double sigmaHat();
0282
0283
0284 virtual void setIdColAcol();
0285
0286
0287 virtual string name() const {return nameSave;}
0288 virtual int code() const {return 6020;}
0289 virtual string inFlux() const {return "qqbar";}
0290 virtual int resonanceA() const {return 23;}
0291 virtual bool isSChannel() const {return true;}
0292 virtual int id3Mass() const {return abs(id3);}
0293 virtual int id4Mass() const {return abs(id4);}
0294
0295 protected:
0296
0297
0298 double sigma0, openFracPair;
0299 complex propRes;
0300 string nameSave;
0301 double mRes, GammaRes, m2Res;
0302
0303
0304 double M1, M2, Lambda, mixN1, mixN2, xW, coupW11, coupW12, coupW2;
0305
0306
0307 double yuk[4];
0308
0309
0310 int type, nplet;
0311 bool isUD;
0312
0313
0314 ParticleDataEntryPtr particlePtr;
0315
0316 };
0317
0318
0319
0320 }
0321
0322 #endif