Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
Loading...
Searching...
No Matches
SMParamSetter.h
Go to the documentation of this file.
1#ifndef SMPARAMSETTER_H
2#define SMPARAMSETTER_H
3
4#include <cmath>
5#include <set>
6#include <string>
7#include <iostream>
8#include <vector>
9#include <optional>
10
11#include "config.hpp"
12#include "LhaID.h"
13#include "Interpreter.h"
15#include "CinematicExtractor.h"
16
22public:
34 SMParamSetter(const std::string& model,
35 std::set<std::string> special_blocks,
36 std::shared_ptr<IMartyParameterProxy<std::string, LhaID>> sm_proxy,
37 std::shared_ptr<IMartyParameterProxy<std::string, LhaID>> bsm_proxy = nullptr,
38 std::string cinematic_template = "");
39
40 std::unordered_map<std::string, double> setParam(const std::string& name, const InterpretedParam& interpretedParam);
41
42private:
43 scalar_t calculateValue(const InterpretedParam& interpretedParam);
44
45 scalar_t calculateKinematicInvariant(const LhaID& code) const;
46 scalar_t calculateOneToThreeInvariant(const LhaID& code, const std::vector<scalar_t>& masses) const;
47 scalar_t calculateOneToTwoInvariant(const LhaID& code, const std::vector<scalar_t>& masses) const;
48 scalar_t legacyKinematicInvariant(const LhaID& code) const;
49
50 std::vector<scalar_t> extractMassesForCurrentProcess() const;
51 scalar_t massValueForParticle(const std::string& particle_name) const;
52
53 Model model_type;
54 std::set<std::string> special_blocks;
55
56 std::shared_ptr<IMartyParameterProxy<std::string, LhaID>> sm_proxy;
57 std::shared_ptr<IMartyParameterProxy<std::string, LhaID>> bsm_proxy;
58
59 std::string cinematic_template;
60 std::optional<CinematicProcess> cinematic_process;
61};
62
63#endif // SMPARAMSETTER_H
Model
Declares a generic interface to access parameters for MARTY adapters.
Declares the Interpreter that maps MARTY parameters to Hyperiso IDs.
Lightweight representation of LHAPDF / SLHA-style identifiers.
Interface for accessing parameter values from different backends.
Converts Hyperiso parameters into MARTY input parameters.
std::unordered_map< std::string, double > setParam(const std::string &name, const InterpretedParam &interpretedParam)
Identifies a single interpreted parameter from an LHA block.
Represents an identifier of a LHA element, possibly containing several sub-ids.
Definition LhaID.h:56