SoftSUSY is hosted by Hepforge, IPPP Durham
SOFTSUSY  4.1
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 "utils.h"
23 #include "numerics.h"
24 #include "physpars.h"
25 #include "lowe.h"
26 #include "nmssmsoftpars.h"
27 #include "softsusy.h"
28 #include "mssmUtils.h"
29 #include "nmssm2loop.h"
30 #include "nmssmUtils.h"
31 #include <cassert>
32 
33 #ifdef COMPILE_TWO_LOOP_SPARTICLE_MASS
34 //#include "supermodel/supermodel-v0.1/supermodel.h"
35 #include "higher_order.h"
36 #endif
37 
38 namespace softsusy {
39 
40  /* class NmssmSoftsusy; */
41  /* std::istream & operator >>(std::istream &left, NmssmSoftsusy &s);\ */
42 
44  class NmssmSoftsusy: public NmssmSusyPars, public SoftParsNmssm,
45  public MssmSoftsusy {
46  private:
47 
48  double tSOVSMs;
49  double tSOVSMs1loop;
50  bool GUTlambda;
55  bool GUTkappa;
56  bool GUTmuPrime;
57  bool GUTxiF;
58  bool GUTsVev;
62  int MICROMEGAS;
63  int NMSDECAY;
64 
66  double looplog(double mass) const;
67 
68  public:
69  // void (*boundaryCondition)(NmssmSoftsusy &, const DoubleVector &);
71  NmssmSoftsusy();
73  NmssmSoftsusy(const NmssmSusy &);
77  NmssmSoftsusy(const MssmSoftsusy &);
82  NmssmSoftsusy(const NmssmSusyPars & ss, const SoftParsNmssm & s,
83  const MssmSoftsusy & sp);
85  const NmssmSoftsusy & operator=(const NmssmSoftsusy & s);
86 
87  double displayTadpoleSMs() const;
88  double displayTadpoleSMs1loop() const;
89  double displaySoftAkappa() const {
91  };
92  double displaySoftAlambda() const {
94  };
95  NmssmSusy displayNmssmSusy() const {
97  }
98  MssmSoftsusy convertToMssm() const;
99  bool displayGUTlambda() const { return GUTlambda; }
100  bool displayGUTkappa() const { return GUTkappa; }
101  bool displayGUTmuPrime() const { return GUTmuPrime; }
102  bool displayGUTxiF() const { return GUTxiF; }
103  bool displayGUTsVev() const { return GUTsVev; }
104  bool displayMICROMEGAS() const { return MICROMEGAS; }
105  bool displayNMSDECAY() const { return NMSDECAY; }
106 
108  //for 3rd generation sfermions
109  void P1SfSfCouplings(DoubleMatrix & lTP1Lr, DoubleMatrix & lBP1Lr,
110  DoubleMatrix & lTauP1Lr) const;
112  //for 3rd generation sfermions
113  void P2SfSfCouplings(DoubleMatrix & lTP2Lr, DoubleMatrix & lBP2Lr,
114  DoubleMatrix & lTauP2Lr) const;
116  //for 3rd generation sfermions
117  void P3SfSfCouplings(DoubleMatrix & lTP3Lr, DoubleMatrix & lBP3Lr,
118  DoubleMatrix & lTauP3Lr) const;
119 
121  //for 3rd generation sfermions
122  void H1SfSfCouplings(DoubleMatrix & lTS1Lr, DoubleMatrix & lBS1Lr,
123  DoubleMatrix & lTauS1Lr, double gmzOcthW,
124  double mu, double cosb, double v1) const;
126  //for 3rd generation sfermions
127  void H2SfSfCouplings(DoubleMatrix & lTS1Lr, DoubleMatrix & lBS1Lr,
128  DoubleMatrix & lTauS1Lr, double gmzOcthW,
129  double mu, double sinb) const;
131  //for 3rd generation sfermion
132  void SSfSfCouplings(DoubleMatrix & lTS3Lr, DoubleMatrix & lBS3Lr,
133  DoubleMatrix & lTauS3Lr, double lam) const;
135  double doCalcTadSSfermions(DoubleMatrix lTS3Lr, DoubleMatrix lBS3Lr,
136  DoubleMatrix lTauS3Lr, double q, double s) const;
138  void assignHiggs(DoubleVector & higgsm, DoubleVector & higgsa,
139  DoubleVector & higgsc) const;
141  //Includes goldstone bosons.
142  double doCalcTad1Higgs(double q, double costhDRbar, double g, double tanb) const;
144  //Includes goldstone bosons.
145  double doCalcTad2Higgs(double q, double costhDRbar, double g, double tanb) const;
147  //Includes goldstone bosons.
148  double doCalcTadSHiggs(double q, double tanb) const;
150  double doCalcTad1Neutralinos(double q, double costhDRbar, double g,
151  double tanb) const;
153  double doCalcTad2Neutralinos(double q, double costhDRbar,
154  double g, double sinb) const;
156  double doCalcTadSNeutralinos(double q, double lam, double kap) const;
158  double doCalcTadSCharginos(double q, double lam) const;
160  virtual double doCalcTadpole1oneLoop(double mt, double sinthDRbar) const;
162  virtual double doCalcTadpole2oneLoop(double mt, double sinthDRbar) const;
164  virtual double doCalcTadpoleSoneLoop(double mt, double sinthDRbar) const;
165 
168  virtual void calcTadpole1Ms1loop(double mt, double sinthDRbar);
171  virtual void calcTadpole2Ms1loop(double mt, double sinthDRbar);
176  virtual void calcTadpoleSMs1loop(double mt, double sinthDRbar);
180  void doTadpoles(double mt, double sinthDRbar);
182  virtual void calcDrBarPars();
183 
187  DoubleMatrix addStopHiggs(double p, double mt, DoubleMatrix & higgs);
191  virtual void addStopCorrection(double p, DoubleMatrix & mass, double mt);
195  DoubleMatrix addSupHiggs(double p1, double p2, int family,
196  DoubleMatrix & higgs);
200  virtual void addSupCorrection(DoubleMatrix & mass, int family);
204  DoubleMatrix addSbotHiggs(double p, double mt, DoubleMatrix & higgs);
208  virtual void addSbotCorrection(double p, DoubleMatrix & mass, double mt);
212  DoubleMatrix addSdownHiggs(double p1, double p2, int family,
213  DoubleMatrix & higgs);
217  virtual void addSdownCorrection(DoubleMatrix & mass, int family);
220  double addSnuTauHiggs(double p, double & higgs);
224  virtual void addSnuTauCorrection(double & mass);
228  double addSnuHiggs(double p, int family, double & higgs);
232  virtual void addSnuCorrection(double & mass, int family);
236  DoubleMatrix addStauHiggs(double p, double mtau, DoubleMatrix & higgs);
240  virtual void addStauCorrection(double p, DoubleMatrix & mass, double mtau);
244  DoubleMatrix addSlepHiggs(double p1, double p2, int family, DoubleMatrix & higgs);
248  virtual void addSlepCorrection(DoubleMatrix & mass, int family);
249  void getNeutPassarinoVeltman(double p, double q, DoubleMatrix & b0fn,
250  DoubleMatrix & b1fn);
254  void addNeutLoopHiggs(double p, DoubleMatrix & sigmaL, DoubleMatrix & sigmaR, DoubleMatrix & sigmaS);
256  virtual void addNeutralinoLoop(double p, DoubleMatrix &);
257 
263  virtual void treeUpSquark(DoubleMatrix & mass, double mtrun,
264  double pizztMS, double sinthDRbarMS,
265  int family);
266 
272  virtual void treeDownSquark(DoubleMatrix & mass, double mbrun, double pizztMS,
273  double sinthDRbarMS, int family);
279  virtual void treeChargedSlepton(DoubleMatrix & mass, double mTrun, double pizztMS,
280  double sinthDRbarMS, int family);
282  //Returns tree-level chargino mass matrix in the NMSSM
283  void treeCharginos(DoubleMatrix & mass, double beta, double mw);
284 
286  //Returns tree-level Neutralino mass matrix in the NMSSM
287  void treeNeutralinos(DoubleMatrix & mass, double beta, double mz, double mw,
288  double sinthDRbar);
291  void calcDrBarGauginos(double beta, double mw, double mz, double sinth,
292  drBarPars & eg);
294  //and tree level mHPm. Does *not* use EWSB substitution
295  void treeHiggsAlt(DoubleMatrix & mS, DoubleMatrix & mPpr, DoubleMatrix & mP2,
296  double & mHpm, double beta) const;
298  //and tree level mHPm. Uses EWSB substitution.
299  //Called in higgs and calcDrBarParsHiggs
300  void treeHiggs(DoubleMatrix & mS, DoubleMatrix & mPpr, DoubleMatrix & mP2,
301  double & mHpm, double beta) const;
302  //calculates DrBar Higgs masses and sets them
303  void calcDrBarHiggs(double beta, double mz2, double mw2, double sinthDRbar,
304  drBarPars & eg);
305 
307  DoubleVector beta() const;
309  NmssmSoftsusy beta2() const;
310  const DoubleVector display() const;
311 
312  void set(const DoubleVector & y);
313  void setNmssmSusy(const NmssmSusy & n) {
316  }
317  void setGUTlambda(bool i) { GUTlambda = i; }
318  void setGUTkappa(bool i) { GUTkappa = i; }
319  void setGUTmuPrime(bool i) { GUTmuPrime = i; }
320  void setGUTxiF(bool i) { GUTxiF = i; }
321  void setGUTsVev(bool i) { GUTsVev = i; }
322  void setMICROMEGAS(int i) { MICROMEGAS = i; }
323  void setNMSDECAY(int i) { NMSDECAY = i; }
324 
327  double VhAtMin(double v1, double v2, double s, double mHu2, double mHd2, double mSsq);
328 
332  virtual int rewsbMu(int sgnMu, double & mu) const;
337  virtual int rewsbSvev(int sgnMu, double & svev) const;
340  virtual int rewsbM3sq(double mu, double & m3sq) const;
342  virtual int rewsbKap(double & kap) const;
344  //new with respect to the MSSM.
345  virtual int rewsbXiS(double & xiS) const;
348  virtual int rewsbmSsq(double & mSsq) const;
350  virtual int rewsbmH1sq(double & mH1sq) const;
352  virtual int rewsbmH2sq(double & mH211sq) const;
354  virtual void rewsbTreeLevel(int sgnMu);
356  //(mu, m3sq, XiS) --> (mZ, tb, s)
359  void iterateMu(double & munew, int sgnMu, double mt,
360  int maxTries, double pizztMS, double sinthDRbar, double tol,
361  int & err);
362  //Routine for iteratively solving for the singlet vev, s = <S>.
367  void iterateSvev(double & sold, int sgnMu,
368  double mt, int maxTries, double pizzMS,
369  double sinthDRbar, double tol, int & err);
373  //Z3 = true: s --> mZ, kappa --> tan beta, mS --> s
374  //ie (kappa, mS) --> (mZ, tb)
375  //Z3 = false: mu --> mZ, m3sq --> tan beta, s --> XiS (Z3 = false)
377  void rewsb(int sgnMu, double mt, double muOld = -6.66e66, double eps = 0.);
380  virtual void physical(int accuracy);
383  virtual void addChaLoopHiggs(double p, DoubleMatrix & sigmaL, DoubleMatrix & sigmaR, DoubleMatrix & sigmaS, DoubleMatrix b1pCha, DoubleMatrix b0pCha, DoubleMatrix b1pNeut, DoubleMatrix b0pNeut) const;
385  virtual void addCharginoLoop(double p, DoubleMatrix &);
389  virtual void charginos(int accuracy, double piwwt, sPhysical & phys);
391  //IO parameters: piwwt is the W self-energy at M_SUSY,
394  virtual void neutralinos(int accuracy, double piwwt, double pizzt,
395  sPhysical & phys);
398  //corrections at order alpha_s alpha_t for Z_3 case from Degrassi and Slavich.
402  bool higgs(int accuracy, double piwwt, double pizzt, sPhysical & phys);
405  void DegrassiSlavicMix(DoubleMatrix & P) const;
407  //for p=external momentum, Q=renormalisation scale
408  virtual double piZZTHiggs(double p, double q, double thetaWDRbar) const;
410  //for p=external momentum, Q=renormalisation scale
411  virtual double piZZTNeutralinos(double p, double Q, double thetaWDRbar) const;
414  virtual double piZZT(double p, double Q, bool usePoleMt = false) const;
416  //for p=external momentum, q=renormalisation scale
417  virtual double piWWTHiggs(double p, double q, double thetaWDRbar) const;
419  //for p=external momentum, Q=renormalisation scale
420  virtual double piWWTgauginos(double p, double Q, double thetaWDRbar) const;
423  virtual double piWWT(double p, double Q, bool usePoleMt = false) const;
425  double pip1p1(double p, double q) const;
426  double pip1p2(double p, double q) const;
427  double pip2p2(double p, double q) const;
428  double pip1p3(double p, double q) const;
429  double pip2p3(double p, double q) const;
430  double pip3p3(double p, double q) const;
432  void getP1HiggsTriCoup(DoubleMatrix & spp1, DoubleMatrix & hphpp1, double cw2DRbar) const;
434  void getP2HiggsTriCoup(DoubleMatrix & spp2, DoubleMatrix & hphpp2, double cw2DRbar) const;
436  void getP3HiggsTriCoup(DoubleMatrix & spp2, DoubleMatrix & hphpp2) const;
438  void getS1HiggsTriCoup(DoubleMatrix & sss1, DoubleMatrix & pps1, DoubleMatrix & hphps1, double thetaWDRbar) const;
440  void getS2HiggsTriCoup(DoubleMatrix & sss2, DoubleMatrix & pps2, DoubleMatrix & hphps2, double thetaWDRbar) const;
442  void getS3HiggsTriCoup(DoubleMatrix & sss3, DoubleMatrix & pps3, DoubleMatrix & hphps3) const;
444  //for p=external momentum, q=renormalisation scale
445  double pis1s1Higgs(double p, double q) const;
446  double pis1s2Higgs(double p, double q) const;
447  double pis2s2Higgs(double p, double q) const;
448  double pis1s3Higgs(double p, double q) const;
449  double pis2s3Higgs(double p, double q) const;
450  double pis3s3Higgs(double p, double q) const;
452  void getS1NeutralinoCoup(ComplexMatrix & aChi, ComplexMatrix & bChi) const;
453  void getS2NeutralinoCoup(ComplexMatrix & aChi, ComplexMatrix & bChi) const;
454  void getS3NeutralinoCoup(ComplexMatrix & aChi, ComplexMatrix & bChi) const;
456  void getP1NeutralinoCoup(ComplexMatrix & aChi, ComplexMatrix & bChi) const;
457  void getP2NeutralinoCoup(ComplexMatrix & aChi, ComplexMatrix & bChi) const;
458  void getP3NeutralinoCoup(ComplexMatrix & aChi, ComplexMatrix & bChi) const;
460  //for p=external momentum, q=renormalisation scale
461  double pis1s1Neutralinos(double p, double q) const;
462  double pis1s2Neutralinos(double p, double q) const;
463  double pis2s2Neutralinos(double p, double q) const;
464  double pis1s3Neutralinos(double p, double q) const;
465  double pis2s3Neutralinos(double p, double q) const;
466  double pis3s3Neutralinos(double p, double q) const;
468  //for p=external momentum, q=renormalisation scale
469  double pis1s3Charginos(double p, double q) const;
470  double pis2s3Charginos(double p, double q) const;
471  double pis3s3Charginos(double p, double q) const;
472 
474  //for p=external momentum, q=renormalisation scale
475  double pis1s3Sfermions(double p, double q, DoubleMatrix ls1tt,
476  DoubleMatrix ls1bb, DoubleMatrix ls1tautau,
477  DoubleMatrix ls3tt, DoubleMatrix ls3bb,
478  DoubleMatrix ls3tautau) const;
479  double pis2s3Sfermions(double p, double q, DoubleMatrix ls2tt,
480  DoubleMatrix ls2bb, DoubleMatrix ls2tautau,
481  DoubleMatrix ls3tt, DoubleMatrix ls3bb,
482  DoubleMatrix ls3tautau) const;
483  double pis3s3Sfermions(double p, double q, DoubleMatrix ls3tt,
484  DoubleMatrix ls3bb, DoubleMatrix ls3tautau) const;
485 
488  double pis1s1(double p, double q) const;
489  double pis1s2(double p, double q) const;
490  double pis2s2(double p, double q) const;
491  double pis1s3(double p, double q) const;
492  double pis2s3(double p, double q) const;
493  double pis3s3(double p, double q) const;
494 
496  virtual double h1s2Mix();
497 
499  void getHp1HiggsTriCoup(DoubleMatrix & ahphp1, DoubleMatrix & hhphp1) const;
500  void getHp2HiggsTriCoup(DoubleMatrix & ahphp2, DoubleMatrix & hhphp2) const;
503  ComplexMatrix & apph2, ComplexMatrix & bpph1, ComplexMatrix & bpph2) const;
504 
506  void getGaugeHiggsHpmCoup(DoubleVector & wmhhp1, DoubleVector & wmahp1,
507  DoubleVector & gamhphp1, DoubleVector & zhphp1, DoubleVector & wmhhp2,
508  DoubleVector & wmahp2, DoubleVector & gamhphp2, DoubleVector & zhphp2) const;
509 
513  double piHpm11Higgs(double p, double q) const;
514  double piHpm12Higgs(double p, double q) const;
515  double piHpm22Higgs(double p, double q) const;
516 
520  double piHpm11Gaugino(double p, double q) const;
521  double piHpm12Gaugino(double p, double q) const;
522  double piHpm22Gaugino(double p, double q) const;
523 
526  double piHpHm(double p, double q) const;
528  virtual double calcRunMtHiggs() const;
530  virtual double calcRunMtNeutralinos() const;
532  virtual double calcRunMbHiggs() const;
534  virtual double calcRunMbNeutralinos() const;
536  virtual double calcRunMtauHiggs() const;
539  virtual double calcRunMtauNeutralinos(double mTauSMMZ) const;
540 
541  NmssmSusyRGE guessAtSusyMt(double tanb, const DoubleVector & nmpars,
542  const QedQcd & oneset);
543 
544  double predTanb(double muSusy = -6.66e66) const;
545  double predMzsq(double & tanb, double muOld = -6.66e66, double eps = 0.);
546 
557  void itLowsoft(int maxTries, int sgnMu, double tol,
558  double tanb, void (*boundaryCondition)(NmssmSoftsusy &,
559  const DoubleVector &),
560  const DoubleVector & pars, const DoubleVector nmpars,
561  bool gaugeUnification, bool ewsbBCscale);
562 
563 
564  void lowOrg(void (*boundaryCondition)
565  (NmssmSoftsusy &, const DoubleVector &),
566  double mxGuess, const DoubleVector & pars,
567  const DoubleVector nmpars, int sgnMu, double tanb,
568  const QedQcd & oneset, bool gaugeUnification,
569  bool ewsbBCscale = false);
570 
574  void printall() const;
575 
588  virtual void lesHouchesAccordOutput(ostream & out, const char model[],
589  const DoubleVector & pars,
590  int sgnMu, double tanb, double qMax,
591  int numPoints,
592  bool ewsbBCscale);
594  void headerSLHA(ostream & out);
596  void modselSLHA(ostream & out, const char model[], double qMax);
598  virtual void extparSLHA(ostream & out, const DoubleVector & pars,
599  bool ewsbBCscale);
601  virtual void higgsMSLHA(ostream & out);
603  virtual void neutralinoCharginoMSLHA(ostream & out);
605  virtual void neutralinoMixingSLHA(ostream & out);
607  void nmhmixSLHA(ostream&);
609  void nmamixSLHA(ostream&);
611  void nmssmrunSLHA(ostream&, const char* blockName = "NMSSMRUN");
613  void extranmssmtoolsSLHA(ostream&);
615  void yukawaMatricesSLHA(ostream&, const char* blockName = "");
617  void extramsoftSLHA(ostream&, const char* blockName = "");
619  void extrahmixSLHA(ostream&, const char* blockName = "");
621  void extragaugeSLHA(ostream&, const char* blockName = "GAUGE");
623  void extrasfermionmixSLHA(ostream & out);
625  virtual void drbarSLHA(ostream&, int numPoints, double qMax, int n);
627  virtual void softsusySLHA(ostream & out);
629  virtual void spinfoSLHA(ostream & out);
630  };
631 
633  : NmssmSusyPars(), SoftParsNmssm(), MssmSoftsusy(), tSOVSMs(0.0),
634  tSOVSMs1loop(0.0), GUTlambda(false), GUTkappa(false),
635  GUTmuPrime(false), GUTxiF(false), GUTsVev(false),
636  MICROMEGAS(0), NMSDECAY(0) {}
637 
640  SoftParsNmssm(s.displaySoftParsNmssm()),
642  tSOVSMs(s.tSOVSMs), tSOVSMs1loop(s.tSOVSMs1loop),
643  GUTlambda(s.GUTlambda), GUTkappa(s.GUTkappa), GUTmuPrime(s.GUTmuPrime),
644  GUTxiF(s.GUTxiF), GUTsVev(s.GUTsVev),
645  MICROMEGAS(s.MICROMEGAS), NMSDECAY(s.NMSDECAY) {
646  setPars(121);
647  }
648 
650  : NmssmSusyPars(s.displayNmssmSusy()), SoftParsNmssm(),
651  MssmSoftsusy(s.MssmSusy::displayMssmSusy()), tSOVSMs(0.0),
652  tSOVSMs1loop(0.0), GUTlambda(false), GUTkappa(false),
653  GUTmuPrime(false), GUTxiF(false), GUTsVev(false),
654  MICROMEGAS(0), NMSDECAY(0) {
655  setPars(121);
656  }
657 
659  (const NmssmSusyPars & ss, const SoftParsNmssm & s,
660  const MssmSoftsusy & sp): NmssmSusyPars(ss),
661  SoftParsNmssm(s), MssmSoftsusy(sp),
662  tSOVSMs(0.0), tSOVSMs1loop(0.0),
663  GUTlambda(false), GUTkappa(false),
664  GUTmuPrime(false), GUTxiF(false), GUTsVev(false),
665  MICROMEGAS(0), NMSDECAY(0) {
666  setPars(121);
667  }
668 
669  inline double NmssmSoftsusy::displayTadpoleSMs() const { return tSOVSMs; }
670 
671  inline double NmssmSoftsusy::displayTadpoleSMs1loop() const {
672  return tSOVSMs1loop;
673  }
674 
675 }
676 
677 #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
Two loop corrections to the bottom mass. This file has been generated at Fri 7 Apr 2017 21:00:53 with...
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:44
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)
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:129
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:46
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:237
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:64
Two-loop Higgs and potential corrections from Pietro Slavich.
Quark and lepton masses and gauge couplings in QEDxQCD effective theory.
Definition: lowe.h:55
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...
void headerSLHA(ostream &out)
Proper citation info in SLHA file.
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:57
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:43
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:669
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:44
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:632
double piHpHm(double p, double q) const
double displayTadpoleSMs1loop() const
displays t_2/v_s tadpole @1 loop
Definition: nmssmsoftsusy.h:671
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:77
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:402
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)
const double accuracy
Approximate accuracy with which 3 body decays are calculated.
Definition: threeBodyDecays.h:38
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:411
void extrasfermionmixSLHA(ostream &out)
extra DRbar smuon mixing matrix elements for NMSSMTools decays