8int main(
int argc,
char** argv) {
15 config_hyp.
mty_model_path = argc > 2 ? argv[2] :
"Assets/input_files/marty_model/ZPrime.h";
16 hyp.init(argc > 1 ? argv[1] :
"Assets/lha/camilia.flha", config_hyp);
36 [=](
const std::unordered_map<QCDOrder, std::unordered_map<WCoefId, scalar_t>>& match,
37 const BlockSrc& ) -> std::unordered_map<WCoefId, scalar_t>
41 const auto it1 = C_LO.find(CNP1);
42 const auto it2 = C_LO.find(CNP2);
60 auto w1 = std::make_shared<CustomWilson>(
LhaID(9001,1,0,(
int)ctx.
contrib), blk, ctx.
contrib);
61 w1->set_name(
"C_NP1");
62 w1->set_contribution_type(ctx.
contrib);
67 auto w2 = std::make_shared<CustomWilson>(
LhaID(9001,2,0,(
int)ctx.
contrib), blk, ctx.
contrib);
68 w2->set_name(
"C_NP2");
69 w2->set_contribution_type(ctx.
contrib);
74 grp.insert({ w1->get_name(), w1 });
75 grp.insert({ w2->get_name(), w2 });
86 auto builder = std::make_shared<WilsonBuilder>(cfg);
87 auto cm = builder->get_coefficient_manager();
95 std::cout <<
"C_NP1 LO @ mu_W = " << CNP1_M <<
"\n";
96 std::cout <<
"C_NP2 LO @ mu_W = " << CNP2_M <<
"\n";
97 std::cout <<
"C_NP1 LO @ mu_h = " << CNP1_R <<
"\n";
98 std::cout <<
"C_NP2 LO @ mu_h = " << CNP2_R <<
"\n";
User-assembled CoefficientGroup with explicit coefficients and running rules.
User-definable WilsonCoefficient with explicit per-order matching definitions.
Declarative registry describing Wilson coefficient groups, their sources, and setup hooks.
constexpr const char * MATCHING_BLOCK_PLACEHOLDER
Placeholder string used in GroupDefinition sources to refer to the matching block.
High-level orchestration of Wilson coefficient groups (matching + running/hadronic).
Lightweight view over a set of source blocks.
Polymorphic container of WilsonCoefficient objects representing a coefficient group.
static bool register_custom(std::string canonical, std::vector< std::string > aliases={}, std::optional< std::pair< int, int > > ext=std::nullopt)
Registers a custom entry with optional external key.
static bool set_external(const IdOf< WCoefTag > &id, const std::pair< int, int > &k)
Sets or updates the external key of an existing 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 WGroupId &gid, ScaleType s, WilsonBasis b=WilsonBasis::B_STANDARD)
Builds a composite block name using a WGroupId, scale and basis.
static bool register_custom(std::string canonical, std::vector< std::string > aliases={}, std::optional< std::string > ext=std::nullopt)
Registers a custom Wilson group with optional external label.
High-level interface to initialize and monitor the main framework configuration.
Lightweight view over a set of source parameters keyed by ParamId.
Returns an uppercase copy of the input string.
void register_custom(const GroupDefinition &def)
Registers a custom group definition at runtime.
Build-time context passed to group setup hooks.
WGroupId group_id
Identifier of the group being built.
ContributionType contrib
Contribution type used for this build (SM/BSM/TOTAL, etc.).
Declarative description of a Wilson coefficient group.
WGroupId id
Identifier for this group.
Configuration object controlling model, input flags and optional MARTY resources.
std::optional< fs::path > mty_model_path
Path to the MARTY model file, if needed.
std::optional< std::string > mty_model_name
MARTY model class name, if needed.
Model model
Current model.
Represents an identifier of a LHA element, possibly containing several sub-ids.
Configuration for building sets of Wilson coefficients.
std::unordered_set< WGroupId > groups
Set of Wilson operator group identifiers to be included in the build.
double hadronic_scale
Hadronic scale (in GeV) at which the Wilson coefficients are evaluated in the effective theory.
QCDOrder order
Perturbative QCD order used for the evolution and matching of Wilson coefficients....
double matching_scale
Matching scale (in GeV) at which the high-energy theory is matched to the effective theory.