gambit is hosted by Hepforge, IPPP Durham
GAMBIT  v1.5.0-2191-ga4742ac
a Global And Modular Bsm Inference Tool

DecayTable entry class. Holds the info on all decays of a given particle. More...

#include <decay_table.hpp>

Collaboration diagram for Gambit::DecayTable::Entry:

Public Member Functions

 Entry ()
 Default constructor. More...
 
 Entry (double width)
 Constructor taking total width. More...
 
 Entry (const SLHAea::Block &, int context=0, bool force_SM_fermion_gauge_eigenstates=false, str calculator="", str calculator_version="")
 Constructor creating a DecayTable Entry from an SLHAea DECAY block; full version. More...
 
 Entry (const SLHAea::Block &, SLHAea::Block::const_iterator, int context=0, bool force_SM_fermion_gauge_eigenstates=false, str calculator="", str calculator_version="")
 Constructor creating a DecayTable Entry from an SLHAea DECAY block; full version; version assuming block def is already known. More...
 
double sum_BF () const
 Sum up the partial widths and return the result. More...
 
void set_BF (double, double, const std::vector< std::pair< int, int > > &)
 Set branching fraction for decay to a given final state. More...
 
void set_BF (double, double, const std::vector< str > &)
 Set branching fraction for decay to a given final state. 2. full particle names (vector) More...
 
template<typename... Args>
void set_BF (double BF, double error, std::pair< int, int > p1, Args... args)
 
template<typename... Args>
void set_BF (double BF, double error, str p1, Args... args)
 
bool has_channel (const std::vector< std::pair< int, int > > &) const
 Check if a given final state exists in this DecayTable::Entry. More...
 
bool has_channel (const std::vector< str > &) const
 Check if a given final state exists in this DecayTable::Entry. 2. full particle names (vector) More...
 
template<typename... Args>
bool has_channel (std::pair< int, int > p1, Args... args) const
 
template<typename... Args>
bool has_channel (str p1, Args... args) const
 
double BF (const std::vector< std::pair< int, int > > &) const
 Retrieve branching fraction for decay to a given final state. More...
 
double BF (const std::vector< str > &) const
 Retrieve branching fraction for decay to a given final state. 2. full particle names (vector) More...
 
template<typename... Args>
double BF (std::pair< int, int > p1, Args... args) const
 
template<typename... Args>
double BF (str p1, Args... args) const
 
template<typename... Args>
double BF_error (std::pair< int, int > p1, Args... args) const
 Retrieve branching fraction error for decay to a given final state. More...
 
template<typename... Args>
double BF_error (str p1, Args... args) const
 
template<typename... Args>
std::pair< double, doubleBF_with_error (std::pair< int, int > p1, Args... args) const
 Retrieve branching fraction and error for decay to a given final state. More...
 
template<typename... Args>
std::pair< double, doubleBF_with_error (str p1, Args... args) const
 
SLHAea::Block getSLHAea_block (int, str, bool include_zero_bfs=false, const mass_es_pseudonyms &psn=mass_es_pseudonyms()) const
 Output this entry as an SLHAea DECAY block, using input parameter to identify the mother particle. More...
 
SLHAea::Block getSLHAea_block (int, str, int, bool include_zero_bfs=false, const mass_es_pseudonyms &psn=mass_es_pseudonyms()) const
 
SLHAea::Block getSLHAea_block (int, std::pair< int, int >, bool include_zero_bfs=false, const mass_es_pseudonyms &psn=mass_es_pseudonyms()) const
 

Public Attributes

double width_in_GeV
 Total particle width (in GeV) More...
 
double positive_error
 Positive error on width. More...
 
double negative_error
 Negative error on width. More...
 
str calculator
 Name of the code (backend or otherwise) used for calculating this entry. More...
 
str calculator_version
 Version of the code used for calculating this entry. More...
 
str warnings
 Warnings from the calculator. More...
 
str errors
 Errors from the calculator. More...
 
std::map< std::multiset< std::pair< int, int > >, std::pair< double, double > > channels
 The actual underlying map of channels to their BFs. More...
 

Private Member Functions

void init (const SLHAea::Block &, int, bool force_SM_fermion_gauge_eigenstates=false)
 Initialise a DecayTable Entry using an SLHAea DECAY block. More...
 
void check_particles_exist (std::multiset< std::pair< int, int > > &) const
 Make sure all particles listed in a set are actually known to the GAMBIT particle database. More...
 
void check_BF_validity (double, double, std::multiset< std::pair< int, int > > &) const
 Make sure no NaNs have been passed to the DecayTable by nefarious backends. More...
 

Static Private Member Functions

static void construct_key (std::multiset< std::pair< int, int > > &)
 Construct a set of particles from a variadic list of full names or short names and indicesBase function version. More...
 
template<typename... Args>
static void construct_key (std::multiset< std::pair< int, int > > &key, str p1, Args... args)
 Templated version for long names. More...
 
template<typename... Args>
static void construct_key (std::multiset< std::pair< int, int > > &key, str p1, int i1, Args... args)
 Templated version for short names and indices. More...
 

Detailed Description

DecayTable entry class. Holds the info on all decays of a given particle.

Definition at line 96 of file decay_table.hpp.

Constructor & Destructor Documentation

◆ Entry() [1/4]

Gambit::DecayTable::Entry::Entry ( )
inline

Default constructor.

Definition at line 132 of file decay_table.hpp.

Referenced by Entry().

double positive_error
Positive error on width.
double width_in_GeV
Total particle width (in GeV)
str calculator_version
Version of the code used for calculating this entry.
str calculator
Name of the code (backend or otherwise) used for calculating this entry.
str errors
Errors from the calculator.
double negative_error
Negative error on width.
str warnings
Warnings from the calculator.
Here is the caller graph for this function:

◆ Entry() [2/4]

Gambit::DecayTable::Entry::Entry ( double  width)
inline

Constructor taking total width.

Definition at line 134 of file decay_table.hpp.

References calculator, calculator_version, Entry(), and set_BF().

134 : width_in_GeV(width), calculator(""), calculator_version(""), warnings(""), errors("") {}
double width_in_GeV
Total particle width (in GeV)
str calculator_version
Version of the code used for calculating this entry.
str calculator
Name of the code (backend or otherwise) used for calculating this entry.
str errors
Errors from the calculator.
str warnings
Warnings from the calculator.
Here is the call graph for this function:

◆ Entry() [3/4]

Gambit::DecayTable::Entry::Entry ( const SLHAea::Block &  block,
int  context = 0,
bool  force_SM_fermion_gauge_eigenstates = false,
str  calculator = "",
str  calculator_version = "" 
)

Constructor creating a DecayTable Entry from an SLHAea DECAY block; full version.

Definition at line 226 of file decay_table.cpp.

References init(), LOCAL_INFO, Gambit::utils_error(), and width_in_GeV.

227  :
228  positive_error(0.0),
229  negative_error(0.0),
230  calculator(calc),
231  calculator_version(calc_ver),
232  warnings(""),
233  errors("")
234  {
235  auto block_def = block.find_block_def();
236  if (block_def->at(0) != "DECAY" or block_def->size() < 3)
237  utils_error().raise(LOCAL_INFO, "SLHAea block is not DECAY or has < 3 entries in its block definition.");
238  width_in_GeV = SLHAea::to<double>(block_def->at(2));
239  init(block, context, force_SM_fermion_gauge_eigenstates);
240  }
EXPORT_SYMBOLS error & utils_error()
Utility errors.
double positive_error
Positive error on width.
#define LOCAL_INFO
Definition: local_info.hpp:34
void init(const SLHAea::Block &, int, bool force_SM_fermion_gauge_eigenstates=false)
Initialise a DecayTable Entry using an SLHAea DECAY block.
double width_in_GeV
Total particle width (in GeV)
str calculator_version
Version of the code used for calculating this entry.
str calculator
Name of the code (backend or otherwise) used for calculating this entry.
str errors
Errors from the calculator.
double negative_error
Negative error on width.
str warnings
Warnings from the calculator.
Here is the call graph for this function:

