From fb494bc5b5e4c4542b32a62761876261f7b85f61 Mon Sep 17 00:00:00 2001 From: Alexander Voigt Date: Fri, 10 Mar 2017 13:00:27 +0100 Subject: [PATCH 1/7] prevent naming conflicts and introduce EMSbar symbol --- meta/FlexibleSUSY.m | 1 + .../two_scale_low_scale_constraint.cpp.in | 32 ++++++++++--------- .../two_scale_low_scale_constraint.hpp.in | 6 ++-- 3 files changed, 21 insertions(+), 18 deletions(-) diff --git a/meta/FlexibleSUSY.m b/meta/FlexibleSUSY.m index edce5fe45..17f5fea93 100644 --- a/meta/FlexibleSUSY.m +++ b/meta/FlexibleSUSY.m @@ -109,6 +109,7 @@ FlexibleSUSY model file (FlexibleSUSY.m). MZMSbar; MWMSbar; EDRbar; +EMSbar; ThetaWDRbar; SCALE; THRESHOLD; diff --git a/templates/two_scale_low_scale_constraint.cpp.in b/templates/two_scale_low_scale_constraint.cpp.in index da4f01f00..dd11edd01 100644 --- a/templates/two_scale_low_scale_constraint.cpp.in +++ b/templates/two_scale_low_scale_constraint.cpp.in @@ -53,10 +53,12 @@ namespace flexiblesusy { #define SCALE model->get_scale() #define MODEL model #define MODELCLASSNAME @ModelName@ -#define MWMSbar mWrun -#define MWDRbar mWrun -#define MZMSbar mZrun -#define MZDRbar mZrun +#define MWMSbar mW_run +#define MWDRbar mW_run +#define MZMSbar mZ_run +#define MZDRbar mZ_run +#define EDRbar e_run +#define EMSbar e_run #define CKM ckm #define PMNS pmns #define THETAW theta_w @@ -139,10 +141,10 @@ void @ModelName@_low_scale_constraint::clear() ckm.setIdentity(); pmns.setIdentity(); neutrinoDRbar.setZero(); - mWrun = 0.; - mZrun = 0.; + mW_run = 0.; + mZ_run = 0.; AlphaS = 0.; - EDRbar = 0.; + e_run = 0.; ThetaWDRbar = 0.; new_g1 = 0.; new_g2 = 0.; @@ -160,10 +162,10 @@ void @ModelName@_low_scale_constraint::initialize() ckm = qedqcd.get_complex_ckm(); pmns = qedqcd.get_complex_pmns(); neutrinoDRbar = Eigen::Matrix::Zero(); - mWrun = 0.; - mZrun = 0.; + mW_run = 0.; + mZ_run = 0.; AlphaS = 0.; - EDRbar = 0.; + e_run = 0.; ThetaWDRbar = 0.; new_g1 = 0.; new_g2 = 0.; @@ -207,16 +209,16 @@ void @ModelName@_low_scale_constraint::calculate_threshold_correction const double e_drbar = Sqrt(4.0 * Pi * alpha_em_drbar); // interface variables - mZrun = mz_pole; - mWrun = mw_pole; + mZ_run = mz_pole; + mW_run = mw_pole; if (model->get_thresholds()) { - mZrun = model->calculate_M@VectorZ@_DRbar(mz_pole); - mWrun = model->calculate_M@VectorW@_DRbar(mw_pole); + mZ_run = model->calculate_M@VectorZ@_DRbar(mz_pole); + mW_run = model->calculate_M@VectorW@_DRbar(mw_pole); } AlphaS = alpha_s_drbar; - EDRbar = e_drbar; + e_run = e_drbar; ThetaWDRbar = calculate_theta_w(alpha_em_drbar); } diff --git a/templates/two_scale_low_scale_constraint.hpp.in b/templates/two_scale_low_scale_constraint.hpp.in index c5cca5517..5ee705f3f 100644 --- a/templates/two_scale_low_scale_constraint.hpp.in +++ b/templates/two_scale_low_scale_constraint.hpp.in @@ -61,10 +61,10 @@ private: Eigen::Matrix,3,3> ckm{Eigen::Matrix,3,3>::Identity()}; Eigen::Matrix,3,3> pmns{Eigen::Matrix,3,3>::Identity()}; Eigen::Matrix neutrinoDRbar{Eigen::Matrix::Zero()}; - double mWrun{0.}; - double mZrun{0.}; + double mW_run{0.}; + double mZ_run{0.}; double AlphaS{0.}; - double EDRbar{0.}; + double e_run{0.}; double ThetaWDRbar{0.}; double new_g1{0.}, new_g2{0.}, new_g3{0.}; double self_energy_w_at_mw{0.}; From abeea7bd25bc55b01f923e656eb1531b2abaa514 Mon Sep 17 00:00:00 2001 From: Alexander Voigt Date: Sat, 11 Mar 2017 15:08:20 +0100 Subject: [PATCH 2/7] do not overwrite SA`Casimir as it is correctly set in SARAH 4.10.2. --- README | 2 +- configure | 4 ++-- model_files/CMSSMNoFV/FlexibleSUSY.m.in | 5 ----- model_files/MSSMNoFV/FlexibleSUSY.m.in | 5 ----- model_files/MSSMNoFVSLHA2/FlexibleSUSY.m.in | 5 ----- model_files/MSSMNoFVatMGUT/FlexibleSUSY.m.in | 5 ----- model_files/MSSMNoFVtower/FlexibleSUSY.m.in | 5 ----- 7 files changed, 3 insertions(+), 28 deletions(-) diff --git a/README b/README index 553403b26..ac1980c3b 100644 --- a/README +++ b/README @@ -19,7 +19,7 @@ Requirements * C++ compiler (g++ >= 4.7.2 or clang++ >= 3.1 or icpc >= 12.1) * Fortran compiler (gfortran, ifort) * Mathematica (version 7.0 or higher) - * SARAH (version 4.0.4 or higher) http://sarah.hepforge.org + * SARAH (version 4.10.2 or higher) http://sarah.hepforge.org * Boost (version 1.37.0 or higher) http://www.boost.org * Eigen 3 (version 3.1 or higher) http://eigen.tuxfamily.org * GNU scientific library http://www.gnu.org/software/gsl/ diff --git a/configure b/configure index 9961a315e..06cce13fb 100755 --- a/configure +++ b/configure @@ -238,8 +238,8 @@ required_mathematica_version="7" # required SARAH version required_sarah_major="4" -required_sarah_minor="0" -required_sarah_patch="4" +required_sarah_minor="10" +required_sarah_patch="2" required_sarah_version="${required_sarah_major}.${required_sarah_minor}.${required_sarah_patch}" SARAH_VERSION="unknown" SARAH_MAJOR="0" diff --git a/model_files/CMSSMNoFV/FlexibleSUSY.m.in b/model_files/CMSSMNoFV/FlexibleSUSY.m.in index b3b8dd34e..d27a3241a 100644 --- a/model_files/CMSSMNoFV/FlexibleSUSY.m.in +++ b/model_files/CMSSMNoFV/FlexibleSUSY.m.in @@ -197,8 +197,3 @@ SMParticles = { Fu, Fd, Fc, Fs, Ft, Fb, Fe, Fm, Ftau, Fve, Fvm, Fvt, gG, gP, gZ, gWm, gWmC }; - -SA`Casimir[Ss, SARAH`color] = 4/3; -SA`Casimir[Sc, SARAH`color] = 4/3; -SA`Casimir[Sb, SARAH`color] = 4/3; -SA`Casimir[St, SARAH`color] = 4/3; diff --git a/model_files/MSSMNoFV/FlexibleSUSY.m.in b/model_files/MSSMNoFV/FlexibleSUSY.m.in index f1c1a0238..21ed47e51 100644 --- a/model_files/MSSMNoFV/FlexibleSUSY.m.in +++ b/model_files/MSSMNoFV/FlexibleSUSY.m.in @@ -224,8 +224,3 @@ SMParticles = { VectorP, VectorZ, VectorG, VectorW, Fu, Fd, Fc, Fs, Ft, Fb, Fe, Fm, Ftau, Fve, Fvm, Fvt }; - -SA`Casimir[Ss, SARAH`color] = 4/3; -SA`Casimir[Sc, SARAH`color] = 4/3; -SA`Casimir[Sb, SARAH`color] = 4/3; -SA`Casimir[St, SARAH`color] = 4/3; diff --git a/model_files/MSSMNoFVSLHA2/FlexibleSUSY.m.in b/model_files/MSSMNoFVSLHA2/FlexibleSUSY.m.in index fbf40d2cd..258c5968d 100644 --- a/model_files/MSSMNoFVSLHA2/FlexibleSUSY.m.in +++ b/model_files/MSSMNoFVSLHA2/FlexibleSUSY.m.in @@ -176,8 +176,3 @@ SMParticles = { VectorP, VectorZ, VectorG, VectorW, Fu, Fd, Fc, Fs, Ft, Fb, Fe, Fm, Ftau, Fve, Fvm, Fvt }; - -SA`Casimir[Ss, SARAH`color] = 4/3; -SA`Casimir[Sc, SARAH`color] = 4/3; -SA`Casimir[Sb, SARAH`color] = 4/3; -SA`Casimir[St, SARAH`color] = 4/3; diff --git a/model_files/MSSMNoFVatMGUT/FlexibleSUSY.m.in b/model_files/MSSMNoFVatMGUT/FlexibleSUSY.m.in index 8ed5b98fb..4dfbc3913 100644 --- a/model_files/MSSMNoFVatMGUT/FlexibleSUSY.m.in +++ b/model_files/MSSMNoFVatMGUT/FlexibleSUSY.m.in @@ -218,8 +218,3 @@ SMParticles = { VectorP, VectorZ, VectorG, VectorW, Fu, Fd, Fc, Fs, Ft, Fb, Fe, Fm, Ftau, Fve, Fvm, Fvt }; - -SA`Casimir[Ss, SARAH`color] = 4/3; -SA`Casimir[Sc, SARAH`color] = 4/3; -SA`Casimir[Sb, SARAH`color] = 4/3; -SA`Casimir[St, SARAH`color] = 4/3; diff --git a/model_files/MSSMNoFVtower/FlexibleSUSY.m.in b/model_files/MSSMNoFVtower/FlexibleSUSY.m.in index 2b6350b2c..de9aa5023 100644 --- a/model_files/MSSMNoFVtower/FlexibleSUSY.m.in +++ b/model_files/MSSMNoFVtower/FlexibleSUSY.m.in @@ -234,8 +234,3 @@ SMParticles = { VectorP, VectorZ, VectorG, VectorW, Fu, Fd, Fc, Fs, Ft, Fb, Fe, Fm, Ftau, Fve, Fvm, Fvt }; - -SA`Casimir[Ss, SARAH`color] = 4/3; -SA`Casimir[Sc, SARAH`color] = 4/3; -SA`Casimir[Sb, SARAH`color] = 4/3; -SA`Casimir[St, SARAH`color] = 4/3; From d4b5d9f64f20e4c62cc20674639e0b98b0374eca Mon Sep 17 00:00:00 2001 From: Alexander Voigt Date: Sat, 11 Mar 2017 19:10:18 +0100 Subject: [PATCH 3/7] use Pi instead of M_PI which is not guaranteed to be defined everywhere --- src/wrappers.hpp | 2 +- ...andard_model_two_scale_high_scale_initial_guesser.cpp.in | 6 +++--- ...tandard_model_two_scale_low_scale_initial_guesser.cpp.in | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/wrappers.hpp b/src/wrappers.hpp index 8269c6c0b..c98eef872 100644 --- a/src/wrappers.hpp +++ b/src/wrappers.hpp @@ -43,7 +43,7 @@ namespace flexiblesusy { static constexpr double Pi = M_PI; -static constexpr double oneOver16PiSqr = 1./(16. * M_PI * M_PI); +static constexpr double oneOver16PiSqr = 1./(16. * Pi * Pi); static constexpr double oneLoop = oneOver16PiSqr; static constexpr double twoLoop = oneOver16PiSqr * oneOver16PiSqr; static constexpr double threeLoop = oneOver16PiSqr * oneOver16PiSqr * oneOver16PiSqr; diff --git a/templates/standard_model_two_scale_high_scale_initial_guesser.cpp.in b/templates/standard_model_two_scale_high_scale_initial_guesser.cpp.in index 22baaffc2..01dd0ae31 100644 --- a/templates/standard_model_two_scale_high_scale_initial_guesser.cpp.in +++ b/templates/standard_model_two_scale_high_scale_initial_guesser.cpp.in @@ -113,9 +113,9 @@ void @ModelName@_standard_model_initial_guesser::guess_eft_parameters // guess gauge couplings at mt const auto alpha_sm(leAtMt.getGaugeMu(mtpole, sinThetaW2)); - eft->set_g1(sqrt(4.0 * M_PI * alpha_sm(0))); - eft->set_g2(sqrt(4.0 * M_PI * alpha_sm(1))); - eft->set_g3(sqrt(4.0 * M_PI * alpha_sm(2))); + eft->set_g1(sqrt(4.0 * Pi * alpha_sm(0))); + eft->set_g2(sqrt(4.0 * Pi * alpha_sm(1))); + eft->set_g3(sqrt(4.0 * Pi * alpha_sm(2))); eft->set_scale(mtpole); eft->set_v(246.22); diff --git a/templates/standard_model_two_scale_low_scale_initial_guesser.cpp.in b/templates/standard_model_two_scale_low_scale_initial_guesser.cpp.in index 799c2480e..a787bdb37 100644 --- a/templates/standard_model_two_scale_low_scale_initial_guesser.cpp.in +++ b/templates/standard_model_two_scale_low_scale_initial_guesser.cpp.in @@ -107,9 +107,9 @@ void @ModelName@_standard_model_initial_guesser::guess_eft_parameters // guess gauge couplings at mt const auto alpha_sm(leAtMt.getGaugeMu(mtpole, sinThetaW2)); - eft->set_g1(sqrt(4.0 * M_PI * alpha_sm(0))); - eft->set_g2(sqrt(4.0 * M_PI * alpha_sm(1))); - eft->set_g3(sqrt(4.0 * M_PI * alpha_sm(2))); + eft->set_g1(sqrt(4.0 * Pi * alpha_sm(0))); + eft->set_g2(sqrt(4.0 * Pi * alpha_sm(1))); + eft->set_g3(sqrt(4.0 * Pi * alpha_sm(2))); eft->set_scale(mtpole); eft->set_v(246.22); From bc7abce09c0de3a7650155a44454419d645fe602 Mon Sep 17 00:00:00 2001 From: Alexander Voigt Date: Sun, 12 Mar 2017 18:34:47 +0100 Subject: [PATCH 4/7] use in-class initialization of scales --- templates/slha_io.hpp.in | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/templates/slha_io.hpp.in b/templates/slha_io.hpp.in index da137a0eb..c410681d0 100644 --- a/templates/slha_io.hpp.in +++ b/templates/slha_io.hpp.in @@ -60,8 +60,7 @@ template class @ModelName@; struct @ModelName@_scales { - @ModelName@_scales() : HighScale(0.), SUSYScale(0.), LowScale(0.) {} - double HighScale, SUSYScale, LowScale; + double HighScale{0.}, SUSYScale{0.}, LowScale{0.}; }; class @ModelName@_slha_io { From 88fffa7a81c47189f52c754a9b112c0a86e95079 Mon Sep 17 00:00:00 2001 From: Alexander Voigt Date: Sun, 12 Mar 2017 18:44:23 +0100 Subject: [PATCH 5/7] save pole mass scale in the @ModelName@_scales struct --- templates/librarylink.cpp.in | 1 + templates/run.cpp.in | 1 + templates/run_cmd_line.cpp.in | 1 + templates/slha_io.hpp.in | 1 + 4 files changed, 4 insertions(+) diff --git a/templates/librarylink.cpp.in b/templates/librarylink.cpp.in index 08b1fafec..2d9d8394d 100644 --- a/templates/librarylink.cpp.in +++ b/templates/librarylink.cpp.in @@ -690,6 +690,7 @@ void Model_data_impl::calculate_spectrum() scales.HighScale = spectrum_generator.get_high_scale(); scales.SUSYScale = spectrum_generator.get_susy_scale(); scales.LowScale = spectrum_generator.get_low_scale(); + scales.pole_mass_scale = spectrum_generator.get_pole_mass_scale(); } /******************************************************************/ diff --git a/templates/run.cpp.in b/templates/run.cpp.in index 7fa2f4169..4582218f3 100644 --- a/templates/run.cpp.in +++ b/templates/run.cpp.in @@ -83,6 +83,7 @@ int run_solver(flexiblesusy::@ModelName@_slha_io& slha_io, scales.HighScale = spectrum_generator.get_high_scale(); scales.SUSYScale = spectrum_generator.get_susy_scale(); scales.LowScale = spectrum_generator.get_low_scale(); + scales.pole_mass_scale = spectrum_generator.get_pole_mass_scale(); @ModelName@_observables observables; if (spectrum_generator_settings.get(Spectrum_generator_settings::calculate_observables)) diff --git a/templates/run_cmd_line.cpp.in b/templates/run_cmd_line.cpp.in index 1b902403d..69a80f6ec 100644 --- a/templates/run_cmd_line.cpp.in +++ b/templates/run_cmd_line.cpp.in @@ -94,6 +94,7 @@ int run_solver(const @ModelName@_input_parameters& input) scales.HighScale = spectrum_generator.get_high_scale(); scales.SUSYScale = spectrum_generator.get_susy_scale(); scales.LowScale = spectrum_generator.get_low_scale(); + scales.pole_mass_scale = spectrum_generator.get_pole_mass_scale(); const auto observables = calculate_observables( model, qedqcd, physical_input); diff --git a/templates/slha_io.hpp.in b/templates/slha_io.hpp.in index c410681d0..d9a337656 100644 --- a/templates/slha_io.hpp.in +++ b/templates/slha_io.hpp.in @@ -61,6 +61,7 @@ class @ModelName@; struct @ModelName@_scales { double HighScale{0.}, SUSYScale{0.}, LowScale{0.}; + double pole_mass_scale{0.}; }; class @ModelName@_slha_io { From be5d9f72f26d5591cb6e103c6741c98d826b41dd Mon Sep 17 00:00:00 2001 From: Alexander Voigt Date: Sun, 12 Mar 2017 19:04:23 +0100 Subject: [PATCH 6/7] ensure that observables are calculated at the pole mass scale So far the scale at which the observables have been calculated did depend on the "parameter output scale", because this was the scale at which the model was output of the spectrum generator. --- templates/librarylink.cpp.in | 6 +++++- templates/run.cpp.in | 7 +++++-- templates/run_cmd_line.cpp.in | 5 ++++- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/templates/librarylink.cpp.in b/templates/librarylink.cpp.in index 2d9d8394d..a6e90e62b 100644 --- a/templates/librarylink.cpp.in +++ b/templates/librarylink.cpp.in @@ -698,7 +698,11 @@ void Model_data_impl::calculate_spectrum() template void Model_data_impl::calculate_model_observables() { - observables = calculate_observables(std::get<0>(models), qedqcd, physical_input); + // run model to pole mass scale + auto model = std::get<0>(models); + model.run_to(scales.pole_mass_scale); + + observables = calculate_observables(model, qedqcd, physical_input); } /******************************************************************/ diff --git a/templates/run.cpp.in b/templates/run.cpp.in index 4582218f3..eaaf9bdc2 100644 --- a/templates/run.cpp.in +++ b/templates/run.cpp.in @@ -86,8 +86,11 @@ int run_solver(flexiblesusy::@ModelName@_slha_io& slha_io, scales.pole_mass_scale = spectrum_generator.get_pole_mass_scale(); @ModelName@_observables observables; - if (spectrum_generator_settings.get(Spectrum_generator_settings::calculate_observables)) - observables = calculate_observables(std::get<0>(models), qedqcd, physical_input); + if (spectrum_generator_settings.get(Spectrum_generator_settings::calculate_observables)) { + auto model = std::get<0>(models); + model.run_to(scales.pole_mass_scale); + observables = calculate_observables(model, qedqcd, physical_input); + } const bool show_result = !problems.have_problem() || spectrum_generator_settings.get(Spectrum_generator_settings::force_output); diff --git a/templates/run_cmd_line.cpp.in b/templates/run_cmd_line.cpp.in index 69a80f6ec..15090f4e5 100644 --- a/templates/run_cmd_line.cpp.in +++ b/templates/run_cmd_line.cpp.in @@ -96,8 +96,11 @@ int run_solver(const @ModelName@_input_parameters& input) scales.LowScale = spectrum_generator.get_low_scale(); scales.pole_mass_scale = spectrum_generator.get_pole_mass_scale(); + auto model_obs = model; + model_obs.run_to(scales.pole_mass_scale); + const auto observables = calculate_observables( - model, qedqcd, physical_input); + model_obs, qedqcd, physical_input); // SLHA output SLHAea::Coll slhaea(@ModelName@_slha_io::fill_slhaea( From e3d3ed58a24e626ddab9d58998d31806e7335310 Mon Sep 17 00:00:00 2001 From: Alexander Voigt Date: Sun, 12 Mar 2017 19:43:10 +0100 Subject: [PATCH 7/7] refactor last commit to avoid code duplication --- templates/librarylink.cpp.in | 6 +----- templates/observables.cpp.in | 11 +++++++++++ templates/observables.hpp.in | 8 +++++++- templates/run.cpp.in | 7 ++----- templates/run_cmd_line.cpp.in | 5 +---- 5 files changed, 22 insertions(+), 15 deletions(-) diff --git a/templates/librarylink.cpp.in b/templates/librarylink.cpp.in index a6e90e62b..63b56678c 100644 --- a/templates/librarylink.cpp.in +++ b/templates/librarylink.cpp.in @@ -698,11 +698,7 @@ void Model_data_impl::calculate_spectrum() template void Model_data_impl::calculate_model_observables() { - // run model to pole mass scale - auto model = std::get<0>(models); - model.run_to(scales.pole_mass_scale); - - observables = calculate_observables(model, qedqcd, physical_input); + observables = calculate_observables(std::get<0>(models), qedqcd, physical_input, scales.pole_mass_scale); } /******************************************************************/ diff --git a/templates/observables.cpp.in b/templates/observables.cpp.in index 5dad100ca..9f2cb90db 100644 --- a/templates/observables.cpp.in +++ b/templates/observables.cpp.in @@ -77,6 +77,17 @@ void @ModelName@_observables::set(const Eigen::ArrayXd& vec) @setObservables@ } +@ModelName@_observables calculate_observables(const @ModelName@_mass_eigenstates& model, + const softsusy::QedQcd& qedqcd, + const Physical_input& physical_input, + double scale) +{ + auto model_at_scale = model; + model_at_scale.run_to(scale); + + return calculate_observables(model_at_scale, qedqcd, physical_input); +} + @ModelName@_observables calculate_observables(const @ModelName@_mass_eigenstates& model, const softsusy::QedQcd& qedqcd, const Physical_input& physical_input) diff --git a/templates/observables.hpp.in b/templates/observables.hpp.in index 9ec275b10..6e4ed5221 100644 --- a/templates/observables.hpp.in +++ b/templates/observables.hpp.in @@ -46,7 +46,13 @@ struct @ModelName@_observables { @observablesDef@ }; -@ModelName@_observables calculate_observables(const @ModelName@_mass_eigenstates&, const softsusy::QedQcd&, const Physical_input&); +@ModelName@_observables calculate_observables( + const @ModelName@_mass_eigenstates&, const softsusy::QedQcd&, + const Physical_input&); + +@ModelName@_observables calculate_observables( + const @ModelName@_mass_eigenstates&, const softsusy::QedQcd&, + const Physical_input&, double scale); } // namespace flexiblesusy diff --git a/templates/run.cpp.in b/templates/run.cpp.in index eaaf9bdc2..cf86ff4b0 100644 --- a/templates/run.cpp.in +++ b/templates/run.cpp.in @@ -86,11 +86,8 @@ int run_solver(flexiblesusy::@ModelName@_slha_io& slha_io, scales.pole_mass_scale = spectrum_generator.get_pole_mass_scale(); @ModelName@_observables observables; - if (spectrum_generator_settings.get(Spectrum_generator_settings::calculate_observables)) { - auto model = std::get<0>(models); - model.run_to(scales.pole_mass_scale); - observables = calculate_observables(model, qedqcd, physical_input); - } + if (spectrum_generator_settings.get(Spectrum_generator_settings::calculate_observables)) + observables = calculate_observables(std::get<0>(models), qedqcd, physical_input, scales.pole_mass_scale); const bool show_result = !problems.have_problem() || spectrum_generator_settings.get(Spectrum_generator_settings::force_output); diff --git a/templates/run_cmd_line.cpp.in b/templates/run_cmd_line.cpp.in index 15090f4e5..7baa744b2 100644 --- a/templates/run_cmd_line.cpp.in +++ b/templates/run_cmd_line.cpp.in @@ -96,11 +96,8 @@ int run_solver(const @ModelName@_input_parameters& input) scales.LowScale = spectrum_generator.get_low_scale(); scales.pole_mass_scale = spectrum_generator.get_pole_mass_scale(); - auto model_obs = model; - model_obs.run_to(scales.pole_mass_scale); - const auto observables = calculate_observables( - model_obs, qedqcd, physical_input); + model, qedqcd, physical_input, scales.pole_mass_scale); // SLHA output SLHAea::Coll slhaea(@ModelName@_slha_io::fill_slhaea(