Computing
This page will detail the basics of computing with DRAGON group's servers (astro01 and astro02). The software is loaded on there through the module system.
Modules
To see the various modules/packages available to load, you can issue the following command.
module avail
You can see which modules are currently loaded by typing
module list
To load a specific module, one would use
module load [module]
Conversely, to unload a module,
module unload [module]
To see more information and or help with this, the module man pages can be referenced either on the world wide web, or by typing
man module
Loading ROOT
There are two versions of ROOT available to load (5.34.36 and 6.18.04) These can be loaded by issuing the following command for the respective root versions
module load root/[version]
Therefore, for the current modules installed, one cay type
module load root/5.34.36
and
module load root/6.18.04
To unload it, you would simply issue
module unload root/[version]
DRAGON Analyzer
DRAGON Analyzer is a software package developed for the analysis of data collected in DRAGON experiments at TRIUMF. The software is intended for experiments run with the "new" (c. 2013) DRAGON data acquisition system (VME hardware + timestamp coincidence matching).
A more comprehensive write up can be found here along with instructions to download and compile on your own machines.
However, to load the DRAGON Analyzer on astro, you may do so by issuing one of two commands:
dragon-analyzer/1.3.0_root-5.34
or
dragon-analyzer/1.3.0_root-6.18
This will load the DRAGON Analyzer and the version of ROOT it has been compiled with. This will also load the proper environmental variables needed to run the software.
Docker
Docker is a containerisation software that effectively acts as a virtual machine. In order to use this option, the user will have to have Docker or another containerisation software installed on his or her machine. Docker is not installed on astro01 or astro02. Therefore, this method is more geared towards attempting to use DRAGON Analyzer on their personal machines. If you have never used Docker, it will be helpful to familiarise yourself with some quick commands by reading through this and referring to this. Installing and setting up Docker is beyond the scope of this write up.
This is still a work in progress. One thing I am still stuck on is a way to forward X11 through. This will be updated as I have time to work on it. The Docker image is on dockerhub. However, since some of the paths are hard coded in, I would recommend building from the Dockerfile.
docker pull sriteja/dragon_analyzer
will pull the Docker image.
Another issue I've faced with this is sourcing the thisroot.sh
file at startup. So, sourcing this would have to be part of the command issued to run it.
An example to demonstrate here is to convert a .mid
file to a .root
file. One can do this by issuing
docker run -it -v [local directory to be volume mounted]:[target mount point] sriteja/dragon_analyzer:1.2 /bin/bash -c "/root/packages/dragon/analyzer/bin/mid2root [.mid file] -o [output root file]"
Let's dissect this:
docker run
runs a specific container you mention. in this case, it is sriteja/dragon_analyzer:1.2
. -it
provides an interactive pseudo-tty. -v
is to volume mount a directory on the container. The rest of this is simply the bash command issued. As you can see from the example, it would be prudent to call the files from and store the output files to the volume mounted location, which is /data
on the container in the example.
In the case of running your analysis scripts, I've had to source thisroot.sh
every time. Unless your scripts stores and outputs a file of histograms, this is not a viable method to use to run your analysis scripts [yet].
Geant3
Coming soon....
Geant4
Coming sooner...