Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
Loading...
Searching...
No Matches
BDstarlnuDecay Class Reference

Decay parent for the B > D* l nu_l decays [1309:0301]. Currently implements : More...

#include <BDstarlnuDecay.h>

Inheritance diagram for BDstarlnuDecay:
Collaboration diagram for BDstarlnuDecay:

Public Member Functions

 BDstarlnuDecay (QCDOrder order, double matching_scale, double hadronic_scale, ObservablePortsConfig &ports)
 
void load_params () override
 Load and cache parameters needed by this decay.
 
std::vector< ObservableValuecompute_observable (Observables obs) override
 Compute an observable given a public observable enum.
 
std::vector< ObservableValuecompute_observable (ObservableId obs) override
 Compute an observable given an internal observable identifier.
 
void set_config_spe (BDstarlnuConfig config) override
 Strongly-typed configuration setter to implement in derived classes.
 
- Public Member Functions inherited from DecayParentConfigurable< BDstarlnuConfig >
 DecayParentConfigurable (DecayId id, double matching_scale, double hadronic_scale, QCDOrder order, ObservablePortsConfig &ports)
 Construct a configurable decay module.
 
void set_config (std::any cfg) final override
 Type-erased config setter (final).
 
- Public Member Functions inherited from DecayParent
virtual ~DecayParent ()=default
 
 DecayParent (DecayId custom_id, double matching_scale, double hadronic_scale, QCDOrder order, ObservablePortsConfig &ports)
 Construct a decay module and bind it to the observable ports.
 
void bind_wilson_builder (std::shared_ptr< IObsWilsonBuilder > &wilson_builder)
 Bind a Wilson builder to this decay.
 
void enable ()
 Enable the decay module (build Wilson groups and load parameters).
 
void disable ()
 Disable the decay module.
 
void set_order (QCDOrder new_order)
 Set the QCD order for this decay (one-shot policy).
 
virtual std::any get_config () const
 Return the current decay configuration when the decay has one.
 
virtual void set_n_threads (size_t n_threads)
 Set the number of worker threads used by decays that support parallel cache filling.
 
virtual size_t get_n_threads () const
 Return the currently configured worker-thread count.
 
virtual bool supports_thread_config () const
 Whether this decay supports runtime thread configuration.
 
void set_bins (std::vector< std::pair< double, double > > new_bins)
 Set the binning for the observables related to this decay.
 
void add_bin (std::pair< double, double > new_bin)
 Adds a bin to the observables related to this decay.
 
std::optional< std::vector< std::pair< double, double > > > get_bins ()
 Returns the current binning of the decay.
 
DecayId get_id ()
 Return the decay identifier.
 
QCDOrder get_order () const
 Return the currently configured QCD order for this decay.
 
bool is_enabled () const
 Return whether the decay has already been enabled.
 
bool is_binned () const
 Return whether this decay has at least one observable requiring q² bins.
 
virtual bool is_observable_binned (ObservableId) const
 Return whether one observable of this decay requires q² bins.
 
virtual bool is_observable_binned (Observables obs) const
 Convenience overload for public observable enum ids.
 

Protected Member Functions

void set_cfg_flags (BDstarlnuConfig::B_Charge charge)
 
void fill_wilson_cache ()
 
void load_cfg_dep_params ()
 
double t (double w)
 
double lambda_D (double w)
 
double x_l (double rl, double w)
 
double phi (double rl, double w)
 
double w_max (double rl)
 
double h_A1 (double w)
 
double R_1 (double w)
 
double R_2 (double w)
 
double R_3 (double w)
 
double H_Vp (double w)
 
double H_Vm (double w)
 
double H_V0 (double w)
 
double H_Vt (double w)
 
double H_S (double w)
 
double H_Tp (double w)
 
double H_Tm (double w)
 
double H_T0 (double w)
 
double F_V0_1 (double rl, double w_m)
 
double F_V0_2 (double rl, double w_m)
 
double F_Vp_1 (double rl, double w_m)
 
double F_Vp_2 (double rl, double w_m)
 
double F_Vm_1 (double rl, double w_m)
 
double F_Vm_2 (double rl, double w_m)
 
double F_Vt (double rl, double w_m)
 
double F_S (double rl, double w_m)
 
double F_T0_1 (double rl, double w_m)
 
double F_T0_2 (double rl, double w_m)
 
double F_Tp_1 (double rl, double w_m)
 
double F_Tp_2 (double rl, double w_m)
 
double F_Tm_1 (double rl, double w_m)
 
double F_Tm_2 (double rl, double w_m)
 
double G_Vp_Vm_1 (double rl, double w_m)
 
double G_Vp_Vm_2 (double rl, double w_m)
 
double G_Vp_Tp (double rl, double w_m)
 
double G_Vp_Tm (double rl, double w_m)
 
