Skip to content

Commit

Permalink
Add test of amu calculation in MRSSM2
Browse files Browse the repository at this point in the history
  • Loading branch information
jhyeon committed Sep 10, 2017
1 parent 2aa289a commit c0fb5b2
Show file tree
Hide file tree
Showing 3 changed files with 134 additions and 0 deletions.
7 changes: 7 additions & 0 deletions test/module.mk
Original file line number Diff line number Diff line change
Expand Up @@ -180,6 +180,11 @@ TEST_SRC += \
$(DIR)/test_CMSSM_database.cpp
endif

ifeq ($(WITH_MRSSM2),yes)
TEST_SRC += \
$(DIR)/test_MRSSM2_gmm2.cpp
endif

endif # ifneq ($(findstring two_scale,$(SOLVERS)),)

ifneq ($(findstring semi_analytic,$(SOLVERS)),)
Expand Down Expand Up @@ -800,6 +805,8 @@ $(DIR)/test_sfermions.x: $(LIBSoftsusyMSSM) $(LIBCMSSM) $(LIBFLEXI) $(LIBTEST) $
$(DIR)/test_CMSSM_database.x: $(DIR)/test_CMSSM_database.o $(LIBCMSSM) $(LIBFLEXI) $(LIBTEST) $(filter-out -%,$(LOOPFUNCLIBS))
$(CXX) $(CXXFLAGS) $(CPPFLAGS) -o $@ $(call abspathx,$^) $(BOOSTTESTLIBS) $(BOOSTTHREADLIBS) $(GSLLIBS) $(FLIBS) $(SQLITELIBS) $(THREADLIBS)

$(DIR)/test_MRSSM2_gmm2.x: $(LIBMRSSM2) $(LIBFLEXI) $(filter-out -%,$(LOOPFUNCLIBS))

$(DIR)/test_CMSSM_model.x: $(LIBSoftsusyMSSM) $(LIBCMSSM) $(LIBFLEXI) $(LIBTEST) $(filter-out -%,$(LOOPFUNCLIBS))

$(DIR)/test_CMSSM_info.x: $(LIBCMSSM) $(LIBFLEXI) $(filter-out -%,$(LOOPFUNCLIBS))
Expand Down
45 changes: 45 additions & 0 deletions test/test_MRSSM2.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
// ====================================================================
// This file is part of FlexibleSUSY.
//
// FlexibleSUSY is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published
// by the Free Software Foundation, either version 3 of the License,
// or (at your option) any later version.
//
// FlexibleSUSY is distributed in the hope that it will be useful, but
// WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with FlexibleSUSY. If not, see
// <http://www.gnu.org/licenses/>.
// ====================================================================

#ifndef TEST_MRSSM2_H
#define TEST_MRSSM2_H

#include <tuple>

#include "lowe.h"
#include "MRSSM2_two_scale_spectrum_generator.hpp"

using namespace flexiblesusy;

MRSSM2_slha<MRSSM2<Two_scale>>
setup_MRSSM2(const MRSSM2_input_parameters& input)
{
softsusy::QedQcd qedqcd;

Spectrum_generator_settings settings;
settings.set(Spectrum_generator_settings::calculate_sm_masses, 0);
settings.set(Spectrum_generator_settings::calculate_bsm_masses, 0);

MRSSM2_spectrum_generator<Two_scale> spectrum_generator;
spectrum_generator.set_settings(settings);
spectrum_generator.run(qedqcd, input);

return std::get<0>(spectrum_generator.get_models_slha());
}

#endif
82 changes: 82 additions & 0 deletions test/test_MRSSM2_gmm2.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
// ====================================================================
// This file is part of FlexibleSUSY.
//
// FlexibleSUSY is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published
// by the Free Software Foundation, either version 3 of the License,
// or (at your option) any later version.
//
// FlexibleSUSY is distributed in the hope that it will be useful, but
// WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with FlexibleSUSY. If not, see
// <http://www.gnu.org/licenses/>.
// ====================================================================

#define BOOST_TEST_DYN_LINK
#define BOOST_TEST_MODULE test_MRSSM2_gmm2

#include <boost/test/unit_test.hpp>

#include "test_MRSSM2.hpp"

#include "wrappers.hpp"
#include "MRSSM2_a_muon.hpp"

using namespace flexiblesusy;

BOOST_AUTO_TEST_CASE( test_amu )
{
MRSSM2_input_parameters input;

// chargino dominance
input.TanBeta = 10;
input.Ms = 1000;
input.LamTDInput = -1.0;
input.LamTUInput = -1.0;
input.LamSDInput = 1.1;
input.LamSUInput = -1.1;
input.MuDInput = 400;
input.MuUInput = 400;
input.BMuInput = Sqr(300);
input.mq2Input << Sqr(1000), 0, 0,
0, Sqr(1000), 0,
0, 0, Sqr(1000);
input.ml2Input << Sqr(500), 0, 0,
0, Sqr(500), 0,
0, 0, Sqr(500);
input.md2Input << Sqr(1000), 0, 0,
0, Sqr(1000), 0,
0, 0, Sqr(1000);
input.mu2Input << Sqr(1000), 0, 0,
0, Sqr(1000), 0,
0, 0, Sqr(1000);
input.me2Input << Sqr(500), 0, 0,
0, Sqr(500), 0,
0, 0, Sqr(500);
input.mS2Input = Sqr(2000);
input.mT2Input = Sqr(3000);
input.moc2Input = Sqr(1000);
input.mRd2Input = Sqr(700);
input.mRu2Input = Sqr(1000);
input.MDBSInput = 1000;
input.MDWBTInput = 500;
input.MDGocInput = 1500;

MRSSM2_slha<MRSSM2<Two_scale>> m = setup_MRSSM2(input);

auto amu = MRSSM2_a_muon::calculate_a_muon(m);
BOOST_CHECK_CLOSE(amu, -8.30e-11, 1.0);

// neutralino dominance
input.ml2Input << Sqr(8000), 0, 0,
0, Sqr(8000), 0,
0, 0, Sqr(8000);
m = setup_MRSSM2(input);

amu = MRSSM2_a_muon::calculate_a_muon(m);
BOOST_CHECK_CLOSE(amu, 6.33e-12, 1.0);
}

0 comments on commit c0fb5b2

Please sign in to comment.