ROOT logo
/**************************************************************************
 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 *                                                                        *
 * Author: The ALICE Off-line Project.                                    *
 * Contributors are mentioned in the code where appropriate.              *
 *                                                                        *
 * Permission to use, copy, modify and distribute this software and its   *
 * documentation strictly for non-commercial purposes is hereby granted   *
 * without fee, provided that the above copyright notice appears in all   *
 * copies and that both the copyright notice and this permission notice   *
 * appear in the supporting documentation. The authors make no claims     *
 * about the suitability of this software for any purpose. It is          *
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/

/* $Id$ */

///////////////////////////////////////////////////////////////////////////////
//                                                                           //
// Class providing the calibration parameters by accessing the CDB           //
//                                                                           //
// Request an instance with AliTRDcalibDB::Instance()                        //
// If a new event is processed set the event number with SetRun              //
// Then request the calibration data                                         // 
//                                                                           //
// Author:                                                                   //
//   Jan Fiete Grosse-Oetringhaus (Jan.Fiete.Grosse-Oetringhaus@cern.ch)     //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////

#include <TROOT.h>
#include <TClonesArray.h>
#include <TObjArray.h>

#include "AliCDBManager.h"
#include "AliCDBEntry.h"
#include "AliLog.h"

#include "AliTRDPIDReference.h"
#include "AliTRDPIDResponseObject.h"
#include "AliTRDcalibDB.h"
#include "AliTRDtrapConfig.h"
#include "AliTRDtrapConfigHandler.h"
#include "AliTRDCommonParam.h"
#include "AliTRDgeometry.h"

#include "Cal/AliTRDCalROC.h"
#include "Cal/AliTRDCalPad.h"
#include "Cal/AliTRDCalDet.h"
#include "Cal/AliTRDCalDCS.h"
#include "Cal/AliTRDCalDCSFEE.h"
#include "Cal/AliTRDCalDCSv2.h"
#include "Cal/AliTRDCalDCSFEEv2.h"
#include "Cal/AliTRDCalPID.h"
#include "Cal/AliTRDCalMonitoring.h"
#include "Cal/AliTRDCalChamberStatus.h"
#include "Cal/AliTRDCalPadStatus.h"
#include "Cal/AliTRDCalSingleChamberStatus.h"
#include "Cal/AliTRDCalTrkAttach.h"
#include "Cal/AliTRDCalOnlineGainTable.h"

ClassImp(AliTRDcalibDB)

AliTRDcalibDB *AliTRDcalibDB::fgInstance   = 0;
Bool_t         AliTRDcalibDB::fgTerminated = kFALSE;

//_ singleton implementation __________________________________________________
AliTRDcalibDB* AliTRDcalibDB::Instance()
{
  //
  // Singleton implementation
  // Returns an instance of this class, it is created if neccessary
  //
  
  if (fgTerminated != kFALSE) {
    return 0;
  }

  if (fgInstance == 0) {
    fgInstance = new AliTRDcalibDB();
  }

  return fgInstance;

}

//_____________________________________________________________________________
void AliTRDcalibDB::Terminate()
{
  //
  // Singleton implementation
  // Deletes the instance of this class and sets the terminated flag,
  // instances cannot be requested anymore
  // This function can be called several times.
  //
  
  fgTerminated = kTRUE;
  
  if (fgInstance != 0) {
    delete fgInstance;
    fgInstance = 0;
  }

}

//_____________________________________________________________________________
AliTRDcalibDB::AliTRDcalibDB()
  :TObject()
  ,fRun(-1)
  ,fPRFsmp(0)
  ,fPRFbin(0)
  ,fPRFlo(0)
  ,fPRFhi(0)
  ,fPRFwid(0)
  ,fPRFpad(0)
  ,fPIDResponse(NULL)
  ,fOnlineGainTableID(0)
  ,fTrapConfig(0x0)
  ,fTrapConfigName("")
  ,fTrapConfigVersion("")
{
  //
  // Default constructor
  //
  // TODO Default runnumber is set to 0, this should be changed later
  //      to an invalid value (e.g. -1) to prevent
  // TODO invalid calibration data to be used.
  //

  for (Int_t i = 0; i < kCDBCacheSize; ++i) {
    fCDBCache[i]   = 0;
    fCDBEntries[i] = 0;
  }
  
  // Create the sampled PRF
  SamplePRF();
  
}

//_____________________________________________________________________________
AliTRDcalibDB::AliTRDcalibDB(const AliTRDcalibDB &c)
  :TObject(c)
  ,fRun(-1)
  ,fPRFsmp(0)
  ,fPRFbin(0)
  ,fPRFlo(0)
  ,fPRFhi(0)
  ,fPRFwid(0)
  ,fPRFpad(0)
  ,fPIDResponse(NULL)
  ,fOnlineGainTableID(0)
  ,fTrapConfig(0x0)
  ,fTrapConfigName("")
  ,fTrapConfigVersion("")
{
  //
  // Copy constructor (not that it make any sense for a singleton...)
  //

  for (Int_t i = 0; i < kCDBCacheSize; ++i) {
    fCDBCache[i]   = 0;
    fCDBEntries[i] = 0;
  }
  
  // Create the sampled PRF
  SamplePRF();

}

//_____________________________________________________________________________
AliTRDcalibDB &AliTRDcalibDB::operator=(const AliTRDcalibDB &c) 
{
  //
  // Assignment operator (same as above ...)
  //

  if (this != &c) {
    AliFatal("No assignment operator defined");
  }

  return *this;

}

//_____________________________________________________________________________
AliTRDcalibDB::~AliTRDcalibDB() 
{
  //
  // destructor
  //
  
  if (fPRFsmp) {
    delete [] fPRFsmp;
    fPRFsmp = 0;
  }

  if (fPIDResponse) {
    delete fPIDResponse;
    fPIDResponse = 0x0;
  }

  Invalidate();
  fgInstance   = 0;
}

//_caching functions____________________________________________________________
const TObject *AliTRDcalibDB::GetCachedCDBObject(Int_t id)
{
  //
  // Retrieves a cdb object with the given id. The objects are cached as
  // long as the run number is not changed.
  //
  // Put together the available objects here by using the lines
  //   a) For usual calibration objects:
  //      case kID<Name> : 
  //        return CacheCDBEntry(kID<Name>,"TRD/Calib/<Path>"); 
  //        break;
  //      See function CacheCDBEntry for details.
  //   and
  //   b) For calibration data which depends on two objects: One containing 
  //      a value per detector and one the local fluctuations per pad:
  //      case kID<Name> :
  //        return CacheMergeCDBEntry(kID<Name>,"TRD/Calib/<padPath>","TRD/Calib/<chamberPath>"); 
  //        break;
  //      See function CacheMergeCDBEntry for details.
  //
    
  switch (id) {

    // Parameters defined per pad and chamber
    case kIDVdriftPad : 
      return CacheCDBEntry(kIDVdriftPad         ,"TRD/Calib/LocalVdrift"); 
      break;
    case kIDVdriftChamber : 
      return CacheCDBEntry(kIDVdriftChamber     ,"TRD/Calib/ChamberVdrift"); 
      break;
    case kIDExBChamber : 
      return CacheCDBEntry(kIDExBChamber        ,"TRD/Calib/ChamberExB"); 
      break;
    case kIDT0Pad : 
      return CacheCDBEntry(kIDT0Pad             ,"TRD/Calib/LocalT0"); 
      break;
    case kIDT0Chamber : 
      return CacheCDBEntry(kIDT0Chamber         ,"TRD/Calib/ChamberT0"); 
      break;
    case kIDGainFactorPad : 
      return CacheCDBEntry(kIDGainFactorPad     ,"TRD/Calib/LocalGainFactor"); 
      break;
    case kIDGainFactorChamber : 
      return CacheCDBEntry(kIDGainFactorChamber ,"TRD/Calib/ChamberGainFactor"); 
      break;

    case kIDOnlineGainFactor : 
      switch(GetOnlineGainTableID()) {
        case 0:
          // For testing purposes only !!!
          AliInfo("No gain table name from OCDB. Use default table!");
          return CacheCDBEntry(kIDOnlineGainFactor  ,"TRD/Calib/Krypton_2011-01"); 
          break;
        case 1:
	  // Online gain table ID 1
          return CacheCDBEntry(kIDOnlineGainFactor  ,"TRD/Calib/Krypton_2011-01"); 
          break;
        case 2:
	  // Online gain table ID 2
          return CacheCDBEntry(kIDOnlineGainFactor  ,"TRD/Calib/Gaintbl_Uniform_FGAN0_2011-01"); 
          break;
        case 3:
	  // Online gain table ID 3
          return CacheCDBEntry(kIDOnlineGainFactor  ,"TRD/Calib/Gaintbl_Uniform_FGAN8_2011-01"); 
          break;
        case 4:
	  // Online gain table ID 4
          return CacheCDBEntry(kIDOnlineGainFactor  ,"TRD/Calib/Krypton_2011-02"); 
          break;
        case 5:
	  // Online gain table ID 5
          return CacheCDBEntry(kIDOnlineGainFactor  ,"TRD/Calib/Krypton_2011-03"); 
          break;
        case 6:
	  // Online gain table ID 6
          return CacheCDBEntry(kIDOnlineGainFactor  ,"TRD/Calib/Gaintbl_Uniform_FGAN0_2012-01"); 
          break;
        case 7:
	  // Online gain table ID 7
          return CacheCDBEntry(kIDOnlineGainFactor  ,"TRD/Calib/Gaintbl_Uniform_FGAN8_2012-01");
          break; 
        case 8:
	  // Online gain table ID 8
          return CacheCDBEntry(kIDOnlineGainFactor  ,"TRD/Calib/Krypton_2012-01"); 
          break;
      default:
	AliError(Form("unknown gaintable requested with ID"));
      }
      break;

    case kIDNoiseChamber : 
      return CacheCDBEntry(kIDNoiseChamber      ,"TRD/Calib/DetNoise"); 
      break;
    case kIDNoisePad : 
      return CacheCDBEntry(kIDNoisePad          ,"TRD/Calib/PadNoise"); 
      break;

    // Parameters defined per pad
    case kIDPRFWidth : 
      return CacheCDBEntry(kIDPRFWidth          ,"TRD/Calib/PRFWidth"); 
      break;

    // Status values
    case kIDChamberStatus : 
      return CacheCDBEntry(kIDChamberStatus     ,"TRD/Calib/ChamberStatus"); 
      break;
    case kIDPadStatus : 
      return CacheCDBEntry(kIDPadStatus         ,"TRD/Calib/PadStatus"); 
      break;

    // Global parameters
    case kIDMonitoringData : 
      return CacheCDBEntry(kIDMonitoringData    ,"TRD/Calib/MonitoringData"); 
      break;
    case kIDFEE : 
      return CacheCDBEntry(kIDFEE               ,"TRD/Calib/FEE"); 
      break;
    case kIDTrapConfig :
      return CacheCDBEntry(kIDTrapConfig        ,"TRD/Calib/TrapConfig"); 
      break;
    case kIDDCS :
      return CacheCDBEntry(kIDDCS               ,"TRD/Calib/DCS");
      break;
    case kIDPIDNN : 
      return CacheCDBEntry(kIDPIDNN             ,"TRD/Calib/PIDNN");
      break;
    case kIDPIDLQ : 
      return CacheCDBEntry(kIDPIDLQ             ,"TRD/Calib/PIDLQ"); 
      break;
    case kIDPIDLQ1D:
      return CacheCDBEntry(kIDPIDLQ1D           ,"TRD/Calib/PIDLQ1D");
      break;
    case kIDRecoParam : 
      return CacheCDBEntry(kIDRecoParam         ,"TRD/Calib/RecoParam"); 
      break;
    case kIDAttach : 
      return CacheCDBEntry(kIDAttach            ,"TRD/Calib/TrkAttach"); 
      break;
    case kIDPHQ :
      return CacheCDBEntry(kIDPHQ               ,"TRD/Calib/PHQ");
      break;
  }

  return 0;

}

//_____________________________________________________________________________
AliCDBEntry *AliTRDcalibDB::GetCDBEntry(const char *cdbPath)
{
  // 
  // Retrieves an entry with path <cdbPath> from the CDB.
  //
    
  AliCDBEntry *entry = AliCDBManager::Instance()->Get(cdbPath,fRun);
  if (!entry) { 
    AliError(Form("Failed to get entry: %s",cdbPath));
    return 0; 
  }
  
  return entry;

}

//_____________________________________________________________________________
const TObject *AliTRDcalibDB::CacheCDBEntry(Int_t id, const char *cdbPath)
{
  //
  // Caches the entry <id> with cdb path <cdbPath>
  //

  if (!fCDBCache[id]) {
    fCDBEntries[id] = GetCDBEntry(cdbPath);
    if (fCDBEntries[id]) {
      fCDBCache[id] = fCDBEntries[id]->GetObject();
      if (id == kIDOnlineGainFactor)
	AliInfo(Form("loaded gain table: %s", fCDBEntries[id]->GetId().GetAliCDBPath().GetPath().Data()));
    }
  } 
  
  return fCDBCache[id];

}

//_____________________________________________________________________________
void AliTRDcalibDB::SetRun(Long64_t run)
{
  //
  // Sets current run number. Calibration data is read from the corresponding file.
  // When the run number changes the caching is invalidated.
  //

  if (fRun == run) {
    return;
  }

  fRun = run;

  Invalidate();

}

//_____________________________________________________________________________
void AliTRDcalibDB::Invalidate()
{
  //
  // Invalidates cache (when run number is changed).
  //
  
  for (Int_t i = 0; i < kCDBCacheSize; ++i) {
    if (fCDBEntries[i]) {
      if (AliCDBManager::Instance()->GetCacheFlag() == kFALSE) {
        if ((fCDBEntries[i]->IsOwner() == kFALSE) && 
            (fCDBCache[i])) {
          delete fCDBCache[i];
	}
        delete fCDBEntries[i];
      }
      fCDBEntries[i] = 0;
      fCDBCache[i]   = 0;
    }
  }

  fOnlineGainTableID = 0;

}

//_____________________________________________________________________________
Float_t AliTRDcalibDB::GetNoise(Int_t det, Int_t col, Int_t row)
{
  //
  // Returns the noise level in ADC counts for the given pad.
  //

  const AliTRDCalPad *calPad     = dynamic_cast<const AliTRDCalPad *> 
                                   (GetCachedCDBObject(kIDNoisePad));
  if (!calPad) {
    return -1;
  }

  AliTRDCalROC       *roc        = calPad->GetCalROC(det);
  if (!roc) {
    return -1;
  }

  const AliTRDCalDet *calChamber = dynamic_cast<const AliTRDCalDet *> 
                                   (GetCachedCDBObject(kIDNoiseChamber));
  if (!calChamber) {
    return -1;
  }

  return calChamber->GetValue(det) * roc->GetValue(col,row);

}
 
//_____________________________________________________________________________
AliTRDCalROC *AliTRDcalibDB::GetNoiseROC(Int_t det)
{
  //
  // Returns the Vdrift calibration object for a given ROC
  // containing one number per pad 
  //
  
  const AliTRDCalPad     *calPad     = dynamic_cast<const AliTRDCalPad *> 
                                       (GetCachedCDBObject(kIDNoisePad));
  if (!calPad) {
    return 0;
  }

  AliTRDCalROC           *roc        = calPad->GetCalROC(det);
  if (!roc) {
    return 0;
  }
  else {
    return roc;
  }

}

//_____________________________________________________________________________
const AliTRDCalDet *AliTRDcalibDB::GetNoiseDet()
{
  //
  // Returns the Vdrift calibration object
  // containing one number per detector
  //
  
  const AliTRDCalDet     *calChamber = dynamic_cast<const AliTRDCalDet *> 
                                       (GetCachedCDBObject(kIDNoiseChamber));
  if (!calChamber) {
    return 0;
  }
  else {
    return calChamber;
  }

}

//_____________________________________________________________________________
Float_t AliTRDcalibDB::GetVdrift(Int_t det, Int_t col, Int_t row)
{
  //
  // Returns the drift velocity for the given pad.
  //

  const AliTRDCalPad *calPad     = dynamic_cast<const AliTRDCalPad *> 
                                   (GetCachedCDBObject(kIDVdriftPad));
  if (!calPad) {
    return -1;
  }

  AliTRDCalROC       *roc        = calPad->GetCalROC(det);
  if (!roc) {
    return -1;
  }

  const AliTRDCalDet *calChamber = dynamic_cast<const AliTRDCalDet *> 
                                   (GetCachedCDBObject(kIDVdriftChamber));
  if (!calChamber) {
    return -1;
  }

  return calChamber->GetValue(det) * roc->GetValue(col,row);

}
 
//_____________________________________________________________________________
AliTRDCalROC *AliTRDcalibDB::GetVdriftROC(Int_t det)
{
  //
  // Returns the Vdrift calibration object for a given ROC
  // containing one number per pad 
  //
  
  const AliTRDCalPad     *calPad     = dynamic_cast<const AliTRDCalPad *> 
                                       (GetCachedCDBObject(kIDVdriftPad));
  if (!calPad) {
    return 0;
  }

  AliTRDCalROC           *roc        = calPad->GetCalROC(det);
  if (!roc) {
    return 0;
  }
  else {
    return roc;
  }

}

//_____________________________________________________________________________
const AliTRDCalDet *AliTRDcalibDB::GetVdriftDet()
{
  //
  // Returns the Vdrift calibration object
  // containing one number per detector
  //
  
  const AliTRDCalDet     *calChamber = dynamic_cast<const AliTRDCalDet *> 
                                       (GetCachedCDBObject(kIDVdriftChamber));
  if (!calChamber) {
    return 0;
  }
  else {
    return calChamber;
  }

}

//_____________________________________________________________________________
TObjArray * AliTRDcalibDB::GetPHQ()
{
  //
  //return PHQ calibration object
  //
  TObjArray *arr = (TObjArray *) (GetCachedCDBObject(kIDPHQ));
  return arr;
}

//_____________________________________________________________________________
Float_t AliTRDcalibDB::GetVdriftAverage(Int_t det)
{
  //
  // Returns the average drift velocity for the given detector
  //

  const AliTRDCalDet *calDet     = dynamic_cast<const AliTRDCalDet *> 
                                   (GetCachedCDBObject(kIDVdriftChamber));
  if (!calDet) {
    return -1;
  }

  return calDet->GetValue(det);

}
//_____________________________________________________________________________
const AliTRDCalDet *AliTRDcalibDB::GetExBDet()
{
  //
  // Returns the exB calibration object
  // containing one number per detector
  //
  
  const AliTRDCalDet     *calChamber = dynamic_cast<const AliTRDCalDet *> (GetCachedCDBObject(kIDExBChamber));
  
  Double_t meanexb = 100.0;
  if (calChamber) meanexb = calChamber->GetMean();
  //printf("mean %f\n",meanexb);  

  if ((!calChamber) || (meanexb > 70.0)) {
    
    const AliTRDCalDet     *calChambervdrift = dynamic_cast<const AliTRDCalDet *> 
	(GetCachedCDBObject(kIDVdriftChamber));
      if (!calChambervdrift) {
	return 0;
      }
      else {
	AliTRDCalDet *calDetExB = new AliTRDCalDet("lorentz angle tan","lorentz angle tan (detector value)");
	for(Int_t k = 0; k < 540; k++){
	  calDetExB->SetValue(k,AliTRDCommonParam::Instance()->GetOmegaTau(calChambervdrift->GetValue(k)));
	}
	return calDetExB;
      }
  }
  else return calChamber;

}
//_____________________________________________________________________________
Float_t AliTRDcalibDB::GetT0(Int_t det, Int_t col, Int_t row)
{
  //
  // Returns t0 for the given pad.
  //
  
  const AliTRDCalPad     *calPad     = dynamic_cast<const AliTRDCalPad *> 
                                       (GetCachedCDBObject(kIDT0Pad));
  if (!calPad) {
    return -1;
  }

  AliTRDCalROC           *roc        = calPad->GetCalROC(det);
  if (!roc) {
    return -1;
  }

  const AliTRDCalDet     *calChamber = dynamic_cast<const AliTRDCalDet *> 
                                       (GetCachedCDBObject(kIDT0Chamber));
  if (!calChamber) {
    return -1;
  }

  return calChamber->GetValue(det) + roc->GetValue(col,row);

}
 
//_____________________________________________________________________________
AliTRDCalROC *AliTRDcalibDB::GetT0ROC(Int_t det)
{
  //
  // Returns the t0 calibration object for a given ROC
  // containing one number per pad 
  //
  
  const AliTRDCalPad     *calPad     = dynamic_cast<const AliTRDCalPad *> 
                                       (GetCachedCDBObject(kIDT0Pad));
  if (!calPad) {
    return 0;
  }

  AliTRDCalROC           *roc        = calPad->GetCalROC(det);
  if (!roc) {
    return 0;
  }
  else {
    return roc;
  }

}

//_____________________________________________________________________________
const AliTRDCalDet *AliTRDcalibDB::GetT0Det()
{
  //
  // Returns the t0 calibration object
  // containing one number per detector
  //
  
  const AliTRDCalDet     *calChamber = dynamic_cast<const AliTRDCalDet *> 
                                       (GetCachedCDBObject(kIDT0Chamber));
  if (!calChamber) {
    return 0;
  }
  else {
    return calChamber;
  }

}

