gambit is hosted by Hepforge, IPPP Durham
GAMBIT  v1.5.0-252-gf9a3f78
a Global And Modular Bsm Inference Tool
Gambit::MSSMea Class Reference

Skeleton "model" class which interacts with an SLHAea object Some common functions defined in base class. More...

#include <MSSMSimpleSpec.hpp>

Inheritance diagram for Gambit::MSSMea:
Collaboration diagram for Gambit::MSSMea:

Public Member Functions

 MSSMea ()
 Constructors. More...
 
 MSSMea (const SLHAstruct &input)
 Constructor via SLHAea object. More...
 
double get_Mu () const
 Getters for MSSM information. More...
 
double get_v () const
 
double get_mA2 () const
 
double get_BMu () const
 
double get_vd () const
 
double get_vu () const
 
double get_tanbeta () const
 
double get_tanbeta_mZ () const
 
double get_MassB () const
 
double get_MassWB () const
 
double get_MassG () const
 
double get_mHd2 () const
 
double get_mHu2 () const
 
double get_mq2 (int i, int j) const
 
double get_ml2 (int i, int j) const
 
double get_md2 (int i, int j) const
 
double get_mu2 (int i, int j) const
 
double get_me2 (int i, int j) const
 
double get_TYd (int i, int j) const
 
double get_TYu (int i, int j) const
 
double get_TYe (int i, int j) const
 
double get_ad (int i, int j) const
 
double get_au (int i, int j) const
 
double get_ae (int i, int j) const
 
double get_Yd (int i, int j) const
 
double get_Yu (int i, int j) const
 
double get_Ye (int i, int j) const
 
double get_g1 () const
 
double get_g2 () const
 
double get_g3 () const
 
double get_sinthW2_DRbar () const
 
double get_MGlu_pole () const
 
double get_Mhh_pole_slha (int i) const
 
double get_MAh_pole () const
 
double get_MHpm_pole () const
 
double get_MW_pole () const
 
double get_MCha_pole_slha (int i) const
 
double get_MSd_pole_slha (int i) const
 
double get_MSu_pole_slha (int i) const
 
double get_MSe_pole_slha (int i) const
 
double get_MSv_pole_slha (int i) const
 
double get_MChi_pole_slha (int i) const
 
double get_ZD_pole_slha (int i, int j) const
 
double get_ZU_pole_slha (int i, int j) const
 
double get_ZV_pole_slha (int i, int j) const
 
double get_ZE_pole_slha (int i, int j) const
 
double get_ZH_pole_slha (int i, int j) const
 
double get_ZA_pole_slha (int i, int j) const
 
double get_ZP_pole_slha (int i, int j) const
 
double get_ZN_pole_slha (int i, int j) const
 
double get_UM_pole_slha (int i, int j) const
 
double get_UP_pole_slha (int i, int j) const
 
- Public Member Functions inherited from Gambit::SLHAeaModel
 SLHAeaModel ()
 Constructors. More...
 
 SLHAeaModel (const SLHAea::Coll &input)
 Constructor via SLHAea object. More...
 
int slha_version () const
 Get the SLHA version of the internal SLHAea object. More...
 
const SLHAea::Coll & get_slhaea () const
 Get the internal SLHAea object. More...
 
const std::map< int, int > & PDG_translator () const
 PDG code translation map, for special cases where an SLHA file has been read in and the PDG codes changed. More...
 
double getdata (const std::string &block, int index) const
 Helper functions to do error checking for SLHAea object contents. More...
 
double getdata (const std::string &block, int i, int j) const
 Two indices. More...
 

Additional Inherited Members

- Protected Attributes inherited from Gambit::SLHAeaModel
SLHAea::Coll data
 SLHAea object. More...
 
int wrapped_slha_version
 SLHA version of SLHAea object. More...
 
std::map< int, intPDG_translation_map
 PDG translation map (e.g. from SLHA1 to SLHA2 for MSSMskeleton) More...
 

Detailed Description

Skeleton "model" class which interacts with an SLHAea object Some common functions defined in base class.

Definition at line 33 of file MSSMSimpleSpec.hpp.

Constructor & Destructor Documentation

◆ MSSMea() [1/2]

Gambit::MSSMea::MSSMea ( )

Constructors.

Member functions for SLHAeaModel class.

Default Constructor

Definition at line 41 of file MSSMSimpleSpec.cpp.

42  : SLHAeaModel()
43  {}
SLHAeaModel()
Constructors.

◆ MSSMea() [2/2]

Gambit::MSSMea::MSSMea ( const SLHAstruct input)

Constructor via SLHAea object.

TODO: Currently assumes all blocks at same scale. Should check if this is true.

Definition at line 46 of file MSSMSimpleSpec.cpp.

References Gambit::SLHAeaModel::data, Gambit::EOM, Gambit::SLHAeaModel::getdata(), LOCAL_INFO, Gambit::logger(), M, Gambit::orderer(), Gambit::SLHAeaModel::PDG_translation_map, Gambit::SLHAea_add(), Gambit::SLHAea_add_block(), Gambit::SLHAea_block_exists(), Gambit::SLHAea_check_block(), Gambit::LogTags::utils, Gambit::utils_error(), and Gambit::SLHAeaModel::wrapped_slha_version.

