softsusy is hosted by Hepforge, IPPP Durham
SOFTSUSY  3.3
RpvNeutrino Class Reference

Updates an RPV object with loop-corrected neutrino data: use for L violation. More...

#include <rpvneut.h>

Inheritance diagram for RpvNeutrino:
RpvSoftsusy FlavourMssmSoftsusy RpvSoftPars RpvSusyPars MssmSoftsusy SoftParsMssm AltEwsbMssm MssmSusy RGE

List of all members.

Public Member Functions

 RpvNeutrino ()
 Default constructor fills object with zeroes.
 RpvNeutrino (const RpvNeutrino &)
 Constructor initialises object equal to another one.
const RpvNeutrinooperator= (const RpvNeutrino &)
 All data in object set equal to another one.
const DoubleVectordisplayPhysNuMasses () const
 Display functions to read data.
const DoubleMatrixdisplayUpmns () const
const DoubleMatrixdisplayPhysNeutMix () const
const bool displayInvertedOutput () const
const DoubleVectordisplayCPEMasses () const
const DoubleVectordisplayCPOMasses () const
const DoubleMatrixdisplayCPEMassSq () const
const DoubleMatrixdisplayCPOMassSq () const
const DoubleMatrixdisplayCPEMix () const
const DoubleMatrixdisplayCPOMix () const
void setInvertedOutput ()
void setNormalOutput ()
void setCPEMasses (const DoubleVector &a)
void setCPOMasses (const DoubleVector &a)
void setCPEMassSq (const DoubleMatrix &a)
void setCPOMassSq (const DoubleMatrix &a)
void setCPEMix (const DoubleMatrix &a)
void setCPOMix (const DoubleMatrix &a)
void setUpmns (const DoubleMatrix &a)
DoubleVector calculateSneutrinoVevs (const DoubleVector &sneutrinoVevs, double tol, double snuSq, double v1, double v2)
 replaces tree-level routine in rpvsoft.cpp - now includes 1-loop tadpoles
DoubleVector calculateSneutrinoTadpoles (double sinthDRbar)
double doCalcTadpole1oneLoop (double mt, double sinthDRbar)
 Does the calculation of one-loop pieces of $ t_1 / v_1 $.
double doCalcTadpole2oneLoop (double mt, double sinthDRbar)
 Does the calculation of one-loop pieces of $ t_2 / v_2 $.
void calculateLNVNeutralScalarMassMatrix (double sinthDRbar)
DoubleMatrix calculateLNVSleptonMassMatrix (double sinthDRbar)
DoubleMatrix calculateLNVDownSquarkMassMatrix (double sinthDRbar)
 down squark mass matrix - order: q2_i, d_j
DoubleMatrix calculateLNVUpSquarkMassMatrix (double sinthDRbar)
 up squark mass matrix - order: q1_i, u_j
DoubleMatrix neutrinoSeesaw ()
void neutrinoData ()
 returns neutrino mixing angles and sets mass eigenstates to one loop.
void AnalyticDiagonalise (DoubleMatrix &Mass, DoubleMatrix &MassMix, DoubleMatrix &MassMix0, DoubleMatrix &MassMix1, DoubleMatrix &MassMix2)
void Positivise (DoubleMatrix &A)
void FermionMassSym (DoubleMatrix &MM, ComplexMatrix &Z, DoubleVector &MassVector, DoubleVector &PositiveMassVector, DoubleVector &SquaredVector, DoubleMatrix &mix)
void FermionMassAsym (DoubleMatrix &MM, ComplexMatrix &M, ComplexMatrix &P, DoubleVector &MassVector, DoubleVector &PositiveMassVector, DoubleVector &SquaredVector, DoubleMatrix &mixM, DoubleMatrix &mixP)
void ScalarMass (DoubleMatrix &MM, ComplexMatrix &Z, DoubleVector &MassVector, DoubleVector &PositiveMassVector, DoubleVector &SquaredVector, DoubleMatrix &mix)
void neutrino (DoubleVector &neutrino, DoubleMatrix &mixMnu, DoubleMatrix &mNeutrino)
void sparticleThresholdCorrections (double tb, const DoubleVector &pars)
virtual void physical (int accuracy)
virtual void lesHouchesAccordOutput (ostream &out, const char model[], const DoubleVector &pars, int sgnMu, double tanb, double qMax, int numPoints, bool ewsbBCscale)
void spinfoSLHA (ostream &out)
 SPINFO block of SLHA output.
