Wiki
Clone wikinjet / ManualMakefile
Install using manual Makefile
NOTE For instructions on how to use Autoconf version please refer to https://bitbucket.org/njet/njet/overview or README.rst
NJet is a C++ library for multi-parton one-loop matrix elements written and maintained by NJet Collaboration. NJet relies on NGluon for evaluation of primitive amplitudes.
The latest version of the code is available at the project homepage https://bitbucket.org/njet/njet
Installation
The a set of Makefiles is included with package to allow for compilation with a number of different options.
You should find three files in the directory named:
Makefile.inc -- set up the parameters for compilation Makefile -- make the versions determined by Makefile.inc Makefile.all -- the compilation instructions for a generic version
In order to compile successfully with external loop integrals and multiple precision you only need to look at Makefile.inc
As default, all loop integrals and multiple precision options are switched off. Hence to start one may simply type:
make
The will compile a version of the library (lib/libNGluon.a) using the GNU C++ compiler (g++). Programs demonstrating the use of this library named NGluon-demo is also created. Run
NGluon-demo --help NParton-demo --help NJet-chsums # a simple program for testing the colour sums # src-tools/NJet-chsums.cpp is simple enough to # be edited by the user. NJet-demo --help # running some hard coded cross checks for the colour sums
for further information.
One loop integrals can be included via the FORTRAN library QCDLoop which can be downloaded from: http://qcdloop.fnal.gov/
Once the archive is unpacked and compiled using the GNU FORTRAN compiler (gfortran) it may be included. NB This is NOT the default option of QCDLoop and one must edit the Makefiles.
Open the file Makefile.inc:
- change set option
ENABLE_QL=yes
. - enter the full path the the QCDLoop directory into
QLDIR
e.g.QLDIR=$(HOME)/local/QCDLoop-1.9
typing make
will then create a double precision library linked to QCDLoop.
Quadruple and octuple precision are made available via the QD package of Bailey, Hilda and Li: http://crd.lbl.gov/~dhbailey/mpdist/
After downloading and installing one can link it to the NGluon library:
Open the file Makefile.inc:
- set option
ENABLE_DD=yes
for a quadruple precision version - set option
ENABLE_QD=yes
for a octuple precision version - enter the full path the QD include directory
e.g.
QDINC=$(HOME)/local/include
- enter the full path the QD lib directory
e.g.
QDLIB=$(HOME)/local/lib
(the above examples assumed we installed QD with ./configure --prefix=$HOME/local
)
typing make
will then create a up to three versions of the library and demo program:
double precision : lib/libNGluon.a and bin/NGluon-demo quadruple precision : lib/libNGluon-dd.a and bin/NGluon-demo-dd octuple precision : lib/libNGluon-qd.a and bin/NGluon-demo-qd
Les Houches Accord Interface
An example program is in the examples directory. More information is in
lh/LH.text
. If you don't compile NGluon-dd lh-example will fail.
The order files are processed by a python script lh/njet.py
.
This requires Python version >= 2.4.
Notes
- The
ENABLE_XX=
options in Makefile.inc are on if anything EXCEPT a blank value is given.
- The current cache system only allows for up to 6-point amplitudes on 32-bit machines.
Intel compilers
To allow DD/QD accuracy with icpc one needs to set in Makefile.inc
CXXFLAGS_QD = -fp-model source # (or '-fp-model precise' or '-mieee-fp')
If QCDLoop is compiled by ifort or g77 one needs to set in Makefile.inc
CPPFLAGS_QL = -DUSE_F2C
Updated