◆ Entry() [4/4]

Gambit::DecayTable::Entry::Entry ( const SLHAea::Block &  block,
SLHAea::Block::const_iterator  block_def,
int  context = 0,
bool  force_SM_fermion_gauge_eigenstates = false,
str  calculator = "",
str  calculator_version = "" 
)

Constructor creating a DecayTable Entry from an SLHAea DECAY block; full version; version assuming block def is already known.

Definition at line 244 of file decay_table.cpp.

References init().

245  :
246  width_in_GeV (SLHAea::to<double>(block_def->at(2))),
247  positive_error(0.0),
248  negative_error(0.0),
249  calculator(calc),
250  calculator_version(calc_ver),
251  warnings(""),
252  errors("")
253  {
254  init(block, context, force_SM_fermion_gauge_eigenstates);
255  }
double positive_error
Positive error on width.
void init(const SLHAea::Block &, int, bool force_SM_fermion_gauge_eigenstates=false)
Initialise a DecayTable Entry using an SLHAea DECAY block.
double width_in_GeV
Total particle width (in GeV)
str calculator_version
Version of the code used for calculating this entry.
str calculator
Name of the code (backend or otherwise) used for calculating this entry.
str errors
Errors from the calculator.
double negative_error
Negative error on width.
str warnings
Warnings from the calculator.
Here is the call graph for this function:

Member Function Documentation

◆ BF() [1/4]

double Gambit::DecayTable::Entry::BF ( const std::vector< std::pair< int, int > > &  daughters) const

Retrieve branching fraction for decay to a given final state.

Retrieve branching fraction for decay to a given final state. 1. PDG-context integer pairs (vector)

Five ways to specify final states:

  1. PDG-context integer pairs (vector)
  2. full particle names (vector)
  3. PDG-context integer pairs (arguments)
  4. full particle names (arguments)
  5. short particle names + index integers (arguments) Supports arbitrarily many final state particles.

Definition at line 359 of file decay_table.cpp.

References channels, and check_particles_exist().

Referenced by Gambit::DecayBit::get_decaytable_as_map(), getSLHAea_block(), has_channel(), init(), Gambit::ColliderBit::L3_Chargino_All_Channels_Conservative_LLike(), Gambit::ColliderBit::L3_Chargino_Leptonic_Conservative_LLike(), Gambit::ColliderBit::L3_Gravitino_LLike(), Gambit::ColliderBit::L3_Neutralino_All_Channels_Conservative_LLike(), Gambit::ColliderBit::L3_Neutralino_Leptonic_Conservative_LLike(), Gambit::DecayBit::lnL_W_decays_chi2(), Gambit::SpecBit::MSSM_higgs_couplings_pwid(), Gambit::ColliderBit::MSSMLikeHiggs_ModelParameters(), Gambit::ColliderBit::OPAL_Chargino_All_Channels_Conservative_LLike(), Gambit::ColliderBit::OPAL_Chargino_Hadronic_Conservative_LLike(), Gambit::ColliderBit::OPAL_Chargino_Leptonic_Conservative_LLike(), Gambit::ColliderBit::OPAL_Chargino_SemiLeptonic_Conservative_LLike(), Gambit::ColliderBit::OPAL_Neutralino_Hadronic_Conservative_LLike(), set_BF(), and Gambit::ColliderBit::set_SMLikeHiggs_ModelParameters().

360  {
361  std::multiset< std::pair<int,int> > key(daughters.begin(), daughters.end());
363  return channels.at(key).first;
364  }
void check_particles_exist(std::multiset< std::pair< int, int > > &) const
Make sure all particles listed in a set are actually known to the GAMBIT particle database...
std::map< std::multiset< std::pair< int, int > >, std::pair< double, double > > channels
The actual underlying map of channels to their BFs.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ BF() [2/4]

double Gambit::DecayTable::Entry::BF ( const std::vector< str > &  daughters) const

Retrieve branching fraction for decay to a given final state. 2. full particle names (vector)

Definition at line 367 of file decay_table.cpp.

References channels, check_particles_exist(), Gambit::Models::ParticleDB(), and Gambit::Models::partmap::pdg_pair().

368  {
369  std::multiset< std::pair<int,int> > key;
370  for (auto p = daughters.begin(); p != daughters.end(); ++p) key.insert(Models::ParticleDB().pdg_pair(*p));
372  return channels.at(key).first;
373  }
std::pair< int, int > pdg_pair(str) const
Retrieve the PDG code and context integer, from the long name.
Definition: partmap.cpp:95
void check_particles_exist(std::multiset< std::pair< int, int > > &) const
Make sure all particles listed in a set are actually known to the GAMBIT particle database...
partmap & ParticleDB()
Database accessor function.
Definition: partmap.cpp:36
std::map< std::multiset< std::pair< int, int > >, std::pair< double, double > > channels
The actual underlying map of channels to their BFs.
Here is the call graph for this function:

◆ BF() [3/4]

template<typename... Args>
double Gambit::DecayTable::Entry::BF ( std::pair< int, int p1,
Args...  args 
) const
inline

Definition at line 216 of file decay_table.hpp.

References find_all_gambit_bits::args, channels, Gambit::LogTags::err, LOCAL_INFO, and Gambit::model_error().

217  {
218  std::pair<int,int> particles[] = {p1, args...};
219  std::multiset< std::pair<int,int> > key(particles, particles+sizeof...(Args)+1);
220  if (channels.find(key) == channels.end())
221  {
222  std::ostringstream err;
223  err << "No branching fraction exists for the requested final states:";
224  for (auto particle = key.begin(); particle != key.end(); ++particle)
225  {
226  err << " {" << particle->first << ", " << particle->second << "}";
227  }
228  model_error().raise(LOCAL_INFO,err.str());
229  }
230  return channels.at(key).first;
231  }
#define LOCAL_INFO
Definition: local_info.hpp:34
std::map< std::pair< int, int >, Entry > particles
The actual underlying map. Just iterate over this directly if you need to iterate over all particles ...
Definition: decay_table.hpp:92
std::map< std::multiset< std::pair< int, int > >, std::pair< double, double > > channels
The actual underlying map of channels to their BFs.
error & model_error()
Model errors.
Here is the call graph for this function:

◆ BF() [4/4]

template<typename... Args>
double Gambit::DecayTable::Entry::BF ( str  p1,
Args...  args 
) const
inline

Definition at line 234 of file decay_table.hpp.

References find_all_gambit_bits::args, channels, construct_key(), Gambit::LogTags::err, LOCAL_INFO, and Gambit::model_error().

235  {
236  std::multiset< std::pair<int,int> > key;
237  construct_key(key, p1, args...);
238  if (channels.find(key) == channels.end())
239  {
240  std::ostringstream err;
241  err << "No branching fraction exists for the requested final states:";
242  for (auto particle = key.begin(); particle != key.end(); ++particle)
243  {
244  err << " {" << particle->first << ", " << particle->second << "}";
245  }
246  model_error().raise(LOCAL_INFO,err.str());
247  }
248  return channels.at(key).first;
249  }
#define LOCAL_INFO
Definition: local_info.hpp:34
static void construct_key(std::multiset< std::pair< int, int > > &)
Construct a set of particles from a variadic list of full names or short names and indicesBase functi...
std::map< std::multiset< std::pair< int, int > >, std::pair< double, double > > channels
The actual underlying map of channels to their BFs.
error & model_error()
Model errors.
Here is the call graph for this function:

