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 "def.h"
24 #include "utils.h"
25 #include "numerics.h"
26 #include "physpars.h"
27 #include "lowe.h"
28 #include "nmssmsoftpars.h"
29 #include "softsusy.h"
30 #include "mssmUtils.h"
31 #include "nmssm2loop.h"
32 #include "nmssmUtils.h"
33 #include "nmssmjacobian.h"
34 #include <cassert>
35 
36 namespace softsusy {
37 
38  /* class NmssmSoftsusy; */
39  /* std::istream & operator >>(std::istream &left, NmssmSoftsusy &s);\ */
40 
42  class NmssmSoftsusy: public NmssmSusyPars, public SoftParsNmssm,
43  public MssmSoftsusy {
44  private:
45  double tSOVSMs;
46  double tSOVSMs1loop;
47  bool GUTlambda;
52  bool GUTkappa;
53  bool GUTmuPrime;
54  bool GUTxiF;
55  bool GUTsVev;
59  int MICROMEGAS;
60  int NMSDECAY;
61 
63  double drbarHiggsAccuracy;
64  double physHiggsAccuracy;
65 
67  double looplog(double mass) const;
68 
70  struct FineTuningPars {
71  NmssmSoftsusy* model;
72  int ftFunctionality;
73  DoubleVector ftPars;
74  double mzSqr;
75  void (*ftBoundaryCondition)(NmssmSoftsusy &, const DoubleVector &);
76 
77  FineTuningPars()
78  : model(0), ftFunctionality(0),
79  ftPars(3), mzSqr(0.), ftBoundaryCondition(0)
80  {}
81  };
82 
84  static double calcMzsq(double x, void* parameters);
85 
89  std::pair<double,double> it1par(int numPar, const DoubleVector & bcPars,
90  FineTuningPars & tuningPars);
91 
92  public:
93  // void (*boundaryCondition)(NmssmSoftsusy &, const DoubleVector &);
95  NmssmSoftsusy();
97  NmssmSoftsusy(const NmssmSusy &);
101  NmssmSoftsusy(const MssmSoftsusy &);
106  NmssmSoftsusy(const NmssmSusyPars & ss, const SoftParsNmssm & s,
107  const MssmSoftsusy & sp);
109  const NmssmSoftsusy & operator=(const NmssmSoftsusy & s);
110 
111  double displayTadpoleSMs() const;
112  double displayTadpoleSMs1loop() const;
113  double displaySoftAkappa() const {
115  };
116  double displaySoftAlambda() const {
118  };
119  NmssmSusy displayNmssmSusy() const {
121  }
122  MssmSoftsusy convertToMssm() const;
123  bool displayGUTlambda() const { return GUTlambda; }
124  bool displayGUTkappa() const { return GUTkappa; }
125  bool displayGUTmuPrime() const { return GUTmuPrime; }
126  bool displayGUTxiF() const { return GUTxiF; }
127  bool displayGUTsVev() const { return GUTsVev; }
128  bool displayMICROMEGAS() const { return MICROMEGAS; }
129  bool displayNMSDECAY() const { return NMSDECAY; }
131  double displayDrBarHiggsAccuracy() const { return drbarHiggsAccuracy; }
132  double displayPhysHiggsAccuracy() const { return physHiggsAccuracy; }
133 
136  void P1SfSfCouplings(DoubleMatrix & lTP1Lr, DoubleMatrix & lBP1Lr,
137  DoubleMatrix & lTauP1Lr) const;
139  //for 3rd generation sfermions
140  void P2SfSfCouplings(DoubleMatrix & lTP2Lr, DoubleMatrix & lBP2Lr,
141  DoubleMatrix & lTauP2Lr) const;
143  //for 3rd generation sfermions
144  void P3SfSfCouplings(DoubleMatrix & lTP3Lr, DoubleMatrix & lBP3Lr,
145  DoubleMatrix & lTauP3Lr) const;
146 
148  //for 3rd generation sfermions
149  void H1SfSfCouplings(DoubleMatrix & lTS1Lr, DoubleMatrix & lBS1Lr,
150  DoubleMatrix & lTauS1Lr, double gmzOcthW,
151  double mu, double cosb, double v1) const;
153  //for 3rd generation sfermions
154  void H2SfSfCouplings(DoubleMatrix & lTS1Lr, DoubleMatrix & lBS1Lr,
155  DoubleMatrix & lTauS1Lr, double gmzOcthW,
156  double mu, double sinb) const;
158  //for 3rd generation sfermion
159  void SSfSfCouplings(DoubleMatrix & lTS3Lr, DoubleMatrix & lBS3Lr,
160  DoubleMatrix & lTauS3Lr, double lam) const;
162  double doCalcTadSSfermions(DoubleMatrix lTS3Lr, DoubleMatrix lBS3Lr,
163  DoubleMatrix lTauS3Lr, double q, double s) const;
165  void assignHiggs(DoubleVector & higgsm, DoubleVector & higgsa,
166  DoubleVector & higgsc) const;
168  //Includes goldstone bosons.
169  double doCalcTad1Higgs(double q, double costhDRbar, double g, double tanb) const;
171  //Includes goldstone bosons.
172  double doCalcTad2Higgs(double q, double costhDRbar, double g, double tanb) const;
174  //Includes goldstone bosons.
175  double doCalcTadSHiggs(double q, double tanb) const;
177  double doCalcTad1Neutralinos(double q, double costhDRbar, double g,
178  double tanb) const;
180  double doCalcTad2Neutralinos(double q, double costhDRbar,
181  double g, double sinb) const;
183  double doCalcTadSNeutralinos(double q, double lam, double kap) const;
185  double doCalcTadSCharginos(double q, double lam) const;
187  virtual double doCalcTadpole1oneLoop(double mt, double sinthDRbar) const;
189  virtual double doCalcTadpole2oneLoop(double mt, double sinthDRbar) const;
191  virtual double doCalcTadpoleSoneLoop(double mt, double sinthDRbar) const;
192 
195  virtual void calcTadpole1Ms1loop(double mt, double sinthDRbar);
198  virtual void calcTadpole2Ms1loop(double mt, double sinthDRbar);
203  virtual void calcTadpoleSMs1loop(double mt, double sinthDRbar);
207  void doTadpoles(double mt, double sinthDRbar);
209  virtual void calcDrBarPars();
210 
214  DoubleMatrix addStopHiggs(double p, double mt, DoubleMatrix & higgs);
218  virtual void addStopCorrection(double p, DoubleMatrix & mass, double mt);
222  DoubleMatrix addSupHiggs(double p1, double p2, int family,
223  DoubleMatrix & higgs);
227  virtual void addSupCorrection(DoubleMatrix & mass, int family);
231  DoubleMatrix addSbotHiggs(double p, double mt, DoubleMatrix & higgs);
235  virtual void addSbotCorrection(double p, DoubleMatrix & mass, double mt);
239  DoubleMatrix addSdownHiggs(double p1, double p2, int family,
240  DoubleMatrix & higgs);
244  virtual void addSdownCorrection(DoubleMatrix & mass, int family);
247  double addSnuTauHiggs(double p, double & higgs);
251  virtual void addSnuTauCorrection(double & mass);
255  double addSnuHiggs(double p, int family, double & higgs);
259  virtual void addSnuCorrection(double & mass, int family);
263  DoubleMatrix addStauHiggs(double p, double mtau, DoubleMatrix & higgs);
267  virtual void addStauCorrection(double p, DoubleMatrix & mass, double mtau);
271  DoubleMatrix addSlepHiggs(double p1, double p2, int family, DoubleMatrix & higgs);
275  virtual void addSlepCorrection(DoubleMatrix & mass, int family);
276  void getNeutPassarinoVeltman(double p, double q, DoubleMatrix & b0fn,
277  DoubleMatrix & b1fn);
281  void addNeutLoopHiggs(double p, DoubleMatrix & sigmaL, DoubleMatrix & sigmaR, DoubleMatrix & sigmaS);
283  virtual void addNeutralinoLoop(double p, DoubleMatrix &);
284 
290  virtual void treeUpSquark(DoubleMatrix & mass, double mtrun,
291  double pizztMS, double sinthDRbarMS,
292  int family);
293 
299  virtual void treeDownSquark(DoubleMatrix & mass, double mbrun, double pizztMS,
300  double sinthDRbarMS, int family);
306  virtual void treeChargedSlepton(DoubleMatrix & mass, double mTrun, double pizztMS,
307  double sinthDRbarMS, int family);
309  //Returns tree-level chargino mass matrix in the NMSSM
310  void treeCharginos(DoubleMatrix & mass, double beta, double mw);
311 
313  //Returns tree-level Neutralino mass matrix in the NMSSM
314  void treeNeutralinos(DoubleMatrix & mass, double beta, double mz, double mw,
315  double sinthDRbar);
318  void calcDrBarGauginos(double beta, double mw, double mz, double sinth,
319  drBarPars & eg);
321  //and tree level mHPm. Does *not* use EWSB substitution
322  void treeHiggsAlt(DoubleMatrix & mS, DoubleMatrix & mPpr, DoubleMatrix & mP2,
323  double & mHpm, double beta) const;
325  //and tree level mHPm. Uses EWSB substitution.
326  //Called in higgs and calcDrBarParsHiggs
327  void treeHiggs(DoubleMatrix & mS, DoubleMatrix & mPpr, DoubleMatrix & mP2,
328  double & mHpm, double beta) const;
329  //calculates DrBar Higgs masses and sets them
330  void calcDrBarHiggs(double beta, double mz2, double mw2, double sinthDRbar,
331  drBarPars & eg);
332 
334  DoubleVector beta() const;
336  NmssmSoftsusy beta2() const;
337  const DoubleVector display() const;
338 
339  void set(const DoubleVector & y);
340  void setNmssmSusy(const NmssmSusy & n) {
343  }
344  void setGUTlambda(bool i) { GUTlambda = i; }
345  void setGUTkappa(bool i) { GUTkappa = i; }
346  void setGUTmuPrime(bool i) { GUTmuPrime = i; }
347  void setGUTxiF(bool i) { GUTxiF = i; }
348  void setGUTsVev(bool i) { GUTsVev = i; }
349  void setMICROMEGAS(int i) { MICROMEGAS = i; }
350  void setNMSDECAY(int i) { NMSDECAY = i; }
351 
354  double VhAtMin(double v1, double v2, double s, double mHu2, double mHd2, double mSsq);
355 
359  virtual int rewsbMu(int sgnMu, double & mu) const;
364  virtual int rewsbSvev(int sgnMu, double & svev) const;
367  virtual int rewsbM3sq(double mu, double & m3sq) const;
369  virtual int rewsbKap(double & kap) const;
371  //new with respect to the MSSM.
372  virtual int rewsbXiS(double & xiS) const;
375  virtual int rewsbmSsq(double & mSsq) const;
377  virtual int rewsbmH1sq(double & mH1sq) const;
379  virtual int rewsbmH2sq(double & mH211sq) const;
381  virtual void rewsbTreeLevel(int sgnMu);
383  //(mu, m3sq, XiS) --> (mZ, tb, s)
386  void iterateMu(double & munew, int sgnMu, double mt,
387  int maxTries, double pizztMS, double sinthDRbar, double tol,
388  int & err);
389  //Routine for iteratively solving for the singlet vev, s = <S>.
394  void iterateSvev(double & sold, int sgnMu,
395  double mt, int maxTries, double pizzMS,
396  double sinthDRbar, double tol, int & err);
400  //Z3 = true: s --> mZ, kappa --> tan beta, mS --> s
401  //ie (kappa, mS) --> (mZ, tb)
402  //Z3 = false: mu --> mZ, m3sq --> tan beta, s --> XiS (Z3 = false)
404  void rewsb(int sgnMu, double mt, double muOld = -6.66e66, double eps = 0.);
407  virtual void physical(int accuracy);
410  virtual void addChaLoopHiggs(double p, DoubleMatrix & sigmaL, DoubleMatrix & sigmaR, DoubleMatrix & sigmaS, DoubleMatrix b1pCha, DoubleMatrix b0pCha, DoubleMatrix b1pNeut, DoubleMatrix b0pNeut) const;
412  virtual void addCharginoLoop(double p, DoubleMatrix &);
416  virtual void charginos(int accuracy, double piwwt, sPhysical & phys);
418  //IO parameters: piwwt is the W self-energy at M_SUSY,
421  virtual void neutralinos(int accuracy, double piwwt, double pizzt,
422  sPhysical & phys);
425  //corrections at order alpha_s alpha_t for Z_3 case from Degrassi and Slavich.
429  bool higgs(int accuracy, double piwwt, double pizzt, sPhysical & phys);
432  void DegrassiSlavicMix(DoubleMatrix & P) const;
434  //for p=external momentum, Q=renormalisation scale
435  virtual double piZZTHiggs(double p, double q, double thetaWDRbar) const;
437  //for p=external momentum, Q=renormalisation scale
438  virtual double piZZTNeutralinos(double p, double Q, double thetaWDRbar) const;
441  virtual double piZZT(double p, double Q, bool usePoleMt = false) const;
443  //for p=external momentum, q=renormalisation scale
444  virtual double piWWTHiggs(double p, double q, double thetaWDRbar) const;
446  //for p=external momentum, Q=renormalisation scale
447  virtual double piWWTgauginos(double p, double Q, double thetaWDRbar) const;
450  virtual double piWWT(double p, double Q, bool usePoleMt = false) const;
452  double pip1p1(double p, double q) const;
453  double pip1p2(double p, double q) const;
454  double pip2p2(double p, double q) const;
455  double pip1p3(double p, double q) const;
456  double pip2p3(double p, double q) const;
457  double pip3p3(double p, double q) const;
459  void getP1HiggsTriCoup(DoubleMatrix & spp1, DoubleMatrix & hphpp1, double cw2DRbar) const;
461  void getP2HiggsTriCoup(DoubleMatrix & spp2, DoubleMatrix & hphpp2, double cw2DRbar) const;
463  void getP3HiggsTriCoup(DoubleMatrix & spp2, DoubleMatrix & hphpp2) const;
465  void getS1HiggsTriCoup(DoubleMatrix & sss1, DoubleMatrix & pps1, DoubleMatrix & hphps1, double thetaWDRbar) const;
467  void getS2HiggsTriCoup(DoubleMatrix & sss2, DoubleMatrix & pps2, DoubleMatrix & hphps2, double thetaWDRbar) const;
469  void getS3HiggsTriCoup(DoubleMatrix & sss3, DoubleMatrix & pps3, DoubleMatrix & hphps3) const;
471  //for p=external momentum, q=renormalisation scale
472  double pis1s1Higgs(double p, double q) const;
473  double pis1s2Higgs(double p, double q) const;
474  double pis2s2Higgs(double p, double q) const;
475  double pis1s3Higgs(double p, double q) const;
476  double pis2s3Higgs(double p, double q) const;
477  double pis3s3Higgs(double p, double q) const;
479  void getS1NeutralinoCoup(ComplexMatrix & aChi, ComplexMatrix & bChi) const;
480  void getS2NeutralinoCoup(ComplexMatrix & aChi, ComplexMatrix & bChi) const;
481  void getS3NeutralinoCoup(ComplexMatrix & aChi, ComplexMatrix & bChi) const;
483  void getP1NeutralinoCoup(ComplexMatrix & aChi, ComplexMatrix & bChi) const;
484  void getP2NeutralinoCoup(ComplexMatrix & aChi, ComplexMatrix & bChi) const;
485  void getP3NeutralinoCoup(ComplexMatrix & aChi, ComplexMatrix & bChi) const;
487  //for p=external momentum, q=renormalisation scale
488  double pis1s1Neutralinos(double p, double q) const;
489  double pis1s2Neutralinos(double p, double q) const;
490  double pis2s2Neutralinos(double p, double q) const;
491  double pis1s3Neutralinos(double p, double q) const;
492  double pis2s3Neutralinos(double p, double q) const;
493  double pis3s3Neutralinos(double p, double q) const;
495  //for p=external momentum, q=renormalisation scale
496  double pis1s3Charginos(double p, double q) const;
497  double pis2s3Charginos(double p, double q) const;
498  double pis3s3Charginos(double p, double q) const;
499 
501  //for p=external momentum, q=renormalisation scale
502  double pis1s3Sfermions(double p, double q, DoubleMatrix ls1tt,
503  DoubleMatrix ls1bb, DoubleMatrix ls1tautau,
504  DoubleMatrix ls3tt, DoubleMatrix ls3bb,
505  DoubleMatrix ls3tautau) const;
506  double pis2s3Sfermions(double p, double q, DoubleMatrix ls2tt,
507  DoubleMatrix ls2bb, DoubleMatrix ls2tautau,
508  DoubleMatrix ls3tt, DoubleMatrix ls3bb,
509  DoubleMatrix ls3tautau) const;
510  double pis3s3Sfermions(double p, double q, DoubleMatrix ls3tt,
511  DoubleMatrix ls3bb, DoubleMatrix ls3tautau) const;
512 
515  double pis1s1(double p, double q) const;
516  double pis1s2(double p, double q) const;
517  double pis2s2(double p, double q) const;
518  double pis1s3(double p, double q) const;
519  double pis2s3(double p, double q) const;
520  double pis3s3(double p, double q) const;
521 
523  virtual double h1s2Mix();
524 
526  void getHp1HiggsTriCoup(DoubleMatrix & ahphp1, DoubleMatrix & hhphp1) const;
527  void getHp2HiggsTriCoup(DoubleMatrix & ahphp2, DoubleMatrix & hhphp2) const;
530  ComplexMatrix & apph2, ComplexMatrix & bpph1, ComplexMatrix & bpph2) const;
531 
533  void getGaugeHiggsHpmCoup(DoubleVector & wmhhp1, DoubleVector & wmahp1,
534  DoubleVector & gamhphp1, DoubleVector & zhphp1, DoubleVector & wmhhp2,
535  DoubleVector & wmahp2, DoubleVector & gamhphp2, DoubleVector & zhphp2) const;
536 
540  double piHpm11Higgs(double p, double q) const;
541  double piHpm12Higgs(double p, double q) const;
542  double piHpm22Higgs(double p, double q) const;
543 
547  double piHpm11Gaugino(double p, double q) const;
548  double piHpm12Gaugino(double p, double q) const;
549  double piHpm22Gaugino(double p, double q) const;
550 
553  double piHpHm(double p, double q) const;
555  virtual double calcRunMtHiggs() const;
557  virtual double calcRunMtNeutralinos() const;
559  virtual double calcRunMbHiggs() const;
561  virtual double calcRunMbNeutralinos() const;
563  virtual double calcRunMtauHiggs() const;
566  virtual double calcRunMtauNeutralinos(double mTauSMMZ) const;
567 
568  NmssmSusyRGE guessAtSusyMt(double tanb, const DoubleVector & nmpars,
569  const QedQcd & oneset);
570 
571  double predTanb(double muSusy = -6.66e66) const;
572  double predMzsq(double & tanb, double muOld = -6.66e66, double eps = 0.);
573 
575  double ewsbCondition1TreeLevel() const;
576  double ewsbCondition2TreeLevel() const;
577  double ewsbConditionSTreeLevel() const;
581  void ewsbConditions(DoubleVector & values) const;
584  void predVevs(DoubleVector & vevs, int & err);
585 
597  const DoubleVector &),
598  const DoubleVector & bcPars, double MX,
599  bool doTop = false);
601  double calcBayesianNaturalness() const;
602 
613  void itLowsoft(int maxTries, int sgnMu, double tol,
614  double tanb, void (*boundaryCondition)(NmssmSoftsusy &,
615  const DoubleVector &),
616  const DoubleVector & pars, const DoubleVector nmpars,
617  bool gaugeUnification, bool ewsbBCscale);
618 
619 
620  void lowOrg(void (*boundaryCondition)
621  (NmssmSoftsusy &, const DoubleVector &),
622  double mxGuess, const DoubleVector & pars,
623  const DoubleVector nmpars, int sgnMu, double tanb,
624  const QedQcd & oneset, bool gaugeUnification,
625  bool ewsbBCscale = false);
626 
630  void printall() const;
631 
644  virtual void lesHouchesAccordOutput(ostream & out, const char model[],
645  const DoubleVector & pars,
646  int sgnMu, double tanb, double qMax,
647  int numPoints,
648  bool ewsbBCscale);
650  void headerSLHA(ostream & out);
652  void modselSLHA(ostream & out, const char model[], double qMax);
654  virtual void extparSLHA(ostream & out, const DoubleVector & pars,
655  bool ewsbBCscale);
657  virtual void higgsMSLHA(ostream & out);
659  virtual void neutralinoCharginoMSLHA(ostream & out);
661  virtual void neutralinoMixingSLHA(ostream & out);
663  void nmhmixSLHA(ostream&);
665  void nmamixSLHA(ostream&);
667  void nmssmrunSLHA(ostream&, const char* blockName = "NMSSMRUN");
669  void extranmssmtoolsSLHA(ostream&);
671  void yukawaMatricesSLHA(ostream&, const char* blockName = "");
673  void extramsoftSLHA(ostream&, const char* blockName = "");
675  void extrahmixSLHA(ostream&, const char* blockName = "");
677  void extragaugeSLHA(ostream&, const char* blockName = "GAUGE");
679  void extrasfermionmixSLHA(ostream & out);
681  virtual void drbarSLHA(ostream&, int numPoints, double qMax, int n);
683  virtual void softsusySLHA(ostream & out);
685  virtual void spinfoSLHA(ostream & out);
686  };
687 
689  : NmssmSusyPars(), SoftParsNmssm(), MssmSoftsusy(), tSOVSMs(0.0),
690  tSOVSMs1loop(0.0), GUTlambda(false), GUTkappa(false),
691  GUTmuPrime(false), GUTxiF(false), GUTsVev(false),
692  MICROMEGAS(0), NMSDECAY(0), drbarHiggsAccuracy(0.),
693  physHiggsAccuracy(0.) {}
694 
697  SoftParsNmssm(s.displaySoftParsNmssm()),
699 
700  tSOVSMs(s.tSOVSMs), tSOVSMs1loop(s.tSOVSMs1loop),
701  GUTlambda(s.GUTlambda), GUTkappa(s.GUTkappa), GUTmuPrime(s.GUTmuPrime),
702  GUTxiF(s.GUTxiF), GUTsVev(s.GUTsVev),
703  MICROMEGAS(s.MICROMEGAS), NMSDECAY(s.NMSDECAY),
704  drbarHiggsAccuracy(s.drbarHiggsAccuracy),
705  physHiggsAccuracy(s.physHiggsAccuracy) {
706  setPars(121);
707  }
708 
710  : NmssmSusyPars(s.displayNmssmSusy()), SoftParsNmssm(),
711  MssmSoftsusy(s.MssmSusy::displayMssmSusy()), tSOVSMs(0.0),
712  tSOVSMs1loop(0.0), GUTlambda(false), GUTkappa(false),
713  GUTmuPrime(false), GUTxiF(false), GUTsVev(false),
714  MICROMEGAS(0), NMSDECAY(0), drbarHiggsAccuracy(0.),
715  physHiggsAccuracy(0.) {
716  setPars(121);
717  }
718 
720  (const NmssmSusyPars & ss, const SoftParsNmssm & s,
721  const MssmSoftsusy & sp): NmssmSusyPars(ss),
722  SoftParsNmssm(s), MssmSoftsusy(sp),
723  tSOVSMs(0.0), tSOVSMs1loop(0.0),
724  GUTlambda(false), GUTkappa(false),
725  GUTmuPrime(false), GUTxiF(false), GUTsVev(false),
726  MICROMEGAS(0), NMSDECAY(0),
727  drbarHiggsAccuracy(0.),
728  physHiggsAccuracy(0.) {
729  setPars(121);
730  }
731 
732  inline double NmssmSoftsusy::displayTadpoleSMs() const { return tSOVSMs; }
733 
735  return tSOVSMs1loop;
736  }
737 
738 }
739 
740 #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...
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:120
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:42
DoubleMatrix fineTune(void(*boundaryCondition)(NmssmSoftsusy &, const DoubleVector &), const DoubleVector &bcPars, double MX, bool doTop=false)
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)
double calcBayesianNaturalness() const
Calculates Bayesian naturalness a la arXiv:1709.07895.
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:158
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:267
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:71
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:608
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
double displayDrBarHiggsAccuracy() const
DH: returns the achieved accuracy in Higgs mass diagonalisation.
Definition: nmssmsoftsusy.h:131
Matrix from 1..rows, 1..cols of double values.
Definition: linalg.h:214
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:732
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:67
virtual void lesHouchesAccordOutput(ostream &out, const char model[], const DoubleVector &pars, int sgnMu, double tanb, double qMax, int numPoints, bool ewsbBCscale)
void ewsbConditions(DoubleVector &values) const
NmssmSoftsusy()
Default constructor fills object with zeroes.
Definition: nmssmsoftsusy.h:688
double piHpHm(double p, double q) const
double displayTadpoleSMs1loop() const
displays t_2/v_s tadpole @1 loop
Definition: nmssmsoftsusy.h:734
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
double ewsbCondition1TreeLevel() const
DH: returns the values of the tree-level EWSB conditions.
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:72
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
Provides routines for calculating Jacobian fine-tuning.
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
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 predVevs(DoubleVector &vevs, int &err)
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