|
Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
|
Decay parent for the Bs > phi l+ l- decays. More...
#include <BsPhiDecay.h>


Public Member Functions | |
| BsPhiDecay (QCDOrder order, double matching_scale, double hadronic_scale, ObservablePortsConfig &ports) | |
| 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. | |
| std::vector< ObservableValue > | compute_observable (ObservableId obs) override |
| Compute an observable given an internal observable identifier. | |
| void | set_config_spe (BsPhiConfig 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. | |
| void | set_n_threads (size_t n_threads) override |
| Set the number of worker threads used by decays that support parallel cache filling. | |
| size_t | get_n_threads () const override |
| Return the currently configured worker-thread count. | |
| bool | supports_thread_config () const override |
| Whether this decay supports runtime thread configuration. | |
Public Member Functions inherited from DecayParentConfigurable< BsPhiConfig > | |
| 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). | |
| 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 | fill_wilson_cache () |
| void | set_cfg_flags (BsPhiConfig::Lepton gen) |
| void | load_cfg_dep_params () |
| complex_t | T_perp_p_cached (double q2, bool bar) |
| complex_t | T_perp_m_cached (double q2, bool bar) |
| complex_t | T_par_m_cached (double q2, bool bar) |
| double | beta_l (double q2) |
| double | lambda (double q2) |
| complex_t | N (double q2, bool bar) |
| complex_t | delta_A_perp (double q2, double sign, bool bar) |
| complex_t | delta_A_par (double q2, double sign, bool bar) |
| complex_t | delta_A_0 (double q2, double sign, bool bar) |
| complex_t | A_perp_low (double q2, double sign, bool bar) |
| complex_t | A_par_low (double q2, double sign, bool bar) |
| complex_t | A_0_low (double q2, double sign, bool bar) |
| complex_t | A_t_low (double q2, bool bar) |
| complex_t | A_S_low (double q2, bool bar) |
| complex_t | C7_eff (double q2, bool bar) |
| complex_t | C9_eff (double q2, bool bar) |
| complex_t | A_perp_high (double q2, double sign, bool bar) |
| complex_t | A_par_high (double q2, double sign, bool bar) |
| complex_t | A_0_high (double q2, double sign, bool bar) |
| complex_t | A_t_high (double q2, bool bar) |
| complex_t | A_S_high (double q2, bool bar) |
| complex_t | interpolate (double q2, complex_t val_low, complex_t val_high) |
| complex_t | A_perp (double q2, double sign, bool bar) |
| complex_t | A_par (double q2, double sign, bool bar) |
| complex_t | A_0 (double q2, double sign, bool bar) |
| complex_t | A_t (double q2, bool bar) |
| complex_t | A_S (double q2, bool bar) |
| double | J1s (double q2, bool bar) |
| double | J1c (double q2, bool bar) |
| double | J2s (double q2, bool bar) |
| double | J2c (double q2, bool bar) |
| double | J3 (double q2, bool bar) |
| double | J4 (double q2, bool bar) |
| double | J5 (double q2, bool bar) |
| double | J6s (double q2, bool bar) |
| double | J6c (double q2, bool bar) |
| double | J7 (double q2, bool bar) |
| double | J8 (double q2, bool bar) |
| double | J9 (double q2, bool bar) |
| double | h1s (double q2) |
| double | h1c (double q2) |
| double | h2s (double q2) |
| double | h2c (double q2) |
| double | h3 (double q2) |
| double | h4 (double q2) |
| double | h5 (double q2) |
| double | h6s (double q2) |
| double | h6c (double q2) |
| double | h7 (double q2) |
| double | h8 (double q2) |
| double | h9 (double q2) |
| double | s8 (double q2) |
| double | s9 (double q2) |
| void | compute_binned_J_i () |
| std::vector< ObservableValue > | dBR_dq2_binned (bool bar, Observables id, bool br=true) |
| double | dG_dq2_avg_bin (size_t bin) |
| std::vector< ObservableValue > | F_L (Observables id) |
| std::vector< ObservableValue > | A_T_2 (Observables id) |
| std::vector< ObservableValue > | A_T_Re_CPV (Observables id) |
| std::vector< ObservableValue > | A_T_Im_CPV (Observables id) |
| std::vector< ObservableValue > | Pp_4 (Observables id) |
| std::vector< ObservableValue > | Pp_6 (Observables id) |
| std::vector< ObservableValue > | S_i (int i, Observables id) |
| std::vector< ObservableValue > | A_i (int i, Observables id) |
| std::vector< ObservableValue > | A_FB_CPV (Observables id) |
| std::vector< ObservableValue > | P_2_CPV (Observables id) |
| std::vector< ObservableValue > | P_3_CPV (Observables id) |
| std::vector< ObservableValue > | Pp_5_CPV (Observables id) |
| std::vector< ObservableValue > | Pp_8_CPV (Observables id) |
| std::vector< ObservableValue > | Q_8_m (Observables id) |
| std::vector< ObservableValue > | Q_8_p (Observables id) |
| std::vector< ObservableValue > | Q_9 (Observables id) |
| std::vector< ObservableValue > | Rm1_BsPhi (Observables id) |
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). | |
| ObservablePortsConfig & | ports |
| Reference to the ports/configuration wiring this decay to the framework. | |
| std::shared_ptr< IObsWilsonBuilder > | w_builder |
| Wilson builder used to build/add Wilson groups for this decay. | |
| std::shared_ptr< IObsWilsonProxy > | w_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< IObsQCDProxy > | iobs_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< ObsWilsonHelper > | w_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. | |
Decay parent for the Bs > phi l+ l- decays.
Definition at line 67 of file BsPhiDecay.h.
|
inline |
Definition at line 167 of file BsPhiDecay.h.
|
protected |
Definition at line 499 of file BsPhiDecay.cpp.
|
protected |
Definition at line 456 of file BsPhiDecay.cpp.
|
protected |
Definition at line 334 of file BsPhiDecay.cpp.
|
protected |
Definition at line 1172 of file BsPhiDecay.cpp.
|
protected |
Definition at line 1158 of file BsPhiDecay.cpp.
|
protected |
Definition at line 495 of file BsPhiDecay.cpp.
|
protected |
Definition at line 448 of file BsPhiDecay.cpp.
|
protected |
Definition at line 304 of file BsPhiDecay.cpp.
|
protected |
Definition at line 491 of file BsPhiDecay.cpp.
|
protected |
Definition at line 439 of file BsPhiDecay.cpp.
|
protected |
Definition at line 274 of file BsPhiDecay.cpp.
|
protected |
Definition at line 507 of file BsPhiDecay.cpp.
|
protected |
Definition at line 474 of file BsPhiDecay.cpp.
|
protected |
Definition at line 384 of file BsPhiDecay.cpp.
|
protected |
Definition at line 503 of file BsPhiDecay.cpp.
|
protected |
Definition at line 1093 of file BsPhiDecay.cpp.
|
protected |
Definition at line 464 of file BsPhiDecay.cpp.
|
protected |
Definition at line 1118 of file BsPhiDecay.cpp.
|
protected |
Definition at line 366 of file BsPhiDecay.cpp.
|
protected |
Definition at line 1109 of file BsPhiDecay.cpp.
|
protected |
Definition at line 237 of file BsPhiDecay.cpp.
|
protected |
Definition at line 414 of file BsPhiDecay.cpp.
|
protected |
Definition at line 420 of file BsPhiDecay.cpp.
|
protected |
Definition at line 710 of file BsPhiDecay.cpp.
|
overridevirtual |
Compute an observable given an internal observable identifier.
| obs | Internal observable id. |
Implements DecayParent.
Definition at line 1490 of file BsPhiDecay.cpp.
|
overridevirtual |
Compute an observable given a public observable enum.
| obs | Observable enum id. |
Implements DecayParent.
Definition at line 1265 of file BsPhiDecay.cpp.
|
protected |
Definition at line 1030 of file BsPhiDecay.cpp.
|
protected |
Definition at line 398 of file BsPhiDecay.cpp.
|
protected |
Definition at line 267 of file BsPhiDecay.cpp.
|
protected |
Definition at line 260 of file BsPhiDecay.cpp.
|
protected |
Definition at line 1057 of file BsPhiDecay.cpp.
|
protected |
Definition at line 1077 of file BsPhiDecay.cpp.
|
protected |
Definition at line 67 of file BsPhiDecay.cpp.
|
inlineoverridevirtual |
Return the current decay configuration when the decay has one.
The base implementation returns an empty std::any. Configurable decays that keep runtime options, such as form-factor source or internal thread count, override this so ObservableInterface worker clones can reproduce the same physics setup as the parent interface.
Reimplemented from DecayParent.
Definition at line 178 of file BsPhiDecay.h.
|
inlineoverridevirtual |
Return the currently configured worker-thread count.
Decays that do not implement internal parallelism return 1.
Reimplemented from DecayParent.
Definition at line 180 of file BsPhiDecay.h.
|
protected |
Definition at line 622 of file BsPhiDecay.cpp.
|
protected |
Definition at line 605 of file BsPhiDecay.cpp.
|
protected |
Definition at line 642 of file BsPhiDecay.cpp.
|
protected |
Definition at line 637 of file BsPhiDecay.cpp.
|
protected |
Definition at line 647 of file BsPhiDecay.cpp.
|
protected |
Definition at line 652 of file BsPhiDecay.cpp.
|
protected |
Definition at line 658 of file BsPhiDecay.cpp.
|
protected |
Definition at line 672 of file BsPhiDecay.cpp.
|
protected |
Definition at line 666 of file BsPhiDecay.cpp.
|
protected |
Definition at line 678 of file BsPhiDecay.cpp.
|
protected |
Definition at line 686 of file BsPhiDecay.cpp.
|
protected |
Definition at line 692 of file BsPhiDecay.cpp.
Definition at line 480 of file BsPhiDecay.cpp.
|
protected |
Definition at line 523 of file BsPhiDecay.cpp.
|
protected |
Definition at line 511 of file BsPhiDecay.cpp.
|
protected |
Definition at line 541 of file BsPhiDecay.cpp.
|
protected |
Definition at line 532 of file BsPhiDecay.cpp.
|
protected |
Definition at line 548 of file BsPhiDecay.cpp.
|
protected |
Definition at line 557 of file BsPhiDecay.cpp.
|
protected |
Definition at line 564 of file BsPhiDecay.cpp.
|
protected |
Definition at line 579 of file BsPhiDecay.cpp.
|
protected |
Definition at line 572 of file BsPhiDecay.cpp.
|
protected |
Definition at line 583 of file BsPhiDecay.cpp.
|
protected |
Definition at line 591 of file BsPhiDecay.cpp.
|
protected |
Definition at line 598 of file BsPhiDecay.cpp.
|
protected |
Definition at line 242 of file BsPhiDecay.cpp.
|
protected |
Definition at line 92 of file BsPhiDecay.cpp.
|
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 BsPhiDecay.cpp.
|
protected |
Definition at line 255 of file BsPhiDecay.cpp.
|
protected |
Definition at line 1181 of file BsPhiDecay.cpp.
|
protected |
Definition at line 1190 of file BsPhiDecay.cpp.
|
protected |
Definition at line 1127 of file BsPhiDecay.cpp.
|
protected |
Definition at line 1199 of file BsPhiDecay.cpp.
|
protected |
Definition at line 1136 of file BsPhiDecay.cpp.
|
protected |
Definition at line 1208 of file BsPhiDecay.cpp.
|
protected |
Definition at line 1217 of file BsPhiDecay.cpp.
|
protected |
Definition at line 1226 of file BsPhiDecay.cpp.
|
protected |
Definition at line 1235 of file BsPhiDecay.cpp.
|
protected |
Definition at line 1244 of file BsPhiDecay.cpp.
|
protected |
Definition at line 698 of file BsPhiDecay.cpp.
|
protected |
Definition at line 704 of file BsPhiDecay.cpp.
|
protected |
Definition at line 1145 of file BsPhiDecay.cpp.
|
protected |
Definition at line 85 of file BsPhiDecay.cpp.
|
inlineoverridevirtual |
Strongly-typed configuration setter to implement in derived classes.
| config | Parsed configuration object. |
Implements DecayParentConfigurable< BsPhiConfig >.
Definition at line 177 of file BsPhiDecay.h.
|
overridevirtual |
Set the number of worker threads used by decays that support parallel cache filling.
The default implementation warns and leaves the decay unchanged. Derived decays with long QCDf/integration caches can override this method. Passing 0 means "use hardware_concurrency" for decays that support it.
| n_threads | Requested number of threads. |
Reimplemented from DecayParent.
Definition at line 1494 of file BsPhiDecay.cpp.
|
inlineoverridevirtual |
Whether this decay supports runtime thread configuration.
Reimplemented from DecayParent.
Definition at line 181 of file BsPhiDecay.h.
|
protected |
Definition at line 227 of file BsPhiDecay.cpp.
|
protected |
Definition at line 217 of file BsPhiDecay.cpp.
|
protected |
Definition at line 207 of file BsPhiDecay.cpp.