Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
Loading...
Searching...
No Matches
BPrimeWilsonGroup.cpp
Go to the documentation of this file.
1#include "BPrimeWilsonGroup.h"
2
3#include <stdexcept>
4
6 LOG_TRACE("In BPrimeCoefficientGroup constructor");
8}
9
10std::shared_ptr<CoefficientGroup> BPrimeCoefficientGroup::clone() const {
11 return std::make_shared<BPrimeCoefficientGroup>(*this);
12}
13
14std::unordered_map<WCoefId, scalar_t> BPrimeCoefficientGroup::base_1_LO_calculation(
15 const std::unordered_map<QCDOrder, std::unordered_map<WCoefId, scalar_t>>& coef_matching,
16 const BlockSrc& src
17)
18{
20 if (ids.size() != BRP::exp_prime_running.size()) {
21 throw std::runtime_error("BPrime running exponent table size does not match the BPrime coefficient group size");
22 }
23
24 double eta = src.get_val("WPARAM_RUN_SM",2);
25
26 std::unordered_map<WCoefId, scalar_t> Ci_run_map {};
27 for (size_t k = 0; k < ids.size(); k++) {
28 const auto id = WCoefMapper::to_id(ids[k]);
29 Ci_run_map[id] = pow(eta, BRP::exp_prime_running[k]) * coef_matching.at(QCDOrder::LO).at(id);
30 }
31
32 return Ci_run_map;
33}
QCDOrder
#define LOG_TRACE(...)
Macro for logging trace messages.
Definition Logger.h:46
std::shared_ptr< CoefficientGroup > clone() const override
Polymorphic clone.
static std::unordered_map< WCoefId, scalar_t > base_1_LO_calculation(const std::unordered_map< QCDOrder, std::unordered_map< WCoefId, scalar_t > > &coef_matching, const BlockSrc &src)
BPrimeCoefficientGroup(WilsonGroupAdapterConfig adapters)
Lightweight view over a set of source blocks.
Definition SourcesView.h:71
scalar_t get_val(std::string_view blk, std::initializer_list< long > code) const
Retrieves the value of a parameter given as an initializer_list.
Polymorphic container of WilsonCoefficient objects representing a coefficient group.
WGroupId id
Identifier of this group (used by GroupMapper to build block names).
static std::vector< WCoef > get_group(WGroup g)
Returns the list of Wilson coefficients belonging to a WGroup.
scalar_t pow(const scalar_t &base, const scalar_t &exp)
Definition scalar.cpp:75
static constexpr std::array< double, 16 > exp_prime_running
Dependency injection bundle for CoefficientGroup.