Admin guide » History » Version 2

Version 1 (Herbert Greenlee, 01/05/2015 01:58 PM) → Version 2/22 (Herbert Greenlee, 01/05/2015 02:41 PM)

h1. The experiment environment setup script

Every experiment has a script for initializing its standard software environment. This script may do any or all of the following things.

* Initialize ups products system and products areas.
* Set up some basic ups products.
* Set environment variables.

This section the recommended way of writing this script.

h2. Initializing ups

After initializing ups, the following should be the case:

* The executable @ups@ should be on the execution path.
* Command or alias @setup@ should be defined.
* Environment variable @PRODUCTS@ should be defined as a colon-separated list of ups products areas.

With respect to the last point, the @$PRODUCTS@ path may include the following ups products areas (in order).

* Experiment-specific products (e.g. @/grid/fermiapp/products/uboone@).
* Larsoft products (for larsoft experiments, e.g. @/grid/fermiapp/products/larsoft@).
* Fermilab common products (e.g. @/grid/fermiapp/products/common/db@).

Generally, ups is initialized by sourcing a script called "@setups@" (or "" or "@setups.csh@", etc.) from some standard place. It is acceptable to source multiple "@setups@" scripts from multiple products areas, as well as extending the products path to include additional products areas manually.

h1. Experiment-specific hooks