Computing

From DRAGON Wiki
Revision as of 17:59, 27 October 2021 by Sriteja (talk | contribs) (Added loading root, dragon analyzer and the docker version of dragon analyzer.)
Jump to navigation Jump to search

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.

Example of using the Docker image to run a conversion of a .mid to .root file.

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...