void headerSLHA (ostream &out)
 Header part of SLHA output.
void modselSLHA (ostream &out, const char model[])
 modsel block of SLHA output
void massSLHA (ostream &out)
 mass block of SLHA2 output
void inomixingSLHA (ostream &out)
 neutralino/chargino mixing for RPV
void rvhmixSLHA (ostream &out)
 CP-even higgs mixing for RPV SLHA2.
void rvamixSLHA (ostream &out)
 CP-odd higgs mixing for RPV SLHA2.
virtual void selmixSLHA (ostream &out)
 charged slepton-higgs mixing for RPV SLHA2
virtual void snumixSLHA (ostream &out)
 uncharged slepton-higgs mixing for RPV SLHA2
virtual void hmixSLHA (ostream &out)
 higgs part of DRbar couplings
virtual void higgsMSLHA (ostream &out)
 higgs part of mass block of SLHA
virtual void sleptonsSLHA (ostream &out)
 slepton part of mass block output of SLHA2

Detailed Description

Updates an RPV object with loop-corrected neutrino data: use for L violation.


Member Function Documentation

void RpvNeutrino::AnalyticDiagonalise ( DoubleMatrix Mass,
DoubleMatrix MassMix,
DoubleMatrix MassMix0,
DoubleMatrix MassMix1,
DoubleMatrix MassMix2 
)

routines defined specifically for "neutrino" below. Given a DoubleMatrix (Mass), perform analytic diagonalisation, assuming all off diagonal elements are much smaller than the difference between any diagonal entries. The resulting mixing matrices are returned used in RpvNeutrino::neutrino

Unit mixing matrix

Corrections of order (OffD/D) to the off diagonal entries

Corrections of order (OffD^2/D^2) to the diagonal entries

Off diagonal terms required to diagonalize completely to order OffD^2/D

LNV neutral scalar mass matrices (CPE/CPO) in Feynman gauge (xi=1), c.f. paper Allanach Kom

< Identity matrix

lower 3x3 part (sneutrinos)

charged higgs - slepton mass matrix in xi=1 (feynman) gauge order: Hu1, Hd2, tildeLi, tildeEbarj gauge can be changed in the code

xi=1 Feynman gauge for loop calculations (m_G+=m+W); xi=0 gauge - m_G+=0

next 3 routines calculate snu_i,h_d^0, h_u^0 tadpoles for minimisation of one-loop scalar potential snu_i tadpoles are also used for corrections to sneutrino vevs procedure: get full LNV mass matrices from routines below, for 1. CPE/CPO scalars 2. charged higgs-sleptons 3. up- and down-type squarks 4. quarks 5. gauge bosons 6. charginos-charged leptons 7. neutralinos-neutrinos then diagonalise to obtain mass eigenvalues and mixings then set-up couplings snu_i XY (or corresponding for h_d^0, h_u^0) in format matrix(X,Y) for 1. to 7. Use mixing matrices to rotate couplings to mass eigenbasis calculate tadpoles: for scalars: Sum (rotatedCoupling* a0(massEigenvalue))

  • for fermions: Sum (rotatedCoupling* massEigenvalue * a0(massEigenvalue)) / (tadpoles calculated with DRbar parameters and in the Feynman gauge (xi=1))

CPE/CPO scalar couplings

snu-higgs1-higg1 (down-type)

snu-higgs2-higg2 (up-type)

charged higgs-slepton mass matrix - order: Hu1, Hd2, tildeLi, tildeEbarj

slepton couplings

squark mass matrices

squark couplings

initialise

Quarks

root2 in last term?? (not in softsusy manual - I think we discussed this issue last year and agreed that it was missing in the manual)

Weak bosons

chargino-charged lepton mass matrix in basis (W-, Hd-, l-) M (W+, hu+, ebar+)

chargino couplings

neutralino-neutrino mass matrix