◆ BF_error() [1/2]

template<typename... Args>
double Gambit::DecayTable::Entry::BF_error ( std::pair< int, int p1,
Args...  args 
) const
inline

Retrieve branching fraction error for decay to a given final state.

Three ways to specify final states: PDG-context integer pairs, full particle names, short particle names + index integers. Supports arbitrarily many final state particles.

Definition at line 257 of file decay_table.hpp.

References find_all_gambit_bits::args, channels, Gambit::LogTags::err, LOCAL_INFO, and Gambit::model_error().

Referenced by Gambit::DecayBit::lnL_W_decays_chi2().

258  {
259  std::pair<int,int> particles[] = {p1, args...};
260  std::multiset< std::pair<int,int> > key(particles, particles+sizeof...(Args)+1);
261  if (channels.find(key) == channels.end())
262  {
263  std::ostringstream err;
264  err << "No branching fraction exists for the requested final states:";
265  for (auto particle = key.begin(); particle != key.end(); ++particle)
266  {
267  err << " {" << particle->first << ", " << particle->second << "}";
268  }
269  model_error().raise(LOCAL_INFO,err.str());
270  }
271  return channels.at(key).second;
272  }
#define LOCAL_INFO
Definition: local_info.hpp:34
std::map< std::pair< int, int >, Entry > particles
The actual underlying map. Just iterate over this directly if you need to iterate over all particles ...
Definition: decay_table.hpp:92
std::map< std::multiset< std::pair< int, int > >, std::pair< double, double > > channels
The actual underlying map of channels to their BFs.
error & model_error()
Model errors.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ BF_error() [2/2]

template<typename... Args>
double Gambit::DecayTable::Entry::BF_error ( str  p1,
Args...  args 
) const
inline

Definition at line 275 of file decay_table.hpp.

References find_all_gambit_bits::args, channels, construct_key(), Gambit::LogTags::err, LOCAL_INFO, and Gambit::model_error().

276  {
277  std::multiset< std::pair<int,int> > key;
278  construct_key(key, p1, args...);
279  if (channels.find(key) == channels.end())
280  {
281  std::ostringstream err;
282  err << "No branching fraction exists for the requested final states:";
283  for (auto particle = key.begin(); particle != key.end(); ++particle)
284  {
285  err << " {" << particle->first << ", " << particle->second << "}";
286  }
287  model_error().raise(LOCAL_INFO,err.str());
288  }
289  return channels.at(key).second;
290  }
#define LOCAL_INFO
Definition: local_info.hpp:34
static void construct_key(std::multiset< std::pair< int, int > > &)
Construct a set of particles from a variadic list of full names or short names and indicesBase functi...
std::map< std::multiset< std::pair< int, int > >, std::pair< double, double > > channels
The actual underlying map of channels to their BFs.
error & model_error()
Model errors.
Here is the call graph for this function:

◆ BF_with_error() [1/2]

template<typename... Args>
std::pair<double, double> Gambit::DecayTable::Entry::BF_with_error ( std::pair< int, int p1,
Args...  args 
) const
inline

Retrieve branching fraction and error for decay to a given final state.

Three ways to specify final states: PDG-context integer pairs, full particle names, short particle names + index integers. Supports arbitrarily many final state particles.

Definition at line 298 of file decay_table.hpp.

References find_all_gambit_bits::args, channels, Gambit::LogTags::err, LOCAL_INFO, and Gambit::model_error().

299  {
300  std::pair<int,int> particles[] = {p1, args...};
301  std::multiset< std::pair<int,int> > key(particles, particles+sizeof...(Args)+1);
302  if (channels.find(key) == channels.end())
303  {
304  std::ostringstream err;
305  err << "No branching fraction exists for the requested final states:";
306  for (auto particle = key.begin(); particle != key.end(); ++particle)
307  {
308  err << " {" << particle->first << ", " << particle->second << "}";
309  }
310  model_error().raise(LOCAL_INFO,err.str());
311  }
312  return channels.at(key);
313  }
#define LOCAL_INFO
Definition: local_info.hpp:34
std::map< std::pair< int, int >, Entry > particles
The actual underlying map. Just iterate over this directly if you need to iterate over all particles ...
Definition: decay_table.hpp:92
std::map< std::multiset< std::pair< int, int > >, std::pair< double, double > > channels
The actual underlying map of channels to their BFs.
error & model_error()
Model errors.
Here is the call graph for this function:

◆ BF_with_error() [2/2]

template<typename... Args>
std::pair<double, double> Gambit::DecayTable::Entry::BF_with_error ( str  p1,
Args...  args 
) const
inline

Definition at line 316 of file decay_table.hpp.

References find_all_gambit_bits::args, channels, construct_key(), Gambit::LogTags::err, getSLHAea_block(), LOCAL_INFO, Gambit::model_error(), and sum_BF().

317  {
318  std::multiset< std::pair<int,int> > key;
319  construct_key(key, p1, args...);
320  if (channels.find(key) == channels.end())
321  {
322  std::ostringstream err;
323  err << "No branching fraction exists for the requested final states:";
324  for (auto particle = key.begin(); particle != key.end(); ++particle)
325  {
326  err << " {" << particle->first << ", " << particle->second << "}";
327  }
328  model_error().raise(LOCAL_INFO,err.str());
329  }
330  return channels.at(key);
331  }
#define LOCAL_INFO
Definition: local_info.hpp:34
static void construct_key(std::multiset< std::pair< int, int > > &)
Construct a set of particles from a variadic list of full names or short names and indicesBase functi...
std::map< std::multiset< std::pair< int, int > >, std::pair< double, double > > channels
The actual underlying map of channels to their BFs.
error & model_error()
Model errors.
Here is the call graph for this function:

◆ check_BF_validity()

void Gambit::DecayTable::Entry::check_BF_validity ( double  BF,
double  error,
std::multiset< std::pair< int, int > > &  key 
) const
private

Make sure no NaNs have been passed to the DecayTable by nefarious backends.

Definition at line 304 of file decay_table.cpp.

References calculator, calculator_version, LOCAL_INFO, Gambit::Models::partmap::long_name(), negative_error, Gambit::Models::ParticleDB(), positive_error, Gambit::utils_error(), and width_in_GeV.

Referenced by set_BF().

305  {
306  if (Utils::isnan(BF) or Utils::isnan(error))
307  {
308  std::ostringstream msg;
309  msg << "NaN detected in attempt to set decay table branching fraction. " << endl
310  << "Final states are: " << endl;
311  for(auto it = key.begin(); it !=key.end(); ++it)
312  {
313  msg << " " << Models::ParticleDB().long_name(*it) << endl;
314  }
315  msg << "BF: " << BF << endl << "error: " << error << endl;
316  msg << "Total width (GeV): " << width_in_GeV << " +" << positive_error << " -" << negative_error << endl;
317  msg << "Decay calculator: " << calculator << " " << calculator_version;
318  utils_error().raise(LOCAL_INFO, msg.str());
319  }
320  }
double BF(const std::vector< std::pair< int, int > > &) const
Retrieve branching fraction for decay to a given final state.
EXPORT_SYMBOLS error & utils_error()
Utility errors.
double positive_error
Positive error on width.
#define LOCAL_INFO
Definition: local_info.hpp:34
str long_name(str, int) const
Retrieve the long name, from the short name and index.
Definition: partmap.cpp:124
double width_in_GeV
Total particle width (in GeV)
str calculator_version
Version of the code used for calculating this entry.
partmap & ParticleDB()
Database accessor function.
Definition: partmap.cpp:36
str calculator
Name of the code (backend or otherwise) used for calculating this entry.
double negative_error
Negative error on width.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ check_particles_exist()

