Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
Loading...
Searching...
No Matches
BDstarlnuDecay.h
Go to the documentation of this file.
1#ifndef BDSTARLNUDECAY_H
2#define BDSTARLNUDECAY_H
3
4#include "DecayParent.h"
5#include "DefaultConfig.h"
6#include "ObsQCDProxy.h"
7
12
14 double G_F;
15 double m_e, m_tau;
16 double m_B, m_D_star;
17 double tau_B;
19
22
23 double r_D, r_e, r_tau, r_qp, r_qm;
25 double w_e, w_tau;
26 double BR_pref;
28};
29
38class BDstarlnuDecay : public DecayParentConfigurable<BDstarlnuConfig> {
39private:
42
43protected:
44 // Utility
46 void fill_wilson_cache();
48
49 // Kinematics
50 double t (double w);
51 double lambda_D (double w);
52 double x_l (double rl, double w);
53 double phi (double rl, double w);
54 double w_max (double rl);
55
56 // Form Factors
57 double h_A1 (double w);
58 double R_1 (double w);
59 double R_2 (double w);
60 double R_3 (double w);
61
62 // Helicity amplitudes
63 double H_Vp (double w);
64 double H_Vm (double w);
65 double H_V0 (double w);
66 double H_Vt (double w);
67 double H_S (double w);
68 double H_Tp (double w);
69 double H_Tm (double w);
70 double H_T0 (double w);
71
72 // Helicity amplitude integrals
73 double F_V0_1 (double rl, double w_m);
74 double F_V0_2 (double rl, double w_m);
75 double F_Vp_1 (double rl, double w_m);
76 double F_Vp_2 (double rl, double w_m);
77 double F_Vm_1 (double rl, double w_m);
78 double F_Vm_2 (double rl, double w_m);
79 double F_Vt (double rl, double w_m);
80 double F_S (double rl, double w_m);
81 double F_T0_1 (double rl, double w_m);
82 double F_T0_2 (double rl, double w_m);
83 double F_Tp_1 (double rl, double w_m);
84 double F_Tp_2 (double rl, double w_m);
85 double F_Tm_1 (double rl, double w_m);
86 double F_Tm_2 (double rl, double w_m);
87
88 double G_Vp_Vm_1 (double rl, double w_m);
89 double G_Vp_Vm_2 (double rl, double w_m);
90 double G_Vp_Tp (double rl, double w_m);
91 double G_Vp_Tm (double rl, double w_m);
92 double G_Vm_Tp (double rl, double w_m);
93 double G_Vm_Tm (double rl, double w_m);
94 double G_V0_Vt (double rl, double w_m);
95 double G_V0_S (double rl, double w_m);
96 double G_V0_T0 (double rl, double w_m);
97 double G_Vt_S (double rl, double w_m);
98 double G_Vt_T0 (double rl, double w_m);
99 double G_S_T0 (double rl, double w_m);
100
101 // Intermediate results
102 double Gamma_tau_m(double rl, double w_m);
103 double Gamma_tau_p(double rl, double w_m);
104
105 // Observables
106 double BR();
107 double A_FB();
108 double R_Dstar();
109 double P_tau();
110 double P_D();
111
112public:
113 BDstarlnuDecay(QCDOrder order, double matching_scale, double hadronic_scale, ObservablePortsConfig& ports) : DecayParentConfigurable(DecayMapper::to_id(Decays::B__Dstar_l_nu), matching_scale, hadronic_scale, order, ports) {
115 this->max_order = QCDOrder::LO;
116 }
117
118 void load_params() override;
119 std::vector<ObservableValue> compute_observable(Observables obs) override;
120 std::vector<ObservableValue> compute_observable(ObservableId obs) override;
121 void set_config_spe(BDstarlnuConfig config) override {this->cfg = config;}
122
123};
124
125#endif // __BDSTARLNUDECAY_H__
Base class for observable/decay computation modules.
Observables
Definition GeneralEnum.h:4
QCDOrder
Decays
@ B__Dstar_l_nu
Default observable-layer implementation of IObsQCDProxy.
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 :
double F_Tm_1(double rl, double w_m)
double G_Vt_T0(double rl, double w_m)
double G_Vm_Tp(double rl, double w_m)
double F_V0_1(double rl, double w_m)
double F_S(double rl, double w_m)
double F_Vp_2(double rl, double w_m)
double F_T0_2(double rl, double w_m)
double F_Vp_1(double rl, double w_m)
BDstarlnuDecay(QCDOrder order, double matching_scale, double hadronic_scale, ObservablePortsConfig &ports)
double Gamma_tau_m(double rl, double w_m)
double G_Vp_Vm_2(double rl, double w_m)
double G_Vt_S(double rl, double w_m)
double H_V0(double w)
double lambda_D(double w)
double G_Vm_Tm(double rl, double w_m)
double F_Tp_1(double rl, double w_m)
double H_Tm(double w)
double Gamma_tau_p(double rl, double w_m)
double G_V0_Vt(double rl, double w_m)
double x_l(double rl, double w)
double F_Tm_2(double rl, double w_m)
std::vector< ObservableValue > compute_observable(Observables obs) override
Compute an observable given a public observable enum.
double h_A1(double w)
double G_S_T0(double rl, double w_m)
double R_1(double w)
double F_Vm_2(double rl, double w_m)
double phi(double rl, double w)
double t(double w)
void set_cfg_flags(BDstarlnuConfig::B_Charge charge)
double H_S(double w)
double H_T0(double w)
double H_Tp(double w)
double w_max(double rl)
double H_Vp(double w)
double H_Vt(double w)
void set_config_spe(BDstarlnuConfig config) override
Strongly-typed configuration setter to implement in derived classes.
void load_params() override
Load and cache parameters needed by this decay.
double G_Vp_Vm_1(double rl, double w_m)
double F_Vm_1(double rl, double w_m)
double R_2(double w)
double R_3(double w)
double G_V0_T0(double rl, double w_m)
double G_Vp_Tp(double rl, double w_m)
double F_Tp_2(double rl, double w_m)
double F_V0_2(double rl, double w_m)
double G_V0_S(double rl, double w_m)
double F_T0_1(double rl, double w_m)
double G_Vp_Tm(double rl, double w_m)
double F_Vt(double rl, double w_m)
double H_Vm(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
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