Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The list of input data files can be obtained by the skimmer from different sources :

  1. From a CompositeEventList : if a CEL file is given as input to the skimmer, and defined through with variable SK_INPUT_CEL.
  2. From a textual file made by the user : the format is given below, and the file path is given thanks to variable SK_INPUT_FILE_LIST.
  3. From the Pipeline I Oracle Database : if the data to be skimmed has been generated by with the old Pipeline I, one must define SK_INPUT_TASK.
    One and only one of those three variables must be non-null.

...

No Format
SK_INPUT_CEL = ""
SK_INPUT_FILE_LIST = ""
SK_INPUT_TASK = ""
SK_RUN_MIN = 0
SK_RUN_MAX = 0
SK_OUTPUT_FILE_LIST=""
SK_DEBUG_FILE_LIST="false"

...

Shared libraries determination parameters

When managing data such as recon, mc and/or digis, the skimmer sometimes needs to load the corresponding C++ shared libraries. It needs the ones which were used when generating the data, compiled with the correct release, and it will take them . The list of those shared libraries can be provided by the user in a dedicated file, whose name is defined by variable SK_INPUT_LIBRARY_LIST_FILE. In this file, each line is the full path of a shared library, eventually prefixed by its data type. Example the data types associated with the library. If there is no such prefix, the library is to be loaded for any data type. Example of such a file :

Panel

#
#! CEL TXT 0.1
#

#! SECTION Libraries
/nfs/farm/g/glast/u09/builds/rh9_gcc32/BeamtestRelease/BeamtestRelease-v3r0907p0/lib/libcommonRootData.so
(mc)/nfs/farm/g/glast/u09/builds/rh9_gcc32/BeamtestRelease/BeamtestRelease-v3r0907p0/lib/libmcRootData.so
(digi)/nfs/farm/g/glast/u09/builds/rh9_gcc32/BeamtestRelease/BeamtestRelease-v3r0907p0/lib/libdigiRootData.so
(recon)/nfs/farm/g/glast/u09/builds/rh9_gcc32/BeamtestRelease/BeamtestRelease-v3r0907p0/lib/libreconRootData.so

This listcorresponds list corresponds to the libraries for a single code release, which is the one relevant for the current SK_TASK. If a user is writing himself the file defined by SK_FILE_LIST_FILE, he must be careful that all the listed ROOT files have set of input data files to be skimmed. Actually, in a given skimming job, all the input data files must have been generated with the same code release, or the behavior is undefined.If

Instead of the file above, if the user knows about it, he can provide the data code release with the variable SK_EXPECTED_RELEASE, and a set of directories where to search for the shared libraries, defined by SK_LIBRARY_DIRS (which has a default value relevant for SLAC site). The latter is a ':' set of directories paths. SK_EXPECTED_RELEASE should have the form <main_package>/<main_package><release>, as one can see in the example above. The exact names of the libraries for a given data type ar currently hardcoded, and described in the guide /Skimmer at SLAC/. For example, For each <dir> element in SK_LIBRARY_DIRS, and a given <main_package> and a given <release>, the skimmer will look for <dir>/<main_package>/<main_package><release>/lib/libcommonRootData.so.

At last, if there is no usable SK_INPUT_LIBRARY_LIST and no SK_EXPECTED_RELEASE, the skimmer will inspect the data files searching for some GLAST file header, where it could find out the code release used for this data. It should also find the original directory where the libraries where stying when generatig the data, and will inspect this directory first, before trying the ones in SK_LIBRARY_DIRS.

The same as the list of input data files, one can obtain a copy of the shared libraries by giving a value to SK_OUTPUT_LIBRARY_LIST. This list is restrained to the data kinds which were used in the last skimming job. The ouput format is the same as the input format above defined by SK_LIBRARY_LIST_FILE does not already exists, the skimmer will try to guess the release and generate the lacking file. This guess is based on the eventual instance of FileHeader which is staying in the first file of each data kind. The latter can be modified by several tricky variables, but this is outside the scope of this guide (see the FAQ).

Here are the default values of the shell variables for this section :

No Format
SK_INPUT_LIBRARY_LIST_FILE="${PWD}/${SK_TASK}_LibraryList.txt"
SK_SKIP_GET_LIBRARY_LIST="false"
SK_FORCE_GET=""
SK_EXPECTED_RELEASE=""
SK_LIBRARY_DIRS=""/nfs/farm/g/glast/u09/builds/rh9_gcc32:/nfs/farm/g/glast/u30/builds/rh9_gcc32:/afs/slac.stanford.edu/g/glast/ground/releases/rh9_gcc32opt"
SK_OUTPUT_LIBRARY_LIST="false"
SK_DEBUG_GET_LIBRARY_LIST="false"

Events filtering parameters

...