Calice Reconstruction Software Quick Start

Quick Start

  1. Download the Calice source code (download page)
  2. Define the following environment variables if the corresponding packages are already installed:
  3. Get all missing packages using the get_soft.sh script (get_soft.sh will install lcio et. al. if the corresponding environment variables are not set. The Java JDK has to be installed manually). Run:
    [calice-top-level]/tools/get_soft.sh --prefix [install_dir]
    
    The script will grab, compile and install all needed packages: CLHEP, LCIO, etc. . During the download phase, You have to press ENTER from time to time when being asked for a password. If You want the OpenGL based event display, you have to add the option --with-gtkglext. The latter requires at least version 2.2 of gtk+-2.0 including the development files (on Scientific Linux 3, the package is provided by gtk2-devel).

    If started with the option --show-only a list will be displayed with all the packages which need to be installed. The option --help will give a complete list of available options.

    ROOT is optional and not install by the get_soft.sh script. Without ROOT control histograms will not be written to disk. Though, alternative HistWriter back-ends could be implemented (e.g. a LCIO back-end).

  4. Enter the directory of the Calice software package. To build, follow the instructions of one of the test cases. Then type make. The software is installed in the configured directory by:
    make install
    The destination directory can be changed by supplying configure with the option --prefix=[install_dir].
  5. Create a working directory and install the LCIO files with the conditions data into a folder called conddb, e.g.
    tar -xzf calice-conddb-lciofiles-0.2.0.tar.gz
    Alternatively, the conditions database can be used. The database flccaldb01.desy.de:cd_calice:caliceon:[password] Should contain the necessary data for the ECAL test beam runs 2005.
  6. Run an example job. The processing is controlled via marlin steering files. A complete steering file can be obtained via:
    calicecMarlin -l
    . Alternatively, the steering files can be generated using the new steering file generation tools (see section Steering Files of the User's Guide for details). These tools generate the steering files from individual parameter sections and perform simple variable substitution like run number, or output directory substitutions. The variable substitution is controllad via the command line. The script can print the steering file to the standard output, execute a marlin executable, or run the marlin executable inside the GNU debugger (gdb).
    The following scripts which are based on this tool set are provied by the calice-scripts archive which can be obtained from the download page:
    • listCollections.sh - list all the collections inside the given file. If the packages lcioconverter, lcioext, lcio-caliceraw were compiled then LCIO files (.slcio) or the native raw calice data files (.bin, .asc, /shm:[key]) can be used. (the executables caliceMarlin or caliceAnalysis (see below), provide the needed. processors)
    • conversionToLCIO.sh - convert native raw calice data files to raw LCIO files. This scipt only makes sense if the packages lcioconverter, lcioext, lcio-calice have been compiled and are linked to the marlin executable. If the packages were compiled, the executables caliceMarlin or caliceAnalysis, could be used (Currently, this script is missing).
    • cosmicsAnalyse.sh - analyse the cosmics data and write out histograms about MIP tracks reconstructed in the ECAL or only the histograms of the MIP signal per pad. Currently, histograms are only written if the package was compiled and linked with ROOT. This script needs as input the LCIO files resulting from the conversion or the native calice raw data files. The required processors are provided by the executable caliceAnalysis of the calice-analysis package.
    • cosmicsHoldScan.sh - analyse the cosmics data and histogram the mip signal per layer and per hold start value. This script needs as input the LCIO files resulting from the conversion or the native calice raw data files. The required processors are provided by the executable caliceAnalysis of the calice-analysis package.
    • tbAnalyse.sh - analyse the test beam data and write out histograms about: reconstructed ECAL clusters; correlation between the clusters and reconstructed drift chamber tracks. This script needs as input either the LCIO or the native calice raw data files. It depends on marlin processors which are in the package calice-analysis of the calice-analysis package.
    • historyGraphs.sh - create a history of the raw ADC values, the calculated pedestal and noise of one detector module i.e. one front-end. This script needs as input either the LCIO or the native calice raw data files. It depends on marlin processors which are in the package calice-analysis of the calice-analysis package.
    • avHistoryGraphs.sh - create history of the average ADC values, the calculated pedestals and the noise per read out chip of all the detector modules. This script needs as input either the LCIO or the native calice raw data files. It depends on marlin processors which are in the package calice-analysis of the calice-analysis package.
    • monitor.sh - run all visualisation processors. This script needs as input either the LCIO or the native calice raw data files. It depends on marlin processors which are in the package calice-analysis of the calice-analysis package.
    • writeTree.sh - create a ROOT tree containing the reconstructed hits and the drift chamber tracks. This script needs as input the raw data files either LCIO or the native calice raw data files. It depends on marlin processors which are in the package calice-analysis of the calice-analysis package.
    • writeSimulationTree.sh - create a ROOT tree containing the hits and the drift chamber tracks resulting from a Mokka simualtion. The signals are "calibrated" and can be smeared. Random noise is not created. This script needs as input LCIO files resulting from Mokka. It depends on marlin processors which are in the package calice-analysis of the calice-analysis package.
    All scripts activate the ProgressHandler processor which will catch the posix signal SIGINT (emmited when e.g. pressing ctrl-C). The processing will be aborted by throwing the exception marlin::StopProcessingException. So, the job should end gracefully.