|
Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
|
Concrete CoefficientGroup built manually by the user. More...
#include <CustomWilsonGroup.h>


Public Member Functions | |
| CustomCoefficientGroup (WilsonGroupAdapterConfig adapters, WGroupId gid, const std::string &name, ContributionType type=ContributionType::SM) | |
| Constructs a custom coefficient group. | |
| std::shared_ptr< CoefficientGroup > | clone () const override |
| Polymorphic clone. | |
| CustomCoefficientGroup & | add_coefficient (const std::shared_ptr< WilsonCoefficient > &coef) |
| Adds a coefficient to the group (fluent API). | |
| CustomCoefficientGroup & | add_coefficient (WCoefId id, const std::shared_ptr< WilsonCoefficient > &coef) |
| Adds a coefficient with an explicit dynamic id. | |
| CustomCoefficientGroup & | set_basis_order_sources_and_running (WilsonBasis basis, QCDOrder order, std::unordered_map< ParameterType, std::vector< std::string > > source_names, std::function< std::unordered_map< WCoefId, scalar_t >(const std::unordered_map< QCDOrder, std::unordered_map< WCoefId, scalar_t > > &, const BlockSrc &)> running_func) |
| Defines dependency sources and running function for a basis and order. | |
| CustomCoefficientGroup & | finalize (QCDOrder order) |
Finalizes the group by composing dependent parameters up to order. | |
Public Member Functions inherited from CoefficientGroup | |
| CoefficientGroup (WilsonGroupAdapterConfig adapters) | |
| Constructs an empty group with adapter configuration. | |
| CoefficientGroup (const CoefficientGroup &) | |
| Deep-copy constructor. | |
| CoefficientGroup (CoefficientGroup &&)=default | |
| Move construction (default). | |
| CoefficientGroup (std::map< std::string, std::shared_ptr< WilsonCoefficient > > &coeffs, WilsonGroupAdapterConfig adapters) | |
| Constructs from an existing map of coefficients and initializes up to NNLO. | |
| void | init (QCDOrder order) |
| Registers dependent parameters for matching coefficients up to a maximum order. | |
| void | init_full_running_block (const std::unordered_map< ParameterType, std::vector< std::string > > &source_names, WilsonBasis basis, bool inter, std::vector< ContributionType > type) |
| Initializes sources to build a full running block. | |
| virtual std::shared_ptr< CoefficientGroup > | get_sm_group () |
| Returns the SM-only subgroup if the concrete group supports it. | |
| complex_t | get_matching_coefficient (std::string coeff, std::string order, ContributionType cont_type) const |
| Reads a coefficient at the matching scale (mu_W). | |
| complex_t | get_running_coefficient (std::string coeff, std::string order, ContributionType cont_type, WilsonBasis basis=WilsonBasis::B_STANDARD) const |
| Reads a coefficient at the hadronic scale (mu_h) in a given basis. | |
| QCDOrder | get_order () |
| Returns the maximum initialized QCD order for this group. | |
| std::string | get_matching_storage_block () const |
| Returns the current matching storage block name. | |
| void | set_matching_storage_block (std::string) |
| Sets the matching storage block name (used by claim_coefficients()). | |
| ContributionType | get_type () |
| Returns the contribution type associated with this group (SM/BSM/TOTAL...). | |
| std::unordered_map< ParameterType, std::vector< std::string > > | get_sources (QCDOrder ord, WilsonBasis id) |
| Returns source blocks for a given basis and order. | |
| std::unordered_set< WilsonBasis > | get_bases () const |
| Returns the set of bases configured in sources. | |
| std::function< std::unordered_map< WCoefId, scalar_t >(const std::unordered_map< QCDOrder, std::unordered_map< WCoefId, scalar_t > > &, const BlockSrc &)> | get_func (QCDOrder ord, WilsonBasis id) |
| Returns the computation function for a given basis and order. | |
| WGroupId | get_group_id () const |
| Returns the group identifier. | |
| const std::vector< WCoefId > & | get_member_ids () const |
| Returns the dynamic ids of coefficients owned by this group. | |
| void | set_member_ids (std::vector< WCoefId > ids) |
| Replace the dynamic coefficient membership list. | |
| void | add_member_id (WCoefId id) |
| Add one dynamic coefficient id to the membership list if absent. | |
| void | set_group_id (WGroupId gid) |
| Sets the group identifier (caller must ensure consistency with block naming). | |
| void | set_wilson_type (ContributionType ct) |
| Sets the group contribution type. | |
| void | add_sources (WilsonBasis basis, const std::map< QCDOrder, CoefficientGroupSources > &m) |
| Adds running-block sources for a given basis. | |
| virtual | ~CoefficientGroup ()=default |
Static Public Member Functions | |
| static std::unordered_map< WCoefId, scalar_t > | identity_running (const std::unordered_map< QCDOrder, std::unordered_map< WCoefId, scalar_t > > &coef_matching, const BlockSrc &) |
| Default running function that returns the "best available" matching map. | |
Public Attributes | |
| std::string | name_grp |
| Human-readable group name. | |
Additional Inherited Members | |
Protected Member Functions inherited from CoefficientGroup | |
| void | claim_coefficients () |
| Claims coefficient objects as owned by this group and sets their storage/type. | |
Protected Attributes inherited from CoefficientGroup | |
| ContributionType | wilson_type {ContributionType::SM} |
| Contribution type for this group (default SM). | |
| QCDOrder | current_order = QCDOrder::LO |
| Max initialized order (default LO). | |
| WGroupId | id |
| Identifier of this group (used by GroupMapper to build block names). | |
| std::string | block_name |
| Block name for matching-scale storage. | |
| std::vector< WCoefId > | member_ids |
| Dynamic coefficient ids belonging to this group. | |
| std::map< WilsonBasis, std::map< QCDOrder, CoefficientGroupSources > > | sources |
| Running-block source specification, keyed by (basis -> order). | |
| WilsonGroupAdapterConfig | adapters |
| Adapter configuration bundle (proxies, composers, core APIs, MARTY hooks). | |
Concrete CoefficientGroup built manually by the user.
This type is especially useful when introducing a new Wilson basis or a new set of coefficients without touching the built-in static group definitions.
Definition at line 42 of file CustomWilsonGroup.h.
|
inlineexplicit |
Constructs a custom coefficient group.
| adapters | Adapters/proxies required by the base CoefficientGroup. |
| gid | Group id used in mappers and block naming. |
| name | Human-readable group name. |
| type | Contribution type (default SM). |
Definition at line 52 of file CustomWilsonGroup.h.
|
inline |
Adds a coefficient to the group (fluent API).
The coefficient is inserted using its WilsonCoefficient::get_name() as key.
| coef | Coefficient to add. |
Definition at line 77 of file CustomWilsonGroup.h.
|
inline |
Adds a coefficient with an explicit dynamic id.
Use this overload for runtime/custom coefficients where the string stored in the coefficient object may not be convertible to a legacy enum. The explicit WCoefId is recorded as group membership and is later used by CoefficientManager to compose triplets and hadronic blocks.
| id | Dynamic coefficient id. |
| coef | Coefficient implementation. |
Definition at line 95 of file CustomWilsonGroup.h.
|
inlineoverridevirtual |
Polymorphic clone.
Implements CoefficientGroup.
Definition at line 65 of file CustomWilsonGroup.h.
|
inline |
Finalizes the group by composing dependent parameters up to order.
Internally calls CoefficientGroup::init(order), which:
| order | Highest QCD order to initialize (LO/NLO/NNLO). |
Definition at line 157 of file CustomWilsonGroup.h.
|
inlinestatic |
Default running function that returns the "best available" matching map.
Selects NNLO if present, else NLO, else LO, and returns the corresponding map.
| coef_matching | Matching coefficient values per order. |
| src | Unused (kept to match running function signature). |
Definition at line 136 of file CustomWilsonGroup.h.
|
inline |
Defines dependency sources and running function for a basis and order.
This configures the group-level running machinery (hadronic-scale blocks).
| basis | Wilson basis for which this rule applies. |
| order | QCD order this rule applies to. |
| source_names | Block dependencies used by the running function. |
| running_func | Function producing hadronic coefficients from matching inputs. |
Definition at line 112 of file CustomWilsonGroup.h.
| std::string CustomCoefficientGroup::name_grp |
Human-readable group name.
Definition at line 163 of file CustomWilsonGroup.h.