Skip to content

Commit

Permalink
Merge branch 'development' into weinberg_angle
Browse files Browse the repository at this point in the history
Conflicts:
	meta/FlexibleSUSY.m
  • Loading branch information
Markus-Bach committed Jan 12, 2016
2 parents b5a1288 + 3c8c174 commit a8fa5c9
Show file tree
Hide file tree
Showing 130 changed files with 1,583 additions and 154 deletions.
5 changes: 2 additions & 3 deletions .gitattributes
Expand Up @@ -4,9 +4,6 @@ doc/release export-ignore
doc/FlexibleFuture.txt export-ignore
TODO export-ignore

addons export-ignore
addons/gm2calc export-ignore

examples/lattice_fmssm.cpp export-ignore
examples/lattice_fmssm_fmssmn.cpp export-ignore
examples/lattice_numerical_fmssm.cpp export-ignore
Expand All @@ -31,6 +28,7 @@ model_files/CMSSMMassWInput export-ignore
model_files/CMSSMConvergenceTester export-ignore
model_files/InertMSSM export-ignore
model_files/LHInputMSSM export-ignore
model_files/MDM export-ignore
model_files/minMSSM export-ignore
model_files/NoYukawaMSSM export-ignore
model_files/NSM export-ignore
Expand All @@ -53,6 +51,7 @@ models/smcw export-ignore
release export-ignore

sarah/InertMSSM export-ignore
sarah/MDM export-ignore
sarah/NoYukawaMSSM export-ignore
sarah/NSM export-ignore
sarah/UnbrokenMSSM export-ignore
Expand Down
38 changes: 36 additions & 2 deletions ChangeLog
@@ -1,4 +1,15 @@
FlexibleSUSY-1.2.5 [not released yet]
FlexibleSUSY-1.3.2 [January, 10 2016]

* Bugfix (commit d76ca79): Fix compilation error with Eigen
3.3-beta1.

FlexibleSUSY-1.3.1 [January, 08 2016]

* Bugfix (commit aa8dc76): Re-enable the output of gauge eigenstate
masses of 1st and 2nd generation sfermions in the CMSSMNoFV for
SLHA-1 compatibility.

FlexibleSUSY-1.3.0 [January, 08 2016]

* Feature: The output of the spectrum generator can be written into
an SQLite database using the --database-output-file= option. At
Expand Down Expand Up @@ -40,6 +51,23 @@ FlexibleSUSY-1.2.5 [not released yet]
the renormalisation of the Fayet-Iliopoulos D-term, see the note in
Section 2, page 4 of arxiv:hep-ph/0308231 .

* Feature: The anomalous magnetic moment of the muon, (g-2)/2, can be
calculated in all MSSM models without sfermion flavour violation
(e.g. the MSSMNoFV and CMSSMNoFV). The calculation is performed
with GM2Calc 1.1.0 [arXiv:1510.08071] up to the 2-loop level
including tan(beta) resummation.

In order to enable the calculation of (g-2)/2, the symbols

FlexibleSUSYObservable`aMuonGM2Calc
FlexibleSUSYObservable`aMuonGM2CalcUncertainty

have to be added to ExtraSLHAOutputBlocks variable in the
FlexibleSUSY model file (they are already added in the MSSMNoFV and
CMSSMNoFV example models). In addition, the SLHA input file entry
FlexibleSUSY[15] has to be set to 1 to perform the calculation. If
FlexibleSUSY[15] is set to 0, (g-2)/2 is not calculated.

* Change (commit d553af8): No SLHA output is written if the option
--slha-output-file= is set to the empty string. To write the SLHA
output to stdout, set --slha-output-file=- (this is the default).
Expand All @@ -60,6 +88,12 @@ FlexibleSUSY-1.2.5 [not released yet]
effective mu parameter in the NMSSMRUN SLHA output block in the
models: NMSSM, NMSSMCPV, NUTNMSSM, SMSSM and NUTSMSSM.

* Bugfix (commit 9ccdb4d): Workaround a SARAH issue where the list
SARAH`Masses[EWSB] contains replacement rules of the form `0 ->
MassGiven[X]', instead of `Mass[X] -> MassGiven[X]'. Due to this
issue some massless particles have been missing in FlexibleSUSY
before commit 9ccdb4d.

FlexibleSUSY-1.2.4 [October, 27 2015]

* Change (commit 33af37c): The spectrum generator, run_<model>.x,
Expand Down Expand Up @@ -108,7 +142,7 @@ FlexibleSUSY-1.2.3 [October, 18 2015]
contributions O(alpha_t^2) and O(alpha_t alpha_s) from
arxiv:1205.6497. The calculation of the Higgs pole mass in the
HSSUSY model coincides with the one obtained with SUSYHD 1.0.2 with
a relative deviation of < 0.15%.
a relative deviation of < 0.06%.

