gambit is hosted by Hepforge, IPPP Durham
GAMBIT  v1.5.0-252-gf9a3f78
a Global And Modular Bsm Inference Tool
higgs_couplings_table.cpp
Go to the documentation of this file.
1 // GAMBIT: Global and Modular BSM Inference Tool
2 // *********************************************
16 
18 
19 
20 namespace Gambit
21 {
22 
25  {
26  for (int i = 0; i < max_neutral_higgses; i++)
27  {
28  C_WW2[i] = 1.0;
29  C_ZZ2[i] = 1.0;
30  C_tt2[i] = 1.0;
31  C_bb2[i] = 1.0;
32  C_cc2[i] = 1.0;
33  C_tautau2[i] = 1.0;
34  C_gaga2[i] = 1.0;
35  C_gg2[i] = 1.0;
36  C_mumu2[i] = 1.0;
37  C_Zga2[i] = 1.0;
38  C_ss2[i] = 1.0;
39  for(int j = 0; j < max_neutral_higgses; j++) C_hiZ2[i][j] = 1.0;
40  }
41  }
42 
45  {
46  if (index > max_neutral_higgses - 1) utils_error().raise(LOCAL_INFO, "Requested index beyond max_neutral_higgses.");
48  neutral_decays_SM_map.insert(std::pair<str, const DecayTable::Entry&>(name,entry));
49  }
50 
53  {
54  if (index > max_neutral_higgses - 1) utils_error().raise(LOCAL_INFO, "Requested index beyond max_neutral_higgses.");
55  neutral_decays_array[index] = &entry;
56  neutral_decays_map.insert(std::pair<str, const DecayTable::Entry&>(name,entry));
57  }
58 
61  {
62  if (index > max_charged_higgses - 1) utils_error().raise(LOCAL_INFO, "Requested index beyond max_charged_higgses.");
63  charged_decays_array[index] = &entry;
64  charged_decays_map.insert(std::pair<str, const DecayTable::Entry&>(name,entry));
65  }
66 
69 
72  {
73  if (array_size > max_neutral_higgses) utils_error().raise(LOCAL_INFO, "Requested array size beyond max_neutral_higgses.");
75  }
76 
79  {
80  if (index > max_neutral_higgses - 1) utils_error().raise(LOCAL_INFO, "Requested index beyond max_neutral_higgses.");
82  }
83 
86  {
87  if (neutral_decays_SM_map.find(name) == neutral_decays_SM_map.end()) utils_error().raise(LOCAL_INFO, "Requested higgs not found.");
88  return neutral_decays_SM_map.at(name);
89  }
90 
93  {
94  if (array_size > max_neutral_higgses) utils_error().raise(LOCAL_INFO, "Requested arrray size beyond max_neutral_higgses.");
95  return neutral_decays_array;
96  }
97 
100  {
101  if (index > max_neutral_higgses - 1) utils_error().raise(LOCAL_INFO, "Requested index beyond max_neutral_higgses.");
102  return *neutral_decays_array[index];
103  }
104 
107  {
108  if (neutral_decays_map.find(name) == neutral_decays_map.end()) utils_error().raise(LOCAL_INFO, "Requested higgs not found.");
109  return neutral_decays_map.at(name);
110  }
111 
114  {
115  if (array_size > max_charged_higgses) utils_error().raise(LOCAL_INFO, "Requested array size beyond max_charged_higgses.");
116  return charged_decays_array;
117  }
118 
121  {
122  if (index > max_charged_higgses - 1) utils_error().raise(LOCAL_INFO, "Requested index beyond max_charged_higgses.");
123  return *charged_decays_array[index];
124  }
125 
128  {
129  if (charged_decays_map.find(name) == charged_decays_map.end()) utils_error().raise(LOCAL_INFO, "Requested higgs not found.");
130  return charged_decays_map.at(name);
131  }
132 
135  {
136  return *t_decays;
137  }
138 
139 }
140 
static const int max_neutral_higgses
The maximal Higgs sector manageable by this class; update as needed.
std::map< str, const DecayTable::Entry & > neutral_decays_SM_map
DecayTable entry class. Holds the info on all decays of a given particle.
Definition: decay_table.hpp:96
const DecayTable::Entry * charged_decays_array[max_charged_higgses]
double C_ZZ2[max_neutral_higgses]
std::map< str, const DecayTable::Entry & > neutral_decays_map
double C_tt2[max_neutral_higgses]
void set_t_decays(const DecayTable::Entry &)
Assign decay entries to top.
EXPORT_SYMBOLS error & utils_error()
Utility errors.
double C_cc2[max_neutral_higgses]
double C_WW2[max_neutral_higgses]
Effective couplings for neutral higgses.
const DecayTable::Entry * neutral_decays_array[max_neutral_higgses]
BSM higgs decays.
const DecayTable::Entry * neutral_decays_SM_array[max_neutral_higgses]
SM neutral higgs decays.
const hp_decay_array_type & get_charged_decays_array(int) const
Retrieve decays of all charged higgses.
const DecayTable::Entry & get_neutral_decays(int) const
Retrieve decays of a specific neutral Higgs, by index.
std::map< str, const DecayTable::Entry & > charged_decays_map
#define LOCAL_INFO
Definition: local_info.hpp:34
const h0_decay_array_type & get_neutral_decays_SM_array(int) const
Retrieve decay sets.
void set_charged_decays(int, const str &, const DecayTable::Entry &)
Assign decay entries to charged higgses.
const DecayTable::Entry * hp_decay_array_type[max_charged_higgses]
double C_ss2[max_neutral_higgses]
const DecayTable::Entry & get_t_decays() const
Retrieve decays of the top quark.
double C_mumu2[max_neutral_higgses]
double C_bb2[max_neutral_higgses]
double C_tautau2[max_neutral_higgses]
const DecayTable::Entry & get_charged_decays(int) const
Retrieve decays of a specific charged Higgs, by index.
const DecayTable::Entry & get_neutral_decays_SM(int) const
Retrieve SM decays of a specific neutral Higgs, by index.
const DecayTable::Entry * t_decays
t decays (as t can decay to h)
const DecayTable::Entry * h0_decay_array_type[max_neutral_higgses]
Types to make returning decay arrays easier.
std::string str
Shorthand for a standard string.
Definition: Analysis.hpp:35
Lightweight higgs partial widths container.
double C_Zga2[max_neutral_higgses]
void set_neutral_decays(int, const str &, const DecayTable::Entry &)
Assign decay entries to neutral higgses.
double C_gaga2[max_neutral_higgses]
void set_neutral_decays_SM(int, const str &, const DecayTable::Entry &)
Assign decay entries to the various table components.
const h0_decay_array_type & get_neutral_decays_array(int) const
Retrieve decays of all neutral higgses.
double C_gg2[max_neutral_higgses]
TODO: see if we can use this one:
Definition: Analysis.hpp:33
double C_hiZ2[max_neutral_higgses][max_neutral_higgses]