//_____________________________________________________________________________
Float_t AliTRDcalibDB::GetT0Average(Int_t det)
{
  //
  // Returns the average t0 for the given detector
  //

  const AliTRDCalPad *calPad     = dynamic_cast<const AliTRDCalPad *> 
                                   (GetCachedCDBObject(kIDT0Pad));
  if (!calPad) {
    return -1;
  }

  AliTRDCalROC       *roc        = calPad->GetCalROC(det);
  if (!roc) {
    return -1;
  }

  const AliTRDCalDet *calDet     = dynamic_cast<const AliTRDCalDet *> 
                                   (GetCachedCDBObject(kIDT0Chamber));
  if (!calDet) {
    return -1;
  }

  Double_t sum = 0.0; 
  for (Int_t channel = 0; channel < roc->GetNchannels(); ++channel) {
    sum += roc->GetValue(channel);
  }
  sum /= roc->GetNchannels();
  sum += calDet->GetValue(det);
  return sum;

}

//_____________________________________________________________________________
AliTRDCalOnlineGainTableROC* AliTRDcalibDB::GetOnlineGainTableROC(Int_t det)
{
  //
  // Returns the online gain factor table for a given ROC.
  //

  if (!HasOnlineFilterGain()) {
    return 0x0;
  }
  
  const AliTRDCalOnlineGainTable *calOnline 
     = dynamic_cast<const AliTRDCalOnlineGainTable *> 
                                   (GetCachedCDBObject(kIDOnlineGainFactor));
  if (!calOnline) {
    return 0x0;
  }

  return calOnline->GetGainTableROC(det);

}

//_____________________________________________________________________________
Float_t AliTRDcalibDB::GetOnlineGainFactor(Int_t det, Int_t col, Int_t row)
{
  //
  // Returns the online gain factor for the given pad.
  //

  if (!HasOnlineFilterGain()) {
    return -1;
  }
  
  const AliTRDCalOnlineGainTable *calOnline 
     = dynamic_cast<const AliTRDCalOnlineGainTable *> 
                                   (GetCachedCDBObject(kIDOnlineGainFactor));
  if (!calOnline) {
    return -1;
  }

  return calOnline->GetGainCorrectionFactor(det,row,col);

}

//_____________________________________________________________________________
AliTRDCalROC *AliTRDcalibDB::GetGainFactorROC(Int_t det)
{
  //
  // Returns the gain factor calibration object for a given ROC
  //
  
  const AliTRDCalPad *calPad     = dynamic_cast<const AliTRDCalPad *> 
                                   (GetCachedCDBObject(kIDGainFactorPad));
  if (!calPad) {
    return 0;
  }

  AliTRDCalROC       *roc        = calPad->GetCalROC(det);
  if (!roc) {
    return 0;
  }
  else {
    return roc;
  }

}

//_____________________________________________________________________________
Float_t AliTRDcalibDB::GetGainFactor(Int_t det, Int_t col, Int_t row)
{
  //
  // Returns the gain factor for the given pad.
  //
  
  const AliTRDCalPad *calPad     = dynamic_cast<const AliTRDCalPad *> 
                                   (GetCachedCDBObject(kIDGainFactorPad));
  if (!calPad) {
    return -1;
  }

  AliTRDCalROC       *roc        = calPad->GetCalROC(det);
  if (!roc) {
    return -1;
  }

  const AliTRDCalDet *calChamber = dynamic_cast<const AliTRDCalDet *> 
                                   (GetCachedCDBObject(kIDGainFactorChamber));
  if (!calChamber) {
    return -1;
  }

  return calChamber->GetValue(det) * roc->GetValue(col,row);

}

//_____________________________________________________________________________
const AliTRDCalDet *AliTRDcalibDB::GetGainFactorDet()
{
  //
  // Returns the gain factor calibration object
  // containing one number per detector
  //

  const AliTRDCalDet *calChamber = dynamic_cast<const AliTRDCalDet *> 
                                   (GetCachedCDBObject(kIDGainFactorChamber));
  if (!calChamber) {
    return 0;
  }
  else {
    return calChamber;
  }

}

//_____________________________________________________________________________
Float_t AliTRDcalibDB::GetGainFactorAverage(Int_t det)
{
  //
  // Returns the average gain factor for the given detector
  //

  const AliTRDCalDet *calDet     = dynamic_cast<const AliTRDCalDet *> 
                                   (GetCachedCDBObject(kIDGainFactorChamber));
  if (!calDet) {
    return -1;
  }

  return calDet->GetValue(det);

}

//_____________________________________________________________________________
AliTRDCalROC *AliTRDcalibDB::GetPRFROC(Int_t det)
{
  //
  // Returns the PRF calibration object for a given ROC
  // containing one number per pad 
  //
  
  const AliTRDCalPad     *calPad     = dynamic_cast<const AliTRDCalPad *> 
                                       (GetCachedCDBObject(kIDPRFWidth));
  if (!calPad) {
    return 0;
  }

  AliTRDCalROC           *roc        = calPad->GetCalROC(det);
  if (!roc) {
    return 0;
  }
  else {
    return roc;
  }

}

//_____________________________________________________________________________
Float_t AliTRDcalibDB::GetPRFWidth(Int_t det, Int_t col, Int_t row)
{
  //
  // Returns the PRF width for the given pad.
  //
  
  const AliTRDCalPad *calPad     = dynamic_cast<const AliTRDCalPad *> 
                                   (GetCachedCDBObject(kIDPRFWidth));
  if (!calPad) {
    return -1;
  }

  AliTRDCalROC       *roc        = calPad->GetCalROC(det);
  if (!roc) {
    return -1;
  }

  return roc->GetValue(col,row);

}
  
//_____________________________________________________________________________
Int_t AliTRDcalibDB::ExtractTimeBinsFromString(TString tbstr)
{
  // Check if there is any content in the string first
  if (tbstr.Length() == 0) {
    AliError("Parameter for number of timebins is empty!");
    return -1;
  }

  // Check if we have the correct config parameter
  TString tbident  = "tb";
  TString tbsubstr = tbstr(0,2);
  if (!tbsubstr.EqualTo(tbident)) {
    AliError(Form("Parameter for number of timebins is corrupted (%s)!", tbstr.Data()));
    return -1;
  }

  tbstr.Remove(0,2);
  // check if there is more than a number
  if (!tbstr.IsDigit()) {
    AliError(Form("Parameter for number of timebins is corrupted (%s)!", tbstr.Data()));
    return -1;
  }

  return tbstr.Atoi();

}

//_____________________________________________________________________________
Int_t AliTRDcalibDB::GetNumberOfTimeBinsDCSBoard(){
  // This is an old way to extract the number of time bins,
  // only to be used as a fallback to see whether there's
  // a patched OCDB object!
  
  Int_t nTB=-1;
  // Get the array with SOR and EOR
  const TObjArray *dcsArr = dynamic_cast<const TObjArray *>(GetCachedCDBObject(kIDDCS));
  if(!dcsArr)
    return -1; // Error
  // Check CalDCS version
  Int_t calver = 0;
  if (!strcmp(dcsArr->At(0)->ClassName(),"AliTRDCalDCS")) calver = 1;
  else if (!strcmp(dcsArr->At(0)->ClassName(),"AliTRDCalDCSv2")) calver = 2;
  // CalDCS version 1
  if (calver == 1) {
    // DCS object
    AliTRDCalDCS *calSOR = dynamic_cast<AliTRDCalDCS *>(dcsArr->At(0));
    // SOR mandantory
    if(!calSOR)
      return -1; // Error
    else
      nTB=calSOR->GetGlobalNumberOfTimeBins();
    AliTRDCalDCS *calEOR = dynamic_cast<AliTRDCalDCS *>(dcsArr->At(1));
    if(calEOR && calEOR->GetGlobalNumberOfTimeBins()!=nTB)
      return -2; // Mixed
  }
  else if (calver == 2) {
    // DCS object
    AliTRDCalDCSv2 *calSOR = dynamic_cast<AliTRDCalDCSv2 *>(dcsArr->At(0));
    // SOR mandantory
    if(!calSOR)
      return -1; // Error
    else
      nTB=calSOR->GetGlobalNumberOfTimeBins();
    AliTRDCalDCSv2 *calEOR = dynamic_cast<AliTRDCalDCSv2 *>(dcsArr->At(1));
    if(calEOR && calEOR->GetGlobalNumberOfTimeBins()!=nTB)
      return -2; // Mixed
  }
  else{
    // No version 1 nor version 2 object
    return -1; // Error
  }

  // All well
  return nTB;
}
//_____________________________________________________________________________
Int_t AliTRDcalibDB::GetNumberOfTimeBinsDCS()
{
  //
  // Returns number of time bins from the DCS
  //

  // Initialize with values indicating no information
  TString cfg="";
  Int_t nTB = -1;
  // Extract the global configuration name
  GetGlobalConfigurationByChamber(cfg,kTimebin);
  // Extract the number of time bins from
  // the global configuration 
  if(cfg.Length()>0){
    nTB = ExtractTimeBinsFromString(cfg);
  }
  if(nTB>0){
    // All well, we could extract the number
    // of time bins from the configuration name
    return nTB;
  }
  else{
    // No number of time bins from config name.
    // No board responded or similar.
    // We patched some OCDB entries with 
    // only the global number of time bins set.
    // We should get these here
    nTB=GetNumberOfTimeBinsDCSBoard();
    if(nTB>0){
      AliWarning("Using old method for number of time bins."
		 " This is probably a patched OCDB entry");
      return nTB;
    }
    else{
      // Error
      AliError("No number of time bins either"
	       " from config name or patched OCDB entry");
      return -1;
    }
  }

  
  // // Get the corresponding parameter
  // TString cfgstr = "", cfgname = "";
  // GetGlobalConfiguration(cfgname);
  // if(cfgname.Length()==0)
  //   return -1;
  // GetDCSConfigParOption(cfgname, kTimebin, 0, cfgstr);
  // if(cfgstr.Length()==0)
  //   return -1;
  // return ExtractTimeBinsFromString(cfgstr);

}

//_____________________________________________________________________________
void AliTRDcalibDB::GetFilterType(TString &filterType)
{
  //
  // Returns the filter type
  //

  TString cfgname = "";
  GetGlobalConfiguration(cfgname);
  GetDCSConfigParOption(cfgname, kFltrSet, 0, filterType);

}

//_____________________________________________________________________________
Int_t AliTRDcalibDB::GetOnlineGainTableID()
{
  //
  // Get the gain table ID from the DCS
  //

  if (fOnlineGainTableID > 0) {
    return fOnlineGainTableID;
  }

  const TObjArray *dcsArr = dynamic_cast<const TObjArray *>(GetCachedCDBObject(kIDDCS));
  if (!dcsArr){
    return -1;
  }

  Int_t esor   = 0; // Take SOR
  Int_t calver = 0; // Check CalDCS version
  if (!strcmp(dcsArr->At(0)->ClassName(),"AliTRDCalDCS"))   calver = 1;
  if (!strcmp(dcsArr->At(0)->ClassName(),"AliTRDCalDCSv2")) calver = 2;

  if      (calver == 1) {

    // No data for old DCS object available, anyway
    return -1;

  } 
  else if (calver == 2) {

    // DCSv2 object
    const AliTRDCalDCSv2 *calDCSv2 = dynamic_cast<const AliTRDCalDCSv2 *>(dcsArr->At(esor));
    if(!calDCSv2){
      return -1;
    }

    TString tableName = "";
    for (Int_t i = 0; i < 540; i++) {
      const AliTRDCalDCSFEEv2 *calDCSFEEv2 = calDCSv2->GetCalDCSFEEObj(0);
      tableName = calDCSFEEv2->GetGainTableName();
      if (tableName.Length() > 0) {
        break;
      }
    }
    if (tableName.CompareTo("Krypton_2011-01")               == 0)
      fOnlineGainTableID = 1;
    else if (tableName.CompareTo("Gaintbl_Uniform_FGAN0_2011-01") == 0)
      fOnlineGainTableID = 2;
    else if (tableName.CompareTo("Gaintbl_Uniform_FGAN8_2011-01") == 0)
      fOnlineGainTableID = 3;
    else if (tableName.CompareTo("Krypton_2011-02")               == 0)
      fOnlineGainTableID = 4;
    else if (tableName.CompareTo("Krypton_2011-03")               == 0)
      fOnlineGainTableID = 5;
    else if (tableName.CompareTo("Gaintbl_Uniform_FGAN0_2012-01") == 0)
      fOnlineGainTableID = 6;
    else if (tableName.CompareTo("Gaintbl_Uniform_FGAN8_2012-01") == 0)
      fOnlineGainTableID = 7;
    else if (tableName.CompareTo("Krypton_2012-01")               == 0)
      fOnlineGainTableID = 8;
    else
      AliFatal(Form("unknown gaintable <%s> requested", tableName.Data()));

    AliInfo(Form("looking for gaintable: %s (id %i)",
		 tableName.Data(), fOnlineGainTableID));

    if (fOnlineGainTableID > 0)
      return fOnlineGainTableID;
  } 
  else {

    AliError("NO DCS/DCSv2 OCDB entry found!");
    return -1;

  }

  return -1;

}

//_____________________________________________________________________________
void AliTRDcalibDB::GetGlobalConfiguration(TString &config)
{
  //
  // Get Configuration from the DCS
  //

  const TObjArray *dcsArr = dynamic_cast<const TObjArray *>(GetCachedCDBObject(kIDDCS));
  if(!dcsArr){
    AliError("No DCS CDB Object available!");
    config = "";
    return;
  }

  Int_t idSOR = 0, idEOR=1; // The index of SOR and EOR
  Bool_t hasSOR = (dcsArr->At(idSOR));
  Bool_t hasEOR = (dcsArr->At(idEOR));
  TString cfgSOR = "", cfgEOR = ""; // The configuration at SOR/EOR

  // The SOR object is mandatory
  if (!hasSOR) {
    AliError("NO SOR object found in CDB file!");
    config = "";
    return;
  }
  if (!hasEOR) AliWarning("NO EOR object found in CDB file!");

  // Check CalDCS version
  Int_t calver = 0;
  if (!strcmp(dcsArr->At(idSOR)->ClassName(),"AliTRDCalDCS")) calver = 1;
  else if (!strcmp(dcsArr->At(idSOR)->ClassName(),"AliTRDCalDCSv2")) calver = 2;

  // Get the configuration strings
  if (calver == 1) {
    // DCS object
    const AliTRDCalDCS *calSOR = dynamic_cast<const AliTRDCalDCS *>(dcsArr->At(idSOR));
    cfgSOR = calSOR->GetGlobalConfigName();
    if (hasEOR) {
      const AliTRDCalDCS *calEOR = dynamic_cast<const AliTRDCalDCS *>(dcsArr->At(idEOR));
      cfgEOR = calEOR->GetGlobalConfigName();
    }
  } 
  else if (calver == 2) {
    // DCSv2 object
    const AliTRDCalDCSv2 *calv2SOR = dynamic_cast<const AliTRDCalDCSv2 *>(dcsArr->At(idSOR));
    cfgSOR = calv2SOR->GetGlobalConfigName();
    if (hasEOR) {
      const AliTRDCalDCSv2 *calv2EOR = dynamic_cast<const AliTRDCalDCSv2 *>(dcsArr->At(idEOR));
      cfgEOR = calv2EOR->GetGlobalConfigName();
    }
  } 
  else {
    AliError("NO DCS/DCSv2 OCDB entry found!");
    config = "";
    return;
  }

  // If there is no EOR entry, return the SOR value
  if (!hasEOR || cfgEOR.Length()==0) {
    config = cfgSOR;
    return;
  }

  // Check if the configuration is the same for both
  if (cfgSOR.EqualTo(cfgEOR)) {
    config = cfgSOR;
    return;
  }

  // When both SOR and EOR have an entry but are different, the config is not defined
  AliError("Inconsistent configuration at start and end of run found!");
  config = "";
  return;

}
//_____________________________________________________________________________
void AliTRDcalibDB::GetGlobalConfigurationByChamber(TString &config,Int_t par, Int_t opt)
{
  //
  // Get Configuration from the DCS
  //

  // par is the enumeration from kFltrSet = 1 ... kAddOpti 6
  //   example:
  //      cf_p_nozs_tb30_csmtrk_ptrg
  //   par   1   2    3    4     5
  //      kFltrSet  kTimebin   kTrigSet
  //          kReadout  kTrkMode
  // opt is 0 for the value itself and 1,2,3 for the first, second option
  // opt has standard value of 0 in header file


  // The point is that we extract the parameter/option for 
  // each of the 540 chambers and compare only this 
  // parameter/option for a global value, not the full
  // configuration name with all parameters

  // Get the array with SOR and EOR
  const TObjArray *dcsArr = dynamic_cast<const TObjArray *>(GetCachedCDBObject(kIDDCS));
  if(!dcsArr){
    AliError("No DCS CDB Object available!");
    config = "";
    return;
  }

  // Check CalDCS version
  Int_t calver = 0;
  if (!strcmp(dcsArr->At(0)->ClassName(),"AliTRDCalDCS")) calver = 1;
  else if (!strcmp(dcsArr->At(0)->ClassName(),"AliTRDCalDCSv2")) calver = 2;
  //
  // Get the configuration strings
  //
  // CalDCS version 1
  if (calver == 1) {

    // Loop over SOR/EOR
    for(Int_t iSEOR=0;iSEOR<2;iSEOR++){

      // DCS object
      AliTRDCalDCS *cal = dynamic_cast<AliTRDCalDCS *>(dcsArr->At(iSEOR));
      if(!cal){
	// SOR mandantory
	if(iSEOR==0){
	  AliError("NO SOR object found in CDB file!");
	  config = "";
	  return;
	}
	else{
	  AliWarning("NO EOR object found in CDB file!");
	  continue;
	}
      } // Check DCS object is there
      
      // Loop over 540 chambers
      {
	Int_t iDet=0;
	// Find the first chamber in SOR
	if(iSEOR==0){
	  // Loop until we find the first chamber
	  for(;iDet<kNdet;iDet++){
	    const AliTRDCalDCSFEE *DCSFEEObj = cal->GetCalDCSFEEObj(iDet);
	    // Check it's an installed chamber that responded
	    if(DCSFEEObj && !DCSFEEObj->GetStatusBit()) {

	      // We ask for a valid configuration name starting with cf_
	      if(DCSFEEObj->GetConfigName().BeginsWith("cf_")){
		// Set the parameter of the first good ROC as global,
		// we take only the requested part!
		GetDCSConfigParOption(DCSFEEObj->GetConfigName(), par, opt, config);
		// Increase counter to not look at this chamber again
		// and break loop
		iDet++;
		break;
	      } // End: valid config name
	    } // End: first good chamber
	  } // End: find the first chamber
	} // End: is SOR

	// Now compare the other chambers with the first one
	for(;iDet<kNdet;iDet++){
	  const AliTRDCalDCSFEE *DCSFEEObj = cal->GetCalDCSFEEObj(iDet);
	  // Check it's an installed chamber that responded
	  if(DCSFEEObj && !DCSFEEObj->GetStatusBit()) {
	    
	    // We ask for a valid configuration name starting with cf_
	    if(DCSFEEObj->GetConfigName().BeginsWith("cf_")){

	      // Get the parameter/option of this chamber
	      TString tmpcfg;
	      GetDCSConfigParOption(DCSFEEObj->GetConfigName(), par, opt, tmpcfg);
	      // Compare with the global value
	      if(config.CompareTo(tmpcfg)){
		// Two cases mixed or changed during run
		if(iSEOR==0){
		  AliError("Mixed DCS configuration for different chambers!");
		  config="mixed";
		  return;
		} else {
		  AliError("Inconsistent configuration at start and end of run found!");
		  config = "";
		  return;
		}
	      }
	    }// Valid config name 
	  }// Good chamber
	} // Second half loop 
      } // Loop over 540 chambers
    } // Loop over SOR / EOR 
  } // End calver 1
  //
  // CalDCS version 2
  //
  else if (calver == 2) {

    // Loop over SOR/EOR
    for(Int_t iSEOR=0;iSEOR<2;iSEOR++){

      // DCS object
      AliTRDCalDCSv2 *cal = dynamic_cast<AliTRDCalDCSv2 *>(dcsArr->At(iSEOR));
      if(!cal){
	// SOR mandantory
	if(iSEOR==0){
	  AliError("NO SOR object found in CDB file!");
	  config = "";
	  return;
	}
	else{
	  AliWarning("NO EOR object found in CDB file!");
	  continue;
	}
      } // Check DCS object is there
      
      // Loop over 540 chambers
      {
	Int_t iDet=0;
	// Find the first chamber in SOR
	if(iSEOR==0){
	  // Loop until we find the first chamber
	  for(;iDet<kNdet;iDet++){
	    const AliTRDCalDCSFEEv2 *DCSFEEObj = cal->GetCalDCSFEEObj(iDet);
	    // Check it's an installed chamber that responded
	    if(DCSFEEObj && !DCSFEEObj->GetStatusBit()) {
	      // Check for a valid config name
	      if(DCSFEEObj->GetConfigName().BeginsWith("cf_")){

		// Set the parameter of the first good ROC as global,
		// we take only the requested part!
		GetDCSConfigParOption(DCSFEEObj->GetConfigName(), par, opt, config);
		// Increase counter to not look at this chamber again
		// and break loop
		iDet++;
		break;
	      } // End: valid config name
	    } // End: first good chamber
	  } // End: find the first chamber
	} // End: is SOR

	// Now compare the other chambers with the first one
	for(;iDet<kNdet;iDet++){
	  const AliTRDCalDCSFEEv2 *DCSFEEObj = cal->GetCalDCSFEEObj(iDet);
	  // Check it's an installed chamber that responded
	  if(DCSFEEObj && !DCSFEEObj->GetStatusBit()) {

	    // Check for a valid config name
	    if(DCSFEEObj->GetConfigName().BeginsWith("cf_")){

	      // Get the parameter/option of this chamber
	      TString tmpcfg;
	      GetDCSConfigParOption(DCSFEEObj->GetConfigName(), par, opt, tmpcfg);
	      // Compare with the global value
	      if(config.CompareTo(tmpcfg)){
		// Two cases mixed or changed during run
		if(iSEOR==0){
		  AliError("Mixed DCS configuration for different chambers!");
		  config="mixed";
		  return;
		} else {
		  AliError("Inconsistent configuration at start and end of run found!");
		  config = "";
		  return;
		}
	      }
	    } // End: valid config name
	  } // End: Good chamber
	} // End: Second half loop 
      } // Loop over 540 chambers
    } // Loop over SOR / EOR 
  } // End calver 2
  else {
    AliError("NO DCS/DCSv2 OCDB entry found!");
    config = "";
    return;
  }

}
//_____________________________________________________________________________
void AliTRDcalibDB::GetGlobalConfigurationVersion(TString &version)
{
  //
  // Get Version of Configuration from the DCS
  //

  const TObjArray *dcsArr = dynamic_cast<const TObjArray *>(GetCachedCDBObject(kIDDCS));
  if(!dcsArr){
    version = "";
    return;
  }

  Int_t esor   = 0; // Take SOR
  Int_t calver = 0; // Check CalDCS version
  if (!strcmp(dcsArr->At(0)->ClassName(),"AliTRDCalDCS"))   calver = 1;
  if (!strcmp(dcsArr->At(0)->ClassName(),"AliTRDCalDCSv2")) calver = 2;

  if      (calver == 1) {

    // DCS object
    const AliTRDCalDCS   *calDCS   = dynamic_cast<const AliTRDCalDCS *>(dcsArr->At(esor));
    if(!calDCS){
      version = "";
      return;
    } 
    version = calDCS->GetGlobalConfigVersion();

  } 
  else if (calver == 2) {

    // DCSv2 object
    const AliTRDCalDCSv2 *calDCSv2 = dynamic_cast<const AliTRDCalDCSv2 *>(dcsArr->At(esor));
    if(!calDCSv2){
      version = "";
      return;
    } 
    version = calDCSv2->GetGlobalConfigVersion();

  } 
  else {

    AliError("NO DCS/DCSv2 OCDB entry found!");

  }

}

