Docker container for Pythia 8 + Dire

A fully working Pythia 8 + Dire docker container (developed by N. Fischer) is available from docker hub. It inherits from the Rivet container version 2.5.4.

Installation instructions for docker can be found here. On Linux systems, create a group "docker" and add yourself to it to avoid having to run all docker commands as sudo.

sudo groupadd docker
sudo usermod -aG docker $USER

Obtaining the docker image

Simply execute

docker pull pythiatools/pythiadire:1.0.0

to download and store the docker container in /var/lib/docker.

Running the container

Jupyter notebooks

One of the main purposes of the container is to give an introduction to the Pythia 8 and Dire event generator framework. The container contains a few Jupyter notebooks, where each cell contains a couple of lines of Python code and can be executed by pressing SHIFT+ENTER.

To work with the notebooks, simply execute the command

docker run -p 8888:8888 -v /some/path:/jupyter pythiatools/pythiadire:1.0.0

to start the docker container. The option -v will mount the directory /some/path on the host system to the container directory /jupyter. If you omit this option you will not be able to store any output or a changed version of the Jupyter notebooks. The container will create the directory /some/path/notebooks on the host system, where all notebooks of the container will be copied into. If the directory is already present and contains a notebook named as a notebook present in the container, the corresponding notebook will not be copied. This way, you are able to store the status of the notebooks and re-use them at a later point.

The terminal will display a link you can copy to a browser and it will redirect to a list of Jupyter notebooks and a README file, which contains information about the different notebooks.

If you want to use custom Rivet analyses and or LHAPDF sets, simply store the relevant information in /some/path. The container will automatically detect source files of Rivet analyses and compile them into a Rivet library.

Event generator + Rivet

As an alternative to the Jupyter notesbooks above, you can run Pythia 8 or Dire and Rivet directly via

docker run -p 8888:8888 -v /some/path:/jupyter pythiatools/pythiadire:1.0.0 runOnCluster info

where info is a plain text file, with exactly 6 lines. An example looks like this:

dire
test.cmnd
1000
hepmctest
test.yoda
ALICE_2016 ATLAS_2011_S8971293

The first line indicates the generator to be used, valid options are "pythia" or "dire", followed by the settings file to be used. The third line specifies the number of events. The fourth and fifth line specify the name of the fifo, to which the HepMC events are written, and the name of the resulting yoda-file respectively. Finally, the last line is a comma and/or whitespace separated list of Rivet analyses.

All Rivet analyses in the directory /some/path will be compiled to a Rivet library and any present LHAPDF PDF sets can be used as well. The resulting yoda-file will be stored in /some/path on your system.

Rivet

In addition you can use the container to run Rivet as described here.