SLAC PEP-II
BABAR
SLAC<->RAL
Babar logo
HEPIC E,S & H Databases PDG HEP preprints
Organization Detector Computing Physics Documentation
Personnel Glossary Sitemap Search Hypernews
Unwrap page!
Comp. Search
Who's who?
Meetings
FAQ Homepage
Archive
Environment
Administration
New User Info.
Web Info/Tools
Monitoring
Training
Tools & Utils
Programming
C++ Standard
SRT, AFS, CVS
QA and QC
Remedy
Histogramming
Operations
PromptReco
Simulation Production
Online SW
Dataflow
Detector Control
Evt Processing
Run Control
Calibration
Databases
Offline
Workbook
Coding Standards
Simulation
Reconstruction
Prompt Reco.
BaBar Grid
Data Distribution
Beta & BetaTools
Kanga & Root
Analysis Tools
RooFit Toolkit
Data Management
Data Quality
Event display
Event Browser
Code releases
Databases
Check this page for HTML 4.01 Transitional compliance with the
W3C Validator
(More checks...)

Next: User Functions Up: User's Guide to the Previous: Introduction

Subsections

Background

 

AFS

  All B A B A R software is maintained in AFS (Andrew File System) directories. To use it, you need an AFS account. Instructions for getting such an account can be found at /BFROOT/doc/Computing/NewUser/Account.html

(if your SLAC home directory starts with ``/afs'' you already have an AFS account). Other documentation on using AFS can be found at

http://www.slac.stanford.edu/comp/unix/afs/users-guide/afs-frames.htm

and

/BFROOT/doc/Computing/TUG/afs.intro.html

Software Organization and CVS

 

Figure 1: Software Directory Organization

[This is adapted from a 1995 paper[5].] A software release is a snapshot of all B A B A R code (online, offline, utilities, scripts, makefiles, etc.). This set of code has been tested to work together, and is indexed by a release number (e.g., 5.2.2) so a user can refer to a particular release and get reproducible results. Certain releases are also labelled by a name (by using a symbolic link): ``current'', ``test'', and ``newest''. Most users will want to use ``current''; as implied by the names, ``test'' and ``newest'' releases may have ``features'' which make them less suitable for general use. Which release is pointed to by these links will change over time. It is also possible for two or all three of the links to point to the same release.

A release will involve particular versions of packages. A package generally consists of a set of code for a particular task, together with a GNUmakefile, scripts and other files and documentation. Of course, not every package is changed for every release, so many release may use the same version of a particular package. Package versions are labelled by their CVS version number; for example V00-04-29. These tags are also used as the names of subdirectories, as shown in Figure 1.

A relatively new (and still evolving) area is the online release structure. The online_release directory has an organization similar to the (offline) release directory. However, online releases are designed to be dependent on a particular offline release. There are a few packages common to online and offline. The tools for using and maintaining an online release are similar to the offline tools, and in fact, should merge in the near future.

The B A B A R software repository is maintained using the Concurrent Version System (CVS) (B A B A R actually uses a slightly modified version of CVS; see section 5 if you need to get a copy of this version). The files in the repository should be manipulated through CVS commands (or B A B A R commands which invoke them, such as ``addpkg''; see section 3.2.1). For more information on CVS commands, check the B A B A R CVS page:

/BFROOT/doc/Computing/www/Tools/CVS-BF.html There is also useful information on CVS in the B A B A R User guide; more detailed documentation can be found at SLAC in /usr/local/doc/cvs/cvs-manual.ps and in other files in that directory.


next up previous
Next: User Functions Up: User's Guide to the Previous: Introduction
John Bartelt
3/23/1998