4#include <unordered_set>
13void print_wilson_usage() {
16 <<
" hyperiso-ui wilson summary [options]\n\n"
18 <<
" --groups <csv> Wilson groups, default BCoefficients\n"
19 <<
" --coeffs <csv> Coefficients, default C7,C9,C10\n"
20 <<
" --qmatch <value> Matching scale, default 81\n"
21 <<
" --q <value> Running scale, default 4.8\n"
22 <<
" --order <order> LO, NLO or NNLO, default NNLO\n"
23 <<
" --model <model> SM, THDM, MSSM or MARTY, default SM\n"
24 <<
" --lha <path> Input LHA/SLHA/FLHA file\n"
25 <<
" --spectrum <bool> Treat the input as an already generated spectrum\n"
26 <<
" --contribution <type> SM, BSM or TOTAL, default TOTAL\n";
32 CliOptions opts = CliOptions::parse(argc, argv, 1);
33 const std::string command = opts.positionals.empty() ?
"summary" : opts.positionals[0];
35 if (opts.flag(
"help",
false) || command ==
"help") {
39 if (command !=
"summary") {
40 throw std::invalid_argument(
"Unknown wilson command: " + command);
46 const auto group_names = opts.list(
"groups", {
"BCoefficients"});
47 const auto coeff_names = opts.list(
"coeffs", {
"C7",
"C9",
"C10"});
48 const double qmatch = opts.get_double(
"qmatch", 81.0);
49 const double q = opts.get_double(
"q", 4.8);
53 std::unordered_set<WGroupId> groups;
54 for (
const auto& name : group_names) {
63 <<
", qmatch=" << qmatch
64 <<
", q=" << q <<
"\n";
66 for (
const auto& group_name : group_names) {
69 for (
const auto& coeff_name : coeff_names) {
71 const auto m = wilson.
getFM(group, coeff, order, contribution);
72 const auto r = wilson.
getFR(group, coeff, order, contribution);
75 <<
" running=" << r <<
"\n";
void print_section(const std::string &title)
ContributionType parse_contribution(const std::string &contribution)
HyperisoMaster init_hyperiso_from_cli(const CliOptions &opts)
QCDOrder parse_qcd_order(const std::string &order)
int handleWilsonOptions(int argc, char *argv[])
static std::string str(const IdOf< QCDOrderTag > &id)
Returns the string representation associated with an identifier.
static IdOf< WGroupTag > id_of(std::string_view s)
Resolves a string into an IdOf<Tag> via the registry.
static std::string str(const IdOf< WCoefTag > &id)
Returns the string representation of an identifier.
static std::string str(const WGroupId &gid, ScaleType s, WilsonBasis b=WilsonBasis::B_STANDARD)
Builds a composite block name using a WGroupId, scale and basis.
Returns an uppercase copy of the input string.
User-facing API to build and query Wilson coefficients at matching and hadronic scales.
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).
void build(WilsonBuildConfig config)
Builds the full Wilson pipeline and makes queries available.
Non-templated façade over the project mapper families.
void init_all_builtins()
Initializes all builtin mapper registries and the decay graph.
Configuration for building sets of Wilson coefficients.