void Gambit::DecayTable::Entry::check_particles_exist ( std::multiset< std::pair< int, int > > &  particles) const
private

Make sure all particles listed in a set are actually known to the GAMBIT particle database.

Definition at line 288 of file decay_table.cpp.

References Gambit::LogTags::err, Gambit::Models::partmap::has_particle(), LOCAL_INFO, Gambit::model_error(), Gambit::Models::ParticleDB(), and Gambit::DecayTable::particles.

Referenced by BF(), has_channel(), and set_BF().

289  {
290  for (auto final_state = particles.begin(); final_state != particles.end(); ++final_state)
291  {
292  if (not Models::ParticleDB().has_particle(*final_state))
293  {
294  std::ostringstream err;
295  err << "Particle with PDG code" << final_state->first << " and context integer " << endl
296  << final_state->second << " is not in the in GAMBIT particle database." << endl
297  << "Please add such a particle to Models/src/particle_database.cpp and recompile.";
298  model_error().raise(LOCAL_INFO,err.str());
299  }
300  }
301  }
#define LOCAL_INFO
Definition: local_info.hpp:34
bool has_particle(str) const
Check if a particle is in the database, using the long name.
Definition: partmap.cpp:205
partmap & ParticleDB()
Database accessor function.
Definition: partmap.cpp:36
error & model_error()
Model errors.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ construct_key() [1/3]

static void Gambit::DecayTable::Entry::construct_key ( std::multiset< std::pair< int, int > > &  )
inlinestaticprivate

Construct a set of particles from a variadic list of full names or short names and indicesBase function version.

Definition at line 112 of file decay_table.hpp.

Referenced by BF(), BF_error(), BF_with_error(), construct_key(), has_channel(), and set_BF().

112 {}
Here is the caller graph for this function:

◆ construct_key() [2/3]

template<typename... Args>
static void Gambit::DecayTable::Entry::construct_key ( std::multiset< std::pair< int, int > > &  key,
str  p1,
Args...  args 
)
inlinestaticprivate

Templated version for long names.

Definition at line 115 of file decay_table.hpp.

References find_all_gambit_bits::args, construct_key(), and Gambit::Models::ParticleDB().

116  {
117  construct_key(key, args...);
118  key.insert(Models::ParticleDB().pdg_pair(p1));
119  }
partmap & ParticleDB()
Database accessor function.
Definition: partmap.cpp:36
static void construct_key(std::multiset< std::pair< int, int > > &)
Construct a set of particles from a variadic list of full names or short names and indicesBase functi...
Here is the call graph for this function:

◆ construct_key() [3/3]

template<typename... Args>
static void Gambit::DecayTable::Entry::construct_key ( std::multiset< std::pair< int, int > > &  key,
str  p1,
int  i1,
Args...  args 
)
inlinestaticprivate

Templated version for short names and indices.

Definition at line 122 of file decay_table.hpp.

References find_all_gambit_bits::args, construct_key(), and Gambit::Models::ParticleDB().

123  {
124  construct_key(key, args...);
125  key.insert(Models::ParticleDB().pdg_pair(p1, i1));
126  }
partmap & ParticleDB()
Database accessor function.
Definition: partmap.cpp:36
static void construct_key(std::multiset< std::pair< int, int > > &)
Construct a set of particles from a variadic list of full names or short names and indicesBase functi...
Here is the call graph for this function:

◆ getSLHAea_block() [1/3]

SLHAea::Block Gambit::DecayTable::Entry::getSLHAea_block ( int  v,
str  p,
bool  include_zero_bfs = false,
const mass_es_pseudonyms &  psn = mass_es_pseudonyms() 
) const

Output this entry as an SLHAea DECAY block, using input parameter to identify the mother particle.

Output a decay table entry as an SLHAea DECAY block.

Definition at line 378 of file decay_table.cpp.

References Gambit::Models::ParticleDB().

Referenced by BF_with_error(), and getSLHAea_block().

379  { return getSLHAea_block(v, Models::ParticleDB().pdg_pair(p), z, psn); }
SLHAea::Block getSLHAea_block(int, str, bool include_zero_bfs=false, const mass_es_pseudonyms &psn=mass_es_pseudonyms()) const
Output this entry as an SLHAea DECAY block, using input parameter to identify the mother particle...
partmap & ParticleDB()
Database accessor function.
Definition: partmap.cpp:36
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getSLHAea_block() [2/3]

SLHAea::Block Gambit::DecayTable::Entry::getSLHAea_block ( int  v,
str  p,
int  i,
bool  include_zero_bfs = false,
const mass_es_pseudonyms &  psn = mass_es_pseudonyms() 
) const

Definition at line 380 of file decay_table.cpp.

References getSLHAea_block(), and Gambit::Models::ParticleDB().

381  { return getSLHAea_block(v, Models::ParticleDB().pdg_pair(p,i), z, psn); }
SLHAea::Block getSLHAea_block(int, str, bool include_zero_bfs=false, const mass_es_pseudonyms &psn=mass_es_pseudonyms()) const
Output this entry as an SLHAea DECAY block, using input parameter to identify the mother particle...
partmap & ParticleDB()
Database accessor function.
Definition: partmap.cpp:36
Here is the call graph for this function:

◆ getSLHAea_block() [3/3]

SLHAea::Block Gambit::DecayTable::Entry::getSLHAea_block ( int  v,
std::pair< int, int p,
bool  include_zero_bfs = false,
const mass_es_pseudonyms &  psn = mass_es_pseudonyms() 
) const

Definition at line 382 of file decay_table.cpp.

References BF(), channels, Gambit::Models::partmap::has_particle(), LOCAL_INFO, Gambit::Models::partmap::long_name(), Gambit::Models::ParticleDB(), Gambit::utils_error(), and width_in_GeV.