47  : SLHAeaModel(input)
48  {
49  std::map<int, int>& slha1to2 = PDG_translation_map;
50  str blocks[4] = {"DSQMIX", "USQMIX", "SELMIX", "SNUMIX"};
51  str gen3mix[3] = {"SBOTMIX", "STOPMIX", "STAUMIX"};
53 
54  // Work out if this SLHAea object is SLHA1 or SLHA2
55  if (data.find(blocks[0]) == data.end() or
56  data.find(blocks[1]) == data.end() or
57  data.find(blocks[2]) == data.end() or
58  data.find(blocks[3]) == data.end() )
59  {
60  if (data.find(gen3mix[0]) == data.end() or
61  data.find(gen3mix[1]) == data.end() or
62  data.find(gen3mix[2]) == data.end() )
63  {
64  utils_error().raise(LOCAL_INFO, "Input SLHA data appears to be neither SLHA1 nor SLHA2.");
65  }
66  logger() << "Input SLHA for setting up simple spectrum is SLHA1. You old dog." << EOM;
67 
68  // Get scale, needed for specifying SLHA2 blocks
71  double scale = 0.0;
72  try
73  {
74  scale = SLHAea::to<double>(data.at("GAUGE").find_block_def()->at(3));
75  }
76  catch (const std::out_of_range& e)
77  {
78  std::ostringstream errmsg;
79  errmsg << "Could not find block \"GAUGE\" in SLHAea object (required to retrieve scale Q). Received out_of_range error with message: " << e.what();
80  utils_error().raise(LOCAL_INFO,errmsg.str());
81  }
82 
83  //Looks like it is SLHA1, so convert it to SLHA2.
84  int lengths[4] = {6, 6, 6, 3};
85  str names[4] = {"~d_", "~u_", "~l_", "~nu_"};
86  std::vector<int> pdg[4];
87  std::vector< std::pair<int, double> > masses[4];
88  pdg[0] = initVector<int>(1000001, 1000003, 1000005, 2000001, 2000003, 2000005); // d-type squarks
89  pdg[1] = initVector<int>(1000002, 1000004, 1000006, 2000002, 2000004, 2000006); // u-type squarks
90  pdg[2] = initVector<int>(1000011, 1000013, 1000015, 2000011, 2000013, 2000015); // sleptons
91  pdg[3] = initVector<int>(1000012, 1000014, 1000016); // sneutrinos
92  for (int j = 0; j < 4; j++)
93  {
94  // Get the masses
95  for (int i = 0; i < lengths[j]; i++) masses[j].push_back(std::pair<int, double>(pdg[j][i], getdata("MASS",pdg[j][i])));
96 
97  // Sort them
98  std::sort(masses[j].begin(), masses[j].end(), orderer);
99 
100  // Rewrite them in correct order, and populate the pdg-pdg maps
101  for (int i = 0; i < lengths[j]; i++)
102  {
103  //data["MASS"][pdg[j][i]][1] = boost::lexical_cast<str>(masses[j][i].second);
104  //data["MASS"][pdg[j][i]][2] = "# "+names[j]+boost::lexical_cast<str>(i+1);
105  str masspdg = boost::lexical_cast<str>(masses[j][i].second);
106  str comment = "# "+names[j]+boost::lexical_cast<str>(i+1);
107  SLHAea_add(data, "MASS", pdg[j][i], masspdg, comment, true);
108  slha1to2[masses[j][i].first] = pdg[j][i];
109  }
110 
111  // Write the mixing block. i is the SLHA2 index, k is the SLHA1 index.
112  //data[blocks[j]][""] << "BLOCK" << blocks[j];
113  SLHAea_check_block(data, blocks[j]);
114  for (int i = 0; i < lengths[j]; i++) for (int k = 0; k < lengths[j]; k++)
115  {
116  double datum;
117  if (lengths[j] == 3 or (k != 2 and k != 5)) // first or second generation (or neutrinos)
118  {
119  datum = (slha1to2.at(pdg[j][k]) == pdg[j][i]) ? 1.0 : 0.0;
120  }
121  else // third generation => need to use the 2x2 SLHA1 mixing matrices.
122  {
123  double family_index = 0;
124  if (k == 2)
125  {
126  if (slha1to2.at(pdg[j][k]) == pdg[j][i]) family_index = 1;
127  else if (slha1to2.at(pdg[j][5]) == pdg[j][i]) family_index = 2;
128  }
129  else if (k == 5)
130  {
131  if (slha1to2.at(pdg[j][k]) == pdg[j][i]) family_index = 2;
132  else if (slha1to2.at(pdg[j][2]) == pdg[j][i]) family_index = 1;
133  }
134  if (family_index > 0)
135  {
136  datum = getdata(gen3mix[j], family_index, (k+1)/3);
137  }
138  else datum = 0.0;
139  }
140  //data[blocks[j]][""] << i+1 << k+1 << datum << "# "+blocks[j]+boost::lexical_cast<str>(i*10+k+11);
141  SLHAea_add(data, blocks[j], i+1, k+1, datum, "# "+blocks[j]+boost::lexical_cast<str>(i*10+k+11), true);
142  }
143 
144  }
145  // Now deal with MSOFT --> SLHA2 soft mass matrix blocks
146  // (inverse of retrieval code in add_MSSM_spectrum_to_SLHAea)
147  sspair M[5] = {sspair("MSL2","ml2"), sspair("MSE2","me2"), sspair("MSQ2","mq2"), sspair("MSU2","mu2"), sspair("MSD2","md2")};
148  for (int k=0;k<5;k++)
149  {
150  std::string block(M[k].first);
151  if(not SLHAea_block_exists(data, block)) SLHAea_add_block(data, block, scale); //TODO: maybe just always delete and replace
152  for(int i=1;i<4;i++) for(int j=1;j<4;j++)
153  {
154  std::ostringstream comment;
155  comment << block << "(" << i << "," << j << ")";
156  double entry;
157  if(i==j)
158  {
159  entry = getdata("MSOFT",30+3*k+i+(k>1?4:0)); // black magic to get correct index in MSOFT matching diagonal elements
160  }
161  else
162  {
163  // Everything off-diagonal is zero in SLHA1
164  entry = 0;
165  }
166  //data[block][""] << i << j << entry*entry << "# "+comment.str();
167  SLHAea_add(data, block, i, j, entry*entry, "# "+comment.str(), true);
168  }
169  }
170 
171  // Yukawa and trilinear blocks. YU, YD and YE, plus [YU, YD and YE; SLHA1 only], or [TU, TD and TE; SLHA2 only].
172  sspair A[3] = {sspair("AU","Au"), sspair("AD","Ad"), sspair("AE","Ae")};
173  sspair Y[3] = {sspair("YU","Yu"), sspair("YD","Yd"), sspair("YE","Ye")};
174  sspair T[3] = {sspair("TU","TYu"), sspair("TD","TYd"), sspair("TE","TYe")};
175  for (int k=0;k<3;k++)
176  {
177  SLHAea_check_block(data, A[k].first);
178  SLHAea_check_block(data, Y[k].first);
179  SLHAea_check_block(data, T[k].first); // TODO: should delete superceded slha1 "A" blocks?
180  for(int i=1;i<4;i++)
181  {
182  for(int j=1;j<4;j++)
183  {
184  std::ostringstream comment;
185  comment << "(" << i << "," << j << ")";
186  // SLHA1 has only diagonal elements in Y and A. We should fill them out fully.
187  // Assume missing diagonal elements are also zero.
188  double Yentry;
189  double Aentry;
190  if(i==j)
191  {
192  if(SLHAea_check_block(data,Y[k].first,i,j))
193  {
194  Yentry = getdata(Y[k].first,i,j);
195  }
196  else
197  {
198  Yentry = 0;
199  }
200 
201  if(SLHAea_check_block(data,A[k].first,i,j))
202  {
203  Aentry = getdata(A[k].first,i,j);
204  }
205  else
206  {
207  Aentry = 0;
208  }
209  }
210  else
211  {
212  Yentry = 0;
213  Aentry = 0;
214  }
215 
216  double Tentry = Aentry * Yentry;
217  SLHAea_add(data, Y[k].first, i, j, Yentry, "# "+Y[k].first+"_"+comment.str(), true);
218  SLHAea_add(data, A[k].first, i, j, Aentry, "# "+A[k].first+"_"+comment.str(), true);
219  SLHAea_add(data, T[k].first, i, j, Tentry, "# "+T[k].first+"_"+comment.str(), true);
220  }
221  }
222  }
223 
224 
225  }
226 
227  else logger() << "Input SLHA data for setting up simple spectrum is SLHA2. *living in the future*" << EOM;
228  // In the end, we should always have converted to SLHA2 by now, so set this as the internally-tracked version.
230  }
SLHAea::Coll data
SLHAea object.
EXPORT_SYMBOLS error & utils_error()
Utility errors.
void SLHAea_add_block(SLHAstruct &, const str &name, const double scale=-1)
Add a new block to an SLHAea object, with our without a scale.
SLHAeaModel()
Constructors.
#define LOCAL_INFO
Definition: local_info.hpp:34
void SLHAea_add(SLHAstruct &slha, const str &block, const int index, const double value, const str &comment="", const bool overwrite=false)
Add an entry to an SLHAea object (if overwrite=false, only if it doesn&#39;t already exist) ...
std::pair< str, str > sspair
Shorthand for a pair of standard strings.
Definition: util_types.hpp:64
double getdata(const std::string &block, int index) const
Helper functions to do error checking for SLHAea object contents.
bool SLHAea_block_exists(SLHAstruct &slha, const str &block)
Check if a block exists in an SLHAea object.
const Logging::endofmessage EOM
Explicit const instance of the end of message struct in Gambit namespace.
Definition: logger.hpp:99
Logging::LogMaster & logger()
Function to retrieve a reference to the Gambit global log object.
Definition: logger.cpp:95
std::string str
Shorthand for a standard string.
Definition: Analysis.hpp:35
START_MODEL M
int wrapped_slha_version
SLHA version of SLHAea object.
bool orderer(std::pair< int, double > a, std::pair< int, double > b)
Helper function for sorting int, double pairs according to the double.
std::map< int, int > PDG_translation_map
PDG translation map (e.g. from SLHA1 to SLHA2 for MSSMskeleton)
bool SLHAea_check_block(SLHAstruct &slha, const str &block)
Check if a block exists in an SLHAea object, add it if not.
Here is the call graph for this function:

Member Function Documentation

◆ get_ad()

double Gambit::MSSMea::get_ad ( int  i,
int  j 
) const

Definition at line 280 of file MSSMSimpleSpec.cpp.

References Gambit::SLHAeaModel::getdata().

280 { return getdata("Ad",i,j); }
double getdata(const std::string &block, int index) const
Helper functions to do error checking for SLHAea object contents.
Here is the call graph for this function:

◆ get_ae()

double Gambit::MSSMea::get_ae ( int  i,
int  j 
) const

Definition at line 282 of file MSSMSimpleSpec.cpp.

References Gambit::SLHAeaModel::getdata().

282 { return getdata("Ae",i,j); }
double getdata(const std::string &block, int index) const
Helper functions to do error checking for SLHAea object contents.
Here is the call graph for this function:

◆ get_au()

double Gambit::MSSMea::get_au ( int  i,
int  j 
) const

Definition at line 281 of file MSSMSimpleSpec.cpp.

References Gambit::SLHAeaModel::getdata().

281 { return getdata("Au",i,j); }
double getdata(const std::string &block, int index) const
Helper functions to do error checking for SLHAea object contents.
Here is the call graph for this function:

◆ get_BMu()

double Gambit::MSSMea::get_BMu ( ) const

Definition at line 244 of file MSSMSimpleSpec.cpp.

References get_mA2(), and get_tanbeta().

245  {
246  double tb = get_tanbeta();
247  double cb = cos(atan(tb));
248  double sb = sin(atan(tb));
249  return get_mA2() * (sb * cb);
250  }
double get_mA2() const
double get_tanbeta() const
Here is the call graph for this function:

◆ get_g1()

double Gambit::MSSMea::get_g1 ( ) const

Definition at line 288 of file MSSMSimpleSpec.cpp.

References Gambit::SLHAeaModel::getdata().

Referenced by get_sinthW2_DRbar().

288 { return getdata("GAUGE",1)/sqrt(3./5.); } // Convert from gy (in SLHAea object) to g1
double getdata(const std::string &block, int index) const
Helper functions to do error checking for SLHAea object contents.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_g2()

double Gambit::MSSMea::get_g2 ( ) const

Definition at line 289 of file MSSMSimpleSpec.cpp.

References Gambit::SLHAeaModel::getdata().

Referenced by get_sinthW2_DRbar().

289 { return getdata("GAUGE",2); }
double getdata(const std::string &block, int index) const
Helper functions to do error checking for SLHAea object contents.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_g3()

double Gambit::MSSMea::get_g3 ( ) const

Definition at line 290 of file MSSMSimpleSpec.cpp.

References Gambit::SLHAeaModel::getdata().

290 { return getdata("GAUGE",3); }
double getdata(const std::string &block, int index) const
Helper functions to do error checking for SLHAea object contents.
Here is the call graph for this function:

◆ get_mA2()

double Gambit::MSSMea::get_mA2 ( ) const

Definition at line 237 of file MSSMSimpleSpec.cpp.

References Gambit::SLHAeaModel::getdata().

Referenced by get_BMu().

237 { return getdata("HMIX",4); } // m^2_A=[m3^2/cosBsinB](Q) DRbar, tree
double getdata(const std::string &block, int index) const
Helper functions to do error checking for SLHAea object contents.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_MAh_pole()

double Gambit::MSSMea::get_MAh_pole ( ) const

Definition at line 305 of file MSSMSimpleSpec.cpp.

References Gambit::SLHAeaModel::getdata().

305 { return getdata("MASS",36); }
double getdata(const std::string &block, int index) const
Helper functions to do error checking for SLHAea object contents.
Here is the call graph for this function:

◆ get_MassB()

double Gambit::MSSMea::get_MassB ( ) const

Definition at line 264 of file MSSMSimpleSpec.cpp.

References Gambit::SLHAeaModel::getdata().

264 { return getdata("MSOFT",1); }
double getdata(const std::string &block, int index) const
Helper functions to do error checking for SLHAea object contents.
Here is the call graph for this function:

◆ get_MassG()

double Gambit::MSSMea::get_MassG ( ) const

Definition at line 266 of file MSSMSimpleSpec.cpp.

References Gambit::SLHAeaModel::getdata().

266 { return getdata("MSOFT",3); }
double getdata(const std::string &block, int index) const
Helper functions to do error checking for SLHAea object contents.
Here is the call graph for this function:

◆ get_MassWB()

double Gambit::MSSMea::get_MassWB ( ) const

Definition at line 265 of file MSSMSimpleSpec.cpp.

References Gambit::SLHAeaModel::getdata().

265 { return getdata("MSOFT",2); }
double getdata(const std::string &block, int index) const
Helper functions to do error checking for SLHAea object contents.
Here is the call graph for this function:

◆ get_MCha_pole_slha()

double Gambit::MSSMea::get_MCha_pole_slha ( int  i) const

Definition at line 309 of file MSSMSimpleSpec.cpp.

References Gambit::SLHAeaModel::getdata(), LOCAL_INFO, and Gambit::utils_error().

310  {
311  if (i==1){ return getdata("MASS",1000024); } // Chargino(1)
312  else if (i==2){ return getdata("MASS",1000037); } // Chargino(2)
313  else { utils_error().raise(LOCAL_INFO,"Invalid index input to get_MCha_pole_slha! Please check index range limits in wrapper SubSpectrum class!"); return -1; } // Should not return.
314  }
EXPORT_SYMBOLS error & utils_error()
Utility errors.
#define LOCAL_INFO
Definition: local_info.hpp:34
double getdata(const std::string &block, int index) const
Helper functions to do error checking for SLHAea object contents.
Here is the call graph for this function:

◆ get_MChi_pole_slha()

double Gambit::MSSMea::get_MChi_pole_slha ( int  i) const

Definition at line 354 of file MSSMSimpleSpec.cpp.

References Gambit::SLHAeaModel::getdata(), LOCAL_INFO, and Gambit::utils_error().

355  {
356  if (i==1){ return getdata("MASS",1000022); } // Neutralino(1)
357  else if (i==2){ return getdata("MASS",1000023); } // Neutralino(2)
358  else if (i==3){ return getdata("MASS",1000025); } // Neutralino(3)
359  else if (i==4){ return getdata("MASS",1000035); } // Neutralino(4)
360  else { utils_error().raise(LOCAL_INFO,"Invalid index input to get_MChi_pole_slha! Please check index range limits in wrapper SubSpectrum class!"); return -1; } // Should not return.
361  }
EXPORT_SYMBOLS error & utils_error()
Utility errors.
#define LOCAL_INFO
Definition: local_info.hpp:34
double getdata(const std::string &block, int index) const
Helper functions to do error checking for SLHAea object contents.
Here is the call graph for this function:

◆ get_md2()

double Gambit::MSSMea::get_md2 ( int  i,
int  j 
) const

Definition at line 272 of file MSSMSimpleSpec.cpp.

References Gambit::SLHAeaModel::getdata().

272 { return getdata("MSD2",i,j); }
double getdata(const std::string &block, int index) const
Helper functions to do error checking for SLHAea object contents.
Here is the call graph for this function:

◆ get_me2()

double Gambit::MSSMea::get_me2 ( int  i,
int  j 
) const

Definition at line 274 of file MSSMSimpleSpec.cpp.

References Gambit::SLHAeaModel::getdata().

274 { return getdata("MSE2",i,j); }
double getdata(const std::string &block, int index) const
Helper functions to do error checking for SLHAea object contents.
Here is the call graph for this function:

◆ get_MGlu_pole()

double Gambit::MSSMea::get_MGlu_pole ( ) const

Definition at line 297 of file MSSMSimpleSpec.cpp.

References Gambit::SLHAeaModel::getdata().

297 { return getdata("MASS",1000021); }
double getdata(const std::string &block, int index) const
Helper functions to do error checking for SLHAea object contents.
Here is the call graph for this function:

◆ get_mHd2()

double Gambit::MSSMea::get_mHd2 ( ) const

Definition at line 267 of file MSSMSimpleSpec.cpp.

References Gambit::SLHAeaModel::getdata().

267 { return getdata("MSOFT",21); }
double getdata(const std::string &block, int index) const
Helper functions to do error checking for SLHAea object contents.
Here is the call graph for this function:

◆ get_Mhh_pole_slha()

double Gambit::MSSMea::get_Mhh_pole_slha ( int  i) const

Definition at line 299 of file MSSMSimpleSpec.cpp.

References Gambit::SLHAeaModel::getdata(), LOCAL_INFO, and Gambit::utils_error().

300  {
301  if (i==1){ return getdata("MASS",25); } // Neutral Higgs(1)
302  else if (i==2){ return getdata("MASS",35); } // Neutral Higgs(2)
303  else { utils_error().raise(LOCAL_INFO,"Invalid index input to get_Mhh_pole_slha! Please check index range limits in wrapper SubSpectrum class!"); return -1; } // Should not return.
304  }
EXPORT_SYMBOLS error & utils_error()
Utility errors.
#define LOCAL_INFO
Definition: local_info.hpp:34
double getdata(const std::string &block, int index) const
Helper functions to do error checking for SLHAea object contents.
Here is the call graph for this function:

◆ get_MHpm_pole()

double Gambit::MSSMea::get_MHpm_pole ( ) const

Definition at line 306 of file MSSMSimpleSpec.cpp.

References Gambit::SLHAeaModel::getdata().

306 { return getdata("MASS",37); }
double getdata(const std::string &block, int index) const
Helper functions to do error checking for SLHAea object contents.
Here is the call graph for this function:

◆ get_mHu2()

double Gambit::MSSMea::get_mHu2 ( ) const

Definition at line 268 of file MSSMSimpleSpec.cpp.

References Gambit::SLHAeaModel::getdata().

268 { return getdata("MSOFT",22); }
double getdata(const std::string &block, int index) const
Helper functions to do error checking for SLHAea object contents.
Here is the call graph for this function:

◆ get_ml2()

double Gambit::MSSMea::get_ml2 ( int  i,
int  j 
) const

Definition at line 271 of file MSSMSimpleSpec.cpp.

References Gambit::SLHAeaModel::getdata().

271 { return getdata("MSL2",i,j); }
double getdata(const std::string &block, int index) const
Helper functions to do error checking for SLHAea object contents.
Here is the call graph for this function:

◆ get_mq2()

double Gambit::MSSMea::get_mq2 ( int  i,
int  j 
) const

Definition at line 270 of file MSSMSimpleSpec.cpp.

References Gambit::SLHAeaModel::getdata().

270 { return getdata("MSQ2",i,j); }
double getdata(const std::string &block, int index) const
Helper functions to do error checking for SLHAea object contents.
Here is the call graph for this function:

◆ get_MSd_pole_slha()

double Gambit::MSSMea::get_MSd_pole_slha ( int  i) const

Definition at line 315 of file MSSMSimpleSpec.cpp.

References Gambit::SLHAeaModel::getdata(), LOCAL_INFO, and Gambit::utils_error().

316  {
317  static std::map<int,int> match;
318 
319  if (i==1){ return getdata("MASS",1000001); } // d-type squark(1)
320  else if (i==2){ return getdata("MASS",1000003); } // d-type squark(2)
321  else if (i==3){ return getdata("MASS",1000005); } // d-type squark(3)
322  else if (i==4){ return getdata("MASS",2000001); } // d-type squark(4)
323  else if (i==5){ return getdata("MASS",2000003); } // d-type squark(5)
324  else if (i==6){ return getdata("MASS",2000005); } // d-type squark(6)
325  else { utils_error().raise(LOCAL_INFO,"Invalid index input to get_MSd_pole_slha! Please check index range limits in wrapper SubSpectrum class!"); return -1; } // Should not return.
326  }
EXPORT_SYMBOLS error & utils_error()
Utility errors.
#define LOCAL_INFO
Definition: local_info.hpp:34
double getdata(const std::string &block, int index) const
Helper functions to do error checking for SLHAea object contents.
Here is the call graph for this function:

◆ get_MSe_pole_slha()

double Gambit::MSSMea::get_MSe_pole_slha ( int  i) const

Definition at line 337 of file MSSMSimpleSpec.cpp.

References Gambit::SLHAeaModel::getdata(), LOCAL_INFO, and Gambit::utils_error().

338  {
339  if (i==1){ return getdata("MASS",1000011); } // charged slepton(1)
340  else if (i==2){ return getdata("MASS",1000013); } // charged slepton(2)
341  else if (i==3){ return getdata("MASS",1000015); } // charged slepton(3)
342  else if (i==4){ return getdata("MASS",2000011); } // charged slepton(4)
343  else if (i==5){ return getdata("MASS",2000013); } // charged slepton(5)
344  else if (i==6){ return getdata("MASS",2000015); } // charged slepton(6)
345  else { utils_error().raise(LOCAL_INFO,"Invalid index input to get_MSd_pole_slha! Please check index range limits in wrapper SubSpectrum class!"); return -1; } // Should not return.
346  }
EXPORT_SYMBOLS error & utils_error()
Utility errors.
#define LOCAL_INFO
Definition: local_info.hpp:34
double getdata(const std::string &block, int index) const
Helper functions to do error checking for SLHAea object contents.
Here is the call graph for this function:

◆ get_MSu_pole_slha()

double Gambit::MSSMea::get_MSu_pole_slha ( int  i) const

Definition at line 327 of file MSSMSimpleSpec.cpp.

References Gambit::SLHAeaModel::getdata(), LOCAL_INFO, and Gambit::utils_error().

328  {
329  if (i==1){ return getdata("MASS",1000002); } // u-type squark(1)
330  else if (i==2){ return getdata("MASS",1000004); } // u-type squark(2)
331  else if (i==3){ return getdata("MASS",1000006); } // u-type squark(3)
332  else if (i==4){ return getdata("MASS",2000002); } // u-type squark(4)
333  else if (i==5){ return getdata("MASS",2000004); } // u-type squark(5)
334  else if (i==6){ return getdata("MASS",2000006); } // u-type squark(6)
335  else { utils_error().raise(LOCAL_INFO,"Invalid index input to get_MSd_pole_slha! Please check index range limits in wrapper SubSpectrum class!"); return -1; } // Should not return.
336  }
EXPORT_SYMBOLS error & utils_error()
Utility errors.
#define LOCAL_INFO
Definition: local_info.hpp:34
double getdata(const std::string &block, int index) const
Helper functions to do error checking for SLHAea object contents.
Here is the call graph for this function:

◆ get_MSv_pole_slha()

double Gambit::MSSMea::get_MSv_pole_slha ( int  i) const

Definition at line 347 of file MSSMSimpleSpec.cpp.

References Gambit::SLHAeaModel::getdata(), LOCAL_INFO, and Gambit::utils_error().

348  {
349  if (i==1){ return getdata("MASS",1000012); } // Sneutrino(1)
350  else if (i==2){ return getdata("MASS",1000014); } // Sneutrino(2)
351  else if (i==3){ return getdata("MASS",1000016); } // Sneutrino(3)
352  else { utils_error().raise(LOCAL_INFO,"Invalid index input to get_MSd_pole_slha! Please check index range limits in wrapper SubSpectrum class!"); return -1; } // Should not return.
353  }
EXPORT_SYMBOLS error & utils_error()
Utility errors.
#define LOCAL_INFO
Definition: local_info.hpp:34
double getdata(const std::string &block, int index) const
Helper functions to do error checking for SLHAea object contents.
Here is the call graph for this function:

◆ get_Mu()

double Gambit::MSSMea::get_Mu ( ) const

Getters for MSSM information.

Definition at line 233 of file MSSMSimpleSpec.cpp.

References Gambit::SLHAeaModel::getdata().

233 { return getdata("HMIX",1); } // mu(Q) DRbar
double getdata(const std::string &block, int index) const
Helper functions to do error checking for SLHAea object contents.
Here is the call graph for this function:

◆ get_mu2()

double Gambit::MSSMea::get_mu2 ( int  i,
int  j 
) const

Definition at line 273 of file MSSMSimpleSpec.cpp.

References Gambit::SLHAeaModel::getdata().

273 { return getdata("MSU2",i,j); }
double getdata(const std::string &block, int index) const
Helper functions to do error checking for SLHAea object contents.
Here is the call graph for this function:

◆ get_MW_pole()

double Gambit::MSSMea::get_MW_pole ( ) const

Definition at line 307 of file MSSMSimpleSpec.cpp.

References Gambit::SLHAeaModel::getdata().

307 { return getdata("MASS",24); } // REQUIRED output of MSSM-compatible subspectrum
double getdata(const std::string &block, int index) const
Helper functions to do error checking for SLHAea object contents.
Here is the call graph for this function:

◆ get_sinthW2_DRbar()

double Gambit::MSSMea::get_sinthW2_DRbar ( ) const

Definition at line 291 of file MSSMSimpleSpec.cpp.

References get_g1(), get_g2(), and Gambit::Utils::sqr().

292  {
293  double sg1 = 0.6 * Utils::sqr(get_g1());
294  return sg1 / (sg1 + Utils::sqr(get_g2()));
295  }
double get_g1() const
EXPORT_SYMBOLS double sqr(double a)
returns square of double - saves tedious repetition
double get_g2() const
Here is the call graph for this function:

◆ get_tanbeta()

double Gambit::MSSMea::get_tanbeta ( ) const

Definition at line 234 of file MSSMSimpleSpec.cpp.

References Gambit::SLHAeaModel::getdata().

Referenced by get_BMu(), get_vd(), and get_vu().

234 { return getdata("HMIX",2); } // tan beta(Q) DRbar ( = vu/vd)
double getdata(const std::string &block, int index) const
Helper functions to do error checking for SLHAea object contents.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_tanbeta_mZ()

double Gambit::MSSMea::get_tanbeta_mZ ( ) const

Definition at line 235 of file MSSMSimpleSpec.cpp.

References Gambit::SLHAeaModel::getdata().

235 { return getdata("MINPAR",3); } // tan beta(mZ) DRbar
double getdata(const std::string &block, int index) const
Helper functions to do error checking for SLHAea object contents.
Here is the call graph for this function:

◆ get_TYd()

double Gambit::MSSMea::get_TYd ( int  i,
int  j 
) const

Definition at line 276 of file MSSMSimpleSpec.cpp.

References Gambit::SLHAeaModel::getdata().

276 { return getdata("Td",i,j); }
double getdata(const std::string &block, int index) const
Helper functions to do error checking for SLHAea object contents.
Here is the call graph for this function:

◆ get_TYe()

double Gambit::MSSMea::get_TYe ( int  i,
int  j 
) const

Definition at line 278 of file MSSMSimpleSpec.cpp.

References Gambit::SLHAeaModel::getdata().

278 { return getdata("Te",i,j); }
double getdata(const std::string &block, int index) const
Helper functions to do error checking for SLHAea object contents.
Here is the call graph for this function:

◆ get_TYu()

double Gambit::MSSMea::get_TYu ( int  i,
int  j 
) const

Definition at line 277 of file MSSMSimpleSpec.cpp.

References Gambit::SLHAeaModel::getdata().

277 { return getdata("Tu",i,j); }
double getdata(const std::string &block, int index) const
Helper functions to do error checking for SLHAea object contents.
Here is the call graph for this function:

◆ get_UM_pole_slha()

double Gambit::MSSMea::get_UM_pole_slha ( int  i,
int  j 
) const

Definition at line 376 of file MSSMSimpleSpec.cpp.

References Gambit::SLHAeaModel::getdata().

376 { return getdata("UMIX",i,j); }
double getdata(const std::string &block, int index) const
Helper functions to do error checking for SLHAea object contents.
Here is the call graph for this function:

◆ get_UP_pole_slha()

double Gambit::MSSMea::get_UP_pole_slha ( int  i,
int  j 
) const

Definition at line 377 of file MSSMSimpleSpec.cpp.

References Gambit::SLHAeaModel::getdata().

377 { return getdata("VMIX",i,j); }
double getdata(const std::string &block, int index) const
Helper functions to do error checking for SLHAea object contents.
Here is the call graph for this function:

◆ get_v()

double Gambit::MSSMea::get_v ( ) const

Definition at line 236 of file MSSMSimpleSpec.cpp.

References Gambit::SLHAeaModel::getdata().

Referenced by get_vd(), and get_vu().

236 { return getdata("HMIX",3); } // v = sqrt(vd^2 + vu^2) DRbar
double getdata(const std::string &block, int index) const
Helper functions to do error checking for SLHAea object contents.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_vd()

double Gambit::MSSMea::get_vd ( ) const

Definition at line 251 of file MSSMSimpleSpec.cpp.

References get_tanbeta(), and get_v().

252  {
253  double v = get_v();
254  double tb = get_tanbeta();
255  return sqrt(abs( v*v / ( tb*tb + 1 ) ));
256  }
double get_tanbeta() const
double get_v() const
Here is the call graph for this function:

◆ get_vu()

double Gambit::MSSMea::get_vu ( ) const

Definition at line 257 of file MSSMSimpleSpec.cpp.

References get_tanbeta(), and get_v().

258  {
259  double v = get_v();
260  double itb = 1./get_tanbeta();
261  return sqrt(abs( v*v / ( itb*itb + 1 ) ));
262  }
double get_tanbeta() const
double get_v() const
Here is the call graph for this function:

◆ get_Yd()

double Gambit::MSSMea::get_Yd ( int  i,
int  j 
) const

Definition at line 284 of file MSSMSimpleSpec.cpp.

References Gambit::SLHAeaModel::getdata().

284 { return getdata("Yd",i,j); }
double getdata(const std::string &block, int index) const
Helper functions to do error checking for SLHAea object contents.
Here is the call graph for this function:

◆ get_Ye()

double Gambit::MSSMea::get_Ye ( int  i,
int  j 
) const

Definition at line 286 of file MSSMSimpleSpec.cpp.

References Gambit::SLHAeaModel::getdata().

286 { return getdata("Ye",i,j); }
double getdata(const std::string &block, int index) const
Helper functions to do error checking for SLHAea object contents.
Here is the call graph for this function:

◆ get_Yu()

double Gambit::MSSMea::get_Yu ( int  i,
int  j 
) const

Definition at line 285 of file MSSMSimpleSpec.cpp.

References Gambit::SLHAeaModel::getdata().

285 { return getdata("Yu",i,j); }
double getdata(const std::string &block, int index) const
Helper functions to do error checking for SLHAea object contents.
Here is the call graph for this function:

◆ get_ZA_pole_slha()

double Gambit::MSSMea::get_ZA_pole_slha ( int  i,
int  j 
) const

Definition at line 371 of file MSSMSimpleSpec.cpp.

References Gambit::SLHAeaModel::getdata().

371 { return getdata("PSEUDOSCALARMIX",i,j); }
double getdata(const std::string &block, int index) const
Helper functions to do error checking for SLHAea object contents.
Here is the call graph for this function:

◆ get_ZD_pole_slha()

double Gambit::MSSMea::get_ZD_pole_slha ( int  i,
int  j 
) const

Definition at line 364 of file MSSMSimpleSpec.cpp.

References Gambit::SLHAeaModel::getdata().

364 { return getdata("DSQMIX",i,j); }
double getdata(const std::string &block, int index) const
Helper functions to do error checking for SLHAea object contents.
Here is the call graph for this function:

◆ get_ZE_pole_slha()

double Gambit::MSSMea::get_ZE_pole_slha ( int  i,
int  j 
) const

Definition at line 368 of file MSSMSimpleSpec.cpp.

References Gambit::SLHAeaModel::getdata().

368 { return getdata("SELMIX",i,j); }
double getdata(const std::string &block, int index) const
Helper functions to do error checking for SLHAea object contents.
Here is the call graph for this function:

◆ get_ZH_pole_slha()

double Gambit::MSSMea::get_ZH_pole_slha ( int  i,
int  j 
) const

Definition at line 370 of file MSSMSimpleSpec.cpp.

References Gambit::SLHAeaModel::getdata().

370 { return getdata("SCALARMIX",i,j); }
double getdata(const std::string &block, int index) const
Helper functions to do error checking for SLHAea object contents.
Here is the call graph for this function:

◆ get_ZN_pole_slha()

double Gambit::MSSMea::get_ZN_pole_slha ( int  i,
int  j 
) const

Definition at line 374 of file MSSMSimpleSpec.cpp.

References Gambit::SLHAeaModel::getdata().

374 { return getdata("NMIX",i,j); }
double getdata(const std::string &block, int index) const
Helper functions to do error checking for SLHAea object contents.
Here is the call graph for this function:

◆ get_ZP_pole_slha()

double Gambit::MSSMea::get_ZP_pole_slha ( int  i,
int  j 
) const

Definition at line 373 of file MSSMSimpleSpec.cpp.

References Gambit::SLHAeaModel::getdata().

373 { return getdata("CHARGEMIX",i,j); }
double getdata(const std::string &block, int index) const
Helper functions to do error checking for SLHAea object contents.
Here is the call graph for this function:

◆ get_ZU_pole_slha()

double Gambit::MSSMea::get_ZU_pole_slha ( int  i,
int  j 
) const

Definition at line 365 of file MSSMSimpleSpec.cpp.

References Gambit::SLHAeaModel::getdata().

365 { return getdata("USQMIX",i,j); }
double getdata(const std::string &block, int index) const
Helper functions to do error checking for SLHAea object contents.
Here is the call graph for this function:

◆ get_ZV_pole_slha()

double Gambit::MSSMea::get_ZV_pole_slha ( int  i,
int  j 
) const

Definition at line 367 of file MSSMSimpleSpec.cpp.

References Gambit::SLHAeaModel::getdata().

367 { return getdata("SNUMIX",i,j); }
double getdata(const std::string &block, int index) const
Helper functions to do error checking for SLHAea object contents.
Here is the call graph for this function:

The documentation for this class was generated from the following files: