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

Contains the repartition of parameter blocks according to their ParameterType. More...

#include <ParameterRouter.h>

Static Public Member Functions

static std::vector< BlockNamefilter_custom_blocks (const std::vector< BlockName > &source)
 Filters custom (non-standard) blocks from a source list.
 
static void register_custom_bsm_block (BlockName blockName)
 Registers one runtime block as BSM-owned.
 
static void register_custom_bsm_blocks (const std::vector< BlockName > &blockNames)
 Registers several runtime blocks as BSM-owned.
 
static bool is_custom_bsm_block (BlockName blockName)
 Checks whether one block was registered dynamically as BSM-owned.
 
static const std::unordered_set< BlockName > & custom_bsm_blocks ()
 Returns the registered runtime BSM blocks.
 
static std::unordered_set< BlockNameget_blocks (ParameterType type)
 Returns the static blocks plus runtime BSM blocks when relevant.
 

Static Public Attributes

static const std::map< ParameterType, std::unordered_set< BlockName > > BLOCKS
 Static map associating a ParameterType with a set of block names.
 
static std::unordered_set< BlockNameCUSTOM_BSM_BLOCKS {}
 Runtime-registered blocks that should be treated as BSM blocks.
 

Detailed Description

Contains the repartition of parameter blocks according to their ParameterType.

This is essentially a static "routing table" telling the framework which LHA / FLHA blocks conceptually belong to each high-level parameter family (SM, BSM, flavor, Wilson, decay, observable, passthrough).

Definition at line 30 of file ParameterRouter.h.

Member Function Documentation

◆ custom_bsm_blocks()

const std::unordered_set< BlockName > & ParameterBlockRepartition::custom_bsm_blocks ( )
static

Returns the registered runtime BSM blocks.

Definition at line 17 of file ParameterRouter.cpp.

◆ filter_custom_blocks()

std::vector< BlockName > ParameterBlockRepartition::filter_custom_blocks ( const std::vector< BlockName > &  source)
static

Filters custom (non-standard) blocks from a source list.

A block is considered "custom" if its lower-cased name is not found in any of the standard BLOCKS sets, with two special exceptions:

  • "mass"
  • "gauge" which are always considered custom if present in source.
Parameters
sourceA list of input block names (as found in a file or DB).
Returns
A list of block names considered as custom blocks.

Definition at line 31 of file ParameterRouter.cpp.

◆ get_blocks()

std::unordered_set< BlockName > ParameterBlockRepartition::get_blocks ( ParameterType  type)
static

Returns the static blocks plus runtime BSM blocks when relevant.

Definition at line 21 of file ParameterRouter.cpp.

◆ is_custom_bsm_block()

bool ParameterBlockRepartition::is_custom_bsm_block ( BlockName  blockName)
static

Checks whether one block was registered dynamically as BSM-owned.

Definition at line 13 of file ParameterRouter.cpp.

◆ register_custom_bsm_block()

void ParameterBlockRepartition::register_custom_bsm_block ( BlockName  blockName)
static

Registers one runtime block as BSM-owned.

Definition at line 3 of file ParameterRouter.cpp.

◆ register_custom_bsm_blocks()

void ParameterBlockRepartition::register_custom_bsm_blocks ( const std::vector< BlockName > &  blockNames)
static

Registers several runtime blocks as BSM-owned.

Definition at line 7 of file ParameterRouter.cpp.

Member Data Documentation

◆ BLOCKS

const std::map<ParameterType, std::unordered_set<BlockName> > ParameterBlockRepartition::BLOCKS
inlinestatic
Initial value:
{
{ParameterType::SM, {"SMINPUTS", "MASS", "VCKMIN", "UPMNSIN", "UPMNS", "VCKM", "GAUGE"}},
{ParameterType::BSM, {"GAUGE", "MASS", "HMIX", "ALPHA", "MSOFT", "NMIX", "NMNMIX", "UMIX", "VMIX", "NMAMIX", "NMHMIX", "NMSSMRUN", "STOPMIX", "SBOTMIX", "STAUMIX", "AU", "AD", "AE", "YU", "YD", "YE", "MINPAR"}},
{ParameterType::FLAVOR, {"FMASS", "FLIFE", "FCONST", "FCONSTRATIO", "FBAG", "FPARAM"}},
{ParameterType::WILSON, {"FWCOEF", "IMFWCOEF", "EW_SCALE", "B_SCALE", "D_SCALE", "K_SCALE", "SCALE_NUIS"}},
{ParameterType::DECAY, {"B_Ks", "B_ll", "B_Xs", "B_Dlnu", "B_Dslnu", "B_Xsll", "B_Ksll", "M0_Mix", "B_phi", "B_K", "K_ll", "K_pi", "K_lnu", "Lb_L"}},
{ParameterType::OBSERVABLE, {"FOBS", "FOBSERR", "FOBSSM", "FOBSSMERR", "FDIPOLE"}},
{ParameterType::PASSTHROUGH, {"MODSEL", "SPINFO", "FMODSEL", "FCINFO", "EXTPAR"}}
}

Static map associating a ParameterType with a set of block names.

Interpretation:

Note: some blocks such as "MASS" and "GAUGE" can be used by multiple parameter types (e.g. SM vs BSM). In those cases, finer logic is implemented in ParamRouter::GetType(block, id).

Definition at line 47 of file ParameterRouter.h.

◆ CUSTOM_BSM_BLOCKS

std::unordered_set<BlockName> ParameterBlockRepartition::CUSTOM_BSM_BLOCKS {}
inlinestatic

Runtime-registered blocks that should be treated as BSM blocks.

This is used by HyperisoMaster::pre_init() / ILhaPrototypeRegistry to make additional LHA prototypes available through Parameters::GetInstance(BSM) without hard-coding their names in the static BLOCKS table.

Definition at line 78 of file ParameterRouter.h.


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