/sherpa-singularity

Files to build Singularity images for running the Monte-Carlo event generator Sherpa

Primary LanguageC++

sherpa-singularity

Singularity Hub Batch

Singularity image recipes in this repository

Singularity.sherpa-*

Recipes for images that run the respective Sherpa version. We use Asterix-themed name tags for recipes that serve a specific Sherpa git commit. This has no meaning in any other context and just serves as a mnemonic here, when a user has pulled several such images. Running a Sherpa image calls Sherpa.

Singularity.plotting

A recipe for an image that includes Compare-1.9 and support for rivet-mkhtml. This can be used for plotting Sherpa/Rivet analysis output. Running it calls rivet-mkhtml.

Singularity.mceg

A recipe for an image that serves as the base image for all Singularity.sherpa-* recipes. This allows for a quick build of new Sherpa images, because the dependencies do not need to be re-compiled.

Singularity.rivet

A recipe for an image that serves as the base image for all other recipes in this repository (since they all need Rivet as a dependency). Running it calls rivet.

Helper files used by the above recipes

Blackhat

A helper recipe file that can not be build on Singularity Hub due to its 2 hours runtime limitation. It must be built on another machine. Running it exports a gzipped tar-file which can be downloaded and extracted from within other recipes to install the BlackHat binaries. This is used in the Singularity.mceg recipe.

Compare-1.9_patch

A helper file used by the Singularity.plotting recipe to fix the compilation of Compare-1.9.

compare-logo.gif

This replaces the file with the same name in Compare-1.9, because convert complained that this one is broken during the compilation of plotting output.

rivet-bootstrap

A helper file used by the Singularity.rivet recipe to allow for custom download links for Rivet and its dependencies.

install_*

Helper files used to install stuff. These can also be used as stand-alone scripts to install this stuff in non-Singularity contexts. However, mileage might vary, since there might be missing dependencies.

Receptable image recipes in this repository

Receptacles are containers that have no pre-installation of Sherpa, but that can be used in "writable" mode to install Sherpa aposteriori. The big advantage is that we do not need a recipe for each Sherpa version, and that it’s easier and much less time-consuming to keep a Sherpa version updated that is under active development. Let’s have a look at an example.

  1. Use the sherpa-3.x receptacle recipe to build an empty Receptaple container that is suitable for installing Sherpa using a recent master commit (i.e. Sherpa "3.x").

    --------------------------------------
    sudo singularity build --writable Receptacle.sherpa-3.x_centos6{.img,}
    --------------------------------------
  2. Now use the initialise_receptable script to git-clone, autoconf, make and make-install a given Sherpa branch into the Receptacle container:

    --------------------------------------
    ./initialise_receptable Receptacle.sherpa-3.x_centos6.img tmp-cherrypick-ewvirt-into-master
    --------------------------------------
  3. The source and build directory of the last step will be called Receptacle.sherpa-3.x_centos6.img-tmp-cherrypick-ewvirt-into-master/sherpa. We can do manual modifications or use git to do pulls or checkouts. Then we can use the make_within_receptable script to update the installation within the Receptacle container:

    --------------------------------------
    ./make_within_receptable Receptacle.sherpa-3.x_centos6.img tmp-cherrypick-ewvirt-into-master -j
    ./make_within_receptable Receptacle.sherpa-3.x_centos6.img tmp-cherrypick-ewvirt-into-master install
    --------------------------------------
  4. Whenever we are happy with our writable Receptacle container, we can transform it into a read-only production container (and e.g. copy it to our cluster):

    --------------------------------------
    sudo singularity build Receptacle.sherpa-3.x_centos6{.simg,.img}
    --------------------------------------