383  {
384  const std::map<str, int> slha1_pdgs = boost::assign::map_list_of
385  ("~t_1" , 1000006)
386  ("~t_2" , 2000006)
387  ("~b_1" , 1000005)
388  ("~b_2" , 2000005)
389  ("~tau_1" , 1000015)
390  ("~tau_2" , 2000015)
391  ("~nu_e_L" , 1000012)
392  ("~nu_mu_L" , 1000014)
393  ("~nu_tau_L", 1000016)
394  ("~d_L" , 1000001)
395  ("~s_L" , 1000003)
396  ("~d_R" , 2000001)
397  ("~s_R" , 2000003)
398  ("~e_L" , 1000011)
399  ("~mu_L" , 1000013)
400  ("~e_R" , 2000011)
401  ("~mu_R" , 2000013)
402  ("~u_L" , 1000002)
403  ("~c_L" , 1000004)
404  ("~u_R" , 2000002)
405  ("~c_R" , 2000004)
406  ("~tbar_1" , -1000006)
407  ("~tbar_2" , -2000006)
408  ("~bbar_1" , -1000005)
409  ("~bbar_2" , -2000005)
410  ("~taubar_1" , -1000015)
411  ("~taubar_2" , -2000015)
412  ("~nu_ebar_L" , -1000012)
413  ("~nu_mubar_L" , -1000014)
414  ("~nu_taubar_L", -1000016)
415  ("~dbar_L" , -1000001)
416  ("~sbar_L" , -1000003)
417  ("~dbar_R" , -2000001)
418  ("~sbar_R" , -2000003)
419  ("~ebar_L" , -1000011)
420  ("~mubar_L" , -1000013)
421  ("~ebar_R" , -2000011)
422  ("~mubar_R" , -2000013)
423  ("~ubar_L" , -1000002)
424  ("~cbar_L" , -1000004)
425  ("~ubar_R" , -2000002)
426  ("~cbar_R" , -2000004);
427 
428  // Make sure the particle actually exists in the database
429  if (not Models::ParticleDB().has_particle(p))
430  {
431  std::stringstream ss;
432  ss << "GAMBIT particle database does not have particle with (PDG,context) codes (" << p.first << "," << p.second << ").";
433  utils_error().raise(LOCAL_INFO, ss.str());
434  }
435 
436  // Add the info about the decay in general
437  int pdg = p.first;
438  str long_name = Models::ParticleDB().long_name(p);
439  SLHAea::Line line;
440  if (v == 1)
441  {
442  if (not psn.filled) utils_error().raise(LOCAL_INFO, "Non-empty mass_es_pseudonyms must be provided for SLHA1 DecayTable output.");
443  if (psn.gauge_family_eigenstates.find(long_name) != psn.gauge_family_eigenstates.end())
444  {
445  long_name = psn.gauge_family_eigenstates.at(long_name);
446 
447  pdg = slha1_pdgs.at(long_name);
448  }
449  }
450  else if (v != 2) utils_error().raise(LOCAL_INFO, "Unrecognised SLHA version requested. Expected 1 or 2.");
451  line << "DECAY" << pdg << this->width_in_GeV << "# " + long_name + " decays";
452  SLHAea::Block block(std::to_string(p.first));
453  block.push_back(line);
454  block.insert(block.begin(),SLHAea::Line("# PDG Width (GeV)"));
455  block.push_back("# BF NDA Daughter PDG codes");
456 
457  // Add the branching fraction and daughter particle PDG codes for each decay channel
458  for (auto channel = channels.begin(); channel != channels.end(); ++channel)
459  {
460  // Skip this channel if its BF is NaN (undefined) or zero (on request)
461  double BF = (channel->second).first;
462  if (not Utils::isnan(BF))
463  {
464  if (BF > 0.0 or include_zero_bfs)
465  {
466  auto daughters = channel->first;
467  str comment = "# BF(" + long_name + " --> ";
468  line.clear();
469  // Get the branching fraction and number of particles in the final state
470  line << BF << daughters.size();
471  // Get the PDG code for each daughter particle
472  for (auto daughter = daughters.begin(); daughter != daughters.end(); ++daughter)
473  {
474  int daughter_pdg = daughter->first;
475  str daughter_long_name = Models::ParticleDB().long_name(*daughter);
476  if (v == 1)
477  {
478  if (psn.gauge_family_eigenstates.find(daughter_long_name) != psn.gauge_family_eigenstates.end())
479  {
480  daughter_long_name = psn.gauge_family_eigenstates.at(daughter_long_name);
481  daughter_pdg = slha1_pdgs.at(daughter_long_name);
482  }
483  }
484  line << daughter_pdg;
485  comment += daughter_long_name + " ";
486  }
487  comment[comment.size()-1] = ')';
488  line << comment;
489  block.push_back(line);
490  }
491  }
492  }
493 
494  return block;
495 
496  }
double BF(const std::vector< std::pair< int, int > > &) const
Retrieve branching fraction for decay to a given final state.
EXPORT_SYMBOLS error & utils_error()
Utility errors.
#define LOCAL_INFO
Definition: local_info.hpp:34
str long_name(str, int) const
Retrieve the long name, from the short name and index.
Definition: partmap.cpp:124
bool has_particle(str) const
Check if a particle is in the database, using the long name.
Definition: partmap.cpp:205
double width_in_GeV
Total particle width (in GeV)
partmap & ParticleDB()
Database accessor function.
Definition: partmap.cpp:36
std::string str
Shorthand for a standard string.
Definition: Analysis.hpp:35
std::map< std::multiset< std::pair< int, int > >, std::pair< double, double > > channels
The actual underlying map of channels to their BFs.
Here is the call graph for this function:

◆ has_channel() [1/4]

bool Gambit::DecayTable::Entry::has_channel ( const std::vector< std::pair< int, int > > &  daughters) const

Check if a given final state exists in this DecayTable::Entry.

Check if a given final state exists in this DecayTable::Entry. 1. PDG-context integer pairs (vector)

Supports arbitrarily many final state particles. Five ways to specify final states:

  1. PDG-context integer pairs (vector)
  2. full particle names (vector)
  3. PDG-context integer pairs (arguments)
  4. full particle names (arguments)
  5. short particle names + index integers (arguments)

Definition at line 342 of file decay_table.cpp.

References channels, and check_particles_exist().

Referenced by Gambit::SpecBit::MSSM_higgs_couplings_pwid(), Gambit::ColliderBit::MSSMLikeHiggs_ModelParameters(), and set_BF().

343  {
344  std::multiset< std::pair<int,int> > key(daughters.begin(), daughters.end());
346  return channels.find(key) != channels.end();
347  }
void check_particles_exist(std::multiset< std::pair< int, int > > &) const
Make sure all particles listed in a set are actually known to the GAMBIT particle database...
std::map< std::multiset< std::pair< int, int > >, std::pair< double, double > > channels
The actual underlying map of channels to their BFs.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ has_channel() [2/4]

bool Gambit::DecayTable::Entry::has_channel ( const std::vector< str > &  daughters) const

Check if a given final state exists in this DecayTable::Entry. 2. full particle names (vector)

Definition at line 350 of file decay_table.cpp.

References channels, check_particles_exist(), Gambit::Models::ParticleDB(), and Gambit::Models::partmap::pdg_pair().

351  {
352  std::multiset< std::pair<int,int> > key;
353  for (auto p = daughters.begin(); p != daughters.end(); ++p) key.insert(Models::ParticleDB().pdg_pair(*p));
355  return channels.find(key) != channels.end();
356  }
std::pair< int, int > pdg_pair(str) const
Retrieve the PDG code and context integer, from the long name.
Definition: partmap.cpp:95
void check_particles_exist(std::multiset< std::pair< int, int > > &) const
Make sure all particles listed in a set are actually known to the GAMBIT particle database...
partmap & ParticleDB()
Database accessor function.
Definition: partmap.cpp:36
std::map< std::multiset< std::pair< int, int > >, std::pair< double, double > > channels
The actual underlying map of channels to their BFs.
Here is the call graph for this function:

◆ has_channel() [3/4]

template<typename... Args>
bool Gambit::DecayTable::Entry::has_channel ( std::pair< int, int p1,
Args...  args 
) const
inline

Definition at line 186 of file decay_table.hpp.

References find_all_gambit_bits::args, channels, and check_particles_exist().

187  {
188  std::pair<int,int> particles[] = {p1, args...};
189  std::multiset< std::pair<int,int> > key(particles, particles+sizeof...(Args)+1);
191  return channels.find(key) != channels.end();
192  }
std::map< std::pair< int, int >, Entry > particles
The actual underlying map. Just iterate over this directly if you need to iterate over all particles ...
Definition: decay_table.hpp:92
void check_particles_exist(std::multiset< std::pair< int, int > > &) const
Make sure all particles listed in a set are actually known to the GAMBIT particle database...
std::map< std::multiset< std::pair< int, int > >, std::pair< double, double > > channels
The actual underlying map of channels to their BFs.
Here is the call graph for this function:

