v. 4.1.3



NLOJET++ is a C++ program for calculating LO and NLO order cross section. The core library computes the Catani-Seymour dipole subtraction method (actually a slightly modified version has been coded and the original dipole scheme is its special case) at very abstract level and the various processes use this general framework. The current version of the program can deal with e+e- annihilation, deep inelastic scattering, photoproduction in electron proton scattering and with various processes in hadron-hadron collisions.


Build from source code: In general this is the simplest thing to do. If you want to compile it from source you need C /C++ compiler. The base code doesn’t requires Fortran compile but your user module might involves some Fortran routine (e.g. parton distribution functions) thus it is better to make sure that you have a working  Fortran compiler that is able to cooperate with your C/C++ compiler. I recommend to use GCC. It has C/C++ and F77/F95 compilers.

Current stable release:  nlojet++-4.1.3.tar.gz

Previous stable releases: Old web page or Go to Archive

Current development  version:

For Mac Users: If you have a Mac with MacOS X operating system you can install nlojet++ using MacPorts system.  You should do the following steps:

  1. 1. You have to install and activate the MacPorts system.

  2. 2. Edit the /opt/local/etc/ports/source.conf file and add the following line:


  4. You can edit this file only with super user privilege.

  5. 3. In a shell run the following command:

  6.   sudo port -d sync

  7. 4. Now you can install the program by

  8.   sudo port install nlojet++

Now it is installed under the directory /opt/local/.

Now this installing procedure works with 1.8.2 version of MacPorts.

I am planing to write a file to install nlojet++ using fink package management.

For Linux Users: A debian package would be nice....



New in the current version:

[May 12, 2010] There was a bug in file Now it is fixed.

[April 6, 2009] Slightly improved version of the script create-nlojet-user with more option to change and add compiler and linker options.

[Febr. 12, 2009] In this version I have rewritten a little bit the core part of the code. Now it is able to calculate cross section with many different PDF functions simultaneously . Of course for this you need a more advanced, object-oriented implementation of PDF interface library, like CTEQ-PDF. Sorry, LHAPDF won’t work.

User modules: This version is NOT compatible with the old modules. The difference is not big you can easily update your modules. Here you can find some examples. This module package requires the CTEQ-PDF library.

User module examples: modules-4.1.0.tar.gz


Physics: In this program we applied the Catani-Seymour subtraction scheme with some modification. Before you use the program it is always a good idea to learn more about the physics behind the computer code. So, I recommend hep-ph/9605323 and  hep-ph/0307268 and the references therein to read.

Usage: You can find some information about the usage of the program, creating user modules, starting calculations and generating the result files.

Learn more....

Core Library: Actually, in this code the NLO method has been computed at very abstract level and top of this foundation we computed several specific processes. It is reusable but it is not a simple code and some documentation would be appropriate. On the other had you must use some features of the core library in order to be able to define your user module.

Learn more....


We calculated several nice cross sections and these user routines can help you to write your own module. I collected them and you can download as a single package. 

User module examples:

Version 4.1.0: modules-4.1.0.tar.gz

  1. This version is compatible with nlojet++-4.1.x and  requires the CTEQ-PDF library to be installed.

Version 4.0.0: modules-4.0.0.tar.gz

  1. This version is compatible with nlojet++-4.0.x and requires the lhpdf-1.0.0.tar.gz library to be installed.