gambit is hosted by Hepforge, IPPP Durham
GAMBIT  v1.5.0-252-gf9a3f78
a Global And Modular Bsm Inference Tool
MSSM63atX.cpp
Go to the documentation of this file.
1 
27 #include <string>
28 #include <vector>
29 
32 #include "gambit/Logs/logger.hpp"
34 
39 
40 using namespace Gambit::Utils;
41 
42 // General helper translation function definition
43 namespace Gambit {
44  void MSSMatX_to_MSSMatQ(const ModelParameters &myP, ModelParameters &targetP, const SubSpectrum& HE)
45  {
46  // Copy all the parameters of MSSM63atMGUT into MSSM63atQ
47  targetP.setValues(myP);
48 
49  // Now only the "Qin" parameter is left unset. Need to extract this from the Spectrum object dependency.
50  // Make sure the high-scale value was correctly added to the spectrum wrapper object
51  if( HE.has(Par::mass1,"high_scale") )
52  {
53  targetP.setValue("Qin", HE.get(Par::mass1,"high_scale") );
54  }
55  else
56  {
57  model_error().raise(LOCAL_INFO,"Parameter with name 'high_scale' (type Par::mass1) not found in Spectrum object! Translation from MSSM63at<X> to MSSM63atQ is not possible without this value. Please use a Spectrum wrapper which provides it.");
58  }
59  // Done!
60  }
61 }
62 
63 
65 #define PARENT MSSM63atQ
66 #define MODEL MSSM63atMGUT
67 void MODEL_NAMESPACE::MSSM63atMGUT_to_MSSM63atQ (const ModelParameters &myP, ModelParameters &targetP)
68 {
69  USE_MODEL_PIPE(PARENT) // get pipe for "interpret as PARENT" function
70  logger()<<"Running interpret_as_parent calculations for MSSM63atMGUT --> MSSM63atQ..."<<LogTags::info<<EOM;
71  const SubSpectrum& HE = Dep::unimproved_MSSM_spectrum->get_HE();
72  MSSMatX_to_MSSMatQ(myP, targetP, HE);
73 }
74 #undef MODEL
75 
76 #define MODEL MSSM63atMSUSY
77 void MODEL_NAMESPACE::MSSM63atMSUSY_to_MSSM63atQ (const ModelParameters &myP, ModelParameters &targetP)
78 {
79  USE_MODEL_PIPE(PARENT) // get pipe for "interpret as PARENT" function
80  logger()<<"Running interpret_as_parent calculations for MSSM63atMSUSY --> MSSM63atQ..."<<LogTags::info<<EOM;
81  const SubSpectrum& HE = Dep::unimproved_MSSM_spectrum->get_HE();
82  MSSMatX_to_MSSMatQ(myP, targetP, HE);
83 }
84 #undef MODEL
85 #undef PARENT
86 
This class is used to deliver both information defined in the Standard Model (or potentially just QED...
#define LOCAL_INFO
Definition: local_info.hpp:34
Logging access header for GAMBIT.
Helper macros for model definitions.
#define PARENT
Translation function definitions.
Definition: MSSM63atX.cpp:65
General small utility functions.
void setValue(std::string const &inkey, double const &value)
Set single parameter value.
virtual double get(const Par::Tags, const str &, const SpecOverrideOptions=use_overrides, const SafeBool check_antiparticle=SafeBool(true)) const =0
void MSSMatX_to_MSSMatQ(const ModelParameters &myP, ModelParameters &targetP, const SubSpectrum &HE)
Definition: MSSM63atX.cpp:44
#define USE_MODEL_PIPE(MODEL_X)
Macro to easily get the Pipes for an INTERPRET_AS_X function, for retrieving dependencies.
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
Virtual base class for interacting with spectrum generator output.
Definition: subspectrum.hpp:87
void setValues(std::map< std::string, double > const &params_map, bool missing_is_error=true)
Set many parameter values using a map.
error & model_error()
Model errors.
TODO: see if we can use this one:
Definition: Analysis.hpp:33
virtual bool has(const Par::Tags, const str &, const SpecOverrideOptions=use_overrides, const SafeBool check_antiparticle=SafeBool(true)) const =0
Getters/Setters etc.