BSMPT  2.3.1
BSMPT - Beyond the Standard Model Phase Transitions : A C++ package for the computation of the EWPT in BSM models
BSMPT - A tool for calculating the temperature dependent effective

potential in various extended Higgs models

Introduction

BSMPT - Beyond the Standard Model Phase Transitions: BSMPT is a C++ tool BSMPT for the calculation of the strength of the electroweak phase transition in extended Higgs sectors. For this the loop-corrected effective potential at finite temperature is calculated including the daisy resummation of the bosonic masses. The program calculates the vacuum expectation value (VEV) v of the potential as a function of the temperature, and in particular the critical VEV v_c at the temperature T_c where the phase transition takes place. Furthermore, the loop-corrected trilinear Higgs self-couplings are provided at T=0. The renormalization scheme is chosen such that the loop-corrected masses and mixing angles remain at their tree-level input values. For details, see: https://arxiv.org/abs/1803.02846. The code itself can be downloaded at https://github.com/phbasler/BSMPT.

Citation

If you use this program for your work please cite https://arxiv.org/abs/1803.02846 and https://arxiv.org/abs/2007.01725

Installation

Dependencies

  1. GSL library: The code assume GSL is installed in PATH
  2. Eigen3 : If eigen3 is not found automatically, you need to give the path to your eigen3 installation. To install eigen3 you go to your downloaded eigen3 folder and install it through
        mkdir build && cd build
        cmake -DCMAKE_INSTALL_PREFIX=/path/to/installedEigen  ..
        make install
    
    After that you can use -DEigen3_Dir=/path/to/installedEigen/share/eigen3/cmake to link Eigen3
  3. libcmaes: Additionally to GSL you should either use libcmaes or NLopt. If libcmaes is not found automatically you can set the path with

    `-Dlibcmaes_ROOT=/path/to/cmaes`
    

    If cmaes is not installed then it will be installed in your build directory. For more details on the libcmaes installation, e.g. possible dependencies, visit their wiki. If you don't want to install or use it, you can set -DUseLibCMAES=OFF

  4. NLopt: With -DNLopt_DIR=/path/to/installedNLopt/lib/cmake/nlopt you need to tell where NLopt is installed. If you do not then NLopt will not be used.
  5. Boost : It should be found automatically, if not you can use -DBOOST_ROOT=/path/to/boost

build

With the dependencies and options you can build the programm with

    mkdir build && cd build
    cmake (OPTIONS from Dependencies) ..
    cmake --build . -j

Note to Mac Users: You have to use the g++ compiler as clang does not support OpenMP. If you get the error "missing libcmaes_config.h" during the compilation, please check if the file is in build/libcmaes-0.9.5. If so, copy it to /path/to/libcmaes/include/libcmaes

Executables

We briefly give an overview of the available executables and their function. We illustrate the call of the executables for the CP-violationg 2HDM, with the input parameter values given in 'example/C2HDM_Input.dat.' For details, see also the section 'Executables' of the manual. Each executable can be called with the option '–help' to get information on possible input parameters.

BSMPT

BSMPT calculates the EWPT for every parameter point in the input file and gives out the results of those parameter points for which \(v_c/T_c\) > 1. To find these points a bisection method is used with the temperature starting between 0 and 300 GeV. The executable is called through:

./bin/BSMPT Model Inputfile Outputfile LineStart LineEnd

This will call the specific model to be used, identified through 'Model', and calculate the EWPT for each parameter point (corresponding to one line) between 'LineStart' and 'LineEnd'.

For our example the command

./bin/BSMPT c2hdm example/C2HDM_Input.dat example/test_BSMPT.dat 2 2

will calculate for the C2HDM the EWPT for one parameter point given in line 2 in C2HDM_Input.dat. This will generate the output file example/test_BSMPT.dat 2 2 which can be compared with the already available file example/C2HDM_Input.dat_BSMPT.

CalcCT

This will calculate the counterterms. In the output file the information on the input parameter point is given and the counterterms are added at the end of the line.

It is called through the command

 ./bin/CalcCT Model Inputfile Outputfile LineStart LineEnd

For the C2HDM example this reads

 ./bin/CalcCT c2hdm example/C2HDM_Input.dat example/test_CalcCT.dat 2 2

which will generate the output file example/test_CalcCT.dat. This can be compared with the already available file example/C2HDM_Input.dat_CalcCT.

NLOVEV

This calculates the VEV at 1-loop order at vanishing temperature in the effective potential approach. This can be used to investigate the vacuum stability of the model. It is called through

 ./bin/NLOVEV Model Inputfile Outputfile LineStart LineEnd

and for the C2HDM example it is given by

 ./bin/NLOVEV c2hdm example/C2HDM_Input.dat example/test_NLOVEV.dat 2 2

where the result is written into the file example/test_NLOVEV.dat which can be compared with the already available file example/C2HDM_Input.dat_NLOVEV.

VEVEVO

This program calculates the evolution of the vacuum expecation value of a given point with the temperature. It is called through

./bin/VEVEVO Model Inputfile Outputfile Line Tempstart Tempstep Tempend

where 'Tempstart' is the starting value of the temperature which increases with 'Tempstep' until 'Tempend'.

For our C2HDM example this would be

 ./bin/VEVEVO c2hdm example/C2HDM_Input.dat example/test_VEVEVO.dat 2 0 5
 150

where the result for the NLO VEV is given in example/test_VEVEVO.dat as function of the temperature in the interval between 0 and 150 GeV in steps of 5 GeV. This can be compared with the already available file example/C2HDM_Input.dat_vevevo.

TripleHiggsCouplingNLO

This program calculates the trilinear Higgs self-couplings at NLO at zero temperature. It is called through

 ./bin/TripleHiggsNLO Model Inputfile Outputfile LineStart LineEnd

The C2HDM example is called through

 ./bin/TripleHiggsNLO c2hdm example/C2HDM_Input.dat

example/test_TripleHiggsCouplingNLO.dat 2 2

with the result given in example/test_TripleHiggsNLO.dat which can be compared with the already available file example/C2HDM_Input.dat_TripleHiggsCouplingNLO .

CalculateEWBG

This program calculates the difference between baryons and anti-baryons normalized to the photon density generated through the EWPT. Please beware that this is only tested for the C2HDM so far and the general implementation is future work. It is called through

    ./bin/CalculateEWBG c2hdm Inputfile Outputfile LineStart LineEnd
    config_file

An example is given for the example/C2HDM_Input.dat parameter point through

 ./bin/CalculateEWBG c2hdm example/C2HDM_Input.dat example/test_EWBG.dat
 2 2 example/EWBG_config.txt

with the result given in example/test_EWBG.dat which can be compared with the already available file example/C2HDM_Input.dat_EWBG.

PlotEWBG_vw

This executable varies the wall velocity of a given parameter point and calculates the EWBG for each velocity.

PlotEWBG_nL

This executable calculates the left-handed fermion density in front of the wall as a function of the distance to the bubble wall.