Swap rows and columns to the format (Bino, Wino, Hu, Hd, nui)

neutralino couplings

DoubleVector RpvNeutrino::calculateSneutrinoVevs ( const DoubleVector sneutrinoVevs,
double  tol,
double  snuSq,
double  v1,
double  v2 
) [virtual]

replaces tree-level routine in rpvsoft.cpp - now includes 1-loop tadpoles

An adaption of the original rpvsoftsusy version (Input a set of values for sneutrino VEVs and it returns a more accurate set)

Identity matrix

tree level sneutrino vevs (as before)

adding the 1-loop correction

Reimplemented from RpvSoftsusy.

double RpvNeutrino::doCalcTadpole1oneLoop ( double  mt,
double  sinthDRbar 
) [virtual]

Does the calculation of one-loop pieces of $ t_1 / v_1 $.

From hep-ph/9606211's appendix. It should be done at MSusy to minimize the 1-loop contributions. Only call if you've calculated drbarpars. inputs are running top/bottom masses: call at MSusy only

CPE/CPO scalar masses in order (Hu,Hd,snu_i)

neutral scalar couplings

higgs1-higgs2-higg2 (up-type)

charged higgs-slepton mass matrix - order: Hu1, Hd2, tildeLi, tildeEbarj

slepton couplings

squark mass matrices

squark couplings

if I include kk=1,2 3 and not only kk=3 as in softsusy.cpp, result changes by 0.6%. Keep this??

SM quarks

Weak bosons

chargino-charged lepton mass matrix in basis (W-, Hd-, l-) M (W+, hu+, ebar+)

chargino couplings

neutralino-neutrino mass matrix

neutralino couplings

sneutrino coupling

stop couplings

sbottom couplings

stau couplings

bottom quark and tau, ignore others - factor (10^-2)^3 down I have included the bottom pole mass in the propagators and the Yukawa for the coupling, hence BPMZ's hb is written mb * root2 / v1

third generation squarks

third generation sleptons

first two families of squarks

sleptons

Higgs

Neutralinos

Charginos

Weak bosons

Reimplemented from MssmSoftsusy.

double RpvNeutrino::doCalcTadpole2oneLoop ( double  mt,
double  sinthDRbar 
) [virtual]

Does the calculation of one-loop pieces of $ t_2 / v_2 $.

From hep-ph/9311269's appendix. It should be done at MSusy to minimize the 1-loop contributions. Only call if you've calculated physpars inputs are running top/bottom masses. Call at MSusy

neutral scalar couplings

charged higgs-slepton mass matrix order: Hu1, Hd2, tildeLi, tildeEbarj

slepton couplings

squark mass matrices

squark couplings

SM quarks

Weak bosons

chargino-charged lepton mass matrix in basis (W-, Hd-, l-) M (W+,hu+,ebar+)

chargino couplings

neutralino-neutrino mass matrix

Swap rows and columns to the format (Bino,Wino, Hu, Hd, nui)

neutralino couplings

CHECKED

Stop couplings

sneutrino coupling

sbottom couplings

stau couplings

top quark, ignore others - factor (10^-2)^3 down

third generation squarks

third generation sleptons

first two families of squarks

sleptons

Higgs

Neutralinos

Weak bosons

Reimplemented from MssmSoftsusy.

void RpvNeutrino::FermionMassAsym ( DoubleMatrix MM,
ComplexMatrix M,
ComplexMatrix P,
DoubleVector MassVector,
DoubleVector PositiveMassVector,
DoubleVector SquaredVector,
DoubleMatrix mixM,
DoubleMatrix mixP 
)

given an asymmetric fermion mass matrix, output mixing matrix, mass eigenvector, positive mass eigenvector, squared mass eigenvector used in RpvNeutrino::neutrino

force the largest component of every mass eigenvector in the mixing matrices P and M to be positive. Since an asymmetric matrix is diagonalised by a bi-unitary diagonalisation, the diagonal values can always be made positive by changing phases of the mixing matrices. What we are really doing here is to 'un-do' these phase changes, and compensate this by forcing the mixing matrices to be imaginary. In this case the matrix MM is diagonalised by M.hermitianConjugate * MM * P = diag MM, where all eigenvalues are positive.

