care - The ECAL reconstruction package

Quick User Guide


The main goal of the ecal reconstruction is to detect either electromagnetic or hadronic showers in a stand-alone mode. The secondary goal of the ecal reconstruction is to search for all signals due to external charged particles impinging on ecal using informations from other detectors. During this phase it is possible to classify signals on ecal as neutral particle showers (most probably gammas), charged particle showers (electrons and strongly interacting pions) and charged particle low signals (MIPS).

The main job that the code does in order to reach these goals is to clusterize the information on the hit cells of the calorimeter according to their measured energy and to classify afterwards the clusters of hit cells found. The clustering algorithm that it has been implemented in the code is a variant of the hyerarchical clustering method and more generally it is a non-supervised pattern recognition method. It has many good properties such as to be a fast clustering method ( time performances proportional to N log N , where N is the number of hit cells) and rather general.

How to use the care package

In order to use the care package, you have to do these few operations:
  1. Start with initializing the reconstruction code with a call to the careinit_ void function in the usinit routine. This can be done both in C or C++ including the header "care.hh"
  2.      #include "care.hh"
         extern "C" { 
           void usinit(){
             ... missing stuff
             careinit_(); // initialization of care
             ... missing stuff
    or in FORTRAN:
         subroutine usinit
           ... missing stuff
           CALL CAREINIT
           ... missing stuff
    No histograms are booked by default.
  3. The ecal event reconstruction can be obtained by a call to the careevnt1_ void function (careevnt1 in FORTRAN) in the rcevnt or usevnt routine. The way of calling is the same as before: no input nor output parameters. Be sure, before the calling that the HITC bank or the DCAL bank are correctly filled. No other external information is used. The output of the routine is the filling of the RCCL table for the shower hypotheses. At the moment in the official arte version, you will find the coordinate of the center of the showers, the total energy of the cluster, data for the electromagnetic/hadron shower separation, the bare center of gravity of the cluster as well as its covariances. Links to the HITC bank or to the MTRA one are not established.
  4. Links to the MTRA bank or to the HITC bank can be established by a calling the careevnt2_ void function (careevnt2 in FORTRAN) after the careevnt1_ one.
  5. Although not strictly necessary now, it is wise for future compatibility reasons to add a call to the carestop_ void function (carestop in FORTRAN) in the usstop routine.
  6. If you need to change parameters for the calorimeter reconstruction or you need the care kuip commands, remember that they are not initialized in the defauld implementation of the package. If you want them, you should include a line like "#include <care/>" at the end of your uskuip.cdf file. If you are analyzing REAL data you need the care kuip commands to link to a calibration database (command CARE/ECDB).

Versions of care

Official care versions in ARTE
Version for real data analysis (ComDAQ analysis)


  1. Progress report on the ECAL reconstruction software (PS-file), Hera-B Note 97-135 [Mauro Villa]

16-Nov-98 Mauro Villa