//_____________________________________________________________________________
Int_t AliTRDcalibDB::GetNumberOfParsDCS(TString cname, Char_t delimiter)
{
  // Get the number of configuration parameters from the DCS config

  //AliInfo(Form("\"%s\" tokenized by \"%c\"", cname.Data(), delimiter));
  if(!cname.Length()) return -1;  // -1 for the "cf"
  Int_t nconf(0);
  for(Int_t ich(1); ich<cname.Length()-1; ich++){ if(cname[ich]==delimiter) nconf++;}
  return nconf;
}

//_____________________________________________________________________________
Int_t AliTRDcalibDB::GetNumberOfOptsDCS(TString cname, Int_t cfgType)
{
  // Get the number of options of a given configuration parameter from DCS

  Char_t cdelim = '_', // define the delimiters
         odelim = '-';
  Int_t nconfig = GetNumberOfParsDCS(cname, cdelim);

  // protect
  if ((nconfig == -1) || (nconfig < cfgType)) {
    AliError("Not enough parameters in DCS configuration name!");
    return 0;
  }

  TObjArray *carr = cname.Tokenize(cdelim);
  Int_t nopt = GetNumberOfParsDCS(((TObjString*)carr->At(cfgType))->GetString(), odelim);
  carr->Delete(); delete carr;
  return nopt;
}

//_____________________________________________________________________________
void AliTRDcalibDB::GetDCSConfigParOption(TString cname, Int_t cfgType, Int_t option, TString &cfgo)
{
  //
  // Get a configuration (see enum in header file) or the options of a configuration
  // option == 0 returns the configuration itself
  // option >  0 returns the optional parameter Nr. (option) of the configuration (cfgType)
  //

  Char_t cdelim = '_', // define the delimiters
         odelim = '-';

  Int_t nconfig = GetNumberOfParsDCS(cname, cdelim);
  // protect
  if (nconfig == -1) {
    AliError("DCS configuration name empty!");
    cfgo = "";
    return;
  } else if (nconfig < cfgType) {
    AliError(Form("Not enough parameters in DCS configuration name!"
		  " Name %s",cname.Data()));
    cfgo = "";
    return;
  }

  TObjArray *carr = cname.Tokenize(cdelim);
  TString cfgString(((TObjString*)carr->At(cfgType))->GetString());
  Int_t noptions = GetNumberOfParsDCS(cfgString, odelim);
  // protect
  if (noptions < option) {
    AliError(Form("Not enough options in DCS configuration name!"
		  " Name %s",cname.Data()));
    cfgo = "";
    carr->Delete(); delete carr;
    return;
  }
  TObjArray *oarr = cfgString.Tokenize(odelim);
  cfgo = ((TObjString*)oarr->At(option))->GetString();
  carr->Delete(); delete carr;
  oarr->Delete(); delete oarr;
  return;

}

//_____________________________________________________________________________
Bool_t AliTRDcalibDB::HasOnlineFilterPedestal()
{
  //
  // Checks whether pedestal filter was applied online
  //

  TString filterconfig;
  GetFilterType(filterconfig);

  return filterconfig.Contains("p");

}

//_____________________________________________________________________________
Bool_t AliTRDcalibDB::HasOnlineFilterGain()
{
  //
  // Checks whether online gain filter was applied
  //

  TString filterconfig;
  GetFilterType(filterconfig);

  return filterconfig.Contains("g");

}

//_____________________________________________________________________________
Bool_t AliTRDcalibDB::HasOnlineTailCancellation()
{
  //
  // Checks whether online tail cancellation was applied
  //

  TString filterconfig;
  GetFilterType(filterconfig);

  return filterconfig.Contains("t");

}

//_____________________________________________________________________________
Char_t AliTRDcalibDB::GetPadStatus(Int_t det, Int_t col, Int_t row)
{
  //
  // Returns the status of the given pad
  //

  const AliTRDCalPadStatus *cal  = dynamic_cast<const AliTRDCalPadStatus *> 
                                   (GetCachedCDBObject(kIDPadStatus));
  if (!cal) {
    return -1;
  }

  const AliTRDCalSingleChamberStatus *roc = cal->GetCalROC(det);
  if (!roc) {
    return -1;
  }

  return roc->GetStatus(col,row);

}

//_____________________________________________________________________________
AliTRDCalSingleChamberStatus* AliTRDcalibDB::GetPadStatusROC(Int_t det)
{
  //
  // Returns the pad status calibration object for a given ROC
  //

  const AliTRDCalPadStatus *cal  = dynamic_cast<const AliTRDCalPadStatus *> 
                                   (GetCachedCDBObject(kIDPadStatus));
  if (!cal) {
    return 0;
  }

  AliTRDCalSingleChamberStatus *roc = cal->GetCalROC(det);
  if (!roc) {
    return 0;
  }
  else {
    return roc;
  }

}

//_____________________________________________________________________________
Char_t AliTRDcalibDB::GetChamberStatus(Int_t det)
{
  //
  // Returns the status of the given chamber
  //

  const AliTRDCalChamberStatus *cal = dynamic_cast<const AliTRDCalChamberStatus *> 
                                      (GetCachedCDBObject(kIDChamberStatus));
  if (!cal) {
    return -1;
  }

  return cal->GetStatus(det);

}

//_____________________________________________________________________________
AliTRDrecoParam* AliTRDcalibDB::GetRecoParam(Int_t */*eventtype*/)
{
  //
  // Returns the TRD reconstruction parameters from the OCDB
  //

  const TClonesArray *recos = dynamic_cast<const TClonesArray*>(GetCachedCDBObject(kIDRecoParam));
  if (!recos) return 0x0;

  // calculate entry based on event type info
  Int_t n = 0; //f(eventtype[0], eventtype[1], ....)

  return (AliTRDrecoParam *) recos->UncheckedAt(n);

}

//_____________________________________________________________________________
Bool_t AliTRDcalibDB::IsPadMasked(Int_t det, Int_t col, Int_t row)
{
  //
  // Returns status, see name of functions for details ;-)
  //

  const AliTRDCalPadStatus         *cal = dynamic_cast<const AliTRDCalPadStatus *> 
                                          (GetCachedCDBObject(kIDPadStatus));
  if (!cal) {
    return -1;
  }

  return cal->IsMasked(det,col,row);

}

//_____________________________________________________________________________
Bool_t AliTRDcalibDB::IsPadBridgedLeft(Int_t det, Int_t col, Int_t row)
{
  //
  // Returns status, see name of functions for details ;-)
  //

  const AliTRDCalPadStatus         *cal = dynamic_cast<const AliTRDCalPadStatus *> 
                                          (GetCachedCDBObject(kIDPadStatus));
  if (!cal) {
    return -1;
  }

  return cal->IsBridgedLeft(det,col,row);

}

//_____________________________________________________________________________
Bool_t AliTRDcalibDB::IsPadBridgedRight(Int_t det, Int_t col, Int_t row)
{
  //
  // Returns status, see name of functions for details ;-)
  //

  const AliTRDCalPadStatus         * cal = dynamic_cast<const AliTRDCalPadStatus *> 
                                           (GetCachedCDBObject(kIDPadStatus));
  if (!cal) {
    return -1;
  }

  return cal->IsBridgedRight(det,col,row);

}

//_____________________________________________________________________________
Bool_t AliTRDcalibDB::IsPadNotConnected(Int_t det, Int_t col, Int_t row)
{
  //
  // Returns status, see name of functions for details ;-)
  //

  const AliTRDCalPadStatus         * cal = dynamic_cast<const AliTRDCalPadStatus *> 
                                           (GetCachedCDBObject(kIDPadStatus));
  if (!cal) {
    return -1;
  }

  return cal->IsNotConnected(det,col,row);

}

//_____________________________________________________________________________
Bool_t AliTRDcalibDB::IsChamberGood(Int_t det)
{
  //
  // Returns status, see name of functions for details ;-)
  //

  const AliTRDCalChamberStatus     * cal = dynamic_cast<const AliTRDCalChamberStatus *> 
                                           (GetCachedCDBObject(kIDChamberStatus));
  if (!cal) {
    return -1;
  }

  return cal->IsGood(det);

}

//_____________________________________________________________________________
Bool_t AliTRDcalibDB::IsChamberNoData(Int_t det)
{
  //
  // Returns status, see name of functions for details ;-)
  //

  const AliTRDCalChamberStatus     * cal = dynamic_cast<const AliTRDCalChamberStatus *> 
                                           (GetCachedCDBObject(kIDChamberStatus));
  if (!cal) {
    return -1;
  }

  return cal->IsNoData(det);

}

//_____________________________________________________________________________
Bool_t AliTRDcalibDB::IsHalfChamberNoData(Int_t det, Int_t side)
{
  //
  // Returns status, see name of functions for details ;-)
  //

  const AliTRDCalChamberStatus     * cal = dynamic_cast<const AliTRDCalChamberStatus *> 
                                           (GetCachedCDBObject(kIDChamberStatus));
  if (!cal) {
    return -1;
  }

  return side > 0 ? cal->IsNoDataSideB(det) : cal->IsNoDataSideA(det);

}

//_____________________________________________________________________________
Bool_t AliTRDcalibDB::IsChamberBadCalibrated(Int_t det)
{
  //
  // Returns status, see name of functions for details ;-)
  //

  const AliTRDCalChamberStatus     * cal = dynamic_cast<const AliTRDCalChamberStatus *> 
                                           (GetCachedCDBObject(kIDChamberStatus));
  if (!cal) {
    return -1;
  }

  return cal->IsBadCalibrated(det);

}

//_____________________________________________________________________________
Bool_t AliTRDcalibDB::IsChamberNotCalibrated(Int_t det)
{
  //
  // Returns status, see name of functions for details ;-)
  //

  const AliTRDCalChamberStatus     * cal = dynamic_cast<const AliTRDCalChamberStatus *> 
                                           (GetCachedCDBObject(kIDChamberStatus));
  if (!cal) {
    return -1;
  }

  return cal->IsNotCalibrated(det);

}

//_____________________________________________________________________________
const AliTRDCalPID *AliTRDcalibDB::GetPIDObject(AliTRDpidUtil::ETRDPIDMethod method)
{
  //
  // Returns the object storing the distributions for PID with likelihood
  //

  switch(method) {
  case AliTRDpidUtil::kLQ: 
    return dynamic_cast<const AliTRDCalPID *>(GetCachedCDBObject(kIDPIDLQ));
  case AliTRDpidUtil::kNN: 
    return dynamic_cast<const AliTRDCalPID *>(GetCachedCDBObject(kIDPIDNN));
  case AliTRDpidUtil::kESD:
    return 0x0; // To avoid compiler warnings 
  }

  return 0x0;

}

//_____________________________________________________________________________
AliTRDPIDResponse *AliTRDcalibDB::GetPIDResponse(AliTRDPIDResponse::ETRDPIDMethod /*method*/)
{
  //
  // Returns the PID response object for 1D-LQ
  //

  if (!fPIDResponse) {
    AliDebug(2, "Setting new PID response.");

    fPIDResponse = new AliTRDPIDResponse;

    // Load Reference Histos from OCDB
//    if(method == AliTRDPIDResponse::kLQ1D){
    //fPIDResponse->SetPIDmethod(AliTRDPIDResponse::kLQ1D);
    const TObjArray *references = dynamic_cast<const TObjArray *>(GetCachedCDBObject(kIDPIDLQ1D));

    TIter refs(references);
    TObject *obj = NULL;
    AliTRDPIDReference *ref = NULL;
    Bool_t hasReference = kFALSE;
    while ((obj = refs())){
      if ((ref = dynamic_cast<AliTRDPIDReference *>(obj))){
        AliDebug(2, "Setting new PID response object.");
        TDirectory *bkpdir = gDirectory;
        gROOT->cd();
        AliTRDPIDResponseObject *ro = new AliTRDPIDResponseObject;
        ro->SetPIDReference(ref);
        fPIDResponse->SetPIDResponseObject(ro);
        hasReference = kTRUE;
        gDirectory = bkpdir;
        break;
      }
    }

    if (!hasReference) {
      AliError("Reference histograms not found in the OCDB");
    }
  }

//  }

  return fPIDResponse;

}

//_____________________________________________________________________________
const AliTRDCalTrkAttach* AliTRDcalibDB::GetAttachObject()
{
  //
  // Returns the object storing likelihood distributions for cluster to track attachment
  //

  return dynamic_cast<const AliTRDCalTrkAttach*>(GetCachedCDBObject(kIDAttach));

}

//_____________________________________________________________________________
const AliTRDCalMonitoring *AliTRDcalibDB::GetMonitoringObject()
{
  //
  // Returns the object storing the monitoring data
  //

  return dynamic_cast<const AliTRDCalMonitoring *> 
         (GetCachedCDBObject(kIDMonitoringData));
   
}

//_____________________________________________________________________________
void AliTRDcalibDB::SamplePRF()
{
  //
  // Samples the pad response function (should maybe go somewhere else ...)
  //

  const Int_t kPRFbin = 61;

  Float_t prf[kNlayer][kPRFbin] = { 
                   {2.9037e-02, 3.3608e-02, 3.9020e-02, 4.5292e-02,
                    5.2694e-02, 6.1362e-02, 7.1461e-02, 8.3362e-02,
                    9.7063e-02, 1.1307e-01, 1.3140e-01, 1.5235e-01,
                    1.7623e-01, 2.0290e-01, 2.3294e-01, 2.6586e-01,
                    3.0177e-01, 3.4028e-01, 3.8077e-01, 4.2267e-01,
                    4.6493e-01, 5.0657e-01, 5.4655e-01, 5.8397e-01,
                    6.1767e-01, 6.4744e-01, 6.7212e-01, 6.9188e-01,
                    7.0627e-01, 7.1499e-01, 7.1851e-01, 7.1499e-01,
                    7.0627e-01, 6.9188e-01, 6.7212e-01, 6.4744e-01,
                    6.1767e-01, 5.8397e-01, 5.4655e-01, 5.0657e-01,
                    4.6493e-01, 4.2267e-01, 3.8077e-01, 3.4028e-01,
                    3.0177e-01, 2.6586e-01, 2.3294e-01, 2.0290e-01,
                    1.7623e-01, 1.5235e-01, 1.3140e-01, 1.1307e-01,
                    9.7063e-02, 8.3362e-02, 7.1461e-02, 6.1362e-02,
                    5.2694e-02, 4.5292e-02, 3.9020e-02, 3.3608e-02,
                    2.9037e-02},
                   {2.5478e-02, 2.9695e-02, 3.4655e-02, 4.0454e-02,
                    4.7342e-02, 5.5487e-02, 6.5038e-02, 7.6378e-02,
                    8.9696e-02, 1.0516e-01, 1.2327e-01, 1.4415e-01,
                    1.6794e-01, 1.9516e-01, 2.2573e-01, 2.5959e-01,
                    2.9694e-01, 3.3719e-01, 3.7978e-01, 4.2407e-01,
                    4.6889e-01, 5.1322e-01, 5.5569e-01, 5.9535e-01,
                    6.3141e-01, 6.6259e-01, 6.8882e-01, 7.0983e-01,
                    7.2471e-01, 7.3398e-01, 7.3761e-01, 7.3398e-01,
                    7.2471e-01, 7.0983e-01, 6.8882e-01, 6.6259e-01,
                    6.3141e-01, 5.9535e-01, 5.5569e-01, 5.1322e-01,
                    4.6889e-01, 4.2407e-01, 3.7978e-01, 3.3719e-01,
                    2.9694e-01, 2.5959e-01, 2.2573e-01, 1.9516e-01,
                    1.6794e-01, 1.4415e-01, 1.2327e-01, 1.0516e-01,
                    8.9696e-02, 7.6378e-02, 6.5038e-02, 5.5487e-02,
                    4.7342e-02, 4.0454e-02, 3.4655e-02, 2.9695e-02,
                    2.5478e-02},
                   {2.2363e-02, 2.6233e-02, 3.0782e-02, 3.6140e-02,
                    4.2535e-02, 5.0157e-02, 5.9197e-02, 6.9900e-02,
                    8.2707e-02, 9.7811e-02, 1.1548e-01, 1.3601e-01,
                    1.5998e-01, 1.8739e-01, 2.1840e-01, 2.5318e-01,
                    2.9182e-01, 3.3373e-01, 3.7837e-01, 4.2498e-01,
                    4.7235e-01, 5.1918e-01, 5.6426e-01, 6.0621e-01,
                    6.4399e-01, 6.7700e-01, 7.0472e-01, 7.2637e-01,
                    7.4206e-01, 7.5179e-01, 7.5551e-01, 7.5179e-01,
                    7.4206e-01, 7.2637e-01, 7.0472e-01, 6.7700e-01,
                    6.4399e-01, 6.0621e-01, 5.6426e-01, 5.1918e-01,
                    4.7235e-01, 4.2498e-01, 3.7837e-01, 3.3373e-01,
                    2.9182e-01, 2.5318e-01, 2.1840e-01, 1.8739e-01,
                    1.5998e-01, 1.3601e-01, 1.1548e-01, 9.7811e-02,
                    8.2707e-02, 6.9900e-02, 5.9197e-02, 5.0157e-02,
                    4.2535e-02, 3.6140e-02, 3.0782e-02, 2.6233e-02,
                    2.2363e-02},
                   {1.9635e-02, 2.3167e-02, 2.7343e-02, 3.2293e-02,
                    3.8224e-02, 4.5335e-02, 5.3849e-02, 6.4039e-02,
                    7.6210e-02, 9.0739e-02, 1.0805e-01, 1.2841e-01,
                    1.5216e-01, 1.7960e-01, 2.1099e-01, 2.4671e-01,
                    2.8647e-01, 3.2996e-01, 3.7660e-01, 4.2547e-01,
                    4.7536e-01, 5.2473e-01, 5.7215e-01, 6.1632e-01,
                    6.5616e-01, 6.9075e-01, 7.1939e-01, 7.4199e-01,
                    7.5838e-01, 7.6848e-01, 7.7227e-01, 7.6848e-01,
                    7.5838e-01, 7.4199e-01, 7.1939e-01, 6.9075e-01,
                    6.5616e-01, 6.1632e-01, 5.7215e-01, 5.2473e-01,
                    4.7536e-01, 4.2547e-01, 3.7660e-01, 3.2996e-01,
                    2.8647e-01, 2.4671e-01, 2.1099e-01, 1.7960e-01,
                    1.5216e-01, 1.2841e-01, 1.0805e-01, 9.0739e-02,
                    7.6210e-02, 6.4039e-02, 5.3849e-02, 4.5335e-02,
                    3.8224e-02, 3.2293e-02, 2.7343e-02, 2.3167e-02,
                    1.9635e-02},
                   {1.7224e-02, 2.0450e-02, 2.4286e-02, 2.8860e-02,
                    3.4357e-02, 4.0979e-02, 4.8966e-02, 5.8612e-02,
                    7.0253e-02, 8.4257e-02, 1.0102e-01, 1.2094e-01,
                    1.4442e-01, 1.7196e-01, 2.0381e-01, 2.4013e-01,
                    2.8093e-01, 3.2594e-01, 3.7450e-01, 4.2563e-01,
                    4.7796e-01, 5.2991e-01, 5.7974e-01, 6.2599e-01,
                    6.6750e-01, 7.0344e-01, 7.3329e-01, 7.5676e-01,
                    7.7371e-01, 7.8410e-01, 7.8793e-01, 7.8410e-01,
                    7.7371e-01, 7.5676e-01, 7.3329e-01, 7.0344e-01,
                    6.6750e-01, 6.2599e-01, 5.7974e-01, 5.2991e-01,
                    4.7796e-01, 4.2563e-01, 3.7450e-01, 3.2594e-01,
                    2.8093e-01, 2.4013e-01, 2.0381e-01, 1.7196e-01,
                    1.4442e-01, 1.2094e-01, 1.0102e-01, 8.4257e-02,
                    7.0253e-02, 5.8612e-02, 4.8966e-02, 4.0979e-02,
                    3.4357e-02, 2.8860e-02, 2.4286e-02, 2.0450e-02,
                    1.7224e-02},
                   {1.5096e-02, 1.8041e-02, 2.1566e-02, 2.5793e-02,
                    3.0886e-02, 3.7044e-02, 4.4515e-02, 5.3604e-02,
                    6.4668e-02, 7.8109e-02, 9.4364e-02, 1.1389e-01,
                    1.3716e-01, 1.6461e-01, 1.9663e-01, 2.3350e-01,
                    2.7527e-01, 3.2170e-01, 3.7214e-01, 4.2549e-01,
                    4.8024e-01, 5.3460e-01, 5.8677e-01, 6.3512e-01,
                    6.7838e-01, 7.1569e-01, 7.4655e-01, 7.7071e-01,
                    7.8810e-01, 7.9871e-01, 8.0255e-01, 7.9871e-01,
                    7.8810e-01, 7.7071e-01, 7.4655e-01, 7.1569e-01,
                    6.7838e-01, 6.3512e-01, 5.8677e-01, 5.3460e-01,
                    4.8024e-01, 4.2549e-01, 3.7214e-01, 3.2170e-01,
                    2.7527e-01, 2.3350e-01, 1.9663e-01, 1.6461e-01,
                    1.3716e-01, 1.1389e-01, 9.4364e-02, 7.8109e-02,
                    6.4668e-02, 5.3604e-02, 4.4515e-02, 3.7044e-02,
                    3.0886e-02, 2.5793e-02, 2.1566e-02, 1.8041e-02,
                    1.5096e-02}};

  // More sampling precision with linear interpolation
  fPRFlo  = -1.5;
  fPRFhi  =  1.5;
  Float_t pad[kPRFbin];
  Int_t   sPRFbin = kPRFbin;  
  Float_t sPRFwid = (fPRFhi - fPRFlo) / ((Float_t) sPRFbin);
  for (Int_t iPad = 0; iPad < sPRFbin; iPad++) {
    pad[iPad] = ((Float_t) iPad + 0.5) * sPRFwid + fPRFlo;
  }
  fPRFbin = 500;  
  fPRFwid = (fPRFhi - fPRFlo) / ((Float_t) fPRFbin);
  fPRFpad = ((Int_t) (1.0 / fPRFwid));

  if (fPRFsmp) delete [] fPRFsmp;
  fPRFsmp = new Float_t[kNlayer*fPRFbin];

  Int_t   ipos1;
  Int_t   ipos2;
  Float_t diff;

  for (Int_t iLayer = 0; iLayer < kNlayer; iLayer++) {

    for (Int_t iBin = 0; iBin < fPRFbin; iBin++) {

      Float_t bin = (((Float_t) iBin) + 0.5) * fPRFwid + fPRFlo;
      ipos1 = ipos2 = 0;
      diff  = 0;
      do {
        diff = bin - pad[ipos2++];
      } while ((diff > 0) && (ipos2 < kPRFbin));
      if      (ipos2 == kPRFbin) {
        fPRFsmp[iLayer*fPRFbin+iBin] = prf[iLayer][ipos2-1];
      }
      else if (ipos2 == 1) {
        fPRFsmp[iLayer*fPRFbin+iBin] = prf[iLayer][ipos2-1];
      }
      else {
        ipos2--;
        if (ipos2 >= kPRFbin) ipos2 = kPRFbin - 1;
        ipos1 = ipos2 - 1;
        fPRFsmp[iLayer*fPRFbin+iBin] = prf[iLayer][ipos2] 
                                     + diff * (prf[iLayer][ipos2] - prf[iLayer][ipos1]) 
                                     / sPRFwid;
      }

    }
  } 

}

