Using LArSoft

First-time, or infrequent, users will be well-served to go through the following steps in order:

  1. Start by reading Concepts in LArSoft, the training material at and other information available at
  2. Choose the correct release from the List of LArSoft Releases and Release Notes.
    • If you can use a tagged release as is (aside from fcl files which can be modified and used from any directory), you can now run LArSoft.
    • If you need to modify the code locally, or use code not yet in a tagged release, then additional steps (below) are required.
  3. Create a working area. This is described in the presentation from the 2019 workshop session on LArSoft technical details.
  4. To modify the code, clone the reference software into your working area from the central repositories for core LArSoft.
  5. To install a local copy of the pre-built products, or to build and install a local copy of the products for the core LArSoft suite, follow the Installation Procedures on the Getting LArSoft page.
    • To use cvmfs to access the binaries and header files in a tagged release (thereby avoiding the need to install or build a local copy), follow the LArSoft cvmfs instructions.
    • Sometimes your local code will fail to build against a new LArSoft release because there are “breaking changes” in the release, which are modifications that require adaptations to the code that references that modified code. These changes and the corrective actions needed are documented on the Breaking Changes page.
    • Comments in the code are incorporated into documentation at LArSoft Doxygen using the Doxygen tool.
  6. Recommended.

Information on GitHub and pull request testing

Start by reviewing the information on the overview page for using LArSoft with GitHub. The current GitHub repositories are for testing purposes only, so feel free to exercise the system with arbitrary commits. Contact your experiment offline management to identify acting Level 2 managers. Send any comments to , or via Remind issues.

Some hints