34 #include <type_traits> 43 typedef std::complex<double> complex;
56 order operator++(order & o){
57 return o =
static_cast<order
>(o + 1);
61 order operator--(order & o){
62 return o =
static_cast<order
>(o - 1);
65 std::string to_string(order o);
67 std::ostream& operator<<(std::ostream& os, order o);
70 using namespace pert_order;
75 constexpr
SM operator|(
SM a,
SM b){
76 typedef std::underlying_type<SM>::type SM_type;
77 return static_cast<SM>(
static_cast<SM_type
>(a) | static_cast<SM_type>(b));
81 SM & operator|=(
SM & a,
SM b){
86 constexpr
SM operator&(
SM a,
SM b){
87 typedef std::underlying_type<SM>::type SM_type;
88 return static_cast<SM>(
static_cast<SM_type
>(a) & static_cast<SM_type>(b));
114 constexpr
bool operator!(
SM a){
118 std::string to_string(
SM s);
120 std::ostream& operator<<(std::ostream& os,
SM s);
152 std::array<double,3> v_Coulomb = {{1.,1.,1.}};
154 std::array<double,2> v_delta = {{1.,1.}};
156 std::array<double,2> v_r2inv = {{1.,1.}};
158 std::array<double,2> v_p2 = {{1.,1.}};
160 std::array<double,1> v_kinetic = {{1.}};
162 std::array<double,1> ultrasoft = {{1.}};
164 std::array<double,1> v_Higgs = {{1.}};
166 std::array<double,1> v_QED_Coulomb = {{1.}};
168 std::array<double,3> cv = {{1.,1.,1.}};
170 std::array<double,2> cv_Higgs = {{1.,1.}};
172 std::array<double,1> Cv_QED = {{1.}};
174 std::array<double,1> Cv_WZ = {{1.}};
176 std::array<double,1> Ca_QED = {{1.}};
178 std::array<double,1> Ca_WZ = {{1.}};
180 std::array<double,2> dv = {{1.,1.}};
182 std::array<double,1> ca = {{1.}};
185 struct alpha_s_options{
190 std::string to_string(alpha_s_options o);
193 std::numeric_limits<double>::has_quiet_NaN,
194 "Quiet NaN not available" 230 alpha_s_options alpha_s_mu0 = {
231 std::numeric_limits<double>::quiet_NaN(),
232 std::numeric_limits<double>::quiet_NaN()
247 double Yukawa_factor = 1;
260 double invariant_mass_cut = std::numeric_limits<double>::quiet_NaN();
283 double r4 = std::numeric_limits<double>::quiet_NaN();
354 bool double_light_insertion =
false;
357 std::string to_string(
options const & opt);
364 struct top_properties{
380 double mu,
double m, order o,
options opt
394 double sqrt_s,
double mu,
double m, order o,
options opt
407 double mu,
double m, order o,
options opt
421 double sqrt_s, scales mu, top_properties M, order o,
options opt
424 double sqrt_s,
double mu, top_properties M, order o,
options opt
427 std::ostream& operator<<(std::ostream& os,
options const & obt);
485 double invariant_mass_cut;
489 std::array<double, detail::last_coupling + 1> c_q;
502 bool double_light_insertion;
505 parameters gen_bottom_parameters(
506 double mu,
double m, order o,
509 parameters gen_bottom_parameters(
510 double sqrt_s,
double mu,
double m, order o,
513 parameters gen_bottom_parameters(
514 double sqrt_s, scales mu,
double m, order o,
517 parameters gen_top_parameters(
518 double mu,
double m, order o,
521 parameters gen_top_parameters(
522 double sqrt_s,
double mu, top_properties M, order o,
525 parameters gen_top_parameters(
526 double sqrt_s, scales mu, top_properties M, order o,
530 std::string to_string(parameters
const & p);
All Standard Model corrections.
No corrections beyond QCD.
Definition: alpha_s.hpp:37
SM beyond_QCD
Definition: parameters.hpp:310
bool resonant_only
Definition: parameters.hpp:330
double alpha
Definition: parameters.hpp:289
contribution_factors contributions
Definition: parameters.hpp:209
options top_options()
Default option settings for top-related functions.
SM
Standard Model effects beyond QCD.
Definition: parameters.hpp:100
Default strong coupling constants.
std::string top_internal_settings(double mu, double m, order o, options opt)
Describe internal settings for top-related functions.
Corrections due to photons.
bool expand_s
Definition: parameters.hpp:343
double mu_alpha
Definition: parameters.hpp:295
constexpr double m_Higgs
Default value for mass of the Higgs boson.
Definition: constants.hpp:58
production_channel
Production channels.
Definition: parameters.hpp:123
Options for functions.
Definition: parameters.hpp:202
constexpr double alpha_s_mZ
Default value for strong coupling at the scale mZ.
Definition: constants.hpp:42
std::string bottom_internal_settings(double mu, double m, order o, options opt)
Describe internal settings for bottom-related functions.
Production only via S-wave photon or Z.
scheme mass_scheme
Definition: parameters.hpp:317
Corrections due to the physical Higgs boson.
options bottom_options()
Default option settings for bottom-related functions.
Production only via a virtual photon.
Definitions of mass schemes.
Mass scheme.
Definition: mass_schemes.hpp:72
Multiplicative coefficients for the potentials and current matching coefficients. ...
Definition: parameters.hpp:150