//_____________________________________________________________________________
Int_t AliTRDcalibDB::PadResponse(Double_t signal, Double_t dist
                               , Int_t layer, Double_t *pad) const
{
  //
  // Applies the pad response
  // So far this is the fixed parametrization and should be replaced by
  // something dependent on calibration values
  //

  Int_t iBin  = ((Int_t) ((-dist - fPRFlo) / fPRFwid));
  Int_t iOff  = layer * fPRFbin;

  Int_t iBin0 = iBin - fPRFpad + iOff;
  Int_t iBin1 = iBin           + iOff;
  Int_t iBin2 = iBin + fPRFpad + iOff;

  pad[0] = 0.0;
  pad[1] = 0.0;
  pad[2] = 0.0;
  if ((iBin1 >= 0) && (iBin1 < (fPRFbin*kNlayer))) {

    if (iBin0 >= 0) {
      pad[0] = signal * fPRFsmp[iBin0];
    }
    pad[1] = signal * fPRFsmp[iBin1];
    if (iBin2 < (fPRFbin*kNlayer)) {
      pad[2] = signal * fPRFsmp[iBin2];
    }

    return 1;

  }
  else {

    return 0;

  }

}


AliTRDtrapConfig* AliTRDcalibDB::GetTrapConfig()
{
  // return an existing TRAPconfig or load it from the OCDB
  // in case of failure, a default TRAPconfig is created

  if (fTrapConfig)
    return fTrapConfig;
  else {
    if ((fTrapConfigName.Length() <= 0) || (fTrapConfigVersion.Length() <= 0)) {
      // query the configuration to be used
      this->GetGlobalConfiguration(fTrapConfigName);
      this->GetGlobalConfigurationVersion(fTrapConfigVersion);
    }

    // try to load the requested configuration
    this->LoadTrapConfig(fTrapConfigName, fTrapConfigVersion);

    // if we still don't have a valid TRAPconfig, create a default one
    if (!fTrapConfig) {
      AliWarning("Falling back to default configuration");
      static AliTRDtrapConfig trapConfigDefault("default", "default TRAP configuration");
      fTrapConfig = &trapConfigDefault;
      AliTRDtrapConfigHandler cfgHandler(fTrapConfig);
      cfgHandler.Init();
      cfgHandler.LoadConfig();
    }

    AliInfo(Form("using TRAPconfig \"%s\"", fTrapConfig->GetTitle()));

    // we still have to load the gain tables
    // if the gain filter is active
    if (HasOnlineFilterGain()) {
      const Int_t nDets = AliTRDgeometry::Ndet();
      const Int_t nMcms = AliTRDgeometry::MCMmax();
      const Int_t nChs  = AliTRDgeometry::ADCmax();

      // gain factors are per MCM
      // allocate the registers accordingly
      for (Int_t ch = 0; ch < nChs; ++ch) {
      	AliTRDtrapConfig::TrapReg_t regFGAN = (AliTRDtrapConfig::TrapReg_t) (AliTRDtrapConfig::kFGA0 + ch);
      	AliTRDtrapConfig::TrapReg_t regFGFN = (AliTRDtrapConfig::TrapReg_t) (AliTRDtrapConfig::kFGF0 + ch);
      	fTrapConfig->SetTrapRegAlloc(regFGAN, AliTRDtrapConfig::kAllocByMCM);
      	fTrapConfig->SetTrapRegAlloc(regFGFN, AliTRDtrapConfig::kAllocByMCM);
      }

      for (Int_t iDet = 0; iDet < nDets; ++iDet) {
      	AliTRDCalOnlineGainTableROC *gainTbl = GetOnlineGainTableROC(iDet);
      	if (gainTbl) {
	  const Int_t nRobs = AliTRDgeometry::GetStack(iDet) == 2 ?
	    AliTRDgeometry::ROBmaxC0() : AliTRDgeometry::ROBmaxC1();
      	  for (Int_t rob = 0; rob < nRobs; ++rob) {
	    for (Int_t mcm = 0; mcm < nMcms; ++mcm) {
	      AliTRDCalOnlineGainTableMCM *gainTblMCM = gainTbl->GetGainTableMCM(rob, mcm);

	      // set ADC reference voltage
	      fTrapConfig->SetTrapReg(AliTRDtrapConfig::kADCDAC, gainTblMCM->GetAdcdac(), iDet, rob, mcm);

	      // set constants channel-wise
	      for (Int_t ch = 0; ch < nChs; ++ch) {
		AliTRDtrapConfig::TrapReg_t regFGAN = (AliTRDtrapConfig::TrapReg_t) (AliTRDtrapConfig::kFGA0 + ch);
		AliTRDtrapConfig::TrapReg_t regFGFN = (AliTRDtrapConfig::TrapReg_t) (AliTRDtrapConfig::kFGF0 + ch);
		fTrapConfig->SetTrapReg(regFGAN, gainTblMCM->GetFGAN(ch), iDet, rob, mcm);
		fTrapConfig->SetTrapReg(regFGFN, gainTblMCM->GetFGFN(ch), iDet, rob, mcm);
	      }
      	    }
      	  }
      	}
      }
    }

    return fTrapConfig;
  }
}


