Package for analyzing Lantern ntuple files.
This package depends on libraries collected in the ubdl repository.
These must be built and environment variables set for the lantern_ana functions to work.
Follow the ubdl repository for build instructions.
A more convenient alternative is to use lantern_ana while running inside a docker or singularity container with the ubdl installed.
For information on the ROOT tree within the ntuple file see the gen2ntuple.
We also aim to provide tools to look at quantities from the upstream reconstruction chain or low-level truth information.
For a description of the framework see this documentation file
The dependencies of this package are:
- python3
- python modules
- yaml
- yamlinclude
- ROOT
The easiest thing to do is to run in one of our containers. This will provide the dependencies we use.
We focus for now on how to setup the container and the shell environment to use this analysis framework.
- On the Tufts cluster
- On the MicroBooNE GPVM machines -- though in this setup, we access the container located on CVMFS and is more general for those computing environments which can see the container.
Logging into the Tufts cluster and setting up an interactive working node:
ssh -XY [username]@login.pax.tufts.edu
Note: you need to be on the Tufts network to access the cluster. That means connecting to Tufts or connecting by ethernet cord to the network. In other cases, you will need to connect to the Tufts VPN. (Instructions fo rhte Tufts VPON can be found here).
To setup a worker node on the cluster, do the following:
srun --pty -p wongjiradlab --time 8:00:00 bash
This is a slurm command. You can learn more about slurm through the following resources
- a quick guide
- a youtube playlist giving a more in-depth introduction.
-
First-time setup: You'll need to get a copy of this repository onto the cluster. You only need to do this once (or when you want a new copy of this repository).
- After logging into the cluster and getting a worker node, go to your working folder in the
wongjiradlabnustorage area:cd /cluster/tufts/wongjiradlabnu/[username] - Clone this repository
git clone https://github.com/nutufts/lantern_ana
- After logging into the cluster and getting a worker node, go to your working folder in the
For the following steps: you need to perform them each time you connect to the cluster in a new shell.
- Log into the cluster and start-up a node as instructed above
- Go to your copy of
lantern_ana - Setup your shell to have singularity and start a new shell in the container
After your run this command, you will be "inside the container". Alternatively, use the script in this repository.
module load singularity/3.5.3 singularity shell --cleanenv /cluster/tufts/wongjiradlabnu/nutufts/containers/lantern_v2_me_06_03_prod/./start_tufts_container.sh - Use the script inside this repository to setup the shell environment
source setenv_tufts_container.sh
One way to test everything went well is to quickly load the lantern_ana module.
python3 -c "import lantern_ana"
To exit the container, type exit.
Note: after you first enter the container, it is sometimes to useful to start a new shell inside the container by typing
bash
This will allow you to exit this shell (in case you want to start a new one) by type exit without also exiting the container.