10 #ifndef Pythia8_SusyCouplings_H 11 #define Pythia8_SusyCouplings_H 13 #include "Pythia8/PythiaComplex.h" 14 #include "Pythia8/Settings.h" 15 #include "Pythia8/StandardModel.h" 16 #include "Pythia8/SusyLesHouches.h" 33 isLLE(false), isLQD(false), isUDD(false),
mWpole(), wWpole(), mZpole(),
34 wZpole(),
mW(), mZ(), sin2W(), sinW(), cosW(),
tanb(), cosb(), sinb(),
36 rvLLE(), rvLQD(), rvUDD(),
slhaPtr(), loggerPtr(), settingsPtr(),
37 particleDataPtr(), coupSMPtr() {}
43 bool isInit, isSUSY, isNMSSM, isLLE, isLQD, isUDD;
46 double mWpole, wWpole, mZpole, wZpole;
50 double mW, mZ, sin2W, sinW, cosW;
60 complex LsuuG[7][4], RsuuG[7][4];
63 iGenSq = 3*(abs(iGenSq)/2000000) + (abs(iGenSq)%10+1)/2;
64 return (abs(idQ)%2 == 0) ? LsuuG[iGenSq][abs(idQ)/2]
65 : LsddG[iGenSq][(abs(idQ)+1)/2] ;}
66 complex getRsqqG(
int iGenSq,
int idQ) {
if (abs(iGenSq) > 1000000)
67 iGenSq = 3*(abs(iGenSq)/2000000) + (abs(iGenSq)%10+1)/2;
68 return (abs(idQ)%2 == 0) ? RsuuG[iGenSq][abs(idQ)/2]
69 : RsddG[iGenSq][(abs(idQ)+1)/2] ;}
85 complex LsusuZ[7][7], RsusuZ[7][7];
86 complex getLsqsqZ(
int idSq1,
int idSq2) {
87 if (abs(idSq1)%2 != abs(idSq2)%2)
return complex(0.0,0.0);
88 int iGen1 = 3*(abs(idSq1)/2000000) + (abs(idSq1)%10+1)/2;
89 int iGen2 = 3*(abs(idSq2)/2000000) + (abs(idSq2)%10+1)/2;
90 return (abs(idSq1)%2 == 0) ? LsusuZ[iGen1][iGen2] : LsdsdZ[iGen1][iGen2];}
91 complex getRsqsqZ(
int idSq1,
int idSq2) {
92 if (abs(idSq1)%2 != abs(idSq2)%2)
return complex(0.0,0.0);
93 int iGen1 = 3*(abs(idSq1)/2000000) + (abs(idSq1)%10+1)/2;
94 int iGen2 = 3*(abs(idSq2)/2000000) + (abs(idSq2)%10+1)/2;
95 return (abs(idSq1)%2 == 0) ? RsusuZ[iGen1][iGen2] : RsdsdZ[iGen1][iGen2];}
105 complex LsuuX[7][4][6], RsuuX[7][4][6];
106 complex getLsqqX(
int iSq,
int idQ,
int iNeut) {
return (abs(idQ)%2 == 0)
107 ? LsuuX[iSq][abs(idQ)/2][iNeut] : LsddX[iSq][(abs(idQ)+1)/2][iNeut] ;}
108 complex getRsqqX(
int iSq,
int idQ,
int iNeut) {
return (abs(idQ)%2 == 0)
109 ? RsuuX[iSq][abs(idQ)/2][iNeut] : RsddX[iSq][(abs(idQ)+1)/2][iNeut] ;}
125 complex LsvsvZ[7][7],RsvsvZ[7][7];
132 complex LsllX[7][4][6], RsllX[7][4][6];
141 double rvLLE[4][4][4], rvLQD[4][4][4], rvUDD[4][4][4];
SusyLesHouches * slhaPtr
Definition: SusyCouplings.h:160
double mWpole
Z and W pole masses and widths.
Definition: SusyCouplings.h:46
std::complex< double > complex
Convenient typedef for double precision complex numbers.
Definition: PythiaComplex.h:17
int idSup(int iSup)
Return sup flavour codes.
Definition: SusyCouplings.cc:1115
int idSdown(int iSdown)
Return sdown flavour codes.
Definition: SusyCouplings.cc:1133
int typeChar(int idPDG)
Check whether particle is a Chargino.
Definition: SusyCouplings.cc:1185
complex OLp[3][3]
~chi+~chi-Z couplings
Definition: SusyCouplings.h:75
complex LsddG[7][4]
~qq~g couplings
Definition: SusyCouplings.h:59
int idChar(int idChi)
Return chargino flavour codes.
Definition: SusyCouplings.cc:1101
complex LsddX[7][4][6]
~qq~chi0 couplings
Definition: SusyCouplings.h:104
complex LlvW[4][4]
lvW couplings
Definition: SusyCouplings.h:121
complex LsduX[7][4][3]
~du~chi+ couplings
Definition: SusyCouplings.h:112
CoupSUSY()
Constructor.
Definition: SusyCouplings.h:32
complex OL[6][3]
~chi0~chi+W couplings
Definition: SusyCouplings.h:78
complex LslslZ[7][7]
~l~lZ couplings
Definition: SusyCouplings.h:124
complex LsvlX[7][4][3]
~vl~chi+ couplings
Definition: SusyCouplings.h:135
void initSUSY(SusyLesHouches *slhaPtrIn, Info *infoPtrIn)
Initialize.
Definition: SusyCouplings.cc:28
complex getLsqqG(int iGenSq, int idQ)
Assume generation index for Squark. Translate if PDG code instead.
Definition: SusyCouplings.h:62
double mW
Definition: SusyCouplings.h:50
int idSlep(int iSlep)
Function to return slepton flavour codes.
Definition: SusyCouplings.cc:1151
Definition: SusyLesHouches.h:393
double rvLLE[4][4][4]
RPV couplings.
Definition: SusyCouplings.h:141
double muHiggs
Higgs-sector parameters.
Definition: SusyCouplings.h:56
Definition: StandardModel.h:135
complex LsudX[7][4][3]
~ud~chi+ couplings
Definition: SusyCouplings.h:115
complex LudW[4][4]
udW couplings
Definition: SusyCouplings.h:98
complex OLpp[6][6]
~chi0~chi0Z couplings
Definition: SusyCouplings.h:72
double tanb
Tanbeta.
Definition: SusyCouplings.h:53
double LqqZ[7]
qqZ couplings
Definition: SusyCouplings.h:81
complex LslvX[7][4][3]
~lv~chi+ couplings
Definition: SusyCouplings.h:138
complex Rusq[7][7]
Squark and slepton mixing matrix: needed for RPV.
Definition: SusyCouplings.h:144
int idNeut(int idChi)
Return neutralino, chargino, sup, sdown and slepton flavour codes.
Definition: SusyCouplings.cc:1086
Header for classes to set beam momentum and interaction vertex spread.
Definition: Analysis.h:20
complex LsusdW[7][7]
~u~dW couplings
Definition: SusyCouplings.h:101
int typeNeut(int idPDG)
Reverse lookup for neutralinos and charginos.
Definition: SusyCouplings.cc:1169
complex LsvvX[7][4][6]
~ll~chi0 couplings
Definition: SusyCouplings.h:131
This class holds a map of all ParticleDataEntries.
Definition: ParticleData.h:422
bool isInit
Status flag. Flags for NMSSM and RPV couplings.
Definition: SusyCouplings.h:43
double LllZ[7]
llZ couplings
Definition: SusyCouplings.h:118
complex LslsvW[7][7]
~l~vW couplings
Definition: SusyCouplings.h:128
Definition: SusyCouplings.h:27
Definition: Settings.h:195
complex LsdsdZ[7][7]
~q~qZ couplings
Definition: SusyCouplings.h:84