softsusy is hosted by Hepforge, IPPP Durham
SOFTSUSY  4.1
threeBodyDecays.h
Go to the documentation of this file.
1 
12 #ifndef THREEBODYDECAYS_H
13 #define THREEBODYDECAYS_H
14 
15 #include "nmssmsoftsusy.h"
16 #include "softsusy.h"
17 #include "physpars.h"
18 #include "lowe.h"
19 #include "def.h"
20 #include "softpars.h"
21 #include "softsusy.h"
22 #include "flavoursoft.h"
23 #include "susy.h"
24 #include "particle.h"
25 #include "twoBodyDecays.h"
26 #include <iostream>
27 #include <cstring>
28 #include <stdlib.h>
29 #include <cmath>
30 #include <stdlib.h>
31 #include <vector>
32 #include <iomanip>
33 #include <complex>
34 
35 using namespace std;
36 
38 const double accuracy = 0.01;
39 
42 const double mcpole = 1.40;
45 const double mspole = 0.19;
48 const double hadronicScale = 1.5;
49 
50 void printRowPDG(ostream & cout, double x);
51 void OutputNoPWs(ostream & cout, Particle & P);
52 void OutputYesPWs(ostream & cout, Particle & P);
53 
55  double Zsfintegralsum(double m1, double m2, double msf, double mf, double mz, double min, double max, double Nsteps, int adaptive, double approx);
56  double Aintegralsum(double m1, double m2, double mz, double mA, double mf, double min, double max, double Nsteps, int adaptive, double approx);
57  double G3integralsum(double m1, double m2, double m3, double mt, double mb, double min, double max, double Nsteps, int adaptive, double approx);
58  double G2integralsum(double m1, double m2, double m3, double mt, double mb, double min, double max, double Nsteps, int adaptive, double approx);
59 double chiprimeintegralsum(double m1, double m2, double m3, double m4, double mq, double min, double max, double Nsteps, int adaptive, double approx);
60  double Yintegralsum(double m1, double m2, double m3, double m4, double mq, double min, double max, double Nsteps, int adaptive, double approx);
61  double Xintegralsum(double m1, double m2, double m3, double m4, double mq, double min, double max, double Nsteps, int adaptive, double approx);
62  double zetaintegralsum(double m1, double m2, double m3, double m4, double mq, double min, double max, double Nsteps, int adaptive, double approx);
63  double chiintegralsum(double m1, double m2, double m3, double m4, double mq, double min, double max, double Nsteps, int adaptive, double approx);
64  double rhointegralsum(double m1, double m2, double m3, double m4, double mq, double min, double max, double Nsteps, int adaptive, double approx);
65  double xsiintegralsum(double m1, double m2, double m3, double m4, double mq, double min, double max, double Nsteps, int adaptive, double approx);
66  double phitildaintegralsum(double m1, double m2, double m3, double m4, double mq, double min, double max, double Nsteps, int adaptive, double approx);
67  double psitildaintegralsum(double m1, double m2, double m3, double m4, double mq, double min, double max, double Nsteps, int adaptive, double approx);
68 
69  double Zintegralsum(double m1, double m2, double mz, double mf, double min, double max, double Nsteps, int adaptive, double approx);
70  double G1integralsum(double m1, double m2, double m3, double mq, double min, double max, double Nsteps, int adaptive, double approx);
71 
72  double G4integralsum(double m1, double m2, double m3, double m4, double mt, double mb, double min, double max, double Nsteps, int adaptive, double approx);
73  double G5integralsum(double m1, double m2, double m3, double m4, double mt, double mb, double min, double max, double Nsteps, int adaptive, double approx);
74  double G6integralsum(double m1, double m2, double m3, double m4, double mt, double mb, double min, double max, double Nsteps, int adaptive, double approx);
75  double G7integralsum(double m1, double m2, double m3, double m4, double mt, double mb, double min, double max, double Nsteps, int adaptive, double approx);
76  double G8integralsum(double m1, double m2, double m3, double m4, double mt, double mb, double min, double max, double Nsteps, int adaptive, double approx);
77 
78  double Jintegralsum(double m1, double m2, double msf, double mphi, double mf, double min, double max, double Nsteps, double approx, int adaptive, int AorhorH);
79 double ghHintegral(double m1, double m2, double mf, double mh, double mH, double g, double gp, double alpha, int neutralinoi, int neutralinoj, DoubleMatrix & mixNeut, double E);
80 double hHintegral (double m1, double m2, double mf, double mh, double mH, double fromE, double toE, double stepE, double g, double gp, double alpha, DoubleMatrix & mixNeut, int neutralinoi, int neutralinoj);
82  //only done via usual method (not via a separate integrating function compute_areai) as can't pass a DoubleMatrix & in a function pointer
83 
84 
85 
87  double gluinoamplitudedecaydgaussneutralinoqqpbarfirsttwogen (double mgluino, double mneutralino, double msqL, double msqR, double mquark, double g, double gp, DoubleMatrix & mixNeut, double alphas, char uord, int neut, bool onetothree);
88 double gluinoamplitudedecaydgaussneutralinoqqpbarfirsttwogenlimit (double mgluino, double mneutralino, double msqL, double msqR, double mquark, double g, double gp, DoubleMatrix & mixNeut, double alphas, char uord, int neut, bool onetothree);
89  double gluinoamplitudedecaydgaussneutralinottbar (double mgluino, double mst1, double mst2, double mneutralino, double mt, double mWboson, double g, double gp, double thetat, double beta, double alphas, DoubleMatrix & mixNeut, double runmt, int neutralino, bool onetothree, char torb);
90  double gluinoamplitudedecaydgausschartbbar (double mgluino, double mst1, double mst2, double msb1, double msb2, double mtop, double mbottom, double mchar, double alphas, double thetat, double thetab, double MWBoson, double g, double gp, double gammaL, double gammaR, double beta, double runmt, double runmb, int chargino, bool onetothree);
91  double neutralinoamplitudedecaydgaussneutralinoffbar (double mneutralinoi, double msf1, double msf2, double mZboson, double mhiggsl, double mhiggsH, double mhiggsA, double mneutralinoj, double mf, double alphas, double thetaq, double mWboson, double g, double gp, double alpha, double beta, double runmq, DoubleMatrix & mixNeut, int ineutralino, int jneutralino, bool onetothree, char uordornuorl);
92  double neutralinoamplitudedecaycharginoffprimebar (double mneutralinoi, double msfp1, double msfp2, double msf1, double msf2, double mWboson, double mHP, double mcharginoj, double mfp, double mf, double thetaq, double thetaqp, double g, double gp, double alpha, double beta, double thetaL2, double thetaR2, double runmqp, double runmq, DoubleMatrix & mixNeut, int ineutralino, int jchargino, bool onetothree, char qorl, char norc);
93 
94 
97 double fdgauss(double x);
98 double gpsitildadgauss(double Et);
99 double gphitildadgauss(double Et);
100 double gxsidgauss (double Et);
101 double grhodgauss (double Et);
102 double gchidgauss (double Et);
103 double gzetadgauss (double Et);
104 double gXdgauss (double Et);
105 double gYdgauss (double Et);
106 double gchiprimedgauss (double Et);
107 double gG1dgauss (double Et);
108 double gG4dgauss (double Et);
109 double gG5dgauss(double Et);
110 double gG6dgauss(double Et);
111 double gG7dgauss(double Et);
112 double gG8dgauss(double Et);
113 double gG2dgauss(double Eb);
114 double gG3dgauss(double Eb);
115 double gZdgauss(double E);
116 double ghHdgauss (double E);
117 double gAdgauss (double E);
118 double gZsfdgauss (double s);
119 double gJdgauss(double s);
120 
121 double gneutineutjffZ1dgauss(double s);
122 double gneutineutjffZ2dgauss(double s);
123 double gneutineutjffZ3dgauss(double s);
124 double gneutineutjffZ4dgauss(double s);
125 
126 double gintegralhdgauss(double E);
127 double gintegralHdgauss(double E);
128 double gintegralh1dgauss(double E);
129 double gintegralh2dgauss(double E);
130 double gintegralh3dgauss(double E);
131 double gintegralh4dgauss(double E);
132 double gintegralH1dgauss(double E);
133 double gintegralH2dgauss(double E);
134  double gintegralH3dgauss(double E);
135  double gintegralH4dgauss(double E);
136  double gintegralhH1dgauss(double E);
137  double gintegralhH2dgauss(double E);
138  double gintegralhH3dgauss(double E);
139  double gintegralhH4dgauss(double E);
140  double gintegralA1dgauss(double E);
141  double gintegralA2dgauss(double E);
142  double gintegralA3dgauss(double E);
143  double gintegralA4dgauss(double E);
144  double gintegral1Zsfdgauss(double E);
145  double gintegral2Zsfdgauss(double E);
146  double gintegral3Zsfdgauss(double E);
147  double gintegral4Zsfdgauss(double E);
148  double gintegral5Zsfdgauss(double E);
149  double gintegral6Zsfdgauss(double E);
150  double gintegral7Zsfdgauss(double E);
151  double gintegral8Zsfdgauss(double E);
152  double gintegral1hsfdgauss(double E);
153  double gintegral2hsfdgauss(double E);
154  double gintegral3hsfdgauss(double E);
155  double gintegral4hsfdgauss(double E);
156  double gintegral5hsfdgauss(double E);
157  double gintegral6hsfdgauss(double E);
158  double gintegral7hsfdgauss(double E);
159  double gintegral8hsfdgauss(double E);
160  double gintegral1Hsfdgauss(double E);
161  double gintegral2Hsfdgauss(double E);
162  double gintegral3Hsfdgauss(double E);
163  double gintegral4Hsfdgauss(double E);
164  double gintegral5Hsfdgauss(double E);
165  double gintegral6Hsfdgauss(double E);
166  double gintegral7Hsfdgauss(double E);
167  double gintegral8Hsfdgauss(double E);
168  double gintegral1ZAdgauss(double E);
169  double gintegral2ZAdgauss(double E);
170  double gintegral3ZAdgauss(double E);
171  double gintegral4ZAdgauss(double E);
172  double gneutineutjffgA1dgauss(double E);
173  double gneutineutjffgA2dgauss(double E);
174  double gneutineutjffgA3dgauss(double E);
175  double gneutineutjffgA4dgauss(double E);
176 
177  double gneuticharjffpW1dgauss(double E);
178  double gneuticharjffpW2dgauss(double E);
179  double gneuticharjffpHpm1dgauss(double E);
180  double gneuticharjffpHpm2dgauss(double E);
181  double gneuticharjffpHpm3dgauss(double E);
182  double gneuticharjffpHpm4dgauss(double E);
183  double gneuticharjffp1sf1sf2dgauss(double E);
184  double gneuticharjffp2sf1sf2dgauss(double E);
185  double gneuticharjffp3sf1sf2dgauss(double E);
186  double gneuticharjffp4sf1sf2dgauss(double E);
187  double gneuticharjffp1sfp1sf2dgauss(double E);
188  double gneuticharjffp2sfp1sf2dgauss(double E);
189  double gneuticharjffp3sfp1sf2dgauss(double E);
190  double gneuticharjffp4sfp1sf2dgauss(double E);
191  double gneuticharjffp5sfp1sf2dgauss(double E);
192  double gneuticharjffp6sfp1sf2dgauss(double E);
193  double gneuticharjffp7sfp1sf2dgauss(double E);
194  double gneuticharjffp8sfp1sf2dgauss(double E);
195  double gneuticharjffp1WHpmdgauss(double E);
196  double gneuticharjffp2WHpmdgauss(double E);
197  double gneuticharjffp3WHpmdgauss(double E);
198  double gneuticharjffp4WHpmdgauss(double E);
199  double gneuticharjffpW1Sfpdgauss(double E);
200  double gneuticharjffpW2Sfpdgauss(double E);
201  double gneuticharjffpW3Sfpdgauss(double E);
202  double gneuticharjffpW4Sfpdgauss(double E);
203  double gneuticharjffpW5Sfpdgauss(double E);
204  double gneuticharjffpW6Sfpdgauss(double E);
205  double gneuticharjffpW7Sfpdgauss(double E);
206  double gneuticharjffpW8Sfpdgauss(double E);
207  double gneuticharjffpHg1dgauss(double E);
208  double gneuticharjffpHg2dgauss(double E);
209  double gneuticharjffpHg3dgauss(double E);
210  double gneuticharjffpHg4dgauss(double E);
211  double gneuticharjffp1gsfpdgauss(double E);
212  double gneuticharjffp2gsfpdgauss(double E);
213  double gneuticharjffp3gsfpdgauss(double E);
214  double gneuticharjffp4gsfpdgauss(double E);
215  double gneuticharjffp5gsfpdgauss(double E);
216  double gneuticharjffp6gsfpdgauss(double E);
217  double gneuticharjffp7gsfpdgauss(double E);
218  double gneuticharjffp8gsfpdgauss(double E);
219  double gneuticharjffp1sfpsfpdgauss(double E);
220  double gneuticharjffp21sfpsfpdgauss(double E);
221  double gneuticharjffp31sfpsfpdgauss(double E);
222  double gneuticharjffp41sfpsfpdgauss(double E);
223 
224  DoubleVector squarkmixcharginocouplings (double g, double theta, double beta, double gammaL, double gammaR, double runmt, double runmb, double mWboson, int torb);
225  DoubleVector higgsphisamecharginocouplings(double alpha, double beta, double thetaL, double thetaR);
226  DoubleVector higgsphidifcharginocouplings (double alpha, double beta, double thetaL, double thetaR);
227  DoubleVector higgshsquarksamehandcouplings (double mWboson, double g, double gp, double alpha, double beta, double mupq, double mdownq);
228  DoubleVector higgshsquarkdiffhandcouplings (double mWboson, double g, double alpha, double beta, double mupq, double mdownq, double greekmu, double Aup, double Adown);
229  DoubleVector higgsHsquarksamehandcouplings (double mWboson, double g, double gp, double alpha, double beta, double mupq, double mdownq);
230  DoubleVector higgsHsquarkdiffhandcouplings (double mWboson, double g, double alpha, double beta, double mupq, double mdownq, double greekmu, double Aup, double Adown);
231  DoubleVector higgshsleptonsamehandcouplings (double mWboson, double g, double gp, double alpha, double beta, double mel);
232  DoubleVector higgshsleptondiffhandcouplings (double mWboson, double g, double alpha, double beta, double mel, double greekmu, double Ae);
233  DoubleVector higgsHsleptonsamehandcouplings (double mWboson, double g, double gp, double alpha, double beta, double mel) ;
234  DoubleVector higgsHsleptondiffhandcouplings (double mWboson, double g, double alpha, double beta, double mel, double greekmu, double Ae);
235  DoubleVector higgsHplussquarkcouplings (double mWboson, double g, double beta, double mup, double mdown, double greekmu, double Au, double Ad);
236  DoubleVector squarkmixcharginocouplings (double g, double theta, double beta, double gammaL, double gammaR, double runmt, double runmb, double mWboson, double mch1, double mch2, int torb);
237 DoubleVector higgsphisamecharginocouplings (double alpha, double beta, double thetaL, double thetaR);
238 DoubleVector higgsphidifcharginocouplings (double alpha, double beta, double thetaL, double thetaR);
239 DoubleVector higgshsquarksamehandcouplings (double mWboson, double g, double gp, double alpha, double beta, double mupq, double mdownq);
240 DoubleVector higgshsquarkdiffhandcouplings (double mWboson, double g, double alpha, double beta, double mupq, double mdownq, double greekmu, double Aup, double Adown);
241 DoubleVector higgsHsquarksamehandcouplings (double mWboson, double g, double gp, double alpha, double beta, double mupq, double mdownq);
242 DoubleVector higgsHsquarkdiffhandcouplings (double mWboson, double g, double alpha, double beta, double mupq, double mdownq, double greekmu, double Aup, double Adown);
243 DoubleVector higgshsleptonsamehandcouplings (double mWboson, double g, double gp, double alpha, double beta, double mel);
244 DoubleVector higgshsleptondiffhandcouplings (double mWboson, double g, double alpha, double beta, double mel, double greekmu, double Ae);
245 DoubleVector higgsHsleptonsamehandcouplings (double mWboson, double g, double gp, double alpha, double beta, double mel);
246 DoubleVector higgsHsleptondiffhandcouplings (double mWboson, double g, double alpha, double beta, double mel, double greekmu, double Ae);
247 DoubleVector higgsHplussquarkcouplings (double mWboson, double g, double beta, double mup, double mdown, double greekmu, double Au, double Ad);
249 DoubleVector foftau(double mpart, double mcomp);
250 DoubleVector goftau(double mpart, double mcomp);
251 double chToN2piInt(double qSq, const DoubleVector & v);
252 double charginoToNeutralino2pion(const MssmSoftsusy * m);
253 Complex fofqsq(double qSq);
254 Complex bw(double mSq, double gamma, double qSq);
255 
256 #endif
double gintegral2ZAdgauss(double E)
m1 = mZi, m4 = mZj, mq = mf, mA = mhiggsA, m2 = msfi, MZboson = mz
Definition: threeBodyDecays.cpp:1264
double gneuticharjffpW1Sfpdgauss(double E)
m1 = mneutralinoi, m2 = mfp, m3 = mf, m4 = mcharginoj, m5 = mWboson, m6 = msfp
Definition: threeBodyDecays.cpp:1801
double gintegralhH4dgauss(double E)
m1 = mZi, m4 = mZj, mq = mt, MZboson = mz, mh = mhiggsl, mH = mhiggsH
Definition: threeBodyDecays.cpp:783
void printRowPDG(ostream &cout, double x)
Definition: threeBodyDecays.cpp:182
double gneuticharjffpHpm4dgauss(double E)
m1 = mneutralinoi, m2 = mcharginoj, m3 = mf, m4 = mfp, m5 = mHpm; //sometimes mass order differs as c...
Definition: threeBodyDecays.cpp:1457
double gneuticharjffpHpm1dgauss(double E)
m1 = mneutralinoi, m2 = mcharginoj, m3 = mf, m4 = mfp, m5 = mHpm; //sometimes mass order differs as c...
Definition: threeBodyDecays.cpp:1406
double gneuticharjffpW1dgauss(double E)
m1 = mZi, m2 = mWj, m3 = mf, m4 = mfp, MWboson = mw
Definition: threeBodyDecays.cpp:1371
switches (options) and parameters such as default fermion masses, required accuracy etc
double neutralinoamplitudedecaycharginoffprimebar(double mneutralinoi, double msfp1, double msfp2, double msf1, double msf2, double mWboson, double mHP, double mcharginoj, double mfp, double mf, double thetaq, double thetaqp, double g, double gp, double alpha, double beta, double thetaL2, double thetaR2, double runmqp, double runmq, DoubleMatrix &mixNeut, int ineutralino, int jchargino, bool onetothree, char qorl, char norc)
Definition: threeBodyDecays.cpp:3241
double gintegral5Zsfdgauss(double E)
m1 = mZi, m4 = mZj, mq = mf, MZboson = mz, m2 = msfi where i is the sfermion index you're considering...
Definition: threeBodyDecays.cpp:892
Particle class definition for decays.
Definition: particle.h:46
DoubleVector higgshsleptonsamehandcouplings(double mWboson, double g, double gp, double alpha, double beta, double mel)
calculates the couplings of light scalar higgs h to two sleptons of same handedness
Definition: threeBodyDecays.cpp:6241
double gneuticharjffpW2Sfpdgauss(double E)
m1 = mneutralinoi, m2 = mfp, m3 = mf, m4 = mcharginoj, m5 = mWboson, m6 = msfp
Definition: threeBodyDecays.cpp:1823
double gZdgauss(double E)
m1 = mZi, m4 = mZj, m2 = mstop1, m3 = mstop2, mq = mt, MZboson = mz
Definition: threeBodyDecays.cpp:524
double gneuticharjffp3sfp1sf2dgauss(double E)
m1 = mneutralinoi, m2 = mf, m3 = mcharginoj, m4 = mfp, m5 = msfp1, m6 = msf2
Definition: threeBodyDecays.cpp:1589
DoubleVector higgsHsleptondiffhandcouplings(double mWboson, double g, double alpha, double beta, double mel, double greekmu, double Ae)
calculates the couplings of heavy scalar higgs H to two sleptons of different handedness
Definition: threeBodyDecays.cpp:6284
double gneuticharjffp2sf1sf2dgauss(double E)
m1 = mneutralinoi, m2 = mf, m3 = mcharginoj, m4 = mfp, m5 = msf1, m6 = msf2
Definition: threeBodyDecays.cpp:1493
double gintegral3Hsfdgauss(double E)
m1 = mZi, m4 = mZj, mq = mf, mhiggsl = mh, m2 = msfi where i is the sfermion index you're considering...
Definition: threeBodyDecays.cpp:1141
double gneuticharjffp3sf1sf2dgauss(double E)
m1 = mneutralinoi, m2 = mf, m3 = mcharginoj, m4 = mfp, m5 = msf1, m6 = msf2
Definition: threeBodyDecays.cpp:1509
double gneutineutjffZ1dgauss(double s)
m1 = mneuti, m4 = mneutj, mq = mf, MZboson = mZboson
Definition: threeBodyDecays.cpp:599
double gG5dgauss(double Et)
m1 = mgluino, m2 = mstopi, m4 = msbottomi, m6 = mtop, m7 = mbottom , m8 = mcharginoj
Definition: threeBodyDecays.cpp:446
double gintegralH1dgauss(double E)
m1 = mZi, m4 = mZj, mq = mt, MZboson = mz, mH = mhiggsH
Definition: threeBodyDecays.cpp:722
Header file for RP conserving MSSM object including all (real) soft SUSY breaking parameters and (rea...
double gintegral4Zsfdgauss(double E)
m1 = mZi, m4 = mZj, mq = mf, MZboson = mz, m2 = msfi where i is the sfermion index you're considering...
Definition: threeBodyDecays.cpp:876
double gneuticharjffp8sfp1sf2dgauss(double E)
m1 = mneutralinoi, m2 = mf, m3 = mcharginoj, m4 = mfp, m5 = msfp1, m6 = msf2
Definition: threeBodyDecays.cpp:1703
double gintegralh2dgauss(double E)
m1 = mZi, m4 = mZj, mq = mt, MZboson = mz, mh = mhiggsl
Definition: threeBodyDecays.cpp:695
double gneuticharjffp2gsfpdgauss(double E)
m1 = mneutralinoi, m2 = mfp, m3 = mf, m4 = mcharginoj, m5 = mWboson, m6 = msfp1
Definition: threeBodyDecays.cpp:2065
double gintegral1hsfdgauss(double E)
m1 = mZi, m4 = mZj, mq = mf, mhiggsl = mh, m2 = msfi where i is the sfermion index you're considering...
Definition: threeBodyDecays.cpp:958
DoubleVector higgsHsquarkdiffhandcouplings(double mWboson, double g, double alpha, double beta, double mupq, double mdownq, double greekmu, double Aup, double Adown)
calculates the couplings of heavy scalar higgs H to two squarks of different handedness
Definition: threeBodyDecays.cpp:6227
double gintegral8Zsfdgauss(double E)
m1 = mZi, m4 = mZj, mq = mf, MZboson = mz, m2 = msfi where i is the sfermion index you're considering...
Definition: threeBodyDecays.cpp:940
drop-in replacement for the original home-grown Complex class
Definition: mycomplex.h:17
DoubleVector higgshsquarksamehandcouplings(double mWboson, double g, double gp, double alpha, double beta, double mupq, double mdownq)
calculates the couplings of light scalar higgs h to two squarks of same handedness
Definition: threeBodyDecays.cpp:6182
double gluinoamplitudedecaydgaussneutralinoqqpbarfirsttwogen(double mgluino, double mneutralino, double msqL, double msqR, double mquark, double g, double gp, DoubleMatrix &mixNeut, double alphas, char uord, int neut, bool onetothree)
Hintegral.
Definition: threeBodyDecays.cpp:2289
double gneuticharjffp1sf1sf2dgauss(double E)
m1 = mneutralinoi, m2 = mf, m3 = mcharginoj, m4 = mfp, m5 = msf1, m6 = msf2
Definition: threeBodyDecays.cpp:1477
double gZsfdgauss(double s)
m2 = msfi where i is the sfermion contribution interference with Z you are considering
Definition: threeBodyDecays.cpp:567
DoubleVector is of variable length, and contains double precision.
Definition: linalg.h:35
double gluinoamplitudedecaydgausschartbbar(double mgluino, double mst1, double mst2, double msb1, double msb2, double mtop, double mbottom, double mchar, double alphas, double thetat, double thetab, double MWBoson, double g, double gp, double gammaL, double gammaR, double beta, double runmt, double runmb, int chargino, bool onetothree)
Definition: threeBodyDecays.cpp:2570
NmssmSoftsusy object contains all the NMSSM functionality: SUSY breaking and preserving parameters,...
double gintegralH2dgauss(double E)
m1 = mZi, m4 = mZj, mq = mt, MZboson = mz, mH = mhiggsH
Definition: threeBodyDecays.cpp:730
Code calculates two body decay modes of sparticles and Higgs. See arxiv:1703.09717.
double gneutineutjffgA2dgauss(double E)
m1 = mZi, m4 = mZj, mq = mf, mA = mhiggsA, MZboson = mz
Definition: threeBodyDecays.cpp:1324
double gneuticharjffpW3Sfpdgauss(double E)
m1 = mneutralinoi, m2 = mfp, m3 = mf, m4 = mcharginoj, m5 = mWboson, m6 = msfp
Definition: threeBodyDecays.cpp:1845
Contains all supersymmetric MSSM parameters, incorporating R_p MSSM.
Definition: softsusy.h:72
double gneutineutjffgA3dgauss(double E)
m1 = mZi, m4 = mZj, mq = mf, mA = mhiggsA, MZboson = mz
Definition: threeBodyDecays.cpp:1339
double fdgauss(double x)
DoubleVector squarkmixcharginocouplings(double g, double theta, double beta, double gammaL, double gammaR, double runmt, double runmb, double mWboson, double mch1, double mch2, int torb)
Functions that calculate the couplings:
Definition: threeBodyDecays.cpp:6048
double gintegral2Zsfdgauss(double E)
m1 = mZi, m4 = mZj, mq = mf, MZboson = mz, m2 = msfi where i is the sfermion index you're considering...
Definition: threeBodyDecays.cpp:843
double gneutineutjffZ3dgauss(double s)
Definition: threeBodyDecays.cpp:633
double gneuticharjffpHg1dgauss(double E)
m1 = mneutralinoi, m2 = mcharginoj, m3 = mf, m4 = mfp, m5 = mWboson, m6 = mHP
Definition: threeBodyDecays.cpp:1978
const double mspole
Definition: threeBodyDecays.h:45
double gneuticharjffp1sfp1sf2dgauss(double E)
m1 = mneutralinoi, m2 = mf, m3 = mcharginoj, m4 = mfp, m5 = msfp1, m6 = msf2
Definition: threeBodyDecays.cpp:1542
double Zsfintegralsum(double m1, double m2, double msf, double mf, double mz, double min, double max, double Nsteps, int adaptive, double approx)
Integral calculating functions for 1->3 decays.
double gneuticharjffpHg3dgauss(double E)
m1 = mneutralinoi, m2 = mcharginoj, m3 = mf, m4 = mfp, m5 = mWboson, m6 = mHP
Definition: threeBodyDecays.cpp:2010
double gintegral2Hsfdgauss(double E)
m1 = mZi, m4 = mZj, mq = mf, mhiggsl = mh, m2 = msfi where i is the sfermion index you're considering...
Definition: threeBodyDecays.cpp:1122
DoubleVector higgshsquarkdiffhandcouplings(double mWboson, double g, double alpha, double beta, double mupq, double mdownq, double greekmu, double Aup, double Adown)
calculates the couplings of light scalar higgs h to two squarks of different handedness
Definition: threeBodyDecays.cpp:6197
double gneuticharjffp3WHpmdgauss(double E)
m1 = mneutralinoi, m2 = mcharginoj, m3 = mf, m4 = mfp, m5 = mWboson, m6 = mHpm
Definition: threeBodyDecays.cpp:1763
double gneuticharjffpHg2dgauss(double E)
m1 = mneutralinoi, m2 = mcharginoj, m3 = mf, m4 = mfp, m5 = mWboson, m6 = mHP
Definition: threeBodyDecays.cpp:1994
double gintegral5hsfdgauss(double E)
m1 = mZi, m4 = mZj, mq = mf, mhiggsl = mh, m2 = msfi where i is the sfermion index you're considering...
Definition: threeBodyDecays.cpp:1032
double gintegral1Zsfdgauss(double E)
m1 = mZi, m4 = mZj, mq = mf, MZboson = mz, m2 = msfi where i is the sfermion index you're considering...
Definition: threeBodyDecays.cpp:826
const double mcpole
Definition: threeBodyDecays.h:42
double gintegralHdgauss(double E)
m1 = mZi, m4 = mZj, mq = mt, MZboson = mz, mH = mhiggsH
Definition: threeBodyDecays.cpp:677
double gneuticharjffp8gsfpdgauss(double E)
m1 = mneutralinoi, m2 = mfp, m3 = mf, m4 = mcharginoj, m5 = mWboson, m6 = msfp1
Definition: threeBodyDecays.cpp:2197
double gintegralh1dgauss(double E)
m1 = mZi, m4 = mZj, mq = mt, MZboson = mz, mh = mhiggsl
Definition: threeBodyDecays.cpp:687
double gintegral1Hsfdgauss(double E)
m1 = mZi, m4 = mZj, mq = mf, mhiggsl = mh, m2 = msfi where i is the sfermion index you're considering...
Definition: threeBodyDecays.cpp:1104
double gintegralA2dgauss(double E)
m1 = mZi, m4 = mZj, mq = mt, MZboson = mz, mA = mhiggsA
Definition: threeBodyDecays.cpp:800
double gintegralhH2dgauss(double E)
m1 = mZi, m4 = mZj, mq = mt, MZboson = mz, mh = mhiggsl, mH = mhiggsH
Definition: threeBodyDecays.cpp:765
double gneuticharjffpHpm2dgauss(double E)
m1 = mneutralinoi, m2 = mcharginoj, m3 = mf, m4 = mfp, m5 = mHpm; //sometimes mass order differs as c...
Definition: threeBodyDecays.cpp:1423
Flags for potential problems in sProblem structure, and structure for containing physical MSSM parame...
double gneuticharjffp4sfp1sf2dgauss(double E)
m1 = mneutralinoi, m2 = mf, m3 = mcharginoj, m4 = mfp, m5 = msfp1, m6 = msf2
Definition: threeBodyDecays.cpp:1611
double gneuticharjffp2WHpmdgauss(double E)
m1 = mneutralinoi, m2 = mcharginoj, m3 = mf, m4 = mfp, m5 = mWboson, m6 = mHpm
Definition: threeBodyDecays.cpp:1744
Matrix from 1..rows, 1..cols of double values.
Definition: linalg.h:214
double gAdgauss(double E)
m1 = mZi, m4 = mZj, m2 = mstop1, m3 = mstop2, mq = mt
Definition: threeBodyDecays.cpp:557
DoubleVector goftau(double mpart, double mcomp)
g(tau) function for use in h->Z gamma
Definition: threeBodyDecays.cpp:6348
double gintegral7Zsfdgauss(double E)
m1 = mZi, m4 = mZj, mq = mf, MZboson = mz, m2 = msfi where i is the sfermion index you're considering...
Definition: threeBodyDecays.cpp:924
double gintegralh4dgauss(double E)
m1 = mZi, m4 = mZj, mq = mt, MZboson = mz, mh = mhiggsl
Definition: threeBodyDecays.cpp:714
double gintegral4ZAdgauss(double E)
m1 = mZi, m4 = mZj, mq = mf, mA = mhiggsA, m2 = msfi, MZboson = mz
Definition: threeBodyDecays.cpp:1294
double gintegral7Hsfdgauss(double E)
m1 = mZi, m4 = mZj, mq = mf, mhiggsl = mh, m2 = msfi where i is the sfermion index you're considering...
Definition: threeBodyDecays.cpp:1214
Soft SUSY breaking parameters.
double gneuticharjffp1WHpmdgauss(double E)
m1 = mneutralinoi, m2 = mcharginoj, m3 = mf, m4 = mfp, m5 = mWboson, m6 = mHpm
Definition: threeBodyDecays.cpp:1726
DoubleVector foftau(double mpart, double mcomp)
Function Declarations used to calculate Partial Widths in decays.cpp.
Definition: threeBodyDecays.cpp:6318
const double hadronicScale
Definition: threeBodyDecays.h:48
double gneuticharjffp4sf1sf2dgauss(double E)
m1 = mneutralinoi, m2 = mf, m3 = mcharginoj, m4 = mfp, m5 = msf1, m6 = msf2
Definition: threeBodyDecays.cpp:1525
double gintegral8Hsfdgauss(double E)
m1 = mZi, m4 = mZj, mq = mf, mhiggsl = mh, m2 = msfi where i is the sfermion index you're considering...
Definition: threeBodyDecays.cpp:1232
double gintegral7hsfdgauss(double E)
m1 = mZi, m4 = mZj, mq = mf, mhiggsl = mh, m2 = msfi where i is the sfermion index you're considering...
Definition: threeBodyDecays.cpp:1068
double gintegralA3dgauss(double E)
m1 = mZi, m4 = mZj, mq = mt, MZboson = mz, mA = mhiggsA
Definition: threeBodyDecays.cpp:809
double gneuticharjffpW7Sfpdgauss(double E)
m1 = mneutralinoi, m2 = mfp, m3 = mf, m4 = mcharginoj, m5 = mWboson, m6 = msfp
Definition: threeBodyDecays.cpp:1934
QedQcd object contains Standard Model quark and lepton masses. It integrates them using 3 loop qcd x ...
double gneuticharjffpHg4dgauss(double E)
m1 = mneutralinoi, m2 = mcharginoj, m3 = mf, m4 = mfp, m5 = mWboson, m6 = mHP
Definition: threeBodyDecays.cpp:2026
double gneuticharjffpW5Sfpdgauss(double E)
m1 = mneutralinoi, m2 = mfp, m3 = mf, m4 = mcharginoj, m5 = mWboson, m6 = msfp
Definition: threeBodyDecays.cpp:1890
double gpsitildadgauss(double Et)
Definition: threeBodyDecays.cpp:247
double gneuticharjffpW6Sfpdgauss(double E)
m1 = mneutralinoi, m2 = mfp, m3 = mf, m4 = mcharginoj, m5 = mWboson, m6 = msfp
Definition: threeBodyDecays.cpp:1912
Header file for RP conserving MSSM object including all (real) soft SUSY breaking parameters and (rea...
double gintegralhH3dgauss(double E)
m1 = mZi, m4 = mZj, mq = mt, MZboson = mz, mh = mhiggsl, mH = mhiggsH
Definition: threeBodyDecays.cpp:774
DoubleVector higgsphidifcharginocouplings(double alpha, double beta, double thetaL, double thetaR)
calculates the couplings of a netural higgs (h,H,A) to Wtildai Wtildaj - i.e. to two charginos of dif...
Definition: threeBodyDecays.cpp:6163
double gintegral6Hsfdgauss(double E)
m1 = mZi, m4 = mZj, mq = mf, mhiggsl = mh, m2 = msfi where i is the sfermion index you're considering...
Definition: threeBodyDecays.cpp:1196
double gintegralh3dgauss(double E)
m1 = mZi, m4 = mZj, mq = mt, MZboson = mz, mh = mhiggsl
Definition: threeBodyDecays.cpp:705
double gneutineutjffZ4dgauss(double s)
Definition: threeBodyDecays.cpp:650
double gG1dgauss(double Et)
m1 = mgluino, m2 = mstopi, m6 = mtop, m8 = mcharginoj
Definition: threeBodyDecays.cpp:424
double gintegral6Zsfdgauss(double E)
m1 = mZi, m4 = mZj, mq = mf, MZboson = mz, m2 = msfi where i is the sfermion index you're considering...
Definition: threeBodyDecays.cpp:908
double gneuticharjffp1gsfpdgauss(double E)
m1 = mneutralinoi, m2 = mfp, m3 = mf, m4 = mcharginoj, m5 = mWboson, m6 = msfp1
Definition: threeBodyDecays.cpp:2043
double gintegralA1dgauss(double E)
m1 = mZi, m4 = mZj, mq = mt, MZboson = mz, mA = mhiggsA
Definition: threeBodyDecays.cpp:791
double neutralinoamplitudedecaydgaussneutralinoffbar(double mneutralinoi, double msf1, double msf2, double mZboson, double mhiggsl, double mhiggsH, double mhiggsA, double mneutralinoj, double mf, double alphas, double thetaq, double mWboson, double g, double gp, double alpha, double beta, double runmq, DoubleMatrix &mixNeut, int ineutralino, int jneutralino, bool onetothree, char uordornuorl)
Definition: threeBodyDecays.cpp:2696
double gintegral6hsfdgauss(double E)
m1 = mZi, m4 = mZj, mq = mf, mhiggsl = mh, m2 = msfi where i is the sfermion index you're considering...
Definition: threeBodyDecays.cpp:1050
double gneuticharjffpW4Sfpdgauss(double E)
m1 = mneutralinoi, m2 = mfp, m3 = mf, m4 = mcharginoj, m5 = mWboson, m6 = msfp
Definition: threeBodyDecays.cpp:1868
double gG6dgauss(double Et)
m1 = mgluino, m2 = mstopi, m4 = msbottomi, m6 = mtop, m7 = mbottom , m8 = mcharginoj
Definition: threeBodyDecays.cpp:457
double gneuticharjffpHpm3dgauss(double E)
m1 = mneutralinoi, m2 = mcharginoj, m3 = mf, m4 = mfp, m5 = mHpm; //sometimes mass order differs as c...
Definition: threeBodyDecays.cpp:1440
double gneuticharjffp7gsfpdgauss(double E)
m1 = mneutralinoi, m2 = mfp, m3 = mf, m4 = mcharginoj, m5 = mWboson, m6 = msfp1
Definition: threeBodyDecays.cpp:2175
double gneuticharjffp4gsfpdgauss(double E)
m1 = mneutralinoi, m2 = mfp, m3 = mf, m4 = mcharginoj, m5 = mWboson, m6 = msfp1
Definition: threeBodyDecays.cpp:2109
DoubleVector higgshsleptondiffhandcouplings(double mWboson, double g, double alpha, double beta, double mel, double greekmu, double Ae)
calculates the couplings of light scalar higgs h to two sleptons of different handedness
Definition: threeBodyDecays.cpp:6256
MssmSusy contains all SUSY couplings and tan beta, as well as their beta functions.
double gintegralH4dgauss(double E)
m1 = mZi, m4 = mZj, mq = mt, MZboson = mz, mh = mhiggsl
Definition: threeBodyDecays.cpp:748
double gneuticharjffp6sfp1sf2dgauss(double E)
m1 = mneutralinoi, m2 = mf, m3 = mcharginoj, m4 = mfp, m5 = msfp1, m6 = msf2
Definition: threeBodyDecays.cpp:1655
Definitions of particles and container for decay widths.
double gintegralhdgauss(double E)
m1 = mZi, m4 = mZj, mq = mt, MZboson = mz, mh = mhiggsl
Definition: threeBodyDecays.cpp:668
double gneuticharjffp1sfpsfpdgauss(double E)
m1 = mneutralinoi, m2 = mfp, m3 = -mf, m4 = charginoj, m5 = msfp1, m6 = msfp2
Definition: threeBodyDecays.cpp:2219
double gneuticharjffp2sfp1sf2dgauss(double E)
m1 = mneutralinoi, m2 = mf, m3 = mcharginoj, m4 = mfp, m5 = msfp1, m6 = msf2
Definition: threeBodyDecays.cpp:1566
double gneuticharjffpW8Sfpdgauss(double E)
m1 = mneutralinoi, m2 = mfp, m3 = mf, m4 = mcharginoj, m5 = mWboson, m6 = msfp
Definition: threeBodyDecays.cpp:1956
double gintegral4hsfdgauss(double E)
m1 = mZi, m4 = mZj, mq = mf, mhiggsl = mh, m2 = msfi where i is the sfermion index you're considering...
Definition: threeBodyDecays.cpp:1014
double gintegralA4dgauss(double E)
m1 = mZi, m4 = mZj, mq = mt, MZboson = mz, mA = mhiggsA
Definition: threeBodyDecays.cpp:818
double gintegral5Hsfdgauss(double E)
m1 = mZi, m4 = mZj, mq = mf, mhiggsl = mh, m2 = msfi where i is the sfermion index you're considering...
Definition: threeBodyDecays.cpp:1178
double gintegralhH1dgauss(double E)
m1 = mZi, m4 = mZj, mq = mt, MZboson = mz, mh = mhiggsl, mH = mhiggsH
Definition: threeBodyDecays.cpp:757
double gintegral4Hsfdgauss(double E)
m1 = mZi, m4 = mZj, mq = mf, mhiggsl = mh, m2 = msfi where i is the sfermion index you're considering...
Definition: threeBodyDecays.cpp:1160
DoubleVector higgsphisamecharginocouplings(double alpha, double beta, double thetaL, double thetaR)
calculates the couplings of a neutral higgs (h,H,A) to Wtildai Wtildai - i.e. to two charginos of the...
Definition: threeBodyDecays.cpp:6141
double gintegral3hsfdgauss(double E)
m1 = mZi, m4 = mZj, mq = mf, mhiggsl = mh, m2 = msfi where i is the sfermion index you're considering...
Definition: threeBodyDecays.cpp:995
double gneuticharjffp3gsfpdgauss(double E)
m1 = mneutralinoi, m2 = mfp, m3 = mf, m4 = mcharginoj, m5 = mWboson, m6 = msfp1
Definition: threeBodyDecays.cpp:2087
double ghHdgauss(double E)
m1 = mZi, m4 = mZj, m2 = mstop1, m3 = mstop2, mq = mt, MZboson = mz
Definition: threeBodyDecays.cpp:538
double gintegralH3dgauss(double E)
m1 = mZi, m4 = mZj, mq = mt, MZboson = mz, mH = mhiggsH
Definition: threeBodyDecays.cpp:739
void OutputNoPWs(ostream &cout, Particle &P)
Outputs the decay table into the leshouchesOutput file with no PWs (partial widths) given,...
Definition: threeBodyDecays.cpp:196
double gneuticharjffp7sfp1sf2dgauss(double E)
m1 = mneutralinoi, m2 = mf, m3 = mcharginoj, m4 = mfp, m5 = msfp1, m6 = msf2
Definition: threeBodyDecays.cpp:1677
double gneuticharjffp6gsfpdgauss(double E)
m1 = mneutralinoi, m2 = mfp, m3 = mf, m4 = mcharginoj, m5 = mWboson, m6 = msfp1
Definition: threeBodyDecays.cpp:2153
DoubleVector higgsHplussquarkcouplings(double mWboson, double g, double beta, double mup, double mdown, double greekmu, double Au, double Ad)
calculates the couplings of charged scalar higgs H+ to two squarks
Definition: threeBodyDecays.cpp:6297
DoubleVector higgsHsleptonsamehandcouplings(double mWboson, double g, double gp, double alpha, double beta, double mel)
calculates the couplings of heavy scalar higgs H to two sleptons of same handedness
Definition: threeBodyDecays.cpp:6269
double gintegral2hsfdgauss(double E)
m1 = mZi, m4 = mZj, mq = mf, mhiggsl = mh, m2 = msfi where i is the sfermion index you're considering...
Definition: threeBodyDecays.cpp:976
double gneuticharjffp4WHpmdgauss(double E)
m1 = mneutralinoi, m2 = mcharginoj, m3 = mf, m4 = mfp, m5 = mWboson, m6 = mHpm
Definition: threeBodyDecays.cpp:1782
void OutputYesPWs(ostream &cout, Particle &P)
Outputs the decay table into the leshouchesOutput file with PWs (partial widths) given after the comm...
Definition: threeBodyDecays.cpp:220
double gneuticharjffpW2dgauss(double E)
m1 = mZi, m2 = mWj, m3 = mf, m4 = mfp, MWboson = mw
Definition: threeBodyDecays.cpp:1388
double gneuticharjffp5sfp1sf2dgauss(double E)
m1 = mneutralinoi, m2 = mf, m3 = mcharginoj, m4 = mfp, m5 = msfp1, m6 = msf2
Definition: threeBodyDecays.cpp:1633
double gneutineutjffZ2dgauss(double s)
Definition: threeBodyDecays.cpp:616
double gintegral1ZAdgauss(double E)
m1 = mZi, m4 = mZj, mq = mf, mA = mhiggsA, m2 = msfi, MZboson = mz
Definition: threeBodyDecays.cpp:1250
double gluinoamplitudedecaydgaussneutralinottbar(double mgluino, double mst1, double mst2, double mneutralino, double mt, double mWboson, double g, double gp, double thetat, double beta, double alphas, DoubleMatrix &mixNeut, double runmt, int neutralino, bool onetothree, char torb)
calculates PW for gluino -> neutralino + q qbar pair where q are t
Definition: threeBodyDecays.cpp:2404
double gintegral3ZAdgauss(double E)
m1 = mZi, m4 = mZj, mq = mf, mA = mhiggsA, m2 = msfi, MZboson = mz
Definition: threeBodyDecays.cpp:1279
double gG4dgauss(double Et)
m1 = mgluino, m2 = mstopi, m4 = msbottomi, m6 = mtop, m7 = mbottom , m8 = mcharginoj
Definition: threeBodyDecays.cpp:434
double gneuticharjffp5gsfpdgauss(double E)
m1 = mneutralinoi, m2 = mfp, m3 = mf, m4 = mcharginoj, m5 = mWboson, m6 = msfp1
Definition: threeBodyDecays.cpp:2131
double gintegral8hsfdgauss(double E)
m1 = mZi, m4 = mZj, mq = mf, mhiggsl = mh, m2 = msfi where i is the sfermion index you're considering...
Definition: threeBodyDecays.cpp:1086
double gneutineutjffgA1dgauss(double E)
m1 = mZi, m4 = mZj, mq = mf, mA = mhiggsA, MZboson = mz
Definition: threeBodyDecays.cpp:1309
double gneutineutjffgA4dgauss(double E)
m1 = mZi, m4 = mZj, mq = mf, mA = mhiggsA, MZboson = mz
Definition: threeBodyDecays.cpp:1354
const double accuracy
Approximate accuracy with which 3 body decays are calculated.
Definition: threeBodyDecays.h:38
DoubleVector higgsHsquarksamehandcouplings(double mWboson, double g, double gp, double alpha, double beta, double mupq, double mdownq)
calculates the couplings of heavy scalar higgs H to two squarks of same handedness
Definition: threeBodyDecays.cpp:6211
double gintegral3Zsfdgauss(double E)
m1 = mZi, m4 = mZj, mq = mf, MZboson = mz, m2 = msfi where i is the sfermion index you're considering...
Definition: threeBodyDecays.cpp:859
int theta(double a)
Standard theta function: 1 is a>0, 0 otherwise.
Definition: utils.cpp:25
double gluinoamplitudedecaydgaussneutralinoqqpbarfirsttwogenlimit(double mgluino, double mneutralino, double msqL, double msqR, double mquark, double g, double gp, DoubleMatrix &mixNeut, double alphas, char uord, int neut, bool onetothree)
m1 is mgluino, m2 is neutralinoi mass, m3 is sqL mass, m4 is sqR mass, m5 is quark mass but assumed z...
Definition: threeBodyDecays.cpp:2341
double m1
decay global variable declarations
Definition: decays.cpp:14