AliTRDtrapConfig* AliTRDcalibDB::LoadTrapConfig(const TString &name, const TString &version)
{
  // try to load the specified configuration from the OCDB
  // if it fails, or it does not exist, return null

  AliInfo(Form("looking for TRAPconfig \"%s.%s\"", name.Data(), version.Data()));

  const AliTRDCalTrapConfig *caltrap = dynamic_cast<const AliTRDCalTrapConfig*> (GetCachedCDBObject(kIDTrapConfig));

  if (caltrap) {
    TString configName(name);
    configName.Append(".");
    configName.Append(version);
    fTrapConfig = caltrap->Get(configName);
  }
  else {
    fTrapConfig = 0x0;
    AliError("No TRAPconfig entry found!");
  }

  return fTrapConfig;
}
 AliTRDcalibDB.cxx:1
 AliTRDcalibDB.cxx:2
 AliTRDcalibDB.cxx:3
 AliTRDcalibDB.cxx:4
 AliTRDcalibDB.cxx:5
 AliTRDcalibDB.cxx:6
 AliTRDcalibDB.cxx:7
 AliTRDcalibDB.cxx:8
 AliTRDcalibDB.cxx:9
 AliTRDcalibDB.cxx:10
 AliTRDcalibDB.cxx:11
 AliTRDcalibDB.cxx:12
 AliTRDcalibDB.cxx:13
 AliTRDcalibDB.cxx:14
 AliTRDcalibDB.cxx:15
 AliTRDcalibDB.cxx:16
 AliTRDcalibDB.cxx:17
 AliTRDcalibDB.cxx:18
 AliTRDcalibDB.cxx:19
 AliTRDcalibDB.cxx:20
 AliTRDcalibDB.cxx:21
 AliTRDcalibDB.cxx:22
 AliTRDcalibDB.cxx:23
 AliTRDcalibDB.cxx:24
 AliTRDcalibDB.cxx:25
 AliTRDcalibDB.cxx:26
 AliTRDcalibDB.cxx:27
 AliTRDcalibDB.cxx:28
 AliTRDcalibDB.cxx:29
 AliTRDcalibDB.cxx:30
 AliTRDcalibDB.cxx:31
 AliTRDcalibDB.cxx:32
 AliTRDcalibDB.cxx:33
 AliTRDcalibDB.cxx:34
 AliTRDcalibDB.cxx:35
 AliTRDcalibDB.cxx:36
 AliTRDcalibDB.cxx:37
 AliTRDcalibDB.cxx:38
 AliTRDcalibDB.cxx:39
 AliTRDcalibDB.cxx:40
 AliTRDcalibDB.cxx:41
 AliTRDcalibDB.cxx:42
 AliTRDcalibDB.cxx:43
 AliTRDcalibDB.cxx:44
 AliTRDcalibDB.cxx:45
 AliTRDcalibDB.cxx:46
 AliTRDcalibDB.cxx:47
 AliTRDcalibDB.cxx:48
 AliTRDcalibDB.cxx:49
 AliTRDcalibDB.cxx:50
 AliTRDcalibDB.cxx:51
 AliTRDcalibDB.cxx:52
 AliTRDcalibDB.cxx:53
 AliTRDcalibDB.cxx:54
 AliTRDcalibDB.cxx:55
 AliTRDcalibDB.cxx:56
 AliTRDcalibDB.cxx:57
 AliTRDcalibDB.cxx:58
 AliTRDcalibDB.cxx:59
 AliTRDcalibDB.cxx:60
 AliTRDcalibDB.cxx:61
 AliTRDcalibDB.cxx:62
 AliTRDcalibDB.cxx:63
 AliTRDcalibDB.cxx:64
 AliTRDcalibDB.cxx:65
 AliTRDcalibDB.cxx:66
 AliTRDcalibDB.cxx:67
 AliTRDcalibDB.cxx:68
 AliTRDcalibDB.cxx:69
 AliTRDcalibDB.cxx:70
 AliTRDcalibDB.cxx:71
 AliTRDcalibDB.cxx:72
 AliTRDcalibDB.cxx:73
 AliTRDcalibDB.cxx:74
 AliTRDcalibDB.cxx:75
 AliTRDcalibDB.cxx:76
 AliTRDcalibDB.cxx:77
 AliTRDcalibDB.cxx:78
 AliTRDcalibDB.cxx:79
 AliTRDcalibDB.cxx:80
 AliTRDcalibDB.cxx:81
 AliTRDcalibDB.cxx:82
 AliTRDcalibDB.cxx:83
 AliTRDcalibDB.cxx:84
 AliTRDcalibDB.cxx:85
 AliTRDcalibDB.cxx:86
 AliTRDcalibDB.cxx:87
 AliTRDcalibDB.cxx:88
 AliTRDcalibDB.cxx:89
 AliTRDcalibDB.cxx:90
 AliTRDcalibDB.cxx:91
 AliTRDcalibDB.cxx:92
 AliTRDcalibDB.cxx:93
 AliTRDcalibDB.cxx:94
 AliTRDcalibDB.cxx:95
 AliTRDcalibDB.cxx:96
 AliTRDcalibDB.cxx:97
 AliTRDcalibDB.cxx:98
 AliTRDcalibDB.cxx:99
 AliTRDcalibDB.cxx:100
 AliTRDcalibDB.cxx:101
 AliTRDcalibDB.cxx:102
 AliTRDcalibDB.cxx:103
 AliTRDcalibDB.cxx:104
 AliTRDcalibDB.cxx:105
 AliTRDcalibDB.cxx:106
 AliTRDcalibDB.cxx:107
 AliTRDcalibDB.cxx:108
 AliTRDcalibDB.cxx:109
 AliTRDcalibDB.cxx:110
 AliTRDcalibDB.cxx:111
 AliTRDcalibDB.cxx:112
 AliTRDcalibDB.cxx:113
 AliTRDcalibDB.cxx:114
 AliTRDcalibDB.cxx:115
 AliTRDcalibDB.cxx:116
 AliTRDcalibDB.cxx:117
 AliTRDcalibDB.cxx:118
 AliTRDcalibDB.cxx:119
 AliTRDcalibDB.cxx:120
 AliTRDcalibDB.cxx:121
 AliTRDcalibDB.cxx:122
 AliTRDcalibDB.cxx:123
 AliTRDcalibDB.cxx:124
 AliTRDcalibDB.cxx:125
 AliTRDcalibDB.cxx:126
 AliTRDcalibDB.cxx:127
 AliTRDcalibDB.cxx:128
 AliTRDcalibDB.cxx:129
 AliTRDcalibDB.cxx:130
 AliTRDcalibDB.cxx:131
 AliTRDcalibDB.cxx:132
 AliTRDcalibDB.cxx:133
 AliTRDcalibDB.cxx:134
 AliTRDcalibDB.cxx:135
 AliTRDcalibDB.cxx:136
 AliTRDcalibDB.cxx:137
 AliTRDcalibDB.cxx:138
 AliTRDcalibDB.cxx:139
 AliTRDcalibDB.cxx:140
 AliTRDcalibDB.cxx:141
 AliTRDcalibDB.cxx:142
 AliTRDcalibDB.cxx:143
 AliTRDcalibDB.cxx:144
 AliTRDcalibDB.cxx:145
 AliTRDcalibDB.cxx:146
 AliTRDcalibDB.cxx:147
 AliTRDcalibDB.cxx:148
 AliTRDcalibDB.cxx:149
 AliTRDcalibDB.cxx:150
 AliTRDcalibDB.cxx:151
 AliTRDcalibDB.cxx:152
 AliTRDcalibDB.cxx:153
 AliTRDcalibDB.cxx:154
 AliTRDcalibDB.cxx:155
 AliTRDcalibDB.cxx:156
 AliTRDcalibDB.cxx:157
 AliTRDcalibDB.cxx:158
 AliTRDcalibDB.cxx:159
 AliTRDcalibDB.cxx:160
 AliTRDcalibDB.cxx:161
 AliTRDcalibDB.cxx:162
 AliTRDcalibDB.cxx:163
 AliTRDcalibDB.cxx:164
 AliTRDcalibDB.cxx:165
 AliTRDcalibDB.cxx:166
 AliTRDcalibDB.cxx:167
 AliTRDcalibDB.cxx:168
 AliTRDcalibDB.cxx:169
 AliTRDcalibDB.cxx:170
 AliTRDcalibDB.cxx:171
 AliTRDcalibDB.cxx:172
 AliTRDcalibDB.cxx:173
 AliTRDcalibDB.cxx:174
 AliTRDcalibDB.cxx:175
 AliTRDcalibDB.cxx:176
 AliTRDcalibDB.cxx:177
 AliTRDcalibDB.cxx:178
 AliTRDcalibDB.cxx:179
 AliTRDcalibDB.cxx:180
 AliTRDcalibDB.cxx:181
 AliTRDcalibDB.cxx:182
 AliTRDcalibDB.cxx:183
 AliTRDcalibDB.cxx:184
 AliTRDcalibDB.cxx:185
 AliTRDcalibDB.cxx:186
 AliTRDcalibDB.cxx:187
 AliTRDcalibDB.cxx:188
 AliTRDcalibDB.cxx:189
 AliTRDcalibDB.cxx:190
 AliTRDcalibDB.cxx:191
 AliTRDcalibDB.cxx:192
 AliTRDcalibDB.cxx:193
 AliTRDcalibDB.cxx:194
 AliTRDcalibDB.cxx:195
 AliTRDcalibDB.cxx:196
 AliTRDcalibDB.cxx:197
 AliTRDcalibDB.cxx:198
 AliTRDcalibDB.cxx:199
 AliTRDcalibDB.cxx:200
 AliTRDcalibDB.cxx:201
 AliTRDcalibDB.cxx:202
 AliTRDcalibDB.cxx:203
 AliTRDcalibDB.cxx:204
 AliTRDcalibDB.cxx:205
 AliTRDcalibDB.cxx:206
 AliTRDcalibDB.cxx:207
 AliTRDcalibDB.cxx:208
 AliTRDcalibDB.cxx:209
 AliTRDcalibDB.cxx:210
 AliTRDcalibDB.cxx:211
 AliTRDcalibDB.cxx:212
 AliTRDcalibDB.cxx:213
 AliTRDcalibDB.cxx:214
 AliTRDcalibDB.cxx:215
 AliTRDcalibDB.cxx:216
 AliTRDcalibDB.cxx:217
 AliTRDcalibDB.cxx:218
 AliTRDcalibDB.cxx:219
 AliTRDcalibDB.cxx:220
 AliTRDcalibDB.cxx:221
 AliTRDcalibDB.cxx:222
 AliTRDcalibDB.cxx:223
 AliTRDcalibDB.cxx:224
 AliTRDcalibDB.cxx:225
 AliTRDcalibDB.cxx:226
 AliTRDcalibDB.cxx:227
 AliTRDcalibDB.cxx:228
 AliTRDcalibDB.cxx:229
 AliTRDcalibDB.cxx:230
 AliTRDcalibDB.cxx:231
 AliTRDcalibDB.cxx:232
 AliTRDcalibDB.cxx:233
 AliTRDcalibDB.cxx:234
 AliTRDcalibDB.cxx:235
 AliTRDcalibDB.cxx:236
 AliTRDcalibDB.cxx:237
 AliTRDcalibDB.cxx:238
 AliTRDcalibDB.cxx:239
 AliTRDcalibDB.cxx:240
 AliTRDcalibDB.cxx:241
 AliTRDcalibDB.cxx:242
 AliTRDcalibDB.cxx:243
 AliTRDcalibDB.cxx:244
 AliTRDcalibDB.cxx:245
 AliTRDcalibDB.cxx:246
 AliTRDcalibDB.cxx:247
 AliTRDcalibDB.cxx:248
 AliTRDcalibDB.cxx:249
 AliTRDcalibDB.cxx:250
 AliTRDcalibDB.cxx:251
 AliTRDcalibDB.cxx:252
 AliTRDcalibDB.cxx:253
 AliTRDcalibDB.cxx:254
 AliTRDcalibDB.cxx:255
 AliTRDcalibDB.cxx:256
 AliTRDcalibDB.cxx:257
 AliTRDcalibDB.cxx:258
 AliTRDcalibDB.cxx:259
 AliTRDcalibDB.cxx:260
 AliTRDcalibDB.cxx:261
 AliTRDcalibDB.cxx:262
 AliTRDcalibDB.cxx:263
 AliTRDcalibDB.cxx:264
 AliTRDcalibDB.cxx:265
 AliTRDcalibDB.cxx:266
 AliTRDcalibDB.cxx:267
 AliTRDcalibDB.cxx:268
 AliTRDcalibDB.cxx:269
 AliTRDcalibDB.cxx:270
 AliTRDcalibDB.cxx:271
 AliTRDcalibDB.cxx:272
 AliTRDcalibDB.cxx:273
 AliTRDcalibDB.cxx:274
 AliTRDcalibDB.cxx:275
 AliTRDcalibDB.cxx:276
 AliTRDcalibDB.cxx:277
 AliTRDcalibDB.cxx:278
 AliTRDcalibDB.cxx:279
 AliTRDcalibDB.cxx:280
 AliTRDcalibDB.cxx:281
 AliTRDcalibDB.cxx:282
 AliTRDcalibDB.cxx:283
 AliTRDcalibDB.cxx:284
 AliTRDcalibDB.cxx:285
 AliTRDcalibDB.cxx:286
 AliTRDcalibDB.cxx:287
 AliTRDcalibDB.cxx:288
 AliTRDcalibDB.cxx:289
 AliTRDcalibDB.cxx:290
 AliTRDcalibDB.cxx:291
 AliTRDcalibDB.cxx:292
 AliTRDcalibDB.cxx:293
 AliTRDcalibDB.cxx:294
 AliTRDcalibDB.cxx:295
 AliTRDcalibDB.cxx:296
 AliTRDcalibDB.cxx:297
 AliTRDcalibDB.cxx:298
 AliTRDcalibDB.cxx:299
 AliTRDcalibDB.cxx:300
 AliTRDcalibDB.cxx:301
 AliTRDcalibDB.cxx:302
 AliTRDcalibDB.cxx:303
 AliTRDcalibDB.cxx:304
 AliTRDcalibDB.cxx:305
 AliTRDcalibDB.cxx:306
 AliTRDcalibDB.cxx:307
 AliTRDcalibDB.cxx:308
 AliTRDcalibDB.cxx:309
 AliTRDcalibDB.cxx:310
 AliTRDcalibDB.cxx:311
 AliTRDcalibDB.cxx:312
 AliTRDcalibDB.cxx:313
 AliTRDcalibDB.cxx:314
 AliTRDcalibDB.cxx:315
 AliTRDcalibDB.cxx:316
 AliTRDcalibDB.cxx:317
 AliTRDcalibDB.cxx:318
 AliTRDcalibDB.cxx:319
 AliTRDcalibDB.cxx:320
 AliTRDcalibDB.cxx:321
 AliTRDcalibDB.cxx:322
 AliTRDcalibDB.cxx:323
 AliTRDcalibDB.cxx:324
 AliTRDcalibDB.cxx:325
 AliTRDcalibDB.cxx:326
 AliTRDcalibDB.cxx:327
 AliTRDcalibDB.cxx:328
 AliTRDcalibDB.cxx:329
 AliTRDcalibDB.cxx:330
 AliTRDcalibDB.cxx:331
 AliTRDcalibDB.cxx:332
 AliTRDcalibDB.cxx:333
 AliTRDcalibDB.cxx:334
 AliTRDcalibDB.cxx:335
 AliTRDcalibDB.cxx:336
 AliTRDcalibDB.cxx:337
 AliTRDcalibDB.cxx:338
 AliTRDcalibDB.cxx:339
 AliTRDcalibDB.cxx:340
 AliTRDcalibDB.cxx:341
 AliTRDcalibDB.cxx:342
 AliTRDcalibDB.cxx:343
 AliTRDcalibDB.cxx:344
 AliTRDcalibDB.cxx:345
 AliTRDcalibDB.cxx:346
 AliTRDcalibDB.cxx:347
 AliTRDcalibDB.cxx:348
 AliTRDcalibDB.cxx:349
 AliTRDcalibDB.cxx:350
 AliTRDcalibDB.cxx:351
 AliTRDcalibDB.cxx:352
 AliTRDcalibDB.cxx:353
 AliTRDcalibDB.cxx:354
 AliTRDcalibDB.cxx:355
 AliTRDcalibDB.cxx:356
 AliTRDcalibDB.cxx:357
 AliTRDcalibDB.cxx:358
 AliTRDcalibDB.cxx:359
 AliTRDcalibDB.cxx:360
 AliTRDcalibDB.cxx:361
 AliTRDcalibDB.cxx:362
 AliTRDcalibDB.cxx:363
 AliTRDcalibDB.cxx:364
 AliTRDcalibDB.cxx:365
 AliTRDcalibDB.cxx:366
 AliTRDcalibDB.cxx:367
 AliTRDcalibDB.cxx:368
 AliTRDcalibDB.cxx:369
 AliTRDcalibDB.cxx:370
 AliTRDcalibDB.cxx:371
 AliTRDcalibDB.cxx:372
 AliTRDcalibDB.cxx:373
 AliTRDcalibDB.cxx:374
 AliTRDcalibDB.cxx:375
 AliTRDcalibDB.cxx:376
 AliTRDcalibDB.cxx:377
 AliTRDcalibDB.cxx:378
 AliTRDcalibDB.cxx:379
 AliTRDcalibDB.cxx:380
 AliTRDcalibDB.cxx:381
 AliTRDcalibDB.cxx:382
 AliTRDcalibDB.cxx:383
 AliTRDcalibDB.cxx:384
 AliTRDcalibDB.cxx:385
 AliTRDcalibDB.cxx:386
 AliTRDcalibDB.cxx:387
 AliTRDcalibDB.cxx:388
 AliTRDcalibDB.cxx:389
 AliTRDcalibDB.cxx:390
 AliTRDcalibDB.cxx:391
 AliTRDcalibDB.cxx:392
 AliTRDcalibDB.cxx:393
 AliTRDcalibDB.cxx:394
 AliTRDcalibDB.cxx:395
 AliTRDcalibDB.cxx:396
 AliTRDcalibDB.cxx:397
 AliTRDcalibDB.cxx:398
 AliTRDcalibDB.cxx:399
 AliTRDcalibDB.cxx:400
 AliTRDcalibDB.cxx:401
 AliTRDcalibDB.cxx:402
 AliTRDcalibDB.cxx:403
 AliTRDcalibDB.cxx:404
 AliTRDcalibDB.cxx:405
 AliTRDcalibDB.cxx:406
 AliTRDcalibDB.cxx:407
 AliTRDcalibDB.cxx:408
 AliTRDcalibDB.cxx:409
 AliTRDcalibDB.cxx:410
 AliTRDcalibDB.cxx:411
 AliTRDcalibDB.cxx:412
 AliTRDcalibDB.cxx:413
 AliTRDcalibDB.cxx:414
 AliTRDcalibDB.cxx:415
 AliTRDcalibDB.cxx:416
 AliTRDcalibDB.cxx:417
 AliTRDcalibDB.cxx:418
 AliTRDcalibDB.cxx:419
 AliTRDcalibDB.cxx:420
 AliTRDcalibDB.cxx:421
 AliTRDcalibDB.cxx:422
 AliTRDcalibDB.cxx:423
 AliTRDcalibDB.cxx:424
 AliTRDcalibDB.cxx:425
 AliTRDcalibDB.cxx:426
 AliTRDcalibDB.cxx:427
 AliTRDcalibDB.cxx:428
 AliTRDcalibDB.cxx:429
 AliTRDcalibDB.cxx:430
 AliTRDcalibDB.cxx:431
 AliTRDcalibDB.cxx:432
 AliTRDcalibDB.cxx:433
 AliTRDcalibDB.cxx:434
 AliTRDcalibDB.cxx:435
 AliTRDcalibDB.cxx:436
 AliTRDcalibDB.cxx:437
 AliTRDcalibDB.cxx:438
 AliTRDcalibDB.cxx:439
 AliTRDcalibDB.cxx:440
 AliTRDcalibDB.cxx:441
 AliTRDcalibDB.cxx:442
 AliTRDcalibDB.cxx:443
 AliTRDcalibDB.cxx:444
 AliTRDcalibDB.cxx:445
 AliTRDcalibDB.cxx:446
 AliTRDcalibDB.cxx:447
 AliTRDcalibDB.cxx:448
 AliTRDcalibDB.cxx:449
 AliTRDcalibDB.cxx:450
 AliTRDcalibDB.cxx:451
 AliTRDcalibDB.cxx:452
 AliTRDcalibDB.cxx:453
 AliTRDcalibDB.cxx:454
 AliTRDcalibDB.cxx:455
 AliTRDcalibDB.cxx:456
 AliTRDcalibDB.cxx:457
 AliTRDcalibDB.cxx:458
 AliTRDcalibDB.cxx:459
 AliTRDcalibDB.cxx:460
 AliTRDcalibDB.cxx:461
 AliTRDcalibDB.cxx:462
 AliTRDcalibDB.cxx:463
 AliTRDcalibDB.cxx:464
 AliTRDcalibDB.cxx:465
 AliTRDcalibDB.cxx:466
 AliTRDcalibDB.cxx:467
 AliTRDcalibDB.cxx:468
 AliTRDcalibDB.cxx:469
 AliTRDcalibDB.cxx:470
 AliTRDcalibDB.cxx:471
 AliTRDcalibDB.cxx:472
 AliTRDcalibDB.cxx:473
 AliTRDcalibDB.cxx:474
 AliTRDcalibDB.cxx:475
 AliTRDcalibDB.cxx:476
 AliTRDcalibDB.cxx:477
 AliTRDcalibDB.cxx:478
 AliTRDcalibDB.cxx:479
 AliTRDcalibDB.cxx:480
 AliTRDcalibDB.cxx:481
 AliTRDcalibDB.cxx:482
 AliTRDcalibDB.cxx:483
 AliTRDcalibDB.cxx:484
 AliTRDcalibDB.cxx:485
 AliTRDcalibDB.cxx:486
 AliTRDcalibDB.cxx:487
 AliTRDcalibDB.cxx:488
 AliTRDcalibDB.cxx:489
 AliTRDcalibDB.cxx:490
 AliTRDcalibDB.cxx:491
 AliTRDcalibDB.cxx:492
 AliTRDcalibDB.cxx:493
 AliTRDcalibDB.cxx:494
 AliTRDcalibDB.cxx:495
 AliTRDcalibDB.cxx:496
 AliTRDcalibDB.cxx:497
 AliTRDcalibDB.cxx:498
 AliTRDcalibDB.cxx:499
 AliTRDcalibDB.cxx:500
 AliTRDcalibDB.cxx:501
 AliTRDcalibDB.cxx:502
 AliTRDcalibDB.cxx:503
 AliTRDcalibDB.cxx:504
 AliTRDcalibDB.cxx:505
 AliTRDcalibDB.cxx:506
 AliTRDcalibDB.cxx:507
 AliTRDcalibDB.cxx:508
 AliTRDcalibDB.cxx:509
 AliTRDcalibDB.cxx:510
 AliTRDcalibDB.cxx:511
 AliTRDcalibDB.cxx:512
 AliTRDcalibDB.cxx:513
 AliTRDcalibDB.cxx:514
 AliTRDcalibDB.cxx:515
 AliTRDcalibDB.cxx:516
 AliTRDcalibDB.cxx:517
 AliTRDcalibDB.cxx:518
 AliTRDcalibDB.cxx:519
 AliTRDcalibDB.cxx:520
 AliTRDcalibDB.cxx:521
 AliTRDcalibDB.cxx:522
 AliTRDcalibDB.cxx:523
 AliTRDcalibDB.cxx:524
 AliTRDcalibDB.cxx:525
 AliTRDcalibDB.cxx:526
 AliTRDcalibDB.cxx:527
 AliTRDcalibDB.cxx:528
 AliTRDcalibDB.cxx:529
 AliTRDcalibDB.cxx:530
 AliTRDcalibDB.cxx:531
 AliTRDcalibDB.cxx:532
 AliTRDcalibDB.cxx:533
 AliTRDcalibDB.cxx:534
 AliTRDcalibDB.cxx:535
 AliTRDcalibDB.cxx:536
 AliTRDcalibDB.cxx:537
 AliTRDcalibDB.cxx:538
 AliTRDcalibDB.cxx:539
 AliTRDcalibDB.cxx:540
 AliTRDcalibDB.cxx:541
 AliTRDcalibDB.cxx:542
 AliTRDcalibDB.cxx:543
 AliTRDcalibDB.cxx:544
 AliTRDcalibDB.cxx:545
 AliTRDcalibDB.cxx:546
 AliTRDcalibDB.cxx:547
 AliTRDcalibDB.cxx:548
 AliTRDcalibDB.cxx:549
 AliTRDcalibDB.cxx:550
 AliTRDcalibDB.cxx:551
 AliTRDcalibDB.cxx:552
 AliTRDcalibDB.cxx:553
 AliTRDcalibDB.cxx:554
 AliTRDcalibDB.cxx:555
 AliTRDcalibDB.cxx:556
 AliTRDcalibDB.cxx:557
 AliTRDcalibDB.cxx:558
 AliTRDcalibDB.cxx:559
 AliTRDcalibDB.cxx:560
 AliTRDcalibDB.cxx:561
 AliTRDcalibDB.cxx:562
 AliTRDcalibDB.cxx:563
 AliTRDcalibDB.cxx:564
 AliTRDcalibDB.cxx:565
 AliTRDcalibDB.cxx:566
 AliTRDcalibDB.cxx:567
 AliTRDcalibDB.cxx:568
 AliTRDcalibDB.cxx:569
 AliTRDcalibDB.cxx:570
 AliTRDcalibDB.cxx:571
 AliTRDcalibDB.cxx:572
 AliTRDcalibDB.cxx:573
 AliTRDcalibDB.cxx:574
 AliTRDcalibDB.cxx:575
 AliTRDcalibDB.cxx:576
 AliTRDcalibDB.cxx:577
 AliTRDcalibDB.cxx:578
 AliTRDcalibDB.cxx:579
 AliTRDcalibDB.cxx:580
 AliTRDcalibDB.cxx:581
 AliTRDcalibDB.cxx:582
 AliTRDcalibDB.cxx:583
 AliTRDcalibDB.cxx:584
 AliTRDcalibDB.cxx:585
 AliTRDcalibDB.cxx:586
 AliTRDcalibDB.cxx:587
 AliTRDcalibDB.cxx:588
 AliTRDcalibDB.cxx:589
 AliTRDcalibDB.cxx:590
 AliTRDcalibDB.cxx:591
 AliTRDcalibDB.cxx:592
 AliTRDcalibDB.cxx:593
 AliTRDcalibDB.cxx:594
 AliTRDcalibDB.cxx:595
 AliTRDcalibDB.cxx:596
 AliTRDcalibDB.cxx:597
 AliTRDcalibDB.cxx:598
 AliTRDcalibDB.cxx:599
 AliTRDcalibDB.cxx:600
 AliTRDcalibDB.cxx:601
 AliTRDcalibDB.cxx:602
 AliTRDcalibDB.cxx:603
 AliTRDcalibDB.cxx:604
 AliTRDcalibDB.cxx:605
 AliTRDcalibDB.cxx:606
 AliTRDcalibDB.cxx:607
 AliTRDcalibDB.cxx:608
 AliTRDcalibDB.cxx:609
 AliTRDcalibDB.cxx:610
 AliTRDcalibDB.cxx:611
 AliTRDcalibDB.cxx:612
 AliTRDcalibDB.cxx:613
 AliTRDcalibDB.cxx:614
 AliTRDcalibDB.cxx:615
 AliTRDcalibDB.cxx:616
 AliTRDcalibDB.cxx:617
 AliTRDcalibDB.cxx:618
 AliTRDcalibDB.cxx:619
 AliTRDcalibDB.cxx:620
 AliTRDcalibDB.cxx:621
 AliTRDcalibDB.cxx:622
 AliTRDcalibDB.cxx:623
 AliTRDcalibDB.cxx:624
 AliTRDcalibDB.cxx:625
 AliTRDcalibDB.cxx:626
 AliTRDcalibDB.cxx:627
 AliTRDcalibDB.cxx:628
 AliTRDcalibDB.cxx:629
 AliTRDcalibDB.cxx:630
 AliTRDcalibDB.cxx:631
 AliTRDcalibDB.cxx:632
 AliTRDcalibDB.cxx:633
 AliTRDcalibDB.cxx:634
 AliTRDcalibDB.cxx:635
 AliTRDcalibDB.cxx:636
 AliTRDcalibDB.cxx:637
 AliTRDcalibDB.cxx:638
 AliTRDcalibDB.cxx:639
 AliTRDcalibDB.cxx:640
 AliTRDcalibDB.cxx:641
 AliTRDcalibDB.cxx:642
 AliTRDcalibDB.cxx:643
 AliTRDcalibDB.cxx:644
 AliTRDcalibDB.cxx:645
 AliTRDcalibDB.cxx:646
 AliTRDcalibDB.cxx:647
 AliTRDcalibDB.cxx:648
 AliTRDcalibDB.cxx:649
 AliTRDcalibDB.cxx:650
 AliTRDcalibDB.cxx:651
 AliTRDcalibDB.cxx:652
 AliTRDcalibDB.cxx:653
 AliTRDcalibDB.cxx:654
 AliTRDcalibDB.cxx:655
 AliTRDcalibDB.cxx:656
 AliTRDcalibDB.cxx:657
 AliTRDcalibDB.cxx:658
 AliTRDcalibDB.cxx:659
 AliTRDcalibDB.cxx:660
 AliTRDcalibDB.cxx:661
 AliTRDcalibDB.cxx:662
 AliTRDcalibDB.cxx:663
 AliTRDcalibDB.cxx:664
 AliTRDcalibDB.cxx:665
 AliTRDcalibDB.cxx:666
 AliTRDcalibDB.cxx:667
 AliTRDcalibDB.cxx:668
 AliTRDcalibDB.cxx:669
 AliTRDcalibDB.cxx:670
 AliTRDcalibDB.cxx:671
 AliTRDcalibDB.cxx:672
 AliTRDcalibDB.cxx:673
 AliTRDcalibDB.cxx:674
 AliTRDcalibDB.cxx:675
 AliTRDcalibDB.cxx:676
 AliTRDcalibDB.cxx:677
 AliTRDcalibDB.cxx:678
 AliTRDcalibDB.cxx:679
 AliTRDcalibDB.cxx:680
 AliTRDcalibDB.cxx:681
 AliTRDcalibDB.cxx:682
 AliTRDcalibDB.cxx:683
 AliTRDcalibDB.cxx:684
 AliTRDcalibDB.cxx:685
 AliTRDcalibDB.cxx:686
 AliTRDcalibDB.cxx:687
 AliTRDcalibDB.cxx:688
 AliTRDcalibDB.cxx:689
 AliTRDcalibDB.cxx:690
 AliTRDcalibDB.cxx:691
 AliTRDcalibDB.cxx:692
 AliTRDcalibDB.cxx:693
 AliTRDcalibDB.cxx:694
 AliTRDcalibDB.cxx:695
 AliTRDcalibDB.cxx:696
 AliTRDcalibDB.cxx:697
 AliTRDcalibDB.cxx:698
 AliTRDcalibDB.cxx:699
 AliTRDcalibDB.cxx:700
 AliTRDcalibDB.cxx:701
 AliTRDcalibDB.cxx:702
 AliTRDcalibDB.cxx:703
 AliTRDcalibDB.cxx:704
 AliTRDcalibDB.cxx:705
 AliTRDcalibDB.cxx:706
 AliTRDcalibDB.cxx:707
 AliTRDcalibDB.cxx:708
 AliTRDcalibDB.cxx:709
 AliTRDcalibDB.cxx:710
 AliTRDcalibDB.cxx:711
 AliTRDcalibDB.cxx:712
 AliTRDcalibDB.cxx:713
 AliTRDcalibDB.cxx:714
 AliTRDcalibDB.cxx:715
 AliTRDcalibDB.cxx:716
 AliTRDcalibDB.cxx:717
 AliTRDcalibDB.cxx:718
 AliTRDcalibDB.cxx:719
 AliTRDcalibDB.cxx:720
 AliTRDcalibDB.cxx:721
 AliTRDcalibDB.cxx:722
 AliTRDcalibDB.cxx:723
 AliTRDcalibDB.cxx:724
 AliTRDcalibDB.cxx:725
 AliTRDcalibDB.cxx:726
 AliTRDcalibDB.cxx:727
 AliTRDcalibDB.cxx:728
 AliTRDcalibDB.cxx:729
 AliTRDcalibDB.cxx:730
 AliTRDcalibDB.cxx:731
 AliTRDcalibDB.cxx:732
 AliTRDcalibDB.cxx:733
 AliTRDcalibDB.cxx:734
 AliTRDcalibDB.cxx:735
 AliTRDcalibDB.cxx:736
 AliTRDcalibDB.cxx:737
 AliTRDcalibDB.cxx:738
 AliTRDcalibDB.cxx:739
 AliTRDcalibDB.cxx:740
 AliTRDcalibDB.cxx:741
 AliTRDcalibDB.cxx:742
 AliTRDcalibDB.cxx:743
 AliTRDcalibDB.cxx:744
 AliTRDcalibDB.cxx:745
 AliTRDcalibDB.cxx:746
 AliTRDcalibDB.cxx:747
 AliTRDcalibDB.cxx:748
 AliTRDcalibDB.cxx:749
 AliTRDcalibDB.cxx:750
 AliTRDcalibDB.cxx:751
 AliTRDcalibDB.cxx:752
 AliTRDcalibDB.cxx:753
 AliTRDcalibDB.cxx:754
 AliTRDcalibDB.cxx:755
 AliTRDcalibDB.cxx:756
 AliTRDcalibDB.cxx:757
 AliTRDcalibDB.cxx:758
 AliTRDcalibDB.cxx:759
 AliTRDcalibDB.cxx:760
 AliTRDcalibDB.cxx:761
 AliTRDcalibDB.cxx:762
 AliTRDcalibDB.cxx:763
 AliTRDcalibDB.cxx:764
 AliTRDcalibDB.cxx:765
 AliTRDcalibDB.cxx:766
 AliTRDcalibDB.cxx:767
 AliTRDcalibDB.cxx:768
 AliTRDcalibDB.cxx:769
 AliTRDcalibDB.cxx:770
 AliTRDcalibDB.cxx:771
 AliTRDcalibDB.cxx:772
 AliTRDcalibDB.cxx:773
 AliTRDcalibDB.cxx:774
 AliTRDcalibDB.cxx:775
 AliTRDcalibDB.cxx:776
 AliTRDcalibDB.cxx:777
 AliTRDcalibDB.cxx:778
 AliTRDcalibDB.cxx:779
 AliTRDcalibDB.cxx:780
 AliTRDcalibDB.cxx:781
 AliTRDcalibDB.cxx:782
 AliTRDcalibDB.cxx:783
 AliTRDcalibDB.cxx:784
 AliTRDcalibDB.cxx:785
 AliTRDcalibDB.cxx:786
 AliTRDcalibDB.cxx:787
 AliTRDcalibDB.cxx:788
 AliTRDcalibDB.cxx:789
 AliTRDcalibDB.cxx:790
 AliTRDcalibDB.cxx:791
 AliTRDcalibDB.cxx:792
 AliTRDcalibDB.cxx:793
 AliTRDcalibDB.cxx:794
 AliTRDcalibDB.cxx:795
 AliTRDcalibDB.cxx:796
 AliTRDcalibDB.cxx:797
 AliTRDcalibDB.cxx:798
 AliTRDcalibDB.cxx:799
 AliTRDcalibDB.cxx:800
 AliTRDcalibDB.cxx:801
 AliTRDcalibDB.cxx:802
 AliTRDcalibDB.cxx:803
 AliTRDcalibDB.cxx:804
 AliTRDcalibDB.cxx:805
 AliTRDcalibDB.cxx:806
 AliTRDcalibDB.cxx:807
 AliTRDcalibDB.cxx:808
 AliTRDcalibDB.cxx:809
 AliTRDcalibDB.cxx:810
 AliTRDcalibDB.cxx:811
 AliTRDcalibDB.cxx:812
 AliTRDcalibDB.cxx:813
 AliTRDcalibDB.cxx:814
 AliTRDcalibDB.cxx:815
 AliTRDcalibDB.cxx:816
 AliTRDcalibDB.cxx:817
 AliTRDcalibDB.cxx:818
 AliTRDcalibDB.cxx:819
 AliTRDcalibDB.cxx:820
 AliTRDcalibDB.cxx:821
 AliTRDcalibDB.cxx:822
 AliTRDcalibDB.cxx:823
 AliTRDcalibDB.cxx:824
 AliTRDcalibDB.cxx:825
 AliTRDcalibDB.cxx:826
 AliTRDcalibDB.cxx:827
 AliTRDcalibDB.cxx:828
 AliTRDcalibDB.cxx:829
 AliTRDcalibDB.cxx:830
 AliTRDcalibDB.cxx:831
 AliTRDcalibDB.cxx:832
 AliTRDcalibDB.cxx:833
 AliTRDcalibDB.cxx:834
 AliTRDcalibDB.cxx:835
 AliTRDcalibDB.cxx:836
 AliTRDcalibDB.cxx:837
 AliTRDcalibDB.cxx:838
 AliTRDcalibDB.cxx:839
 AliTRDcalibDB.cxx:840
 AliTRDcalibDB.cxx:841
 AliTRDcalibDB.cxx:842
 AliTRDcalibDB.cxx:843
 AliTRDcalibDB.cxx:844
 AliTRDcalibDB.cxx:845
 AliTRDcalibDB.cxx:846
 AliTRDcalibDB.cxx:847
 AliTRDcalibDB.cxx:848
 AliTRDcalibDB.cxx:849
 AliTRDcalibDB.cxx:850
 AliTRDcalibDB.cxx:851
 AliTRDcalibDB.cxx:852
 AliTRDcalibDB.cxx:853
 AliTRDcalibDB.cxx:854
 AliTRDcalibDB.cxx:855
 AliTRDcalibDB.cxx:856
 AliTRDcalibDB.cxx:857
 AliTRDcalibDB.cxx:858
 AliTRDcalibDB.cxx:859
 AliTRDcalibDB.cxx:860
 AliTRDcalibDB.cxx:861
 AliTRDcalibDB.cxx:862
 AliTRDcalibDB.cxx:863
 AliTRDcalibDB.cxx:864
 AliTRDcalibDB.cxx:865
 AliTRDcalibDB.cxx:866
 AliTRDcalibDB.cxx:867
 AliTRDcalibDB.cxx:868
 AliTRDcalibDB.cxx:869
 AliTRDcalibDB.cxx:870
 AliTRDcalibDB.cxx:871
 AliTRDcalibDB.cxx:872
 AliTRDcalibDB.cxx:873
 AliTRDcalibDB.cxx:874
 AliTRDcalibDB.cxx:875
 AliTRDcalibDB.cxx:876
 AliTRDcalibDB.cxx:877
 AliTRDcalibDB.cxx:878
 AliTRDcalibDB.cxx:879
 AliTRDcalibDB.cxx:880
 AliTRDcalibDB.cxx:881
 AliTRDcalibDB.cxx:882
 AliTRDcalibDB.cxx:883
 AliTRDcalibDB.cxx:884
 AliTRDcalibDB.cxx:885
 AliTRDcalibDB.cxx:886
 AliTRDcalibDB.cxx:887
 AliTRDcalibDB.cxx:888
 AliTRDcalibDB.cxx:889
 AliTRDcalibDB.cxx:890
 AliTRDcalibDB.cxx:891
 AliTRDcalibDB.cxx:892
 AliTRDcalibDB.cxx:893
 AliTRDcalibDB.cxx:894
 AliTRDcalibDB.cxx:895
 AliTRDcalibDB.cxx:896
 AliTRDcalibDB.cxx:897
 AliTRDcalibDB.cxx:898
 AliTRDcalibDB.cxx:899
 AliTRDcalibDB.cxx:900
 AliTRDcalibDB.cxx:901
 AliTRDcalibDB.cxx:902
 AliTRDcalibDB.cxx:903
 AliTRDcalibDB.cxx:904
 AliTRDcalibDB.cxx:905
 AliTRDcalibDB.cxx:906
 AliTRDcalibDB.cxx:907
 AliTRDcalibDB.cxx:908
 AliTRDcalibDB.cxx:909
 AliTRDcalibDB.cxx:910
 AliTRDcalibDB.cxx:911
 AliTRDcalibDB.cxx:912
 AliTRDcalibDB.cxx:913
 AliTRDcalibDB.cxx:914
 AliTRDcalibDB.cxx:915
 AliTRDcalibDB.cxx:916
 AliTRDcalibDB.cxx:917
 AliTRDcalibDB.cxx:918
 AliTRDcalibDB.cxx:919
 AliTRDcalibDB.cxx:920
 AliTRDcalibDB.cxx:921
 AliTRDcalibDB.cxx:922
 AliTRDcalibDB.cxx:923
 AliTRDcalibDB.cxx:924
 AliTRDcalibDB.cxx:925
 AliTRDcalibDB.cxx:926
 AliTRDcalibDB.cxx:927
 AliTRDcalibDB.cxx:928
 AliTRDcalibDB.cxx:929
 AliTRDcalibDB.cxx:930
 AliTRDcalibDB.cxx:931
 AliTRDcalibDB.cxx:932
 AliTRDcalibDB.cxx:933
 AliTRDcalibDB.cxx:934
 AliTRDcalibDB.cxx:935
 AliTRDcalibDB.cxx:936
 AliTRDcalibDB.cxx:937
 AliTRDcalibDB.cxx:938
 AliTRDcalibDB.cxx:939
 AliTRDcalibDB.cxx:940
 AliTRDcalibDB.cxx:941
 AliTRDcalibDB.cxx:942
 AliTRDcalibDB.cxx:943
 AliTRDcalibDB.cxx:944
 AliTRDcalibDB.cxx:945
 AliTRDcalibDB.cxx:946
 AliTRDcalibDB.cxx:947
 AliTRDcalibDB.cxx:948
 AliTRDcalibDB.cxx:949
 AliTRDcalibDB.cxx:950
 AliTRDcalibDB.cxx:951
 AliTRDcalibDB.cxx:952
 AliTRDcalibDB.cxx:953
 AliTRDcalibDB.cxx:954
 AliTRDcalibDB.cxx:955
 AliTRDcalibDB.cxx:956
 AliTRDcalibDB.cxx:957
 AliTRDcalibDB.cxx:958
 AliTRDcalibDB.cxx:959
 AliTRDcalibDB.cxx:960
 AliTRDcalibDB.cxx:961
 AliTRDcalibDB.cxx:962
 AliTRDcalibDB.cxx:963
 AliTRDcalibDB.cxx:964
 AliTRDcalibDB.cxx:965
 AliTRDcalibDB.cxx:966
 AliTRDcalibDB.cxx:967
 AliTRDcalibDB.cxx:968
 AliTRDcalibDB.cxx:969
 AliTRDcalibDB.cxx:970
 AliTRDcalibDB.cxx:971
 AliTRDcalibDB.cxx:972
 AliTRDcalibDB.cxx:973
 AliTRDcalibDB.cxx:974
 AliTRDcalibDB.cxx:975
 AliTRDcalibDB.cxx:976
 AliTRDcalibDB.cxx:977
 AliTRDcalibDB.cxx:978
 AliTRDcalibDB.cxx:979
 AliTRDcalibDB.cxx:980
 AliTRDcalibDB.cxx:981
 AliTRDcalibDB.cxx:982
 AliTRDcalibDB.cxx:983
 AliTRDcalibDB.cxx:984
 AliTRDcalibDB.cxx:985
 AliTRDcalibDB.cxx:986
 AliTRDcalibDB.cxx:987
 AliTRDcalibDB.cxx:988
 AliTRDcalibDB.cxx:989
 AliTRDcalibDB.cxx:990
 AliTRDcalibDB.cxx:991
 AliTRDcalibDB.cxx:992
 AliTRDcalibDB.cxx:993
 AliTRDcalibDB.cxx:994
 AliTRDcalibDB.cxx:995
 AliTRDcalibDB.cxx:996
 AliTRDcalibDB.cxx:997
 AliTRDcalibDB.cxx:998
 AliTRDcalibDB.cxx:999
 AliTRDcalibDB.cxx:1000
 AliTRDcalibDB.cxx:1001
 AliTRDcalibDB.cxx:1002
 AliTRDcalibDB.cxx:1003
 AliTRDcalibDB.cxx:1004
 AliTRDcalibDB.cxx:1005
 AliTRDcalibDB.cxx:1006
 AliTRDcalibDB.cxx:1007
 AliTRDcalibDB.cxx:1008
 AliTRDcalibDB.cxx:1009
 AliTRDcalibDB.cxx:1010
 AliTRDcalibDB.cxx:1011
 AliTRDcalibDB.cxx:1012
 AliTRDcalibDB.cxx:1013
 AliTRDcalibDB.cxx:1014
 AliTRDcalibDB.cxx:1015
 AliTRDcalibDB.cxx:1016
 AliTRDcalibDB.cxx:1017
 AliTRDcalibDB.cxx:1018
 AliTRDcalibDB.cxx:1019
 AliTRDcalibDB.cxx:1020
 AliTRDcalibDB.cxx:1021
 AliTRDcalibDB.cxx:1022
 AliTRDcalibDB.cxx:1023
 AliTRDcalibDB.cxx:1024
 AliTRDcalibDB.cxx:1025
 AliTRDcalibDB.cxx:1026
 AliTRDcalibDB.cxx:1027
 AliTRDcalibDB.cxx:1028
 AliTRDcalibDB.cxx:1029
 AliTRDcalibDB.cxx:1030
 AliTRDcalibDB.cxx:1031
 AliTRDcalibDB.cxx:1032
 AliTRDcalibDB.cxx:1033
 AliTRDcalibDB.cxx:1034
 AliTRDcalibDB.cxx:1035
 AliTRDcalibDB.cxx:1036
 AliTRDcalibDB.cxx:1037
 AliTRDcalibDB.cxx:1038
 AliTRDcalibDB.cxx:1039
 AliTRDcalibDB.cxx:1040
 AliTRDcalibDB.cxx:1041
 AliTRDcalibDB.cxx:1042
 AliTRDcalibDB.cxx:1043
 AliTRDcalibDB.cxx:1044
 AliTRDcalibDB.cxx:1045
 AliTRDcalibDB.cxx:1046
 AliTRDcalibDB.cxx:1047
 AliTRDcalibDB.cxx:1048
 AliTRDcalibDB.cxx:1049
 AliTRDcalibDB.cxx:1050
 AliTRDcalibDB.cxx:1051
 AliTRDcalibDB.cxx:1052
 AliTRDcalibDB.cxx:1053
 AliTRDcalibDB.cxx:1054
 AliTRDcalibDB.cxx:1055
 AliTRDcalibDB.cxx:1056
 AliTRDcalibDB.cxx:1057
 AliTRDcalibDB.cxx:1058
 AliTRDcalibDB.cxx:1059
 AliTRDcalibDB.cxx:1060
 AliTRDcalibDB.cxx:1061
 AliTRDcalibDB.cxx:1062
 AliTRDcalibDB.cxx:1063
 AliTRDcalibDB.cxx:1064
 AliTRDcalibDB.cxx:1065
 AliTRDcalibDB.cxx:1066
 AliTRDcalibDB.cxx:1067
 AliTRDcalibDB.cxx:1068
 AliTRDcalibDB.cxx:1069
 AliTRDcalibDB.cxx:1070
 AliTRDcalibDB.cxx:1071
 AliTRDcalibDB.cxx:1072
 AliTRDcalibDB.cxx:1073
 AliTRDcalibDB.cxx:1074
 AliTRDcalibDB.cxx:1075
 AliTRDcalibDB.cxx:1076
 AliTRDcalibDB.cxx:1077
 AliTRDcalibDB.cxx:1078
 AliTRDcalibDB.cxx:1079
 AliTRDcalibDB.cxx:1080
 AliTRDcalibDB.cxx:1081
 AliTRDcalibDB.cxx:1082
 AliTRDcalibDB.cxx:1083
 AliTRDcalibDB.cxx:1084
 AliTRDcalibDB.cxx:1085
 AliTRDcalibDB.cxx:1086
 AliTRDcalibDB.cxx:1087
 AliTRDcalibDB.cxx:1088
 AliTRDcalibDB.cxx:1089
 AliTRDcalibDB.cxx:1090
 AliTRDcalibDB.cxx:1091
 AliTRDcalibDB.cxx:1092
 AliTRDcalibDB.cxx:1093
 AliTRDcalibDB.cxx:1094
 AliTRDcalibDB.cxx:1095
 AliTRDcalibDB.cxx:1096
 AliTRDcalibDB.cxx:1097
 AliTRDcalibDB.cxx:1098
 AliTRDcalibDB.cxx:1099
 AliTRDcalibDB.cxx:1100
 AliTRDcalibDB.cxx:1101
 AliTRDcalibDB.cxx:1102
 AliTRDcalibDB.cxx:1103
 AliTRDcalibDB.cxx:1104
 AliTRDcalibDB.cxx:1105
 AliTRDcalibDB.cxx:1106
 AliTRDcalibDB.cxx:1107
 AliTRDcalibDB.cxx:1108
 AliTRDcalibDB.cxx:1109
 AliTRDcalibDB.cxx:1110
 AliTRDcalibDB.cxx:1111
 AliTRDcalibDB.cxx:1112
 AliTRDcalibDB.cxx:1113
 AliTRDcalibDB.cxx:1114
 AliTRDcalibDB.cxx:1115
 AliTRDcalibDB.cxx:1116
 AliTRDcalibDB.cxx:1117
 AliTRDcalibDB.cxx:1118
 AliTRDcalibDB.cxx:1119
 AliTRDcalibDB.cxx:1120
 AliTRDcalibDB.cxx:1121
 AliTRDcalibDB.cxx:1122
 AliTRDcalibDB.cxx:1123
 AliTRDcalibDB.cxx:1124
 AliTRDcalibDB.cxx:1125
 AliTRDcalibDB.cxx:1126
 AliTRDcalibDB.cxx:1127
 AliTRDcalibDB.cxx:1128
 AliTRDcalibDB.cxx:1129
 AliTRDcalibDB.cxx:1130
 AliTRDcalibDB.cxx:1131
 AliTRDcalibDB.cxx:1132
 AliTRDcalibDB.cxx:1133
 AliTRDcalibDB.cxx:1134
 AliTRDcalibDB.cxx:1135
 AliTRDcalibDB.cxx:1136
 AliTRDcalibDB.cxx:1137
 AliTRDcalibDB.cxx:1138
 AliTRDcalibDB.cxx:1139
 AliTRDcalibDB.cxx:1140
 AliTRDcalibDB.cxx:1141
 AliTRDcalibDB.cxx:1142
 AliTRDcalibDB.cxx:1143
 AliTRDcalibDB.cxx:1144
 AliTRDcalibDB.cxx:1145
 AliTRDcalibDB.cxx:1146
 AliTRDcalibDB.cxx:1147
 AliTRDcalibDB.cxx:1148
 AliTRDcalibDB.cxx:1149
 AliTRDcalibDB.cxx:1150
 AliTRDcalibDB.cxx:1151
 AliTRDcalibDB.cxx:1152
 AliTRDcalibDB.cxx:1153
 AliTRDcalibDB.cxx:1154
 AliTRDcalibDB.cxx:1155
 AliTRDcalibDB.cxx:1156
 AliTRDcalibDB.cxx:1157
 AliTRDcalibDB.cxx:1158
 AliTRDcalibDB.cxx:1159
 AliTRDcalibDB.cxx:1160
 AliTRDcalibDB.cxx:1161
 AliTRDcalibDB.cxx:1162
 AliTRDcalibDB.cxx:1163
 AliTRDcalibDB.cxx:1164
 AliTRDcalibDB.cxx:1165
 AliTRDcalibDB.cxx:1166
 AliTRDcalibDB.cxx:1167
 AliTRDcalibDB.cxx:1168
 AliTRDcalibDB.cxx:1169
 AliTRDcalibDB.cxx:1170
 AliTRDcalibDB.cxx:1171
 AliTRDcalibDB.cxx:1172
 AliTRDcalibDB.cxx:1173
 AliTRDcalibDB.cxx:1174
 AliTRDcalibDB.cxx:1175
 AliTRDcalibDB.cxx:1176
 AliTRDcalibDB.cxx:1177
 AliTRDcalibDB.cxx:1178
 AliTRDcalibDB.cxx:1179
 AliTRDcalibDB.cxx:1180
 AliTRDcalibDB.cxx:1181
 AliTRDcalibDB.cxx:1182
 AliTRDcalibDB.cxx:1183
 AliTRDcalibDB.cxx:1184
 AliTRDcalibDB.cxx:1185
 AliTRDcalibDB.cxx:1186
 AliTRDcalibDB.cxx:1187
 AliTRDcalibDB.cxx:1188
 AliTRDcalibDB.cxx:1189
 AliTRDcalibDB.cxx:1190
 AliTRDcalibDB.cxx:1191
 AliTRDcalibDB.cxx:1192
 AliTRDcalibDB.cxx:1193
 AliTRDcalibDB.cxx:1194
 AliTRDcalibDB.cxx:1195
 AliTRDcalibDB.cxx:1196
 AliTRDcalibDB.cxx:1197
 AliTRDcalibDB.cxx:1198
 AliTRDcalibDB.cxx:1199
 AliTRDcalibDB.cxx:1200
 AliTRDcalibDB.cxx:1201
 AliTRDcalibDB.cxx:1202
 AliTRDcalibDB.cxx:1203
 AliTRDcalibDB.cxx:1204
 AliTRDcalibDB.cxx:1205
 AliTRDcalibDB.cxx:1206
 AliTRDcalibDB.cxx:1207
 AliTRDcalibDB.cxx:1208
 AliTRDcalibDB.cxx:1209
 AliTRDcalibDB.cxx:1210
 AliTRDcalibDB.cxx:1211
 AliTRDcalibDB.cxx:1212
 AliTRDcalibDB.cxx:1213
 AliTRDcalibDB.cxx:1214
 AliTRDcalibDB.cxx:1215
 AliTRDcalibDB.cxx:1216
 AliTRDcalibDB.cxx:1217
 AliTRDcalibDB.cxx:1218
 AliTRDcalibDB.cxx:1219
 AliTRDcalibDB.cxx:1220
 AliTRDcalibDB.cxx:1221
 AliTRDcalibDB.cxx:1222
 AliTRDcalibDB.cxx:1223
 AliTRDcalibDB.cxx:1224
 AliTRDcalibDB.cxx:1225
 AliTRDcalibDB.cxx:1226
 AliTRDcalibDB.cxx:1227
 AliTRDcalibDB.cxx:1228
 AliTRDcalibDB.cxx:1229
 AliTRDcalibDB.cxx:1230
 AliTRDcalibDB.cxx:1231
 AliTRDcalibDB.cxx:1232
 AliTRDcalibDB.cxx:1233
 AliTRDcalibDB.cxx:1234
 AliTRDcalibDB.cxx:1235
 AliTRDcalibDB.cxx:1236
 AliTRDcalibDB.cxx:1237
 AliTRDcalibDB.cxx:1238
 AliTRDcalibDB.cxx:1239
 AliTRDcalibDB.cxx:1240
 AliTRDcalibDB.cxx:1241
 AliTRDcalibDB.cxx:1242
 AliTRDcalibDB.cxx:1243
 AliTRDcalibDB.cxx:1244
 AliTRDcalibDB.cxx:1245
 AliTRDcalibDB.cxx:1246
 AliTRDcalibDB.cxx:1247
 AliTRDcalibDB.cxx:1248
 AliTRDcalibDB.cxx:1249
 AliTRDcalibDB.cxx:1250
 AliTRDcalibDB.cxx:1251
 AliTRDcalibDB.cxx:1252
 AliTRDcalibDB.cxx:1253
 AliTRDcalibDB.cxx:1254
 AliTRDcalibDB.cxx:1255
 AliTRDcalibDB.cxx:1256
 AliTRDcalibDB.cxx:1257
 AliTRDcalibDB.cxx:1258
 AliTRDcalibDB.cxx:1259
 AliTRDcalibDB.cxx:1260
 AliTRDcalibDB.cxx:1261
 AliTRDcalibDB.cxx:1262
 AliTRDcalibDB.cxx:1263
 AliTRDcalibDB.cxx:1264
 AliTRDcalibDB.cxx:1265
 AliTRDcalibDB.cxx:1266
 AliTRDcalibDB.cxx:1267
 AliTRDcalibDB.cxx:1268
 AliTRDcalibDB.cxx:1269
 AliTRDcalibDB.cxx:1270
 AliTRDcalibDB.cxx:1271
 AliTRDcalibDB.cxx:1272
 AliTRDcalibDB.cxx:1273
 AliTRDcalibDB.cxx:1274
 AliTRDcalibDB.cxx:1275
 AliTRDcalibDB.cxx:1276
 AliTRDcalibDB.cxx:1277
 AliTRDcalibDB.cxx:1278
 AliTRDcalibDB.cxx:1279
 AliTRDcalibDB.cxx:1280
 AliTRDcalibDB.cxx:1281
 AliTRDcalibDB.cxx:1282
 AliTRDcalibDB.cxx:1283
 AliTRDcalibDB.cxx:1284
 AliTRDcalibDB.cxx:1285
 AliTRDcalibDB.cxx:1286
 AliTRDcalibDB.cxx:1287
 AliTRDcalibDB.cxx:1288
 AliTRDcalibDB.cxx:1289
 AliTRDcalibDB.cxx:1290
 AliTRDcalibDB.cxx:1291
 AliTRDcalibDB.cxx:1292
 AliTRDcalibDB.cxx:1293
 AliTRDcalibDB.cxx:1294
 AliTRDcalibDB.cxx:1295
 AliTRDcalibDB.cxx:1296
 AliTRDcalibDB.cxx:1297
 AliTRDcalibDB.cxx:1298
 AliTRDcalibDB.cxx:1299
 AliTRDcalibDB.cxx:1300
 AliTRDcalibDB.cxx:1301
 AliTRDcalibDB.cxx:1302
 AliTRDcalibDB.cxx:1303
 AliTRDcalibDB.cxx:1304
 AliTRDcalibDB.cxx:1305
 AliTRDcalibDB.cxx:1306
 AliTRDcalibDB.cxx:1307
 AliTRDcalibDB.cxx:1308
 AliTRDcalibDB.cxx:1309
 AliTRDcalibDB.cxx:1310
 AliTRDcalibDB.cxx:1311
 AliTRDcalibDB.cxx:1312
 AliTRDcalibDB.cxx:1313
 AliTRDcalibDB.cxx:1314
 AliTRDcalibDB.cxx:1315
 AliTRDcalibDB.cxx:1316
 AliTRDcalibDB.cxx:1317
 AliTRDcalibDB.cxx:1318
 AliTRDcalibDB.cxx:1319
 AliTRDcalibDB.cxx:1320
 AliTRDcalibDB.cxx:1321
 AliTRDcalibDB.cxx:1322
 AliTRDcalibDB.cxx:1323
 AliTRDcalibDB.cxx:1324
 AliTRDcalibDB.cxx:1325
 AliTRDcalibDB.cxx:1326
 AliTRDcalibDB.cxx:1327
 AliTRDcalibDB.cxx:1328
 AliTRDcalibDB.cxx:1329
 AliTRDcalibDB.cxx:1330
 AliTRDcalibDB.cxx:1331
 AliTRDcalibDB.cxx:1332
 AliTRDcalibDB.cxx:1333
 AliTRDcalibDB.cxx:1334
 AliTRDcalibDB.cxx:1335
 AliTRDcalibDB.cxx:1336
 AliTRDcalibDB.cxx:1337
 AliTRDcalibDB.cxx:1338
 AliTRDcalibDB.cxx:1339
 AliTRDcalibDB.cxx:1340
 AliTRDcalibDB.cxx:1341
 AliTRDcalibDB.cxx:1342
 AliTRDcalibDB.cxx:1343
 AliTRDcalibDB.cxx:1344
 AliTRDcalibDB.cxx:1345
 AliTRDcalibDB.cxx:1346
 AliTRDcalibDB.cxx:1347
 AliTRDcalibDB.cxx:1348
 AliTRDcalibDB.cxx:1349
 AliTRDcalibDB.cxx:1350
 AliTRDcalibDB.cxx:1351
 AliTRDcalibDB.cxx:1352
 AliTRDcalibDB.cxx:1353
 AliTRDcalibDB.cxx:1354
 AliTRDcalibDB.cxx:1355
 AliTRDcalibDB.cxx:1356
 AliTRDcalibDB.cxx:1357
 AliTRDcalibDB.cxx:1358
 AliTRDcalibDB.cxx:1359
 AliTRDcalibDB.cxx:1360
 AliTRDcalibDB.cxx:1361
 AliTRDcalibDB.cxx:1362
 AliTRDcalibDB.cxx:1363
 AliTRDcalibDB.cxx:1364
 AliTRDcalibDB.cxx:1365
 AliTRDcalibDB.cxx:1366
 AliTRDcalibDB.cxx:1367
 AliTRDcalibDB.cxx:1368
 AliTRDcalibDB.cxx:1369
 AliTRDcalibDB.cxx:1370
 AliTRDcalibDB.cxx:1371
 AliTRDcalibDB.cxx:1372
 AliTRDcalibDB.cxx:1373
 AliTRDcalibDB.cxx:1374
 AliTRDcalibDB.cxx:1375
 AliTRDcalibDB.cxx:1376
 AliTRDcalibDB.cxx:1377
 AliTRDcalibDB.cxx:1378
 AliTRDcalibDB.cxx:1379
 AliTRDcalibDB.cxx:1380
 AliTRDcalibDB.cxx:1381
 AliTRDcalibDB.cxx:1382
 AliTRDcalibDB.cxx:1383
 AliTRDcalibDB.cxx:1384
 AliTRDcalibDB.cxx:1385
 AliTRDcalibDB.cxx:1386
 AliTRDcalibDB.cxx:1387
 AliTRDcalibDB.cxx:1388
 AliTRDcalibDB.cxx:1389
 AliTRDcalibDB.cxx:1390
 AliTRDcalibDB.cxx:1391
 AliTRDcalibDB.cxx:1392
 AliTRDcalibDB.cxx:1393
 AliTRDcalibDB.cxx:1394
 AliTRDcalibDB.cxx:1395
 AliTRDcalibDB.cxx:1396
 AliTRDcalibDB.cxx:1397
 AliTRDcalibDB.cxx:1398
 AliTRDcalibDB.cxx:1399
 AliTRDcalibDB.cxx:1400
 AliTRDcalibDB.cxx:1401
 AliTRDcalibDB.cxx:1402
 AliTRDcalibDB.cxx:1403
 AliTRDcalibDB.cxx:1404
 AliTRDcalibDB.cxx:1405
 AliTRDcalibDB.cxx:1406
 AliTRDcalibDB.cxx:1407
 AliTRDcalibDB.cxx:1408
 AliTRDcalibDB.cxx:1409
 AliTRDcalibDB.cxx:1410
 AliTRDcalibDB.cxx:1411
 AliTRDcalibDB.cxx:1412
 AliTRDcalibDB.cxx:1413
 AliTRDcalibDB.cxx:1414
 AliTRDcalibDB.cxx:1415
 AliTRDcalibDB.cxx:1416
 AliTRDcalibDB.cxx:1417
 AliTRDcalibDB.cxx:1418
 AliTRDcalibDB.cxx:1419
 AliTRDcalibDB.cxx:1420
 AliTRDcalibDB.cxx:1421
 AliTRDcalibDB.cxx:1422
 AliTRDcalibDB.cxx:1423
 AliTRDcalibDB.cxx:1424
 AliTRDcalibDB.cxx:1425
 AliTRDcalibDB.cxx:1426
 AliTRDcalibDB.cxx:1427
 AliTRDcalibDB.cxx:1428
 AliTRDcalibDB.cxx:1429
 AliTRDcalibDB.cxx:1430
 AliTRDcalibDB.cxx:1431
 AliTRDcalibDB.cxx:1432
 AliTRDcalibDB.cxx:1433
 AliTRDcalibDB.cxx:1434
 AliTRDcalibDB.cxx:1435
 AliTRDcalibDB.cxx:1436
 AliTRDcalibDB.cxx:1437
 AliTRDcalibDB.cxx:1438
 AliTRDcalibDB.cxx:1439
 AliTRDcalibDB.cxx:1440
 AliTRDcalibDB.cxx:1441
 AliTRDcalibDB.cxx:1442
 AliTRDcalibDB.cxx:1443
 AliTRDcalibDB.cxx:1444
 AliTRDcalibDB.cxx:1445
 AliTRDcalibDB.cxx:1446
 AliTRDcalibDB.cxx:1447
 AliTRDcalibDB.cxx:1448
 AliTRDcalibDB.cxx:1449
 AliTRDcalibDB.cxx:1450
 AliTRDcalibDB.cxx:1451
 AliTRDcalibDB.cxx:1452
 AliTRDcalibDB.cxx:1453
 AliTRDcalibDB.cxx:1454
 AliTRDcalibDB.cxx:1455
 AliTRDcalibDB.cxx:1456
 AliTRDcalibDB.cxx:1457
 AliTRDcalibDB.cxx:1458
 AliTRDcalibDB.cxx:1459
 AliTRDcalibDB.cxx:1460
 AliTRDcalibDB.cxx:1461
 AliTRDcalibDB.cxx:1462
 AliTRDcalibDB.cxx:1463
 AliTRDcalibDB.cxx:1464
 AliTRDcalibDB.cxx:1465
 AliTRDcalibDB.cxx:1466
 AliTRDcalibDB.cxx:1467
 AliTRDcalibDB.cxx:1468
 AliTRDcalibDB.cxx:1469
 AliTRDcalibDB.cxx:1470
 AliTRDcalibDB.cxx:1471
 AliTRDcalibDB.cxx:1472
 AliTRDcalibDB.cxx:1473
 AliTRDcalibDB.cxx:1474
 AliTRDcalibDB.cxx:1475
 AliTRDcalibDB.cxx:1476
 AliTRDcalibDB.cxx:1477
 AliTRDcalibDB.cxx:1478
 AliTRDcalibDB.cxx:1479
 AliTRDcalibDB.cxx:1480
 AliTRDcalibDB.cxx:1481
 AliTRDcalibDB.cxx:1482
 AliTRDcalibDB.cxx:1483
 AliTRDcalibDB.cxx:1484
 AliTRDcalibDB.cxx:1485
 AliTRDcalibDB.cxx:1486
 AliTRDcalibDB.cxx:1487
 AliTRDcalibDB.cxx:1488
 AliTRDcalibDB.cxx:1489
 AliTRDcalibDB.cxx:1490
 AliTRDcalibDB.cxx:1491
 AliTRDcalibDB.cxx:1492
 AliTRDcalibDB.cxx:1493
 AliTRDcalibDB.cxx:1494
 AliTRDcalibDB.cxx:1495
 AliTRDcalibDB.cxx:1496
 AliTRDcalibDB.cxx:1497
 AliTRDcalibDB.cxx:1498
 AliTRDcalibDB.cxx:1499
 AliTRDcalibDB.cxx:1500
 AliTRDcalibDB.cxx:1501
 AliTRDcalibDB.cxx:1502
 AliTRDcalibDB.cxx:1503
 AliTRDcalibDB.cxx:1504
 AliTRDcalibDB.cxx:1505
 AliTRDcalibDB.cxx:1506
 AliTRDcalibDB.cxx:1507
 AliTRDcalibDB.cxx:1508
 AliTRDcalibDB.cxx:1509
 AliTRDcalibDB.cxx:1510
 AliTRDcalibDB.cxx:1511
 AliTRDcalibDB.cxx:1512
 AliTRDcalibDB.cxx:1513
 AliTRDcalibDB.cxx:1514
 AliTRDcalibDB.cxx:1515
 AliTRDcalibDB.cxx:1516
 AliTRDcalibDB.cxx:1517
 AliTRDcalibDB.cxx:1518
 AliTRDcalibDB.cxx:1519
 AliTRDcalibDB.cxx:1520
 AliTRDcalibDB.cxx:1521
 AliTRDcalibDB.cxx:1522
 AliTRDcalibDB.cxx:1523
 AliTRDcalibDB.cxx:1524
 AliTRDcalibDB.cxx:1525
 AliTRDcalibDB.cxx:1526
 AliTRDcalibDB.cxx:1527
 AliTRDcalibDB.cxx:1528
 AliTRDcalibDB.cxx:1529
 AliTRDcalibDB.cxx:1530
 AliTRDcalibDB.cxx:1531
 AliTRDcalibDB.cxx:1532
 AliTRDcalibDB.cxx:1533
 AliTRDcalibDB.cxx:1534
 AliTRDcalibDB.cxx:1535
 AliTRDcalibDB.cxx:1536
 AliTRDcalibDB.cxx:1537
 AliTRDcalibDB.cxx:1538
 AliTRDcalibDB.cxx:1539
 AliTRDcalibDB.cxx:1540
 AliTRDcalibDB.cxx:1541
 AliTRDcalibDB.cxx:1542
 AliTRDcalibDB.cxx:1543
 AliTRDcalibDB.cxx:1544
 AliTRDcalibDB.cxx:1545
 AliTRDcalibDB.cxx:1546
 AliTRDcalibDB.cxx:1547
 AliTRDcalibDB.cxx:1548
 AliTRDcalibDB.cxx:1549
 AliTRDcalibDB.cxx:1550
 AliTRDcalibDB.cxx:1551
 AliTRDcalibDB.cxx:1552
 AliTRDcalibDB.cxx:1553
 AliTRDcalibDB.cxx:1554
 AliTRDcalibDB.cxx:1555
 AliTRDcalibDB.cxx:1556
 AliTRDcalibDB.cxx:1557
 AliTRDcalibDB.cxx:1558
 AliTRDcalibDB.cxx:1559
 AliTRDcalibDB.cxx:1560
 AliTRDcalibDB.cxx:1561
 AliTRDcalibDB.cxx:1562
 AliTRDcalibDB.cxx:1563
 AliTRDcalibDB.cxx:1564
 AliTRDcalibDB.cxx:1565
 AliTRDcalibDB.cxx:1566
 AliTRDcalibDB.cxx:1567
 AliTRDcalibDB.cxx:1568
 AliTRDcalibDB.cxx:1569
 AliTRDcalibDB.cxx:1570
 AliTRDcalibDB.cxx:1571
 AliTRDcalibDB.cxx:1572
 AliTRDcalibDB.cxx:1573
 AliTRDcalibDB.cxx:1574
 AliTRDcalibDB.cxx:1575
 AliTRDcalibDB.cxx:1576
 AliTRDcalibDB.cxx:1577
 AliTRDcalibDB.cxx:1578
 AliTRDcalibDB.cxx:1579
 AliTRDcalibDB.cxx:1580
 AliTRDcalibDB.cxx:1581
 AliTRDcalibDB.cxx:1582
 AliTRDcalibDB.cxx:1583
 AliTRDcalibDB.cxx:1584
 AliTRDcalibDB.cxx:1585
 AliTRDcalibDB.cxx:1586
 AliTRDcalibDB.cxx:1587
 AliTRDcalibDB.cxx:1588
 AliTRDcalibDB.cxx:1589
 AliTRDcalibDB.cxx:1590
 AliTRDcalibDB.cxx:1591
 AliTRDcalibDB.cxx:1592
 AliTRDcalibDB.cxx:1593
 AliTRDcalibDB.cxx:1594
 AliTRDcalibDB.cxx:1595
 AliTRDcalibDB.cxx:1596
 AliTRDcalibDB.cxx:1597
 AliTRDcalibDB.cxx:1598
 AliTRDcalibDB.cxx:1599
 AliTRDcalibDB.cxx:1600
 AliTRDcalibDB.cxx:1601
 AliTRDcalibDB.cxx:1602
 AliTRDcalibDB.cxx:1603
 AliTRDcalibDB.cxx:1604
 AliTRDcalibDB.cxx:1605
 AliTRDcalibDB.cxx:1606
 AliTRDcalibDB.cxx:1607
 AliTRDcalibDB.cxx:1608
 AliTRDcalibDB.cxx:1609
 AliTRDcalibDB.cxx:1610
 AliTRDcalibDB.cxx:1611
 AliTRDcalibDB.cxx:1612
 AliTRDcalibDB.cxx:1613
 AliTRDcalibDB.cxx:1614
 AliTRDcalibDB.cxx:1615
 AliTRDcalibDB.cxx:1616
 AliTRDcalibDB.cxx:1617
 AliTRDcalibDB.cxx:1618
 AliTRDcalibDB.cxx:1619
 AliTRDcalibDB.cxx:1620
 AliTRDcalibDB.cxx:1621
 AliTRDcalibDB.cxx:1622
 AliTRDcalibDB.cxx:1623
 AliTRDcalibDB.cxx:1624
 AliTRDcalibDB.cxx:1625
 AliTRDcalibDB.cxx:1626
 AliTRDcalibDB.cxx:1627
 AliTRDcalibDB.cxx:1628
 AliTRDcalibDB.cxx:1629
 AliTRDcalibDB.cxx:1630
 AliTRDcalibDB.cxx:1631
 AliTRDcalibDB.cxx:1632
 AliTRDcalibDB.cxx:1633
 AliTRDcalibDB.cxx:1634
 AliTRDcalibDB.cxx:1635
 AliTRDcalibDB.cxx:1636
 AliTRDcalibDB.cxx:1637
 AliTRDcalibDB.cxx:1638
 AliTRDcalibDB.cxx:1639
 AliTRDcalibDB.cxx:1640
 AliTRDcalibDB.cxx:1641
 AliTRDcalibDB.cxx:1642
 AliTRDcalibDB.cxx:1643
 AliTRDcalibDB.cxx:1644
 AliTRDcalibDB.cxx:1645
 AliTRDcalibDB.cxx:1646
 AliTRDcalibDB.cxx:1647
 AliTRDcalibDB.cxx:1648
 AliTRDcalibDB.cxx:1649
 AliTRDcalibDB.cxx:1650
 AliTRDcalibDB.cxx:1651
 AliTRDcalibDB.cxx:1652
 AliTRDcalibDB.cxx:1653
 AliTRDcalibDB.cxx:1654
 AliTRDcalibDB.cxx:1655
 AliTRDcalibDB.cxx:1656
 AliTRDcalibDB.cxx:1657
 AliTRDcalibDB.cxx:1658
 AliTRDcalibDB.cxx:1659
 AliTRDcalibDB.cxx:1660
 AliTRDcalibDB.cxx:1661
 AliTRDcalibDB.cxx:1662
 AliTRDcalibDB.cxx:1663
 AliTRDcalibDB.cxx:1664
 AliTRDcalibDB.cxx:1665
 AliTRDcalibDB.cxx:1666
 AliTRDcalibDB.cxx:1667
 AliTRDcalibDB.cxx:1668
 AliTRDcalibDB.cxx:1669
 AliTRDcalibDB.cxx:1670
 AliTRDcalibDB.cxx:1671
 AliTRDcalibDB.cxx:1672
 AliTRDcalibDB.cxx:1673
 AliTRDcalibDB.cxx:1674
 AliTRDcalibDB.cxx:1675
 AliTRDcalibDB.cxx:1676
 AliTRDcalibDB.cxx:1677
 AliTRDcalibDB.cxx:1678
 AliTRDcalibDB.cxx:1679
 AliTRDcalibDB.cxx:1680
 AliTRDcalibDB.cxx:1681
 AliTRDcalibDB.cxx:1682
 AliTRDcalibDB.cxx:1683
 AliTRDcalibDB.cxx:1684
 AliTRDcalibDB.cxx:1685
 AliTRDcalibDB.cxx:1686
 AliTRDcalibDB.cxx:1687
 AliTRDcalibDB.cxx:1688
 AliTRDcalibDB.cxx:1689
 AliTRDcalibDB.cxx:1690
 AliTRDcalibDB.cxx:1691
 AliTRDcalibDB.cxx:1692
 AliTRDcalibDB.cxx:1693
 AliTRDcalibDB.cxx:1694
 AliTRDcalibDB.cxx:1695
 AliTRDcalibDB.cxx:1696
 AliTRDcalibDB.cxx:1697
 AliTRDcalibDB.cxx:1698
 AliTRDcalibDB.cxx:1699
 AliTRDcalibDB.cxx:1700
 AliTRDcalibDB.cxx:1701
 AliTRDcalibDB.cxx:1702
 AliTRDcalibDB.cxx:1703
 AliTRDcalibDB.cxx:1704
 AliTRDcalibDB.cxx:1705
 AliTRDcalibDB.cxx:1706
 AliTRDcalibDB.cxx:1707
 AliTRDcalibDB.cxx:1708
 AliTRDcalibDB.cxx:1709
 AliTRDcalibDB.cxx:1710
 AliTRDcalibDB.cxx:1711
 AliTRDcalibDB.cxx:1712
 AliTRDcalibDB.cxx:1713
 AliTRDcalibDB.cxx:1714
 AliTRDcalibDB.cxx:1715
 AliTRDcalibDB.cxx:1716
 AliTRDcalibDB.cxx:1717
 AliTRDcalibDB.cxx:1718
 AliTRDcalibDB.cxx:1719
 AliTRDcalibDB.cxx:1720
 AliTRDcalibDB.cxx:1721
 AliTRDcalibDB.cxx:1722
 AliTRDcalibDB.cxx:1723
 AliTRDcalibDB.cxx:1724
 AliTRDcalibDB.cxx:1725
 AliTRDcalibDB.cxx:1726
 AliTRDcalibDB.cxx:1727
 AliTRDcalibDB.cxx:1728
 AliTRDcalibDB.cxx:1729
 AliTRDcalibDB.cxx:1730
 AliTRDcalibDB.cxx:1731
 AliTRDcalibDB.cxx:1732
 AliTRDcalibDB.cxx:1733
 AliTRDcalibDB.cxx:1734
 AliTRDcalibDB.cxx:1735
 AliTRDcalibDB.cxx:1736
 AliTRDcalibDB.cxx:1737
 AliTRDcalibDB.cxx:1738
 AliTRDcalibDB.cxx:1739
 AliTRDcalibDB.cxx:1740
 AliTRDcalibDB.cxx:1741
 AliTRDcalibDB.cxx:1742
 AliTRDcalibDB.cxx:1743
 AliTRDcalibDB.cxx:1744
 AliTRDcalibDB.cxx:1745
 AliTRDcalibDB.cxx:1746
 AliTRDcalibDB.cxx:1747
 AliTRDcalibDB.cxx:1748
 AliTRDcalibDB.cxx:1749
 AliTRDcalibDB.cxx:1750
 AliTRDcalibDB.cxx:1751
 AliTRDcalibDB.cxx:1752
 AliTRDcalibDB.cxx:1753
 AliTRDcalibDB.cxx:1754
 AliTRDcalibDB.cxx:1755
 AliTRDcalibDB.cxx:1756
 AliTRDcalibDB.cxx:1757
 AliTRDcalibDB.cxx:1758
 AliTRDcalibDB.cxx:1759
 AliTRDcalibDB.cxx:1760
 AliTRDcalibDB.cxx:1761
 AliTRDcalibDB.cxx:1762
 AliTRDcalibDB.cxx:1763
 AliTRDcalibDB.cxx:1764
 AliTRDcalibDB.cxx:1765
 AliTRDcalibDB.cxx:1766
 AliTRDcalibDB.cxx:1767
 AliTRDcalibDB.cxx:1768
 AliTRDcalibDB.cxx:1769
 AliTRDcalibDB.cxx:1770
 AliTRDcalibDB.cxx:1771
 AliTRDcalibDB.cxx:1772
 AliTRDcalibDB.cxx:1773
 AliTRDcalibDB.cxx:1774
 AliTRDcalibDB.cxx:1775
 AliTRDcalibDB.cxx:1776
 AliTRDcalibDB.cxx:1777
 AliTRDcalibDB.cxx:1778
 AliTRDcalibDB.cxx:1779
 AliTRDcalibDB.cxx:1780
 AliTRDcalibDB.cxx:1781
 AliTRDcalibDB.cxx:1782
 AliTRDcalibDB.cxx:1783
 AliTRDcalibDB.cxx:1784
 AliTRDcalibDB.cxx:1785
 AliTRDcalibDB.cxx:1786
 AliTRDcalibDB.cxx:1787
 AliTRDcalibDB.cxx:1788
 AliTRDcalibDB.cxx:1789
 AliTRDcalibDB.cxx:1790
 AliTRDcalibDB.cxx:1791
 AliTRDcalibDB.cxx:1792
 AliTRDcalibDB.cxx:1793
 AliTRDcalibDB.cxx:1794
 AliTRDcalibDB.cxx:1795
 AliTRDcalibDB.cxx:1796
 AliTRDcalibDB.cxx:1797
 AliTRDcalibDB.cxx:1798
 AliTRDcalibDB.cxx:1799
 AliTRDcalibDB.cxx:1800
 AliTRDcalibDB.cxx:1801
 AliTRDcalibDB.cxx:1802
 AliTRDcalibDB.cxx:1803
 AliTRDcalibDB.cxx:1804
 AliTRDcalibDB.cxx:1805
 AliTRDcalibDB.cxx:1806
 AliTRDcalibDB.cxx:1807
 AliTRDcalibDB.cxx:1808
 AliTRDcalibDB.cxx:1809
 AliTRDcalibDB.cxx:1810
 AliTRDcalibDB.cxx:1811
 AliTRDcalibDB.cxx:1812
 AliTRDcalibDB.cxx:1813
 AliTRDcalibDB.cxx:1814
 AliTRDcalibDB.cxx:1815
 AliTRDcalibDB.cxx:1816
 AliTRDcalibDB.cxx:1817
 AliTRDcalibDB.cxx:1818
 AliTRDcalibDB.cxx:1819
 AliTRDcalibDB.cxx:1820
 AliTRDcalibDB.cxx:1821
 AliTRDcalibDB.cxx:1822
 AliTRDcalibDB.cxx:1823
 AliTRDcalibDB.cxx:1824
 AliTRDcalibDB.cxx:1825
 AliTRDcalibDB.cxx:1826
 AliTRDcalibDB.cxx:1827
 AliTRDcalibDB.cxx:1828
 AliTRDcalibDB.cxx:1829
 AliTRDcalibDB.cxx:1830
 AliTRDcalibDB.cxx:1831
 AliTRDcalibDB.cxx:1832
 AliTRDcalibDB.cxx:1833
 AliTRDcalibDB.cxx:1834
 AliTRDcalibDB.cxx:1835
 AliTRDcalibDB.cxx:1836
 AliTRDcalibDB.cxx:1837
 AliTRDcalibDB.cxx:1838
 AliTRDcalibDB.cxx:1839
 AliTRDcalibDB.cxx:1840
 AliTRDcalibDB.cxx:1841
 AliTRDcalibDB.cxx:1842
 AliTRDcalibDB.cxx:1843
 AliTRDcalibDB.cxx:1844
 AliTRDcalibDB.cxx:1845
 AliTRDcalibDB.cxx:1846
 AliTRDcalibDB.cxx:1847
 AliTRDcalibDB.cxx:1848
 AliTRDcalibDB.cxx:1849
 AliTRDcalibDB.cxx:1850
 AliTRDcalibDB.cxx:1851
 AliTRDcalibDB.cxx:1852
 AliTRDcalibDB.cxx:1853
 AliTRDcalibDB.cxx:1854
 AliTRDcalibDB.cxx:1855
 AliTRDcalibDB.cxx:1856
 AliTRDcalibDB.cxx:1857
 AliTRDcalibDB.cxx:1858
 AliTRDcalibDB.cxx:1859
 AliTRDcalibDB.cxx:1860
 AliTRDcalibDB.cxx:1861
 AliTRDcalibDB.cxx:1862
 AliTRDcalibDB.cxx:1863
 AliTRDcalibDB.cxx:1864
 AliTRDcalibDB.cxx:1865
 AliTRDcalibDB.cxx:1866
 AliTRDcalibDB.cxx:1867
 AliTRDcalibDB.cxx:1868
 AliTRDcalibDB.cxx:1869
 AliTRDcalibDB.cxx:1870
 AliTRDcalibDB.cxx:1871
 AliTRDcalibDB.cxx:1872
 AliTRDcalibDB.cxx:1873
 AliTRDcalibDB.cxx:1874
 AliTRDcalibDB.cxx:1875
 AliTRDcalibDB.cxx:1876
 AliTRDcalibDB.cxx:1877
 AliTRDcalibDB.cxx:1878
 AliTRDcalibDB.cxx:1879
 AliTRDcalibDB.cxx:1880
 AliTRDcalibDB.cxx:1881
 AliTRDcalibDB.cxx:1882
 AliTRDcalibDB.cxx:1883
 AliTRDcalibDB.cxx:1884
 AliTRDcalibDB.cxx:1885
 AliTRDcalibDB.cxx:1886
 AliTRDcalibDB.cxx:1887
 AliTRDcalibDB.cxx:1888
 AliTRDcalibDB.cxx:1889
 AliTRDcalibDB.cxx:1890
 AliTRDcalibDB.cxx:1891
 AliTRDcalibDB.cxx:1892
 AliTRDcalibDB.cxx:1893
 AliTRDcalibDB.cxx:1894
 AliTRDcalibDB.cxx:1895
 AliTRDcalibDB.cxx:1896
 AliTRDcalibDB.cxx:1897
 AliTRDcalibDB.cxx:1898
 AliTRDcalibDB.cxx:1899
 AliTRDcalibDB.cxx:1900
 AliTRDcalibDB.cxx:1901
 AliTRDcalibDB.cxx:1902
 AliTRDcalibDB.cxx:1903
 AliTRDcalibDB.cxx:1904
 AliTRDcalibDB.cxx:1905
 AliTRDcalibDB.cxx:1906
 AliTRDcalibDB.cxx:1907
 AliTRDcalibDB.cxx:1908
 AliTRDcalibDB.cxx:1909
 AliTRDcalibDB.cxx:1910
 AliTRDcalibDB.cxx:1911
 AliTRDcalibDB.cxx:1912
 AliTRDcalibDB.cxx:1913
 AliTRDcalibDB.cxx:1914
 AliTRDcalibDB.cxx:1915
 AliTRDcalibDB.cxx:1916
 AliTRDcalibDB.cxx:1917
 AliTRDcalibDB.cxx:1918
 AliTRDcalibDB.cxx:1919
 AliTRDcalibDB.cxx:1920
 AliTRDcalibDB.cxx:1921
 AliTRDcalibDB.cxx:1922
 AliTRDcalibDB.cxx:1923
 AliTRDcalibDB.cxx:1924
 AliTRDcalibDB.cxx:1925
 AliTRDcalibDB.cxx:1926
 AliTRDcalibDB.cxx:1927
 AliTRDcalibDB.cxx:1928
 AliTRDcalibDB.cxx:1929
 AliTRDcalibDB.cxx:1930
 AliTRDcalibDB.cxx:1931
 AliTRDcalibDB.cxx:1932
 AliTRDcalibDB.cxx:1933
 AliTRDcalibDB.cxx:1934
 AliTRDcalibDB.cxx:1935
 AliTRDcalibDB.cxx:1936
 AliTRDcalibDB.cxx:1937
 AliTRDcalibDB.cxx:1938
 AliTRDcalibDB.cxx:1939
 AliTRDcalibDB.cxx:1940
 AliTRDcalibDB.cxx:1941
 AliTRDcalibDB.cxx:1942
 AliTRDcalibDB.cxx:1943
 AliTRDcalibDB.cxx:1944
 AliTRDcalibDB.cxx:1945
 AliTRDcalibDB.cxx:1946
 AliTRDcalibDB.cxx:1947
 AliTRDcalibDB.cxx:1948
 AliTRDcalibDB.cxx:1949
 AliTRDcalibDB.cxx:1950
 AliTRDcalibDB.cxx:1951
 AliTRDcalibDB.cxx:1952
 AliTRDcalibDB.cxx:1953
 AliTRDcalibDB.cxx:1954
 AliTRDcalibDB.cxx:1955
 AliTRDcalibDB.cxx:1956
 AliTRDcalibDB.cxx:1957
 AliTRDcalibDB.cxx:1958
 AliTRDcalibDB.cxx:1959
 AliTRDcalibDB.cxx:1960
 AliTRDcalibDB.cxx:1961
 AliTRDcalibDB.cxx:1962
 AliTRDcalibDB.cxx:1963
 AliTRDcalibDB.cxx:1964
 AliTRDcalibDB.cxx:1965
 AliTRDcalibDB.cxx:1966
 AliTRDcalibDB.cxx:1967
 AliTRDcalibDB.cxx:1968
 AliTRDcalibDB.cxx:1969
 AliTRDcalibDB.cxx:1970
 AliTRDcalibDB.cxx:1971
 AliTRDcalibDB.cxx:1972
 AliTRDcalibDB.cxx:1973
 AliTRDcalibDB.cxx:1974
 AliTRDcalibDB.cxx:1975
 AliTRDcalibDB.cxx:1976
 AliTRDcalibDB.cxx:1977
 AliTRDcalibDB.cxx:1978
 AliTRDcalibDB.cxx:1979
 AliTRDcalibDB.cxx:1980
 AliTRDcalibDB.cxx:1981
 AliTRDcalibDB.cxx:1982
 AliTRDcalibDB.cxx:1983
 AliTRDcalibDB.cxx:1984
 AliTRDcalibDB.cxx:1985
 AliTRDcalibDB.cxx:1986
 AliTRDcalibDB.cxx:1987
 AliTRDcalibDB.cxx:1988
 AliTRDcalibDB.cxx:1989
 AliTRDcalibDB.cxx:1990
 AliTRDcalibDB.cxx:1991
 AliTRDcalibDB.cxx:1992
 AliTRDcalibDB.cxx:1993
 AliTRDcalibDB.cxx:1994
 AliTRDcalibDB.cxx:1995
 AliTRDcalibDB.cxx:1996
 AliTRDcalibDB.cxx:1997
 AliTRDcalibDB.cxx:1998
 AliTRDcalibDB.cxx:1999
 AliTRDcalibDB.cxx:2000
 AliTRDcalibDB.cxx:2001
 AliTRDcalibDB.cxx:2002
 AliTRDcalibDB.cxx:2003
 AliTRDcalibDB.cxx:2004
 AliTRDcalibDB.cxx:2005
 AliTRDcalibDB.cxx:2006
 AliTRDcalibDB.cxx:2007
 AliTRDcalibDB.cxx:2008
 AliTRDcalibDB.cxx:2009
 AliTRDcalibDB.cxx:2010
 AliTRDcalibDB.cxx:2011
 AliTRDcalibDB.cxx:2012
 AliTRDcalibDB.cxx:2013
 AliTRDcalibDB.cxx:2014
 AliTRDcalibDB.cxx:2015
 AliTRDcalibDB.cxx:2016
 AliTRDcalibDB.cxx:2017
 AliTRDcalibDB.cxx:2018
 AliTRDcalibDB.cxx:2019
 AliTRDcalibDB.cxx:2020
 AliTRDcalibDB.cxx:2021
 AliTRDcalibDB.cxx:2022
 AliTRDcalibDB.cxx:2023
 AliTRDcalibDB.cxx:2024
 AliTRDcalibDB.cxx:2025
 AliTRDcalibDB.cxx:2026
 AliTRDcalibDB.cxx:2027
 AliTRDcalibDB.cxx:2028
 AliTRDcalibDB.cxx:2029
 AliTRDcalibDB.cxx:2030
 AliTRDcalibDB.cxx:2031
 AliTRDcalibDB.cxx:2032
 AliTRDcalibDB.cxx:2033
 AliTRDcalibDB.cxx:2034
 AliTRDcalibDB.cxx:2035
 AliTRDcalibDB.cxx:2036
 AliTRDcalibDB.cxx:2037
 AliTRDcalibDB.cxx:2038
 AliTRDcalibDB.cxx:2039
 AliTRDcalibDB.cxx:2040
 AliTRDcalibDB.cxx:2041
 AliTRDcalibDB.cxx:2042
 AliTRDcalibDB.cxx:2043
 AliTRDcalibDB.cxx:2044
 AliTRDcalibDB.cxx:2045
 AliTRDcalibDB.cxx:2046
 AliTRDcalibDB.cxx:2047
 AliTRDcalibDB.cxx:2048
 AliTRDcalibDB.cxx:2049
 AliTRDcalibDB.cxx:2050
 AliTRDcalibDB.cxx:2051
 AliTRDcalibDB.cxx:2052
 AliTRDcalibDB.cxx:2053
 AliTRDcalibDB.cxx:2054
 AliTRDcalibDB.cxx:2055
 AliTRDcalibDB.cxx:2056
 AliTRDcalibDB.cxx:2057
 AliTRDcalibDB.cxx:2058
 AliTRDcalibDB.cxx:2059
 AliTRDcalibDB.cxx:2060
 AliTRDcalibDB.cxx:2061
 AliTRDcalibDB.cxx:2062
 AliTRDcalibDB.cxx:2063
 AliTRDcalibDB.cxx:2064
 AliTRDcalibDB.cxx:2065
 AliTRDcalibDB.cxx:2066
 AliTRDcalibDB.cxx:2067
 AliTRDcalibDB.cxx:2068
 AliTRDcalibDB.cxx:2069
 AliTRDcalibDB.cxx:2070
 AliTRDcalibDB.cxx:2071
 AliTRDcalibDB.cxx:2072
 AliTRDcalibDB.cxx:2073
 AliTRDcalibDB.cxx:2074
 AliTRDcalibDB.cxx:2075
 AliTRDcalibDB.cxx:2076
 AliTRDcalibDB.cxx:2077
 AliTRDcalibDB.cxx:2078
 AliTRDcalibDB.cxx:2079
 AliTRDcalibDB.cxx:2080
 AliTRDcalibDB.cxx:2081
 AliTRDcalibDB.cxx:2082
 AliTRDcalibDB.cxx:2083
 AliTRDcalibDB.cxx:2084
 AliTRDcalibDB.cxx:2085
 AliTRDcalibDB.cxx:2086
 AliTRDcalibDB.cxx:2087
 AliTRDcalibDB.cxx:2088
 AliTRDcalibDB.cxx:2089
 AliTRDcalibDB.cxx:2090
 AliTRDcalibDB.cxx:2091
 AliTRDcalibDB.cxx:2092
 AliTRDcalibDB.cxx:2093
 AliTRDcalibDB.cxx:2094
 AliTRDcalibDB.cxx:2095
 AliTRDcalibDB.cxx:2096
 AliTRDcalibDB.cxx:2097
 AliTRDcalibDB.cxx:2098
 AliTRDcalibDB.cxx:2099
 AliTRDcalibDB.cxx:2100
 AliTRDcalibDB.cxx:2101
 AliTRDcalibDB.cxx:2102
 AliTRDcalibDB.cxx:2103
 AliTRDcalibDB.cxx:2104
 AliTRDcalibDB.cxx:2105
 AliTRDcalibDB.cxx:2106
 AliTRDcalibDB.cxx:2107
 AliTRDcalibDB.cxx:2108
 AliTRDcalibDB.cxx:2109
 AliTRDcalibDB.cxx:2110
 AliTRDcalibDB.cxx:2111
 AliTRDcalibDB.cxx:2112
 AliTRDcalibDB.cxx:2113
 AliTRDcalibDB.cxx:2114
 AliTRDcalibDB.cxx:2115
 AliTRDcalibDB.cxx:2116
 AliTRDcalibDB.cxx:2117
 AliTRDcalibDB.cxx:2118
 AliTRDcalibDB.cxx:2119
 AliTRDcalibDB.cxx:2120
 AliTRDcalibDB.cxx:2121
 AliTRDcalibDB.cxx:2122
 AliTRDcalibDB.cxx:2123
 AliTRDcalibDB.cxx:2124
 AliTRDcalibDB.cxx:2125
 AliTRDcalibDB.cxx:2126
 AliTRDcalibDB.cxx:2127
 AliTRDcalibDB.cxx:2128
 AliTRDcalibDB.cxx:2129
 AliTRDcalibDB.cxx:2130
 AliTRDcalibDB.cxx:2131
 AliTRDcalibDB.cxx:2132
 AliTRDcalibDB.cxx:2133
 AliTRDcalibDB.cxx:2134
 AliTRDcalibDB.cxx:2135
 AliTRDcalibDB.cxx:2136
 AliTRDcalibDB.cxx:2137
 AliTRDcalibDB.cxx:2138
 AliTRDcalibDB.cxx:2139
 AliTRDcalibDB.cxx:2140
 AliTRDcalibDB.cxx:2141
 AliTRDcalibDB.cxx:2142
 AliTRDcalibDB.cxx:2143
 AliTRDcalibDB.cxx:2144
 AliTRDcalibDB.cxx:2145
 AliTRDcalibDB.cxx:2146
 AliTRDcalibDB.cxx:2147
 AliTRDcalibDB.cxx:2148
 AliTRDcalibDB.cxx:2149
 AliTRDcalibDB.cxx:2150
 AliTRDcalibDB.cxx:2151
 AliTRDcalibDB.cxx:2152
 AliTRDcalibDB.cxx:2153
 AliTRDcalibDB.cxx:2154
 AliTRDcalibDB.cxx:2155
 AliTRDcalibDB.cxx:2156
 AliTRDcalibDB.cxx:2157
 AliTRDcalibDB.cxx:2158
 AliTRDcalibDB.cxx:2159
 AliTRDcalibDB.cxx:2160
 AliTRDcalibDB.cxx:2161
 AliTRDcalibDB.cxx:2162
 AliTRDcalibDB.cxx:2163
 AliTRDcalibDB.cxx:2164
 AliTRDcalibDB.cxx:2165
 AliTRDcalibDB.cxx:2166
 AliTRDcalibDB.cxx:2167
 AliTRDcalibDB.cxx:2168
 AliTRDcalibDB.cxx:2169
 AliTRDcalibDB.cxx:2170
 AliTRDcalibDB.cxx:2171
 AliTRDcalibDB.cxx:2172
 AliTRDcalibDB.cxx:2173
 AliTRDcalibDB.cxx:2174
 AliTRDcalibDB.cxx:2175
 AliTRDcalibDB.cxx:2176
 AliTRDcalibDB.cxx:2177
 AliTRDcalibDB.cxx:2178
 AliTRDcalibDB.cxx:2179
 AliTRDcalibDB.cxx:2180
 AliTRDcalibDB.cxx:2181
 AliTRDcalibDB.cxx:2182
 AliTRDcalibDB.cxx:2183
 AliTRDcalibDB.cxx:2184
 AliTRDcalibDB.cxx:2185
 AliTRDcalibDB.cxx:2186
 AliTRDcalibDB.cxx:2187
 AliTRDcalibDB.cxx:2188
 AliTRDcalibDB.cxx:2189
 AliTRDcalibDB.cxx:2190
 AliTRDcalibDB.cxx:2191
 AliTRDcalibDB.cxx:2192
 AliTRDcalibDB.cxx:2193
 AliTRDcalibDB.cxx:2194
 AliTRDcalibDB.cxx:2195
 AliTRDcalibDB.cxx:2196
 AliTRDcalibDB.cxx:2197