double G_Vm_Tp (double rl, double w_m)
 
double G_Vm_Tm (double rl, double w_m)
 
double G_V0_Vt (double rl, double w_m)
 
double G_V0_S (double rl, double w_m)
 
double G_V0_T0 (double rl, double w_m)
 
double G_Vt_S (double rl, double w_m)
 
double G_Vt_T0 (double rl, double w_m)
 
double G_S_T0 (double rl, double w_m)
 
double Gamma_tau_m (double rl, double w_m)
 
double Gamma_tau_p (double rl, double w_m)
 
double BR ()
 
double A_FB ()
 
double R_Dstar ()
 
double P_tau ()
 
double P_D ()
 
- Protected Member Functions inherited from DecayParent
QCDOrder check_max_order (QCDOrder order) const
 Clamp a requested QCD order to this decay's supported maximum.
 

Additional Inherited Members

- Protected Attributes inherited from DecayParent
QCDOrder max_order = QCDOrder::LO
 Maximum QCD order supported by this decay module (default: LO).
 
ObservablePortsConfigports
 Reference to the ports/configuration wiring this decay to the framework.
 
std::shared_ptr< IObsWilsonBuilderw_builder
 Wilson builder used to build/add Wilson groups for this decay.
 
std::shared_ptr< IObsWilsonProxyw_proxy
 Wilson proxy used at compute-time to query coefficients (matching/run).
 
std::shared_ptr< IObsCoreAPI< bool > > use_marty
 Port exposing whether the MARTY backend is active.
 
std::shared_ptr< IObsParameterProxy< ParamId, DataType, std::string, LhaID > > p
 Parameter proxy for SM-like quantities used by the decay (may be SM/BSM depending on wiring).
 
std::shared_ptr< IObsQCDProxyiobs_qcdp
 QCD proxy (alpha_s, running masses, constants...).
 
std::shared_ptr< IWilsonFreezer< WGroupId > > iobs_wfreezer
 Freezer to freeze/unfreeze Wilson blocks when they are not needed by active decays.
 
std::shared_ptr< ObsWilsonHelperw_helper
 Per-manager Wilson lifecycle helper.
 
WilsonBuildConfig w_config {}
 Wilson build configuration used when enabling this decay (scales, order, groups).
 
bool enabled {false}
 Whether the decay is enabled (i.e. Wilson groups built and parameters loaded).
 
bool binned {false}
 Whether this decay requires q² bins before its observables can be computed.
 
DecayId id
 Unique decay identifier.
 
std::optional< std::vector< std::pair< double, double > > > bins
 Optional q^2 bins.
 

Detailed Description

Decay parent for the B > D* l nu_l decays [1309:0301]. Currently implements :

  • BR(B > D*0 tau nu_tau)
  • R(D*) = Γ(B > D*0 tau nu_tau) / Γ(B > D*0 e nu_e)
  • Forward-Backward asymmetry
  • P_tau = (Γ(s_tau = +1/2) - Γ(s_tau = -1/2)) / Γ
  • P_D* = Γ(l_D = 0) / Γ

Definition at line 38 of file BDstarlnuDecay.h.

Constructor & Destructor Documentation

◆ BDstarlnuDecay()

BDstarlnuDecay::BDstarlnuDecay ( QCDOrder  order,
double  matching_scale,
double  hadronic_scale,
ObservablePortsConfig ports 
)
inline

Definition at line 113 of file BDstarlnuDecay.h.

Member Function Documentation

◆ A_FB()

double BDstarlnuDecay::A_FB ( )
protected

Definition at line 441 of file BDstarlnuDecay.cpp.

◆ BR()

double BDstarlnuDecay::BR ( )
protected

Definition at line 431 of file BDstarlnuDecay.cpp.

◆ compute_observable() [1/2]

std::vector< ObservableValue > BDstarlnuDecay::compute_observable ( ObservableId  obs)
overridevirtual

Compute an observable given an internal observable identifier.

Parameters
obsInternal observable id.
Returns
One or more results as ObservableValue.

Implements DecayParent.

Definition at line 563 of file BDstarlnuDecay.cpp.

◆ compute_observable() [2/2]

std::vector< ObservableValue > BDstarlnuDecay::compute_observable ( Observables  obs)
overridevirtual

Compute an observable given a public observable enum.

Parameters
obsObservable enum id.
Returns
One or more results as ObservableValue.
Note
Some observables are binned; return multiple values or fill ObservableValue::bin.

Implements DecayParent.

Definition at line 513 of file BDstarlnuDecay.cpp.

◆ F_S()

double BDstarlnuDecay::F_S ( double  rl,
double  w_m 
)
protected

Definition at line 205 of file BDstarlnuDecay.cpp.

◆ F_T0_1()

double BDstarlnuDecay::F_T0_1 ( double  rl,
double  w_m 
)
protected

