The ICARUS Guide to using LArSoft

The ICARUS Guide to using LArSoft

DISCLAIMER: Due to rapid development this page can become out of date at times. As well, remember that unknown problems don't materialize solutions out of the ether: do you have a problem? start by writing in Slack channel #icarus_general (or another more appropriate one in workspace SBN); optionally also open a GitHub issue in icaruscode or where appropriate.

The following is a quick guide (based largely on MicroBooNE experience and stolen from SBNDcode wiki) to the things you need to do in order to run and develop applications in LArSoft. The following assumes:

  • You have all your computing privileges and accounts, including an account on the ICARUS GPVM nodes. If you don’t, then you need to submit a Fermilab Service Desk ticket requesting access to this node. It will be approved as soon as possible.
  • You are working on one of the ICARUS GPVM nodes. Many of these should work on other machines/sites as well, if they are configured in the standard way, but there are no guarantees for that. Talk to your system/local administrator if you’re having trouble, to make sure there’s no differences in the basic setup. Running on your local desktop or laptop is often possible too, but it should be a second step.
  • You have a working knowledge of UNIX.
  • You are using the bash shell (zsh is not well supported to date¹).

Brief LArSoft overview.

LArSoft is the software framework used by a number of LArTPC experiments for simulation and reconstruction.
It is currently divided into multiple git repositories which contain parts of the whole toolkit. Building the code across the repositories is managed by MRB (Multi Repository Build).

For now, it is highly recommended that you read up on the above, before we compile our own set of experiences.
Hence, helpful reading material:

LArSoft wiki: https://cdcvs.fnal.gov/redmine/projects/larsoft/wiki
LArSoft quick start part: https://cdcvs.fnal.gov/redmine/projects/larsoft/wiki/_Quick-start_guide_to_using_and_developing_LArSoft_code_
MRB reference guide: https://cdcvs.fnal.gov/redmine/projects/mrb/wiki/MrbRefereceGuide

If you are new to LArsoft you might find the Newbie Material{.wiki-page .new} page useful as well.

List of ICARUS code releases

Useful Examples


The links below haven't been updated yet:


¹ Whenever in GitHub wiki you see the claim “to date”, you can verify when that claim was written by exploring the commit history of that page. You’ll need to switch to the edit mode (“Improve this page” on top right), then take note of the name of the file, click on the directory that contains it (the link is shown by GitHub just above the editing box) and then look for the file in the listing.