Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
Loading...
Searching...
No Matches
BKstarGammaDecay.h
Go to the documentation of this file.
1#ifndef __BKSTARGAMMADECAY_H__
2#define __BKSTARGAMMADECAY_H__
3
4#include "DecayParent.h"
5#include "Include.h"
6#include "ObsQCDProxy.h"
7#include "DefaultConfig.h"
8#include "BVQCDfCalculator.h"
9#include "BVFFCalculator.h"
10#include "ObsParameterMutator.h"
11
18
20 std::map<WCoef, complex_t> C;
21 std::map<WCoef, complex_t> C_trad;
23
26
27 double alpha_em;
29 double z;
31 double lambda_B;
32 double m_B, m_Ks;
33 double tau_B;
35 double mu_b, mu_0, mu_h, L_b;
37 double C_F, Nc, n_f;
39};
40
44class BKstarGammaDecay : public DecayParentConfigurable<BKstarGammaConfig> {
45public:
46 BKstarGammaDecay(QCDOrder order, double matching_scale, double hadronic_scale, ObservablePortsConfig& ports) : DecayParentConfigurable(DecayMapper::to_id(Decays::B__Kstar_gamma), matching_scale, hadronic_scale, order, ports) {
49 }
50
51 void load_params() override;
52 std::vector<ObservableValue> compute_observable(Observables obs) override;
53 std::vector<ObservableValue> compute_observable(ObservableId obs) override;
54
55 void set_config_spe(BKstarGammaConfig config) override {this->cfg = config;}
56 std::any get_config() const override { return cfg; }
57
58private:
59 BKstarGammaConfig cfg {};
60 BKstarGammaCache cache;
61
62protected:
63 // Auxiliary
64 void fill_wilson_cache();
67
68 // Helicity amplitudes
69 complex_t H_V(double sign, bool bar);
70 complex_t K1();
71 complex_t K2(int q);
72
73 // Observables
74 double BR();
75 double delta_0();
76};
77
78
79#endif // __BKSTARGAMMADECAY_H__
BV_FF_Src
Base class for observable/decay computation modules.
Observables
Definition GeneralEnum.h:4
QCDOrder
Decays
@ B__Kstar_gamma
High-level mutator for parameters used by the observable layer.
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 exclusive B > K* l+ l- decays. Implements the integrated branching ratio and ang...
void set_config_spe(BKstarGammaConfig config) override
Strongly-typed configuration setter to implement in derived classes.
std::any get_config() const override
Return the current decay configuration when the decay has one.
complex_t H_V(double sign, bool bar)
BKstarGammaDecay(QCDOrder order, double matching_scale, double hadronic_scale, ObservablePortsConfig &ports)
void set_cfg_flags(BKstarGammaConfig::B_Charge charge)
complex_t K2(int q)
void load_params() override
Load and cache parameters needed by this decay.
std::vector< ObservableValue > compute_observable(Observables obs) override
Compute an observable given a public observable enum.
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
std::map< WCoef, complex_t > C
BVFFCalculator ff_calculator
BVQCDfCalculator qcdf_calculator
std::map< WCoef, complex_t > C_trad
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