* Feature: Allow adding 3-loop gluino contribution to Higgs
self-energy in split-SUSY models with a physical singlet Higgs.
Expand Down
6 changes: 3 additions & 3 deletions README
Expand Up @@ -38,9 +38,9 @@ the Needs["SARAH`"] command from inside Mathematica. We recommend the
following setup:

$ cd ~/.Mathematica/Applications/
$ wget https://www.hepforge.org/archive/sarah/SARAH-4.4.6.tar.gz
$ tar -xf SARAH-4.4.6.tar.gz
$ ln -s $PWD/SARAH-4.4.6/ SARAH
$ wget https://www.hepforge.org/archive/sarah/SARAH-4.6.0.tar.gz
$ tar -xf SARAH-4.6.0.tar.gz
$ ln -s $PWD/SARAH-4.6.0/ SARAH

$ cd ~/.Mathematica/Kernel/
$ echo "AppendTo[\$Path, \"$HOME/.Mathematica/Applications/SARAH/\"];" \
Expand Down
File renamed without changes.
File renamed without changes.
Expand Up @@ -469,21 +469,23 @@ void MSSMNoFV_onshell::convert_Mu_M1_M2(
const double precision =
std::max((MCha_goal - get_MCha()).cwiseAbs().maxCoeff(),
std::abs(MChi_goal(max_bino) - get_MChi(max_bino)));
WARNING("DR-bar to on-shell conversion for Mu, M1 and M2 did"
" not converge"
" (reached accuracy: " << precision <<
", accuracy goal: " << precision_goal <<
", max. iterations: " << max_iterations << ")");
get_problems().flag_no_convergence_Mu_MassB_MassWB(precision, it);
} else {
get_problems().unflag_no_convergence_Mu_MassB_MassWB();
}

if (verbose_output) {
std::cout << " Achieved absolute accuracy: "
<< (std::max((MCha_goal - get_MCha()).cwiseAbs().maxCoeff(),
std::abs(MChi_goal(max_bino) - get_MChi(max_bino))))
<< " GeV\n";
const double precision =
std::max((MCha_goal - get_MCha()).cwiseAbs().maxCoeff(),
std::abs(MChi_goal(max_bino) - get_MChi(max_bino)));
if (it == max_iterations) {
std::cout <<
" DR-bar to on-shell conversion for Mu, M1 and M2 did"
" not converge (reached absolute accuracy: " << precision <<
" GeV, accuracy goal: " << precision_goal <<
", max. iterations: " << max_iterations << ")\n";
}
std::cout << " Achieved absolute accuracy: " << precision << " GeV\n";
}
}