◆ has_channel() [4/4]

template<typename... Args>
bool Gambit::DecayTable::Entry::has_channel ( str  p1,
Args...  args 
) const
inline

Definition at line 195 of file decay_table.hpp.

References find_all_gambit_bits::args, BF(), channels, and construct_key().

196  {
197  std::multiset< std::pair<int,int> > key;
198  construct_key(key, p1, args...);
199  return channels.find(key) != channels.end();
200  }
static void construct_key(std::multiset< std::pair< int, int > > &)
Construct a set of particles from a variadic list of full names or short names and indicesBase functi...
std::map< std::multiset< std::pair< int, int > >, std::pair< double, double > > channels
The actual underlying map of channels to their BFs.
Here is the call graph for this function:

◆ init()

void Gambit::DecayTable::Entry::init ( const SLHAea::Block &  block,
int  context,
bool  force_SM_fermion_gauge_eigenstates = false 
)
private

Initialise a DecayTable Entry using an SLHAea DECAY block.

Definition at line 258 of file decay_table.cpp.

References BF(), LOCAL_INFO, set_BF(), and Gambit::utils_error().

Referenced by Entry().

259  {
260  for (auto channel = block.begin(); channel != block.end(); ++channel)
261  {
262  str first_entry(channel->at(0));
263  if (first_entry != "DECAY" and first_entry[0] != '#')
264  {
265  if (channel->size() < 4) utils_error().raise(LOCAL_INFO, "SLHAea DECAY block line has < 4 entries!");
266  double BF = SLHAea::to<double>(first_entry);
267  int n_daughters = SLHAea::to<int>(channel->at(1));
268  std::vector<std::pair<int,int> > daughter_pdg_codes;
269  for (int i = 2; i < n_daughters+2; ++i)
270  {
271  int pdg = SLHAea::to<int>(channel->at(i));
272  int context_local = context;
273  if (force_SM_fermion_gauge_eigenstates)
274  {
275  int abspdg = std::abs(pdg);
276  // Select SM fermions, including 4th gen, and force gauge eigenstates (context = 1).
277  if (abspdg < 19 and abspdg != 9 and abspdg != 10) context_local = 1;
278  }
279  std::pair<int,int> pdg_pair(pdg, context_local);
280  daughter_pdg_codes.push_back(pdg_pair);
281  }
282  set_BF(BF, 0.0, daughter_pdg_codes);
283  }
284  }
285  }
double BF(const std::vector< std::pair< int, int > > &) const
Retrieve branching fraction for decay to a given final state.
EXPORT_SYMBOLS error & utils_error()
Utility errors.
#define LOCAL_INFO
Definition: local_info.hpp:34
std::string str
Shorthand for a standard string.
Definition: Analysis.hpp:35
void set_BF(double, double, const std::vector< std::pair< int, int > > &)
Set branching fraction for decay to a given final state.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ set_BF() [1/4]

void Gambit::DecayTable::Entry::set_BF ( double  BF,
double  error,
const std::vector< std::pair< int, int > > &  daughters 
)

Set branching fraction for decay to a given final state.

Set branching fraction for decay to a given final state. 1. PDG-context integer pairs (vector)

Supports arbitrarily many final state particles. Five ways to specify final states:

  1. PDG-context integer pairs (vector)
  2. full particle names (vector)
  3. PDG-context integer pairs (arguments)
  4. full particle names (arguments)
  5. short particle names + index integers (arguments)

Definition at line 323 of file decay_table.cpp.

References BF(), channels, check_BF_validity(), and check_particles_exist().

Referenced by Gambit::DecayBit::A0_decays(), Gambit::DecayBit::chargino_plus_1_decays_SH(), Gambit::DecayBit::chargino_plus_1_decays_smallsplit(), Gambit::DecayBit::chargino_plus_2_decays(), Gambit::DecayBit::compute_SM_higgs_decays(), Gambit::DecayBit::DiracSingletDM_Higgs_decays(), Entry(), Gambit::DecayBit::FH_H_plus_decays(), Gambit::DecayBit::FH_t_decays(), Gambit::DecayBit::gluino_decays(), Gambit::DecayBit::h0_2_decays(), Gambit::DecayBit::H_plus_decays(), init(), Gambit::DecayBit::MajoranaSingletDM_Higgs_decays(), Gambit::DecayBit::MSSM_h0_1_decays(), Gambit::DecayBit::mu_plus_decays(), Gambit::DecayBit::neutralino_1_decays(), Gambit::DecayBit::neutralino_2_decays(), Gambit::DecayBit::neutralino_3_decays(), Gambit::DecayBit::neutralino_4_decays(), Gambit::DecayBit::pi_0_decays(), Gambit::DecayBit::pi_plus_decays(), Gambit::DecayBit::sbottom_1_decays(), Gambit::DecayBit::sbottom_2_decays(), Gambit::DecayBit::ScalarSingletDM_Higgs_decays(), Gambit::DecayBit::scharm_l_decays(), Gambit::DecayBit::scharm_r_decays(), Gambit::DecayBit::sdown_l_decays(), Gambit::DecayBit::sdown_r_decays(), Gambit::DecayBit::selectron_l_decays(), Gambit::DecayBit::selectron_r_decays(), Gambit::DecayBit::set_FH_neutral_h_decay(), Gambit::DecayBit::smuon_l_decays(), Gambit::DecayBit::smuon_r_decays(), Gambit::DecayBit::snu_electronl_decays(), Gambit::DecayBit::snu_muonl_decays(), Gambit::DecayBit::snu_taul_decays(), Gambit::DecayBit::sstrange_l_decays(), Gambit::DecayBit::sstrange_r_decays(), Gambit::DecayBit::stau_1_decays_SH(), Gambit::DecayBit::stau_1_decays_smallsplit(), Gambit::DecayBit::stau_2_decays(), Gambit::DecayBit::stop_1_decays(), Gambit::DecayBit::stop_2_decays(), Gambit::DecayBit::sup_l_decays(), Gambit::DecayBit::sup_r_decays(), Gambit::DecayBit::t_decays(), Gambit::DecayBit::tau_plus_decays(), Gambit::DecayBit::VectorSingletDM_Higgs_decays(), Gambit::DecayBit::W_plus_decays(), and Gambit::DecayBit::Z_decays().

324  {
325  std::multiset< std::pair<int,int> > key(daughters.begin(), daughters.end());
327  check_BF_validity(BF, error, key);
328  channels[key] = std::pair<double, double>(BF, error);
329  }
double BF(const std::vector< std::pair< int, int > > &) const
Retrieve branching fraction for decay to a given final state.
void check_particles_exist(std::multiset< std::pair< int, int > > &) const
Make sure all particles listed in a set are actually known to the GAMBIT particle database...
std::map< std::multiset< std::pair< int, int > >, std::pair< double, double > > channels
The actual underlying map of channels to their BFs.
void check_BF_validity(double, double, std::multiset< std::pair< int, int > > &) const
Make sure no NaNs have been passed to the DecayTable by nefarious backends.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ set_BF() [2/4]

void Gambit::DecayTable::Entry::set_BF ( double  BF,
double  error,
const std::vector< str > &  daughters 
)

Set branching fraction for decay to a given final state. 2. full particle names (vector)

Definition at line 332 of file decay_table.cpp.

