gambit is hosted by Hepforge, IPPP Durham
GAMBIT  v1.5.0-252-gf9a3f78
a Global And Modular Bsm Inference Tool
PrecisionBit_rollcall.hpp
Go to the documentation of this file.
1 // GAMBIT: Global and Modular BSM Inference Tool
2 // *********************************************
42 
43 
44 #ifndef __PrecisionBit_rollcall_hpp__
45 #define __PrecisionBit_rollcall_hpp__
46 
47 
48 #define MODULE PrecisionBit
50 
51 
52  // FeynHiggs EWK precision observables
53  #define CAPABILITY FH_Precision
55  #define FUNCTION FH_PrecisionObs
56  START_FUNCTION(fh_PrecisionObs)
57  DEPENDENCY(FH_Couplings_output, fh_Couplings)
58  BACKEND_REQ(FHConstraints, (libfeynhiggs), void, (int&,fh_real&,fh_real&,fh_real&,fh_real&,
59  fh_real&,fh_real&,fh_real&,fh_real&,fh_real&,int&))
60  BACKEND_OPTION( (FeynHiggs), (libfeynhiggs) )
62  #undef FUNCTION
63  #undef CAPABILITY
64 
65  // Extractors for FeynHiggs EWK precision observables
68  QUICK_FUNCTION(PrecisionBit, prec_mw, NEW_CAPABILITY, FH_precision_mw, triplet<double>, (MSSM30atQ, MSSM30atMGUT, NUHM2), (FH_Precision, fh_PrecisionObs))
69  QUICK_FUNCTION(PrecisionBit, prec_sinW2_eff, NEW_CAPABILITY, FH_precision_sinW2, triplet<double>, (MSSM30atQ, MSSM30atMGUT, NUHM2), (FH_Precision, fh_PrecisionObs))
70  QUICK_FUNCTION(PrecisionBit, edm_e, NEW_CAPABILITY, FH_precision_edm_e, double, (MSSM30atQ, MSSM30atMGUT, NUHM2), (FH_Precision, fh_PrecisionObs))
71  QUICK_FUNCTION(PrecisionBit, edm_n, NEW_CAPABILITY, FH_precision_edm_n, double, (MSSM30atQ, MSSM30atMGUT, NUHM2), (FH_Precision, fh_PrecisionObs))
72  QUICK_FUNCTION(PrecisionBit, edm_hg, NEW_CAPABILITY, FH_precision_edm_hg, double, (MSSM30atQ, MSSM30atMGUT, NUHM2), (FH_Precision, fh_PrecisionObs))
73 
74  // Precision MSSM spectrum manufacturers
75  #define CAPABILITY MSSM_spectrum
77 
78  #define FUNCTION make_MSSM_precision_spectrum_4H_W
81  DEPENDENCY(prec_mw, triplet<double>)
82  DEPENDENCY(prec_mh, triplet<double>)
83  DEPENDENCY(prec_HeavyHiggsMasses, map_int_triplet_dbl)
84  #undef FUNCTION
85 
86  #define FUNCTION make_MSSM_precision_spectrum_H_W
89  DEPENDENCY(prec_mw, triplet<double>)
90  DEPENDENCY(prec_mh, triplet<double>)
91  #undef FUNCTION
92 
93  #define FUNCTION make_MSSM_precision_spectrum_H
96  DEPENDENCY(prec_mh, triplet<double>)
97  #undef FUNCTION
98 
99  #define FUNCTION make_MSSM_precision_spectrum_W
102  DEPENDENCY(prec_mw, triplet<double>)
103  #undef FUNCTION
104 
105  #define FUNCTION make_MSSM_precision_spectrum_none
108  #undef FUNCTION
109 
110  #undef CAPABILITY
111 
112  // Basic mass extractors for different types of spectra, for use with precision likelihoods and other things not needing a whole spectrum object.
113  QUICK_FUNCTION(PrecisionBit, mw, NEW_CAPABILITY, mw_from_SM_spectrum, triplet<double>, (), (SM_spectrum, Spectrum))
117  QUICK_FUNCTION(PrecisionBit, mw, OLD_CAPABILITY, mw_from_DiracSingletDM_Z2_spectrum, triplet<double>, (DiracSingletDM_Z2), (DiracSingletDM_Z2_spectrum, Spectrum))
119  QUICK_FUNCTION(PrecisionBit, mw, OLD_CAPABILITY, mw_from_MSSM_spectrum, triplet<double>, (MSSM63atQ, MSSM63atMGUT), (MSSM_spectrum, Spectrum))
120  QUICK_FUNCTION(PrecisionBit, mh, NEW_CAPABILITY, mh_from_SM_spectrum, triplet<double>, (), (SM_spectrum, Spectrum))
121  QUICK_FUNCTION(PrecisionBit, mh, OLD_CAPABILITY, mh_from_ScalarSingletDM_Z2_spectrum, triplet<double>, (ScalarSingletDM_Z2,ScalarSingletDM_Z2_running), (ScalarSingletDM_Z2_spectrum, Spectrum))
122  QUICK_FUNCTION(PrecisionBit, mh, OLD_CAPABILITY, mh_from_ScalarSingletDM_Z3_spectrum, triplet<double>, (ScalarSingletDM_Z3,ScalarSingletDM_Z3_running), (ScalarSingletDM_Z3_spectrum, Spectrum))
123  QUICK_FUNCTION(PrecisionBit, mh, OLD_CAPABILITY, mh_from_MSSM_spectrum, triplet<double>, (MSSM63atQ, MSSM63atMGUT), (MSSM_spectrum, Spectrum))
124 
125  // SM nuisance likelihoods
126  QUICK_FUNCTION(PrecisionBit, lnL_Z_mass, NEW_CAPABILITY, lnL_Z_mass_chi2, double, (), (SMINPUTS, SMInputs))
127  QUICK_FUNCTION(PrecisionBit, lnL_t_mass, NEW_CAPABILITY, lnL_t_mass_chi2, double, (), (SMINPUTS, SMInputs))
128  QUICK_FUNCTION(PrecisionBit, lnL_mbmb, NEW_CAPABILITY, lnL_mbmb_chi2, double, (), (SMINPUTS, SMInputs))
129  QUICK_FUNCTION(PrecisionBit, lnL_mcmc, NEW_CAPABILITY, lnL_mcmc_chi2, double, (), (SMINPUTS, SMInputs))
130  QUICK_FUNCTION(PrecisionBit, lnL_alpha_em, NEW_CAPABILITY, lnL_alpha_em_chi2, double, (), (SMINPUTS, SMInputs))
131  QUICK_FUNCTION(PrecisionBit, lnL_alpha_s, NEW_CAPABILITY, lnL_alpha_s_chi2, double, (), (SMINPUTS, SMInputs))
132  QUICK_FUNCTION(PrecisionBit, lnL_GF, NEW_CAPABILITY, lnL_GF_chi2, double, (), (SMINPUTS, SMInputs))
133 
134  QUICK_FUNCTION(PrecisionBit, lnL_light_quark_masses, NEW_CAPABILITY, lnL_light_quark_masses_chi2, double, (), (SMINPUTS, SMInputs))
135 
136 
137  // Electroweak precision likelihoods: W mass
138  #define CAPABILITY lnL_W_mass
140  #define FUNCTION lnL_W_mass_chi2
141  START_FUNCTION(double)
143  #undef FUNCTION
144  #undef CAPABILITY
145 
146  // Naive Higgs mass likelihood
147  #define CAPABILITY lnL_h_mass
149  #define FUNCTION lnL_h_mass_chi2
150  START_FUNCTION(double)
152  #undef FUNCTION
153  #undef CAPABILITY
154 
155  // Electroweak precision likelihoods: effective leptonic weak mixing angle
156  #define CAPABILITY lnL_sinW2_eff
158  #define FUNCTION lnL_sinW2_eff_chi2
159  START_FUNCTION(double)
160  DEPENDENCY(prec_sinW2_eff, triplet<double>)
161  #undef FUNCTION
162  #undef CAPABILITY
163 
164 
165  // Precision likelihood: (g-2)_\mu
166  #define CAPABILITY lnL_gm2
168  #define FUNCTION lnL_gm2_chi2
169  START_FUNCTION(double)
171  DEPENDENCY(muon_gm2_SM, triplet<double>)
172  #undef FUNCTION
173  #undef CAPABILITY
174 
175  // Electroweak precision likelihoods: Delta rho
176  #define CAPABILITY lnL_deltarho
178  #define FUNCTION lnL_deltarho_chi2
179  START_FUNCTION(double)
180  DEPENDENCY(deltarho, triplet<double>)
181  #undef FUNCTION
182  #undef CAPABILITY
183 
184  // SUSYPOPE EWK precision observables
185  #define CAPABILITY SP_PrecisionObs
187  #define FUNCTION SP_PrecisionObs
188  START_FUNCTION(double)
189  BACKEND_REQ(CalcObs_SUSYPOPE, (libSUSYPOPE), void, (int&,
190  Farray<Fdouble,1,35>&,
191  Farray<Fdouble,1,35>&))
192  BACKEND_OPTION( (SUSYPOPE, 0.2), (libSUSYPOPE) )
193  ALLOW_MODELS(MSSM30atQ, MSSM30atMGUT, NUHM2)
194  #undef FUNCTION
195  #undef CAPABILITY
196 
197 
198  // Observable: BSM contribution to (g-2)_mu
199  #define CAPABILITY muon_gm2
200 
201  // Muon g-2 -- Using SuperIso
202  #define FUNCTION SI_muon_gm2
204  DEPENDENCY(SuperIso_modelinfo, parameters)
205  BACKEND_REQ(muon_gm2, (libsuperiso), double, (const parameters*))
206  BACKEND_OPTION( (SuperIso, 3.6), (libsuperiso) )
207  #undef FUNCTION
208 
209  // Muon g-2 -- Using gm2calc
210  #define FUNCTION GM2C_SUSY
212  NEEDS_CLASSES_FROM(gm2calc, default)
213  DEPENDENCY(MSSM_spectrum, Spectrum)
214  BACKEND_REQ(calculate_amu_1loop, (libgm2calc), double, (const gm2calc_default::gm2calc::MSSMNoFV_onshell&))
215  BACKEND_REQ(calculate_amu_2loop, (libgm2calc), double, (const gm2calc_default::gm2calc::MSSMNoFV_onshell&))
216  BACKEND_REQ(calculate_uncertainty_amu_2loop, (libgm2calc), double, (const gm2calc_default::gm2calc::MSSMNoFV_onshell&))
217  BACKEND_OPTION( (gm2calc), (libgm2calc) )
218  ALLOW_MODELS(MSSM30atQ, MSSM30atQ_mA, MSSM30atMGUT, MSSM30atMGUT_mA, NUHM2)
219  #undef FUNCTION
220 
221  #undef CAPABILITY
222 
223  // Observable: SM contribution to (g-2)_mu
224  #define CAPABILITY muon_gm2_SM
225 
226  // SM muon g-2, based on e+e- data
227  #define FUNCTION gm2_SM_ee
229  #undef FUNCTION
230 
231  // SM muon g-2, based on tau+tau- data
232  #define FUNCTION gm2_SM_tautau
234  #undef FUNCTION
235 
236  #undef CAPABILITY
237 
238  // EWPO corrections from heavy neutrinos
239  #define CAPABILITY prec_sinW2_eff
240  #define FUNCTION RHN_sinW2_eff
242  DEPENDENCY(SeesawI_Theta, Eigen::Matrix3cd)
243  ALLOW_MODEL(RightHandedNeutrinos)
244  #undef FUNCTION
245  #undef CAPABILITY
246 
247  #define CAPABILITY mw
248  #define FUNCTION RHN_mw
250  DEPENDENCY(prec_sinW2_eff, triplet<double>)
251  DEPENDENCY(SeesawI_Theta, Eigen::Matrix3cd)
252  ALLOW_MODEL(RightHandedNeutrinos)
253  #undef FUNCTION
254  #undef CAPABILITY
255 
256  // Neutron lifetime likelihood: beam
257  #define CAPABILITY lnL_neutron_lifetime_beam
259  #define FUNCTION lnL_neutron_lifetime_beam_Yue
260  START_FUNCTION(double)
261  ALLOW_MODEL(nuclear_params_neutron_lifetime)
262  #undef FUNCTION
263  #undef CAPABILITY
264 
265  // Neutron lifetime likelihood: bottle
266  #define CAPABILITY lnL_neutron_lifetime_bottle
268  #define FUNCTION lnL_neutron_lifetime_bottle_PDG19
269  START_FUNCTION(double)
270  ALLOW_MODEL(nuclear_params_neutron_lifetime)
271  #undef FUNCTION
272  #undef CAPABILITY
273 
274 
275 
276 
277 #undef MODULE
278 
279 
280 #endif /* defined(__PrecisionBit_rollcall_hpp__) */
281 
282 
default const gm2calc_default::gm2calc::MSSMNoFV_onshell const gm2calc_default::gm2calc::MSSMNoFV_onshell MSSM30atMGUT_mA
void lnL_mcmc_chi2(double &result)
c quark mass likelihood m_c (mc)^MSbar = 1.28 +/- 0.03 GeV (1 sigma), Gaussian.
fh_Couplings libfeynhiggs fh_PrecisionObs FH_precision_mw
Spectrum Spectrum Spectrum mw
void lnL_t_mass_chi2(double &result)
t quark mass likelihood m_t (pole) = 173.34 +/- 0.76 GeV (1 sigma), Gaussian.
Spectrum Spectrum Spectrum Spectrum Spectrum MajoranaSingletDM_Z2_spectrum
fh_Couplings libfeynhiggs fh_PrecisionObs fh_PrecisionObs FH_precision_edm_e
void FH_precision_deltarho(triplet< double > &result)
fh_Couplings libfeynhiggs FH_Precision
Spectrum Spectrum Spectrum Spectrum Spectrum Spectrum Spectrum mh_from_ScalarSingletDM_Z3_spectrum
default const gm2calc_default::gm2calc::MSSMNoFV_onshell const gm2calc_default::gm2calc::MSSMNoFV_onshell MSSM30atQ_mA
Spectrum Spectrum Spectrum mw_from_ScalarSingletDM_Z2_spectrum
fh_Couplings libfeynhiggs triplet< double >
Spectrum Spectrum Spectrum Spectrum Spectrum Spectrum Spectrum Spectrum SMInputs SMInputs lnL_alpha_em_chi2
fh_Couplings libfeynhiggs ALLOW_MODELS(MSSM30atQ, MSSM30atMGUT, NUHM2) QUICK_FUNCTION(PrecisionBit
fh_Couplings libfeynhiggs MSSM30atMGUT
Spectrum Spectrum Spectrum Spectrum Spectrum Spectrum Spectrum Spectrum SMInputs lnL_mbmb_chi2
fh_Couplings BACKEND_REQ(FHConstraints,(libfeynhiggs), void,(int &, fh_real &, fh_real &, fh_real &, fh_real &, fh_real &, fh_real &, fh_real &, fh_real &, fh_real &, int &)) BACKEND_OPTION((FeynHiggs)
void mw_from_MSSM_spectrum(triplet< double > &result)
Spectrum DEPENDENCY(prec_mw, triplet< double >) DEPENDENCY(prec_mh
double Fdouble
Definition: util_types.hpp:630
START_FUNCTION(fh_PrecisionObs) DEPENDENCY(FH_Couplings_output
Spectrum Spectrum Spectrum OLD_CAPABILITY
Spectrum Spectrum Spectrum Spectrum Spectrum mw_from_MajoranaSingletDM_Z2_spectrum
fh_Couplings libfeynhiggs fh_PrecisionObs fh_PrecisionObs edm_e
Spectrum Spectrum Spectrum Spectrum Spectrum Spectrum Spectrum ScalarSingletDM_Z3_running
Spectrum Spectrum Spectrum Spectrum Spectrum Spectrum Spectrum Spectrum SMInputs SMInputs lnL_alpha_em
Spectrum Spectrum Spectrum Spectrum Spectrum Spectrum Spectrum ScalarSingletDM_Z3_spectrum
Spectrum Spectrum Spectrum ScalarSingletDM_Z2_spectrum
void mh_from_MSSM_spectrum(triplet< double > &result)
fh_Couplings libfeynhiggs NUHM2
int Farray< Fdouble, 1, 35 > Farray< Fdouble, 1, 35 > & BACKEND_OPTION((SUSYPOPE, 0.2),(libSUSYPOPE)) ALLOW_MODELS(MSSM30atQ
void lnL_light_quark_masses_chi2(double &result)
Likelihoods for light quark mass ratios.
Spectrum Spectrum Spectrum Spectrum Spectrum Spectrum Spectrum Spectrum lnL_Z_mass_chi2
Spectrum Spectrum Spectrum ScalarSingletDM_Z2
fh_Couplings libfeynhiggs MSSM30atQ
Spectrum Spectrum Spectrum Spectrum Spectrum Spectrum mh_from_SM_spectrum
fh_Couplings libfeynhiggs FH_precision_gm2
fh_Couplings libfeynhiggs fh_PrecisionObs QUICK_FUNCTION(PrecisionBit, deltarho, NEW_CAPABILITY, FH_precision_deltarho, triplet< double >,(MSSM30atQ, MSSM30atMGUT, NUHM2),(FH_Precision, fh_PrecisionObs)) QUICK_FUNCTION(PrecisionBit
Spectrum Spectrum Spectrum Spectrum Spectrum Spectrum Spectrum Spectrum SMInputs lnL_mbmb
Spectrum Spectrum Spectrum Spectrum mw_from_VectorSingletDM_Z2_spectrum
fh_Couplings libfeynhiggs muon_gm2
void lnL_alpha_s_chi2(double &result)
alpha_s(mZ)^MSbar likelihood alpha_s(mZ)^MSbar = 0.1181 +/- 0.0011 (1 sigma), Gaussian.
void FH_precision_edm_n(double &result)
fh_Couplings libfeynhiggs fh_PrecisionObs fh_PrecisionObs fh_PrecisionObs edm_hg
fh_Couplings libfeynhiggs fh_PrecisionObs prec_mw
Spectrum Spectrum Spectrum Spectrum Spectrum Spectrum Spectrum Spectrum SMInputs SMInputs SMInputs lnL_GF_chi2
Spectrum Spectrum Spectrum Spectrum Spectrum MajoranaSingletDM_Z2
WC libsuperiso
#define START_MODULE
Registers the current MODULE.
Spectrum Spectrum
default libgm2calc
DS5_MSPCTM DS_INTDOF const str TH_ProcessCatalog DiracSingletDM_Z2
Eigen::Matrix3cd ALLOW_MODEL(RightHandedNeutrinos) START_FUNCTION(triplet< double >) DEPENDENCY(prec_sinW2_eff
void mw_from_ScalarSingletDM_Z3_spectrum(triplet< double > &result)
Spectrum Spectrum Spectrum Spectrum Spectrum Spectrum Spectrum Spectrum SMInputs SMInputs SMInputs lnL_GF
void mw_from_SM_spectrum(triplet< double > &result)
Basic mass extractors for different types of spectra, for use with precision likelihoods and other th...
Spectrum Spectrum Spectrum Spectrum Spectrum Spectrum Spectrum Spectrum lnL_Z_mass
void FH_precision_sinW2(triplet< double > &result)
void mw_from_DiracSingletDM_Z2_spectrum(triplet< double > &result)
Spectrum Spectrum Spectrum Spectrum VectorSingletDM_Z2_spectrum
Spectrum Spectrum Spectrum Spectrum Spectrum Spectrum SM_spectrum
Spectrum Spectrum Spectrum Spectrum Spectrum Spectrum Spectrum ScalarSingletDM_Z3
Spectrum Spectrum Spectrum Spectrum Spectrum Spectrum mh
fh_Couplings libfeynhiggs NEW_CAPABILITY
Spectrum Spectrum Spectrum Spectrum VectorSingletDM_Z2
#define START_CAPABILITY
Registers the current CAPABILITY of the current MODULE.
#define NEEDS_CLASSES_FROM(...)
Redirects the NEEDS_CLASSES_FROM(BACKEND, [VERSIONS]) macro to the CLASSLOAD_NEEDED(BACKEND, VERSTRING) macro according to whether it has been called with version numbers or not (making the version number &#39;default&#39; if it is omitted).
Spectrum Spectrum Spectrum Spectrum Spectrum Spectrum Spectrum Spectrum SMINPUTS
std::map< int, triplet< double > > map_int_triplet_dbl
Shorthand for an int-to-double triplet map.
Definition: util_types.hpp:127
void mh_from_ScalarSingletDM_Z2_spectrum(triplet< double > &result)
Spectrum Spectrum Spectrum ScalarSingletDM_Z2_running
fh_Couplings libfeynhiggs fh_PrecisionObs fh_PrecisionObs fh_PrecisionObs FH_precision_edm_hg