spectrum.cpp
Go to the documentation of this file.
38 #include "gambit/Models/SimpleSpectra/SMSimpleSpec.hpp" // For auto-creation of simple SM low-energy SubSpectrum 52 if(not initialised) utils_error().raise(LOCAL_INFO,"Access or deepcopy of empty Spectrum object attempted!"); 74 Spectrum::Spectrum() : input_Param(NULL), mass_cuts(NULL), mass_ratio_cuts(NULL), initialised(false) {} 77 Spectrum::Spectrum(const SubSpectrum& le, const SubSpectrum& he, const SMInputs& smi, const std::map<str, safe_ptr<const double> >* params, 91 Spectrum::Spectrum(const SubSpectrum& he, const SMInputs& smi, const std::map<str, safe_ptr<const double> >* params, const mc_info& mci, const mr_info& mri) 105 Spectrum::Spectrum(SubSpectrum* const le, SubSpectrum* const he, const SMInputs& smi, const std::map<str, safe_ptr<const double> >* params, 179 cout << "Applying mass cut " << low << " GeV < " << (absolute_value ? "|mass("+p+")|" : "mass("+p+")") << " < " << high << " GeV" << endl; 181 if (not has(Par::Pole_Mass, p)) utils_error().raise(LOCAL_INFO, "Cannot cut on mass of unrecognised particle: " + p); 206 if (not has(Par::Pole_Mass, p1)) utils_error().raise(LOCAL_INFO, "Cannot cut on ratio with mass of unrecognised particle: " + p1); 207 if (not has(Par::Pole_Mass, p2)) utils_error().raise(LOCAL_INFO, "Cannot cut on ratio with mass of unrecognised particle: " + p2); 216 if (mratio < low or mratio > high) invalid_point().raise(p1 + "/" + p2 +" failed requested mass ratio cut."); 260 errmsg << "No pole mass with string reference '"<<mass<<"' could be found in either LE or HE SubSpectrum!" <<std::endl; 286 errmsg << "No pole mass with string reference '"<<mass<<"' and index '"<<index<<"' could be found in either LE or HE SubSpectrum!" <<std::endl; 293 bool Spectrum::has(const Par::Tags partype, const std::string& mass, const int index1, const int index2) const 298 double Spectrum::get(const Par::Tags partype, const std::string& mass, const int index1, const int index2) const 309 errmsg << "No pole mixing with string reference '"<<mass<<"' and indices '"<<index1<<"','"<<index2<<"' could be found in either LE or HE SubSepctrum!" << std::endl; 452 void Spectrum::drop_SLHAs_if_requested(const safe_ptr<Options>& runOptions, const str& default_name) 470 // The expressions in all of the following CKM functions are from the CKMFitter paper hep-ph/0406184v3. 473 std::complex<double> Spectrum::rhoplusieta(double lambda, double A, double rhobar, double etabar) 535 return A*l*l * (0.5*pow(l,2)*(1.0-2.0*x) + 0.125*pow(l,4) + 0.0625*pow(l,6)*(1.0+8.0*A*A*x) - 1.0); friend void swap(Spectrum &first, Spectrum &second) Friend function: swap resources of two Spectrum objects. Definition: spectrum.cpp:57 void drop_SLHAs_if_requested(const safe_ptr< Options > &, const str &) Helper function to drop SLHA files. Definition: spectrum.cpp:452 void RunToScale(double scale, const int behave=0) Run spectrum to a new scale This function is a wrapper for RunToScaleOverride which automatically che... Definition: subspectrum.cpp:550 double get(const Par::Tags partype, const std::string &mass) const Definition: spectrum.cpp:249 This class is used to deliver both information defined in the Standard Model (or potentially just QED... std::pair< str, int > short_name_pair(str) const Retrieve the short name and index, from the long name. Definition: partmap.cpp:155 virtual std::unique_ptr< SubSpectrum > clone() const =0 Clone the SubSpectrum object. static std::complex< double > Wolf2V_cd(double, double, double, double) CKM Wolfenstein –> V_cd standard parameterisation convertor. Definition: spectrum.cpp:502 virtual void add_to_SLHAea(int, SLHAstruct &) const Add spectrum information to an SLHAea object (if possible) Definition: subspectrum.hpp:111 static std::complex< double > Wolf2V_cs(double, double, double, double) CKM Wolfenstein –> V_cs standard parameterisation convertor. Definition: spectrum.cpp:509 const std::map< str, safe_ptr< const double > > * input_Param Definition: spectrum.hpp:132 void writeSLHAfile(int, const str &) const Output spectrum contents as an SLHA file, using getSLHAea. Definition: spectrum.cpp:441 std::unique_ptr< SubSpectrum > clone_LE() const Clone getters Note: If you want to clone the whole Spectrum object, just use copy constructor... Definition: spectrum.cpp:234 bool is_abs(str &s) Helper function for checking if a particle or ratio has been requested as an absolute value... Definition: spectrum.cpp:160 SLHAstruct getSLHAea(int) const SLHAea object getter First constructs an SLHAea object from the SMINPUTS object, then adds the info f... Definition: spectrum.cpp:432 GAMBIT file locking functions Use these to block access to sensitive parts of the code by other proce... str long_name(str, int) const Retrieve the long name, from the short name and index. Definition: partmap.cpp:124 void swap(Spectrum &first, Spectrum &second) Swap resources of two Spectrum objects Note: Not a member function! This is an external function whic... Definition: spectrum.cpp:57 virtual const std::map< int, int > & PDG_translator() const TODO: extra PDB overloads to handle all the one and two index cases (well all the ones that are feasi... Definition: subspectrum.hpp:257 static double Wolf2V_ud(double, double, double, double) CKM Wolfenstein (lambda, A, rhobar, etabar) –> V_qq standard parameterisation convertors. Definition: spectrum.cpp:481 SLHAea::Coll SLHAstruct Less confusing name for SLHAea container class. Definition: slhaea_helpers.hpp:41 void check_mass_cuts() Check the that the spectrum satisifies any mass cuts requested from the yaml file. Definition: spectrum.cpp:168 virtual void raise(const std::string &) Raise the exception, i.e. throw it. Exact override of base method. Definition: exceptions.cpp:422 virtual double get(const Par::Tags, const str &, const SpecOverrideOptions=use_overrides, const SafeBool check_antiparticle=SafeBool(true)) const =0 static std::complex< double > Wolf2V_td(double, double, double, double) CKM Wolfenstein –> V_td standard parameterisation convertor. Definition: spectrum.cpp:525 SM specialisation of SLHAea object wrapper version of SubSpectrum class. Definition: SMSimpleSpec.hpp:88 double safeget(const Par::Tags partype, const std::string &mass) const Getters which first check the sanity of the thing they are returning. Definition: spectrum.cpp:380 static std::complex< double > Wolf2V_ts(double, double, double, double) CKM Wolfenstein –> V_ts standard parameterisation convertor. Definition: spectrum.cpp:532 bool has(const Par::Tags partype, const std::string &mass) const Pole mass getters/checkers "Shortcut" getters/checkers to access pole masses in hosted SubSpectrum ob... Definition: spectrum.cpp:244 static std::complex< double > Wolf2V_ub(double, double, double, double) CKM Wolfenstein –> V_ub standard parameterisation convertor. Definition: spectrum.cpp:496 std::unique_ptr< SubSpectrum > clone_HE() const Definition: spectrum.cpp:235 SubSpectrum & get_LE() Standard getters Return references to internal data members. Definition: spectrum.cpp:224 double lambda(double x, double y, double z) Definition: MSSM_H.hpp:38 Virtual base class for interacting with spectrum generator output. Definition: subspectrum.hpp:87 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 cha... Definition: spectrum.cpp:465 Spectrum & operator=(const Spectrum &other) Copy-assignment Using "copy-and-swap" idiom. Definition: spectrum.cpp:132 Exception objects required for standalone compilation. std::vector< YAML::sdd > mc_info Typedefs for making it easier to manipulate mass cut and mass ratio cut info. Definition: spectrum.hpp:119 invalid_point_exception & invalid_point() Invalid point exceptions. Definition: standalone_error_handlers.cpp:83 static double Wolf2V_cb(double, double, double, double) CKM Wolfenstein –> V_cb standard parameterisation convertor. Definition: spectrum.cpp:519 static double Wolf2V_us(double, double, double, double) CKM Wolfenstein –> V_us standard parameterisation convertor. Definition: spectrum.cpp:489 virtual bool has(const Par::Tags, const str &, const SpecOverrideOptions=use_overrides, const SafeBool check_antiparticle=SafeBool(true)) const =0 Getters/Setters etc. "Standard Model" (low-energy) plus high-energy model container class Definition: spectrum.hpp:110 static std::complex< double > rhoplusieta(double, double, double, double) Calculate Wolfenstein rho+i*eta from rhobar and etabar. Definition: spectrum.cpp:473 void RunBothToScale(double scale) Linked running Only possible with non-const object. Definition: spectrum.cpp:153 Container class for Standard Model input information (defined as in SLHA2) Definition: sminputs.hpp:29 static double Wolf2V_tb(double, double, double, double) CKM Wolfenstein –> V_tb standard parameterisation convertor. Definition: spectrum.cpp:539 |