References BF(), channels, check_BF_validity(), check_particles_exist(), Gambit::Models::ParticleDB(), and Gambit::Models::partmap::pdg_pair().

333  {
334  std::multiset< std::pair<int,int> > key;
335  for (auto p = daughters.begin(); p != daughters.end(); ++p) key.insert(Models::ParticleDB().pdg_pair(*p));
337  check_BF_validity(BF, error, key);
338  channels[key] = std::pair<double, double>(BF, error);
339  }
double BF(const std::vector< std::pair< int, int > > &) const
Retrieve branching fraction for decay to a given final state.
std::pair< int, int > pdg_pair(str) const
Retrieve the PDG code and context integer, from the long name.
Definition: partmap.cpp:95
void check_particles_exist(std::multiset< std::pair< int, int > > &) const
Make sure all particles listed in a set are actually known to the GAMBIT particle database...
partmap & ParticleDB()
Database accessor function.
Definition: partmap.cpp:36
std::map< std::multiset< std::pair< int, int > >, std::pair< double, double > > channels
The actual underlying map of channels to their BFs.
void check_BF_validity(double, double, std::multiset< std::pair< int, int > > &) const
Make sure no NaNs have been passed to the DecayTable by nefarious backends.
Here is the call graph for this function:

◆ set_BF() [3/4]

template<typename... Args>
void Gambit::DecayTable::Entry::set_BF ( double  BF,
double  error,
std::pair< int, int p1,
Args...  args 
)
inline

Definition at line 154 of file decay_table.hpp.

References find_all_gambit_bits::args, BF(), channels, check_BF_validity(), and check_particles_exist().

155  {
156  std::pair<int,int> particles[] = {p1, args...};
157  std::multiset< std::pair<int,int> > key(particles, particles+sizeof...(Args)+1);
159  check_BF_validity(BF, error, key);
160  channels[key] = std::pair<double, double>(BF, error);
161  }
double BF(const std::vector< std::pair< int, int > > &) const
Retrieve branching fraction for decay to a given final state.
std::map< std::pair< int, int >, Entry > particles
The actual underlying map. Just iterate over this directly if you need to iterate over all particles ...
Definition: decay_table.hpp:92
void check_particles_exist(std::multiset< std::pair< int, int > > &) const
Make sure all particles listed in a set are actually known to the GAMBIT particle database...
std::map< std::multiset< std::pair< int, int > >, std::pair< double, double > > channels
The actual underlying map of channels to their BFs.
void check_BF_validity(double, double, std::multiset< std::pair< int, int > > &) const
Make sure no NaNs have been passed to the DecayTable by nefarious backends.
Here is the call graph for this function:

◆ set_BF() [4/4]

template<typename... Args>
void Gambit::DecayTable::Entry::set_BF ( double  BF,
double  error,
str  p1,
Args...  args 
)
inline

Definition at line 164 of file decay_table.hpp.

References find_all_gambit_bits::args, BF(), channels, check_BF_validity(), construct_key(), and has_channel().

165  {
166  std::multiset< std::pair<int,int> > key;
167  construct_key(key, p1, args...);
168  check_BF_validity(BF, error, key);
169  channels[key] = std::pair<double, double>(BF, error);
170  }
double BF(const std::vector< std::pair< int, int > > &) const
Retrieve branching fraction for decay to a given final state.
static void construct_key(std::multiset< std::pair< int, int > > &)
Construct a set of particles from a variadic list of full names or short names and indicesBase functi...
std::map< std::multiset< std::pair< int, int > >, std::pair< double, double > > channels
The actual underlying map of channels to their BFs.
void check_BF_validity(double, double, std::multiset< std::pair< int, int > > &) const
Make sure no NaNs have been passed to the DecayTable by nefarious backends.
Here is the call graph for this function:

◆ sum_BF()

double Gambit::DecayTable::Entry::sum_BF ( ) const

Sum up the partial widths and return the result.

Sum up the branching fractions for a single particle's entry and return the result.

Definition at line 523 of file decay_table.cpp.

References channels.

Referenced by BF_with_error().

524  {
525  double sum = 0.0;
526  for (auto channel = channels.begin(); channel != channels.end(); ++channel)
527  {
528  sum += (channel->second).first;
529  }
530  return sum;
531  }
std::map< std::multiset< std::pair< int, int > >, std::pair< double, double > > channels
The actual underlying map of channels to their BFs.
Here is the caller graph for this function:

Member Data Documentation

◆ calculator

str Gambit::DecayTable::Entry::calculator

Name of the code (backend or otherwise) used for calculating this entry.

Definition at line 354 of file decay_table.hpp.

Referenced by Gambit::DecayBit::A0_decays(), Gambit::DecayBit::chargino_plus_1_decays_SH(), Gambit::DecayBit::chargino_plus_1_decays_smallsplit(), Gambit::DecayBit::chargino_plus_2_decays(), check_BF_validity(), Gambit::DecayBit::compute_SM_higgs_decays(), Gambit::DecayBit::CP_conjugate(), Entry(), Gambit::DecayBit::eta_decays(), Gambit::DecayBit::FH_H_plus_decays(), Gambit::DecayBit::FH_t_decays(), Gambit::DecayBit::gluino_decays(), Gambit::DecayBit::h0_2_decays(), Gambit::DecayBit::H_plus_decays(), Gambit::DecayBit::MSSM_h0_1_decays(), Gambit::DecayBit::mu_plus_decays(), Gambit::DecayBit::neutralino_1_decays(), Gambit::DecayBit::neutralino_2_decays(), Gambit::DecayBit::neutralino_3_decays(), Gambit::DecayBit::neutralino_4_decays(), Gambit::DecayBit::omega_decays(), Gambit::DecayBit::pi_0_decays(), Gambit::DecayBit::pi_plus_decays(), Gambit::DecayBit::rho1450_decays(), Gambit::DecayBit::rho_0_decays(), Gambit::DecayBit::rho_plus_decays(), Gambit::DecayBit::sbottom_1_decays(), Gambit::DecayBit::sbottom_2_decays(), Gambit::DecayBit::scharm_l_decays(), Gambit::DecayBit::scharm_r_decays(), Gambit::DecayBit::sdown_l_decays(), Gambit::DecayBit::sdown_r_decays(), Gambit::DecayBit::selectron_l_decays(), Gambit::DecayBit::selectron_r_decays(), Gambit::DecayBit::set_FH_neutral_h_decay(), Gambit::DecayBit::smuon_l_decays(), Gambit::DecayBit::smuon_r_decays(), Gambit::DecayBit::snu_electronl_decays(), Gambit::DecayBit::snu_muonl_decays(), Gambit::DecayBit::snu_taul_decays(), Gambit::DecayBit::sstrange_l_decays(), Gambit::DecayBit::sstrange_r_decays(), Gambit::DecayBit::stau_1_decays_SH(), Gambit::DecayBit::stau_1_decays_smallsplit(), Gambit::DecayBit::stau_2_decays(), Gambit::DecayBit::stop_1_decays(), Gambit::DecayBit::stop_2_decays(), Gambit::DecayBit::sup_l_decays(), Gambit::DecayBit::sup_r_decays(), Gambit::DecayBit::t_decays(), Gambit::DecayBit::tau_plus_decays(), Gambit::DecayBit::W_plus_decays(), and Gambit::DecayBit::Z_decays().

◆ calculator_version

str Gambit::DecayTable::Entry::calculator_version

Version of the code used for calculating this entry.

Definition at line 356 of file decay_table.hpp.