Definition at line 215 of file BDstarlnuDecay.cpp.

◆ F_T0_2()

double BDstarlnuDecay::F_T0_2 ( double  rl,
double  w_m 
)
protected

Definition at line 225 of file BDstarlnuDecay.cpp.

◆ F_Tm_1()

double BDstarlnuDecay::F_Tm_1 ( double  rl,
double  w_m 
)
protected

Definition at line 255 of file BDstarlnuDecay.cpp.

◆ F_Tm_2()

double BDstarlnuDecay::F_Tm_2 ( double  rl,
double  w_m 
)
protected

Definition at line 265 of file BDstarlnuDecay.cpp.

◆ F_Tp_1()

double BDstarlnuDecay::F_Tp_1 ( double  rl,
double  w_m 
)
protected

Definition at line 235 of file BDstarlnuDecay.cpp.

◆ F_Tp_2()

double BDstarlnuDecay::F_Tp_2 ( double  rl,
double  w_m 
)
protected

Definition at line 245 of file BDstarlnuDecay.cpp.

◆ F_V0_1()

double BDstarlnuDecay::F_V0_1 ( double  rl,
double  w_m 
)
protected

Definition at line 139 of file BDstarlnuDecay.cpp.

◆ F_V0_2()

double BDstarlnuDecay::F_V0_2 ( double  rl,
double  w_m 
)
protected

Definition at line 145 of file BDstarlnuDecay.cpp.

◆ F_Vm_1()

double BDstarlnuDecay::F_Vm_1 ( double  rl,
double  w_m 
)
protected

Definition at line 175 of file BDstarlnuDecay.cpp.

◆ F_Vm_2()

double BDstarlnuDecay::F_Vm_2 ( double  rl,
double  w_m 
)
protected

Definition at line 185 of file BDstarlnuDecay.cpp.

◆ F_Vp_1()

double BDstarlnuDecay::F_Vp_1 ( double  rl,
double  w_m 
)
protected

Definition at line 155 of file BDstarlnuDecay.cpp.

◆ F_Vp_2()

double BDstarlnuDecay::F_Vp_2 ( double  rl,
double  w_m 
)
protected

Definition at line 165 of file BDstarlnuDecay.cpp.

◆ F_Vt()

double BDstarlnuDecay::F_Vt ( double  rl,
double  w_m 
)
protected

Definition at line 195 of file BDstarlnuDecay.cpp.

◆ fill_wilson_cache()

void BDstarlnuDecay::fill_wilson_cache ( )
protected

Definition at line 31 of file BDstarlnuDecay.cpp.

◆ G_S_T0()

double BDstarlnuDecay::G_S_T0 ( double  rl,
double  w_m 
)
protected

Definition at line 385 of file BDstarlnuDecay.cpp.

◆ G_V0_S()

double BDstarlnuDecay::G_V0_S ( double  rl,
double  w_m 
)
protected

Definition at line 345 of file BDstarlnuDecay.cpp.

◆ G_V0_T0()

double BDstarlnuDecay::G_V0_T0 ( double  rl,
double  w_m 
)
protected

Definition at line 355 of file BDstarlnuDecay.cpp.

◆ G_V0_Vt()

double BDstarlnuDecay::G_V0_Vt ( double  rl,
double  w_m 
)
protected

Definition at line 335 of file BDstarlnuDecay.cpp.

◆ G_Vm_Tm()

double BDstarlnuDecay::G_Vm_Tm ( double  rl,
double  w_m 
)
protected

Definition at line 325 of file BDstarlnuDecay.cpp.

◆ G_Vm_Tp()

double BDstarlnuDecay::G_Vm_Tp ( double  rl,
double  w_m 
)
protected

Definition at line 315 of file BDstarlnuDecay.cpp.

◆ G_Vp_Tm()

double BDstarlnuDecay::G_Vp_Tm ( double  rl,
double  w_m 
)
protected

Definition at line 305 of file BDstarlnuDecay.cpp.

◆ G_Vp_Tp()

double BDstarlnuDecay::G_Vp_Tp ( double  rl,
double  w_m 
)
protected

Definition at line 295 of file BDstarlnuDecay.cpp.

◆ G_Vp_Vm_1()

double BDstarlnuDecay::G_Vp_Vm_1 ( double  rl,
double  w_m 
)
protected

Definition at line 275 of file BDstarlnuDecay.cpp.

◆ G_Vp_Vm_2()

double BDstarlnuDecay::G_Vp_Vm_2 ( double  rl,
double  w_m 
)
protected

Definition at line 285 of file BDstarlnuDecay.cpp.

◆ G_Vt_S()

double BDstarlnuDecay::G_Vt_S ( double  rl,
double  w_m 
)
protected

Definition at line 365 of file BDstarlnuDecay.cpp.

◆ G_Vt_T0()

