diff --git a/templates/librarylink.cpp.in b/templates/librarylink.cpp.in index caf0ad64f..1f33728ee 100644 --- a/templates/librarylink.cpp.in +++ b/templates/librarylink.cpp.in @@ -245,7 +245,7 @@ void put_message(MLINK link, void put_settings(const Model_data& data, MLINK link) { - MLPutFunction(link, "List", 17); + MLPutFunction(link, "List", 22); MLPutRuleTo(link, data.settings.get(Spectrum_generator_settings::precision), "precisionGoal"); MLPutRuleTo(link, (int)data.settings.get(Spectrum_generator_settings::max_iterations), "maxIterations"); @@ -263,6 +263,11 @@ void put_settings(const Model_data& data, MLINK link) MLPutRuleTo(link, data.settings.get(Spectrum_generator_settings::beta_zero_threshold), "betaZeroThreshold"); MLPutRuleTo(link, (int)data.settings.get(Spectrum_generator_settings::force_positive_masses), "forcePositiveMasses"); MLPutRuleTo(link, data.settings.get(Spectrum_generator_settings::pole_mass_scale), "poleMassScale"); + MLPutRuleTo(link, data.settings.get(Spectrum_generator_settings::eft_pole_mass_scale), "eftPoleMassScale"); + MLPutRuleTo(link, data.settings.get(Spectrum_generator_settings::eft_matching_scale), "eftMatchingScale"); + MLPutRuleTo(link, (int)data.settings.get(Spectrum_generator_settings::eft_matching_loop_order_up), "eftMatchingLoopOrderUp"); + MLPutRuleTo(link, (int)data.settings.get(Spectrum_generator_settings::eft_matching_loop_order_down), "eftMatchingLoopOrderDown"); + MLPutRuleTo(link, (int)data.settings.get(Spectrum_generator_settings::eft_higgs_index), "eftHiggsIndex"); MLPutRuleTo(link, data.parameter_output_scale, "parameterOutputScale"); MLEndPacket(link); @@ -398,7 +403,7 @@ Model_data fill(double* pars, mint npars) { Model_data data; - const mint n_settings = 17, n_sm_parameters = 29, n_input_pars = @numberOfInputParameters@; + const mint n_settings = 22, n_sm_parameters = 29, n_input_pars = @numberOfInputParameters@; const mint n_total = n_settings + n_sm_parameters + n_input_pars; if (npars != n_total) @@ -422,6 +427,11 @@ Model_data fill(double* pars, mint npars) data.settings.set(Spectrum_generator_settings::beta_zero_threshold, pars[c++]); data.settings.set(Spectrum_generator_settings::force_positive_masses, pars[c++]); data.settings.set(Spectrum_generator_settings::pole_mass_scale, pars[c++]); + data.settings.set(Spectrum_generator_settings::eft_pole_mass_scale, pars[c++]); + data.settings.set(Spectrum_generator_settings::eft_matching_scale, pars[c++]); + data.settings.set(Spectrum_generator_settings::eft_matching_loop_order_up, pars[c++]); + data.settings.set(Spectrum_generator_settings::eft_matching_loop_order_down, pars[c++]); + data.settings.set(Spectrum_generator_settings::eft_higgs_index, pars[c++]); data.parameter_output_scale = pars[c++]; data.qedqcd.setAlpha(softsusy::ALPHA, pars[c]); diff --git a/templates/librarylink.m.in b/templates/librarylink.m.in index 983d61497..4c6360343 100644 --- a/templates/librarylink.m.in +++ b/templates/librarylink.m.in @@ -38,6 +38,11 @@ fsDefaultSettings = { betaZeroThreshold -> 1.*^-11, (* FlexibleSUSY[14] *) forcePositiveMasses -> 0, (* FlexibleSUSY[16] *) poleMassScale -> 0, (* FlexibleSUSY[17] *) + eftPoleMassScale -> 0, (* FlexibleSUSY[18] *) + eftMatchingScale -> 0, (* FlexibleSUSY[19] *) + eftMatchingLoopOrderUp -> 2, (* FlexibleSUSY[20] *) + eftMatchingLoopOrderDown -> 1, (* FlexibleSUSY[21] *) + eftHiggsIndex -> 0, (* FlexibleSUSY[22] *) parameterOutputScale -> 0 (* MODSEL[12] *) }; @@ -106,6 +111,11 @@ FS@ModelName@OpenHandle[OptionsPattern[]] := OptionValue[betaZeroThreshold], OptionValue[forcePositiveMasses], OptionValue[poleMassScale], + OptionValue[eftPoleMassScale], + OptionValue[eftMatchingScale], + OptionValue[eftMatchingLoopOrderUp], + OptionValue[eftMatchingLoopOrderDown], + OptionValue[eftHiggsIndex], OptionValue[parameterOutputScale], (* Standard Model input parameters *) diff --git a/templates/run.m.in b/templates/run.m.in index 68bf99b24..4993c2192 100644 --- a/templates/run.m.in +++ b/templates/run.m.in @@ -18,6 +18,11 @@ handle = FS@ModelName@OpenHandle[ betaZeroThreshold -> 1.*^-11, (* FlexibleSUSY[14] *) forcePositiveMasses -> 0, (* FlexibleSUSY[16] *) poleMassScale -> 0, (* FlexibleSUSY[17] *) + eftPoleMassScale -> 0, (* FlexibleSUSY[18] *) + eftMatchingScale -> 0, (* FlexibleSUSY[19] *) + eftMatchingLoopOrderUp -> 2, (* FlexibleSUSY[20] *) + eftMatchingLoopOrderDown -> 1, (* FlexibleSUSY[21] *) + eftHiggsIndex -> 0, (* FlexibleSUSY[22] *) parameterOutputScale -> 0 (* MODSEL[12] *) }, fsSMParameters -> {