SPD OCDB

A Brief introduction

OCDB stands for Offline Condition Database and it contains both the detector configuration (e.g.: included HS in the daq, dead pixels, etc.) and the chip configration in the PIT (such as noisy FastOr, etc.).

The OCDB is a folder which can be found either in any AliRoot distribution (trunk, revision, release) under the path : $ALICE_ROOT/OCDB or in the alien catalogue under the path /alice/data/20xx/OCDB.

The aliroot ocdb folder is located in :

  • $ALICE_ROOT/OCDB in any AliRoot distribution
  • /alice/data/20xx/OCDB on alien (xx stands for 09, 10 or 11 depending on the data taking year) and it is used for RAW data reconstruction
  • /alice/simulation/2008/4-15-Release/Residual (or Ideal/ or Full/ depending on the level of the detector miscalibration) for simulations

Inside the folder there are two subfolder which are relevant for SPD and they are ITS/Calib or TRIGGER/SPD. The former contains the detector configuration, whereas the latter the PIT configuration.

The detector OCDB folder structure is the following : 

  • SPDDead : Contains the information on the active HS. The container structure is at the level of pixels (grouped in chips and eventually in HS).
  • SPDSparseDead : Contains the information on the dead pixels in the ACTIVE HS. The container structure is at the level of pixels.
  • SPDNoisy : Contains the information on the noisy pixels during data taking. The container structure is at the level of pixels.
  • SPDFOEfficiency : Contains the information of the FastOr response of the chips. The container structure is at the level of columns.
  • SPDFONoise : Contains the information of the FastOr noisiness of the chips. The container structure is at the level of columns.

whereas the PIT OCDB object structure is quite simple since it contains only one folder : OCDB/TRIGGER/PITConditions

The fundamental objects are : SPDDead, SPDSparseDead, SPDNoisy, PITConditions. The other ones have been introduced before the data taking and at the moment only default values are used. ALL THE SPD OCDB OBJECTS ARE APPLIED ONLY AT THE RECONSTRUCTION LEVEL (the SPD is simulated as in its ideal configuration, that is ALL ALIVE).

The main 4 objects are handled by a class called AliITSOnlineCalibrationSPDhandler : it reads the objects, provides some information and writes the object wherever needed (apart from alien).

For a quick usage, please open the aliroot prompt. The handler class needs a run number and the ocdb folder locaiton as an input, therefore let's consider a run number 123456 and the ocdb aliroot default location.

A simple example is than   :

root [0] AliITSOnlineCalibrationSPDhandler *h = new AliITSOnlineCalibrationSPDhandler()
root [1] h->ReadDeadFromDB(123456,"local://$ALICE_ROOT/OCDB")
I-AliCDBManager::Init: AliEn classes enabled in Root. AliCDBGrid factory registered.
W-AliCDBManager::Get: Run number explicitly set in query: CDB cache temporarily disabled!
(Bool_t)1
root [2] h->PrintEqSummary()
-----------
Eq summary:
-----------
Eq  0:   1921 silent(dead+inactive) ,   1921 dead ,      0 sparse-dead      0 noisy
Eq  1:   3035 silent(dead+inactive) ,   3035 dead ,      0 sparse-dead      0 noisy
Eq  2:   2081 silent(dead+inactive) ,   2081 dead ,      0 sparse-dead      0 noisy
Eq  3:   4198 silent(dead+inactive) ,   4198 dead ,      0 sparse-dead      0 noisy
Eq  4:   2422 silent(dead+inactive) ,   2422 dead ,      0 sparse-dead      0 noisy
Eq  5:  27026 silent(dead+inactive) ,  27026 dead ,      0 sparse-dead      0 noisy
Eq  6:   4270 silent(dead+inactive) ,   4270 dead ,      0 sparse-dead      0 noisy
Eq  7:  82862 silent(dead+inactive) ,    942 dead ,      0 sparse-dead      0 noisy
Eq  8:   6956 silent(dead+inactive) ,   6956 dead ,      0 sparse-dead      0 noisy
Eq  9: 409600 silent(dead+inactive) ,      0 dead ,      0 sparse-dead      0 noisy
Eq 10:   2071 silent(dead+inactive) ,   2071 dead ,      0 sparse-dead      0 noisy
Eq 11:   3932 silent(dead+inactive) ,   3932 dead ,      0 sparse-dead      0 noisy
Eq 12:  86647 silent(dead+inactive) ,   4727 dead ,      0 sparse-dead      0 noisy
Eq 13:   6903 silent(dead+inactive) ,   6903 dead ,      0 sparse-dead      0 noisy
Eq 14:   3007 silent(dead+inactive) ,   3007 dead ,      0 sparse-dead      0 noisy
Eq 15:  86758 silent(dead+inactive) ,   4838 dead ,      0 sparse-dead      0 noisy
Eq 16:  89048 silent(dead+inactive) ,   7128 dead ,      0 sparse-dead      0 noisy
Eq 17:  85846 silent(dead+inactive) ,   3926 dead ,      0 sparse-dead      0 noisy
Eq 18:   8275 silent(dead+inactive) ,   8275 dead ,      0 sparse-dead      0 noisy
Eq 19: 167175 silent(dead+inactive) ,   3335 dead ,      0 sparse-dead      0 noisy
 

How to create the SPDDead OCDB

Usually during data taking some problems from one chip or one halfstave may occur, so it is necessary to mask it for future analysis. In order to skip data coming from that chip/HS a dedicate SPDDead object must be created first and than it must be uploaded to the alien OCDB (= RAW OCDB) location. This last step should be done opening a savannah bug from this web site (please click on Bugs -> Submit) for a OCDB upload request. The savannah bug must be assigned  to Raffaele Grosso.

- object creation -

The object is created by the handler AliITSOnlineCalibrationSPDhandler and it needs a run range validity. If the chip 5 from HS 2 in Equipment 12 should be masked in run 123456, then from the previous ocdb object

AliITSOnlineCalibrationSPDhandler *h = new AliITSOnlineCalibrationSPDhandler()

h->ReadDeadFromDB(123456,"alien://folder=/alice/data/2011/OCDB");