Referenced by Gambit::DecayBit::A0_decays(), Gambit::DecayBit::chargino_plus_1_decays_SH(), Gambit::DecayBit::chargino_plus_1_decays_smallsplit(), Gambit::DecayBit::chargino_plus_2_decays(), check_BF_validity(), Gambit::DecayBit::compute_SM_higgs_decays(), Gambit::DecayBit::CP_conjugate(), Entry(), Gambit::DecayBit::eta_decays(), Gambit::DecayBit::FH_H_plus_decays(), Gambit::DecayBit::FH_t_decays(), Gambit::DecayBit::gluino_decays(), Gambit::DecayBit::h0_2_decays(), Gambit::DecayBit::H_plus_decays(), Gambit::DecayBit::MSSM_h0_1_decays(), Gambit::DecayBit::mu_plus_decays(), Gambit::DecayBit::neutralino_1_decays(), Gambit::DecayBit::neutralino_2_decays(), Gambit::DecayBit::neutralino_3_decays(), Gambit::DecayBit::neutralino_4_decays(), Gambit::DecayBit::omega_decays(), Gambit::DecayBit::pi_0_decays(), Gambit::DecayBit::pi_plus_decays(), Gambit::DecayBit::rho1450_decays(), Gambit::DecayBit::rho_0_decays(), Gambit::DecayBit::rho_plus_decays(), Gambit::DecayBit::sbottom_1_decays(), Gambit::DecayBit::sbottom_2_decays(), Gambit::DecayBit::scharm_l_decays(), Gambit::DecayBit::scharm_r_decays(), Gambit::DecayBit::sdown_l_decays(), Gambit::DecayBit::sdown_r_decays(), Gambit::DecayBit::selectron_l_decays(), Gambit::DecayBit::selectron_r_decays(), Gambit::DecayBit::set_FH_neutral_h_decay(), Gambit::DecayBit::smuon_l_decays(), Gambit::DecayBit::smuon_r_decays(), Gambit::DecayBit::snu_electronl_decays(), Gambit::DecayBit::snu_muonl_decays(), Gambit::DecayBit::snu_taul_decays(), Gambit::DecayBit::sstrange_l_decays(), Gambit::DecayBit::sstrange_r_decays(), Gambit::DecayBit::stau_1_decays_SH(), Gambit::DecayBit::stau_1_decays_smallsplit(), Gambit::DecayBit::stau_2_decays(), Gambit::DecayBit::stop_1_decays(), Gambit::DecayBit::stop_2_decays(), Gambit::DecayBit::sup_l_decays(), Gambit::DecayBit::sup_r_decays(), Gambit::DecayBit::t_decays(), Gambit::DecayBit::tau_plus_decays(), Gambit::DecayBit::W_plus_decays(), and Gambit::DecayBit::Z_decays().

◆ channels

◆ errors

str Gambit::DecayTable::Entry::errors

Errors from the calculator.

Definition at line 360 of file decay_table.hpp.

Referenced by Gambit::DecayBit::CP_conjugate().

◆ negative_error

◆ positive_error

◆ warnings

str Gambit::DecayTable::Entry::warnings

Warnings from the calculator.

Definition at line 358 of file decay_table.hpp.

Referenced by Gambit::DecayBit::CP_conjugate().

◆ width_in_GeV

double Gambit::DecayTable::Entry::width_in_GeV

Total particle width (in GeV)

Definition at line 345 of file decay_table.hpp.

Referenced by Gambit::DecayBit::A0_decays(), Gambit::DecayBit::chargino_plus_1_decays(), Gambit::DecayBit::chargino_plus_1_decays_SH(), Gambit::DecayBit::chargino_plus_1_decays_smallsplit(), Gambit::DecayBit::chargino_plus_2_decays(), check_BF_validity(), Gambit::DecayBit::compute_SM_higgs_decays(), Gambit::DecayBit::CP_conjugate(), Gambit::DecayBit::DiracSingletDM_Higgs_decays(), Entry(), Gambit::DecayBit::eta_decays(), Gambit::DecayBit::FH_H_plus_decays(), Gambit::DecayBit::FH_t_decays(), Gambit::FlavBit::GammaW(), Gambit::FlavBit::GammaZ(), getSLHAea_block(), Gambit::DecayBit::gluino_decays(), Gambit::DecayBit::h0_2_decays(), Gambit::DecayBit::H_plus_decays(), Gambit::DarkBit::DarkBit_utils::ImportDecays(), Gambit::DecayBit::lnL_W_decays_chi2(), Gambit::DecayBit::MajoranaSingletDM_Higgs_decays(), Gambit::DecayBit::MSSM_h0_1_decays(), Gambit::SpecBit::MSSM_higgs_couplings_pwid(), Gambit::DecayBit::MSSM_inv_Higgs_BF(), Gambit::ColliderBit::MSSMLikeHiggs_ModelParameters(), Gambit::DecayBit::mu_plus_decays(), Gambit::DecayBit::neutralino_1_decays(), Gambit::DecayBit::neutralino_2_decays(), Gambit::DecayBit::neutralino_3_decays(), Gambit::DecayBit::neutralino_4_decays(), Gambit::DecayBit::omega_decays(), Gambit::DecayBit::pi_0_decays(), Gambit::DecayBit::pi_plus_decays(), Gambit::DarkBit::RD_spectrum_MSSM(), Gambit::DecayBit::rho1450_decays(), Gambit::DecayBit::rho_0_decays(), Gambit::DecayBit::rho_plus_decays(), Gambit::DecayBit::sbottom_1_decays(), Gambit::DecayBit::sbottom_2_decays(), Gambit::DecayBit::ScalarSingletDM_Higgs_decays(), Gambit::DecayBit::scharm_l_decays(), Gambit::DecayBit::scharm_r_decays(), Gambit::DecayBit::sdown_l_decays(), Gambit::DecayBit::sdown_r_decays(), Gambit::DecayBit::selectron_l_decays(), Gambit::DecayBit::selectron_r_decays(), Gambit::DecayBit::set_FH_neutral_h_decay(), Gambit::ColliderBit::set_SMLikeHiggs_ModelParameters(), Gambit::DecayBit::smuon_l_decays(), Gambit::DecayBit::smuon_r_decays(), Gambit::DecayBit::snu_electronl_decays(), Gambit::DecayBit::snu_muonl_decays(), Gambit::DecayBit::snu_taul_decays(), Gambit::DecayBit::sstrange_l_decays(), Gambit::DecayBit::sstrange_r_decays(), Gambit::DecayBit::stau_1_decays(), Gambit::DecayBit::stau_1_decays_SH(), Gambit::DecayBit::stau_1_decays_smallsplit(), Gambit::DecayBit::stau_2_decays(), Gambit::DecayBit::stop_1_decays(), Gambit::DecayBit::stop_2_decays(), Gambit::DecayBit::sup_l_decays(), Gambit::DecayBit::sup_r_decays(), Gambit::DecayBit::t_decays(), Gambit::DecayBit::tau_plus_decays(), Gambit::DarkBit::TH_ProcessCatalog_DiracSingletDM_Z2(), Gambit::DarkBit::TH_ProcessCatalog_MajoranaSingletDM_Z2(), Gambit::DarkBit::TH_ProcessCatalog_ScalarSingletDM_Z2(), Gambit::DarkBit::TH_ProcessCatalog_ScalarSingletDM_Z3(), Gambit::DarkBit::TH_ProcessCatalog_VectorSingletDM_Z2(), Gambit::DecayBit::VectorSingletDM_Higgs_decays(), Gambit::DecayBit::W_plus_decays(), and Gambit::DecayBit::Z_decays().


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