gambit is hosted by Hepforge, IPPP Durham
GAMBIT  v1.5.0-252-gf9a3f78
a Global And Modular Bsm Inference Tool
MSSM.cpp
Go to the documentation of this file.
1 // GAMBIT: Global and Modular BSM Inference Tool
2 // *********************************************
18 
19 #ifndef __mssmcontents_hpp__
20 #define __mssmcontents_hpp__
21 
23 
24 namespace Gambit {
25 
28  {
29  setName("MSSM");
30 
31  // shape prototypes
32  std::vector<int> scalar = initVector(1); // i.e. get(Par::Tag, "name")
33  std::vector<int> v2 = initVector(2); // i.e. get(Par::Tag, "name", i)
34  std::vector<int> v3 = initVector(3); // "
35  std::vector<int> v4 = initVector(4); // "
36  std::vector<int> v6 = initVector(6); // "
37  std::vector<int> m2x2 = initVector(2,2); // i.e. get(Par::Tag, "name", i, j)
38  std::vector<int> m3x3 = initVector(3,3); // "
39  std::vector<int> m4x4 = initVector(4,4); // "
40  std::vector<int> m6x6 = initVector(6,6); // "
41 
42  // tag, name, shape
43  addParameter(Par::mass2, "BMu" , scalar);
44  addParameter(Par::mass2, "mHd2", scalar);
45  addParameter(Par::mass2, "mHu2", scalar);
46 
47  addParameter(Par::mass2, "mq2", m3x3);
48  addParameter(Par::mass2, "ml2", m3x3);
49  addParameter(Par::mass2, "md2", m3x3);
50  addParameter(Par::mass2, "mu2", m3x3);
51  addParameter(Par::mass2, "me2", m3x3);
52 
53  addParameter(Par::mass1, "M1", scalar);
54  addParameter(Par::mass1, "M2", scalar);
55  addParameter(Par::mass1, "M3", scalar);
56  addParameter(Par::mass1, "Mu", scalar);
57  addParameter(Par::mass1, "vu", scalar);
58  addParameter(Par::mass1, "vd", scalar);
59 
60  addParameter(Par::mass1, "TYd", m3x3);
61  addParameter(Par::mass1, "TYe", m3x3);
62  addParameter(Par::mass1, "TYu", m3x3);
63  addParameter(Par::mass1, "ad" , m3x3);
64  addParameter(Par::mass1, "ae" , m3x3);
65  addParameter(Par::mass1, "au" , m3x3);
66 
67  // EXTRAS! Kind of logical to always include these, without forcing users to calculate them themselves
68  addParameter(Par::dimensionless, "tanbeta", scalar);
69  //addParameter(Par::dimensionless, "tanbeta(mZ)", scalar); // i.e. the SLHA MINPAR value of tanbeta(mZ). Not yet a strict requirement, but highly recommended for wrappers to add it via override setters.
70  addParameter(Par::mass2, "mA2" , scalar);
71  //
72 
73  addParameter(Par::dimensionless, "g1", scalar);
74  addParameter(Par::dimensionless, "g2", scalar);
75  addParameter(Par::dimensionless, "g3", scalar);
76 
77  addParameter(Par::dimensionless, "sinW2", scalar);
78 
79  addParameter(Par::dimensionless, "Yd", m3x3);
80  addParameter(Par::dimensionless, "Yu", m3x3);
81  addParameter(Par::dimensionless, "Ye", m3x3);
82 
83  addParameter(Par::Pole_Mass, "~g", scalar);
84 
85  addParameter(Par::Pole_Mass, "~d", v6);
86  addParameter(Par::Pole_Mass, "~u", v6);
87  addParameter(Par::Pole_Mass, "~e-", v6);
88  addParameter(Par::Pole_Mass, "~nu", v3);
89  addParameter(Par::Pole_Mass, "~chi+", v2);
90  addParameter(Par::Pole_Mass, "~chi0", v4);
91  addParameter(Par::Pole_Mass, "h0", v2);
92  addParameter(Par::Pole_Mass, "A0", scalar);
93  addParameter(Par::Pole_Mass, "H+", scalar);
94  addParameter(Par::Pole_Mass, "W+", scalar);
95 
96  addParameter(Par::Pole_Mixing, "~d", m6x6);
97  addParameter(Par::Pole_Mixing, "~u", m6x6);
98  addParameter(Par::Pole_Mixing, "~e-", m6x6);
99  addParameter(Par::Pole_Mixing, "~nu", m3x3);
100  addParameter(Par::Pole_Mixing, "~chi0", m4x4);
101  addParameter(Par::Pole_Mixing, "~chi-", m2x2);
102  addParameter(Par::Pole_Mixing, "~chi+", m2x2);
103  addParameter(Par::Pole_Mixing, "h0", m2x2);
104  addParameter(Par::Pole_Mixing, "A0", m2x2);
105  addParameter(Par::Pole_Mixing, "H+", m2x2);
106  }
107 
108 }
109 #endif
void setName(const std::string &name)
Set the name of this Contents object (i.e. the name of the model to which this spectrum data applies)...
Register the definitions of SubSpectrum contents here.
void addParameter(const Par::Tags tag, const std::string &name, const std::vector< int > &shape=initVector(1))
Add a parameter to the Contents object.
std::vector< T > initVector(std::vector< T > vector)
MSSM()
Only have to define the constructor.
Definition: MSSM.cpp:27
TODO: see if we can use this one:
Definition: Analysis.hpp:33