Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
Loading...
Searching...
No Matches
KllDecay.h
Go to the documentation of this file.
1#ifndef KLLDECAY_H
2#define KLLDECAY_H
3
4#include "DecayParent.h"
5#include "General.h"
6#include "DefaultConfig.h"
7
9 int N_L_sign = 1;
10 int gen = 2;
11};
12
14 double G_F;
15 double alpha_em;
16 double alpha_em_0;
18 double sw2;
19 double m_l;
20 double m_c_m_c;
21 double m_pi;
22 double m_rho;
23 double m_K;
24 double f_K;
25 double tau_L;
26 double tau_S;
29 double lambda;
30 double x;
31 double r_chi;
32 double beta;
33 double mu_b;
34
37 double alpha_exp;
39
43};
44
48class KllDecay : public DecayParentConfigurable<KllDecayConfig> {
49private:
50 KllDecayCache cache;
52
53protected:
54 complex_t C_gg(double b);
55 complex_t N_L();
56 complex_t N_S();
57 double P_c();
58 double BR_L();
59 double BR_S();
60
61public:
62 KllDecay(QCDOrder order, double matching_scale, double hadronic_scale, ObservablePortsConfig& ports) : DecayParentConfigurable(DecayMapper::to_id(Decays::K__l_l), matching_scale, hadronic_scale, order, ports) {
65 }
66
67 void load_params() override;
68 std::vector<ObservableValue> compute_observable(Observables obs) override;
69 std::vector<ObservableValue> compute_observable(ObservableId obs) override;
70
71 void set_config_spe(KllDecayConfig config) override {this->cfg = config;}
72};
73
74#endif // __KLLDECAY_H__
Base class for observable/decay computation modules.
Observables
Definition GeneralEnum.h:4
QCDOrder
Decays
std::complex< double > complex_t
Convenience alias for std::complex<double>.
Definition Utils.h:35
Mapper for decay names, dynamic ids and observable membership.
Definition decay_ids.hpp:88
Typed configuration adapter for DecayParent using std::any.
WilsonBuildConfig w_config
Wilson build configuration used when enabling this decay (scales, order, groups).
ObservablePortsConfig & ports
Reference to the ports/configuration wiring this decay to the framework.
Definition DecayParent.h:93
QCDOrder max_order
Maximum QCD order supported by this decay module (default: LO).
Definition DecayParent.h:90
Decay parent for the K_L,S > ll decays. Currently implements BR(K_L,S > mu mu) with both possible sig...
Definition KllDecay.h:48
complex_t N_L()
Definition KllDecay.cpp:45
std::vector< ObservableValue > compute_observable(Observables obs) override
Compute an observable given a public observable enum.
Definition KllDecay.cpp:131
complex_t C_gg(double b)
Definition KllDecay.cpp:40
double P_c()
Definition KllDecay.cpp:66
double BR_S()
Definition KllDecay.cpp:118
void load_params() override
Load and cache parameters needed by this decay.
Definition KllDecay.cpp:3
complex_t N_S()
Definition KllDecay.cpp:56
double BR_L()
Definition KllDecay.cpp:87
KllDecay(QCDOrder order, double matching_scale, double hadronic_scale, ObservablePortsConfig &ports)
Definition KllDecay.h:62
void set_config_spe(KllDecayConfig config) override
Strongly-typed configuration setter to implement in derived classes.
Definition KllDecay.h:71
double alpha_em
Definition KllDecay.h:15
complex_t lambda_c
Definition KllDecay.h:27
double mu_b
Definition KllDecay.h:33
double BR_KS_gg_exp
Definition KllDecay.h:36
double m_c_m_c
Definition KllDecay.h:20
complex_t CQ1
Definition KllDecay.h:41
double BR_KL_gg_exp
Definition KllDecay.h:35
complex_t CQ2
Definition KllDecay.h:42
double tau_S
Definition KllDecay.h:26
double m_rho
Definition KllDecay.h:22
double alpha_exp
Definition KllDecay.h:37
double sw2
Definition KllDecay.h:18
double m_l
Definition KllDecay.h:19
double beta
Definition KllDecay.h:32
double m_pi
Definition KllDecay.h:21
double lambda
Definition KllDecay.h:29
double G_F
Definition KllDecay.h:14
double f_K
Definition KllDecay.h:24
double alpha_em_0
Definition KllDecay.h:16
complex_t lambda_t
Definition KllDecay.h:28
complex_t C10
Definition KllDecay.h:40
double tau_L
Definition KllDecay.h:25
double m_K
Definition KllDecay.h:23
double alpha_s_m_Z
Definition KllDecay.h:17
double delta_lambda
Definition KllDecay.h:38
double r_chi
Definition KllDecay.h:31
Dependency container (“ports”) for observable computations.
std::unordered_set< WGroupId > groups
Set of Wilson operator group identifiers to be included in the build.
Definition Configs.h:36