NLOJET++ Page
!!! New version, new page !!!
Click here!
Old version is still available from this site.
NLOJET++
is a C++ library for calculating next-to-leading order jet cross sections
in e+e- annihilation, in deep inelastic scattering
and in hadron-hadron collision. In the e+e- case
the program can calculate three- and four-jet cross section at NLO level
and five-jet cross section at LO level. In the DIS case it can calculate
(2+1)- and (3+1)-jet cross sections at NLO level and (4+1)-jet cross section
at LO level. In the hadron-hadron collision the progran can be used for
calculating one-, two- and three-jet cross sections at NLO and for-jet
cross-section at LO level.
-
November 19, 2001:
NLOJET++ 2.0.1 has been released. (source: nlojet++-2.0.1.tar.gz)
A minor bug in the e+e- part has been fixed.
-
November 14, 2001: NLOJET++ 2.0.0 has
been released. (source: nlojet++-2.0.0.tar.gz)
Downloading and building
The current version (2.0.1) of the program can be downloaded from
here.
This version is stable on linux system only. I hope in the near future
I can write a platform independent version. In my program I use only standard
features (standard C++, C99, POSIX,..), but most of the operating systems
(e.g. alphaev6-dec-osf4.0f) don't know these standards. To compile it you
should do the following steps
% cat nlojet++-2.0.0.tar.gz | gunzip | tar xvf -
% mkdir bld-nlojet
% cd bld-nlojet
% ../nlojet++-2.0.0/configure
% make install CFLAGS="-O3 -Wall" CXXFLAGS="-O3 -Wall"
These
commands will install the executable, library and include files to your
home directory into the
${HOME}/bin,
${HOME}/lib and
${HOME}/include
directories respectively. If you want to change the install directory then
at the configuration step run the
configure script with the
--prefix=PATH.
During the installation procedure the program use the standard GNU tools
(
automake,
autoconf,
libtool).
Usage
The
main program is the nlojet++.
This can calculate the various cross sections using the user defined modules.
The usage of the program is the following:
Usage:
nlojet++ -n name -c born|nlo|full -u module.la
[-d dir] [--saving-mode txt|bin] [-m | --mchel]
[-A num | --alpha num] [--max-event nevent]
[--save-after nsave] [-T num, --time-rate num]
[-P rambo|dipole | --phase-space rambo|dipole]
[-E num, --eps num] [-W num, --npow num]
nlojet++
-h|--help
Options:
-h, --help
print this message
-n name
name of the run
-c born|nlo|full
contributions
-u module.la
module file contains the user defined functions
-d dir
output directory
--saving-mode txt|bin output format: txt
-> formated output
bin -> binary output (default)
-m, --mchel
turn off the Monte Carlo helicity sum
-A num, --alpha num non-physical
cut in the dipole terms (0,1]
--max-event number max
number of the events
--save-after number save after
every 'number' events
-T num, --time-rate num time rate between the n+1 and
n parton
integral (num = 1,...10 integer, default: 1)
-P rambo|dipole
type of the phase space
--phase-space rambo|dipole rambo -> RAMBO
phase space
dipole -> dipole cascade
-E num, --eps num
parameter of the important sampling (0,1]
-W num, --npow num parameter
of the important sampling num > 1.0
The options in bracket ([..]) are optional.
The one of the compusory option of the nlojet++ program is -u
module.la.
This module contains the user defined functions and it can be generated
by the script program create-nlojet-user.
This compiles the C++, C or F77 source files and create the loadable shared
object file with the corresponding trancparency file (module.la).
The object files and the shared oject files are hidden in the .obj
and .libs directories, respectively. You can mix the various languages
(C++, C, F77).
create-nlojet-user
-o module [-Wx,opt1,opt2,...] [-Wc,opt1,opt2,..]
[-Wf,opt1,opt2,...] [-Wl,opt1,opt2,...]
[--silent | --quiet] file1.{cc,c,f}
file2.{cc,c,f}
.....
Options:
-o module
name of the module
-Wx,opt1,opt2,...
C++ options e.g: -Wf,-O3,-Wall
-Wc,opt1,opt2,...
C options e.g: -Wf,-O3,-Wall
-Wf,opt1,opt2,...
F77 options e.g: -Wf,-O3,-Wall
-Wl,opt1,opt2,...
linker options e.g: -Wl,-lmylib
--silent | --quiet
don't print informational messages
You can start the same calculation on several machines for the higher
statistic. By the default setting the program contains an infinite loop
so to wait the end of the calculation is a bad idea. On the other hand
it saves the result continually into a file. By the default it saves the
results after every 10000 Monte Carlo points. You can change this
value using the option --save-after number.
To create the result files and addig the contributions of the various calculation
the program nlojet-add can
be used.
nlojet-add [-d dir] [-r dir]
name1
[name2 name3 ......]
nlojet-add -h | --help
Options:
-h | --help print this
message
-d directory
directory where search the data files (default: ./output)
-r directory
save the result to this directory (default: ./result)
User defined modules
There are several papers about this program. In those cases we used the
modules listed below to calculate the figures and tables. The following
example can be used to calulate three-jet cross sections in proton antiproton
collision. The source of this example is
here.
To compile and to obtain the module file do the followings:
% cat example.tar.gz | gunzip | tar xvf -
% cd example
% make all
This creates the trancparency file
example.la,
the shared object files in the .libs library and the object files
in the .obj directory. Now you can start the calculations by
cpt30:>
nlojet++ -cfull -ncpt30 -u example.la
on other machines
cpt31:>
nlojet++ -cfull -ncpt31 -u example.la
cpt32:> nlojet++
-cfull -ncpt32 -u example.la
cpt33:> nlojet++
-cfull -ncpt33 -u example.la
cpt34:> .......
The program will save the results to a file after every10000 Monte Carlo
points. In an other shell (but in this directory) you can see the results
by
% nlojet-add cpt30 cpt31 cpt32 cpt33
This command saves the results into the directory
result.
In the case of the hadron-hadron collision the results file (
result
file of the example module) contains nineteen coloumns. The first,
second, third coloumns are the lower edge, middle and upper edge of the
bin. The last two coloumns are the whole cross section and its error. The
other coloumns are the contributions of the various subprocesses and them
statistical error. Here is a table of the available modules:
Previous versions
The web page of the NLOJET++
1.0.0.
The web page of the DEBRECEN
program.
E-mail: Zoltan.Nagy@durham.ac.uk