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

High-level factory assembling a complete Wilson computation pipeline. More...

#include <WilsonBuilder.h>

Inheritance diagram for WilsonBuilder:
Collaboration diagram for WilsonBuilder:

Public Member Functions

 WilsonBuilder (WilsonBuildConfig config)
 Constructs and immediately builds the Wilson pipeline from a config.
 
 WilsonBuilder (std::shared_ptr< CoefficientManager > manager)
 Constructs a builder from an existing coefficient manager (advanced usage).
 
void build (WilsonBuildConfig config) override
 Build a new Wilson pipeline from scratch.
 
void add (WilsonBuildConfig config) override
 Add additional Wilson groups to an existing manager.
 
void add_custom_group (const CustomWilsonGroupConfig &config)
 Register and initialize a user-defined Wilson group built from lambdas.
 
void add_matching_patch (const WilsonMatchingPatch &patch)
 Add one additive matching patch to the active Wilson manager.
 
void add_matching_patches (const std::vector< WilsonMatchingPatch > &patches)
 Add several additive matching patches to the active Wilson manager.
 
std::shared_ptr< WilsonProviderget_wilson_provider ()
 Returns a provider facade around this builder.
 
std::shared_ptr< CoefficientManagerget_coefficient_manager ()
 Returns the underlying coefficient manager.
 
- Public Member Functions inherited from IWilsonBuilder< WilsonBuildConfig, WilsonProvider >
virtual ~IWilsonBuilder ()=default
 

Detailed Description

High-level factory assembling a complete Wilson computation pipeline.

WilsonBuilder is responsible for wiring together:

Typical usage:

cfg.matching_scale = 160.0;
cfg.hadronic_scale = 4.8;
auto builder = std::make_shared<WilsonBuilder>(cfg);
auto provider = builder->get_wilson_provider();
Configuration for building sets of Wilson coefficients.
Definition Configs.h:32
std::unordered_set< WGroupId > groups
Set of Wilson operator group identifiers to be included in the build.
Definition Configs.h:36
double hadronic_scale
Hadronic scale (in GeV) at which the Wilson coefficients are evaluated in the effective theory.
Definition Configs.h:48
QCDOrder order
Perturbative QCD order used for the evolution and matching of Wilson coefficients....
Definition Configs.h:54
double matching_scale
Matching scale (in GeV) at which the high-energy theory is matched to the effective theory.
Definition Configs.h:42

Notes on Marty:

  • When Marty is enabled, the builder currently forces coefficients to LO only (and will warn if a higher order is requested).
  • Contribution type differs depending on backend: Marty tends to provide TOTAL, while builtin flow often separates SM vs BSM depending on selected model.
See also
CoefficientRegistry
CoefficientGroupBuilder
CoefficientManager
WilsonProvider

Definition at line 61 of file WilsonBuilder.h.

Constructor & Destructor Documentation

◆ WilsonBuilder() [1/2]

WilsonBuilder::WilsonBuilder ( WilsonBuildConfig  config)

Constructs and immediately builds the Wilson pipeline from a config.

Definition at line 8 of file WilsonBuilder.cpp.

◆ WilsonBuilder() [2/2]

WilsonBuilder::WilsonBuilder ( std::shared_ptr< CoefficientManager manager)

Constructs a builder from an existing coefficient manager (advanced usage).

Definition at line 28 of file WilsonBuilder.cpp.

Member Function Documentation

◆ add()

void WilsonBuilder::add ( WilsonBuildConfig  config)
overridevirtual

Add additional Wilson groups to an existing manager.

This method:

  • (re)initializes helper blocks for the new groups,
  • builds the new group(s),
  • registers them into the existing manager,
  • initializes matching and hadronic blocks for each new group.

Notes:

  • This does not rebuild the whole pipeline; it extends the existing manager.
  • Scales are updated before composing new blocks.

Implements IWilsonBuilder< WilsonBuildConfig, WilsonProvider >.

Definition at line 127 of file WilsonBuilder.cpp.

◆ add_custom_group()

void WilsonBuilder::add_custom_group ( const CustomWilsonGroupConfig config)

Register and initialize a user-defined Wilson group built from lambdas.

The config provides dynamic ids, matching lambdas for coefficients and optional running lambdas for the group. The builder turns it into a CustomCoefficientGroup, registers it in the existing CoefficientManager, then initializes matching and hadronic blocks at the scales/order stored in the config.

Parameters
configRuntime/custom Wilson group configuration.

Definition at line 215 of file WilsonBuilder.cpp.

◆ add_matching_patch()

void WilsonBuilder::add_matching_patch ( const WilsonMatchingPatch patch)

Add one additive matching patch to the active Wilson manager.

Definition at line 239 of file WilsonBuilder.cpp.

◆ add_matching_patches()

void WilsonBuilder::add_matching_patches ( const std::vector< WilsonMatchingPatch > &  patches)

Add several additive matching patches to the active Wilson manager.

Definition at line 246 of file WilsonBuilder.cpp.

◆ build()

void WilsonBuilder::build ( WilsonBuildConfig  config)
overridevirtual

Build a new Wilson pipeline from scratch.

Steps performed (as per implementation):

  • create a shared block composer,
  • initialize SM helper blocks for each requested group,
  • depending on current model, initialize THDM/SUSY helper blocks (if applicable),
  • create parameter proxies (Wilson + SM),
  • set up runtime flags / APIs (use Marty? has Wilson input? model API),
  • create Marty proxy if needed,
  • create adapters and coefficient registry, build groups requested in config,
  • enforce Marty LO-only if needed,
  • build and initialize the CoefficientManager (matching + hadronic blocks).

Implements IWilsonBuilder< WilsonBuildConfig, WilsonProvider >.

Definition at line 30 of file WilsonBuilder.cpp.

◆ get_coefficient_manager()

std::shared_ptr< CoefficientManager > WilsonBuilder::get_coefficient_manager ( )

Returns the underlying coefficient manager.

Definition at line 257 of file WilsonBuilder.cpp.

◆ get_wilson_provider()

std::shared_ptr< WilsonProvider > WilsonBuilder::get_wilson_provider ( )
virtual

Returns a provider facade around this builder.

The provider offers runtime coefficient access using a request/config object.

Implements IWilsonBuilder< WilsonBuildConfig, WilsonProvider >.

Definition at line 253 of file WilsonBuilder.cpp.


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