Quickstart

The code can be used locally, through Docker, or as part of the MUSES calculation engine. The sections below will cover local and Docker execution. For the Calculation Engine, see the `CE Tutorial https://musesframework.io/docs/user/tutorial/Readme.html>`_.

Local Usage

To download the latest version of the module, type:

git clone https://gitlab.com/nsf-muses/perturbative-qcd.git
cd perturbative-qcd/src

Before running the module, edit the configuration file in the input directory as needed. You can also use validate_config.py to validate the configuration and generate a template file.

Running the Module

  1. Validate the configuration:

    python3 validate_config.py
    
  2. Run the module:

    python3 pQCD.py
    

Docker Container

Pull the released Docker image:

docker pull registry.gitlab.com/nsf-muses/perturbative-qcd:v1.0.0

Create local input and output directories:

mkdir -p input output

Place your config.yaml file in the input directory, then run:

docker run -it --rm \
    -v "$(pwd)/input:/opt/input" \
    -v "$(pwd)/output:/opt/output" \
    registry.gitlab.com/nsf-muses/perturbative-qcd:v1.0.0 \
    bash -c "python3 validate_config.py && python3 pQCD.py"

The -v options bind your local input and output directories to the corresponding directories inside the container.

Tests

The unit tests can be run locally with:

pytest -q tests/unit_tests.py