Skip to content

Commit

Permalink
Add initial support for the EFT calculation using the semi-analytic s…
Browse files Browse the repository at this point in the history
…olver
  • Loading branch information
Dylan Harries committed Feb 27, 2017
1 parent d1c5953 commit 55fb190
Show file tree
Hide file tree
Showing 9 changed files with 1,169 additions and 11 deletions.
33 changes: 23 additions & 10 deletions meta/FlexibleSUSY.m
Expand Up @@ -1501,7 +1501,7 @@ corresponding tadpole is real or imaginary (only in models with CP
WriteBVPSolverTemplates[files_List] :=
WriteOut`ReplaceInFiles[files, { Sequence @@ GeneralReplacementRules[] }];

WriteTwoScaleMatchingClass[files_List] :=
WriteMatchingClass[files_List] :=
WriteOut`ReplaceInFiles[files, { Sequence @@ GeneralReplacementRules[] }];

WriteTwoScaleModelClass[files_List] :=
Expand Down Expand Up @@ -3254,15 +3254,16 @@ corresponding tadpole is real or imaginary (only in models with CP
FileNameJoin[{FSOutputDir, FlexibleSUSY`FSModelName <> "_two_scale_model.cpp"}]}}];

Print["Creating two-scale matching class ..."];
WriteTwoScaleMatchingClass[{{FileNameJoin[{$flexiblesusyTemplateDir, "standard_model_two_scale_matching.hpp.in"}],
FileNameJoin[{FSOutputDir, FlexibleSUSY`FSModelName <> "_standard_model_two_scale_matching.hpp"}]},
{FileNameJoin[{$flexiblesusyTemplateDir, "standard_model_two_scale_matching.cpp.in"}],
FileNameJoin[{FSOutputDir, FlexibleSUSY`FSModelName <> "_standard_model_two_scale_matching.cpp"}]}
}];
WriteMatchingClass[{{FileNameJoin[{$flexiblesusyTemplateDir, "standard_model_two_scale_matching.hpp.in"}],
FileNameJoin[{FSOutputDir, FlexibleSUSY`FSModelName <> "_standard_model_two_scale_matching.hpp"}]},
{FileNameJoin[{$flexiblesusyTemplateDir, "standard_model_two_scale_matching.cpp.in"}],
FileNameJoin[{FSOutputDir, FlexibleSUSY`FSModelName <> "_standard_model_two_scale_matching.cpp"}]}
}];

spectrumGeneratorInputFile = "two_scale_high_scale_spectrum_generator";
If[FlexibleSUSY`OnlyLowEnergyFlexibleSUSY,
spectrumGeneratorInputFile = "two_scale_low_scale_spectrum_generator";];
spectrumGeneratorInputFile = "two_scale_low_scale_spectrum_generator";
];
If[FlexibleSUSY`FlexibleEFTHiggs === True,
spectrumGeneratorInputFile = "standard_model_" <> spectrumGeneratorInputFile;
];
Expand Down Expand Up @@ -3402,7 +3403,9 @@ corresponding tadpole is real or imaginary (only in models with CP
initialGuesserInputFile = "semi_analytic_low_scale_initial_guesser";,
initialGuesserInputFile = "semi_analytic_high_scale_initial_guesser";
];
(* @todo support EFTHiggs *)
If[FlexibleSUSY`FlexibleEFTHiggs === True,
initialGuesserInputFile = "standard_model_" <> initialGuesserInputFile;
];
WriteInitialGuesserClass[FlexibleSUSY`InitialGuessAtLowScale,
FlexibleSUSY`InitialGuessAtSUSYScale,
FlexibleSUSY`InitialGuessAtHighScale,
Expand Down Expand Up @@ -3436,10 +3439,20 @@ corresponding tadpole is real or imaginary (only in models with CP
{FileNameJoin[{$flexiblesusyTemplateDir, "semi_analytic_model.cpp.in"}],
FileNameJoin[{FSOutputDir, FlexibleSUSY`FSModelName <> "_semi_analytic_model.cpp"}]}}];

