Parameter scans in extended scalar sectors
  • C++ 97.9%
  • CMake 1.9%
  • Mathematica 0.2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2021-12-23 10:36:42 +01:00
cmake updated HB/HS 2020-10-05 11:48:54 +02:00
data replaced ChargedHiggsCxn with the HB version 2020-01-17 11:58:54 +01:00
doc added external dox links 2020-02-25 13:42:30 +01:00
example_input updated CLI11 2020-06-25 12:18:13 +02:00
include/ScannerS add another <cmath> 2021-09-21 16:02:26 +02:00
src fix input files without newline at end 2021-12-13 12:20:49 +01:00
tests update catch to v2.13.7 2021-09-21 15:58:32 +02:00
tools added perturbative unitarity package 2020-03-17 16:12:16 +01:00
.clang-format few small fixes 2020-04-17 12:37:25 +02:00
.gitignore updated example input files 2019-09-23 12:07:52 +02:00
.gitlab-ci.yml more ci fixes 2021-02-23 13:49:57 +00:00
.IWYU.imp IWYU everything 2019-12-03 17:58:16 +01:00
CMakeLists.txt update HS to 2.6.1 2021-04-29 14:29:27 +02:00
CONTRIBUTING.md added Contributing guide 2020-04-17 13:40:41 +02:00
LICENSE Add LICENSE 2020-01-30 15:08:48 +00:00
README.md fix MO path name in readme 2021-12-23 10:36:42 +01:00

ScannerS

A modern c++ parameter scanner for models with extended scalar sectors.

Take a look at the ScannerS manual, the online documentation or, if you want to extend ScannerS, at the contribution guide.

Authors

ScannerS is written by Jonas Wittbrodt, partly based on the old ScannerS code by Raul Coimbra, Marco Sampaio, and Rui Santos.

Some of the model and constraint implementations in ScannerS have been contributed by the following kind people:

  • Philipp Basler (CxSMBroken, and large parts of the BSMPT interface and EWPT constraint)
  • Tizian Römer (CxSMDark)

References

  • R. Coimbra, M. O. P. Sampaio and R. Santos
    "ScannerS: Constraining the phase diagram of a complex scalar singlet at the LHC"
    Eur. Phys. J. C (2013) 73:2428, arXiv:1301.2599 [hep-ph]

  • P.M. Ferreira, R. Guedes, M. O. P. Sampaio, R. Santos
    "Wrong sign and symmetric limits and non-decoupling in 2HDMs"
    JHEP 1412 (2014) 067, arXiv:1409.6723 [hep-ph]

  • R. Costa, M. Mühlleitner, M. O. P. Sampaio, R. Santos
    "Singlet Extensions of the Standard Model at LHC Run 2: Benchmarks and Comparison with the NMSSM"
    JHEP 1606 (2016) 034, arXiv:1512.05355 [hep-ph]

  • M. Mühlleitner, M. O. P. Sampaio, R. Santos, J. Wittbrodt
    "The N2HDM under Theoretical and Experimental Scrutiny"
    JHEP 1703 (2017) 094 arXiv:1612.01309 [hep-ph]

  • M. Mühlleitner, M. O. P. Sampaio, R. Santos, J. Wittbrodt
    "ScannerS: Parameter Scans in Extended Scalar Sectors"
    arXiv:2007.02985 [hep-ph]

Please make sure to also always cite the relevant references for the model and constraints that you use.

Installation

The code is compiled using CMake.

On most systems you should be able to compile a working ScannerS setup through

mkdir build && cd build
cmake ..
make

Dependencies

Required - Manual

These dependencies are required to be installed by the user. However, these are widely used and should be available on most systems.

  • Working compilers for C++, C and Fortran. The C++ compiler must support c++-17 (e.g. gcc-7 or newer). On Mac, you may need to set the CC and CXX environment variables to point to the compiler versions installed through homebrew (e.g. CC=gcc-9 CXX=g++-9 cmake ..).
  • CMake >=3.11, download it through your package manager, through pip, or grab the latest binary.
  • GSL, can be installed through the package manager on most unix systems. The package is called libgsl-dev on Ubuntu and gsl most everywhere else (e.g. on OpenSUSE/CentOS or homebrew).
  • Eigen3 >=3.3.0, can be installed through the package manager on most unix systems. The package is called libeigen3-dev on Ubuntu, eigen3 on OpenSUSE/CentOS and eigen in homebrew.

Required - Automatic

The recommended versions of the following dependencies are downloaded automatically using the CMake FetchContent module.

Please see the FetchContent documentation on how to use a local version instead.

Optional

  • MicrOmegas for dark matter constraints, set the variable MicrOMEGAs_ROOT_DIR=/Path/to/micromegas/ when calling cmake ... The interface is compatible with version 5.0.8/5.0.9 and 5.2.0.
  • EVADE for vacuum stability constraints
  • BSMPT for requiring a first order EW phase transition

Tests

ScannerS contains a test suite that can be run with make test (or, for more detailed results with ctest --output-on-failure). This test suite runs a number of unit tests and also generates a few valid parameter points in each model. These functional tests (called ... run) can take a few minutes to complete.

Usage

Compilation creates several executables in the build directory. They provide command line help explaining all of the arguments.

All executables support two run modes: scan and check. In scan mode the parameter space is scanned randomly in the given parameter ranges to obtain viable parameter points. In check mode a given set of parameter points is rechecked against the implemented constraints.

E.g.:

./R2HDM output_file.tsv --config example_input/R2HDM_T1.ini scan -n 10

will generate 10 valid parameter points with the constraints and parameter ranges defined in R2HDM_T1.ini. Any of the values in the config file can also be passed as command line arguments.

./R2HDM rechecked_output_file.tsv check output_file.tsv

will recheck the resulting points and save any points that still pass the constraints (this obviously only makes sense if the constraints have changed in the meantime).

Constraints

Constraints in ScannerS have three severity levels that can be configured through config files or command line arguments:

  • 1 = enabled, the constraint is applied and only parameter points that pass the constraint are saved, default
  • 0 = ignored, the constraint is calculated and the result is saved in an entry called valid_{constraintname}, but points that fail the constraint are still kept in the output
  • -1 = skip, the constraint is completely ignored, no related data is present in the output

A list of the constraints for each model is available in the command line help.