Old LArSoftWiki » History » Version 66

Version 65 (Erica Snider, 12/11/2013 03:48 AM) → Version 66/136 (Erica Snider, 12/11/2013 03:49 AM)

If you are looking for the legacy cvs-based LArSoft site that was previously hosted on this site, note that *all content has been moved to "LArSoft cvs (legacy site) ":*
If you are looking for the legacy svn-based LArSoft site, "go here":


This is the beta LArSoft redmine project and the future home of the LArSoft redmine project.

h1. LArSoftWiki (beta)

*This page is in beta and content is still under construction.* Will go live when the migration to git/cmake is completed.

The LArSoft software is designed to work for all planned and running liquid argon experiments at Fermilab. It is written in C++ and built on the "ROOT": data analysis software, and the "art": analysis framework supported by the Fermilab Scientific Computing Division for intensity frontier experiments.

To join the LArSoft mailing list, please follow these "instructions": using the list name LARSOFT.

h1. Preliminaries

* *Beta testers: [[ Special instructions for beta testers | read this first ]]*
* Fermilab computing accounts: see the instructions on the [[larsoftsvn:Fermilab Computing Access]] page if you need an account.
* See [[larsoftsvn:Load Balanced Access to General Purpose VMs]] for information on accessing experiment VMs at Fermilab (e.g., lbnegpvm0X, uboonegpvm0X, etc., collectively known as GPCF.).
* See the [[LArSoftWiki#documentation|documentation]] section for information on working with/developing LArSoft code, and using git, git flow, mrb and other tools you will need.
* The procedures and tools for building and developing software with this system are _completely different_ from those of the previous system based on svn repositories and the SoftRelTools build system. See the [[LArSoftWiki#documentation|documentation]] section for details.

h2. Where to find the software

* [[ The Fermilab core LArSoft installation ]]

* [[ Experiment-specific code and re-factoring ]]

In a standard LArSoft installation, the software is accessed via a set of re-locatable ups products, each of which corresponds to the code within a git repository. Each product and the associated repository contain LArSoft software components (i.e., SoftRelTool "packages") that are within the same layer of functionality. The products and repository read-write urls are the following (read-only access is available via<repo_name>):

name* | *repository url (all in Redmine)* | lxr link
(not yet avail) | Redmine browser |
|larcore| ssh:// | -- | "redmine": |
|lardata| ssh:// | -- | "redmine": |
|larevt | ssh:// | -- | "redmine": |
|larsim | ssh:// | -- | "redmine": |
|larreco| ssh:// | -- | "redmine": |
|larana | ssh:// | -- | "redmine": |
|lareventdisplay| ssh:// | -- | "redmine": |
|larexamples| ssh:// | -- | "redmine": |
|larpandora| ssh:// | -- | "redmine: |
|larsoft | ssh://
(A product used to set up the others with a single command. Contains the "setup" package.) | -- |
"redmine": |

(The SoftRelTools-based packages in each product/repository can be found "here": along with the approximate order of dependency.)

Although you can use @git clone <repository url>@ to download a copy of each repository to your local area, additional steps are needed to use, build or develop the software. See the [[LArSoftWiki#documentation|documentation]] section below for details.

h3. Re-factoring of experiment-specific software

Most experiment-specific code, fcl and gdml files have been removed from the @larcore@, @lardata@, @larevt@ and @larsim@ repositories and moved into beta versions of experiment-specific git repositories. (One exception to this statement is that the @DetId_t@ enum type, which effectively maps detector name strings to integers, remains in core LArSoft, pending migration to a new, string-based mechanism for storing and using this information. Other exceptions include fcl files that were not identified during the initial migration.) The beta versions of experiment-specific repositories are the following:

name* | *repository url (all in Redmine)* | lxr link
(not yet avail) | Redmine browser |
|lbnecode| ssh:// | -- | "redmine": |
|uboonecode| ssh:// | -- | "redmine": |

h1. Release notes

| *Release* | *Date* | *Purpose* | *Changes / notes* | *Full release notes* |
| v1.00.00| Jan 2014 | First production
release | Replica of final svn-based release. Future LArSoft development
proceeds from this release. | xxx |
| v0.0x.yy| 12/10/2013| "beta" public release | Beta suitable for general user testing | N/A |
| v0.01.01| 12/02/2013| "beta" limited release | Beta suitable for expert testing | N/A |
| v0.00.09| 11/25/2013| "beta" pre-release | Second full release under new system. First full re-factoring
of experiment-specific and core LArSoft code in the larcore,
lardata, larevt, and larsim products. Preparation for expert
user testing of beta release.| N/A|
| v0.00.04| 9/15/2013| "alpha" release | First release of git/cmake/ups-based LArSoft products
Used for mrb, configuration and re-factoring
development and testing | N/A |

h1. Documentation

h2. Working with LArSoft

* [[ LArSoft repositories, packages and dependencies ]]
* [[ Quick-start guide to using and developing LArSoft code ]]
* [[ Detailed documentation on using and developing LArSoft code ]]
* *[[ Special instructions for beta testers ]]*

* [[larsoftsvn:Using the Framework]]
* "ART Tutorial":
* [[larsoftsvn:NuSoft and LArSoft|nutools and LArSoft]]
* [[Using LArSoft on the GPVM nodes]]

h2. Overview of the user and developer environment

* [[Overview of the user and developer environment]]

h2. Links to the tools used in working with the software

* git
* git flow
* mrb : the multi-repository build tool
* Re-locatable ups
* cmake

h1. How-to's

h2. Advanced technical how-to's

h2. Release procedures

h1. Walk-through exercises

h1. LArSoft code management and distribution procedures

h1. Working areas

[[Beta re-factoring]]