Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
Loading...
Searching...
No Matches
BDlnuDecay.h
Go to the documentation of this file.
1#ifndef BDLNUDECAY_H
2#define BDLNUDECAY_H
3
4#include "DecayParent.h"
5#include "ObsWilsonProxy.h"
6#include "ObsQCDProxy.h"
7#include "DefaultConfig.h"
8
13
15 double G_F;
16 double m_e, m_tau;
17 double m_B, m_D;
18 double tau_B;
19 double V11, rho_D2, Delta;
20
23
24 double r_D, r_e, r_tau, r_qp, r_qm;
25 double w_e, w_tau;
26 double BR_pref;
28};
29
37class BDlnuDecay : public DecayParentConfigurable<BDlnuConfig> {
38private:
39 BDlnuDecayCache cache;
40 BDlnuConfig cfg;
41
42protected:
43 // Utility
45 void fill_wilson_cache();
47
48 double t(double w);
49 double lambda_D(double w);
50 double x_l(double rl, double w);
51 double phi(double rl, double w);
52 double w_max(double rD, double r_l);
53
54 double V_1(double w);
55 double S_1(double w);
56
57 double H_V0 (double w);
58 double H_Vt (double w);
59 double H_S (double w);
60 double H_T (double w);
61
62 double F_V0_1 (double r_l, double w_m);
63 double F_V0_2 (double r_l, double w_m);
64 double F_Vt (double r_l, double w_m);
65 double F_S (double r_l, double w_m);
66 double F_T_1 (double r_l, double w_m);
67 double F_T_2 (double r_l, double w_m);
68 double G_V0_Vt (double r_l, double w_m);
69 double G_V0_S (double r_l, double w_m);
70 double G_V0_T (double r_l, double w_m);
71 double G_Vt_S (double r_l, double w_m);
72 double G_Vt_T (double r_l, double w_m);
73 double G_S_T (double r_l, double w_m);
74
75 double gamma_p(double r_l, double w_m);
76 double gamma_m(double r_l, double w_m);
77
78 double BR();
79 double A_FB();
80 double R_D();
81 double P_tau();
82
83public:
84 BDlnuDecay(QCDOrder order, double matching_scale, double hadronic_scale, ObservablePortsConfig& ports) : DecayParentConfigurable(DecayMapper::to_id(Decays::B__D_l_nu), matching_scale, hadronic_scale, order, ports) {
86 this->max_order = QCDOrder::LO;
87 }
88
89 void load_params() override;
90 std::vector<ObservableValue> compute_observable(Observables obs) override;
91 std::vector<ObservableValue> compute_observable(ObservableId obs) override;
92 void set_config_spe(BDlnuConfig config) override {this->cfg = config;}
93};
94
95#endif // __BDLNUDECAY_H__
Base class for observable/decay computation modules.
Observables
Definition GeneralEnum.h:4
QCDOrder
Decays
Default observable-layer implementation of IObsQCDProxy.
Observable-facing proxy to query Wilson coefficients.
std::complex< double > complex_t
Convenience alias for std::complex<double>.
Definition Utils.h:35
Decay parent for the B > D l nu_l decays [1309:0301]. Currently implements :
Definition BDlnuDecay.h:37
double H_V0(double w)
double H_S(double w)
double R_D()
double S_1(double w)
void load_params() override
Load and cache parameters needed by this decay.
double A_FB()
BDlnuDecay(QCDOrder order, double matching_scale, double hadronic_scale, ObservablePortsConfig &ports)
Definition BDlnuDecay.h:84
double x_l(double rl, double w)
double F_T_1(double r_l, double w_m)
void set_config_spe(BDlnuConfig config) override
Strongly-typed configuration setter to implement in derived classes.
Definition BDlnuDecay.h:92
void fill_wilson_cache()
double F_Vt(double r_l, double w_m)
double F_V0_1(double r_l, double w_m)
double G_V0_T(double r_l, double w_m)
double w_max(double rD, double r_l)
double G_Vt_S(double r_l, double w_m)
double BR()
double phi(double rl, double w)
double V_1(double w)
double G_S_T(double r_l, double w_m)
std::vector< ObservableValue > compute_observable(Observables obs) override
Compute an observable given a public observable enum.
double H_T(double w)
double gamma_p(double r_l, double w_m)
double F_S(double r_l, double w_m)
void load_cfg_dep_params()
double G_Vt_T(double r_l, double w_m)
double F_V0_2(double r_l, double w_m)
double lambda_D(double w)
void set_cfg_flags(BDlnuConfig::B_Charge charge)
Definition BDlnuDecay.cpp:3
double H_Vt(double w)
double F_T_2(double r_l, double w_m)
double G_V0_Vt(double r_l, double w_m)
double G_V0_S(double r_l, double w_m)
double P_tau()
double gamma_m(double r_l, double w_m)
double t(double w)
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
B_Charge charge
Definition BDlnuDecay.h:11
complex_t C_T
Definition BDlnuDecay.h:21
complex_t C_S
Definition BDlnuDecay.h:21
complex_t C_V
Definition BDlnuDecay.h:21
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