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 <utility>
23 #include <limits>
24 #include "def.h"
25 #include "utils.h"
26 #include "numerics.h"
27 #include "physpars.h"
28 #include "lowe.h"
29 #include "nmssmsoftpars.h"
30 #include "softsusy.h"
31 #include "mssmUtils.h"
32 #include "nmssm2loop.h"
33 #include "nmssmUtils.h"
34 #include "nmssmjacobian.h"
35 #include <cassert>
36 
37 namespace softsusy {
38 
39  /* class NmssmSoftsusy; */
40  /* std::istream & operator >>(std::istream &left, NmssmSoftsusy &s);\ */
41 
43  class NmssmSoftsusy: public NmssmSusyPars, public SoftParsNmssm,
44  public MssmSoftsusy {
45  private:
46  double tSOVSMs;
47  double tSOVSMs1loop;
50  bool GUTlambda;
53  bool GUTkappa;
54  bool GUTmuPrime;
55  bool GUTxiF;
56  bool GUTxiS;
57  bool GUTsVev;
61  int MICROMEGAS;
62  int NMSDECAY;
63 
65  double drbarHiggsAccuracy;
66  double physHiggsAccuracy;
67 
69  double looplog(double mass) const;
70 
72  struct FineTuningPars {
73  NmssmSoftsusy* model;
74  int ftFunctionality;
75  DoubleVector ftPars;
76  double mzSqr;
77  void (*ftBoundaryCondition)(NmssmSoftsusy &, const DoubleVector &);
78 
79  FineTuningPars()
80  : model(0), ftFunctionality(0),
81  ftPars(3), mzSqr(0.), ftBoundaryCondition(0)
82  {}
83  };
84 
86  static double calcMzsq(double x, void* parameters);
87 
91  std::pair<double,double> it1par(int numPar, const DoubleVector & bcPars,
92  FineTuningPars & tuningPars);
93 
94  public:
95  // void (*boundaryCondition)(NmssmSoftsusy &, const DoubleVector &);
97  NmssmSoftsusy();
99  NmssmSoftsusy(const NmssmSusy &);
101  NmssmSoftsusy(const NmssmSoftsusy &);
108  NmssmSoftsusy(const NmssmSusyPars & ss, const SoftParsNmssm & s,
109  const MssmSoftsusy & sp);
112 
113  double displayTadpoleSMs() const;
114  double displayTadpoleSMs1loop() const;
115  double displaySoftAkappa() const {
117  };
118  double displaySoftAlambda() const {
120  };
121  NmssmSusy displayNmssmSusy() const {
123  }
124  MssmSoftsusy convertToMssm() const;
125  bool displayGUTlambda() const { return GUTlambda; }
126  bool displayGUTkappa() const { return GUTkappa; }
127  bool displayGUTmuPrime() const { return GUTmuPrime; }
128  bool displayGUTxiF() const { return GUTxiF; }
129  bool displayGUTxiS() const { return GUTxiS; }
130  bool displayGUTsVev() const { return GUTsVev; }
131  bool displayMICROMEGAS() const { return MICROMEGAS; }
132  bool displayNMSDECAY() const { return NMSDECAY; }
134  double displayDrBarHiggsAccuracy() const { return drbarHiggsAccuracy; }
135  double displayPhysHiggsAccuracy() const { return physHiggsAccuracy; }
136 
139  void P1SfSfCouplings(DoubleMatrix & lTP1Lr, DoubleMatrix & lBP1Lr,
140  DoubleMatrix & lTauP1Lr) const;
142  //for 3rd generation sfermions
143  void P2SfSfCouplings(DoubleMatrix & lTP2Lr, DoubleMatrix & lBP2Lr,
144  DoubleMatrix & lTauP2Lr) const;
146  //for 3rd generation sfermions
147  void P3SfSfCouplings(DoubleMatrix & lTP3Lr, DoubleMatrix & lBP3Lr,
148  DoubleMatrix & lTauP3Lr) const;
149 
151  //for 3rd generation sfermions
152  void H1SfSfCouplings(DoubleMatrix & lTS1Lr, DoubleMatrix & lBS1Lr,
153  DoubleMatrix & lTauS1Lr, double gmzOcthW,
154  double mu, double cosb, double v1) const;
156  //for 3rd generation sfermions
157  void H2SfSfCouplings(DoubleMatrix & lTS1Lr, DoubleMatrix & lBS1Lr,
158  DoubleMatrix & lTauS1Lr, double gmzOcthW,
159  double mu, double sinb) const;
161  //for 3rd generation sfermion
162  void SSfSfCouplings(DoubleMatrix & lTS3Lr, DoubleMatrix & lBS3Lr,
163  DoubleMatrix & lTauS3Lr, double lam) const;
166  DoubleMatrix lTauS3Lr, double q, double s) const;
168  void assignHiggs(DoubleVector & higgsm, DoubleVector & higgsa,
169  DoubleVector & higgsc) const;
171  //Includes goldstone bosons.
172  double doCalcTad1Higgs(double q, double costhDRbar, double g, double tanb) const;
174  //Includes goldstone bosons.
175  double doCalcTad2Higgs(double q, double costhDRbar, double g, double tanb) const;
177  //Includes goldstone bosons.
178  double doCalcTadSHiggs(double q, double tanb) const;
180  double doCalcTad1Neutralinos(double q, double costhDRbar, double g,
181  double tanb) const;
183  double doCalcTad2Neutralinos(double q, double costhDRbar,
184  double g, double sinb) const;
186  double doCalcTadSNeutralinos(double q, double lam, double kap) const;
188  double doCalcTadSCharginos(double q, double lam) const;
190  virtual double doCalcTadpole1oneLoop(double mt, double sinthDRbar) const;
192  virtual double doCalcTadpole2oneLoop(double mt, double sinthDRbar) const;
194  virtual double doCalcTadpoleSoneLoop(double mt, double sinthDRbar) const;
195 
198  virtual void calcTadpole1Ms1loop(double mt, double sinthDRbar);
201  virtual void calcTadpole2Ms1loop(double mt, double sinthDRbar);
206  virtual void calcTadpoleSMs1loop(double mt, double sinthDRbar);
210  void doTadpoles(double mt, double sinthDRbar);
212  virtual void calcDrBarPars();
213 
217  DoubleMatrix addStopHiggs(double p, double mt, DoubleMatrix & higgs);
221  virtual void addStopCorrection(double p, DoubleMatrix & mass, double mt);
225  DoubleMatrix addSupHiggs(double p1, double p2, int family,
226  DoubleMatrix & higgs);
230  virtual void addSupCorrection(DoubleMatrix & mass, int family);
234  DoubleMatrix addSbotHiggs(double p, double mt, DoubleMatrix & higgs);
238  virtual void addSbotCorrection(double p, DoubleMatrix & mass, double mt);
242  DoubleMatrix addSdownHiggs(double p1, double p2, int family,
243  DoubleMatrix & higgs);
247  virtual void addSdownCorrection(DoubleMatrix & mass, int family);
250  double addSnuTauHiggs(double p, double & higgs);
254  virtual void addSnuTauCorrection(double & mass);
258  double addSnuHiggs(double p, int family, double & higgs);
262  virtual void addSnuCorrection(double & mass, int family);
266  DoubleMatrix addStauHiggs(double p, double mtau, DoubleMatrix & higgs);
270  virtual void addStauCorrection(double p, DoubleMatrix & mass, double mtau);
274  DoubleMatrix addSlepHiggs(double p1, double p2, int family, DoubleMatrix & higgs);
278  virtual void addSlepCorrection(DoubleMatrix & mass, int family);
279  void getNeutPassarinoVeltman(double p, double q, DoubleMatrix & b0fn,
280  DoubleMatrix & b1fn);
284  void addNeutLoopHiggs(double p, DoubleMatrix & sigmaL, DoubleMatrix & sigmaR, DoubleMatrix & sigmaS);
286  virtual void addNeutralinoLoop(double p, DoubleMatrix &);
287 
293  virtual void treeUpSquark(DoubleMatrix & mass, double mtrun,
294  double pizztMS, double sinthDRbarMS,
295  int family);
296 
302  virtual void treeDownSquark(DoubleMatrix & mass, double mbrun, double pizztMS,
303  double sinthDRbarMS, int family);
309  virtual void treeChargedSlepton(DoubleMatrix & mass, double mTrun, double pizztMS,
310  double sinthDRbarMS, int family);
312  //Returns tree-level chargino mass matrix in the NMSSM
313  void treeCharginos(DoubleMatrix & mass, double beta, double mw);
314 
316  //Returns tree-level Neutralino mass matrix in the NMSSM
317  void treeNeutralinos(DoubleMatrix & mass, double beta, double mz, double mw,
318  double sinthDRbar);
321  void calcDrBarGauginos(double beta, double mw, double mz, double sinth,
322  drBarPars & eg);
324  //and tree level mHPm. Does *not* use EWSB substitution
326  double & mHpm, double beta) const;
328  //and tree level mHPm. Uses EWSB substitution.
329  //Called in higgs and calcDrBarParsHiggs
331  double & mHpm, double beta) const;
332  //calculates DrBar Higgs masses and sets them
333  void calcDrBarHiggs(double beta, double mz2, double mw2, double sinthDRbar,
334  drBarPars & eg);
335 
340  const DoubleVector display() const;
341 
342  void set(const DoubleVector & y);
343  void setNmssmSusy(const NmssmSusy & n) {
346  }
347  void setGUTlambda(bool i) { GUTlambda = i; }
348  void setGUTkappa(bool i) { GUTkappa = i; }
349  void setGUTmuPrime(bool i) { GUTmuPrime = i; }
350  void setGUTxiF(bool i) { GUTxiF = i; }
351  void setGUTxiS(bool i) { GUTxiS = i; }
352  void setGUTsVev(bool i) { GUTsVev = i; }
353  void setMICROMEGAS(int i) { MICROMEGAS = i; }
354  void setNMSDECAY(int i) { NMSDECAY = i; }
355 
358  double VhAtMin(double v1, double v2, double s, double mHu2, double mHd2, double mSsq);
359 
363  virtual int rewsbMu(int sgnMu, double & mu) const;
368  virtual int rewsbSvev(int sgnMu, double & svev) const;
371  virtual int rewsbM3sq(double mu, double & m3sq) const;
373  virtual int rewsbKap(double & kap) const;
375  //new with respect to the MSSM.
376  virtual int rewsbXiS(double & xiS) const;
379  virtual int rewsbSvevNoZ3(double & xiS) const;
382  virtual int rewsbmSsq(double & mSsq) const;
384  virtual int rewsbmH1sq(double & mH1sq) const;
386  virtual int rewsbmH2sq(double & mH211sq) const;
388  virtual void rewsbTreeLevel(int sgnMu);
390  //(mu, m3sq, XiS) --> (mZ, tb, s)
393  void iterateMu(double & munew, int sgnMu, double mt,
394  int maxTries, double pizztMS, double sinthDRbar, double tol,
395  int & err);
396  //Routine for iteratively solving for the singlet vev, s = <S>.
401  void iterateSvev(double & sold, int sgnMu,
402  double mt, int maxTries, double pizzMS,
403  double sinthDRbar, double tol, int & err);
407  //Z3 = true: s --> mZ, kappa --> tan beta, mS --> s
408  //ie (kappa, mS) --> (mZ, tb)
409  //Z3 = false: mu --> mZ, m3sq --> tan beta, s --> XiS (Z3 = false)
411  void rewsb(int sgnMu, double mt, double muOld = -6.66e66, double eps = 0.);
414  virtual void physical(int accuracy);
417  virtual void addChaLoopHiggs(double p, DoubleMatrix & sigmaL, DoubleMatrix & sigmaR, DoubleMatrix & sigmaS, DoubleMatrix b1pCha, DoubleMatrix b0pCha, DoubleMatrix b1pNeut, DoubleMatrix b0pNeut) const;
419  virtual void addCharginoLoop(double p, DoubleMatrix &);
423  virtual void charginos(int accuracy, double piwwt, sPhysical & phys);
425  //IO parameters: piwwt is the W self-energy at M_SUSY,
428  virtual void neutralinos(int accuracy, double piwwt, double pizzt,
429  sPhysical & phys);
432  //corrections at order alpha_s alpha_t for Z_3 case from Degrassi and Slavich.
436  bool higgs(int accuracy, double piwwt, double pizzt, sPhysical & phys);
441  //for p=external momentum, Q=renormalisation scale
442  virtual double piZZTHiggs(double p, double q, double thetaWDRbar) const;
444  //for p=external momentum, Q=renormalisation scale
445  virtual double piZZTNeutralinos(double p, double Q, double thetaWDRbar) const;
448  virtual double piZZT(double p, double Q, bool usePoleMt = false) const;
450  //for p=external momentum, q=renormalisation scale
451  virtual double piWWTHiggs(double p, double q, double thetaWDRbar) const;
453  //for p=external momentum, Q=renormalisation scale
454  virtual double piWWTgauginos(double p, double Q, double thetaWDRbar) const;
457  virtual double piWWT(double p, double Q, bool usePoleMt = false) const;
459  double pip1p1(double p, double q) const;
460  double pip1p2(double p, double q) const;
461  double pip2p2(double p, double q) const;
462  double pip1p3(double p, double q) const;
463  double pip2p3(double p, double q) const;
464  double pip3p3(double p, double q) const;
466  void getP1HiggsTriCoup(DoubleMatrix & spp1, DoubleMatrix & hphpp1, double cw2DRbar) const;
468  void getP2HiggsTriCoup(DoubleMatrix & spp2, DoubleMatrix & hphpp2, double cw2DRbar) const;
470  void getP3HiggsTriCoup(DoubleMatrix & spp2, DoubleMatrix & hphpp2) const;
472  void getS1HiggsTriCoup(DoubleMatrix & sss1, DoubleMatrix & pps1, DoubleMatrix & hphps1, double thetaWDRbar) const;
474  void getS2HiggsTriCoup(DoubleMatrix & sss2, DoubleMatrix & pps2, DoubleMatrix & hphps2, double thetaWDRbar) const;
476  void getS3HiggsTriCoup(DoubleMatrix & sss3, DoubleMatrix & pps3, DoubleMatrix & hphps3) const;
478  //for p=external momentum, q=renormalisation scale
479  double pis1s1Higgs(double p, double q) const;
480  double pis1s2Higgs(double p, double q) const;
481  double pis2s2Higgs(double p, double q) const;
482  double pis1s3Higgs(double p, double q) const;
483  double pis2s3Higgs(double p, double q) const;
484  double pis3s3Higgs(double p, double q) const;
486  void getS1NeutralinoCoup(ComplexMatrix & aChi, ComplexMatrix & bChi) const;
487  void getS2NeutralinoCoup(ComplexMatrix & aChi, ComplexMatrix & bChi) const;
488  void getS3NeutralinoCoup(ComplexMatrix & aChi, ComplexMatrix & bChi) const;
490  void getP1NeutralinoCoup(ComplexMatrix & aChi, ComplexMatrix & bChi) const;
491  void getP2NeutralinoCoup(ComplexMatrix & aChi, ComplexMatrix & bChi) const;
492  void getP3NeutralinoCoup(ComplexMatrix & aChi, ComplexMatrix & bChi) const;
494  //for p=external momentum, q=renormalisation scale
495  double pis1s1Neutralinos(double p, double q) const;
496  double pis1s2Neutralinos(double p, double q) const;
497  double pis2s2Neutralinos(double p, double q) const;
498  double pis1s3Neutralinos(double p, double q) const;
499  double pis2s3Neutralinos(double p, double q) const;
500  double pis3s3Neutralinos(double p, double q) const;
502  //for p=external momentum, q=renormalisation scale
503  double pis1s3Charginos(double p, double q) const;
504  double pis2s3Charginos(double p, double q) const;
505  double pis3s3Charginos(double p, double q) const;
506 
508  //for p=external momentum, q=renormalisation scale
509  double pis1s3Sfermions(double p, double q, DoubleMatrix ls1tt,
510  DoubleMatrix ls1bb, DoubleMatrix ls1tautau,
511  DoubleMatrix ls3tt, DoubleMatrix ls3bb,
512  DoubleMatrix ls3tautau) const;
513  double pis2s3Sfermions(double p, double q, DoubleMatrix ls2tt,
514  DoubleMatrix ls2bb, DoubleMatrix ls2tautau,
515  DoubleMatrix ls3tt, DoubleMatrix ls3bb,
516  DoubleMatrix ls3tautau) const;
517  double pis3s3Sfermions(double p, double q, DoubleMatrix ls3tt,
518  DoubleMatrix ls3bb, DoubleMatrix ls3tautau) const;
519 
522  double pis1s1(double p, double q) const;
523  double pis1s2(double p, double q) const;
524  double pis2s2(double p, double q) const;
525  double pis1s3(double p, double q) const;
526  double pis2s3(double p, double q) const;
527  double pis3s3(double p, double q) const;
528 
530  virtual double h1s2Mix();
531 
533  void getHp1HiggsTriCoup(DoubleMatrix & ahphp1, DoubleMatrix & hhphp1) const;
534  void getHp2HiggsTriCoup(DoubleMatrix & ahphp2, DoubleMatrix & hhphp2) const;
537  ComplexMatrix & apph2, ComplexMatrix & bpph1, ComplexMatrix & bpph2) const;
538 
541  DoubleVector & gamhphp1, DoubleVector & zhphp1, DoubleVector & wmhhp2,
542  DoubleVector & wmahp2, DoubleVector & gamhphp2, DoubleVector & zhphp2) const;
543 
547  double piHpm11Higgs(double p, double q) const;
548  double piHpm12Higgs(double p, double q) const;
549  double piHpm22Higgs(double p, double q) const;
550 
554  double piHpm11Gaugino(double p, double q) const;
555  double piHpm12Gaugino(double p, double q) const;
556  double piHpm22Gaugino(double p, double q) const;
557 
560  double piHpHm(double p, double q) const;
562  virtual double calcRunMtHiggs() const;
564  virtual double calcRunMtNeutralinos() const;
566  virtual double calcRunMbHiggs() const;
568  virtual double calcRunMbNeutralinos() const;
570  virtual double calcRunMtauHiggs() const;
573  virtual double calcRunMtauNeutralinos(double mTauSMMZ) const;
574 
575  NmssmSusyRGE guessAtSusyMt(double tanb, const DoubleVector & nmpars,
576  const QedQcd & oneset);
577 
578  double predTanb(double muSusy = -6.66e66) const;
579  double predMzsq(double & tanb, double muOld = -6.66e66, double eps = 0.);
580 
582  double ewsbCondition1TreeLevel() const;
583  double ewsbCondition2TreeLevel() const;
584  double ewsbConditionSTreeLevel() const;
588  void ewsbConditions(DoubleVector & values) const;
591  void predVevs(DoubleVector & vevs, int & err);
592 
604  const DoubleVector &),
605  const DoubleVector & bcPars, double MX,
606  bool doTop = false);
608  double calcBayesianNaturalness() const;
609 
620  void itLowsoft(int maxTries, int sgnMu, double tol,
621  double tanb, void (*boundaryCondition)(NmssmSoftsusy &,
622  const DoubleVector &),
623  const DoubleVector & pars, const DoubleVector nmpars,
624  bool gaugeUnification, bool ewsbBCscale);
625 
626 
627  void lowOrg(void (*boundaryCondition)
628  (NmssmSoftsusy &, const DoubleVector &),
629  double mxGuess, const DoubleVector & pars,
630  const DoubleVector nmpars, int sgnMu, double tanb,
631  const QedQcd & oneset, bool gaugeUnification,
632  bool ewsbBCscale = false);
633 
637  void printall() const;
639  virtual void printObj() {
640  cout << this->displayNmssmSoftsusy();
641  };
644 
657  virtual void lesHouchesAccordOutput(ostream & out, const char model[],
658  const DoubleVector & pars,
659  int sgnMu, double tanb, double qMax,
660  int numPoints,
661  bool ewsbBCscale);
663  void headerSLHA(ostream & out);
665  void modselSLHA(ostream & out, const char model[], double qMax);
667  virtual void extparSLHA(ostream & out, const DoubleVector & pars,
668  bool ewsbBCscale);
670  virtual void higgsMSLHA(ostream & out);
672  virtual void neutralinoCharginoMSLHA(ostream & out);
674  virtual void neutralinoMixingSLHA(ostream & out);
676  void nmhmixSLHA(ostream&);
678  void nmamixSLHA(ostream&);
680  void nmssmrunSLHA(ostream&, const char* blockName = "NMSSMRUN");
682  void extranmssmtoolsSLHA(ostream&);
684  void yukawaMatricesSLHA(ostream&, const char* blockName = "");
686  void extramsoftSLHA(ostream&, const char* blockName = "");
688  void extrahmixSLHA(ostream&, const char* blockName = "");
690  void extragaugeSLHA(ostream&, const char* blockName = "GAUGE");
692  void extrasfermionmixSLHA(ostream & out);
694  virtual void drbarSLHA(ostream&, int numPoints, double qMax, int n);
696  virtual void softsusySLHA(ostream & out);
698  virtual void spinfoSLHA(ostream & out);
699  };
700 
702  : NmssmSusyPars(), SoftParsNmssm(), MssmSoftsusy(), tSOVSMs(0.0),
703  tSOVSMs1loop(0.0), GUTlambda(false), GUTkappa(false),
704  GUTmuPrime(false), GUTxiF(false), GUTxiS(false), GUTsVev(false),
705  MICROMEGAS(0), NMSDECAY(0), drbarHiggsAccuracy(0.),
706  physHiggsAccuracy(0.) {}
707 
709  : NmssmSusyPars(s.displayNmssmSusyPars()),
710  SoftParsNmssm(s.displaySoftParsNmssm()),
711  MssmSoftsusy(s.displayMssmSoft()),
712 
713  tSOVSMs(s.tSOVSMs), tSOVSMs1loop(s.tSOVSMs1loop),
714  GUTlambda(s.GUTlambda), GUTkappa(s.GUTkappa), GUTmuPrime(s.GUTmuPrime),
715  GUTxiF(s.GUTxiF), GUTxiS(s.GUTxiS), GUTsVev(s.GUTsVev),
716  MICROMEGAS(s.MICROMEGAS), NMSDECAY(s.NMSDECAY),
717  drbarHiggsAccuracy(s.drbarHiggsAccuracy),
718  physHiggsAccuracy(s.physHiggsAccuracy) {
719  setPars(121);
720  }
721 
723  : NmssmSusyPars(s.displayNmssmSusy()), SoftParsNmssm(),
724  MssmSoftsusy(s.MssmSusy::displayMssmSusy()), tSOVSMs(0.0),
725  tSOVSMs1loop(0.0), GUTlambda(false), GUTkappa(false),
726  GUTmuPrime(false), GUTxiF(false), GUTxiS(false), GUTsVev(false),
727  MICROMEGAS(0), NMSDECAY(0), drbarHiggsAccuracy(0.),
728  physHiggsAccuracy(0.) {
729  setPars(121);
730  }
731 
733  (const NmssmSusyPars & ss, const SoftParsNmssm & s,
734  const MssmSoftsusy & sp): NmssmSusyPars(ss),
735  SoftParsNmssm(s), MssmSoftsusy(sp),
736  tSOVSMs(0.0), tSOVSMs1loop(0.0),
737  GUTlambda(false), GUTkappa(false),
738  GUTmuPrime(false), GUTxiF(false), GUTxiS(false), GUTsVev(false),
739  MICROMEGAS(0), NMSDECAY(0),
740  drbarHiggsAccuracy(0.),
741  physHiggsAccuracy(0.) {
742  setPars(121);
743  }
744 
745  inline double NmssmSoftsusy::displayTadpoleSMs() const { return tSOVSMs; }
746 
748  return tSOVSMs1loop;
749  }
750 
751 }
752 
753 #endif
matrix of complex double values dimensions (rows x cols)
Definition: linalg.h:608
Matrix from 1..rows, 1..cols of double values.
Definition: linalg.h:214
DoubleVector is of variable length, and contains double precision.
Definition: linalg.h:35
Contains all supersymmetric MSSM parameters, incorporating R_p MSSM.
Definition: softsusy.h:74
Contains all supersymmetric RPC-MSSM parameters.
Definition: susy.h:71
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:267
Contains all supersymmetric NMSSM parameters, incorporating R_p NMSSM.
Definition: nmssmsoftsusy.h:44
DoubleMatrix addStauHiggs(double p, double mtau, DoubleMatrix &higgs)
double addSnuHiggs(double p, int family, double &higgs)
virtual double calcRunMtauHiggs() const
PA: routine to calculate the Higgs loop contributions to running Mtau.
double calcBayesianNaturalness() const
Calculates Bayesian naturalness a la arXiv:1709.07895.
double doCalcTad2Higgs(double q, double costhDRbar, double g, double tanb) const
PA: NMSSM routine to obtain Higgs loop parts of (16 \pi^2) t2/v2.
double VhAtMin(double v1, double v2, double s, double mHu2, double mHd2, double mSsq)
virtual void drbarSLHA(ostream &, int numPoints, double qMax, int n)
outputs DRbar parameters at scale Q (default is at MSUSY)
virtual double calcRunMbHiggs() const
PA: routine to calculate the Higgs loop contributions to running Mb.
virtual void addCharginoLoop(double p, DoubleMatrix &)
Adds the loop corrections on to an input tree-level chargino mass.
virtual double piWWT(double p, double Q, bool usePoleMt=false) const
virtual void calcTadpoleSMs1loop(double mt, double sinthDRbar)
virtual double calcRunMtHiggs() const
PA: routine to calculate the Higgs loop contributions to running Mt.
virtual int rewsbKap(double &kap) const
PA:: In case of Z3 invariance EWSB outputs kappa instead.
double doCalcTadSHiggs(double q, double tanb) const
PA: NMSSM routine to obtain Higgs loop parts of (16 \pi^2) ts/s.
virtual void higgsMSLHA(ostream &out)
higgs part of mass block of SLHA
virtual void softsusySLHA(ostream &out)
SOFTSUSY comments in SLHA.
DoubleMatrix addSbotHiggs(double p, double mt, DoubleMatrix &higgs)
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:
virtual void addSnuCorrection(double &mass, int family)
virtual double piZZT(double p, double Q, bool usePoleMt=false) const
DoubleMatrix fineTune(void(*boundaryCondition)(NmssmSoftsusy &, const DoubleVector &), const DoubleVector &bcPars, double MX, bool doTop=false)
void getNeutralinoCharginoHpmCoup(ComplexMatrix &apph1, ComplexMatrix &apph2, ComplexMatrix &bpph1, ComplexMatrix &bpph2) const
LCT: Charged Higgs trilinear couplings with neutralinos/charginos.
void assignHiggs(DoubleVector &higgsm, DoubleVector &higgsa, DoubleVector &higgsc) const
PA: for loop corrections, helps adding Higgs corrections in a tidy way.
virtual double doCalcTadpole2oneLoop(double mt, double sinthDRbar) const
Does the calculation of one-loop pieces of .
virtual void extparSLHA(ostream &out, const DoubleVector &pars, bool ewsbBCscale)
EXTPAR block of SLHA.
virtual void rewsbTreeLevel(int sgnMu)
PA: Imposes EWSB at the tree level.
double pis1s1(double p, double q) const
void nmssmrunSLHA(ostream &, const char *blockName="NMSSMRUN")
NMSSMRUN block of SLHA.
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.
virtual double piWWTgauginos(double p, double Q, double thetaWDRbar) const
Calculates gaugino contr. to transverse part of W self-energy:
double displayDrBarHiggsAccuracy() const
DH: returns the achieved accuracy in Higgs mass diagonalisation.
Definition: nmssmsoftsusy.h:134
void getS1NeutralinoCoup(ComplexMatrix &aChi, ComplexMatrix &bChi) const
PA: obtains CP even Higgs-Neutralino couplings.
void doTadpoles(double mt, double sinthDRbar)
double ewsbCondition1TreeLevel() const
DH: returns the values of the tree-level EWSB conditions.
DoubleMatrix addStopHiggs(double p, double mt, DoubleMatrix &higgs)
void headerSLHA(ostream &out)
Proper citation info in SLHA file.
double piHpm11Gaugino(double p, double q) const
void calcDrBarGauginos(double beta, double mw, double mz, double sinth, drBarPars &eg)
double doCalcTadSSfermions(DoubleMatrix lTS3Lr, DoubleMatrix lBS3Lr, DoubleMatrix lTauS3Lr, double q, double s) const
PA:routine to calculate sfermiom contributions to (16 \pi^2) ts / s.
double pis1s1Higgs(double p, double q) const
PA:Calculates (16 Pi^2) times the Higgs contribution to Higgs self-energy:
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.
virtual void neutralinoMixingSLHA(ostream &out)
nmnmix block output of SLHA
virtual void addStauCorrection(double p, DoubleMatrix &mass, double mtau)
void DegrassiSlavicMix(DoubleMatrix &P) const
void getP2HiggsTriCoup(DoubleMatrix &spp2, DoubleMatrix &hphpp2, double cw2DRbar) const
PA: Obtains trilnear couplings of P2-Higgs for use in loop functions.
double doCalcTad1Higgs(double q, double costhDRbar, double g, double tanb) const
PA: NMSSM routine to obtain Higgs loop parts of (16 \pi^2) t1/v1.
virtual double piZZTHiggs(double p, double q, double thetaWDRbar) const
Calculates Higgs contribution to the transverse part of Z self-energy:
virtual void calcTadpole2Ms1loop(double mt, double sinthDRbar)
void P3SfSfCouplings(DoubleMatrix &lTP3Lr, DoubleMatrix &lBP3Lr, DoubleMatrix &lTauP3Lr) const
PA: obtains NMSSM P3-sfermion-sfermion couplings.
double addSnuTauHiggs(double p, double &higgs)
DoubleVector beta() const
Beta functions of NMSSM.
void predVevs(DoubleVector &vevs, int &err)
virtual void neutralinos(int accuracy, double piwwt, double pizzt, sPhysical &phys)
Calculates pole neutralino masses and mixing.
double displayTadpoleSMs1loop() const
displays t_2/v_s tadpole @1 loop
Definition: nmssmsoftsusy.h:747
virtual double doCalcTadpole1oneLoop(double mt, double sinthDRbar) const
Does the calculation of one-loop pieces of .
virtual void addSdownCorrection(DoubleMatrix &mass, int family)
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 int rewsbXiS(double &xiS) const
PA: third EWSB condition (for the singlet Higgs field)
virtual int rewsbM3sq(double mu, double &m3sq) const
void yukawaMatricesSLHA(ostream &, const char *blockName="")
extra DRbar Yukawa couplings for NMSSMTools decays
virtual void addChaLoopHiggs(double p, DoubleMatrix &sigmaL, DoubleMatrix &sigmaR, DoubleMatrix &sigmaS, DoubleMatrix b1pCha, DoubleMatrix b0pCha, DoubleMatrix b1pNeut, DoubleMatrix b0pNeut) const
void extrasfermionmixSLHA(ostream &out)
extra DRbar smuon mixing matrix elements for NMSSMTools decays
virtual double piZZTNeutralinos(double p, double Q, double thetaWDRbar) const
Calculates neutralino contrib. to the transverse part of Z self-energy:
virtual int rewsbmH1sq(double &mH1sq) const
PA: for non universal Higgs.
virtual void calcDrBarPars()
Organises tree-level calculation of all sparticle masses and mixings.
virtual double h1s2Mix()
PA: gets h1 mixing element with Hu.
void getS3HiggsTriCoup(DoubleMatrix &sss3, DoubleMatrix &pps3, DoubleMatrix &hphps3) const
PA: Obtains trilnear couplings of s3-higgs-higgs for use in loop functions.
double doCalcTadSCharginos(double q, double lam) const
PA: NMSSM routine to obtain Chargino loop parts of (16 \pi^2) tS/s.
virtual void neutralinoCharginoMSLHA(ostream &out)
neutralino and charigno part of mass block of SLHA
virtual double calcRunMtNeutralinos() const
PA: routine to calculate the Neutralino loop contributions to running Mt.
DoubleMatrix addSlepHiggs(double p1, double p2, int family, DoubleMatrix &higgs)
void nmamixSLHA(ostream &)
CP odd mixing matrix NMHMIX block of SLHA.
void rewsb(int sgnMu, double mt, double muOld=-6.66e66, double eps=0.)
ie (mu, m3sq, XiS) --> (mZ, tb, s)
virtual void addSlepCorrection(DoubleMatrix &mass, int family)
const NmssmSoftsusy & displayNmssmSoftsusy() const
Displays whole object as a const.
void getHp1HiggsTriCoup(DoubleMatrix &ahphp1, DoubleMatrix &hhphp1) const
LCT: Charged Higgs trilinear couplings with CP-odd and CP-even Higgs'.
void P2SfSfCouplings(DoubleMatrix &lTP2Lr, DoubleMatrix &lBP2Lr, DoubleMatrix &lTauP2Lr) const
PA: obtains NMSSM P2-sfermion-sfermion couplings.
void P1SfSfCouplings(DoubleMatrix &lTP1Lr, DoubleMatrix &lBP1Lr, DoubleMatrix &lTauP1Lr) const
const NmssmSoftsusy & operator=(const NmssmSoftsusy &s)
Set all data in the object equal to another.
void SSfSfCouplings(DoubleMatrix &lTS3Lr, DoubleMatrix &lBS3Lr, DoubleMatrix &lTauS3Lr, double lam) const
PA: obtains NMSSM S-sfermion-sfermion couplings.
virtual void lesHouchesAccordOutput(ostream &out, const char model[], const DoubleVector &pars, int sgnMu, double tanb, double qMax, int numPoints, bool ewsbBCscale)
void getP1NeutralinoCoup(ComplexMatrix &aChi, ComplexMatrix &bChi) const
PA: obtains CP odd Higgs-Neutralino couplings.
virtual void calcTadpole1Ms1loop(double mt, double sinthDRbar)
NmssmSoftsusy()
Default constructor fills object with zeroes.
Definition: nmssmsoftsusy.h:701
void nmhmixSLHA(ostream &)
CP even mixing matrix NMHMIX block of SLHA.
void ewsbConditions(DoubleVector &values) const
virtual double calcRunMtauNeutralinos(double mTauSMMZ) const
void extrahmixSLHA(ostream &, const char *blockName="")
extra DRbar Higgs mixing parameters for NMSSMTools decays
void extragaugeSLHA(ostream &, const char *blockName="GAUGE")
extra DRbar gauge couplings for NMSSMTools decays
void modselSLHA(ostream &out, const char model[], double qMax)
This does the MODSEL block of SLHA.
virtual void addStopCorrection(double p, DoubleMatrix &mass, double mt)
void H1SfSfCouplings(DoubleMatrix &lTS1Lr, DoubleMatrix &lBS1Lr, DoubleMatrix &lTauS1Lr, double gmzOcthW, double mu, double cosb, double v1) const
PA: obtains NMSSM H1-sfermion-sfermion couplings.
void getP3HiggsTriCoup(DoubleMatrix &spp2, DoubleMatrix &hphpp2) const
PA: Obtains trilnear couplings of P3-Higgs for use in loop functions.
void treeCharginos(DoubleMatrix &mass, double beta, double mw)
LCT: new routine to allocate NMSSM chargino masses,.
void iterateSvev(double &sold, int sgnMu, double mt, int maxTries, double pizzMS, double sinthDRbar, double tol, int &err)
double pis1s1Neutralinos(double p, double q) const
PA:Calculates (16 Pi^2) times Neutralino contrib. to Higgs self-energy:
virtual double calcRunMbNeutralinos() const
PA: routine to calculate the Neutralino loop contributions to running Mb.
virtual int rewsbMu(int sgnMu, double &mu) const
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 getS1HiggsTriCoup(DoubleMatrix &sss1, DoubleMatrix &pps1, DoubleMatrix &hphps1, double thetaWDRbar) const
PA: Obtains trilnear couplings of s1-higgs-higgs for use in loop functions.
virtual double piWWTHiggs(double p, double q, double thetaWDRbar) const
Calculates Higgs contribution to the transverse part of W self-energy:
const DoubleVector display() const
Return contents of object in a vector: for RG evolution.
double doCalcTadSNeutralinos(double q, double lam, double kap) const
PA: NMSSM routine to obtain Neutralino loop parts of (16 \pi^2) tS/s.
virtual void treeUpSquark(DoubleMatrix &mass, double mtrun, double pizztMS, double sinthDRbarMS, int family)
void addNeutLoopHiggs(double p, DoubleMatrix &sigmaL, DoubleMatrix &sigmaR, DoubleMatrix &sigmaS)
bool higgs(int accuracy, double piwwt, double pizzt, sPhysical &phys)
virtual int rewsbmSsq(double &mSsq) const
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)
virtual void physical(int accuracy)
virtual void treeChargedSlepton(DoubleMatrix &mass, double mTrun, double pizztMS, double sinthDRbarMS, int family)
NmssmSoftsusy(const MssmSoftsusy &)
Constructor copies an MSSM object, needed for test vs mssm.
void H2SfSfCouplings(DoubleMatrix &lTS1Lr, DoubleMatrix &lBS1Lr, DoubleMatrix &lTauS1Lr, double gmzOcthW, double mu, double sinb) const
PA: obtains NMSSM H2-sfermion-sfermion couplings.
void extranmssmtoolsSLHA(ostream &)
extra DRbar parameters block for NMSSMTools decays
virtual void addSbotCorrection(double p, DoubleMatrix &mass, double mt)
void extramsoftSLHA(ostream &, const char *blockName="")
extra DRbar soft parameters for NMSSMTools decays
double pip1p1(double p, double q) const
PA: self energy routines for pseudo scalar self energies.
virtual void charginos(int accuracy, double piwwt, sPhysical &phys)
void set(const DoubleVector &y)
virtual int rewsbmH2sq(double &mH211sq) const
PA: for non universal Higgs.
virtual void addNeutralinoLoop(double p, DoubleMatrix &)
Adds the loop corrections on to an input tree-level neutralino mass.
virtual int rewsbSvev(int sgnMu, double &svev) const
void treeNeutralinos(DoubleMatrix &mass, double beta, double mz, double mw, double sinthDRbar)
LCT: new routine for NMSSM neutralino masses,.
void getP1HiggsTriCoup(DoubleMatrix &spp1, DoubleMatrix &hphpp1, double cw2DRbar) const
PA: Obtains trilnear couplings of P1-Higgs, for use in loop functions.
virtual void addSnuTauCorrection(double &mass)
double displayTadpoleSMs() const
displays t_s/s tadpole
Definition: nmssmsoftsusy.h:745
void iterateMu(double &munew, int sgnMu, double mt, int maxTries, double pizztMS, double sinthDRbar, double tol, int &err)
PA: finds mu iteratively in the case where we use EWSB to swap.
double doCalcTad2Neutralinos(double q, double costhDRbar, double g, double sinb) const
PA: NMSSM routine to obtain Neutralino loop parts of (16 \pi^2) t2/v2.
virtual void addSupCorrection(DoubleMatrix &mass, int family)
NmssmSoftsusy beta2() const
Beta functions of NMSSM.
virtual int rewsbSvevNoZ3(double &xiS) const
virtual void printObj()
Prints whole object to standard output.
Definition: nmssmsoftsusy.h:639
virtual void spinfoSLHA(ostream &out)
This does the SPINFO block of SLHA.
virtual void treeDownSquark(DoubleMatrix &mass, double mbrun, double pizztMS, double sinthDRbarMS, int family)
double pis1s3Charginos(double p, double q) const
PA:Calculates (16 Pi^2) times Chargino contrib. to Higgs self-energy:
DoubleMatrix addSupHiggs(double p1, double p2, int family, DoubleMatrix &higgs)
virtual double doCalcTadpoleSoneLoop(double mt, double sinthDRbar) const
Does the calculation of one-loop pieces of .
double piHpHm(double p, double q) const
DoubleMatrix addSdownHiggs(double p1, double p2, int family, DoubleMatrix &higgs)
double doCalcTad1Neutralinos(double q, double costhDRbar, double g, double tanb) const
PA: NMSSM routine to obtain Neutralino loop parts of (16 \pi^2) t1/v1.
double piHpm11Higgs(double p, double q) const
Contains NMSSM-only part of RPC SUSY parameters end of NmssmSusyPars.
Definition: nmssmsusy.h:85
double displayLambda() const
returns superpotential parameter lambda
Definition: nmssmsusy.h:122
double displayKappa() const
returns superpotential parameter lambda
Definition: nmssmsusy.h:124
const NmssmSusyPars & displayNmssmSusyPars() const
returns whole object
Definition: nmssmsusy.h:130
void setNmssmSusyPars(const NmssmSusyPars &s)
sets the whole object
Definition: nmssmsusy.cpp:276
Contains all supersymmetric RPC-MSSM parameters and is an RGE end of NmssmSusyRGE.
Definition: nmssmsusy.h:254
Contains all SUSY RPC-NMSSM parameters but is not an RGE object end of NmssmSusy.
Definition: nmssmsusy.h:171
Quark and lepton masses and gauge couplings in QEDxQCD effective theory.
Definition: lowe.h:55
void setPars(int i)
Set number of parameters in RGE object.
Definition: rge.h:64
Contains only the NMSSM soft parameters, NOT the MSSM ones.
Definition: nmssmsoftpars.h:43
double displaySoftAkappa(double ka) const
Definition: nmssmsoftpars.cpp:401
double displaySoftAlambda(double lam) const
Definition: nmssmsoftpars.cpp:392
switches (options) and parameters such as default fermion masses, required accuracy etc
QedQcd object contains Standard Model quark and lepton masses. It integrates them using 3 loop qcd x ...
A few handy routines for the MSSM: SUSY breaking conditions etc.
global variable declaration
Definition: def.cpp:13
mass
used to give order of quark masses stored
Definition: lowe.h:46
DoubleVector boundaryCondition(double m0, double m12, double a0, const RpvSusyPars &r)
Definition: rpvsusypars.cpp:373
Two-loop Higgs and potential corrections from Pietro Slavich.
A few handy routines for the NMSSM: SUSY breaking conditions etc.
Provides routines for calculating Jacobian fine-tuning.
Soft SUSY breaking parameters for NMSSM.
numerical routines - differential equation solver, differentiator and function minimiser for instance
Flags for potential problems in sProblem structure, and structure for containing physical MSSM parame...
Header file for RP conserving MSSM object including all (real) soft SUSY breaking parameters and (rea...
DRbar values of masses and mixings in MSSM.
Definition: physpars.h:120
Masses of the physical particles.
Definition: physpars.h:32
const double accuracy
Approximate accuracy with which 3 body decays are calculated.
Definition: threeBodyDecays.h:38
A few handy bits and pieces - little mathematical functions and the like.