LArSoft at Nevis

This documents how to use the LArSoft and MicroBooNE software as managed by mrb+git. If you are looking for older LArSoft versions managed by SRT, see the LArSoft at Nevis SRT page.

Locations

  • The Nevis copy of the LArSoft installation is currently in /a/data/westside/seligman/larsoft.
  • The Nevis copy of the uboonecode installation is currently in /a/data/westside/seligman/products.

Releases

As of 07-Feb-2014, the following Fermilab LArSoft releases are maintained at Nevis:

v1_00_02 - Minor compilation fixes; use updated cetbuildtools.  
v1_00_01 - Freeze after switch to mrb+git   

Limitations of the Nevis LArSoft installation

Nightly builds

Nightly builds are not yet available at Nevis (nor anywhere else outside of uboonevm.fnal.gov). If you're doing cutting-edge LArSoft development, you can work around this limitation by checking out the development version of the entire LArSoft and/or uboonecode package; e.g.,

mrb g larsoft_suite
mrb g uboonecode

This takes a while to compile the first time, and will take up about 1.5GB in your working directory.

Bash shell

The mrb+git scripts will only run in the bash shell. In other shells, you'll see error messages about missing libraries or being unable to set up products.

You can temporarily go into the bash shell simply by typing bash. If you want to permanently change your login shell to bash, you can do it via the ypchsh command.

Other shells (tcsh and zsh) will be supported (someday), but the LArSoft maintenance team is not yet ready.

Setting up the Environment

The simplest way to initialize the mrb+git environment at Nevis is to execute the following command:

source /a/share/westside/seligman/microboone/setup_uboone.sh

You only have to run this once per login session.

After you've run this command, you can follow the instruction in the MicroBooNE guide (without running any of the FNAL system-specific setup scripts, of course).

Notes

Regular development work

The MicroBooNE guide contains several procedures, but most of them are not commands that you'd type in every day. If your typical work flow is to login and start editing code in something you've already checked out, you may be interested in this script that WilliamSeligman wrote:

/a/share/westside/seligman/microboone/develop_uboone.sh

Let's assume that you've previously set up (via mrb newDev) and checked-out (via mrb gitCheckout) some code that you're working on into your directory ~/mydev, and that code is part of LArSoft release v1_00_02. Then a typical use of this script would be:

source /a/share/westside/seligman/microboone/develop_uboone.sh ~/mydev v1_00_02 e4 debug

This becomes handy if you set up an alias in ~/.bashrc, the script that gets automatically executed when you login to bash:

alias MBD="source /a/share/westside/seligman/microboone/develop_uboone.sh ~/mydev v1_00_02 e4 debug"

Then you just have to type MBD after you login, and you're ready to work.

Look at ~seligman/.bashrc for more ideas.

Finding packages

One potentially confusing aspect of the new arrangement is that LArSoft has been sub-divided into package groups. In order to check out a package, you have to know which group it's in. For example, you can't check out LArG4; you have to check out "larsim" which is a group of packages, one of which is LArG4.

For a guide as to which package is in which group, see LArSoft dependencies. Don't forget that there's also a "uboonecode" package group; code in that group supersedes the more general non-experiment-specific LArSoft code.

Browsing code on the web

If you want to browse the code in one of the package groups (e.g., larsim, larreco, ubooncode), you can use the Redmine repository listings at FNAL. The "magic formula" is:

https://cdcvs.fnal.gov/redmine/projects/<package-name>/repository

So if you want to look at the package group larreco, you'd visit the URL https://cdcvs.fnal.gov/redmine/projects/larreco/repository

Browsing code in UNIX

My preferred way is to look at the code as it's stored on the local computer cluster. After you've set up LArSoft, you can find the code for a given package group in the directory:

$<PACKAGE-NAME>_DIR/source

If you wanted to look at the packages in group larsim, you can do:

ls $LARSIM_DIR/source

Where can one run LArSoft

Since all the machines on the Nevis Linux Cluster are linked together via automount, the software should run on any machine on the cluster, whether or not that particular machine is owned by the Neutrino group. You do not have to login to westside.

Setting up ROOT and Geant4

When you set up LArSoft, the Nevis-specific setup command is disabled. The LArSoft software distribution contains its own copies of ROOT and Geant4, so there's no need to set-up the Nevis versions. In fact, to make sure the Nevis versions don't conflict with the LArSoft versions, make sure there are no setup commands in any of your shell initialization files like ~/.bashrc, especially if you're switching to LArSoft from some other project or from working on the ROOT tutorial.

The LArSoft environment also affects some standard Linux features, such as the default rules for make and the yum command. If you are doing any work that does not involve LArSoft directly, you're advised not to set up the LArSoft environment as described above.

Edit | Attach | Watch | Print version | History: r18 | r7 < r6 < r5 < r4 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r5 - 2014-02-22 - WilliamSeligman
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2021 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback