SAS Software Overview

On this page:

Also see:

The Science Analysis Systems (SAS) group develops and maintains the software that takes "raw" Level 0 data delivered to it in LAT Data Format (LDF data) and converts it into Level 1 data that is ready for scientific analyssis. During this conversion process, event data is reconstructed and events are classified as gamma-rays or charged particles. (See: Gleam overview.)

SAS Software Releases

Each release of Science Analysis Systems software consists of a top-level container package, which is a wrapper script containing many different software packages. Each package is contained in a directory in the main Concurrent Versioning System (CVS) repository and is also tagged. A tag of the top-level GlastRelease package "seals in concrete" the versions of the other packages upon which each package depends. A software release is determined by the version numbers that are contained in each package's SConscript file, which is the only place that explicitly specifies the version of each package contained in a given release. (See: SCons: An Introduction.)

Top-level Container Checkout Packages
(also known as "Source Code Toolkits")

SAS software includes:

  • Top-level container checkout packages (i.e., "source
    code toolkits such as GlastRelease or ScienceTools).
  • Applications packages (Gleam, Likelihood, etc.).
  • Constituent packages.

Note: For each of the top-level checkout packages there is a package coordinator, responsible for promoting a specific build to release status. An application package has, as its sole purpose, the creation of an executable. Constituent packages are required by an application package in order to accomplish its task.

It is useful to think of the top-level container packages as source code toolkits from which you can select the constituent package(s) included in the kit that you will need in order to compile and analyze event information you are interested in.

Source code or binary versions can be obtained from the Concurrent Versions System (CVS) repository, the Java GUI Installer, Command Line Installer (Linux only), or RMViewer. You can also obtain source code using GoGui.

  • Top-level Container Checkout Packages:
    • GlastRelease

GlastRelease is the primary SAS software package and is a toolkit of different application software packages with a wrapper bundling them into a single package.

The top-level application package within a GlastRelease is the GLast Event Analysis Machine (GLEAM). GLEAM takes the "raw" Level 0 data delivered to it in LAT Data Format (LDF data) and converts it to Level 1 data. The Level 1 data serves as input to the ScienceTools software packages.

Note: All GlastRelease outputs are in ROOT format.

    • ScienceTools

ScienceTools is a toolkit of analysis tools with a wrapper bundling it into a single package. These tools are developed and used for analysis of Level 1 data.

Energies, directions, times, and other high-level characteristics of the gamma-rays are used together with pointing and livetime information for the LAT to detect and characterize astrophysical sources of gamma rays.

Note: Most of the ScienceTools packages are components of the Standard Analysis Environment (SAE) being developed jointly with the Fermi Science Support Center and are compatible with the FTOOLS standards.

  • Executables

Top-level packages have shell scripts located in the bin subdirectory of the directory where the rest of the code for the top-level package is compiled. These shell scripts enable you to execute all of the executables available within the package.

  • Constituent Packages
Constituent Packages (e.g., AcdDigi, AcdRecon, CalDigi, CalRecon, TkrDigi, TkrRecon, etc.) are specific packages included in a top-level package.

External Libraries

When you download a checkout package using the GLAST Installer, the external libraries required for that release will be automatically included unless you specify otherwise.

External libraries used by GlastRelease software:

  • CLHEP
  • OmniOrb
  • ROOT
  • cfitsio
  • cppunit
  • fox
  • gaudi
  • geant4
  • ldf
  • mysql
  • obf
  • python
  • swig
  • xerces
  • zlib

External libraries used by ScienceTools software:

  • ape
  • cfitsio
  • CLHEP
  • cppunit
  • f2c
  • fftw
  • python
  • ROOT
  • xerces

Package and External Library Contents

You can view the package contents of code builds using RMViewer or GoGui. You can view the external library contents of code builds, including the version number for each package, using RMViewer, the GLAST Installer, or the Command Line Installer (Unix only).

Release Manager

The Release Manager software makes a build each time a new version of a package is checked in, whether for GlastRelease or ScienceTool software. It also runs a series of tests to ensure interoperability with other packages that have been checked in. Developers are notified by email of any test failures related to their package.

See:

SAS Software Builds

Optimized software builds run significantly faster than unoptimized (i.e., Debug) builds, and hence are desirable for end-user tasks such as event analysis. Developers, however, often need to use the debugger builds to track down bugs. While it would be convenient to have both optimized and unoptimized builds of everything readily available, that could quickly create an unnecessary strain on resources such as disk space, and SAS has therefore created the following build classes; each class serving a different function and having a different build frequency:

  • Tagged releases (optimized and unoptimized builds).
  • HEAD (unoptimized builds only).
  • LATEST (unoptimized builds only).
  • External Libraries:
 
  • Libraries heavily used during event processing, e.g., Geant and Gaudi (optimized builds)
 
  • Less frequently used libraries, (e.g., Xerces, used almost exclusively during initialization (unoptimized builds).

GLAST Software Installers

Two GLAST Software Installers are available:

Build Tools

If you plan on doing any software development work, you may also want to familiarize yourself with the following Build Tools:

... and a related topic:


Last updated by: Chuck Patterson 04/05/2011