27 hyp.
init(
"lha/si_input.flha", config);
69 std::vector<CsvRow> rows;
70 rows.reserve(16 * 32);
72 auto start = std::chrono::steady_clock::now();
75 for (
double mu_b = 1.0; mu_b < 5.0; mu_b += 0.05) {
80 for (
const auto& group : results) {
81 const std::string obs_name = group.first.str();
82 for (
const auto& val : group.second) {
87 if (val.bin.has_value()) {
88 row.
q2_min = val.bin->first;
89 row.
q2_max = val.bin->second;
91 row.
value = val.value;
92 rows.push_back(std::move(row));
97 auto stop = std::chrono::steady_clock::now();
98 const auto us = std::chrono::duration_cast<std::chrono::microseconds>(stop - start).count();
100 std::ofstream csv(
"hyperiso_bkstarll_scan.csv");
101 csv <<
"step,mu_b,observable,q2_min,q2_max,value\n";
102 csv << std::setprecision(17);
103 for (
const auto& row : rows) {
104 csv << row.step <<
','
106 << row.observable <<
',';
107 if (row.q2_min.has_value()) {
108 csv << *row.q2_min <<
',' << *row.q2_max;
112 csv <<
',' << row.value <<
'\n';
116 std::cout <<
"Temps calcul seul : " << us * 1e-6 <<
" s\n";
117 std::cout <<
"num of steps : " << step <<
'\n';
118 std::cout <<
"CSV : hyperiso_bkstarll_scan.csv\n";
@ P_PRIME_8_B0__KSTAR0_MU_MU
@ P_PRIME_5_B0__KSTAR0_MU_MU
@ P_PRIME_4_B0__KSTAR0_MU_MU
@ P_PRIME_6_B0__KSTAR0_MU_MU
High-level helpers for initializing and monitoring the Hyperiso framework.
High-level, user-facing entry point to compute flavor observables.
static IdOf< ObservableTag > to_id(Observables e)
Converts an enum value to an IdOf<Tag>.
High-level interface to initialize and monitor the main framework configuration.
void init(const std::string &lhaFile, HyperisoConfig config)
Initializes Hyperiso using a LHA file and a full Config object.
std::map< ObservableId, std::vector< ObservableValue > > compute_all()
Compute all currently registered observables.
ObservableInterface & add_observable(Observables obs, QCDOrder order, bool add_dependencies=false)
Add an observable to the manager (enum API).
Concrete mutator that directly sets the value of parameters.
void mutate(const ParamId &pid, scalar_t value) override
Sets the value of a parameter.
Identifies an observable together with a numerical bin.
std::optional< double > q2_max
std::optional< double > q2_min
Configuration object controlling model, input flags and optional MARTY resources.
Model model
Current model.