void RpvNeutrino::FermionMassSym ( DoubleMatrix MM,
ComplexMatrix Z,
DoubleVector MassVector,
DoubleVector PositiveMassVector,
DoubleVector SquaredVector,
DoubleMatrix mix 
)

given a symmetric fermion mass matrix, output mixing matrix, mass eigenvector, positive mass eigenvector, squared mass eigenvector used in RpvNeutrino::neutrino

void RpvNeutrino::inomixingSLHA ( ostream &  out)

neutralino/chargino mixing for RPV

need charginos too

We must re-order the rows and columns of the chargino mass matrix. SOFTSUSY is in the basis U = [ wino higgsino e_Ri ], whereas SLHA2 is in the basis U~ = [ e_Ri wino higgsino ].

Reimplemented from MssmSoftsusy.

void RpvNeutrino::lesHouchesAccordOutput ( ostream &  out,
const char  model[],
const DoubleVector pars,
int  sgnMu,
double  tanb,
double  qMax,
int  numPoints,
bool  ewsbBCscale 
) [virtual]

Outputs with Les Houches accord conventions to standard output. Inputs: out should be something like cout or fout depending on whether you want output in a file or not. model contains what form of model is used for the SUSY breaking terms (eg sugra, gmsb, amsb, nonUniversal). qMax is only relevant if you want a gridded output of running parameters up to some scale qMax. Put numPoints = 1 if you don't want to use this option - then qMaz is immaterial. mb is mb(mb) in the MSbar scheme used to produce the output, whereas mtau is the pole mass used (eg 1.777). mgut is the GUT scale that has been determined, and altEwsb is true if you specified mu and mA as input parameters (not tan beta and mH1, mH2).

There are some re-orderings of masses required in the SLHA 2 version. CP+ scalars

goldstone boson in last place

charged scalars excluding goldstone

Reimplemented from FlavourMssmSoftsusy.

void RpvNeutrino::neutrino ( DoubleVector neutrino,
DoubleMatrix mixMnu,
DoubleMatrix mNeutrino 
)

Steve's "neutrino" calculates the full 1 loop 7x7 neutralino-neutrino mass matrix (now in rpvsoft.cpp basis) MH: corrected Higgs vevs; now in rpvsoftsusy basis Return tree + 1 loop neutrino--neutralino masses and mixings. calculation performed in ADD basis where Hd and L_i fields are on equal footing. At the end of the code the results are rotated to the rpvsoftsusy basis

square root of -1.

'zero'

loop integral external momentum scale

no. of colours

gauge fixing parameter (for reference only so do not change !)

OBTAIN TREE LEVEL PARAMETERS FROM MAIN SOFTSUSY CODE

gauge couplings and EW mixing angles

< = sqrt(oneset.displayAlpha(ALPHA)

* 4. * PI)/g2;

the Yukawa matrices

third family approximation: Useful when cross checked with RPC softsusy yu(1, 1) = 0.; yu(2, 2) = 0.; yd(1, 1) = 0.; yd(2, 2) = 0.; ye(1, 1) = 0.; ye(2, 2) = 0.; the VEVs

various VEVs

the tree level gauge boson msasses

the supersymmetric bilinear parameters

< (susy.h)

< (rpvsusypars.h)

the soft bilinear parameters

< (rpvsusypars.h)

< (softpars.h)

the msass mixing between down-higgs and sleptons

< (rpvsusypars.h)

the up- and down- type higgs squared, tadpoles included

the 4x4x3 lamda and 4x3x3 lamda' tensors

the 4x4x3 lambda and 4x3x3 lambda' rpv soft trilinear tensors

DEFINE TREE LEVEL MASS MATRICES up type quarks

down type quarks

up type squarks

down type squarks

neutralino-neutrino

a modified chargino-charged lepton matrix, Hd and Leptons are on equal footing

4x4 lepton doublet - down higgs doublet for CPeven, CPodd, and Charged scalar matrices

4x4 'sneutrino-neutral down higgs matrix for CPeven and CPodd msasses

CP even scalars

CP odd scalars (gauge-independent part)

Charged scalars (gauge-independent part)

