Page MenuHomeHEPForge

README
No OneTemporary

ScannerS version 1.0.0 (12 September 2013)
----------------------------------------------------
You can find the latest version of the code at
https://scanners.hepforge.org/
-----------
Contents --
-----------
1) References
2) Minimal requirements
3) Basic usage
4) External interfaces
5) Running the examples
6) Copy of the command line help
----------------
1) References --
----------------
%\cite{Coimbra:2013qq}
\bibitem{Coimbra:2013qq}
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 {\bf 73} (2013) 2428
[arXiv:1301.2599].
%%CITATION = ARXIV:1301.2599;%%
--------------------------
2) Minimal requirements --
--------------------------
To generate input files for your run you will need Mathematica 7 or later.
To be able to successfully compile and run the standalone examples (i.e. without interfacing to MicrOmegas, Superiso, SusHi, HiggsBound/Signal), you need to have the gnu scientific library (GSL). You also need a C++ compiler like g++ and gnu make (or equivalent) installed.
-----------------
3) Basic usage --
-----------------
3.1) Mathematica input
To generate an input file for the ScannerS C++ code, you need to enter in the Mathematica notebook ScannerSInput.nb:
- An expression for the scalar potential Vscalar.
- Values for the list of switches that control dimensions and options for the run (see list in ScannerSInput.nb).
- Values for the ranges of the parameters to be scanner over.
Finally, choose a name for the input file to be generated (ex: model.in) and evaluate the whole notebook.
3.2) User analysis file (ScannerSUser.cpp)
For a minimal run, for example, you just need to edit the UserAnalysis function to output the VEVs, Masses, Mixings and couplings generated and return true. All other template functions may be left empty or returning true if you do not wish to use the cooresponding tests/parametrisations.
3.3) Editable part of the makefile
In the makefile there is an editable "header" part where you can specify paths for the external interfaces, or non-standard library installations (ex: if GSL is not in a standard path), specify your compiler or turn on/off options (see makefile and comments)
3.4) Compiling and running
Once you have generated the input file model.in, created your user analysis and checked the makefile; to compile and run the code (5 points run) do
$ make
$ ./ScannerS -i model.in --nscan 5
If you wish to see what's going on in more detail you can compile in VERBOSE mode. To do so first clean the installation and then compile:
$ make clean
$ make MODE=-DVERBOSE
$ ./ScannerS -i model.in --nscan 5
-------------------------
4) External interfaces --
-------------------------
4.1) MicrOmegas (http://lapth.cnrs.fr/micromegas/)
To compile the code with MicrOmegas, you need to set in the makefile the variable (otherwise leave blank):
MicromegasOn=ON
Furthermore you need to create a new project in the MicrOmegas installation directory and drop inside the ScannerS files and sub-directories (ScannerScore). Only after this step will you be able to compile the code since the makefile links MicrOmegas sources which are assumed to be one directory up (also check the MicrOmegas version in use in the ScannerS makefile and use the same version).
4.2) Superiso (http://superiso.in2p3.fr/)
To link Superiso you just need to indicate the correct path to the library in the makefile (if not in the standard search paths). Check the examples & the Superiso documentation for available functions
4.3) SusHi (http://sushi.hepforge.org/)
To link SusHi you need to indicate the correct path to the library in the makefile (if not in the standard search paths). SusHi is currently called to compute total cross-sections through a wrapped function & input file generating C++ functions. In the future other wrapped functions will be made available. Also check the examples.
4.4) HiggsBound/Signals (http://higgsbounds.hepforge.org/)
(UNDER TESTING)
Both HiggsBounds and HiggsSignals can be linked by indicating the correct path to the library in the makefile (if not in the standard search paths). All functions are available to be called (check declarations in ScannerScore/HBWrap.h and ScannerScore/HSWrap.h). Note however that the output hasn't yet been tested extesnsively, so use it at your own risk.
--------------------------
5) Running the examples --
--------------------------
You can find two type of examples in the distributed tar ball:
5.1) In the root directory of the distribution, the ScannerSInput.nb and ScannerSUser.cpp files have been prepared for the Z2 symmetric potential in the 2HDM model. The user analysis however is very basic just for illustrative purposes. For a better understanding of the output of the program you can compile this example in VERBOSE mode and run 1 point to check the output.
5.2) Examples studied in arXiv:1301.2599: In the examples sub-directory
** xSM2 symmetric phase: Check README in the corresponding directory.
** xSM2 broken phase: Check README in the corresponding directory.
-----------------------
6) Command line help --
-----------------------
This is a copy of the command line help you get if you run:
$ ./ScannerS --help
**** HELP *****************************************
To compile and run the program do:
$ make
$ ./ScannerS -i input_file_name
To clean the compilation do
$ make clean
To run the program in verbose mode, uncomment the following line in the makefile:
#MODE=-DVERBOSE
by removing the hash, i.e.
MODE=-DVERBOSE
Other runtime options are :
-i input_file_name
**************************************
Specify the Mathematica produced input file name where to read the potential from.
-o output_file_name [this is optional]
**************************************
Redirect cout to write the results of the scan to the the output file specified. Otherwise the file model.out is created.
--nscan number_of_points_to_generate [this is optional]
**************************************
Specify the number of points to be generated. If not provided, 1 point will be generated.
--seed seed_value [this is optional]
**************************************
Specify the seed for the pseudo-random number generator. If not provided, 0 will be used.
--log log_file_name [this is optional]
**************************************
Redirect clog to write the information printed on screen for the user, to the the log file specified.
--err err_file_name [this is optional]
**************************************
Redirect cerr to write the errors printed on screen for the user, to the the error file specified.
NOTE: The default output file is created with the name model.out
Compile in verbose mode: If you want to recompile the code in verbose mode with very detailed info of each point that was attempted, follow these steps:
$make clean
$make MODE=-DVERBOSE
**** END OF HELP *****************************************

File Metadata

Mime Type
text/plain
Expires
Sat, Dec 21, 1:46 PM (19 h, 39 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3873060
Default Alt Text
README (6 KB)

Event Timeline