Expand Down Expand Up @@ -582,14 +584,14 @@ double MSSMNoFV_onshell::convert_me2_root(

const double precision = std::abs(Difference_MSm(*this)(get_me2(1,1)));

if (it >= max_iterations) {
WARNING("DR-bar to on-shell conversion for mse did not converge with"
" root finder (reached accuracy: " << precision <<
", accuracy goal: " << precision_goal <<
", max. iterations: " << max_iterations << ")");
}

if (verbose_output) {
if (it >= max_iterations) {
std::cout <<
" DR-bar to on-shell conversion for mse did not converge with"
" root finder (reached absolute accuracy: " << precision <<
" GeV, accuracy goal: " << precision_goal <<
", max. iterations: " << max_iterations << ")\n";
}
std::cout << " Achieved absolute accuracy: "
<< precision << " GeV\n";
}
Expand Down Expand Up @@ -666,14 +668,14 @@ double MSSMNoFV_onshell::convert_me2_fpi(
const double precision =
std::abs(get_MSm(right_index) - MSm_goal(right_index));

if (it == max_iterations) {
WARNING("DR-bar to on-shell conversion for mse did not converge with"
" FPI (reached accuracy: " << precision <<
", accuracy goal: " << precision_goal <<
", max. iterations: " << max_iterations << ")");
}

if (verbose_output) {
if (it == max_iterations) {
std::cout <<
" DR-bar to on-shell conversion for mse did not converge with"
" FPI (reached absolute accuracy: " << precision <<
" GeV, accuracy goal: " << precision_goal <<
", max. iterations: " << max_iterations << ")\n";
}
std::cout << " Achieved absolute accuracy: "
<< precision << " GeV\n";
}
Expand Down
File renamed without changes.
Expand Up @@ -139,13 +139,13 @@ void MSSMNoFV_onshell_problems::print_warnings(std::ostream& ostr) const

if (have_no_convergence_Mu_MassB_MassWB)
ostr << " DR-bar to on-shell conversion for Mu, M1, M2 failed"
" (reached accuracy: "
<< convergence_problem_Mu_MassB_MassWB.precision << "),";
" (reached absolute accuracy: "
<< convergence_problem_Mu_MassB_MassWB.precision << " GeV),";

if (have_no_convergence_me2)
ostr << " DR-bar to on-shell conversion for me2 failed"
" (reached accuracy: "
<< convergence_problem_me2.precision << ")";
" (reached absolute accuracy: "
<< convergence_problem_me2.precision << " GeV)";
}

void MSSMNoFV_onshell_problems::print(std::ostream& ostr) const
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
2 changes: 1 addition & 1 deletion addons/gm2calc/gm2calc.cpp → addons/GM2Calc/gm2calc.cpp
Expand Up @@ -449,7 +449,7 @@ void print_warnings(const gm2calc::MSSMNoFV_onshell& model,
{
if (model.get_problems().have_problem() ||
model.get_problems().have_warning())
WARNING(model.get_problems());
std::cerr << model.get_problems() << '\n';

if (model.get_problems().have_warning()) {
switch (config_options.output_format) {
Expand Down
1 change: 1 addition & 0 deletions addons/gm2calc/gm2scan.cpp → addons/GM2Calc/gm2scan.cpp
Expand Up @@ -55,6 +55,7 @@ gm2calc::MSSMNoFV_onshell setup()
Au.setZero();
Ad.setZero();
Ae.setZero();
mq2.setZero();

mq2.diagonal().setConstant(500 * 500);
ml2 = md2 = mu2 = me2 = mq2;
Expand Down
76 changes: 45 additions & 31 deletions addons/gm2calc/module.mk → addons/GM2Calc/module.mk
@@ -1,8 +1,10 @@
DIR := addons/gm2calc
MODNAME := gm2calc
DIR := addons/GM2Calc
MODNAME := GM2Calc

LIBGM2Calc_MK := $(DIR)/module.mk

# source files
LIBgm2calc_SRC := \
LIBGM2Calc_SRC := \
$(DIR)/ffunctions.cpp \
$(DIR)/gm2_1loop.cpp \
$(DIR)/gm2_2loop.cpp \
Expand All @@ -17,12 +19,12 @@ LIBgm2calc_SRC := \
$(DIR)/MSSMNoFV_onshell_susy_parameters.cpp

# main()
EXEgm2calc_SRC := \
EXEGM2Calc_SRC := \
$(DIR)/gm2calc.cpp \
$(DIR)/gm2scan.cpp

# header files
LIBgm2calc_HDR := \
LIBGM2Calc_HDR := \
$(DIR)/ffunctions.hpp \
$(DIR)/gm2_1loop.hpp \
$(DIR)/gm2_2loop.hpp \
Expand All @@ -37,63 +39,75 @@ LIBgm2calc_HDR := \
$(DIR)/MSSMNoFV_onshell_soft_parameters.hpp \
$(DIR)/MSSMNoFV_onshell_susy_parameters.hpp

LIBgm2calc_SLHA_INPUT := \
LIBGM2Calc_SLHA_INPUT := \
$(DIR)/example.slha \
$(DIR)/example.gm2

LIBgm2calc_INFO := \
LIBGM2Calc_INFO := \
$(DIR)/AUTHORS \
$(DIR)/COPYING \
$(DIR)/README

LIBgm2calc_OBJ := \
$(patsubst %.cpp, %.o, $(filter %.cpp, $(LIBgm2calc_SRC)))
LIBGM2Calc_OBJ := \
$(patsubst %.cpp, %.o, $(filter %.cpp, $(LIBGM2Calc_SRC)))

EXEgm2calc_OBJ := \
$(patsubst %.cpp, %.o, $(filter %.cpp, $(EXEgm2calc_SRC)))
EXEGM2Calc_OBJ := \
$(patsubst %.cpp, %.o, $(filter %.cpp, $(EXEGM2Calc_SRC)))

LIBgm2calc_DEP := \
$(LIBgm2calc_OBJ:.o=.d)
LIBGM2Calc_DEP := \
$(LIBGM2Calc_OBJ:.o=.d)

EXEgm2calc_DEP := \
$(EXEgm2calc_OBJ:.o=.d)
EXEGM2Calc_DEP := \
$(EXEGM2Calc_OBJ:.o=.d)

EXEgm2calc_EXE := \
$(patsubst %.cpp, %.x, $(filter %.cpp, $(EXEgm2calc_SRC)))
EXEGM2Calc_EXE := \
$(patsubst %.cpp, %.x, $(filter %.cpp, $(EXEGM2Calc_SRC)))

LIBgm2calc := \
LIBGM2Calc := \
$(DIR)/lib$(MODNAME)$(LIBEXT)

LIBGM2Calc_INSTALL_DIR := $(INSTALL_DIR)/$(DIR)

.PHONY: clean-$(MODNAME) clean-$(MODNAME)-dep clean-$(MODNAME)-obj \
distclean-$(MODNAME)

clean-$(MODNAME)-dep:
-rm -f $(LIBgm2calc_DEP)
-rm -f $(EXEgm2calc_DEP)
-rm -f $(LIBGM2Calc_DEP)
-rm -f $(EXEGM2Calc_DEP)

clean-$(MODNAME)-obj:
-rm -f $(LIBgm2calc_OBJ)
-rm -f $(EXEgm2calc_OBJ)
-rm -f $(LIBGM2Calc_OBJ)
-rm -f $(EXEGM2Calc_OBJ)

clean-$(MODNAME): clean-$(MODNAME)-dep clean-$(MODNAME)-obj
-rm -f $(LIBgm2calc)
-rm -f $(EXEgm2calc_EXE)
-rm -f $(LIBGM2Calc)
-rm -f $(EXEGM2Calc_EXE)

distclean-$(MODNAME): clean-$(MODNAME)

clean:: clean-$(MODNAME)

distclean:: distclean-$(MODNAME)

$(LIBgm2calc_DEP) $(EXEgm2calc_DEP) $(LIBgm2calc_OBJ) $(EXEgm2calc_OBJ): CPPFLAGS += $(EIGENFLAGS) $(BOOSTFLAGS)
ifneq ($(INSTALL_DIR),)
install-src::
install -d $(LIBGM2Calc_INSTALL_DIR)
install -m u=rw,g=r,o=r $(LIBGM2Calc_SRC) $(LIBGM2Calc_INSTALL_DIR)
install -m u=rw,g=r,o=r $(LIBGM2Calc_HDR) $(LIBGM2Calc_INSTALL_DIR)
install -m u=rw,g=r,o=r $(EXEGM2Calc_SRC) $(LIBGM2Calc_INSTALL_DIR)
install -m u=rw,g=r,o=r $(LIBGM2Calc_MK) $(LIBGM2Calc_INSTALL_DIR)
endif

$(LIBGM2Calc_DEP) $(EXEGM2Calc_DEP) $(LIBGM2Calc_OBJ) $(EXEGM2Calc_OBJ): CPPFLAGS += $(EIGENFLAGS) $(BOOSTFLAGS)

$(LIBgm2calc): $(LIBgm2calc_OBJ)
$(LIBGM2Calc): $(LIBGM2Calc_OBJ)
$(MAKELIB) $@ $^

$(DIR)/%.x: $(DIR)/%.o $(LIBgm2calc) $(LIBFLEXI)
$(DIR)/%.x: $(DIR)/%.o $(LIBGM2Calc) $(LIBFLEXI)
$(CXX) -o $@ $(call abspathx,$^)

ALLDEP += $(LIBgm2calc_DEP) $(EXEgm2calc_DEP)
ALLSRC += $(LIBgm2calc_SRC) $(EXEgm2calc_SRC)
ALLLIB += $(LIBgm2calc)
ALLEXE += $(EXEgm2calc_EXE)
ALLDEP += $(LIBGM2Calc_DEP) $(EXEGM2Calc_DEP)
ALLSRC += $(LIBGM2Calc_SRC) $(EXEGM2Calc_SRC)
ALLLIB += $(LIBGM2Calc)
ALLEXE += $(EXEGM2Calc_EXE)
ADDONLIBS += $(LIBGM2Calc)
2 changes: 2 additions & 0 deletions config/Makefile.in
Expand Up @@ -91,6 +91,8 @@ ALLLIB :=
ALLEXE :=
# the modules add test executables to this variable
ALLTST :=
# the addons add libraries to this variable to be linked against executables
ADDONLIBS:=

# flexiblesusy-config script
FSCONFIG := @FSCONFIG@
Expand Down
3 changes: 3 additions & 0 deletions config/config.h.in
Expand Up @@ -73,3 +73,6 @@

/* Enable <random> header */
@DEFINE_ENABLE_RANDOM@

/* Enable statements for addons */
@DEFINE_ENABLE_ADDONS@

0 comments on commit a8fa5c9

Please sign in to comment.