ATLAS tools to facilitate integration of ATLAS analyses into RECAST
recast-atlas
is installable from PyPI using pip
inside of your Python virtual environment
python -m pip install recast-atlas
The recast-atlas
CLI API:
$ recast --help
Usage: recast [OPTIONS] COMMAND [ARGS]...
Options:
-l, --loglevel TEXT
--help Show this message and exit.
Commands:
auth Authentication Commands (to gain access to internal data)
backends The RECAST computational backends.
catalogue The RECAST Analysis Catalogue
ci Helper Commands for CI systems
retrieve Retrieve RECAST Results from asynchronous submissions
run Run a RECAST Workflow synchronously
software Build Container Images for RECAST
status Get the Status of a asynchronous submission
submit Submit a RECAST Workflow asynchronously
tests Run a test
recast-atlas
aims to enable both local execution as well as asynchronous execution on a REANA cluster.
Example: Run the example from the ATLAS Exotics Rome Workshop 2018 using the (default) docker
backend.
Install recast-atlas
from PyPI
python -m pip install --upgrade recast-atlas coolname
Submit the RECAST workflow, orchestrated in a recast/recastatlas
Docker container
recast run examples/rome --backend docker --tag "docker-$(coolname 2)"
Example: Run the example from the ATLAS Exotics Rome Workshop 2018 using the local
backend.
Install recast-atlas
with the local
extra
python -m pip install --upgrade 'recast-atlas[local]' coolname
Submit the RECAST workflow to run locally
PACKTIVITY_DOCKER_CMD_MOD="-u root" recast run examples/rome --backend local --tag "local-$(coolname 2)"
The local
backend orchestrates the workflow graph locally, but note that the different workflow steps still run in Linux containers.
Example: Asynchronously run the example from the ATLAS Exotics Rome Workshop 2018 using the reana
backend.
Install recast-atlas
with the reana
extra
python -m pip install --upgrade 'recast-atlas[reana]' coolname
Authenticate to use the REANA cluster (remember to clean up later with eval $(recast auth destroy)
)
# Set these variables to your personal secret values
export RECAST_AUTH_USERNAME="<your RECAST auth username>"
export RECAST_AUTH_PASSWORD="<your RECAST auth password>"
export RECAST_AUTH_TOKEN="<your RECAST auth token>"
eval "$(recast auth setup -a ${RECAST_AUTH_USERNAME} -a ${RECAST_AUTH_PASSWORD} -a ${RECAST_AUTH_TOKEN} -a default)"
eval "$(recast auth write --basedir authdir)"
export REANA_SERVER_URL=https://reana.cern.ch
export REANA_ACCESS_TOKEN="<your RECAST access token>"
Submit the RECAST workflow to the REANA cluster
reana_tag="reana-$(coolname 2)"
recast submit examples/rome --backend reana --tag "${reana_tag}"
# REANA_WORKON sets the workflow automatically
export REANA_WORKON="recast-${reana_tag}"
Monitor the state of the workflow on REANA
reana-client status
# or if REANA_WORKON not set
# reana-client status --workflow "<the created tag>"
Download the results after the workflow succeeds
reana-client download statanalysis --output-directory output
# or if REANA_WORKON not set
# reana-client download statanalysis --workflow "<the created tag>" --output-directory output
Clean up the environment of personal information in environmental variables
eval $(recast auth destroy)
On LXPLUS9
ssh lxplus9.cern.ch
source ~recast/public/setup.sh
recast catalogue ls
recast run examples/rome