softsusy is hosted by Hepforge, IPPP Durham
SOFTSUSY  4.1
nmssmsoftpars.h
Go to the documentation of this file.
1 
12 #ifndef NMSSMSOFTPARS_H
13 #define NMSSMSOFTPARS_H
14 
15 #include <cmath>
16 #include "linalg.h"
17 #include "utils.h"
18 #include "numerics.h"
19 #include "nmssmsusy.h"
20 #include "softpars.h"
21 
22 namespace softsusy {
23 
26  const static int numSoftParsNmssm = 83 + numNMssmPars;
27 
30  class SoftParsNmssm; class NmssmSoftsusy;
32  (nmsBrevity & a, const NmssmSusyPars & n, const MssmSusy & m,
33  const MssmSoftPars & msoft, const SoftParsNmssm & nsoft, DoubleVector & dmG,
34  double & dmH1sq, double & dmH2sq, double & dm3sq, double & dmSsq,
35  double & dmSpsq, double & dxiSsq, DoubleMatrix & dmq, DoubleMatrix & dmu,
36  DoubleMatrix & dmd, DoubleMatrix & dme, DoubleMatrix dml,
37  DoubleMatrix & dhu, DoubleMatrix & dhd, DoubleMatrix & dhe, double & dhlam,
38  double & dhkap);
43  class SoftParsNmssm {
44  private:
46  double alambda, akappa;
50  double mSsq, mSpsq, xiS;
54  bool Z3;
55  public:
58  : alambda(0.0), akappa(0.0), mSsq(0.0), mSpsq(0.0), xiS(0.0), Z3(true) {};
59  SoftParsNmssm(const SoftParsNmssm & s)
60  : alambda(s.displayTrialambda()), akappa(s.displayTriakappa()),
61  mSsq(s.displayMsSquared()), mSpsq(s.displayMspSquared()),
62  xiS(s.displayXiS()), Z3(s.Z3) {};
63  SoftParsNmssm(double al, double ak, double ms, double msp, double x)
64  : alambda(al), akappa(ak), mSsq(ms), mSpsq(msp), xiS(x), Z3(true) {}
65  const SoftParsNmssm & operator=(const SoftParsNmssm & s);
66 
67 
68  const SoftParsNmssm & displaySoftParsNmssm() const { return *this; }
69  //PA: Return trilinear soft mass $a_\lambda S H_u H_d$
70  double displayTrialambda() const { return alambda; };
71  //PA: Return trillinear soft mass $a_\kappa S S S$
72  double displayTriakappa() const { return akappa; };
74  double displayMsSquared() const { return mSsq; };
76  double displayMspSquared() const { return mSpsq; };
78  double displayXiS() const { return xiS; };
81  double displaySoftAlambda(double lam) const;
84  double displaySoftAkappa(double ka) const;
86  // const DoubleVector display(const NmssmSusy & n, const MssmSoftPars & s) const;
88  void display(DoubleVector & y, int & k) const;
89  bool displayZ3() const { return Z3; }
90 
91  void setZ3(bool z) { Z3 = z; }
93  void setTrialambda(double al) { alambda = al; };
95  void setTriakappa(double ak) { akappa = ak; };
97  void setMsSquared(double f) { mSsq = f; };
99  void setMspSquared(double f) { mSpsq = f; };
101  void setXiS(double f) { xiS = f; };
102  void setSoftParsNmssm(SoftParsNmssm const & s) { *this = s; }
103  // void set(const DoubleVector &);
104  void set(const DoubleVector &, int & k);
105 
110  DoubleMatrix & gQQ, DoubleMatrix & gUU,
111  DoubleMatrix & gDD,
112  double & gH1H1, double & gH2H2, double & gSS) const;
113 
115  void addAmsb(double maux, const NmssmSusy & Nms, MssmSoftPars & m);
118  void standardSugra(double m0, double m12, double a0,
119  const NmssmSusyPars & n, const MssmSusy & m,
120  const MssmSoftPars & msoft);
123  void standardsemiSugra(double m0, double m12, double a0, double Al,
124  double Ak, const NmssmSusy & n,
125  const MssmSoftPars & m, double mS=0.0);
127  void universalScalars(double m0);
130  void semiuniversalScalars(double m0);
132  void universalTrilinears(double a0, const NmssmSusy & n);
135  void semiuniversalTrilinears(double a0, double al, double ak,
136  const NmssmSusy & n);
137 
139  void inputSoftParsOnly();
140  };
141 
142  ostream & operator <<(ostream &left, const SoftParsNmssm &s);
143 } // namespace softsusy
144 
145 #endif
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
Soft SUSY breaking parameters and beta functions.
Definition: softpars.h:31
Contains all supersymmetric RPC-MSSM parameters.
Definition: susy.h:71
Contains all supersymmetric NMSSM parameters, incorporating R_p NMSSM.
Definition: nmssmsoftsusy.h:44
Contains NMSSM-only part of RPC SUSY parameters end of NmssmSusyPars.
Definition: nmssmsusy.h:85
Contains all SUSY RPC-NMSSM parameters but is not an RGE object end of NmssmSusy.
Definition: nmssmsusy.h:171
Contains only the NMSSM soft parameters, NOT the MSSM ones.
Definition: nmssmsoftpars.h:43
void standardsemiSugra(double m0, double m12, double a0, double Al, double Ak, const NmssmSusy &n, const MssmSoftPars &m, double mS=0.0)
works for Z3 violating NMSSM.
Definition: nmssmsoftpars.cpp:611
void setXiS(double f)
PA: Sets soft breaking .
Definition: nmssmsoftpars.h:101
void setMsSquared(double f)
PA: Sets soft scalar mass .
Definition: nmssmsoftpars.h:97
void anomalousDeriv(DoubleMatrix &gEE, DoubleMatrix &gLL, DoubleMatrix &gQQ, DoubleMatrix &gUU, DoubleMatrix &gDD, double &gH1H1, double &gH2H2, double &gSS) const
void display(DoubleVector &y, int &k) const
Whole object output in a doublevector.
Definition: nmssmsoftpars.cpp:376
void semiuniversalTrilinears(double a0, double al, double ak, const NmssmSusy &n)
Definition: nmssmsoftpars.cpp:585
void setMspSquared(double f)
PA: Sets soft scalar mass .
Definition: nmssmsoftpars.h:99
SoftParsNmssm()
Default constructor fills object with zeroes.
Definition: nmssmsoftpars.h:57
double displayMspSquared() const
Return =mSpsq.
Definition: nmssmsoftpars.h:76
double displayMsSquared() const
Return =mSsq.
Definition: nmssmsoftpars.h:74
double displayXiS() const
Return xiS i.e .
Definition: nmssmsoftpars.h:78
void setTriakappa(double ak)
PA: Set trilinear SUSY breaking parameter akappa.
Definition: nmssmsoftpars.h:95
void standardSugra(double m0, double m12, double a0, const NmssmSusyPars &n, const MssmSusy &m, const MssmSoftPars &msoft)
Definition: nmssmsoftpars.cpp:592
double displaySoftAkappa(double ka) const
Definition: nmssmsoftpars.cpp:401
void addAmsb(double maux, const NmssmSusy &Nms, MssmSoftPars &m)
adds NMSSM amsb contribution to soft masses.
Definition: nmssmsoftpars.cpp:536
void universalScalars(double m0)
Sets all flavour-diagonal SUSY breaking scalar masses to m0.
Definition: nmssmsoftpars.cpp:567
const SoftParsNmssm & operator=(const SoftParsNmssm &s)
Definition: nmssmsoftpars.cpp:364
void semiuniversalScalars(double m0)
PA: for semi constrained models.
Definition: nmssmsoftpars.cpp:573
void universalTrilinears(double a0, const NmssmSusy &n)
Sets all NMSSM SUSY breaking trilinear couplings to a0.
Definition: nmssmsoftpars.cpp:578
void setTrialambda(double al)
PA: Set trilinear SUSY breaking parameter alambda.
Definition: nmssmsoftpars.h:93
void inputSoftParsOnly()
Reads in soft SUSY breaking parameters from a file.
Definition: nmssmsoftpars.cpp:637
double displaySoftAlambda(double lam) const
Definition: nmssmsoftpars.cpp:392
DoubleVector and DoubleMatrix classes of doubles and operations between them, complexified copies als...
global variable declaration
Definition: def.cpp:13
ostream & operator<<(ostream &left, const FlavourMssmSoftsusy &m)
Formatted output.
Definition: flavoursoft.cpp:217
void addBetaSoftParsNmssm(nmsBrevity &a, const NmssmSusyPars &n, const MssmSusy &m, const MssmSoftPars &msoft, const SoftParsNmssm &nsoft, DoubleVector &dmG, double &dmH1sq, double &dmH2sq, double &dm3sq, double &dmSsq, double &dmSpsq, double &dxiS, DoubleMatrix &dmq, DoubleMatrix &dmu, DoubleMatrix &dmd, DoubleMatrix &dme, DoubleMatrix dml, DoubleMatrix &dhu, DoubleMatrix &dhd, DoubleMatrix &dhe, double &dhlam, double &dhkap)
Definition: nmssmsoftpars.cpp:20
NmssmSusy NMSSM SUSY couplings and tan beta. NmssmSusy contains all NMSSM SUSY couplings and tan beta...
numerical routines - differential equation solver, differentiator and function minimiser for instance
double a0(double m, double q)
inlined PV functions: real part
Definition: numerics.h:120
Soft SUSY breaking parameters.
Contains data needed in beta function calculation to make it faster.
Definition: nmssmsusy.h:23
A few handy bits and pieces - little mathematical functions and the like.