gambit is hosted by Hepforge, IPPP Durham
GAMBIT  v1.5.0-2191-ga4742ac
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  {
27  neutral_decays_SM_array.resize(n);
28  neutral_decays_array.resize(n);
29  CP.resize(n);
30  C_WW2.resize(n);
31  C_ZZ2.resize(n);
32  C_tt2.resize(n);
33  C_bb2.resize(n);
34  C_cc2.resize(n);
35  C_tautau2.resize(n);
36  C_gaga2.resize(n);
37  C_gg2.resize(n);
38  C_mumu2.resize(n);
39  C_Zga2.resize(n);
40  C_ss2.resize(n);
41  C_hiZ2.resize(n);
42  for (int i = 0; i < n; i++) C_hiZ2[i].resize(n);
43  }
44 
47  {
49  charged_decays_array.resize(n);
50  }
51 
54 
57 
60  {
61  for (int i = 0; i < n_neutral_higgses; i++)
62  {
63  C_WW2[i] = 1.0;
64  C_ZZ2[i] = 1.0;
65  C_tt2[i] = 1.0;
66  C_bb2[i] = 1.0;
67  C_cc2[i] = 1.0;
68  C_tautau2[i] = 1.0;
69  C_gaga2[i] = 1.0;
70  C_gg2[i] = 1.0;
71  C_mumu2[i] = 1.0;
72  C_Zga2[i] = 1.0;
73  C_ss2[i] = 1.0;
74  for(int j = 0; j < n_neutral_higgses; j++) C_hiZ2[i][j] = 1.0;
75  }
76  }
77 
80  {
81  if (index > n_neutral_higgses - 1) utils_error().raise(LOCAL_INFO, "Requested index beyond n_neutral_higgses.");
83  neutral_decays_SM_map.insert(std::pair<str, const DecayTable::Entry&>(name,entry));
84  }
85 
88  {
89  if (index > n_neutral_higgses - 1) utils_error().raise(LOCAL_INFO, "Requested index beyond n_neutral_higgses.");
90  neutral_decays_array[index] = &entry;
91  neutral_decays_map.insert(std::pair<str, const DecayTable::Entry&>(name,entry));
92  }
93 
96  {
97  if (index > n_charged_higgses - 1) utils_error().raise(LOCAL_INFO, "Requested index beyond n_charged_higgses.");
98  charged_decays_array[index] = &entry;
99  charged_decays_map.insert(std::pair<str, const DecayTable::Entry&>(name,entry));
100  }
101 
104 
106  const std::vector<const DecayTable::Entry*>& HiggsCouplingsTable::get_neutral_decays_SM_array() const
107  {
109  }
110 
113  {
114  if (index > n_neutral_higgses - 1) utils_error().raise(LOCAL_INFO, "Requested index beyond n_neutral_higgses.");
116  }
117 
120  {
121  if (neutral_decays_SM_map.find(name) == neutral_decays_SM_map.end()) utils_error().raise(LOCAL_INFO, "Requested higgs not found.");
122  return neutral_decays_SM_map.at(name);
123  }
124 
126  const std::vector<const DecayTable::Entry*>& HiggsCouplingsTable::get_neutral_decays_array() const
127  {
128  return neutral_decays_array;
129  }
130 
133  {
134  if (index > n_neutral_higgses - 1) utils_error().raise(LOCAL_INFO, "Requested index beyond n_neutral_higgses.");
135  return *neutral_decays_array[index];
136  }
137 
140  {
141  if (neutral_decays_map.find(name) == neutral_decays_map.end()) utils_error().raise(LOCAL_INFO, "Requested higgs not found.");
142  return neutral_decays_map.at(name);
143  }
144 
146  const std::vector<const DecayTable::Entry*>& HiggsCouplingsTable::get_charged_decays_array() const
147  {
148  return charged_decays_array;
149  }
150 
153  {
154  if (index > n_charged_higgses - 1) utils_error().raise(LOCAL_INFO, "Requested index beyond n_charged_higgses.");
155  return *charged_decays_array[index];
156  }
157 
160  {
161  if (charged_decays_map.find(name) == charged_decays_map.end()) utils_error().raise(LOCAL_INFO, "Requested higgs not found.");
162  return charged_decays_map.at(name);
163  }
164 
167  {
168  return *t_decays;
169  }
170 
171 }
172 
std::vector< std::vector< double > > C_hiZ2
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
std::map< str, const DecayTable::Entry & > neutral_decays_map
const std::vector< const DecayTable::Entry * > & get_neutral_decays_SM_array() const
Retrieve decay sets.
void set_t_decays(const DecayTable::Entry &)
Assign decay entries to top.
EXPORT_SYMBOLS error & utils_error()
Utility errors.
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
void set_n_charged_higgs(int)
Set the number of charged Higgses.
void set_charged_decays(int, const str &, const DecayTable::Entry &)
Assign decay entries to charged higgses.
const std::vector< const DecayTable::Entry * > & get_charged_decays_array() const
Retrieve decays of all charged higgses.
int get_n_neutral_higgs() const
Retrieve number of neutral higgses.
const DecayTable::Entry & get_t_decays() const
Retrieve decays of the top quark.
std::vector< const DecayTable::Entry * > charged_decays_array
std::vector< const DecayTable::Entry * > neutral_decays_SM_array
SM neutral higgs decays.
int n_neutral_higgses
Number of neutral Higgs bosons.
const DecayTable::Entry & get_charged_decays(int) const
Retrieve decays of a specific charged Higgs, by index.
const std::vector< const DecayTable::Entry * > & get_neutral_decays_array() const
Retrieve decays of all neutral higgses.
const DecayTable::Entry & get_neutral_decays_SM(int) const
Retrieve SM decays of a specific neutral Higgs, by index.
std::vector< double > C_WW2
Effective couplings for neutral higgses.
const DecayTable::Entry * t_decays
t decays (as t can decay to h)
int n_charged_higgses
Number of charged Higgs bosons.
std::string str
Shorthand for a standard string.
Definition: Analysis.hpp:35
void set_n_neutral_higgs(int)
Set the number of neutral Higgses.
Lightweight higgs partial widths container.
std::vector< const DecayTable::Entry * > neutral_decays_array
BSM higgs decays.
int get_n_charged_higgs() const
Retrieve number of charged higgses.
void set_neutral_decays(int, const str &, const DecayTable::Entry &)
Assign decay entries to neutral higgses.
void set_effective_couplings_to_unity()
Set all effective couplings to 1.
void set_neutral_decays_SM(int, const str &, const DecayTable::Entry &)
Assign decay entries to the various table components.
std::vector< double > CP
CP of neutral higgses.
TODO: see if we can use this one:
Definition: Analysis.hpp:33