Supported Compilers and Library Dependencies -- GAMBIT is built using the CMake system. The following libraries and packages must be installed prior to configuration: COMPULSORY: - gcc/gfortran 4.7.1 or greater, or icc/ifort 12.1.0 or greater ** MacOS users: "gcc" and "g++" included with MacOS are actually clang, and don't work ** with GAMBIT because they lack OpenMP support. You will need to install gcc/gfortran ** separately (I would recommend using homebrew to install gcc@6). - Python 2.7 or greater (Python 3 is not supported) - Python modules: yaml, os, re, datetime, sys, getopt, shutil and itertools. - Boost 1.41 or greater - GNU Scientific Library (GSL) 1.10 or greater - Eigen 3.1.0 or greater - LAPACK - PKG Config - cmake 2.8.5 or greater OPTIONAL: - the h5py python module (for use of the hdf5 printer) - MPI (required for parallel sampling) - axel (speeds up downloads of backends and scanners) - graphviz (required for model hierarchy and dependency tree plots) - HDF5 (for use of the hdf5 printer) ** MacOS users: This must be compiled with gcc, and not clang. With homebrew you can do ** this with: ** HOMEBREW_CC=gcc-6 HOMEBREW_CXX=g++-6 brew install hdf5 -s, ** where you replace gcc-6 and g++-6 with whatever version of gcc you have installed. - ROOT (required for the Delphes detector simulation, or the GreAT scanner from ScannerBit) ** MacOS users: ROOT also needs to be compiled with g++ and not clang. This is almost ** certainly not worth the trouble. Downloading GAMBIT -- Please go to https://www.hepforge.org/downloads/gambit, download the latest version of GAMBIT, and unpack the tarball with: ``` tar -xvf gambit-1.1.1.tar.gz ``` Building GAMBIT -- The basic build instructions are as follows, but note that cmake will fail to find some dependencies on some systems without guidance. More information is provided in the paper "GAMBIT: The Global and Modular Beyond-the-Standard-Model Inference Tool" (see gambit.hepforge.org for a links to all GAMBIT papers, as well as specific cluster configuration examples). First, for purposes of our tutorial, please change line 26 of Backends/include/gambit/Backends/default_bossed_versions.hpp to #define Default_pythia 8_212_EM. Then cd into the GAMBIT directory and run: ``` mkdir build cd build cmake .. make -jn scanners (where n specifies the desired number of cores for the build, e.g. 4) cmake .. make -jn gambit ``` ** MacOS users: You need to let cmake know which compiler to use. You can do that by replacing cmake ** in the above with: ** cmake -D CMAKE_CXX_COMPILER=g++-6 -D CMAKE_C_COMPILER=gcc-6 ** -D CMAKE_Fortran_COMPILER=gfortran-6 -Ditch="Delphes" ../ ** where g++-6, gcc-6, and gfortran-6 are replaced by what you type to run the various compilers, ** and the Ditch command is needed if you don't have ROOT compiled with gcc/g++. ** Also, if you don't have ROOT compiled with gcc/g++, then instead of "make -jn scanners", run: ** make multinest ** make diver ** to avoid attempting to build the GreAT scanner. To build all backend codes: ``` make -jn backends ``` You can also build individual backends using: ``` make -jn ``` and clean them with: ``` make clean- ``` For our tutorial please also run: ``` make pythia_8.212.EM ``` Running GAMBIT .. For complete documentation on running GAMBIT, please see the Core and module papers (the latter include examples for both running within the full GAMBIT framework, and running standalone module examples). Here we provide a few basic examples. To see which backends and scanners have been installed correctly, do: ``` gambit backends gambit scanners ``` To run the GAMBIT spartan example, do ``` gambit -f yaml_files/spartan.yaml ``` To run an example GAMBIT MSSM7 scan, do: ``` gambit -f yaml_files/MSSM7.yaml ``` Other examples are provided in the yaml_files folder. Further readmes and documentation can also be found in the doc folder.