Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
Loading...
Searching...
No Matches
GroupDefinition Struct Reference

Declarative description of a Wilson coefficient group. More...

#include <GroupDefinition.h>

Collaboration diagram for GroupDefinition:

Public Types

using SetupHook = std::function< void(const BuildContext &, CoefficientGroup &)>
 Setup hook signature.
 

Public Member Functions

std::vector< SetupHookhooks_for (Model model) const
 Returns hooks applicable to model, including common hooks and the explicit Marty -> SM compatibility fallback.
 

Public Attributes

WGroupId id
 Identifier for this group.
 
std::vector< WCoefmembers
 Members (coefficient enums) belonging to this group.
 
std::unordered_map< WilsonBasis, std::map< QCDOrder, CoefficientGroupSources > > sources
 Running-block sources and computation functions.
 
std::vector< SetupHookcommon_setup
 Setup hooks to run for every model/backend during group construction.
 
std::unordered_map< Model, std::vector< SetupHook > > setup
 Model-specific setup hooks to run during group construction.
 

Detailed Description

Declarative description of a Wilson coefficient group.

A group definition specifies:

  • id : a unique group identifier
  • members : the list of coefficient enums in this group
  • sources : per-basis and per-order description of required blocks and computation functions
  • common_setup / setup : optional common and model-specific setup hooks

Sources:

  • sources[basis][order] returns a CoefficientGroupSources describing:
    • which blocks must exist (across ParameterType scopes),
    • which function computes the running coefficients for that (basis, order).

Setup hooks:

  • Hooks can be model-independent (common_setup) or stored per model: setup[Model::SM], setup[Model::SUSY], etc.
  • Marty builds also inherit SM hooks unless the same hook is already registered explicitly for Model::MARTY.
  • Each hook is invoked with a BuildContext and the concrete CoefficientGroup being built/initialized.
  • Hooks are typically used to compose auxiliary blocks (e.g. running matrices) needed by some groups for a given model/backend.

Definition at line 145 of file GroupDefinition.h.

Member Typedef Documentation

◆ SetupHook

using GroupDefinition::SetupHook = std::function<void(const BuildContext&, CoefficientGroup&)>

Setup hook signature.

Hooks can:

  • compose additional dependent blocks via ctx.adapters.iblock_c->compose_block(...),
  • add/override sources via grp.add_sources(...),
  • apply per-model or per-backend customizations.
Parameters
ctxBuild-time context (model/backend/adapters/contrib/group_id).
grpThe concrete coefficient group being configured.

Definition at line 175 of file GroupDefinition.h.

Member Function Documentation

◆ hooks_for()

std::vector< GroupDefinition::SetupHook > GroupDefinition::hooks_for ( Model  model) const

Returns hooks applicable to model, including common hooks and the explicit Marty -> SM compatibility fallback.

Definition at line 6 of file GroupDefinitions.cpp.

Member Data Documentation

◆ common_setup

std::vector<SetupHook> GroupDefinition::common_setup

Setup hooks to run for every model/backend during group construction.

Prefer this for auxiliary blocks that are independent of the coefficient backend, e.g. common running matrices.

Definition at line 183 of file GroupDefinition.h.

◆ id

WGroupId GroupDefinition::id

Identifier for this group.

Definition at line 147 of file GroupDefinition.h.

◆ members

std::vector<WCoef> GroupDefinition::members

Members (coefficient enums) belonging to this group.

Definition at line 150 of file GroupDefinition.h.

◆ setup

std::unordered_map<Model, std::vector<SetupHook> > GroupDefinition::setup

Model-specific setup hooks to run during group construction.

Example:

d.setup[Model::SUSY].push_back(&Setup_BScalar_SUSY_Base1_LO);

Definition at line 193 of file GroupDefinition.h.

◆ sources

std::unordered_map<WilsonBasis, std::map<QCDOrder, CoefficientGroupSources> > GroupDefinition::sources

Running-block sources and computation functions.

Keyed by:

  • WilsonBasis (B_STANDARD, B_TRADITIONAL, ...)
  • QCDOrder (LO, NLO, NNLO, ...)

The source list may include MATCHING_BLOCK_PLACEHOLDER, which should be replaced at build time with the actual matching block name for the group.

Definition at line 162 of file GroupDefinition.h.


The documentation for this struct was generated from the following files: