Why is PathResolver failing to download a file in my RECAST workflow?

The Problem

Some users are finding that PathResolver downloads that worked fine when running outside a docker container (i.e. outside of RECAST) suddenly stop working when the workflow is run in a docker container (i.e. as part of a RECAST workflow). An example error message would be something like:

PathResolver             WARNING Could not locate ElectronPhotonSelectorTools/ElectronLikelihoodMediumOfflineConfig2017_Smooth.conf

The Solution

This error turns out to happen because the TEnv tool used by PathResolver cannot read absolute file paths when running from the $HOME directory on a given machine. So the issue can appear to crop up suddenly when running in RECAST workflows if the workflow is being run from the $HOME directory in the container. The solution is to either:

  1. Run the workflow in some directory other than $HOME (eg. /myanalysis)

  2. Set environment variable ROOTENV_NO_HOME in the step in the steps.yml in which the error is happening, right after sourcing the ATLAS environment:

source /home/atlas/release_setup.sh
export ROOTENV_NO_HOME=1 
1 Like