gauge DEPENDENT part of the mass matrices (CP odd and charged scalars)

combine the gauge dependent and the gauge independent parts

OBTAIN THE MIXING MATRICES AND MASS EIGENVALUES convention as in Dedes et al, hep-ph/0603225

get to the same convention as Dedes

SET ELECTRON AND MUON MASSES TO ZERO for easy comparison with BPMZ

< get to the same notation as Dedes (hep-ph/0603225)

< get to the same notation as Dedes

define the renormalization scales note actual renormalisation needs to be done at msusy otherwise get negative goldstone masses

define neutral fermion feynman rules all external neutrino/neutralino legs are in flavour basis all internal legs are in mass basis in these feynman rules, 'k' denotes neutral fermion the first index correspond to a scalar, while the next two indices are fermions for vector boson feynman rules, only two indices, and both are fermions CP even neutral scalar -- neutral fermion(external) -- neutral fermion(internal)

CP odd neutral scalar -- neutral fermion(external) -- neutral fermion(internal)

in +ve scalar -- in -ve LH fermion -- neutral fermion

in -ve scalar -- in +ve LH fermion -- neutral fermion

in -ve scalar down -- neutral fermion -- in +ve LH down type (anti) quark

out +ve scalar up -- neutral fermion -- in +ve LH up type quark

in +ve scalar up -- neutral fermion -- in -ve LH up type (anti) quark

Z -- neutral fermion(external) -- neutral fermion(internal)

in W+ -- in -ve LH fermion -- out neutral fermion

in W- -- in +ve LH fermion -- out neutral fermion

calculate the loop corrections note in rpc softsusy a different qq is used for neutrino mass calculation pp=0 is a suitable choice in fact, pp=0 must be used in the present calculation, for consistency with mia approx. (we only have c0 at zero external momentum) sigma d, scalar contribution

CP even/odd scalar -neutral fermion -neutral fermion because the large cancellation between these two contributions lead to numerical instability in the 3x3 neutrino--neutrino block. that part will later be replaced by a cpe-cpo analytic mia calculation

charged scalar -charged fermion -neutral fermion

down squark -neutral fermion - down quark

up squark -neutral fermion -up quark

CPE+CPO scalar -neutral fermion -neutral fermion

charged scalar -charged fermion -neutral fermion

down squark -neutral fermion - down quark

up squark -neutral fermion -up quark

Sigma D, gauge boson contribution initializsation

Z boson -neutral fermion -neutral fermion

W boson -charged fermion -neutral fermion

Sigma L, gauge boson contribution

Z boson -neutral fermion -neutral fermion

W boson -charged fermion -neutral fermion

mia approximation for the cpe+cpo contribution to the 3x3 neutrino-neutrino block This is a systematic procedure to expand the combined CPE+CPO contributions in powers of RPV parameters (call it B), that is the (2x3) off block-diagonal part of the full 5x5 mass matrix. Currently the approximation is to order B^2, but is generalisable to include higher corrections if desired. The external mass scale is set to zero. CPE MIA approximation

put the h-H, sneutrinos and RPV contributions to different blocks

RPC rotation

the 5x5 mass matrix to be further diagonalised, after the RPC rotation

the 5x5 mixing (RPC part) (h-H mixing, sneutrino mixing)

CPO MIA approximation

put the G-A, sneutrinos and RPV contributions to different blocks

RPC rotation

the 5x5 mass matrix to be further diagonalised, after the RPC rotation

the 5x5 mixing (RPC part) (G-A mixing, sneutrino mixing)

define the full (RPC + RPV using MIA) mixing matrices in different orders of perturbations

define the sneutrino mass^2 differences (CPE minus CPO)

compatibility with wsr2-wsa2 : CHECKED

define the hH, GA, CPE-sneutrino, CPO-sneutrino masses after MIA

Check for Tachyonic states

sum over the loop contributions (the 3x3 block)

sneutrino mixing difference contributions wCPOsneuttot is used here, while using wCPEsneuttot will give practically the same results

sneutrino mass difference contributions

H, h, A cancellations.

combine all the loop corrections and obtain the corrected mass matrix the output loop corrected mass matrix is in flavour basis combine the sigma D CPE+CPO scalar contribution ONLY

