PYTHIA
8.312
|
#include <SusyCouplings.h>
Public Member Functions | |
CoupSUSY () | |
Constructor. | |
void | initSUSY (SusyLesHouches *slhaPtrIn, Info *infoPtrIn) |
Initialize. More... | |
complex | getLsqqG (int iGenSq, int idQ) |
Assume generation index for Squark. Translate if PDG code instead. | |
complex | getRsqqG (int iGenSq, int idQ) |
complex | getLsqsqZ (int idSq1, int idSq2) |
complex | getRsqsqZ (int idSq1, int idSq2) |
complex | getLsqqX (int iSq, int idQ, int iNeut) |
complex | getRsqqX (int iSq, int idQ, int iNeut) |
int | idNeut (int idChi) |
Return neutralino, chargino, sup, sdown and slepton flavour codes. More... | |
int | idChar (int idChi) |
Return chargino flavour codes. | |
int | idSup (int iSup) |
Return sup flavour codes. | |
int | idSdown (int iSdown) |
Return sdown flavour codes. | |
int | idSlep (int iSlep) |
Function to return slepton flavour codes. | |
int | typeNeut (int idPDG) |
Reverse lookup for neutralinos and charginos. More... | |
int | typeChar (int idPDG) |
Check whether particle is a Chargino. | |
Public Attributes | |
bool | isInit |
Status flag. Flags for NMSSM and RPV couplings. | |
bool | isSUSY |
bool | isNMSSM |
bool | isLLE |
bool | isLQD |
bool | isUDD |
double | mWpole |
Z and W pole masses and widths. | |
double | wWpole |
double | mZpole |
double | wZpole |
double | mW |
double | mZ |
double | sin2W |
double | sinW |
double | cosW |
double | tanb |
Tanbeta. | |
double | cosb |
double | sinb |
double | muHiggs |
Higgs-sector parameters. | |
double | alphaHiggs |
double | mAHiggs |
complex | LsddG [7][4] |
~qq~g couplings | |
complex | RsddG [7][4] |
complex | LsuuG [7][4] |
complex | RsuuG [7][4] |
complex | OLpp [6][6] |
~chi0~chi0Z couplings | |
complex | ORpp [6][6] |
complex | OLp [3][3] |
~chi+~chi-Z couplings | |
complex | ORp [3][3] |
complex | OL [6][3] |
~chi0~chi+W couplings | |
complex | OR [6][3] |
double | LqqZ [7] |
qqZ couplings | |
double | RqqZ [7] |
complex | LsdsdZ [7][7] |
~q~qZ couplings | |
complex | RsdsdZ [7][7] |
complex | LsusuZ [7][7] |
complex | RsusuZ [7][7] |
complex | LudW [4][4] |
udW couplings | |
complex | RudW [4][4] |
complex | LsusdW [7][7] |
~u~dW couplings | |
complex | RsusdW [7][7] |
complex | LsddX [7][4][6] |
~qq~chi0 couplings | |
complex | RsddX [7][4][6] |
complex | LsuuX [7][4][6] |
complex | RsuuX [7][4][6] |
complex | LsduX [7][4][3] |
~du~chi+ couplings | |
complex | RsduX [7][4][3] |
complex | LsudX [7][4][3] |
~ud~chi+ couplings | |
complex | RsudX [7][4][3] |
double | LllZ [7] |
llZ couplings | |
double | RllZ [7] |
complex | LlvW [4][4] |
lvW couplings | |
complex | RlvW [4][4] |
complex | LslslZ [7][7] |
~l~lZ couplings | |
complex | RslslZ [7][7] |
complex | LsvsvZ [7][7] |
complex | RsvsvZ [7][7] |
complex | LslsvW [7][7] |
~l~vW couplings | |
complex | RslsvW [7][7] |
complex | LsvvX [7][4][6] |
~ll~chi0 couplings | |
complex | RsvvX [7][4][6] |
complex | LsllX [7][4][6] |
complex | RsllX [7][4][6] |
complex | LsvlX [7][4][3] |
~vl~chi+ couplings | |
complex | RsvlX [7][4][3] |
complex | LslvX [7][4][3] |
~lv~chi+ couplings | |
complex | RslvX [7][4][3] |
double | rvLLE [4][4][4] |
RPV couplings. | |
double | rvLQD [4][4][4] |
double | rvUDD [4][4][4] |
complex | Rusq [7][7] |
Squark and slepton mixing matrix: needed for RPV. | |
complex | Rdsq [7][7] |
complex | Rsl [7][7] |
complex | Rsv [7][7] |
SusyLesHouches * | slhaPtr |
CoupSUSY Auxiliary class to compute and store various SM and SUSY couplings.
int idNeut | ( | int | idChi | ) |
Return neutralino, chargino, sup, sdown and slepton flavour codes.
Return neutralino flavour codes.
void initSUSY | ( | SusyLesHouches * | slhaPtrIn, |
Info * | infoPtrIn | ||
) |
Initialize.
The CoupSUSY class.
Constants: could be changed here if desired, but normally should not. These are of technical nature, as described for each. Initialize SM+SUSY couplings (only performed once).
Save pointers.
Allow verbose printout for debug purposes.
Only initialize SUSY parts if SUSY is actually switched on
Is NMSSM switched on?
Initialize pole masses
Running masses and weak mixing angle (default to pole values if no running available)
Possibility to force on-shell sin2W definition, mostly intended for cross-checks
Possibility to use running sin2W definition, derived from gauge couplings in running SLHA blocks (normally defined at SUSY scale)
double tan2W = pow2(gp)/pow2(g); if (DBSUSY) cout << " tan2W = " << tan2W << endl;
Tan(beta) By default, use the running one in HMIX (if not found, use MINPAR)
Verbose output
Higgs sector
If RPV, assume alpha = asin(RVHMIX(1,2)) (ignore Higgs-Sneutrino mixing)
Define approximate alpha by simple SM limit
Pass SLHA input to 2HDM sector
h0
H0
A0
H^+
Triple higgs couplings
Shorthand for squark mixing matrices
Construct ~g couplings
Construct qqZ couplings
q[i] q[i] Z (def with extra factor 2 compared to [Okun])
tmp: verbose output
Construct ~q~qZ couplings
Squarks can have off-diagonal couplings as well
~d[i] ~d[j] Z
~u[i] ~u[j] Z
tmp: verbose output
In RPV, the slepton mixing matrices include Higgs bosons Here we just extract the entries corresponding to the slepton PDG codes I.e., slepton-Higgs mixing is not supported.
Charged sleptons
Check for Higgs-slepton mixing in RVLMIX
Neutral sleptons
Check for Higgs-sneutrino mixing in RVHMIX
Construct llZ couplings;
tmp: verbose output
Construct ~l~lZ couplings Initialize
~v[i] ~v[j] Z
Construct udW couplings Loop over up [i] and down [j] quark generation
CKM matrix (use Pythia one if no SLHA) (NB: could also try input one if no running one found, but would then need to compute from Wolfenstein)
u[i] d[j] W
tmp: verbose output
Construct ~u~dW couplings Loop over ~u[k] and ~d[l] flavours
Loop over u[i] and d[j] flavours
CKM matrix (use Pythia one if no SLHA) (NB: could also try input one if no running one found, but would then need to compute from Wolfenstein)
~u[k] ~d[l] W (add one term for each quark flavour i,j)
tmp: verbose output
Construct lvW couplings
tmp: verbose output
Construct ~l~vW couplings
Only left-handed sneutrinos
tmp: verbose output
Now we come to the ones with really many indices
RPV: check for lepton-neutralino mixing (not supported)
Construct ~chi0 couplings (allow for 5 neutralinos in NMSSM)
Ni1, Ni2, Ni3, Ni4, Ni5
In RPV, ignore neutrino-neutralino mixing
Change to positive mass convention
~chi0 [i] ~chi0 [j] Z : loop over [j]
neutralino [j] higgsino components
Change to positive mass convention
~chi0 [i] ~chi0 [j] Z : couplings
tmp: verbose output
~chi0 [i] ~chi+ [j] W : loop over [j]
Chargino mixing
RPV: ignore lepton-chargino mixing
~chi0 [i] ~chi+ [j] W : couplings
tmp: verbose output
~qqX couplings Quark Charges
Loop over quark [k] generation
Set quark masses Initial guess 0,0,0,mc,mb,mt with the latter from the PDT
Compute running mass from Yukawas and vevs if possible.
tmp: verbose output
Loop over squark [j] flavour
Squark mixing
~d[j] d[k] ~chi0[i] Changed according to new notation
~u[j] u[k] ~chi0[i]
tmp: verbose output
tmp: verbose output
tmp: verbose output
tmp: verbose output
Start slepton couplings Lepton Charges
Need to define lepton mass
Set lepton masses
~l[j] l[k] ~chi0[i] Changed according to new notation
No sneutrino mixing; only left handed ~v[j] v[k] ~chi0[i]
tmp: verbose output
tmp: verbose output
tmp: verbose output
RPV: check for lepton-chargino mixing (not supported)
Construct ~chi+ couplings sqrt(2)
Ui1, Ui2, Vi1, Vi2
~chi+ [i] ~chi- [j] Z : loop over [j]
Chargino mixing
~chi+ [i] ~chi- [j] Z : couplings
tmp: verbose output
Loop over quark [l] flavour
Set quark [l] masses Initial guess 0,0,0,mc,mb,mt with the latter from the PDT
Compute running mass from Yukawas and vevs if possible.
Loop over squark [j] flavour
Initialise to zero
Loop over off-diagonal quark [k] generation
Set quark [k] masses Initial guess 0,0,0,0,mb,mt with the latter from the PDT
Compute running mass from Yukawas and vevs if possible.
CKM matrix (use Pythia one if no SLHA) (NB: could also try input one if no running one found, but would then need to compute from Wolfenstein)
Squark mixing
~d[j] u[l] ~chi+[i]
~u[j] d[l] ~chi+[i]
tmp: verbose output
tmp: verbose output
Loop over slepton [j] flavour
Set lepton [k] masses
No lepton mixing
~l[j] v[l] ~chi+[i]
~v[j] l[l] ~chi+[i]
No right handed sneutrinos
tmp: verbose output
tmp: verbose output
Shorthand for RPV couplings The input LNV lambda couplings
The input LNV lambda' couplings
The input BNV lambda'' couplings
Symmetry properties
lambda(i,j,k)=-lambda(j,i,k)
lambda''(k,j,i)=-lambda''(k,i,j)
Store the squark mixing matrix
Let everyone know we are ready
int typeNeut | ( | int | idPDG | ) |
Reverse lookup for neutralinos and charginos.
Return neutralino code; zero if not a (recognized) neutralino.
double mW |
Running masses and weak mixing angle (default to pole values if no running available)
SusyLesHouches* slhaPtr |
Pointer to SLHA instance Used in SusyResonanceWidths for checking if decay table exists