SoftSUSY is hosted by Hepforge, IPPP Durham
SOFTSUSY  4.0
nmssmsoftsusy.h
Go to the documentation of this file.
1 
13 #ifndef NMSSMSOFTSUSY_H
14 #define NMSSMSOFTSUSY_H
15 
16 #include <iostream>
17 #include <fstream>
18 #include <sstream>
19 #include <cstring>
20 #include <cstdlib>
21 #include <cmath>
22 #include "def.h"
23 #include "utils.h"
24 #include "numerics.h"
25 #include "physpars.h"
26 #include "lowe.h"
27 #include "nmssmsoftpars.h"
28 #include "softsusy.h"
29 #include "mssmUtils.h"
30 #include "nmssm2loop.h"
31 #include "nmssmUtils.h"
32 #include <cassert>
33 
34 #ifdef COMPILE_TWO_LOOP_SPARTICLE_MASS
35 //#include "supermodel/supermodel-v0.1/supermodel.h"
36 #include "higher_order.h"
37 #endif
38 
39 namespace softsusy {
40 
41  /* class NmssmSoftsusy; */
42  /* std::istream & operator >>(std::istream &left, NmssmSoftsusy &s);\ */
43 
45  class NmssmSoftsusy: public NmssmSusyPars, public SoftParsNmssm,
46  public MssmSoftsusy {
47  private:
48 
49  double tSOVSMs;
50  double tSOVSMs1loop;
51  double looplog(double mass) const;
53 
54  public:
55  // void (*boundaryCondition)(NmssmSoftsusy &, const DoubleVector &);
57  NmssmSoftsusy();
59  NmssmSoftsusy(const NmssmSusy &);
63  NmssmSoftsusy(const MssmSoftsusy &);
68  NmssmSoftsusy(const NmssmSusyPars & ss, const SoftParsNmssm & s,
69  const MssmSoftsusy & sp);
71  const NmssmSoftsusy & operator=(const NmssmSoftsusy & s);
72 
73  double displayTadpoleSMs() const;
74  double displayTadpoleSMs1loop() const;
75  double displaySoftAkappa() const {
77  };
78  double displaySoftAlambda() const {
80  };
81  NmssmSusy displayNmssmSusy() const {
83  }
84 
85  MssmSoftsusy convertToMssm() const;
86 
88  //for 3rd generation sfermions
89  void P1SfSfCouplings(DoubleMatrix & lTP1Lr, DoubleMatrix & lBP1Lr,
90  DoubleMatrix & lTauP1Lr) const;
92  //for 3rd generation sfermions
93  void P2SfSfCouplings(DoubleMatrix & lTP2Lr, DoubleMatrix & lBP2Lr,
94  DoubleMatrix & lTauP2Lr) const;
96  //for 3rd generation sfermions
97  void P3SfSfCouplings(DoubleMatrix & lTP3Lr, DoubleMatrix & lBP3Lr,
98  DoubleMatrix & lTauP3Lr) const;
99 
101  //for 3rd generation sfermions
102  void H1SfSfCouplings(DoubleMatrix & lTS1Lr, DoubleMatrix & lBS1Lr,
103  DoubleMatrix & lTauS1Lr, double gmzOcthW,
104  double mu, double cosb, double v1) const;
106  //for 3rd generation sfermions
107  void H2SfSfCouplings(DoubleMatrix & lTS1Lr, DoubleMatrix & lBS1Lr,
108  DoubleMatrix & lTauS1Lr, double gmzOcthW,
109  double mu, double sinb) const;
111  //for 3rd generation sfermion
112  void SSfSfCouplings(DoubleMatrix & lTS3Lr, DoubleMatrix & lBS3Lr,
113  DoubleMatrix & lTauS3Lr, double lam) const;
115  double doCalcTadSSfermions(DoubleMatrix lTS3Lr, DoubleMatrix lBS3Lr,
116  DoubleMatrix lTauS3Lr, double q, double s) const;
118  void assignHiggs(DoubleVector & higgsm, DoubleVector & higgsa,
119  DoubleVector & higgsc) const;
121  //Includes goldstone bosons.
122  double doCalcTad1Higgs(double q, double costhDRbar, double g, double tanb) const;
124  //Includes goldstone bosons.
125  double doCalcTad2Higgs(double q, double costhDRbar, double g, double tanb) const;
127  //Includes goldstone bosons.
128  double doCalcTadSHiggs(double q, double tanb) const;
130  double doCalcTad1Neutralinos(double q, double costhDRbar, double g,
131  double tanb) const;
133  double doCalcTad2Neutralinos(double q, double costhDRbar,
134  double g, double sinb) const;
136  double doCalcTadSNeutralinos(double q, double lam, double kap) const;
138  double doCalcTadSCharginos(double q, double lam) const;
140  virtual double doCalcTadpole1oneLoop(double mt, double sinthDRbar) const;
142  virtual double doCalcTadpole2oneLoop(double mt, double sinthDRbar) const;
144  virtual double doCalcTadpoleSoneLoop(double mt, double sinthDRbar) const;
145 
148  virtual void calcTadpole1Ms1loop(double mt, double sinthDRbar);
151  virtual void calcTadpole2Ms1loop(double mt, double sinthDRbar);
156  virtual void calcTadpoleSMs1loop(double mt, double sinthDRbar);
160  void doTadpoles(double mt, double sinthDRbar);
162  virtual void calcDrBarPars();
163 
167  DoubleMatrix addStopHiggs(double p, double mt, DoubleMatrix & higgs);
171  virtual void addStopCorrection(double p, DoubleMatrix & mass, double mt);
175  DoubleMatrix addSupHiggs(double p1, double p2, int family,
176  DoubleMatrix & higgs);
180  virtual void addSupCorrection(DoubleMatrix & mass, int family);
184  DoubleMatrix addSbotHiggs(double p, double mt, DoubleMatrix & higgs);
188  virtual void addSbotCorrection(double p, DoubleMatrix & mass, double mt);
192  DoubleMatrix addSdownHiggs(double p1, double p2, int family,
193  DoubleMatrix & higgs);
197  virtual void addSdownCorrection(DoubleMatrix & mass, int family);
200  double addSnuTauHiggs(double p, double & higgs);
204  virtual void addSnuTauCorrection(double & mass);
208  double addSnuHiggs(double p, int family, double & higgs);
212  virtual void addSnuCorrection(double & mass, int family);
216  DoubleMatrix addStauHiggs(double p, double mtau, DoubleMatrix & higgs);
220  virtual void addStauCorrection(double p, DoubleMatrix & mass, double mtau);
224  DoubleMatrix addSlepHiggs(double p1, double p2, int family, DoubleMatrix & higgs);
228  virtual void addSlepCorrection(DoubleMatrix & mass, int family);
229  void getNeutPassarinoVeltman(double p, double q, DoubleMatrix & b0fn,
230  DoubleMatrix & b1fn);
234  void addNeutLoopHiggs(double p, DoubleMatrix & sigmaL, DoubleMatrix & sigmaR, DoubleMatrix & sigmaS);
236  virtual void addNeutralinoLoop(double p, DoubleMatrix &);
237 
243  virtual void treeUpSquark(DoubleMatrix & mass, double mtrun,
244  double pizztMS, double sinthDRbarMS,
245  int family);
246 
252  virtual void treeDownSquark(DoubleMatrix & mass, double mbrun, double pizztMS,
253  double sinthDRbarMS, int family);
259  virtual void treeChargedSlepton(DoubleMatrix & mass, double mTrun, double pizztMS,
260  double sinthDRbarMS, int family);
262  //Returns tree-level chargino mass matrix in the NMSSM
263  void treeCharginos(DoubleMatrix & mass, double beta, double mw);
264 
266  //Returns tree-level Neutralino mass matrix in the NMSSM
267  void treeNeutralinos(DoubleMatrix & mass, double beta, double mz, double mw,
268  double sinthDRbar);
271  void calcDrBarGauginos(double beta, double mw, double mz, double sinth,
272  drBarPars & eg);
274  //and tree level mHPm. Does *not* use EWSB substitution
275  void treeHiggsAlt(DoubleMatrix & mS, DoubleMatrix & mPpr, DoubleMatrix & mP2,
276  double & mHpm, double beta) const;
278  //and tree level mHPm. Uses EWSB substitution.
279  //Called in higgs and calcDrBarParsHiggs
280  void treeHiggs(DoubleMatrix & mS, DoubleMatrix & mPpr, DoubleMatrix & mP2,
281  double & mHpm, double beta) const;
282  //calculates DrBar Higgs masses and sets them
283  void calcDrBarHiggs(double beta, double mz2, double mw2, double sinthDRbar,
284  drBarPars & eg);
285 
287  DoubleVector beta() const;
289  NmssmSoftsusy beta2() const;
290  const DoubleVector display() const;
291 
292  void set(const DoubleVector & y);
293  void setNmssmSusy(const NmssmSusy & n) {
296  }
297 
300  double VhAtMin(double v1, double v2, double s, double mHu2, double mHd2, double mSsq);
301 
305  virtual int rewsbMu(int sgnMu, double & mu) const;
310  virtual int rewsbSvev(int sgnMu, double & svev) const;
313  virtual int rewsbM3sq(double mu, double & m3sq) const;
315  virtual int rewsbKap(double & kap) const;
317  //new with respect to the MSSM.
318  virtual int rewsbXiS(double & xiS) const;
321  virtual int rewsbmSsq(double & mSsq) const;
323  virtual int rewsbmH1sq(double & mH1sq) const;
325  virtual int rewsbmH2sq(double & mH211sq) const;
327  virtual void rewsbTreeLevel(int sgnMu);
329  //(mu, m3sq, XiS) --> (mZ, tb, s)
332  void iterateMu(double & munew, int sgnMu, double mt,
333  int maxTries, double pizztMS, double sinthDRbar, double tol,
334  int & err);
335  //Routine for iteratively solving for the singlet vev, s = <S>.
340  void iterateSvev(double & sold, int sgnMu,
341  double mt, int maxTries, double pizzMS,
342  double sinthDRbar, double tol, int & err);
346  //Z3 = true: s --> mZ, kappa --> tan beta, mS --> s
347  //ie (kappa, mS) --> (mZ, tb)
348  //Z3 = false: mu --> mZ, m3sq --> tan beta, s --> XiS (Z3 = false)
350  void rewsb(int sgnMu, double mt, double muOld = -6.66e66, double eps = 0.);
353  virtual void physical(int accuracy);
356  virtual void addChaLoopHiggs(double p, DoubleMatrix & sigmaL, DoubleMatrix & sigmaR, DoubleMatrix & sigmaS, DoubleMatrix b1pCha, DoubleMatrix b0pCha, DoubleMatrix b1pNeut, DoubleMatrix b0pNeut) const;
358  virtual void addCharginoLoop(double p, DoubleMatrix &);
362  virtual void charginos(int accuracy, double piwwt, sPhysical & phys);
364  //IO parameters: piwwt is the W self-energy at M_SUSY,
367  virtual void neutralinos(int accuracy, double piwwt, double pizzt,
368  sPhysical & phys);
371  //corrections at order alpha_s alpha_t for Z_3 case from Degrassi and Slavich.
375  bool higgs(int accuracy, double piwwt, double pizzt, sPhysical & phys);
378  void DegrassiSlavicMix(DoubleMatrix & P) const;
380  //for p=external momentum, Q=renormalisation scale
381  virtual double piZZTHiggs(double p, double q, double thetaWDRbar) const;
383  //for p=external momentum, Q=renormalisation scale
384  virtual double piZZTNeutralinos(double p, double Q, double thetaWDRbar) const;
387  virtual double piZZT(double p, double Q, bool usePoleMt = false) const;
389  //for p=external momentum, q=renormalisation scale
390  virtual double piWWTHiggs(double p, double q, double thetaWDRbar) const;
392  //for p=external momentum, Q=renormalisation scale
393  virtual double piWWTgauginos(double p, double Q, double thetaWDRbar) const;
396  virtual double piWWT(double p, double Q, bool usePoleMt = false) const;
398  double pip1p1(double p, double q) const;
399  double pip1p2(double p, double q) const;
400  double pip2p2(double p, double q) const;
401  double pip1p3(double p, double q) const;
402  double pip2p3(double p, double q) const;
403  double pip3p3(double p, double q) const;
405  void getP1HiggsTriCoup(DoubleMatrix & spp1, DoubleMatrix & hphpp1, double cw2DRbar) const;
407  void getP2HiggsTriCoup(DoubleMatrix & spp2, DoubleMatrix & hphpp2, double cw2DRbar) const;
409  void getP3HiggsTriCoup(DoubleMatrix & spp2, DoubleMatrix & hphpp2) const;
411  void getS1HiggsTriCoup(DoubleMatrix & sss1, DoubleMatrix & pps1, DoubleMatrix & hphps1, double thetaWDRbar) const;
413  void getS2HiggsTriCoup(DoubleMatrix & sss2, DoubleMatrix & pps2, DoubleMatrix & hphps2, double thetaWDRbar) const;
415  void getS3HiggsTriCoup(DoubleMatrix & sss3, DoubleMatrix & pps3, DoubleMatrix & hphps3) const;
417  //for p=external momentum, q=renormalisation scale
418  double pis1s1Higgs(double p, double q) const;
419  double pis1s2Higgs(double p, double q) const;
420  double pis2s2Higgs(double p, double q) const;
421  double pis1s3Higgs(double p, double q) const;
422  double pis2s3Higgs(double p, double q) const;
423  double pis3s3Higgs(double p, double q) const;
425  void getS1NeutralinoCoup(ComplexMatrix & aChi, ComplexMatrix & bChi) const;
426  void getS2NeutralinoCoup(ComplexMatrix & aChi, ComplexMatrix & bChi) const;
427  void getS3NeutralinoCoup(ComplexMatrix & aChi, ComplexMatrix & bChi) const;
429  void getP1NeutralinoCoup(ComplexMatrix & aChi, ComplexMatrix & bChi) const;
430  void getP2NeutralinoCoup(ComplexMatrix & aChi, ComplexMatrix & bChi) const;
431  void getP3NeutralinoCoup(ComplexMatrix & aChi, ComplexMatrix & bChi) const;
433  //for p=external momentum, q=renormalisation scale
434  double pis1s1Neutralinos(double p, double q) const;
435  double pis1s2Neutralinos(double p, double q) const;
436  double pis2s2Neutralinos(double p, double q) const;
437  double pis1s3Neutralinos(double p, double q) const;
438  double pis2s3Neutralinos(double p, double q) const;
439  double pis3s3Neutralinos(double p, double q) const;
441  //for p=external momentum, q=renormalisation scale
442  double pis1s3Charginos(double p, double q) const;
443  double pis2s3Charginos(double p, double q) const;
444  double pis3s3Charginos(double p, double q) const;
445 
447  //for p=external momentum, q=renormalisation scale
448  double pis1s3Sfermions(double p, double q, DoubleMatrix ls1tt,
449  DoubleMatrix ls1bb, DoubleMatrix ls1tautau,
450  DoubleMatrix ls3tt, DoubleMatrix ls3bb,
451  DoubleMatrix ls3tautau) const;
452  double pis2s3Sfermions(double p, double q, DoubleMatrix ls2tt,
453  DoubleMatrix ls2bb, DoubleMatrix ls2tautau,
454  DoubleMatrix ls3tt, DoubleMatrix ls3bb,
455  DoubleMatrix ls3tautau) const;
456  double pis3s3Sfermions(double p, double q, DoubleMatrix ls3tt,
457  DoubleMatrix ls3bb, DoubleMatrix ls3tautau) const;
458 
461  double pis1s1(double p, double q) const;
462  double pis1s2(double p, double q) const;
463  double pis2s2(double p, double q) const;
464  double pis1s3(double p, double q) const;
465  double pis2s3(double p, double q) const;
466  double pis3s3(double p, double q) const;
467 
469  virtual double h1s2Mix();
470 
472  void getHp1HiggsTriCoup(DoubleMatrix & ahphp1, DoubleMatrix & hhphp1) const;
473  void getHp2HiggsTriCoup(DoubleMatrix & ahphp2, DoubleMatrix & hhphp2) const;
476  ComplexMatrix & apph2, ComplexMatrix & bpph1, ComplexMatrix & bpph2) const;
477 
479  void getGaugeHiggsHpmCoup(DoubleVector & wmhhp1, DoubleVector & wmahp1,
480  DoubleVector & gamhphp1, DoubleVector & zhphp1, DoubleVector & wmhhp2,
481  DoubleVector & wmahp2, DoubleVector & gamhphp2, DoubleVector & zhphp2) const;
482 
486  double piHpm11Higgs(double p, double q) const;
487  double piHpm12Higgs(double p, double q) const;
488  double piHpm22Higgs(double p, double q) const;
489 
493  double piHpm11Gaugino(double p, double q) const;
494  double piHpm12Gaugino(double p, double q) const;
495  double piHpm22Gaugino(double p, double q) const;
496 
499  double piHpHm(double p, double q) const;
501  virtual double calcRunMtHiggs() const;
503  virtual double calcRunMtNeutralinos() const;
505  virtual double calcRunMbHiggs() const;
507  virtual double calcRunMbNeutralinos() const;
509  virtual double calcRunMtauHiggs() const;
512  virtual double calcRunMtauNeutralinos(double mTauSMMZ) const;
513 
514  NmssmSusyRGE guessAtSusyMt(double tanb, const DoubleVector & nmpars,
515  const QedQcd & oneset);
516 
517  double predTanb(double muSusy = -6.66e66) const;
518  double predMzsq(double & tanb, double muOld = -6.66e66, double eps = 0.);
519 
530  void itLowsoft(int maxTries, int sgnMu, double tol,
531  double tanb, void (*boundaryCondition)(NmssmSoftsusy &,
532  const DoubleVector &),
533  const DoubleVector & pars, const DoubleVector nmpars,
534  bool gaugeUnification, bool ewsbBCscale);
535 
536 
537  void lowOrg(void (*boundaryCondition)
538  (NmssmSoftsusy &, const DoubleVector &),
539  double mxGuess, const DoubleVector & pars,
540  const DoubleVector nmpars, int sgnMu, double tanb,
541  const QedQcd & oneset, bool gaugeUnification,
542  bool ewsbBCscale = false);
543 
547  void printall() const;
548 
561  virtual void lesHouchesAccordOutput(ostream & out, const char model[],
562  const DoubleVector & pars,
563  int sgnMu, double tanb, double qMax,
564  int numPoints,
565  bool ewsbBCscale);
567  void modselSLHA(ostream & out, const char model[], double qMax);
569  virtual void extparSLHA(ostream & out, const DoubleVector & pars,
570  bool ewsbBCscale);
572  virtual void higgsMSLHA(ostream & out);
574  virtual void neutralinoCharginoMSLHA(ostream & out);
576  virtual void neutralinoMixingSLHA(ostream & out);
578  void nmhmixSLHA(ostream&);
580  void nmamixSLHA(ostream&);
582  void nmssmrunSLHA(ostream&, const char* blockName = "NMSSMRUN");
584  void extranmssmtoolsSLHA(ostream&);
586  void yukawaMatricesSLHA(ostream&, const char* blockName = "");
588  void extramsoftSLHA(ostream&, const char* blockName = "");
590  void extrahmixSLHA(ostream&, const char* blockName = "");
592  void extragaugeSLHA(ostream&, const char* blockName = "GAUGE");
594  void extrasfermionmixSLHA(ostream & out);
596  virtual void drbarSLHA(ostream&, int numPoints, double qMax, int n);
598  virtual void softsusySLHA(ostream & out);
600  virtual void spinfoSLHA(ostream & out);
601  };
602 
604  : NmssmSusyPars(), SoftParsNmssm(), MssmSoftsusy(), tSOVSMs(0.0),
605  tSOVSMs1loop(0.0) {}
606 
609  SoftParsNmssm(s.displaySoftParsNmssm()),
611  tSOVSMs(s.tSOVSMs),
612  tSOVSMs1loop(s.tSOVSMs1loop) {
613  setPars(121);
614  }
615 
617  : NmssmSusyPars(s.displayNmssmSusy()), SoftParsNmssm(),
618  MssmSoftsusy(s.MssmSusy::displayMssmSusy()), tSOVSMs(0.0),
619  tSOVSMs1loop(0.0) {
620  setPars(121);
621  }
622 
624  (const NmssmSusyPars & ss, const SoftParsNmssm & s,
625  const MssmSoftsusy & sp): NmssmSusyPars(ss),
626  SoftParsNmssm(s), MssmSoftsusy(sp),
627  tSOVSMs(0.0), tSOVSMs1loop(0.0) {
628  setPars(121);
629  }
630 
631  inline double NmssmSoftsusy::displayTadpoleSMs() const { return tSOVSMs; }
632 
633  inline double NmssmSoftsusy::displayTadpoleSMs1loop() const {
634  return tSOVSMs1loop;
635  }
636 
637 }
638 
639 #endif
global variable declaration
Definition: def.cpp:13
void getP1HiggsTriCoup(DoubleMatrix &spp1, DoubleMatrix &hphpp1, double cw2DRbar) const
PA: Obtains trilnear couplings of P1-Higgs, for use in loop functions.
virtual void calcDrBarPars()
Organises tree-level calculation of all sparticle masses and mixings.
void assignHiggs(DoubleVector &higgsm, DoubleVector &higgsa, DoubleVector &higgsc) const
PA: for loop corrections, helps adding Higgs corrections in a tidy way.
double doCalcTadSSfermions(DoubleMatrix lTS3Lr, DoubleMatrix lBS3Lr, DoubleMatrix lTauS3Lr, double q, double s) const
PA:routine to calculate sfermiom contributions to (16 ^2) ts / s.
Contains all supersymmetric RPC-MSSM parameters and is an RGE end of NmssmSusyRGE.
Definition: nmssmsusy.h:254
DoubleVector boundaryCondition(double m0, double m12, double a0, const RpvSusyPars &r)
Definition: rpvsusypars.cpp:373
Header file for RP conserving MSSM object including all (real) soft SUSY breaking parameters and (rea...
const double accuracy
Approximate accuracy with which 3 body decays are calculated.
Definition: decays.h:33
DoubleVector is of variable length, and contains double precision.
Definition: linalg.h:35
Contains all SUSY RPC-NMSSM parameters but is not an RGE object end of NmssmSusy. ...
Definition: nmssmsusy.h:171
DoubleMatrix addSbotHiggs(double p, double mt, DoubleMatrix &higgs)
double doCalcTadSNeutralinos(double q, double lam, double kap) const
PA: NMSSM routine to obtain Neutralino loop parts of (16 ^2) tS/s.
DoubleVector beta() const
Beta functions of NMSSM.
virtual void addSbotCorrection(double p, DoubleMatrix &mass, double mt)
virtual int rewsbmH2sq(double &mH211sq) const
PA: for non universal Higgs.
Masses of the physical particles.
Definition: physpars.h:32
double displayKappa() const
returns superpotential parameter lambda
Definition: nmssmsusy.h:124
DRbar values of masses and mixings in MSSM.
Definition: physpars.h:114
virtual void addSlepCorrection(DoubleMatrix &mass, int family)
void getP3HiggsTriCoup(DoubleMatrix &spp2, DoubleMatrix &hphpp2) const
PA: Obtains trilnear couplings of P3-Higgs for use in loop functions.
virtual double piZZTNeutralinos(double p, double Q, double thetaWDRbar) const
Calculates neutralino contrib. to the transverse part of Z self-energy:
virtual int rewsbM3sq(double mu, double &m3sq) const
void getHp1HiggsTriCoup(DoubleMatrix &ahphp1, DoubleMatrix &hhphp1) const
LCT: Charged Higgs trilinear couplings with CP-odd and CP-even Higgs&#39;.
virtual double doCalcTadpoleSoneLoop(double mt, double sinthDRbar) const
Does the calculation of one-loop pieces of .
Contains all supersymmetric NMSSM parameters, incorporating R_p NMSSM.
Definition: nmssmsoftsusy.h:45
void iterateMu(double &munew, int sgnMu, double mt, int maxTries, double pizztMS, double sinthDRbar, double tol, int &err)
PA: finds mu iteratively in the casew where we use EWSB to swap.
virtual int rewsbXiS(double &xiS) const
PA: third EWSB condition (for the singlet Higgs field)
switches (options) and parameters such as default fermion masses, required accuracy etc ...
void calcDrBarGauginos(double beta, double mw, double mz, double sinth, drBarPars &eg)
double VhAtMin(double v1, double v2, double s, double mHu2, double mHd2, double mSsq)
DoubleMatrix addStauHiggs(double p, double mtau, DoubleMatrix &higgs)
virtual double calcRunMtHiggs() const
PA: routine to calculate the Higgs loop contributions to running Mt.
const MssmSoftsusy & displayMssmSoft() const
Displays whole object as a const.
Definition: softsusy.cpp:193
double pis1s1Higgs(double p, double q) const
PA:Calculates (16 Pi^2) times the Higgs contribution to Higgs self-energy:
void nmssmrunSLHA(ostream &, const char *blockName="NMSSMRUN")
NMSSMRUN block of SLHA.
NmssmSoftsusy beta2() const
Beta functions of NMSSM.
virtual void addSnuCorrection(double &mass, int family)
mass
used to give order of quark masses stored
Definition: lowe.h:47
virtual void addCharginoLoop(double p, DoubleMatrix &)
Adds the loop corrections on to an input tree-level chargino mass.
virtual void neutralinoMixingSLHA(ostream &out)
nmnmix block output of SLHA
virtual double calcRunMtauNeutralinos(double mTauSMMZ) const
virtual double piWWTHiggs(double p, double q, double thetaWDRbar) const
Calculates Higgs contribution to the transverse part of W self-energy:
QedQcd object contains Standard Model quark and lepton masses. It integrates them using 3 loop qcd x ...
double doCalcTadSCharginos(double q, double lam) const
PA: NMSSM routine to obtain Chargino loop parts of (16 ^2) tS/s.
void nmamixSLHA(ostream &)
CP odd mixing matrix NMHMIX block of SLHA.
virtual void addStauCorrection(double p, DoubleMatrix &mass, double mtau)
void itLowsoft(int maxTries, int sgnMu, double tol, double tanb, void(*boundaryCondition)(NmssmSoftsusy &, const DoubleVector &), const DoubleVector &pars, const DoubleVector nmpars, bool gaugeUnification, bool ewsbBCscale)
void setMssmSusy(const MssmSusy &s)
sets object to be equal to another
Definition: susy.cpp:234
const MssmSusy & displayMssmSusy() const
Returns whole object as a const.
Definition: susy.h:271
virtual double doCalcTadpole2oneLoop(double mt, double sinthDRbar) const
Does the calculation of one-loop pieces of .
void H2SfSfCouplings(DoubleMatrix &lTS1Lr, DoubleMatrix &lBS1Lr, DoubleMatrix &lTauS1Lr, double gmzOcthW, double mu, double sinb) const
PA: obtains NMSSM H2-sfermion-sfermion couplings.
Contains all supersymmetric RPC-MSSM parameters.
Definition: susy.h:75
double doCalcTad2Higgs(double q, double costhDRbar, double g, double tanb) const
PA: NMSSM routine to obtain Higgs loop parts of (16 ^2) t2/v2.
virtual void calcTadpole1Ms1loop(double mt, double sinthDRbar)
virtual void charginos(int accuracy, double piwwt, sPhysical &phys)
void getP1NeutralinoCoup(ComplexMatrix &aChi, ComplexMatrix &bChi) const
PA: obtains CP odd Higgs-Neutralino couplings.
void iterateSvev(double &sold, int sgnMu, double mt, int maxTries, double pizzMS, double sinthDRbar, double tol, int &err)
void getS1HiggsTriCoup(DoubleMatrix &sss1, DoubleMatrix &pps1, DoubleMatrix &hphps1, double thetaWDRbar) const
PA: Obtains trilnear couplings of s1-higgs-higgs for use in loop functions.
virtual void neutralinos(int accuracy, double piwwt, double pizzt, sPhysical &phys)
Calculates pole neutralino masses and mixing.
void setPars(int i)
Set number of parameters in RGE object.
Definition: rge.h:65
Two-loop Higgs and potential corrections from Pietro Slavich.
Quark and lepton masses and gauge couplings in QEDxQCD effective theory.
Definition: lowe.h:56
virtual void addChaLoopHiggs(double p, DoubleMatrix &sigmaL, DoubleMatrix &sigmaR, DoubleMatrix &sigmaS, DoubleMatrix b1pCha, DoubleMatrix b0pCha, DoubleMatrix b1pNeut, DoubleMatrix b0pNeut) const
void H1SfSfCouplings(DoubleMatrix &lTS1Lr, DoubleMatrix &lBS1Lr, DoubleMatrix &lTauS1Lr, double gmzOcthW, double mu, double cosb, double v1) const
PA: obtains NMSSM H1-sfermion-sfermion couplings.
double pip1p1(double p, double q) const
PA: self energy routines for pseudo scalar self energies.
numerical routines - differential equation solver, differentiator and function minimiser for instance...
virtual void addSupCorrection(DoubleMatrix &mass, int family)
A few handy bits and pieces - little mathematical functions and the like.
double addSnuTauHiggs(double p, double &higgs)
void treeNeutralinos(DoubleMatrix &mass, double beta, double mz, double mw, double sinthDRbar)
LCT: new routine for NMSSM neutralino masses,.
virtual int rewsbmH1sq(double &mH1sq) const
PA: for non universal Higgs.
void treeHiggsAlt(DoubleMatrix &mS, DoubleMatrix &mPpr, DoubleMatrix &mP2, double &mHpm, double beta) const
PA: fills tree level CP even and CP odd Higgs mass matrices.
virtual void physical(int accuracy)
double doCalcTadSHiggs(double q, double tanb) const
PA: NMSSM routine to obtain Higgs loop parts of (16 ^2) ts/s.
SoftParsNmssm()
Default constructor fills object with zeroes.
Definition: nmssmsoftpars.h:55
Contains NMSSM-only part of RPC SUSY parameters end of NmssmSusyPars.
Definition: nmssmsusy.h:85
virtual double calcRunMbHiggs() const
PA: routine to calculate the Higgs loop contributions to running Mb.
void extranmssmtoolsSLHA(ostream &)
extra DRbar parameters block for NMSSMTools decays
double addSnuHiggs(double p, int family, double &higgs)
virtual int rewsbSvev(int sgnMu, double &svev) const
matrix of complex double values dimensions (rows x cols)
Definition: linalg.h:605
virtual double calcRunMbNeutralinos() const
PA: routine to calculate the Neutralino loop contributions to running Mb.
double pis1s3Charginos(double p, double q) const
PA:Calculates (16 Pi^2) times Chargino contrib. to Higgs self-energy:
double doCalcTad2Neutralinos(double q, double costhDRbar, double g, double sinb) const
PA: NMSSM routine to obtain Neutralino loop parts of (16 ^2) t2/v2.
const NmssmSusyPars & displayNmssmSusyPars() const
returns whole object
Definition: nmssmsusy.h:130
void P2SfSfCouplings(DoubleMatrix &lTP2Lr, DoubleMatrix &lBP2Lr, DoubleMatrix &lTauP2Lr) const
PA: obtains NMSSM P2-sfermion-sfermion couplings.
virtual void calcTadpole2Ms1loop(double mt, double sinthDRbar)
Contains only the NMSSM soft parameters, NOT the MSSM ones.
Definition: nmssmsoftpars.h:45
void yukawaMatricesSLHA(ostream &, const char *blockName="")
extra DRbar Yukawa couplings for NMSSMTools decays
const NmssmSoftsusy & operator=(const NmssmSoftsusy &s)
Set all data in the object equal to another.
virtual double calcRunMtNeutralinos() const
PA: routine to calculate the Neutralino loop contributions to running Mt.
double pis1s3Sfermions(double p, double q, DoubleMatrix ls1tt, DoubleMatrix ls1bb, DoubleMatrix ls1tautau, DoubleMatrix ls3tt, DoubleMatrix ls3bb, DoubleMatrix ls3tautau) const
PA:Calculates (16 Pi^2) times sfermion contrib. to Higgs self-energy:
bool higgs(int accuracy, double piwwt, double pizzt, sPhysical &phys)
void P3SfSfCouplings(DoubleMatrix &lTP3Lr, DoubleMatrix &lBP3Lr, DoubleMatrix &lTauP3Lr) const
PA: obtains NMSSM P3-sfermion-sfermion couplings.
void getGaugeHiggsHpmCoup(DoubleVector &wmhhp1, DoubleVector &wmahp1, DoubleVector &gamhphp1, DoubleVector &zhphp1, DoubleVector &wmhhp2, DoubleVector &wmahp2, DoubleVector &gamhphp2, DoubleVector &zhphp2) const
LCT: Returns gauge-Higgs-hpm trilinear couplings with hpm in weak basis.
double piHpm11Gaugino(double p, double q) const
Matrix from 1..rows, 1..cols of double values.
Definition: linalg.h:211
virtual void treeUpSquark(DoubleMatrix &mass, double mtrun, double pizztMS, double sinthDRbarMS, int family)
Soft SUSY breaking parameters for NMSSM.
void getNeutralinoCharginoHpmCoup(ComplexMatrix &apph1, ComplexMatrix &apph2, ComplexMatrix &bpph1, ComplexMatrix &bpph2) const
LCT: Charged Higgs trilinear couplings with neutralinos/charginos.
double piHpm11Higgs(double p, double q) const
A few handy routines for the MSSM: SUSY breaking conditions etc.
virtual void calcTadpoleSMs1loop(double mt, double sinthDRbar)
double displayTadpoleSMs() const
displays t_s/s tadpole
Definition: nmssmsoftsusy.h:631
virtual void spinfoSLHA(ostream &out)
This does the SPINFO block of SLHA.
void extragaugeSLHA(ostream &, const char *blockName="GAUGE")
extra DRbar gauge couplings for NMSSMTools decays
DoubleMatrix addSdownHiggs(double p1, double p2, int family, DoubleMatrix &higgs)
void nmhmixSLHA(ostream &)
CP even mixing matrix NMHMIX block of SLHA.
virtual void addNeutralinoLoop(double p, DoubleMatrix &)
Adds the loop corrections on to an input tree-level neutralino mass.
MssmSoftsusy()
Default constructor fills object with zeroes.
Definition: softsusy.cpp:57
virtual void lesHouchesAccordOutput(ostream &out, const char model[], const DoubleVector &pars, int sgnMu, double tanb, double qMax, int numPoints, bool ewsbBCscale)
NmssmSoftsusy()
Default constructor fills object with zeroes.
Definition: nmssmsoftsusy.h:603
double piHpHm(double p, double q) const
double displayTadpoleSMs1loop() const
displays t_2/v_s tadpole @1 loop
Definition: nmssmsoftsusy.h:633
virtual void neutralinoCharginoMSLHA(ostream &out)
neutralino and charigno part of mass block of SLHA
void setNmssmSusyPars(const NmssmSusyPars &s)
sets the whole object
Definition: nmssmsusy.cpp:276
Flags for potential problems in sProblem structure, and structure for containing physical MSSM parame...
void treeHiggs(DoubleMatrix &mS, DoubleMatrix &mPpr, DoubleMatrix &mP2, double &mHpm, double beta) const
PA: fills tree level CP even and CP odd Higgs mass matrices.
double doCalcTad1Neutralinos(double q, double costhDRbar, double g, double tanb) const
PA: NMSSM routine to obtain Neutralino loop parts of (16 ^2) t1/v1.
virtual void higgsMSLHA(ostream &out)
higgs part of mass block of SLHA
void getS1NeutralinoCoup(ComplexMatrix &aChi, ComplexMatrix &bChi) const
PA: obtains CP even Higgs-Neutralino couplings.
virtual void treeChargedSlepton(DoubleMatrix &mass, double mTrun, double pizztMS, double sinthDRbarMS, int family)
virtual double h1s2Mix()
PA: gets h1 mixing element with Hu.
void extramsoftSLHA(ostream &, const char *blockName="")
extra DRbar soft parameters for NMSSMTools decays
virtual void softsusySLHA(ostream &out)
SOFTSUSY comments in SLHA.
void treeCharginos(DoubleMatrix &mass, double beta, double mw)
LCT: new routine to allocate NMSSM chargino masses,.
virtual double piZZT(double p, double Q, bool usePoleMt=false) const
virtual void drbarSLHA(ostream &, int numPoints, double qMax, int n)
outputs DRbar parameters at scale Q (default is at MSUSY)
double pis1s1Neutralinos(double p, double q) const
PA:Calculates (16 Pi^2) times Neutralino contrib. to Higgs self-energy:
virtual void addStopCorrection(double p, DoubleMatrix &mass, double mt)
double pis1s1(double p, double q) const
void doTadpoles(double mt, double sinthDRbar)
DoubleMatrix addSupHiggs(double p1, double p2, int family, DoubleMatrix &higgs)
Contains all supersymmetric MSSM parameters, incorporating R_p MSSM.
Definition: softsusy.h:83
void DegrassiSlavicMix(DoubleMatrix &P) const
NmssmSusyPars()
Constructor fills object with zeroes by default.
Definition: nmssmsusy.cpp:251
A few handy routines for the NMSSM: SUSY breaking conditions etc.
virtual double calcRunMtauHiggs() const
PA: routine to calculate the Higgs loop contributions to running Mtau.
virtual double piWWT(double p, double Q, bool usePoleMt=false) const
void extrahmixSLHA(ostream &, const char *blockName="")
extra DRbar Higgs mixing parameters for NMSSMTools decays
virtual void rewsbTreeLevel(int sgnMu)
PA: Imposes EWSB at the tree level.
virtual int rewsbMu(int sgnMu, double &mu) const
virtual int rewsbKap(double &kap) const
PA:: In case of Z3 invariance EWSB outputs kappa instead.
void getS2HiggsTriCoup(DoubleMatrix &sss2, DoubleMatrix &pps2, DoubleMatrix &hphps2, double thetaWDRbar) const
PA: Obtains trilnear couplings of s2-higgs-higgs for use in loop functions.
void SSfSfCouplings(DoubleMatrix &lTS3Lr, DoubleMatrix &lBS3Lr, DoubleMatrix &lTauS3Lr, double lam) const
PA: obtains NMSSM S-sfermion-sfermion couplings.
virtual void addSnuTauCorrection(double &mass)
double displaySoftAlambda(double lam) const
Definition: nmssmsoftpars.cpp:552
void getP2HiggsTriCoup(DoubleMatrix &spp2, DoubleMatrix &hphpp2, double cw2DRbar) const
PA: Obtains trilnear couplings of P2-Higgs for use in loop functions.
DoubleMatrix addStopHiggs(double p, double mt, DoubleMatrix &higgs)
virtual void addSdownCorrection(DoubleMatrix &mass, int family)
void P1SfSfCouplings(DoubleMatrix &lTP1Lr, DoubleMatrix &lBP1Lr, DoubleMatrix &lTauP1Lr) const
PA: obtains NMSSM P1-sfermion-sfermion couplings.
virtual int rewsbmSsq(double &mSsq) const
double doCalcTad1Higgs(double q, double costhDRbar, double g, double tanb) const
PA: NMSSM routine to obtain Higgs loop parts of (16 ^2) t1/v1.
DoubleMatrix addSlepHiggs(double p1, double p2, int family, DoubleMatrix &higgs)
virtual void extparSLHA(ostream &out, const DoubleVector &pars, bool ewsbBCscale)
EXTPAR block of SLHA.
virtual double doCalcTadpole1oneLoop(double mt, double sinthDRbar) const
Does the calculation of one-loop pieces of .
void printall() const
virtual double piZZTHiggs(double p, double q, double thetaWDRbar) const
Calculates Higgs contribution to the transverse part of Z self-energy:
const DoubleVector display() const
Return contents of object in a vector: for RG evolution.
void addNeutLoopHiggs(double p, DoubleMatrix &sigmaL, DoubleMatrix &sigmaR, DoubleMatrix &sigmaS)
void getS3HiggsTriCoup(DoubleMatrix &sss3, DoubleMatrix &pps3, DoubleMatrix &hphps3) const
PA: Obtains trilnear couplings of s3-higgs-higgs for use in loop functions.
void modselSLHA(ostream &out, const char model[], double qMax)
This does the MODSEL block of SLHA.
void rewsb(int sgnMu, double mt, double muOld=-6.66e66, double eps=0.)
ie (mu, m3sq, XiS) –> (mZ, tb, s)
double displayLambda() const
returns superpotential parameter lambda
Definition: nmssmsusy.h:122
virtual void treeDownSquark(DoubleMatrix &mass, double mbrun, double pizztMS, double sinthDRbarMS, int family)
virtual double piWWTgauginos(double p, double Q, double thetaWDRbar) const
Calculates gaugino contr. to transverse part of W self-energy:
double displaySoftAkappa(double ka) const
Definition: nmssmsoftpars.cpp:561
void extrasfermionmixSLHA(ostream &out)
extra DRbar smuon mixing matrix elements for NMSSMTools decays