Print["Creating semi-analytic matching class ..."];
WriteMatchingClass[{{FileNameJoin[{$flexiblesusyTemplateDir, "standard_model_semi_analytic_matching.hpp.in"}],
FileNameJoin[{FSOutputDir, FlexibleSUSY`FSModelName <> "_standard_model_semi_analytic_matching.hpp"}]},
{FileNameJoin[{$flexiblesusyTemplateDir, "standard_model_semi_analytic_matching.cpp.in"}],
FileNameJoin[{FSOutputDir, FlexibleSUSY`FSModelName <> "_standard_model_semi_analytic_matching.cpp"}]}
}];

spectrumGeneratorInputFile = "semi_analytic_high_scale_spectrum_generator";
If[FlexibleSUSY`OnlyLowEnergyFlexibleSUSY,
spectrumGeneratorInputFile = "semi_analytic_low_scale_spectrum_generator";];
(* @todo support FlexibleEFTHiggs *)
spectrumGeneratorInputFile = "semi_analytic_low_scale_spectrum_generator";
];
If[FlexibleSUSY`FlexibleEFTHiggs === True,
spectrumGeneratorInputFile = "standard_model_" <> spectrumGeneratorInputFile;
];
Print["Creating class for semi-analytic spectrum generator ..."];
WriteSemiAnalyticSpectrumGeneratorClass[{{FileNameJoin[{$flexiblesusyTemplateDir, spectrumGeneratorInputFile <> ".hpp.in"}],
FileNameJoin[{FSOutputDir, FlexibleSUSY`FSModelName <> "_semi_analytic_spectrum_generator.hpp"}]},
Expand Down
6 changes: 6 additions & 0 deletions templates/module.mk
Expand Up @@ -104,6 +104,12 @@ SEMI_ANALYTIC_TEMPLATES := \
$(DIR)/semi_analytic_susy_scale_constraint.hpp.in \
$(DIR)/semi_analytic_susy_scale_constraint.cpp.in \
$(DIR)/soft_parameters_constraint.hpp.in \
$(DIR)/standard_model_semi_analytic_high_scale_initial_guesser.hpp.in \
$(DIR)/standard_model_semi_analytic_high_scale_initial_guesser.cpp.in \
$(DIR)/standard_model_semi_analytic_high_scale_spectrum_generator.hpp.in \
$(DIR)/standard_model_semi_analytic_high_scale_spectrum_generator.cpp.in \
$(DIR)/standard_model_semi_analytic_matching.hpp.in \
$(DIR)/standard_model_semi_analytic_matching.cpp.in \
$(DIR)/susy_convergence_tester.hpp.in

TEMPLATES := \
Expand Down
4 changes: 3 additions & 1 deletion templates/semi_analytic.mk.in
Expand Up @@ -29,7 +29,8 @@ LIB@ModelName@_SRC += \
$(DIR)/@ModelName@_semi_analytic_solutions.cpp \
$(DIR)/@ModelName@_semi_analytic_spectrum_generator.cpp \
$(DIR)/@ModelName@_semi_analytic_susy_convergence_tester.cpp \
$(DIR)/@ModelName@_semi_analytic_susy_scale_constraint.cpp
$(DIR)/@ModelName@_semi_analytic_susy_scale_constraint.cpp \
$(DIR)/@ModelName@_standard_model_semi_analytic_matching.cpp
LIB@ModelName@_HDR += \
$(DIR)/@ModelName@_semi_analytic_convergence_tester.hpp \
$(DIR)/@ModelName@_semi_analytic_ewsb_solver.hpp \
Expand All @@ -43,4 +44,5 @@ LIB@ModelName@_HDR += \
$(DIR)/@ModelName@_semi_analytic_susy_convergence_tester.hpp \
$(DIR)/@ModelName@_semi_analytic_susy_scale_constraint.hpp \
$(DIR)/@ModelName@_soft_parameters_constraint.hpp \
$(DIR)/@ModelName@_standard_model_semi_analytic_matching.hpp \
$(DIR)/@ModelName@_susy_convergence_tester.hpp

0 comments on commit 55fb190

Please sign in to comment.