gambit is hosted by Hepforge, IPPP Durham
GAMBIT  v1.5.0-252-gf9a3f78
a Global And Modular Bsm Inference Tool
MSSM25atX.cpp
Go to the documentation of this file.
1 // GAMBIT: Global and Modular BSM Inference Tool
2 // *********************************************
3 //
4 // MSSM25 translation function definitions
5 //
6 // Contains translation functions for
7 // MSSM25atQ --> MSSM30atQ
8 // MSSM25atQ_mA --> MSSM30atQ_mA
9 // MSSM25atMGUT --> MSSM30atMGUT
10 // MSSM25atMGUT_mA --> MSSM30atMGUT_mA
11 // MSSM25atMSUSY --> MSSM30atMSUSY
12 // MSSM25atMSUSY_mA --> MSSM30atMSUSY_mA
13 //
14 // *********************************************
15 //
16 // Authors
17 // =======
18 //
19 // (add name and date if you modify)
20 //
21 // Ben Farmer
22 // 2017 Oct
23 //
24 // *********************************************
25 
26 #include <string>
27 #include <vector>
28 
31 #include "gambit/Logs/logger.hpp"
33 
40 
41 
42 using namespace Gambit::Utils;
43 
44 // General helper translation function definition
45 namespace Gambit {
47  {
48  // Copy all the common parameters of MSSM25atQ into MSSM30atQ
49  targetP.setValues(myP,false);
50 
51  // Manually set the parameters which differ
52  // slepton trilinear couplings
53  // Off-diagonal elements set to zero by parent model
54  // First and second generation elements set equal
55  targetP.setValue("Ae_1", myP["Ae_12"] ); // Ae2_11 in MSSM63
56  targetP.setValue("Ae_2", myP["Ae_12"] ); // Ae2_22 " "
57  //targetP.setValue("Ae_3", myP["Ae_3"] ); // Ae2_33 // Taken care of by common parameter copy
58 
59  // down-type trilinear couplings
60  // Off-diagonal elements set to zero by parent model
61  // First and second generation to zero
62  targetP.setValue("Ad_1", 0. ); // Ad2_11 in MSSM63
63  targetP.setValue("Ad_2", 0. ); // Ad2_22 " "
64  //targetP.setValue("Ad_3", myP["Ad_3"] ); // Ad2_33 // Taken care of by common parameter copy
65 
66  // up-type trilinear couplings
67  // Off-diagonal elements set to zero by parent model
68  // First and second generation set to zero
69  targetP.setValue("Au_1", 0. ); // Au2_11 in MSSM63
70  targetP.setValue("Au_2", 0. ); // Au2_22 " "
71  // targetP.setValue("Au_3", myP["Au_3"] ); // Au2_33 // Taken care of by common parameter copy
72 
73  // Done
74  }
75 }
76 
79 #define DEFINE_IAPFUNC(PARENT) \
80 void MODEL_NAMESPACE::CAT_3(MODEL,_to_,PARENT) (const ModelParameters &myP, ModelParameters &targetP) \
81 { \
82  logger()<<"Running interpret_as_parent calculations for " STRINGIFY(MODEL) " --> " STRINGIFY(PARENT) "..."<<LogTags::info<<EOM; \
83  MSSM25atX_to_MSSM30atX(myP, targetP); \
84 } \
85 
86 #define MODEL MSSM25atQ
88 #undef MODEL
89 #define MODEL MSSM25atQ_mA
91 #undef MODEL
92 #define MODEL MSSM25atMGUT
94 #undef MODEL
95 #define MODEL MSSM25atMGUT_mA
97 #undef MODEL
98 #define MODEL MSSM25atMSUSY
99 DEFINE_IAPFUNC(MSSM30atMSUSY)
100 #undef MODEL
101 #define MODEL MSSM25atMSUSY_mA
102 DEFINE_IAPFUNC(MSSM30atMSUSY_mA)
103 #undef MODEL
104 
default const gm2calc_default::gm2calc::MSSMNoFV_onshell const gm2calc_default::gm2calc::MSSMNoFV_onshell MSSM30atMGUT_mA
MSSM25atMSUSY model definition.
default const gm2calc_default::gm2calc::MSSMNoFV_onshell const gm2calc_default::gm2calc::MSSMNoFV_onshell MSSM30atQ_mA
MSSM25atMGUT model definition.
MSSM25atMGUT_mA model definition.
Logging access header for GAMBIT.
Helper macros for model definitions.
void MSSM25atX_to_MSSM30atX(const ModelParameters &myP, ModelParameters &targetP)
Definition: MSSM25atX.cpp:46
General small utility functions.
void setValue(std::string const &inkey, double const &value)
Set single parameter value.
MSSM25atQ_mA model definition.
void setValues(std::map< std::string, double > const &params_map, bool missing_is_error=true)
Set many parameter values using a map.
MSSM25atMSUSY_mA model definition.
MSSM25atQ model definition.
#define DEFINE_IAPFUNC(PARENT)
Definition: MSSM25atX.cpp:79
TODO: see if we can use this one:
Definition: Analysis.hpp:33