Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
Loading...
Searching...
No Matches
WilsonInterface.h
Go to the documentation of this file.
1#ifndef WILSONINTERFACE_H
2#define WILSONINTERFACE_H
3
4#include <map>
5
6#include "Include.h"
7#include "WilsonManager.h"
8#include "AbstractConfig.h"
9#include "WilsonBuilder.h"
10
77private:
78 std::shared_ptr<WilsonBuilder> builder;
79 std::shared_ptr<WilsonProvider> provider;
80
82 std::vector<WilsonMatchingPatch> pending_matching_patches;
83
93 QCDOrder ensure_mty_compat(QCDOrder order);
94
96 bool built {false};
97
98public:
99 WilsonInterface() = default;
100
109 void build(WilsonBuildConfig config);
110
118
119
139
144
152
155
157 WilsonInterface& addMatchingPatches(const std::vector<WilsonMatchingPatch>& patches);
158
165 void set_matching_scale(double mu_W);
166
173 void set_hadronic_scale(double mu_h);
174
190
193
195 scalar_t getM(WGroupId group, WCoefId coeff, QCDOrder order, ContributionType cont_type);
196
198 scalar_t getM(WGroup group, WCoef coeff, QCDOrder order, ContributionType cont_type);
199
207
210
212 scalar_t getFM(WGroupId group, WCoefId coeff, QCDOrder order, ContributionType cont_type);
213
215 scalar_t getFM(WGroup group, WCoef coeff, QCDOrder order, ContributionType cont_type);
216
230
233
236
239
247
250
253
256
267 std::map<QCDOrder, scalar_t> getSepOrderMatchingCoefficient(WGroupId group, WCoefId coeff, ContributionType cont_type);
268
270 std::map<QCDOrder, scalar_t> getSepOrderMatchingCoefficient(WGroup group, WCoef coeff, ContributionType cont_type);
271
273 std::map<QCDOrder, scalar_t> getSM(WGroupId group, WCoefId coeff, ContributionType cont_type);
274
276 std::map<QCDOrder, scalar_t> getSM(WGroup group, WCoef coeff, ContributionType cont_type);
277
281 std::map<QCDOrder, scalar_t> getSepOrderRunCoefficient(WGroupId group, WCoefId coeff, ContributionType cont_type, WilsonBasis basis=WilsonBasis::B_STANDARD);
282
284 std::map<QCDOrder, scalar_t> getSepOrderRunCoefficient(WGroup group, WCoef coeff, ContributionType cont_type, WilsonBasis basis=WilsonBasis::B_STANDARD);
285
287 std::map<QCDOrder, scalar_t> getSR(WGroupId group, WCoefId coeff, ContributionType cont_type, WilsonBasis basis=WilsonBasis::B_STANDARD);
288
290 std::map<QCDOrder, scalar_t> getSR(WGroup group, WCoef coeff, ContributionType cont_type, WilsonBasis basis=WilsonBasis::B_STANDARD);
291
300 std::map<WCoef, scalar_t> getAllMatchingCoefficients(WGroup group, QCDOrder order, ContributionType cont_type);
301
303 std::map<WCoef, scalar_t> getAM(WGroup group, QCDOrder order, ContributionType cont_type);
304
306 std::map<WCoef, scalar_t> getAllRunCoefficients(WGroup group, QCDOrder order, ContributionType cont_type, WilsonBasis basis=WilsonBasis::B_STANDARD);
307
309 std::map<WCoef, scalar_t> getAR(WGroup group, QCDOrder order, ContributionType cont_type, WilsonBasis basis=WilsonBasis::B_STANDARD);
310
312 std::map<WCoef, scalar_t> getAllFullMatchingCoefficients(WGroup group, QCDOrder order, ContributionType cont_type);
313
315 std::map<WCoef, scalar_t> getAFM(WGroup group, QCDOrder order, ContributionType cont_type);
316
318 std::map<WCoef, scalar_t> getAllFullRunCoefficients(WGroup group, QCDOrder order, ContributionType cont_type, WilsonBasis basis=WilsonBasis::B_STANDARD);
319
321 std::map<WCoef, scalar_t> getAFR(WGroup group, QCDOrder order, ContributionType cont_type, WilsonBasis basis=WilsonBasis::B_STANDARD);
322
324};
325
326#endif // WILSONINTERFACE_H
Base type for lightweight configuration structures.
QCDOrder
WilsonBasis
ContributionType
WCoef
WGroup
High-level orchestration of Wilson coefficient groups (matching + running/hadronic).
Returns an uppercase copy of the input string.
User-facing API to build and query Wilson coefficients at matching and hadronic scales.
WilsonInterface & addMatchingPatches(const std::vector< WilsonMatchingPatch > &patches)
Add several additive Wilson matching patches.
std::map< QCDOrder, scalar_t > getSepOrderMatchingCoefficient(WGroupId group, WCoefId coeff, ContributionType cont_type)
Returns a map {LO,NLO,NNLO} -> matching coefficient for a dynamic coefficient.
void addWilsonGroup(WilsonBuildConfig config)
Adds one or more Wilson groups to an existing built interface.
std::map< WCoef, scalar_t > getAllRunCoefficients(WGroup group, QCDOrder order, ContributionType cont_type, WilsonBasis basis=WilsonBasis::B_STANDARD)
Returns {coef -> hadronic coefficient} for all coefficients in the group at a given order and basis.
scalar_t getRunCoefficient(WGroupId group, WCoefId coeff, QCDOrder order, ContributionType cont_type, WilsonBasis basis=WilsonBasis::B_STANDARD)
Returns the hadronic/run coefficient at the requested order.
scalar_t getMatchingCoefficient(WGroupId group, WCoefId coeff, QCDOrder order, ContributionType cont_type)
Returns the matching-scale coefficient at the requested QCD order.
void set_matching_scale(double mu_W)
Sets the matching scale (mu_W) in the global parameter system.
std::map< QCDOrder, scalar_t > getSR(WGroupId group, WCoefId coeff, ContributionType cont_type, WilsonBasis basis=WilsonBasis::B_STANDARD)
Alias for getSepOrderRunCoefficient(WGroupId,WCoefId,ContributionType,WilsonBasis).
WilsonInterface & add_matching_patch(const WilsonMatchingPatch &patch)
Snake-case alias for addMatchingPatch.
scalar_t getFullMatchingCoefficient(WGroupId group, WCoefId coeff, QCDOrder order, ContributionType cont_type)
Returns the matching coefficient with perturbative summation up to order.
std::map< WCoef, scalar_t > getAllFullRunCoefficients(WGroup group, QCDOrder order, ContributionType cont_type, WilsonBasis basis=WilsonBasis::B_STANDARD)
Returns {coef -> full hadronic coefficient} (summed up to order) for all coefficients in the group.
std::map< WCoef, scalar_t > getAR(WGroup group, QCDOrder order, ContributionType cont_type, WilsonBasis basis=WilsonBasis::B_STANDARD)
Alias for getAllRunCoefficients.
std::map< WCoef, scalar_t > getAllMatchingCoefficients(WGroup group, QCDOrder order, ContributionType cont_type)
Returns {coef -> matching coefficient} for all coefficients in the group at a given order.
WilsonInterface()=default
scalar_t getM(WGroupId group, WCoefId coeff, QCDOrder order, ContributionType cont_type)
Alias for getMatchingCoefficient(WGroupId,WCoefId,QCDOrder,ContributionType).
void set_hadronic_scale(double mu_h)
Sets the hadronic scale (mu_h) in the global parameter system.
scalar_t getFullRunCoefficient(WGroupId group, WCoefId coeff, QCDOrder order, ContributionType cont_type, WilsonBasis basis=WilsonBasis::B_STANDARD)
Returns the full hadronic/run coefficient summed up to order.
std::map< WCoef, scalar_t > getAM(WGroup group, QCDOrder order, ContributionType cont_type)
Alias for getAllMatchingCoefficients.
std::map< QCDOrder, scalar_t > getSM(WGroupId group, WCoefId coeff, ContributionType cont_type)
Alias for getSepOrderMatchingCoefficient(WGroupId,WCoefId,ContributionType).
WilsonInterface & addMatchingPatch(const WilsonMatchingPatch &patch)
Add an additive Wilson matching patch.
std::map< WCoef, scalar_t > getAllFullMatchingCoefficients(WGroup group, QCDOrder order, ContributionType cont_type)
Returns {coef -> full matching coefficient} (summed up to order) for all coefficients in the group.
std::map< QCDOrder, scalar_t > getSepOrderRunCoefficient(WGroupId group, WCoefId coeff, ContributionType cont_type, WilsonBasis basis=WilsonBasis::B_STANDARD)
Returns a map {LO,NLO,NNLO} -> hadronic coefficient for a dynamic coefficient.
WilsonInterface & addCustomWilsonGroup(const CustomWilsonGroupConfig &config)
Register and initialize a runtime Wilson group described by lambdas.
scalar_t getFM(WGroupId group, WCoefId coeff, QCDOrder order, ContributionType cont_type)
Alias for getFullMatchingCoefficient(WGroupId,WCoefId,QCDOrder,ContributionType).
scalar_t getFR(WGroupId group, WCoefId coeff, QCDOrder order, ContributionType cont_type, WilsonBasis basis=WilsonBasis::B_STANDARD)
Alias for getFullRunCoefficient(WGroupId,WCoefId,QCDOrder,ContributionType,WilsonBasis).
std::map< WCoef, scalar_t > getAFR(WGroup group, QCDOrder order, ContributionType cont_type, WilsonBasis basis=WilsonBasis::B_STANDARD)
Alias for getAllFullRunCoefficients.
std::map< WCoef, scalar_t > getAFM(WGroup group, QCDOrder order, ContributionType cont_type)
Alias for getAllFullMatchingCoefficients.
scalar_t getR(WGroupId group, WCoefId coeff, QCDOrder order, ContributionType cont_type, WilsonBasis basis=WilsonBasis::B_STANDARD)
Alias for getRunCoefficient(WGroupId,WCoefId,QCDOrder,ContributionType,WilsonBasis).
void build(WilsonBuildConfig config)
Builds the full Wilson pipeline and makes queries available.
WilsonInterface & add_custom_group(const CustomWilsonGroupConfig &config)
Snake-case alias for addCustomWilsonGroup.
Configuration of a user-defined Wilson group built from lambdas.
Configuration for building sets of Wilson coefficients.
Definition Configs.h:32