combine all the sigma D scalar contribution except the cpe+cpo contributions (i=1, 2)

combine all the sigma L scalar contribution

combine all the (sigma D+L) gauge boson contribution

Use formal matrix manipulations to calc gauge basis correction

This is for FULL FLAVOR BASIS LOOP CALCULATION

overwrite the neutrino-neutrino cpecpo part by the mia results

combine all loop contributions

include CPE-CPO cancellations

Calculate the loop corrected neutrino-neutralino masses

rotate to the RPV softsusy basis

obtain loop corrected eigenvalues etc

Main calculation ends here.

returns neutrino mixing angles and sets mass eigenstates to one loop.

in case of IH, swapping of rows in U & NeutrinoMasses needed

Calculate PMNS matrix by multiplying U by the charged lepton mixing matrix (transposed).

We may re-organise the signs in the mixing matrices to keep the diagonal elements positive

using Steve's neutrino routine to obtain 3x3 effective neutrino mass matrix via seesaw

calculate 3x3 effective neutrino mass matrix via seesaw from 7x7 neutralino matrix

Set full 7 by 7 physical mixing matrix: defined at zero external momentum

void RpvNeutrino::physical ( int  accuracy) [virtual]

Calculates physical sparticle masses to accuracy number of loops. Should be called at M_{SUSY}.

Organises calculation of physical quantities such as sparticle masses etc Call AT MSusy

Running masses at MSUSY

Re-calculate the 1-loop tadpoles for the calculation

Sfermion masses: all three families in each

Charginos/neutralinos/higgs

Iterate Higgs calculation (unless accuracy=0, in which case we just need a rough calculation) until the Higgs masses all converge to better than TOLERANCE fractional accuracy

iterate

Reimplemented from MssmSoftsusy.

void RpvNeutrino::rvamixSLHA ( ostream &  out)

CP-odd higgs mixing for RPV SLHA2.

Need to find out what basis ordering we should really be in for SLHA2. CP- scalars: find lightest boson that's not the goldstone etc

This is a check to see if the eigenvalues are in the right order cout << slhaMix * CPOscalars * slhaMix.transpose();

H1 <-> H2 difference in positioning of basis vectors

void RpvNeutrino::rvhmixSLHA ( ostream &  out)

CP-even higgs mixing for RPV SLHA2.

This is a check to see if the eigenvalues are in the right order cout << slhaMix * CPEscalars * slhaMix.transpose();

H1 <-> H2 difference in positioning of basis vectors

void RpvNeutrino::ScalarMass ( DoubleMatrix MM,
ComplexMatrix Z,
DoubleVector MassVector,
DoubleVector PositiveMassVector,
DoubleVector SquaredVector,
DoubleMatrix mix 
)

given squared mass matrix (MM), output mixing matrix, mass eigenvector, positive mass eigenvector, squared mass eigenvector used in RpvNeutrino::neutrino

FORCE the squared mass vector to be positive. This does not change anything if renormalization is done in Msusy. However this is potentially inconsistent if renormalization done at MZ ! This can be traced as the SquaredVector is still negative. At Mu(~MZ), some elements of wsa2, wsr2, wsch2 may become negative.

void RpvNeutrino::selmixSLHA ( ostream &  out) [virtual]

charged slepton-higgs mixing for RPV SLHA2

charged higgs-slepton mass matrix - order: Hu, Hd, tildeLi, tildeEbarj

swap to SLHA2 order: Hu, Hd, tildeLi, tildeEbarj

Don't print out the line corresponding to the goldstone mode: line 8

Reimplemented from FlavourMssmSoftsusy.

void RpvNeutrino::sparticleThresholdCorrections ( double  tb,
const DoubleVector pars 
)

next two routines are copy of old code which was taken out of the softsusy version when flavorsoft was implemented for objects RpvSoftsusy2, MIXING=1 sets CKM mixing in the up-sector, MIXING=2 sets CKM mixing in the down-sector pars contains RPV SUSY parameters for the point in question

Set the RPV couplings here if we need to: currently only works with CMSSM


The documentation for this class was generated from the following files: