Project

General

Profile

Old LArSoftWiki » History » Version 121

Erica Snider, 03/06/2014 05:52 PM

1 87 Lynn Garren
{{>toc}}
2 87 Lynn Garren
3 106 Erica Snider
[[larsoft-cvs:| LArSoft-cvs wiki for the legacy cvs-based LArSoft project]]
4 1 Brian Rebel
5 106 Erica Snider
6 106 Erica Snider
[[larsoftsvn:| LArSoft-svn wiki for the legacy svn-based LArSoft project]]
7 29 Erica Snider
8 99 Erica Snider
h1. LArSoftWiki
9 93 Erica Snider
10 101 Erica Snider
As of Jan 24, 2014, LArSoft has transitioned from svn / SRT to git / mrb / ups. These pages will be in flux for the next week or so until the documentation updates are completed.
11 93 Erica Snider
12 54 Erica Snider
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":http://root.cern.ch data analysis software, and the "art":https://cdcvs.fnal.gov/projects/art/wiki analysis framework supported by the Fermilab Scientific Computing Division for intensity frontier experiments.
13 1 Brian Rebel
14 92 Erica Snider
15 1 Brian Rebel
16 1 Brian Rebel
h1. Preliminaries
17 54 Erica Snider
18 99 Erica Snider
19 64 Erica Snider
* Fermilab computing accounts:  see the [[larsoftsvn:Fermilab Computing Access]] page if you need an account.
20 73 Erica Snider
* 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.).
21 54 Erica Snider
* See the [[LArSoftWiki#documentation|documentation section below]] for information on working with LArSoft, and using git, git flow, mrb and other tools you will need.
22 73 Erica Snider
* *[[ Supported platforms ]]*
23 1 Brian Rebel
* To join the LArSoft mailing list, please follow "these instructions":http://listserv.fnal.go/users/asp#subscribe%20to%20list using the list name LARSOFT
24 103 Erica Snider
* To get write access to the repositories, send email to rs@fnal.gov, echurch@fnal.gov, greenlee@fnal.gov, trj@fnal.gov.
25 1 Brian Rebel
26 35 Erica Snider
h2. Where to find the software
27 65 Erica Snider
28 91 Erica Snider
* [[ LArSoft repositories, packages and dependencies | What are the repository names and what is in them?]]
29 102 Lynn Garren
* [[ moduleAuthors | LArSoft module authors ]]
30 97 Erica Snider
* [[ The Fermilab core LArSoft installation | The core LArSoft installation at Fermilab ]]
31 85 Erica Snider
* [[ Experiment-specific code and re-factoring ]]
32 86 Erica Snider
* [[ Sub-package locations ]] (e.g., in which repository can I find the @HitFinder@ sub-package?)
33 81 Erica Snider
* [[ Download instructions ]]
34 110 Lynn Garren
* [[ LArSoft cvmfs ]]
35 65 Erica Snider
36 104 Brian Rebel
h3. "LArSoft Doxygen":http://nusoft.fnal.gov/larsoft/doxsvn/html/index.html
37 50 Erica Snider
38 50 Erica Snider
39 77 Erica Snider
h1. Releases
40 1 Brian Rebel
41 94 Erica Snider
[[LArSoft release list|List of LArSoft releases.]] (Temporarily includes lbnecode and uboonecode)
42 117 Lynn Garren
[[LArSoft release management]] (instructions for the release manager)
43 119 Gianluca Petrillo
[[Breaking Changes]] (or "after the update my code shows 179 compiling errors! HEEELP!!")
44 94 Erica Snider
45 94 Erica Snider
46 1 Brian Rebel
h1. Documentation
47 32 Erica Snider
48 69 Erica Snider
h2. Overview of the user and developer environment
49 69 Erica Snider
50 69 Erica Snider
* [[ The user environment ]] 
51 83 Erica Snider
* [[ The developer environment ]]
52 69 Erica Snider
53 69 Erica Snider
54 69 Erica Snider
55 60 Erica Snider
h2. Working with LArSoft
56 60 Erica Snider
57 107 Erica Snider
h3. How to use the repositories and the build system
58 107 Erica Snider
59 80 Erica Snider
  * *[[ Quick-start guide to using and developing LArSoft code ]]*
60 71 Erica Snider
  * [[ LArSoft repositories, packages and dependencies ]]
61 118 Erica Snider
  * [[The rules and guidelines|Coding guidelines]] 
62 1 Brian Rebel
63 107 Erica Snider
h3. The framework and the LArSoft suite
64 107 Erica Snider
65 1 Brian Rebel
  * [[larsoftsvn:Using the Framework]]
66 68 Erica Snider
  * "ART Tutorial":http://oink.fnal.gov/
67 68 Erica Snider
  * [[larsoftsvn:NuSoft and LArSoft|nutools and LArSoft]]
68 68 Erica Snider
  * [[Using LArSoft on the GPVM nodes]]
69 120 Erica Snider
  * [[larsoftsvn:Package Documentation]]
70 107 Erica Snider
  * [[larsoftsvn:Geometry]]
71 107 Erica Snider
  * [[larsoftsvn:Reconstruction]]
72 107 Erica Snider
  * [[larsoftsvn:Simulation]]
73 107 Erica Snider
  * [[larsoftsvn:Space Points]]
74 107 Erica Snider
  * [[larsoftsvn:Seed Finding and Bezier Tracking]]
75 107 Erica Snider
  * [[larsoftsvn:Optical Simulations]]
76 107 Erica Snider
77 108 Erica Snider
  * "Past LArSoft meeting presentations -- A wealth of physics/technical information (some of which may be out of date since the transition to git / mrb / ups).":https://cdcvs.fnal.gov/redmine/projects/larsoftsvn/documents
78 1 Brian Rebel
79 1 Brian Rebel
80 1 Brian Rebel
81 68 Erica Snider
82 75 Erica Snider
h2. Links to the tools used to work with the software
83 1 Brian Rebel
84 71 Erica Snider
git and git flow:
85 67 Erica Snider
* [[cet-is-public:git flow quick start]] (edited 2/4/2013).
86 98 Erica Snider
* [[cet-is-public:GitTipsAndTricks|Git Tips and Tricks]] (Note that "git help" works, but "man git" and "git help <command>" does not on any of the gpvm machines. Nor do any of the "git <command> -h" commands.) For the purposes of LArSoft development, please please ignore the workflow advice as anything other than an example of how to use various git commands to do specific tasks.
87 1 Brian Rebel
88 72 Erica Snider
Understanding CMakeLists.txt and product_deps files
89 71 Erica Snider
* [[cet-is-public:Cetbuildtools cmake modules]]:  such as @cet_make@ and @cet_add_compiler_flags@. Used in @CMakeLists.txt@ files throughout LArSoft
90 71 Erica Snider
* [[cet-is-public:Art cmake modules]]: such as @art_make@ and @simple_plugin@. Used in @CMakeLists.txt@ files throughout LArSoft
91 71 Erica Snider
* [[cet-is-public:Defining products in the CET build environment]]: explains the @product_deps@ file
92 71 Erica Snider
* [[cet-is-public:AddingProductDependencies|Adding Product Dependencies]]: how to edit the @product_deps@ and @CMakeLists.txt@ files to add dependencies
93 71 Erica Snider
* [[cet-is-public:CodeTips|Various helpful tips for coding in the CET C++ environment]]: things you hope you never need to know
94 71 Erica Snider
* [[cet-is-public:Building your own code with cmake]]:  pointer to a _really_ simple example
95 67 Erica Snider
96 71 Erica Snider
mrb and ups:
97 32 Erica Snider
*  mrb : the multi-repository build tool
98 1 Brian Rebel
*  Re-locatable ups
99 72 Erica Snider
* [[cet-is-public:AboutQualifiers|About qualifiers]]:  the things after "-q" in setup <prod> <ver> -q <qual>
100 33 Erica Snider
101 33 Erica Snider
102 112 William Seligman
h1. How-to
103 112 William Seligman
104 112 William Seligman
* [[ AnalysisExample | Getting started with an analysis task ]]
105 121 Erica Snider
* [[ Running Jobs ]]
106 33 Erica Snider
107 33 Erica Snider
108 33 Erica Snider
h2. Advanced technical how-to's
109 33 Erica Snider
110 33 Erica Snider
h2. Release procedures
111 110 Lynn Garren
112 110 Lynn Garren
h2. [[ LArSoft cvmfs ]]
113 110 Lynn Garren
114 1 Brian Rebel
115 1 Brian Rebel
h1. Walk-through exercises
116 1 Brian Rebel
117 75 Erica Snider
h1. LArSoft code management and distribution
118 1 Brian Rebel
119 103 Erica Snider
* [[Adding / removing users]]
120 75 Erica Snider
* [[Admin scripts]]
121 75 Erica Snider
* [[Procedure to create a new version of larsoft_data]]
122 76 Erica Snider
* [[Installation procedures]]
123 109 Erica Snider
* [[Nightly builds]]
124 114 Erica Snider
* [[Integration build and test system]]
125 76 Erica Snider
* [[Release notes template]]
126 33 Erica Snider
127 51 Erica Snider
h1. Working areas
128 34 Erica Snider
129 1 Brian Rebel
130 115 Erica Snider
[[ Detailed documentation on using and developing LArSoft code ]] : under development -- not a resource
131 1 Brian Rebel
132 1 Brian Rebel
[[ Draft quick start revisions ]]
133 1 Brian Rebel
134 116 Gianluca Petrillo
[[ Profiling LArSoft ]]
135 116 Gianluca Petrillo
136 115 Erica Snider
Old pages that are no longer relevant or maintainted:
137 1 Brian Rebel
138 115 Erica Snider
* [[Beta re-factoring]]
139 101 Erica Snider
* *Beta testers:  [[ Special instructions for beta testers | read this first ]]*
140 1 Brian Rebel
* *[[ Special instructions for beta testers ]]*
141 115 Erica Snider
* [[LArSoft production transition timeline|Timeline for the production migration to git / mrb / ups]]
142 115 Erica Snider
* [[ Production transition checklist ]]