double BDstarlnuDecay::G_Vt_T0 ( double  rl,
double  w_m 
)
protected

Definition at line 375 of file BDstarlnuDecay.cpp.

◆ Gamma_tau_m()

double BDstarlnuDecay::Gamma_tau_m ( double  rl,
double  w_m 
)
protected

Definition at line 395 of file BDstarlnuDecay.cpp.

◆ Gamma_tau_p()

double BDstarlnuDecay::Gamma_tau_p ( double  rl,
double  w_m 
)
protected

Definition at line 411 of file BDstarlnuDecay.cpp.

◆ h_A1()

double BDstarlnuDecay::h_A1 ( double  w)
protected

Definition at line 85 of file BDstarlnuDecay.cpp.

◆ H_S()

double BDstarlnuDecay::H_S ( double  w)
protected

Definition at line 121 of file BDstarlnuDecay.cpp.

◆ H_T0()

double BDstarlnuDecay::H_T0 ( double  w)
protected

Definition at line 133 of file BDstarlnuDecay.cpp.

◆ H_Tm()

double BDstarlnuDecay::H_Tm ( double  w)
protected

Definition at line 129 of file BDstarlnuDecay.cpp.

◆ H_Tp()

double BDstarlnuDecay::H_Tp ( double  w)
protected

Definition at line 125 of file BDstarlnuDecay.cpp.

◆ H_V0()

double BDstarlnuDecay::H_V0 ( double  w)
protected

Definition at line 113 of file BDstarlnuDecay.cpp.

◆ H_Vm()

double BDstarlnuDecay::H_Vm ( double  w)
protected

Definition at line 109 of file BDstarlnuDecay.cpp.

◆ H_Vp()

double BDstarlnuDecay::H_Vp ( double  w)
protected

Definition at line 105 of file BDstarlnuDecay.cpp.

◆ H_Vt()

double BDstarlnuDecay::H_Vt ( double  w)
protected

Definition at line 117 of file BDstarlnuDecay.cpp.

◆ lambda_D()

double BDstarlnuDecay::lambda_D ( double  w)
protected

Definition at line 69 of file BDstarlnuDecay.cpp.

◆ load_cfg_dep_params()

void BDstarlnuDecay::load_cfg_dep_params ( )
protected

Definition at line 44 of file BDstarlnuDecay.cpp.

◆ load_params()

void BDstarlnuDecay::load_params ( )
overridevirtual

Load and cache parameters needed by this decay.

Derived classes should read all relevant inputs through the proxies (e.g. p, w_proxy, iobs_qcdp) and store them internally.

This is called by enable after Wilson has been built and the proxy is ready.

Implements DecayParent.

Definition at line 10 of file BDstarlnuDecay.cpp.

◆ P_D()

double BDstarlnuDecay::P_D ( )
protected

Definition at line 490 of file BDstarlnuDecay.cpp.

◆ P_tau()

double BDstarlnuDecay::P_tau ( )
protected

Definition at line 480 of file BDstarlnuDecay.cpp.

◆ phi()

double BDstarlnuDecay::phi ( double  rl,
double  w 
)
protected

Definition at line 77 of file BDstarlnuDecay.cpp.

◆ R_1()

double BDstarlnuDecay::R_1 ( double  w)
protected

Definition at line 90 of file BDstarlnuDecay.cpp.

◆ R_2()

double BDstarlnuDecay::R_2 ( double  w)
protected

Definition at line 95 of file BDstarlnuDecay.cpp.

◆ R_3()

double BDstarlnuDecay::R_3 ( double  w)
protected

Definition at line 100 of file BDstarlnuDecay.cpp.

◆ R_Dstar()

double BDstarlnuDecay::R_Dstar ( )
protected

Definition at line 468 of file BDstarlnuDecay.cpp.

◆ set_cfg_flags()

void BDstarlnuDecay::set_cfg_flags ( BDstarlnuConfig::B_Charge  charge)
protected

Definition at line 3 of file BDstarlnuDecay.cpp.

◆ set_config_spe()

void BDstarlnuDecay::set_config_spe ( BDstarlnuConfig  config)
inlineoverridevirtual

Strongly-typed configuration setter to implement in derived classes.

Parameters
configParsed configuration object.

Implements DecayParentConfigurable< BDstarlnuConfig >.

Definition at line 121 of file BDstarlnuDecay.h.

◆ t()

double BDstarlnuDecay::t ( double  w)
protected

Definition at line 65 of file BDstarlnuDecay.cpp.

◆ w_max()

double BDstarlnuDecay::w_max ( double  rl)
protected

Definition at line 81 of file BDstarlnuDecay.cpp.

◆ x_l()

double BDstarlnuDecay::x_l ( double  rl,
double  w 
)
protected

Definition at line 73 of file BDstarlnuDecay.cpp.


The documentation for this class was generated from the following files: