Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
Loading...
Searching...
No Matches
BVFFCalculator.h
Go to the documentation of this file.
1#ifndef BVCOMMON_H
2#define BVCOMMON_H
3
4#include "Include.h"
6#include "IFFCalculator.h"
7
8enum class BV_FF {A0, A1, A12, V, T1, T2, T23, A2, T3, XI_PERP, XI_PAR, F_PERP, F_PAR, F_0};
10
11class BVFFCalculator : public IFFCalculator<BV_FF> {
12private:
13 std::shared_ptr<IObsParameterProxy<ParamId, DataType, std::string, LhaID>> iobspp_sm;
14 double m_B, m_B2, m_B4;
15 double m_V, m_V2, m_V4;
16 double t_p, t_m, t_0, z_0;
17 double syst_err;
18 std::map<BV_FF, std::array<double, 3>> alpha_ai;
19 std::map<BV_FF, double> m_R;
20 std::string src_block;
21
22 static inline const std::map<LhaID, std::string> allowed_decays {
23 {{511, 313}, "B_Ks"},
24 {{521, 323}, "B_Ks"},
25 {{531, 333}, "B_phi"}
26 };
27
28public:
29 BVFFCalculator() = default;
31
32 complex_t z(double t, double t_p, double t_0);
33 double E(double q2);
34 double get(BV_FF a, double q2) override;
35
36private:
37 void load_FF_params(BV_FF_Src src);
38 double pole(double q2, double m_R);
39 double F_a(BV_FF a, double q2);
40 double A_2(double q2);
41 double T_3(double q2);
42 double xi_perp(double q2);
43 double xi_par(double q2);
44 double f_perp(double q2);
45 double f_par(double q2);
46 double f_0(double q2);
47};
48
49#endif // BVCOMMON_H
BV_FF_Src
BV_FF
Interface for read-only access to parameters used by observable computations.
std::complex< double > complex_t
Convenience alias for std::complex<double>.
Definition Utils.h:35
BVFFCalculator()=default
double get(BV_FF a, double q2) override
complex_t z(double t, double t_p, double t_0)
constexpr double E
Definition constants.h:13