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.                  *
 **************************************************************************/

/* 
$Log: AliTOFClusterFinder.cxx,v $
Revision 1.31  2007/11/24 14:53:19  zampolli
Status flag implemented as UChar_t

Revision 1.30  2007/10/04 13:08:52  arcelli
updates to comply with AliTOFGeometryV5 becoming AliTOFGeometry

Revision 1.29  2007/10/03 10:42:33  arcelli
updates to handle new AliTOFcluster, inheriting form AliCluster3D

Revision 1.28  2007/05/31 16:06:05  arcelli
move instance of AliRawStream outside loop on DDL

Revision 1.27  2007/05/02 16:31:49  arcelli
Add methods to handle single event reconstruction.  retrieval of Calib
info moved to AliTOFReconstructor ctor, and passed via a pointer to
AliTOFcalib

Revision 1.26  2007/04/30 19:02:24  arcelli
hopefully the last refinements for correct type conversion in calibration

Revision 1.25  2007/04/30 15:22:17  arcelli
Change TOF digit Time, Tot etc to int type

Revision 1.24  2007/04/27 11:19:31  arcelli
updates for the new decoder

Revision 1.23  2007/04/23 16:51:39  decaro
Digits-to-raw_data conversion: correction for a more real description
(A.De Caro, R.Preghenella)

Revision 1.22  2007/04/19 17:26:32  arcelli
Fix a bug (add some debug printout

Revision 1.21  2007/04/18 17:28:12  arcelli
Set the ToT bin width to the one actually used...

Revision 1.20  2007/03/09 09:57:23  arcelli
 Remove a forgotten include of Riostrem

Revision 1.19  2007/03/08 15:41:20  arcelli
set uncorrected times when filling RecPoints

Revision 1.18  2007/03/06 16:31:20  arcelli
Add Uncorrected TOF Time signal

Revision 1.17  2007/02/28 18:09:11  arcelli
Add protection against failed retrieval of the CDB cal object,
now Reconstruction exits with AliFatal

Revision 1.16  2007/02/20 15:57:00  decaro
Raw data update: to read the TOF raw data defined in UNPACKED mode


Revision 0.03  2005/07/28 A. De Caro
         Implement public method
	 Raw2Digits(Int_t, AliRawReader *)
	 to convert digits from raw data in MC digits
	 (temporary solution)

Revision 0.02  2005/07/27 A. De Caro
         Implement public method
	 Digits2RecPoint(Int_t)
	 to convert digits in clusters

Revision 0.02  2005/07/26 A. De Caro
         Implement private methods
	 InsertCluster(AliTOFcluster *)
	 FindClusterIndex(Double_t)
	 originally implemented in AliTOFtracker
	 by S. Arcelli and C. Zampolli

Revision 0.01  2005/07/25 A. De Caro
         Implement public methods
	 Digits2RecPoint(AliRawReader *, TTree *)
	 Digits2RecPoint(Int_t, AliRawReader *)
	 to convert raw data in clusters
 */

////////////////////////////////////////////////////////////////
//                                                            //
//         Class for TOF cluster finder                       //
//                                                            //
// Starting from Raw Data, create rec points,                 //
//                         fill TreeR for TOF,                //
//                         write TOF.RecPoints.root file      //
//                                                            //
////////////////////////////////////////////////////////////////

#include "Riostream.h"

#include "TClonesArray.h"
#include "TStopwatch.h"
#include "TTree.h"
//#include <TGeoManager.h>
#include <TGeoMatrix.h>
//#include <TGeoPhysicalNode.h>

#include "AliDAQ.h"
#include "AliLoader.h"
#include "AliLog.h"
#include "AliRawReader.h"
#include "AliRunLoader.h"
//#include "AliAlignObj.h"
#include <AliGeomManager.h>

#include "AliTOFcalib.h"
#include "AliTOFChannelOnlineArray.h"
#include "AliTOFChannelOnlineStatusArray.h"
#include "AliTOFChannelOffline.h"
#include "AliTOFClusterFinder.h"
#include "AliTOFcluster.h"
#include "AliTOFdigit.h"
#include "AliTOFGeometry.h"
#include "AliTOFrawData.h"

#include "AliTOFDeltaBCOffset.h"
#include "AliTOFCTPLatency.h"
#include "AliTOFRunParams.h"

//extern TFile *gFile;

using std::cout;
using std::endl;
using std::ofstream;
using std::ios;
ClassImp(AliTOFClusterFinder)

AliTOFClusterFinder::AliTOFClusterFinder(AliTOFcalib *calib):
  TTask("AliTOFClusterFinder",""),
  fRunLoader(0),
  fTOFLoader(0),
  fTreeD(0),
  fTreeR(0),
  fDigits(new TClonesArray("AliTOFdigit", 4000)),
  fRecPoints(new TClonesArray("AliTOFcluster", 4000)),
  fNumberOfTofClusters(0),
  fNumberOfTofTrgPads(0),
  fVerbose(0),
  fDecoderVersion(0),
  fTOFcalib(calib),
  fTOFRawStream(AliTOFRawStream())
{
//
// Constructor
//

  for (Int_t ii=0; ii<kTofMaxCluster; ii++) fTofClusters[ii]=0x0;

  TString validity = (TString)fTOFcalib->GetOfflineValidity();
  if (validity.CompareTo("valid")==0) {
    AliInfo(Form(" validity = %s - Using offline calibration parameters",validity.Data()));
  } else {
    AliInfo(Form(" validity = %s - Using online calibration parameters",validity.Data()));
  }

}

//______________________________________________________________________________

AliTOFClusterFinder::AliTOFClusterFinder(AliRunLoader* runLoader, AliTOFcalib *calib):
  TTask("AliTOFClusterFinder",""),
  fRunLoader(runLoader),
  fTOFLoader(runLoader->GetLoader("TOFLoader")),
  fTreeD(0),
  fTreeR(0),
  fDigits(new TClonesArray("AliTOFdigit", 4000)),
  fRecPoints(new TClonesArray("AliTOFcluster", 4000)),
  fNumberOfTofClusters(0),
  fNumberOfTofTrgPads(0),
  fVerbose(0),
  fDecoderVersion(0),
  fTOFcalib(calib),
  fTOFRawStream(AliTOFRawStream())
{
//
// Constructor
//

  for (Int_t ii=0; ii<kTofMaxCluster; ii++) fTofClusters[ii]=0x0;

  TString validity = (TString)fTOFcalib->GetOfflineValidity();
  if (validity.CompareTo("valid")==0) {
    AliInfo(Form(" validity = %s - Using offline calibration parameters",validity.Data()));
  } else {
    AliInfo(Form(" validity = %s - Using online calibration parameters",validity.Data()));
  }

}

//------------------------------------------------------------------------
AliTOFClusterFinder::AliTOFClusterFinder(const AliTOFClusterFinder &source) :
  TTask(source),
  fRunLoader(0),
  fTOFLoader(0),
  fTreeD(0),
  fTreeR(0),
  fDigits(source.fDigits),
  fRecPoints(source.fRecPoints),
  fNumberOfTofClusters(0),
  fNumberOfTofTrgPads(0),
  fVerbose(0),
  fDecoderVersion(source.fDecoderVersion),
  fTOFcalib(source.fTOFcalib),
  fTOFRawStream(source.fTOFRawStream)
{
  // copy constructor

  for (Int_t ii=0; ii<kTofMaxCluster; ii++) fTofClusters[ii]=source.fTofClusters[ii];

}

//------------------------------------------------------------------------
AliTOFClusterFinder& AliTOFClusterFinder::operator=(const AliTOFClusterFinder &source)
{
  // ass. op.

  if (this == &source)
    return *this;

  TTask::operator=(source);  
  fDigits=source.fDigits;
  fRecPoints=source.fRecPoints;
  fVerbose=source.fVerbose;
  fDecoderVersion=source.fDecoderVersion;
  fTOFcalib=source.fTOFcalib;
  fTOFRawStream=source.fTOFRawStream;
  for (Int_t ii=0; ii<kTofMaxCluster; ii++) fTofClusters[ii]=source.fTofClusters[ii];

  return *this;

}
//______________________________________________________________________________

AliTOFClusterFinder::~AliTOFClusterFinder()
{

  //
  // Destructor
  //

  if (fDigits)
    {
      fDigits->Delete();
      delete fDigits;
      fDigits=0;
    }
  if (fRecPoints)
    {
      fRecPoints->Delete();
      delete fRecPoints;
      fRecPoints=0;
    }

  //if (fTofClusters || fNumberOfTofClusters) {
  if (fNumberOfTofClusters) {
    for (Int_t ii=0; ii<kTofMaxCluster; ii++) {
      if (fTofClusters[ii]) fTofClusters[ii]->Delete();
      delete fTofClusters[ii];
    }
    fNumberOfTofClusters=0;
   }

   fNumberOfTofTrgPads=0;

}
//______________________________________________________________________________

void AliTOFClusterFinder::Digits2RecPoints(Int_t iEvent)
{
  //
  // Converts digits to recpoints for TOF
  //

  TStopwatch stopwatch;
  stopwatch.Start();

  Int_t inholes = 0;

  fRunLoader->GetEvent(iEvent);

  fTreeD = fTOFLoader->TreeD();
  if (fTreeD == 0x0) {
    AliFatal("AliTOFClusterFinder: Can not get TreeD");
    return;
  }

  fDigits->Clear();
  fTreeD->GetBranch("TOF")->SetAutoDelete(kFALSE);
  fTreeD->SetBranchAddress("TOF",&fDigits);

  ResetRecpoint();

  fTreeR = fTOFLoader->TreeR();
  if (fTreeR == 0x0)
    {
      fTOFLoader->MakeTree("R");
      fTreeR = fTOFLoader->TreeR();
    }

  Int_t bufsize = 32000;
  fTreeR->Branch("TOF", &fRecPoints, bufsize);

  fTreeD->GetEvent(0);
  Int_t nDigits = fDigits->GetEntriesFast();
  AliDebug(2,Form("Number of TOF digits: %d",nDigits));

  Int_t ii;
  Int_t dig[5]={-1,-1,-1,-1,-1}; //cluster detector indeces
  Int_t parTOF[7]={0,0,0,0,0,0,0}; //The TOF signal parameters
  Bool_t status=kTRUE; // assume all sim channels ok in the beginning...
  for (ii=0; ii<nDigits; ii++) {
    AliTOFdigit *d = (AliTOFdigit*)fDigits->UncheckedAt(ii);
    dig[0]=d->GetSector();
    dig[1]=d->GetPlate();
    dig[2]=d->GetStrip();
    dig[3]=d->GetPadz();
    dig[4]=d->GetPadx();

    /* check valid index */
    if (dig[0]==-1||dig[1]==-1||dig[2]==-1||dig[3]==-1||dig[4]==-1) continue;

    // Do not reconstruct anything in the holes
    if (dig[0]==13 || dig[0]==14 || dig[0]==15 ) { // sectors with holes
      if (dig[1]==2) { // plate with holes
	inholes++;
	continue;
      }
    }

    AliDebug(2,Form(" %2d  %1d  %2d  %1d  %2d ",dig[0],dig[1],dig[2],dig[3],dig[4]));

    parTOF[0] = d->GetTdc(); //the TDC signal
    parTOF[1] = d->GetToT(); //the ToT signal
    parTOF[2] = d->GetAdc(); // the adc charge
    parTOF[3] = d->GetTdcND(); // non decalibrated sim time
    parTOF[4] = d->GetTdc(); // raw time, == Tdc time for the moment
    parTOF[5] = 0; // deltaBC
    parTOF[6] = 0; // L0-L1 latency
    Double_t posClus[3];
    Double_t covClus[6];
    UShort_t volIdClus=GetClusterVolIndex(dig);
    GetClusterPars(dig, posClus,covClus);
    AliTOFcluster *tofCluster = new AliTOFcluster(volIdClus,posClus[0],posClus[1],posClus[2],covClus[0],covClus[1],covClus[2],covClus[3],covClus[4],covClus[5],d->GetTracks(),dig,parTOF,status,ii);
    InsertCluster(tofCluster);

  }

  AliDebug(1,Form("Number of found clusters: %d for event: %d", fNumberOfTofClusters, iEvent));

  CalibrateRecPoint();
  FillRecPoint();

  fTreeR->Fill();
//  ResetRecpoint();

  fTOFLoader = fRunLoader->GetLoader("TOFLoader");  
  fTOFLoader->WriteRecPoints("OVERWRITE");

  AliDebug(1,Form("Execution time to read TOF digits and to write TOF clusters : R:%.4fs C:%.4fs",
		  stopwatch.RealTime(),stopwatch.CpuTime()));
  if (inholes) AliWarning(Form("Clusters in the TOF holes: %d",inholes));

}

//______________________________________________________________________________

void AliTOFClusterFinder::Digits2RecPoints(TTree* digitsTree, TTree* clusterTree)
{
  //
  // Converts digits to recpoints for TOF
  //

  TStopwatch stopwatch;
  stopwatch.Start();

  Int_t inholes = 0;

  if (digitsTree == 0x0) {
    AliFatal("AliTOFClusterFinder: Can not get TreeD");
    return;
  }

  fDigits->Clear();
  digitsTree->GetBranch("TOF")->SetAutoDelete(kFALSE);
  digitsTree->SetBranchAddress("TOF",&fDigits);

  ResetRecpoint();
  Int_t bufsize = 32000;
  clusterTree->Branch("TOF", &fRecPoints, bufsize);

  digitsTree->GetEvent(0);
  Int_t nDigits = fDigits->GetEntriesFast();
  AliDebug(2,Form("Number of TOF digits: %d",nDigits));

  Int_t ii;
  Int_t dig[5]={-1,-1,-1,-1,-1}; //cluster detector indeces
  Int_t parTOF[7]={0,0,0,0,0,0,0}; //The TOF signal parameters
  Bool_t status=kTRUE; // assume all sim channels ok in the beginning...
  for (ii=0; ii<nDigits; ii++) {
    AliTOFdigit *d = (AliTOFdigit*)fDigits->UncheckedAt(ii);
    dig[0]=d->GetSector();
    dig[1]=d->GetPlate();
    dig[2]=d->GetStrip();
    dig[3]=d->GetPadz();
    dig[4]=d->GetPadx();

    /* check valid index */
    if (dig[0]==-1||dig[1]==-1||dig[2]==-1||dig[3]==-1||dig[4]==-1) continue;

    // Do not reconstruct anything in the holes
    if (dig[0]==13 || dig[0]==14 || dig[0]==15 ) { // sectors with holes
      if (dig[1]==2) { // plate with holes
	inholes++;
	continue;
      }
    }

    //    AliDebug(2,Form(" %2d  %1d  %2d  %1d  %2d ",dig[0],dig[1],dig[2],dig[3],dig[4]));

    parTOF[0] = d->GetTdc(); //the TDC signal
    parTOF[1] = d->GetToT(); //the ToT signal
    parTOF[2] = d->GetAdc(); // the adc charge
    parTOF[3] = d->GetTdcND(); // non decalibrated sim time
    parTOF[4] = d->GetTdc(); // raw time, == Tdc time for the moment
    parTOF[5] = 0; // deltaBC
    parTOF[6] = 0; // L0-L1 latency
    
    Double_t posClus[3];
    Double_t covClus[6];
    UShort_t volIdClus=GetClusterVolIndex(dig);
    GetClusterPars(dig,posClus,covClus);
    AliTOFcluster *tofCluster = new AliTOFcluster(volIdClus,posClus[0],posClus[1],posClus[2],covClus[0],covClus[1],covClus[2],covClus[3],covClus[4],covClus[5],d->GetTracks(),dig,parTOF,status,ii);
    InsertCluster(tofCluster);

  }

  AliDebug(1,Form("Number of found clusters: %d", fNumberOfTofClusters));

  CalibrateRecPoint();
  FillRecPoint();

  clusterTree->Fill();
//  ResetRecpoint();

  AliDebug(1,Form("Execution time to read TOF digits and to write TOF clusters : R:%.4fs C:%.4fs",
		  stopwatch.RealTime(),stopwatch.CpuTime()));
  if (inholes) AliWarning(Form("Clusters in the TOF holes: %d",inholes));

}
//______________________________________________________________________________

void AliTOFClusterFinder::Digits2RecPoints(AliRawReader *rawReader,
					   TTree *clustersTree)
{
  //
  // Converts RAW data to recpoints for TOF
  //

  TStopwatch stopwatch;
  stopwatch.Start();

  Int_t inholes = 0;

  const Int_t kDDL = AliDAQ::NumberOfDdls("TOF");

  ResetRecpoint();

  Int_t bufsize = 32000;
  clustersTree->Branch("TOF", &fRecPoints, bufsize);

  TClonesArray * clonesRawData;
  Int_t dummy = -1;

  Int_t detectorIndex[5]={-1,-1,-1,-1,-1};
  Int_t parTOF[7]={-1,-1,-1,-1,-1,-1,-1};

  ofstream ftxt;
  if (fVerbose==2) ftxt.open("TOFdigitsRead.txt",ios::app);

  fTOFRawStream.Clear();
  fTOFRawStream.SetRawReader(rawReader);

  if (fDecoderVersion == 1) {
    AliInfo("Using New Decoder");
  }
  else if (fDecoderVersion == 2) {
    AliInfo("Using Enhanced Decoder");
  }
  else {
    AliInfo("Using Old Decoder");
  }

  Int_t indexDDL = 0;
  for (indexDDL = 0; indexDDL < kDDL; indexDDL++) {

    rawReader->Reset();
    if (fDecoderVersion == 1) {
      fTOFRawStream.LoadRawDataBuffers(indexDDL,fVerbose);
    }
    else if (fDecoderVersion == 2) {
      fTOFRawStream.LoadRawDataBuffersV2(indexDDL,fVerbose);
    }
    else  {
      fTOFRawStream.LoadRawData(indexDDL);
    }
    
    clonesRawData = (TClonesArray*)fTOFRawStream.GetRawData();

    for (Int_t iRawData = 0; iRawData<clonesRawData->GetEntriesFast(); iRawData++) {

      AliTOFrawData *tofRawDatum = (AliTOFrawData*)clonesRawData->UncheckedAt(iRawData);

      //if (tofRawDatum->GetTOT()==-1 || tofRawDatum->GetTOF()==-1) continue;
      if (tofRawDatum->GetTOF()==-1) continue;

      if (fVerbose==2) {
	if (indexDDL<10) ftxt << "  " << indexDDL;
	else         ftxt << " " << indexDDL;
	if (tofRawDatum->GetTRM()<10) ftxt << "  " << tofRawDatum->GetTRM();
	else         ftxt << " " << tofRawDatum->GetTRM();
	ftxt << "  " << tofRawDatum->GetTRMchain();
	if (tofRawDatum->GetTDC()<10) ftxt << "  " << tofRawDatum->GetTDC();
	else         ftxt << " " << tofRawDatum->GetTDC();
	ftxt << "  " << tofRawDatum->GetTDCchannel();
      }

      if ( tofRawDatum->GetTRM()==3 &&
         (tofRawDatum->GetTDC()> 11 && tofRawDatum->GetTDC()< 15) ) FillTOFtriggerMap(indexDDL, tofRawDatum);

      for (Int_t aa=0; aa<5; aa++) detectorIndex[aa] = -1;

      fTOFRawStream.EquipmentId2VolumeId(indexDDL, tofRawDatum->GetTRM(), tofRawDatum->GetTRMchain(),
					 tofRawDatum->GetTDC(), tofRawDatum->GetTDCchannel(), detectorIndex);
      dummy = detectorIndex[3];
      detectorIndex[3] = detectorIndex[4];
      detectorIndex[4] = dummy;

      if (fVerbose==2) {
	if (detectorIndex[0]<10) ftxt  << "  ->  " << detectorIndex[0];
	else              ftxt  << "  -> " << detectorIndex[0];
	ftxt << "  " << detectorIndex[1];
	if (detectorIndex[2]<10) ftxt << "  " << detectorIndex[2];
	else              ftxt << " " << detectorIndex[2];
	ftxt << "  " << detectorIndex[3];
	if (detectorIndex[4]<10) ftxt << "  " << detectorIndex[4];
	else              ftxt << " " << detectorIndex[4];
      }

    /* check valid index */
    if (detectorIndex[0]==-1||detectorIndex[1]==-1||detectorIndex[2]==-1||detectorIndex[3]==-1||detectorIndex[4]==-1) continue;

      // Do not reconstruct anything in the holes
      if (detectorIndex[0]==13 || detectorIndex[0]==14 || detectorIndex[0]==15 ) { // sectors with holes
	if (detectorIndex[1]==2) { // plate with holes
	  inholes++;
	  continue;
	}
      }

      parTOF[0] = tofRawDatum->GetTOF(); //TDC
      parTOF[1] = tofRawDatum->GetTOT(); // TOT
      parTOF[2] = tofRawDatum->GetTOT(); //ADC==TOF
      parTOF[3] = 0;//raw data: no track of undecalib sim time
      parTOF[4] = tofRawDatum->GetTOF(); // RAW time
      parTOF[5] = tofRawDatum->GetDeltaBC(); // deltaBC
      parTOF[6] = tofRawDatum->GetL0L1Latency(); // L0-L1 latency
      Double_t posClus[3];
      Double_t covClus[6];
      UShort_t volIdClus=GetClusterVolIndex(detectorIndex);
      Int_t lab[3]={-1,-1,-1};
      Bool_t status=kTRUE;
      GetClusterPars(detectorIndex,posClus,covClus);
      AliTOFcluster *tofCluster = new AliTOFcluster(volIdClus,posClus[0],posClus[1],posClus[2],covClus[0],covClus[1],covClus[2],covClus[3],covClus[4],covClus[5],lab,detectorIndex,parTOF,status,-1);
      InsertCluster(tofCluster);

      if (fVerbose==2) {
	if (parTOF[1]<10)ftxt << "        " << parTOF[1];
	else if (parTOF[1]>=10 && parTOF[1]<100) ftxt << "      " << parTOF[1];
	else ftxt << "      " << parTOF[1];
	if (parTOF[0]<10) ftxt << "      " << parTOF[0] << endl;
	else if (parTOF[0]>=10 && parTOF[0]<100)   ftxt << "    " << parTOF[0] << endl;
	else if (parTOF[0]>=100 && parTOF[0]<1000) ftxt << "    " << parTOF[0] << endl;
	else ftxt << "   " << parTOF[0] << endl;
      }

    } // closed loop on TOF raw data per current DDL file

    clonesRawData->Clear("C");

  } // closed loop on DDL index

  if (fVerbose==2) ftxt.close();

  AliDebug(1,Form("Number of found clusters: %d", fNumberOfTofClusters));

  CalibrateRecPoint(rawReader->GetTimestamp());
  FillRecPoint();

  clustersTree->Fill();

//  ResetRecpoint();

  AliDebug(1, Form("Execution time to read TOF raw data and to write TOF clusters : R:%.4fs C:%.4fs",
		   stopwatch.RealTime(),stopwatch.CpuTime()));
  if (inholes) AliWarning(Form("Clusters in the TOF holes: %d",inholes));

}
//______________________________________________________________________________

void AliTOFClusterFinder::Digits2RecPoints(Int_t iEvent, AliRawReader *rawReader)
{
  //
  // Converts RAW data to recpoints for TOF
  //

  TStopwatch stopwatch;
  stopwatch.Start();

  Int_t inholes = 0;

  const Int_t kDDL = AliDAQ::NumberOfDdls("TOF");

  fRunLoader->GetEvent(iEvent);

  AliDebug(2,Form(" Event number %2d ", iEvent));

  fTreeR = fTOFLoader->TreeR();

  if (fTreeR == 0x0){
    fTOFLoader->MakeTree("R");
    fTreeR = fTOFLoader->TreeR();
  }

  Int_t bufsize = 32000;
  fTreeR->Branch("TOF", &fRecPoints, bufsize);

  TClonesArray * clonesRawData;

  Int_t dummy = -1;

  Int_t detectorIndex[5] = {-1, -1, -1, -1, -1};
  Int_t parTOF[7];
  ofstream ftxt;
  if (fVerbose==2) ftxt.open("TOFdigitsRead.txt",ios::app);

  fTOFRawStream.Clear();
  fTOFRawStream.SetRawReader(rawReader);

  if (fDecoderVersion == 1) {
    AliInfo("Using New Decoder");
  }
  else if (fDecoderVersion == 2) {
    AliInfo("Using Enhanced Decoder");
  }
  else {
    AliInfo("Using Old Decoder");
  }

  Int_t indexDDL = 0;
  for (indexDDL = 0; indexDDL < kDDL; indexDDL++) {

    rawReader->Reset();
    if (fDecoderVersion == 1) {
      fTOFRawStream.LoadRawDataBuffers(indexDDL,fVerbose);
    }
    else if (fDecoderVersion == 2) {
      fTOFRawStream.LoadRawDataBuffersV2(indexDDL,fVerbose);
    }
    else {
      fTOFRawStream.LoadRawData(indexDDL);
    }

    clonesRawData = (TClonesArray*)fTOFRawStream.GetRawData();

    for (Int_t iRawData = 0; iRawData<clonesRawData->GetEntriesFast(); iRawData++) {

      AliTOFrawData *tofRawDatum = (AliTOFrawData*)clonesRawData->UncheckedAt(iRawData);

      //if (tofRawDatum->GetTOT()==-1 || tofRawDatum->GetTOF()==-1) continue;
      if (tofRawDatum->GetTOF()==-1) continue;

      if (fVerbose==2) {
	if (indexDDL<10) ftxt << "  " << indexDDL;
	else         ftxt << " " << indexDDL;
	if (tofRawDatum->GetTRM()<10) ftxt << "  " << tofRawDatum->GetTRM();
	else         ftxt << " " << tofRawDatum->GetTRM();
	ftxt << "  " << tofRawDatum->GetTRMchain();
	if (tofRawDatum->GetTDC()<10) ftxt << "  " << tofRawDatum->GetTDC();
	else         ftxt << " " << tofRawDatum->GetTDC();
	ftxt << "  " << tofRawDatum->GetTDCchannel();
      }

      fTOFRawStream.EquipmentId2VolumeId(indexDDL, tofRawDatum->GetTRM(), tofRawDatum->GetTRMchain(),
					 tofRawDatum->GetTDC(), tofRawDatum->GetTDCchannel(), detectorIndex);
      dummy = detectorIndex[3];
      detectorIndex[3] = detectorIndex[4];
      detectorIndex[4] = dummy;

      if (fVerbose==2) {
	if (detectorIndex[0]<10) ftxt  << "  ->  " << detectorIndex[0];
	else              ftxt  << "  -> " << detectorIndex[0];
	ftxt << "  " << detectorIndex[1];
	if (detectorIndex[2]<10) ftxt << "  " << detectorIndex[2];
	else              ftxt << " " << detectorIndex[2];
	ftxt << "  " << detectorIndex[3];
	if (detectorIndex[4]<10) ftxt << "  " << detectorIndex[4];
	else              ftxt << " " << detectorIndex[4];
      }

    /* check valid index */
    if (detectorIndex[0]==-1||detectorIndex[1]==-1||detectorIndex[2]==-1||detectorIndex[3]==-1||detectorIndex[4]==-1) continue;

      // Do not reconstruct anything in the holes
      if (detectorIndex[0]==13 || detectorIndex[0]==14 || detectorIndex[0]==15 ) { // sectors with holes
	if (detectorIndex[1]==2) { // plate with holes
	  inholes++;
	  continue;
	}
      }

      parTOF[0] = tofRawDatum->GetTOF(); // TDC
      parTOF[1] = tofRawDatum->GetTOT(); // TOT
      parTOF[2] = tofRawDatum->GetTOT(); // raw data have ADC=TOT
      parTOF[3] = 0; //raw data: no track of the undecalib sim time
      parTOF[4] = tofRawDatum->GetTOF(); // Raw time == TDC
      parTOF[5] = tofRawDatum->GetDeltaBC(); // deltaBC
      parTOF[6] = tofRawDatum->GetL0L1Latency(); // L0-L1 latency
      Double_t posClus[3];
      Double_t covClus[6];
      UShort_t volIdClus=GetClusterVolIndex(detectorIndex);
      Int_t lab[3]={-1,-1,-1};
      Bool_t status=kTRUE;
      GetClusterPars(detectorIndex,posClus,covClus);
      AliTOFcluster *tofCluster = new AliTOFcluster(volIdClus,posClus[0],posClus[1],posClus[2],covClus[0],covClus[1],covClus[2],covClus[3],covClus[4],covClus[5],lab,detectorIndex,parTOF,status,-1);
      InsertCluster(tofCluster);

      if (fVerbose==2) {
	if (parTOF[1]<10)ftxt << "        " << parTOF[1];
	else if (parTOF[1]>=10 && parTOF[1]<100) ftxt << "      " << parTOF[1];
	else ftxt << "      " << parTOF[1];
	if (parTOF[0]<10) ftxt << "      " << parTOF[0] << endl;
	else if (parTOF[0]>=10 && parTOF[0]<100)   ftxt << "    " << parTOF[0] << endl;
	else if (parTOF[0]>=100 && parTOF[0]<1000) ftxt << "    " << parTOF[0] << endl;
	else ftxt << "   " << parTOF[0] << endl;
      }

    } // closed loop on TOF raw data per current DDL file

    clonesRawData->Clear("C");

  } // closed loop on DDL index

  if (fVerbose==2) ftxt.close();

  AliDebug(1,Form("Number of found clusters: %d for event: %d", fNumberOfTofClusters, iEvent));

  CalibrateRecPoint(rawReader->GetTimestamp());
  FillRecPoint();

  fTreeR->Fill();
//  ResetRecpoint();

  fTOFLoader = fRunLoader->GetLoader("TOFLoader");
  fTOFLoader->WriteRecPoints("OVERWRITE");
  
  AliDebug(1, Form("Execution time to read TOF raw data and to write TOF clusters : R:%.4fs C:%.4fs",
	       stopwatch.RealTime(),stopwatch.CpuTime()));
  if (inholes) AliWarning(Form("Clusters in the TOF holes: %d",inholes));

}
//______________________________________________________________________________

void AliTOFClusterFinder::Raw2Digits(Int_t iEvent, AliRawReader *rawReader)
{
  //
  // Converts RAW data to MC digits for TOF
  //
  //             (temporary solution)
  //

  TStopwatch stopwatch;
  stopwatch.Start();

  const Int_t kDDL = AliTOFGeometry::NDDL()*AliTOFGeometry::NSectors();

  fRunLoader->GetEvent(iEvent);

  fTreeD = fTOFLoader->TreeD();
  if (fTreeD)
    {
    AliInfo("TreeD re-creation");
    fTreeD = 0x0;
    fTOFLoader->MakeTree("D");
    fTreeD = fTOFLoader->TreeD();
    }
  else {
    AliFatal("Can not get TreeD");
    return;
  }

  Int_t bufsize = 32000;
  fDigits->Clear();
  fTreeD->Branch("TOF", &fDigits, bufsize);

  fRunLoader->GetEvent(iEvent);

  AliDebug(2,Form(" Event number %2d ", iEvent));

  TClonesArray * clonesRawData;

  Int_t dummy = -1;

  Int_t detectorIndex[5];
  Int_t digit[4];

  fTOFRawStream.Clear();
  fTOFRawStream.SetRawReader(rawReader);

  if (fDecoderVersion == 1) {
    AliInfo("Using New Decoder");
  }
  else if (fDecoderVersion == 2) {
    AliInfo("Using Enhanced Decoder");
  }
  else {
    AliInfo("Using Old Decoder");
  }

  Int_t indexDDL = 0;
  for (indexDDL = 0; indexDDL < kDDL; indexDDL++) {

    rawReader->Reset();
    if (fDecoderVersion == 1) {
      fTOFRawStream.LoadRawDataBuffers(indexDDL,fVerbose);
    }
    else if (fDecoderVersion == 2) {
      fTOFRawStream.LoadRawDataBuffersV2(indexDDL,fVerbose);
    }
    else {
      fTOFRawStream.LoadRawData(indexDDL);
    }

    clonesRawData = (TClonesArray*)fTOFRawStream.GetRawData();

    for (Int_t iRawData = 0; iRawData<clonesRawData->GetEntriesFast(); iRawData++) {

      AliTOFrawData *tofRawDatum = (AliTOFrawData*)clonesRawData->UncheckedAt(iRawData);

      //if (!tofRawDatum->GetTOT() || !tofRawDatum->GetTOF()) continue;
      if (tofRawDatum->GetTOF()==-1) continue;

      fTOFRawStream.EquipmentId2VolumeId(indexDDL, tofRawDatum->GetTRM(), tofRawDatum->GetTRMchain(),
					 tofRawDatum->GetTDC(), tofRawDatum->GetTDCchannel(), detectorIndex);
      dummy = detectorIndex[3];
      detectorIndex[3] = detectorIndex[4];
      detectorIndex[4] = dummy;

      digit[0] = fTOFRawStream.GetTofBin();
      digit[1] = fTOFRawStream.GetToTbin();
      digit[2] = fTOFRawStream.GetToTbin();
      digit[3] = 0;

      Int_t tracknum[3]={-1,-1,-1};

      TClonesArray &aDigits = *fDigits;
      Int_t last=fDigits->GetEntriesFast();
      new (aDigits[last]) AliTOFdigit(tracknum, detectorIndex, digit);

    } // while loop

    clonesRawData->Clear("C");

  } // DDL Loop

  fTreeD->Fill();

  fTOFLoader = fRunLoader->GetLoader("TOFLoader");
  fTOFLoader->WriteDigits("OVERWRITE");

  AliDebug(1, Form("Execution time to read TOF raw data and to write TOF clusters : R:%.2fs C:%.2fs",
		   stopwatch.RealTime(),stopwatch.CpuTime()));

}

//______________________________________________________________________________

void AliTOFClusterFinder::Raw2Digits(AliRawReader *rawReader, TTree* digitsTree)
{
  //
  // Converts RAW data to MC digits for TOF for the current event
  //
  //

  TStopwatch stopwatch;
  stopwatch.Start();

  const Int_t kDDL = AliTOFGeometry::NDDL()*AliTOFGeometry::NSectors();

  if (!digitsTree)
    {
    AliError("No input digits Tree");
    return;
    }

  Int_t bufsize = 32000;
  digitsTree->Branch("TOF", &fDigits, bufsize);

  TClonesArray * clonesRawData;
  Int_t dummy = -1;

  Int_t detectorIndex[5];
  Int_t digit[4];

  fTOFRawStream.Clear();
  fTOFRawStream.SetRawReader(rawReader);

  if (fDecoderVersion == 1) {
    AliInfo("Using New Decoder");
  }
  else if (fDecoderVersion == 2) {
    AliInfo("Using Enhanced Decoder");
  }
  else {
    AliInfo("Using Old Decoder");
  }

  Int_t indexDDL = 0;
  for (indexDDL = 0; indexDDL < kDDL; indexDDL++) {

    rawReader->Reset();
    if (fDecoderVersion == 1) {
      fTOFRawStream.LoadRawDataBuffers(indexDDL,fVerbose);
    }
    else if (fDecoderVersion == 2) {
      fTOFRawStream.LoadRawDataBuffersV2(indexDDL,fVerbose);
    }
    else {
      fTOFRawStream.LoadRawData(indexDDL);
    }

    clonesRawData = (TClonesArray*)fTOFRawStream.GetRawData();

    for (Int_t iRawData = 0; iRawData<clonesRawData->GetEntriesFast(); iRawData++) {

      AliTOFrawData *tofRawDatum = (AliTOFrawData*)clonesRawData->UncheckedAt(iRawData);

      //if (!tofRawDatum->GetTOT() || !tofRawDatum->GetTOF()) continue;
      if (tofRawDatum->GetTOF()==-1) continue;

      fTOFRawStream.EquipmentId2VolumeId(indexDDL, tofRawDatum->GetTRM(), tofRawDatum->GetTRMchain(),
					 tofRawDatum->GetTDC(), tofRawDatum->GetTDCchannel(), detectorIndex);
      dummy = detectorIndex[3];
      detectorIndex[3] = detectorIndex[4];
      detectorIndex[4] = dummy;

      digit[0] = fTOFRawStream.GetTofBin();
      digit[1] = fTOFRawStream.GetToTbin();
      digit[2] = fTOFRawStream.GetToTbin();
      digit[3] = 0;

      Int_t tracknum[3]={-1,-1,-1};

      TClonesArray &aDigits = *fDigits;
      Int_t last=fDigits->GetEntriesFast();
      new (aDigits[last]) AliTOFdigit(tracknum, detectorIndex, digit);

    } // while loop

    clonesRawData->Clear("C");

  } // DDL Loop

  digitsTree->Fill();

  AliDebug(1, Form("Got %d digits: ", fDigits->GetEntries()));
  AliDebug(1, Form("Execution time to read TOF raw data and fill TOF digit tree : R:%.2fs C:%.2fs",
		   stopwatch.RealTime(),stopwatch.CpuTime()));

}
//______________________________________________________________________________

Int_t AliTOFClusterFinder::InsertCluster(AliTOFcluster *tofCluster) {
  //---------------------------------------------------------------------------//
  // This function adds a TOF cluster to the array of TOF clusters sorted in Z //
  //---------------------------------------------------------------------------//
  if (fNumberOfTofClusters==kTofMaxCluster) {
    AliError("Too many clusters !");
    return 1;
  }

  if (fNumberOfTofClusters==0) {
    fTofClusters[fNumberOfTofClusters++] = tofCluster;
    return 0;
  }

  Int_t ii = FindClusterIndex(tofCluster->GetZ());
  memmove(fTofClusters+ii+1 ,fTofClusters+ii,(fNumberOfTofClusters-ii)*sizeof(AliTOFcluster*));
  fTofClusters[ii] = tofCluster;
  fNumberOfTofClusters++;
  
  return 0;

}
//_________________________________________________________________________

Int_t AliTOFClusterFinder::FindClusterIndex(Double_t z) const {
  //--------------------------------------------------------------------
  // This function returns the index of the nearest cluster in z
  //--------------------------------------------------------------------
  if (fNumberOfTofClusters==0) return 0;
  if (z <= fTofClusters[0]->GetZ()) return 0;
  if (z > fTofClusters[fNumberOfTofClusters-1]->GetZ()) return fNumberOfTofClusters;
  Int_t b = 0, e = fNumberOfTofClusters-1, m = (b+e)/2;
  for (; b<e; m=(b+e)/2) {
    if (z > fTofClusters[m]->GetZ()) b=m+1;
    else e=m;
  }

  return m;

}
//_________________________________________________________________________

void AliTOFClusterFinder::FillRecPoint()
{
  //
  // Copy the global array of AliTOFcluster, i.e. fTofClusters (sorted
  // in Z) in the global TClonesArray of AliTOFcluster,
  // i.e. fRecPoints.
  //

  Int_t ii, jj;

  Int_t detectorIndex[5];
  Int_t parTOF[7];
  Int_t trackLabels[3];
  Int_t digitIndex = -1;
  Bool_t status=kTRUE;

  TClonesArray &lRecPoints = *fRecPoints;
  
  for (ii=0; ii<fNumberOfTofClusters; ii++) {
    AliTOFcluster* clOr = fTofClusters[ii];
    fTofClusters[ii] = 0;
    digitIndex = clOr->GetIndex();
    for(jj=0; jj<5; jj++) detectorIndex[jj] = clOr->GetDetInd(jj);
    for(jj=0; jj<3; jj++) trackLabels[jj] = clOr->GetLabel(jj);
    parTOF[0] = clOr->GetTDC(); // TDC
    parTOF[1] = clOr->GetToT(); // TOT
    parTOF[2] = clOr->GetADC(); // ADC=TOT
    parTOF[3] = clOr->GetTDCND(); // TDCND
    parTOF[4] = clOr->GetTDCRAW();//RAW
    parTOF[5] = clOr->GetDeltaBC();//deltaBC
    parTOF[6] = clOr->GetL0L1Latency();//L0-L1 latency
    status=clOr->GetStatus();
    Double_t posClus[3];
    Double_t covClus[6];
    UShort_t volIdClus=GetClusterVolIndex(detectorIndex);
    GetClusterPars(detectorIndex,posClus,covClus);
    new(lRecPoints[ii]) AliTOFcluster(volIdClus,posClus[0],posClus[1],posClus[2],covClus[0],covClus[1],covClus[2],covClus[3],covClus[4],covClus[5],trackLabels,detectorIndex, parTOF,status,digitIndex);

    AliDebug(2, Form(" %4d  %4d  %f %f %f  %f %f %f %f %f %f  %3d %3d %3d  %2d %1d %2d %1d %2d  %4d %3d %3d %4d %4d  %1d  %4d", 
		     ii, volIdClus, posClus[0], posClus[1], posClus[2],
		     clOr->GetSigmaX2(),
		     clOr->GetSigmaXY(),
		     clOr->GetSigmaXZ(),
		     clOr->GetSigmaY2(),
		     clOr->GetSigmaYZ(),
		     clOr->GetSigmaZ2(),
		     trackLabels[0], trackLabels[1], trackLabels[2],
		     detectorIndex[0], detectorIndex[1], detectorIndex[2], detectorIndex[3], detectorIndex[4],
		     parTOF[0], parTOF[1], parTOF[2], parTOF[3], parTOF[4],
		     status, digitIndex));

    delete clOr;
  } // loop on clusters

}

//_________________________________________________________________________

/*
 * OLD CALIBRATE REC POINTS FUNCTION
 */

#if 0
void AliTOFClusterFinder::CalibrateRecPoint(UInt_t timestamp)
{
  //
  // Copy the global array of AliTOFcluster, i.e. fTofClusters (sorted
  // in Z) in the global TClonesArray of AliTOFcluster,
  // i.e. fRecPoints.
  //

  Int_t ii, jj;

  Int_t detectorIndex[5];
  Int_t digitIndex = -1;
  Double_t tToT;
  Double_t timeCorr;
  Int_t   tdcCorr;
  Float_t tdcLatencyWindow;
  AliDebug(1," Calibrating TOF Clusters");

  AliTOFChannelOnlineArray *calDelay = fTOFcalib->GetTOFOnlineDelay();  
  AliTOFChannelOnlineStatusArray *calStatus = fTOFcalib->GetTOFOnlineStatus();  
  TObjArray *calTOFArrayOffline = fTOFcalib->GetTOFCalArrayOffline();
  
  AliTOFDeltaBCOffset *deltaBCOffsetObj = fTOFcalib->GetDeltaBCOffset();
  Int_t deltaBCOffset = deltaBCOffsetObj->GetDeltaBCOffset();
  AliTOFCTPLatency *ctpLatencyObj = fTOFcalib->GetCTPLatency();
  Float_t ctpLatency = ctpLatencyObj->GetCTPLatency();
  AliTOFRunParams *runParamsObj = fTOFcalib->GetRunParams();
  Float_t t0 = runParamsObj->EvalT0(timestamp);

  TString validity = (TString)fTOFcalib->GetOfflineValidity();
  Int_t calibration = -1;
  if (validity.CompareTo("valid")==0) {
    //AliInfo(Form(" validity = %s - Using offline calibration parameters",validity.Data()));
    calibration = 1;
  } else {
    //AliInfo(Form(" validity = %s - Using online calibration parameters",validity.Data()));
    calibration = 0 ;
  }

  for (ii=0; ii<fNumberOfTofClusters; ii++) {
    digitIndex = fTofClusters[ii]->GetIndex();
    for(jj=0; jj<5; jj++) detectorIndex[jj] = fTofClusters[ii]->GetDetInd(jj);

    Int_t index = AliTOFGeometry::GetIndex(detectorIndex);
     
    UChar_t statusPulser=calStatus->GetPulserStatus(index);
    UChar_t statusNoise=calStatus->GetNoiseStatus(index);
    UChar_t statusHW=calStatus->GetHWStatus(index);
    UChar_t status=calStatus->GetStatus(index);
    tdcLatencyWindow = calStatus->GetLatencyWindow(index) * 1.e3; /* ns -> ps */
    
    //check the status, also unknown is fine!!!!!!!

    AliDebug(2, Form(" Status for channel %d = %d",index, (Int_t)status));
    if((statusPulser & AliTOFChannelOnlineStatusArray::kTOFPulserBad)==(AliTOFChannelOnlineStatusArray::kTOFPulserBad)||(statusNoise & AliTOFChannelOnlineStatusArray::kTOFNoiseBad)==(AliTOFChannelOnlineStatusArray::kTOFNoiseBad)||(statusHW & AliTOFChannelOnlineStatusArray::kTOFHWBad)==(AliTOFChannelOnlineStatusArray::kTOFHWBad)){
      AliDebug(2, Form(" Bad Status for channel %d",index));
      fTofClusters[ii]->SetStatus(kFALSE); //odd convention, to avoid conflict with calibration objects currently in the db (temporary solution).
    }
    else {
      AliDebug(2, Form(" Good Status for channel %d",index));
    }
    // Get Rough channel online equalization 
    Double_t roughDelay=(Double_t)calDelay->GetDelay(index);  // in ns
    AliDebug(2,Form(" channel delay (ns) = %f", roughDelay));
    // Get Refined channel offline calibration parameters
    if (calibration ==1){
      AliTOFChannelOffline * calChannelOffline = (AliTOFChannelOffline*)calTOFArrayOffline->At(index);
      Double_t par[6];
      for (Int_t j = 0; j<6; j++){
	par[j]=(Double_t)calChannelOffline->GetSlewPar(j);
     } 
      AliDebug(2,Form(" Calib Pars = %f, %f, %f, %f, %f, %f ",par[0],par[1],par[2],par[3],par[4],par[5]));
      AliDebug(2,Form(" The ToT and Time, uncorr (counts) = %d , %d", fTofClusters[ii]->GetToT(),fTofClusters[ii]->GetTDC()));
      tToT = (Double_t)(fTofClusters[ii]->GetToT()*AliTOFGeometry::ToTBinWidth());
      tToT*=1.E-3; //ToT in ns

      /* check TOT limits and set new TOT in case */
      if (tToT < AliTOFGeometry::SlewTOTMin()) tToT = AliTOFGeometry::SlewTOTMin();
      if (tToT > AliTOFGeometry::SlewTOTMax()) tToT = AliTOFGeometry::SlewTOTMax();

      AliDebug(2,Form(" The ToT and Time, uncorr (ns)= %e, %e",fTofClusters[ii]->GetTDC()*AliTOFGeometry::TdcBinWidth()*1.E-3,tToT));
      timeCorr=par[0]+par[1]*tToT+par[2]*tToT*tToT+par[3]*tToT*tToT*tToT+par[4]*tToT*tToT*tToT*tToT+par[5]*tToT*tToT*tToT*tToT*tToT; // the time correction (ns)
    }
    else {
      timeCorr = roughDelay; // correction in ns
    }
    AliDebug(2,Form(" The ToT and Time, uncorr (ns)= %e, %e",fTofClusters[ii]->GetTDC()*AliTOFGeometry::TdcBinWidth()*1.E-3,fTofClusters[ii]->GetToT()*AliTOFGeometry::ToTBinWidth()));
    AliDebug(2,Form(" The time correction (ns) = %f", timeCorr));
    timeCorr=(Double_t)(fTofClusters[ii]->GetTDC())*AliTOFGeometry::TdcBinWidth()*1.E-3-timeCorr;//redefine the time
    timeCorr*=1.E3;
    AliDebug(2,Form(" The channel time, corr (ps)= %e",timeCorr ));

    /* here timeCorr should be already corrected for calibration. 
     * we now go into further corrections keeping in mind that timeCorr
     * is in ps.
     *
     * the following corrections are performed in this way:
     *
     *    time = timeRaw - deltaBC + L0L1Latency + CTPLatency - TDCLatencyWindow - T0
     *
     */

    AliDebug(2, Form("applying further corrections (DeltaBC): DeltaBC=%d (BC bins), DeltaBCoffset=%d (BC bins)", fTofClusters[ii]->GetDeltaBC(), deltaBCOffset));
    AliDebug(2, Form("applying further corrections (L0L1Latency): L0L1Latency=%d (BC bins)", fTofClusters[ii]->GetL0L1Latency()));
    AliDebug(2, Form("applying further corrections (CTPLatency): CTPLatency=%f (ps)", ctpLatency));
    AliDebug(2, Form("applying further corrections (TDCLatencyWindow): TDCLatencyWindow=%f (ps)", tdcLatencyWindow));
    AliDebug(2, Form("applying further corrections (T0): T0=%f (ps)", t0));

    /* deltaBC correction (inhibited for the time being) */
    //    timeCorr -= (fTofClusters[ii]->GetDeltaBC() - deltaBCOffset) * AliTOFGeometry::BunchCrossingBinWidth();
    /* L0L1-latency correction */
    timeCorr += fTofClusters[ii]->GetL0L1Latency() * AliTOFGeometry::BunchCrossingBinWidth();
    /* CTP-latency correction (from OCDB) */
    timeCorr += ctpLatency;
    /* TDC latency-window correction (from OCDB) */
    timeCorr -= tdcLatencyWindow;
    /* T0 correction (from OCDB) */
    timeCorr -= t0;

    /*
     * end of furhter corrections
     */

    tdcCorr=(Int_t)(timeCorr/AliTOFGeometry::TdcBinWidth()); //the corrected time (tdc counts)
    fTofClusters[ii]->SetTDC(tdcCorr);

  } // loop on clusters

}
#endif

//_________________________________________________________________________

void AliTOFClusterFinder::CalibrateRecPoint(UInt_t timestamp)
{
  //
  // Copy the global array of AliTOFcluster, i.e. fTofClusters (sorted
  // in Z) in the global TClonesArray of AliTOFcluster,
  // i.e. fRecPoints.
  //

  Int_t detectorIndex[5];
  Double_t time, tot, corr;
  Int_t deltaBC, l0l1, tdcBin;
  for (Int_t ii = 0; ii < fNumberOfTofClusters; ii++) {
    for(Int_t jj = 0; jj < 5; jj++) detectorIndex[jj] = fTofClusters[ii]->GetDetInd(jj);

    Int_t index = AliTOFGeometry::GetIndex(detectorIndex);

    /* check channel enabled */
    if (!fTOFcalib->IsChannelEnabled(index)) fTofClusters[ii]->SetStatus(kFALSE);
    
    /* get cluster info */
    time = fTofClusters[ii]->GetTDC() * AliTOFGeometry::TdcBinWidth(); /* ps */
    tot = fTofClusters[ii]->GetToT() * AliTOFGeometry::ToTBinWidth() * 1.e-3; /* ns */
    deltaBC = fTofClusters[ii]->GetDeltaBC();
    l0l1 = fTofClusters[ii]->GetL0L1Latency();

    /* get correction */
    corr = fTOFcalib->GetTimeCorrection(index, tot, deltaBC, l0l1, timestamp); /* ps */
    AliDebug(2, Form("calibrate index %d: time=%f (ps) tot=%f (ns) deltaBC=%d l0l1=%d timestamp=%d corr=%f (ps)", index, time, tot, deltaBC, l0l1, timestamp, corr));

    /* apply time correction */
    time -= corr;

    /* convert in TDC bins and set cluster */
    //tdcBin = (Int_t)(time / AliTOFGeometry::TdcBinWidth()); //the corrected time (tdc counts)
    tdcBin = TMath::Nint(time / AliTOFGeometry::TdcBinWidth()); //the corrected time (tdc counts)
    fTofClusters[ii]->SetTDC(tdcBin);

    // noferini
    Float_t pos[3];
    AliTOFGeometry::GetPosPar(detectorIndex, pos);
    Float_t length = 0.;
    for (Int_t ic = 0; ic < 3; ic++) length += pos[ic] * pos[ic];
    length = TMath::Sqrt(length);
    Float_t timealligned = tdcBin*24.4 - length * 0.0333564095198152043; // subtract the minimal time in

    if(timealligned > -1000 && timealligned < 24000 && fTOFcalib->IsChannelEnabled(index)){
      fNumberOfTofTrgPads++;
    }

  } // loop on clusters

}

//______________________________________________________________________________

void AliTOFClusterFinder::ResetRecpoint()
{
  //
  // Clear the list of reconstructed points
  //

  fNumberOfTofClusters = 0;
  fNumberOfTofTrgPads = 0;
  if (fRecPoints) fRecPoints->Clear();

}
//______________________________________________________________________________

void AliTOFClusterFinder::Load()
{
  //
  // Load TOF.Digits.root and TOF.RecPoints.root files
  //

  fTOFLoader->LoadDigits("READ");
  fTOFLoader->LoadRecPoints("recreate");

}
//______________________________________________________________________________

void AliTOFClusterFinder::LoadClusters()
{
  //
  // Load TOF.RecPoints.root file
  //

  fTOFLoader->LoadRecPoints("recreate");

}
//______________________________________________________________________________

void AliTOFClusterFinder::UnLoad()
{
  //
  // Unload TOF.Digits.root and TOF.RecPoints.root files
  //

  fTOFLoader->UnloadDigits();
  fTOFLoader->UnloadRecPoints();

}
//______________________________________________________________________________

void AliTOFClusterFinder::UnLoadClusters()
{
  //
  // Unload TOF.RecPoints.root file
  //

  fTOFLoader->UnloadRecPoints();

}
//-------------------------------------------------------------------------
UShort_t AliTOFClusterFinder::GetClusterVolIndex(const Int_t * const ind) const {

  //First of all get the volume ID to retrieve the l2t transformation...
  //
  // Detector numbering scheme
  Int_t nSector = 18;
  Int_t nPlate  = 5;
  Int_t nStripA = 15;
  Int_t nStripB = 19;
  Int_t nStripC = 19;

  Int_t isector =ind[0];
  if (isector >= nSector)
    AliError(Form("Wrong sector number in TOF (%d) !",isector));
  Int_t iplate = ind[1];
  if (iplate >= nPlate)
    AliError(Form("Wrong plate number in TOF (%d) !",iplate));
  Int_t istrip = ind[2];

  Int_t stripOffset = 0;
  switch (iplate) {
  case 0:
    stripOffset = 0;
    break;
  case 1:
    stripOffset = nStripC;
    break;
  case 2:
    stripOffset = nStripC+nStripB;
    break;
  case 3:
    stripOffset = nStripC+nStripB+nStripA;
    break;
  case 4:
    stripOffset = nStripC+nStripB+nStripA+nStripB;
    break;
  default:
    AliError(Form("Wrong plate number in TOF (%d) !",iplate));
    break;
  };

  Int_t index= (2*(nStripC+nStripB)+nStripA)*isector +
               stripOffset +
               istrip;

  UShort_t volIndex = AliGeomManager::LayerToVolUID(AliGeomManager::kTOF,index);
  return volIndex;
}
//
//-------------------------------------------------------------------------
void AliTOFClusterFinder::GetClusterPars(Int_t *ind, Double_t* pos,Double_t* cov) const {

  //First of all get the volume ID to retrieve the l2t transformation...
  //
  UShort_t volIndex = GetClusterVolIndex(ind);
  //
  //
  //we now go in the system of the strip: determine the local coordinates
  //
  //
  // 47---------------------------------------------------0  ^ z
  // | | | | | | | | | | | | | | | | | | | | | | | | | | | 1 |
  // -----------------------------------------------------   | y going outwards
  // | | | | | | | | | | | | | | | | | | | | | | | | | | | 0 |  par[0]=0;

  // -----------------------------------------------------   |
  // x <-----------------------------------------------------

  /*
  Float_t localX = (ind[4]-23.5)*AliTOFGeometry::XPad();
  Float_t localY = 0;
  Float_t localZ = (ind[3]- 0.5)*AliTOFGeometry::ZPad();
  */
  Float_t localX = (ind[4]-AliTOFGeometry::NpadX()/2)*AliTOFGeometry::XPad()+AliTOFGeometry::XPad()/2.;
  Float_t localY = 0;
  Float_t localZ = (ind[3]-AliTOFGeometry::NpadZ()/2)*AliTOFGeometry::ZPad()+AliTOFGeometry::ZPad()/2.;
  //move to the tracking ref system

  Double_t lpos[3];
  lpos[0] = localX;
  lpos[1] = localY;
  lpos[2] = localZ; 

  const TGeoHMatrix *l2t= AliGeomManager::GetTracking2LocalMatrix(volIndex);
  // Get The position in the track ref system
  Double_t tpos[3];
  l2t->MasterToLocal(lpos,tpos);
  pos[0] = tpos[0];
  pos[1] = tpos[1];
  pos[2] = tpos[2];

  //Get The cluster covariance in the track ref system
  Double_t lcov[9];

  //cluster covariance in the local system:
  // sx2   0   0
  // 0     0   0
  // 0     0   sz2

  lcov[0] = AliTOFGeometry::XPad()*AliTOFGeometry::XPad()/12.;
  lcov[1] = 0;
  lcov[2] = 0;
  lcov[3] = 0;
  lcov[4] = 0;
  lcov[5] = 0;
  lcov[6] = 0;
  lcov[7] = 0;
  lcov[8] = AliTOFGeometry::ZPad()*AliTOFGeometry::ZPad()/12.;

  //cluster covariance in the tracking system:
  TGeoHMatrix m;
  m.SetRotation(lcov);
  m.Multiply(l2t);
  m.MultiplyLeft(&l2t->Inverse());
  Double_t *tcov = m.GetRotationMatrix();
  cov[0] = tcov[0]; cov[1] = tcov[1]; cov[2] = tcov[2];
  cov[3] = tcov[4]; cov[4] = tcov[5];
  cov[5] = tcov[8];

  return;

}
//-------------------------------------------------------------------------
void AliTOFClusterFinder::FillTOFtriggerMap(Int_t iDDL, AliTOFrawData *tofRawDatum)
{

  /* get cluster info */
  //Int_t trm = tofRawDatum->GetTRM();
  // Int_t tdc = tofRawDatum->GetTDC();
//   Int_t tdc_ch = tofRawDatum->GetTDCchannel();
  Int_t chain = tofRawDatum->GetTRMchain();
  Int_t l0l1 = tofRawDatum->GetL0L1Latency();
  Double_t corr = l0l1 * AliTOFGeometry::BunchCrossingBinWidth();
  AliTOFCTPLatency *ctpLatencyObj = fTOFcalib->GetCTPLatency();
  Float_t ctpLatency = ctpLatencyObj->GetCTPLatency();
  corr += ctpLatency;

  Double_t timeTOF=tofRawDatum->GetTOF()*AliTOFGeometry::TdcBinWidth();
  timeTOF-=corr;
  //Int_t timeRaw_bc = Int_t(timeTOF/1000/24.4); // per ora non usata

  //Int_t timeRaw_bc = Int_t((tofRawDatum->GetTOF()*AliTOFGeometry::TdcBinWidth())/1000/24.4); // per ora non usata

  /*
  const  Int_t crate_CTTM[72] = { 0,  1, 37, 36,  2,  3, 39, 38,  4,  5,
                                 41, 40,  6,  7, 43, 42,  8,  9, 45, 44,
                                 10, 11, 47, 46, 12, 13, 49, 48, 14, 15,
                                 51, 50, 16, 17, 53, 52, 18, 19, 55, 54,
                                 20, 21, 57, 56, 22, 23, 59, 58, 24, 25,
                                 61, 60, 26, 27, 63, 62, 28, 29, 65, 64,
                                 30, 31, 67, 66, 32, 33, 69, 68, 34, 35,
                                 71, 70};
  */

  Int_t cttmCrate=-1;
//   Int_t cttmBit = tdc_ch + (tdc-12)*AliTOFGeometry::NCh();
  switch(iDDL%AliTOFGeometry::NDDL()){
  case 1:
    cttmCrate=1;
    break;
  case 3:
    cttmCrate=36;
    break;
  default:
    break;
  }
  cttmCrate+=2*(Int_t)(iDDL/AliTOFGeometry::NDDL());
  if(chain==0) {
    if (iDDL<36) cttmCrate--;
    else cttmCrate++;
  }




}

 AliTOFClusterFinder.cxx:1
 AliTOFClusterFinder.cxx:2
 AliTOFClusterFinder.cxx:3
 AliTOFClusterFinder.cxx:4
 AliTOFClusterFinder.cxx:5
 AliTOFClusterFinder.cxx:6
 AliTOFClusterFinder.cxx:7
 AliTOFClusterFinder.cxx:8
 AliTOFClusterFinder.cxx:9
 AliTOFClusterFinder.cxx:10
 AliTOFClusterFinder.cxx:11
 AliTOFClusterFinder.cxx:12
 AliTOFClusterFinder.cxx:13
 AliTOFClusterFinder.cxx:14
 AliTOFClusterFinder.cxx:15
 AliTOFClusterFinder.cxx:16
 AliTOFClusterFinder.cxx:17
 AliTOFClusterFinder.cxx:18
 AliTOFClusterFinder.cxx:19
 AliTOFClusterFinder.cxx:20
 AliTOFClusterFinder.cxx:21
 AliTOFClusterFinder.cxx:22
 AliTOFClusterFinder.cxx:23
 AliTOFClusterFinder.cxx:24
 AliTOFClusterFinder.cxx:25
 AliTOFClusterFinder.cxx:26
 AliTOFClusterFinder.cxx:27
 AliTOFClusterFinder.cxx:28
 AliTOFClusterFinder.cxx:29
 AliTOFClusterFinder.cxx:30
 AliTOFClusterFinder.cxx:31
 AliTOFClusterFinder.cxx:32
 AliTOFClusterFinder.cxx:33
 AliTOFClusterFinder.cxx:34
 AliTOFClusterFinder.cxx:35
 AliTOFClusterFinder.cxx:36
 AliTOFClusterFinder.cxx:37
 AliTOFClusterFinder.cxx:38
 AliTOFClusterFinder.cxx:39
 AliTOFClusterFinder.cxx:40
 AliTOFClusterFinder.cxx:41
 AliTOFClusterFinder.cxx:42
 AliTOFClusterFinder.cxx:43
 AliTOFClusterFinder.cxx:44
 AliTOFClusterFinder.cxx:45
 AliTOFClusterFinder.cxx:46
 AliTOFClusterFinder.cxx:47
 AliTOFClusterFinder.cxx:48
 AliTOFClusterFinder.cxx:49
 AliTOFClusterFinder.cxx:50
 AliTOFClusterFinder.cxx:51
 AliTOFClusterFinder.cxx:52
 AliTOFClusterFinder.cxx:53
 AliTOFClusterFinder.cxx:54
 AliTOFClusterFinder.cxx:55
 AliTOFClusterFinder.cxx:56
 AliTOFClusterFinder.cxx:57
 AliTOFClusterFinder.cxx:58
 AliTOFClusterFinder.cxx:59
 AliTOFClusterFinder.cxx:60
 AliTOFClusterFinder.cxx:61
 AliTOFClusterFinder.cxx:62
 AliTOFClusterFinder.cxx:63
 AliTOFClusterFinder.cxx:64
 AliTOFClusterFinder.cxx:65
 AliTOFClusterFinder.cxx:66
 AliTOFClusterFinder.cxx:67
 AliTOFClusterFinder.cxx:68
 AliTOFClusterFinder.cxx:69
 AliTOFClusterFinder.cxx:70
 AliTOFClusterFinder.cxx:71
 AliTOFClusterFinder.cxx:72
 AliTOFClusterFinder.cxx:73
 AliTOFClusterFinder.cxx:74
 AliTOFClusterFinder.cxx:75
 AliTOFClusterFinder.cxx:76
 AliTOFClusterFinder.cxx:77
 AliTOFClusterFinder.cxx:78
 AliTOFClusterFinder.cxx:79
 AliTOFClusterFinder.cxx:80
 AliTOFClusterFinder.cxx:81
 AliTOFClusterFinder.cxx:82
 AliTOFClusterFinder.cxx:83
 AliTOFClusterFinder.cxx:84
 AliTOFClusterFinder.cxx:85
 AliTOFClusterFinder.cxx:86
 AliTOFClusterFinder.cxx:87
 AliTOFClusterFinder.cxx:88
 AliTOFClusterFinder.cxx:89
 AliTOFClusterFinder.cxx:90
 AliTOFClusterFinder.cxx:91
 AliTOFClusterFinder.cxx:92
 AliTOFClusterFinder.cxx:93
 AliTOFClusterFinder.cxx:94
 AliTOFClusterFinder.cxx:95
 AliTOFClusterFinder.cxx:96
 AliTOFClusterFinder.cxx:97
 AliTOFClusterFinder.cxx:98
 AliTOFClusterFinder.cxx:99
 AliTOFClusterFinder.cxx:100
 AliTOFClusterFinder.cxx:101
 AliTOFClusterFinder.cxx:102
 AliTOFClusterFinder.cxx:103
 AliTOFClusterFinder.cxx:104
 AliTOFClusterFinder.cxx:105
 AliTOFClusterFinder.cxx:106
 AliTOFClusterFinder.cxx:107
 AliTOFClusterFinder.cxx:108
 AliTOFClusterFinder.cxx:109
 AliTOFClusterFinder.cxx:110
 AliTOFClusterFinder.cxx:111
 AliTOFClusterFinder.cxx:112
 AliTOFClusterFinder.cxx:113
 AliTOFClusterFinder.cxx:114
 AliTOFClusterFinder.cxx:115
 AliTOFClusterFinder.cxx:116
 AliTOFClusterFinder.cxx:117
 AliTOFClusterFinder.cxx:118
 AliTOFClusterFinder.cxx:119
 AliTOFClusterFinder.cxx:120
 AliTOFClusterFinder.cxx:121
 AliTOFClusterFinder.cxx:122
 AliTOFClusterFinder.cxx:123
 AliTOFClusterFinder.cxx:124
 AliTOFClusterFinder.cxx:125
 AliTOFClusterFinder.cxx:126
 AliTOFClusterFinder.cxx:127
 AliTOFClusterFinder.cxx:128
 AliTOFClusterFinder.cxx:129
 AliTOFClusterFinder.cxx:130
 AliTOFClusterFinder.cxx:131
 AliTOFClusterFinder.cxx:132
 AliTOFClusterFinder.cxx:133
 AliTOFClusterFinder.cxx:134
 AliTOFClusterFinder.cxx:135
 AliTOFClusterFinder.cxx:136
 AliTOFClusterFinder.cxx:137
 AliTOFClusterFinder.cxx:138
 AliTOFClusterFinder.cxx:139
 AliTOFClusterFinder.cxx:140
 AliTOFClusterFinder.cxx:141
 AliTOFClusterFinder.cxx:142
 AliTOFClusterFinder.cxx:143
 AliTOFClusterFinder.cxx:144
 AliTOFClusterFinder.cxx:145
 AliTOFClusterFinder.cxx:146
 AliTOFClusterFinder.cxx:147
 AliTOFClusterFinder.cxx:148
 AliTOFClusterFinder.cxx:149
 AliTOFClusterFinder.cxx:150
 AliTOFClusterFinder.cxx:151
 AliTOFClusterFinder.cxx:152
 AliTOFClusterFinder.cxx:153
 AliTOFClusterFinder.cxx:154
 AliTOFClusterFinder.cxx:155
 AliTOFClusterFinder.cxx:156
 AliTOFClusterFinder.cxx:157
 AliTOFClusterFinder.cxx:158
 AliTOFClusterFinder.cxx:159
 AliTOFClusterFinder.cxx:160
 AliTOFClusterFinder.cxx:161
 AliTOFClusterFinder.cxx:162
 AliTOFClusterFinder.cxx:163
 AliTOFClusterFinder.cxx:164
 AliTOFClusterFinder.cxx:165
 AliTOFClusterFinder.cxx:166
 AliTOFClusterFinder.cxx:167
 AliTOFClusterFinder.cxx:168
 AliTOFClusterFinder.cxx:169
 AliTOFClusterFinder.cxx:170
 AliTOFClusterFinder.cxx:171
 AliTOFClusterFinder.cxx:172
 AliTOFClusterFinder.cxx:173
 AliTOFClusterFinder.cxx:174
 AliTOFClusterFinder.cxx:175
 AliTOFClusterFinder.cxx:176
 AliTOFClusterFinder.cxx:177
 AliTOFClusterFinder.cxx:178
 AliTOFClusterFinder.cxx:179
 AliTOFClusterFinder.cxx:180
 AliTOFClusterFinder.cxx:181
 AliTOFClusterFinder.cxx:182
 AliTOFClusterFinder.cxx:183
 AliTOFClusterFinder.cxx:184
 AliTOFClusterFinder.cxx:185
 AliTOFClusterFinder.cxx:186
 AliTOFClusterFinder.cxx:187
 AliTOFClusterFinder.cxx:188
 AliTOFClusterFinder.cxx:189
 AliTOFClusterFinder.cxx:190
 AliTOFClusterFinder.cxx:191
 AliTOFClusterFinder.cxx:192
 AliTOFClusterFinder.cxx:193
 AliTOFClusterFinder.cxx:194
 AliTOFClusterFinder.cxx:195
 AliTOFClusterFinder.cxx:196
 AliTOFClusterFinder.cxx:197
 AliTOFClusterFinder.cxx:198
 AliTOFClusterFinder.cxx:199
 AliTOFClusterFinder.cxx:200
 AliTOFClusterFinder.cxx:201
 AliTOFClusterFinder.cxx:202
 AliTOFClusterFinder.cxx:203
 AliTOFClusterFinder.cxx:204
 AliTOFClusterFinder.cxx:205
 AliTOFClusterFinder.cxx:206
 AliTOFClusterFinder.cxx:207
 AliTOFClusterFinder.cxx:208
 AliTOFClusterFinder.cxx:209
 AliTOFClusterFinder.cxx:210
 AliTOFClusterFinder.cxx:211
 AliTOFClusterFinder.cxx:212
 AliTOFClusterFinder.cxx:213
 AliTOFClusterFinder.cxx:214
 AliTOFClusterFinder.cxx:215
 AliTOFClusterFinder.cxx:216
 AliTOFClusterFinder.cxx:217
 AliTOFClusterFinder.cxx:218
 AliTOFClusterFinder.cxx:219
 AliTOFClusterFinder.cxx:220
 AliTOFClusterFinder.cxx:221
 AliTOFClusterFinder.cxx:222
 AliTOFClusterFinder.cxx:223
 AliTOFClusterFinder.cxx:224
 AliTOFClusterFinder.cxx:225
 AliTOFClusterFinder.cxx:226
 AliTOFClusterFinder.cxx:227
 AliTOFClusterFinder.cxx:228
 AliTOFClusterFinder.cxx:229
 AliTOFClusterFinder.cxx:230
 AliTOFClusterFinder.cxx:231
 AliTOFClusterFinder.cxx:232
 AliTOFClusterFinder.cxx:233
 AliTOFClusterFinder.cxx:234
 AliTOFClusterFinder.cxx:235
 AliTOFClusterFinder.cxx:236
 AliTOFClusterFinder.cxx:237
 AliTOFClusterFinder.cxx:238
 AliTOFClusterFinder.cxx:239
 AliTOFClusterFinder.cxx:240
 AliTOFClusterFinder.cxx:241
 AliTOFClusterFinder.cxx:242
 AliTOFClusterFinder.cxx:243
 AliTOFClusterFinder.cxx:244
 AliTOFClusterFinder.cxx:245
 AliTOFClusterFinder.cxx:246
 AliTOFClusterFinder.cxx:247
 AliTOFClusterFinder.cxx:248
 AliTOFClusterFinder.cxx:249
 AliTOFClusterFinder.cxx:250
 AliTOFClusterFinder.cxx:251
 AliTOFClusterFinder.cxx:252
 AliTOFClusterFinder.cxx:253
 AliTOFClusterFinder.cxx:254
 AliTOFClusterFinder.cxx:255
 AliTOFClusterFinder.cxx:256
 AliTOFClusterFinder.cxx:257
 AliTOFClusterFinder.cxx:258
 AliTOFClusterFinder.cxx:259
 AliTOFClusterFinder.cxx:260
 AliTOFClusterFinder.cxx:261
 AliTOFClusterFinder.cxx:262
 AliTOFClusterFinder.cxx:263
 AliTOFClusterFinder.cxx:264
 AliTOFClusterFinder.cxx:265
 AliTOFClusterFinder.cxx:266
 AliTOFClusterFinder.cxx:267
 AliTOFClusterFinder.cxx:268
 AliTOFClusterFinder.cxx:269
 AliTOFClusterFinder.cxx:270
 AliTOFClusterFinder.cxx:271
 AliTOFClusterFinder.cxx:272
 AliTOFClusterFinder.cxx:273
 AliTOFClusterFinder.cxx:274
 AliTOFClusterFinder.cxx:275
 AliTOFClusterFinder.cxx:276
 AliTOFClusterFinder.cxx:277
 AliTOFClusterFinder.cxx:278
 AliTOFClusterFinder.cxx:279
 AliTOFClusterFinder.cxx:280
 AliTOFClusterFinder.cxx:281
 AliTOFClusterFinder.cxx:282
 AliTOFClusterFinder.cxx:283
 AliTOFClusterFinder.cxx:284
 AliTOFClusterFinder.cxx:285
 AliTOFClusterFinder.cxx:286
 AliTOFClusterFinder.cxx:287
 AliTOFClusterFinder.cxx:288
 AliTOFClusterFinder.cxx:289
 AliTOFClusterFinder.cxx:290
 AliTOFClusterFinder.cxx:291
 AliTOFClusterFinder.cxx:292
 AliTOFClusterFinder.cxx:293
 AliTOFClusterFinder.cxx:294
 AliTOFClusterFinder.cxx:295
 AliTOFClusterFinder.cxx:296
 AliTOFClusterFinder.cxx:297
 AliTOFClusterFinder.cxx:298
 AliTOFClusterFinder.cxx:299
 AliTOFClusterFinder.cxx:300
 AliTOFClusterFinder.cxx:301
 AliTOFClusterFinder.cxx:302
 AliTOFClusterFinder.cxx:303
 AliTOFClusterFinder.cxx:304
 AliTOFClusterFinder.cxx:305
 AliTOFClusterFinder.cxx:306
 AliTOFClusterFinder.cxx:307
 AliTOFClusterFinder.cxx:308
 AliTOFClusterFinder.cxx:309
 AliTOFClusterFinder.cxx:310
 AliTOFClusterFinder.cxx:311
 AliTOFClusterFinder.cxx:312
 AliTOFClusterFinder.cxx:313
 AliTOFClusterFinder.cxx:314
 AliTOFClusterFinder.cxx:315
 AliTOFClusterFinder.cxx:316
 AliTOFClusterFinder.cxx:317
 AliTOFClusterFinder.cxx:318
 AliTOFClusterFinder.cxx:319
 AliTOFClusterFinder.cxx:320
 AliTOFClusterFinder.cxx:321
 AliTOFClusterFinder.cxx:322
 AliTOFClusterFinder.cxx:323
 AliTOFClusterFinder.cxx:324
 AliTOFClusterFinder.cxx:325
 AliTOFClusterFinder.cxx:326
 AliTOFClusterFinder.cxx:327
 AliTOFClusterFinder.cxx:328
 AliTOFClusterFinder.cxx:329
 AliTOFClusterFinder.cxx:330
 AliTOFClusterFinder.cxx:331
 AliTOFClusterFinder.cxx:332
 AliTOFClusterFinder.cxx:333
 AliTOFClusterFinder.cxx:334
 AliTOFClusterFinder.cxx:335
 AliTOFClusterFinder.cxx:336
 AliTOFClusterFinder.cxx:337
 AliTOFClusterFinder.cxx:338
 AliTOFClusterFinder.cxx:339
 AliTOFClusterFinder.cxx:340
 AliTOFClusterFinder.cxx:341
 AliTOFClusterFinder.cxx:342
 AliTOFClusterFinder.cxx:343
 AliTOFClusterFinder.cxx:344
 AliTOFClusterFinder.cxx:345
 AliTOFClusterFinder.cxx:346
 AliTOFClusterFinder.cxx:347
 AliTOFClusterFinder.cxx:348
 AliTOFClusterFinder.cxx:349
 AliTOFClusterFinder.cxx:350
 AliTOFClusterFinder.cxx:351
 AliTOFClusterFinder.cxx:352
 AliTOFClusterFinder.cxx:353
 AliTOFClusterFinder.cxx:354
 AliTOFClusterFinder.cxx:355
 AliTOFClusterFinder.cxx:356
 AliTOFClusterFinder.cxx:357
 AliTOFClusterFinder.cxx:358
 AliTOFClusterFinder.cxx:359
 AliTOFClusterFinder.cxx:360
 AliTOFClusterFinder.cxx:361
 AliTOFClusterFinder.cxx:362
 AliTOFClusterFinder.cxx:363
 AliTOFClusterFinder.cxx:364
 AliTOFClusterFinder.cxx:365
 AliTOFClusterFinder.cxx:366
 AliTOFClusterFinder.cxx:367
 AliTOFClusterFinder.cxx:368
 AliTOFClusterFinder.cxx:369
 AliTOFClusterFinder.cxx:370
 AliTOFClusterFinder.cxx:371
 AliTOFClusterFinder.cxx:372
 AliTOFClusterFinder.cxx:373
 AliTOFClusterFinder.cxx:374
 AliTOFClusterFinder.cxx:375
 AliTOFClusterFinder.cxx:376
 AliTOFClusterFinder.cxx:377
 AliTOFClusterFinder.cxx:378
 AliTOFClusterFinder.cxx:379
 AliTOFClusterFinder.cxx:380
 AliTOFClusterFinder.cxx:381
 AliTOFClusterFinder.cxx:382
 AliTOFClusterFinder.cxx:383
 AliTOFClusterFinder.cxx:384
 AliTOFClusterFinder.cxx:385
 AliTOFClusterFinder.cxx:386
 AliTOFClusterFinder.cxx:387
 AliTOFClusterFinder.cxx:388
 AliTOFClusterFinder.cxx:389
 AliTOFClusterFinder.cxx:390
 AliTOFClusterFinder.cxx:391
 AliTOFClusterFinder.cxx:392
 AliTOFClusterFinder.cxx:393
 AliTOFClusterFinder.cxx:394
 AliTOFClusterFinder.cxx:395
 AliTOFClusterFinder.cxx:396
 AliTOFClusterFinder.cxx:397
 AliTOFClusterFinder.cxx:398
 AliTOFClusterFinder.cxx:399
 AliTOFClusterFinder.cxx:400
 AliTOFClusterFinder.cxx:401
 AliTOFClusterFinder.cxx:402
 AliTOFClusterFinder.cxx:403
 AliTOFClusterFinder.cxx:404
 AliTOFClusterFinder.cxx:405
 AliTOFClusterFinder.cxx:406
 AliTOFClusterFinder.cxx:407
 AliTOFClusterFinder.cxx:408
 AliTOFClusterFinder.cxx:409
 AliTOFClusterFinder.cxx:410
 AliTOFClusterFinder.cxx:411
 AliTOFClusterFinder.cxx:412
 AliTOFClusterFinder.cxx:413
 AliTOFClusterFinder.cxx:414
 AliTOFClusterFinder.cxx:415
 AliTOFClusterFinder.cxx:416
 AliTOFClusterFinder.cxx:417
 AliTOFClusterFinder.cxx:418
 AliTOFClusterFinder.cxx:419
 AliTOFClusterFinder.cxx:420
 AliTOFClusterFinder.cxx:421
 AliTOFClusterFinder.cxx:422
 AliTOFClusterFinder.cxx:423
 AliTOFClusterFinder.cxx:424
 AliTOFClusterFinder.cxx:425
 AliTOFClusterFinder.cxx:426
 AliTOFClusterFinder.cxx:427
 AliTOFClusterFinder.cxx:428
 AliTOFClusterFinder.cxx:429
 AliTOFClusterFinder.cxx:430
 AliTOFClusterFinder.cxx:431
 AliTOFClusterFinder.cxx:432
 AliTOFClusterFinder.cxx:433
 AliTOFClusterFinder.cxx:434
 AliTOFClusterFinder.cxx:435
 AliTOFClusterFinder.cxx:436
 AliTOFClusterFinder.cxx:437
 AliTOFClusterFinder.cxx:438
 AliTOFClusterFinder.cxx:439
 AliTOFClusterFinder.cxx:440
 AliTOFClusterFinder.cxx:441
 AliTOFClusterFinder.cxx:442
 AliTOFClusterFinder.cxx:443
 AliTOFClusterFinder.cxx:444
 AliTOFClusterFinder.cxx:445
 AliTOFClusterFinder.cxx:446
 AliTOFClusterFinder.cxx:447
 AliTOFClusterFinder.cxx:448
 AliTOFClusterFinder.cxx:449
 AliTOFClusterFinder.cxx:450
 AliTOFClusterFinder.cxx:451
 AliTOFClusterFinder.cxx:452
 AliTOFClusterFinder.cxx:453
 AliTOFClusterFinder.cxx:454
 AliTOFClusterFinder.cxx:455
 AliTOFClusterFinder.cxx:456
 AliTOFClusterFinder.cxx:457
 AliTOFClusterFinder.cxx:458
 AliTOFClusterFinder.cxx:459
 AliTOFClusterFinder.cxx:460
 AliTOFClusterFinder.cxx:461
 AliTOFClusterFinder.cxx:462
 AliTOFClusterFinder.cxx:463
 AliTOFClusterFinder.cxx:464
 AliTOFClusterFinder.cxx:465
 AliTOFClusterFinder.cxx:466
 AliTOFClusterFinder.cxx:467
 AliTOFClusterFinder.cxx:468
 AliTOFClusterFinder.cxx:469
 AliTOFClusterFinder.cxx:470
 AliTOFClusterFinder.cxx:471
 AliTOFClusterFinder.cxx:472
 AliTOFClusterFinder.cxx:473
 AliTOFClusterFinder.cxx:474
 AliTOFClusterFinder.cxx:475
 AliTOFClusterFinder.cxx:476
 AliTOFClusterFinder.cxx:477
 AliTOFClusterFinder.cxx:478
 AliTOFClusterFinder.cxx:479
 AliTOFClusterFinder.cxx:480
 AliTOFClusterFinder.cxx:481
 AliTOFClusterFinder.cxx:482
 AliTOFClusterFinder.cxx:483
 AliTOFClusterFinder.cxx:484
 AliTOFClusterFinder.cxx:485
 AliTOFClusterFinder.cxx:486
 AliTOFClusterFinder.cxx:487
 AliTOFClusterFinder.cxx:488
 AliTOFClusterFinder.cxx:489
 AliTOFClusterFinder.cxx:490
 AliTOFClusterFinder.cxx:491
 AliTOFClusterFinder.cxx:492
 AliTOFClusterFinder.cxx:493
 AliTOFClusterFinder.cxx:494
 AliTOFClusterFinder.cxx:495
 AliTOFClusterFinder.cxx:496
 AliTOFClusterFinder.cxx:497
 AliTOFClusterFinder.cxx:498
 AliTOFClusterFinder.cxx:499
 AliTOFClusterFinder.cxx:500
 AliTOFClusterFinder.cxx:501
 AliTOFClusterFinder.cxx:502
 AliTOFClusterFinder.cxx:503
 AliTOFClusterFinder.cxx:504
 AliTOFClusterFinder.cxx:505
 AliTOFClusterFinder.cxx:506
 AliTOFClusterFinder.cxx:507
 AliTOFClusterFinder.cxx:508
 AliTOFClusterFinder.cxx:509
 AliTOFClusterFinder.cxx:510
 AliTOFClusterFinder.cxx:511
 AliTOFClusterFinder.cxx:512
 AliTOFClusterFinder.cxx:513
 AliTOFClusterFinder.cxx:514
 AliTOFClusterFinder.cxx:515
 AliTOFClusterFinder.cxx:516
 AliTOFClusterFinder.cxx:517
 AliTOFClusterFinder.cxx:518
 AliTOFClusterFinder.cxx:519
 AliTOFClusterFinder.cxx:520
 AliTOFClusterFinder.cxx:521
 AliTOFClusterFinder.cxx:522
 AliTOFClusterFinder.cxx:523
 AliTOFClusterFinder.cxx:524
 AliTOFClusterFinder.cxx:525
 AliTOFClusterFinder.cxx:526
 AliTOFClusterFinder.cxx:527
 AliTOFClusterFinder.cxx:528
 AliTOFClusterFinder.cxx:529
 AliTOFClusterFinder.cxx:530
 AliTOFClusterFinder.cxx:531
 AliTOFClusterFinder.cxx:532
 AliTOFClusterFinder.cxx:533
 AliTOFClusterFinder.cxx:534
 AliTOFClusterFinder.cxx:535
 AliTOFClusterFinder.cxx:536
 AliTOFClusterFinder.cxx:537
 AliTOFClusterFinder.cxx:538
 AliTOFClusterFinder.cxx:539
 AliTOFClusterFinder.cxx:540
 AliTOFClusterFinder.cxx:541
 AliTOFClusterFinder.cxx:542
 AliTOFClusterFinder.cxx:543
 AliTOFClusterFinder.cxx:544
 AliTOFClusterFinder.cxx:545
 AliTOFClusterFinder.cxx:546
 AliTOFClusterFinder.cxx:547
 AliTOFClusterFinder.cxx:548
 AliTOFClusterFinder.cxx:549
 AliTOFClusterFinder.cxx:550
 AliTOFClusterFinder.cxx:551
 AliTOFClusterFinder.cxx:552
 AliTOFClusterFinder.cxx:553
 AliTOFClusterFinder.cxx:554
 AliTOFClusterFinder.cxx:555
 AliTOFClusterFinder.cxx:556
 AliTOFClusterFinder.cxx:557
 AliTOFClusterFinder.cxx:558
 AliTOFClusterFinder.cxx:559
 AliTOFClusterFinder.cxx:560
 AliTOFClusterFinder.cxx:561
 AliTOFClusterFinder.cxx:562
 AliTOFClusterFinder.cxx:563
 AliTOFClusterFinder.cxx:564
 AliTOFClusterFinder.cxx:565
 AliTOFClusterFinder.cxx:566
 AliTOFClusterFinder.cxx:567
 AliTOFClusterFinder.cxx:568
 AliTOFClusterFinder.cxx:569
 AliTOFClusterFinder.cxx:570
 AliTOFClusterFinder.cxx:571
 AliTOFClusterFinder.cxx:572
 AliTOFClusterFinder.cxx:573
 AliTOFClusterFinder.cxx:574
 AliTOFClusterFinder.cxx:575
 AliTOFClusterFinder.cxx:576
 AliTOFClusterFinder.cxx:577
 AliTOFClusterFinder.cxx:578
 AliTOFClusterFinder.cxx:579
 AliTOFClusterFinder.cxx:580
 AliTOFClusterFinder.cxx:581
 AliTOFClusterFinder.cxx:582
 AliTOFClusterFinder.cxx:583
 AliTOFClusterFinder.cxx:584
 AliTOFClusterFinder.cxx:585
 AliTOFClusterFinder.cxx:586
 AliTOFClusterFinder.cxx:587
 AliTOFClusterFinder.cxx:588
 AliTOFClusterFinder.cxx:589
 AliTOFClusterFinder.cxx:590
 AliTOFClusterFinder.cxx:591
 AliTOFClusterFinder.cxx:592
 AliTOFClusterFinder.cxx:593
 AliTOFClusterFinder.cxx:594
 AliTOFClusterFinder.cxx:595
 AliTOFClusterFinder.cxx:596
 AliTOFClusterFinder.cxx:597
 AliTOFClusterFinder.cxx:598
 AliTOFClusterFinder.cxx:599
 AliTOFClusterFinder.cxx:600
 AliTOFClusterFinder.cxx:601
 AliTOFClusterFinder.cxx:602
 AliTOFClusterFinder.cxx:603
 AliTOFClusterFinder.cxx:604
 AliTOFClusterFinder.cxx:605
 AliTOFClusterFinder.cxx:606
 AliTOFClusterFinder.cxx:607
 AliTOFClusterFinder.cxx:608
 AliTOFClusterFinder.cxx:609
 AliTOFClusterFinder.cxx:610
 AliTOFClusterFinder.cxx:611
 AliTOFClusterFinder.cxx:612
 AliTOFClusterFinder.cxx:613
 AliTOFClusterFinder.cxx:614
 AliTOFClusterFinder.cxx:615
 AliTOFClusterFinder.cxx:616
 AliTOFClusterFinder.cxx:617
 AliTOFClusterFinder.cxx:618
 AliTOFClusterFinder.cxx:619
 AliTOFClusterFinder.cxx:620
 AliTOFClusterFinder.cxx:621
 AliTOFClusterFinder.cxx:622
 AliTOFClusterFinder.cxx:623
 AliTOFClusterFinder.cxx:624
 AliTOFClusterFinder.cxx:625
 AliTOFClusterFinder.cxx:626
 AliTOFClusterFinder.cxx:627
 AliTOFClusterFinder.cxx:628
 AliTOFClusterFinder.cxx:629
 AliTOFClusterFinder.cxx:630
 AliTOFClusterFinder.cxx:631
 AliTOFClusterFinder.cxx:632
 AliTOFClusterFinder.cxx:633
 AliTOFClusterFinder.cxx:634
 AliTOFClusterFinder.cxx:635
 AliTOFClusterFinder.cxx:636
 AliTOFClusterFinder.cxx:637
 AliTOFClusterFinder.cxx:638
 AliTOFClusterFinder.cxx:639
 AliTOFClusterFinder.cxx:640
 AliTOFClusterFinder.cxx:641
 AliTOFClusterFinder.cxx:642
 AliTOFClusterFinder.cxx:643
 AliTOFClusterFinder.cxx:644
 AliTOFClusterFinder.cxx:645
 AliTOFClusterFinder.cxx:646
 AliTOFClusterFinder.cxx:647
 AliTOFClusterFinder.cxx:648
 AliTOFClusterFinder.cxx:649
 AliTOFClusterFinder.cxx:650
 AliTOFClusterFinder.cxx:651
 AliTOFClusterFinder.cxx:652
 AliTOFClusterFinder.cxx:653
 AliTOFClusterFinder.cxx:654
 AliTOFClusterFinder.cxx:655
 AliTOFClusterFinder.cxx:656
 AliTOFClusterFinder.cxx:657
 AliTOFClusterFinder.cxx:658
 AliTOFClusterFinder.cxx:659
 AliTOFClusterFinder.cxx:660
 AliTOFClusterFinder.cxx:661
 AliTOFClusterFinder.cxx:662
 AliTOFClusterFinder.cxx:663
 AliTOFClusterFinder.cxx:664
 AliTOFClusterFinder.cxx:665
 AliTOFClusterFinder.cxx:666
 AliTOFClusterFinder.cxx:667
 AliTOFClusterFinder.cxx:668
 AliTOFClusterFinder.cxx:669
 AliTOFClusterFinder.cxx:670
 AliTOFClusterFinder.cxx:671
 AliTOFClusterFinder.cxx:672
 AliTOFClusterFinder.cxx:673
 AliTOFClusterFinder.cxx:674
 AliTOFClusterFinder.cxx:675
 AliTOFClusterFinder.cxx:676
 AliTOFClusterFinder.cxx:677
 AliTOFClusterFinder.cxx:678
 AliTOFClusterFinder.cxx:679
 AliTOFClusterFinder.cxx:680
 AliTOFClusterFinder.cxx:681
 AliTOFClusterFinder.cxx:682
 AliTOFClusterFinder.cxx:683
 AliTOFClusterFinder.cxx:684
 AliTOFClusterFinder.cxx:685
 AliTOFClusterFinder.cxx:686
 AliTOFClusterFinder.cxx:687
 AliTOFClusterFinder.cxx:688
 AliTOFClusterFinder.cxx:689
 AliTOFClusterFinder.cxx:690
 AliTOFClusterFinder.cxx:691
 AliTOFClusterFinder.cxx:692
 AliTOFClusterFinder.cxx:693
 AliTOFClusterFinder.cxx:694
 AliTOFClusterFinder.cxx:695
 AliTOFClusterFinder.cxx:696
 AliTOFClusterFinder.cxx:697
 AliTOFClusterFinder.cxx:698
 AliTOFClusterFinder.cxx:699
 AliTOFClusterFinder.cxx:700
 AliTOFClusterFinder.cxx:701
 AliTOFClusterFinder.cxx:702
 AliTOFClusterFinder.cxx:703
 AliTOFClusterFinder.cxx:704
 AliTOFClusterFinder.cxx:705
 AliTOFClusterFinder.cxx:706
 AliTOFClusterFinder.cxx:707
 AliTOFClusterFinder.cxx:708
 AliTOFClusterFinder.cxx:709
 AliTOFClusterFinder.cxx:710
 AliTOFClusterFinder.cxx:711
 AliTOFClusterFinder.cxx:712
 AliTOFClusterFinder.cxx:713
 AliTOFClusterFinder.cxx:714
 AliTOFClusterFinder.cxx:715
 AliTOFClusterFinder.cxx:716
 AliTOFClusterFinder.cxx:717
 AliTOFClusterFinder.cxx:718
 AliTOFClusterFinder.cxx:719
 AliTOFClusterFinder.cxx:720
 AliTOFClusterFinder.cxx:721
 AliTOFClusterFinder.cxx:722
 AliTOFClusterFinder.cxx:723
 AliTOFClusterFinder.cxx:724
 AliTOFClusterFinder.cxx:725
 AliTOFClusterFinder.cxx:726
 AliTOFClusterFinder.cxx:727
 AliTOFClusterFinder.cxx:728
 AliTOFClusterFinder.cxx:729
 AliTOFClusterFinder.cxx:730
 AliTOFClusterFinder.cxx:731
 AliTOFClusterFinder.cxx:732
 AliTOFClusterFinder.cxx:733
 AliTOFClusterFinder.cxx:734
 AliTOFClusterFinder.cxx:735
 AliTOFClusterFinder.cxx:736
 AliTOFClusterFinder.cxx:737
 AliTOFClusterFinder.cxx:738
 AliTOFClusterFinder.cxx:739
 AliTOFClusterFinder.cxx:740
 AliTOFClusterFinder.cxx:741
 AliTOFClusterFinder.cxx:742
 AliTOFClusterFinder.cxx:743
 AliTOFClusterFinder.cxx:744
 AliTOFClusterFinder.cxx:745
 AliTOFClusterFinder.cxx:746
 AliTOFClusterFinder.cxx:747
 AliTOFClusterFinder.cxx:748
 AliTOFClusterFinder.cxx:749
 AliTOFClusterFinder.cxx:750
 AliTOFClusterFinder.cxx:751
 AliTOFClusterFinder.cxx:752
 AliTOFClusterFinder.cxx:753
 AliTOFClusterFinder.cxx:754
 AliTOFClusterFinder.cxx:755
 AliTOFClusterFinder.cxx:756
 AliTOFClusterFinder.cxx:757
 AliTOFClusterFinder.cxx:758
 AliTOFClusterFinder.cxx:759
 AliTOFClusterFinder.cxx:760
 AliTOFClusterFinder.cxx:761
 AliTOFClusterFinder.cxx:762
 AliTOFClusterFinder.cxx:763
 AliTOFClusterFinder.cxx:764
 AliTOFClusterFinder.cxx:765
 AliTOFClusterFinder.cxx:766
 AliTOFClusterFinder.cxx:767
 AliTOFClusterFinder.cxx:768
 AliTOFClusterFinder.cxx:769
 AliTOFClusterFinder.cxx:770
 AliTOFClusterFinder.cxx:771
 AliTOFClusterFinder.cxx:772
 AliTOFClusterFinder.cxx:773
 AliTOFClusterFinder.cxx:774
 AliTOFClusterFinder.cxx:775
 AliTOFClusterFinder.cxx:776
 AliTOFClusterFinder.cxx:777
 AliTOFClusterFinder.cxx:778
 AliTOFClusterFinder.cxx:779
 AliTOFClusterFinder.cxx:780
 AliTOFClusterFinder.cxx:781
 AliTOFClusterFinder.cxx:782
 AliTOFClusterFinder.cxx:783
 AliTOFClusterFinder.cxx:784
 AliTOFClusterFinder.cxx:785
 AliTOFClusterFinder.cxx:786
 AliTOFClusterFinder.cxx:787
 AliTOFClusterFinder.cxx:788
 AliTOFClusterFinder.cxx:789
 AliTOFClusterFinder.cxx:790
 AliTOFClusterFinder.cxx:791
 AliTOFClusterFinder.cxx:792
 AliTOFClusterFinder.cxx:793
 AliTOFClusterFinder.cxx:794
 AliTOFClusterFinder.cxx:795
 AliTOFClusterFinder.cxx:796
 AliTOFClusterFinder.cxx:797
 AliTOFClusterFinder.cxx:798
 AliTOFClusterFinder.cxx:799
 AliTOFClusterFinder.cxx:800
 AliTOFClusterFinder.cxx:801
 AliTOFClusterFinder.cxx:802
 AliTOFClusterFinder.cxx:803
 AliTOFClusterFinder.cxx:804
 AliTOFClusterFinder.cxx:805
 AliTOFClusterFinder.cxx:806
 AliTOFClusterFinder.cxx:807
 AliTOFClusterFinder.cxx:808
 AliTOFClusterFinder.cxx:809
 AliTOFClusterFinder.cxx:810
 AliTOFClusterFinder.cxx:811
 AliTOFClusterFinder.cxx:812
 AliTOFClusterFinder.cxx:813
 AliTOFClusterFinder.cxx:814
 AliTOFClusterFinder.cxx:815
 AliTOFClusterFinder.cxx:816
 AliTOFClusterFinder.cxx:817
 AliTOFClusterFinder.cxx:818
 AliTOFClusterFinder.cxx:819
 AliTOFClusterFinder.cxx:820
 AliTOFClusterFinder.cxx:821
 AliTOFClusterFinder.cxx:822
 AliTOFClusterFinder.cxx:823
 AliTOFClusterFinder.cxx:824
 AliTOFClusterFinder.cxx:825
 AliTOFClusterFinder.cxx:826
 AliTOFClusterFinder.cxx:827
 AliTOFClusterFinder.cxx:828
 AliTOFClusterFinder.cxx:829
 AliTOFClusterFinder.cxx:830
 AliTOFClusterFinder.cxx:831
 AliTOFClusterFinder.cxx:832
 AliTOFClusterFinder.cxx:833
 AliTOFClusterFinder.cxx:834
 AliTOFClusterFinder.cxx:835
 AliTOFClusterFinder.cxx:836
 AliTOFClusterFinder.cxx:837
 AliTOFClusterFinder.cxx:838
 AliTOFClusterFinder.cxx:839
 AliTOFClusterFinder.cxx:840
 AliTOFClusterFinder.cxx:841
 AliTOFClusterFinder.cxx:842
 AliTOFClusterFinder.cxx:843
 AliTOFClusterFinder.cxx:844
 AliTOFClusterFinder.cxx:845
 AliTOFClusterFinder.cxx:846
 AliTOFClusterFinder.cxx:847
 AliTOFClusterFinder.cxx:848
 AliTOFClusterFinder.cxx:849
 AliTOFClusterFinder.cxx:850
 AliTOFClusterFinder.cxx:851
 AliTOFClusterFinder.cxx:852
 AliTOFClusterFinder.cxx:853
 AliTOFClusterFinder.cxx:854
 AliTOFClusterFinder.cxx:855
 AliTOFClusterFinder.cxx:856
 AliTOFClusterFinder.cxx:857
 AliTOFClusterFinder.cxx:858
 AliTOFClusterFinder.cxx:859
 AliTOFClusterFinder.cxx:860
 AliTOFClusterFinder.cxx:861
 AliTOFClusterFinder.cxx:862
 AliTOFClusterFinder.cxx:863
 AliTOFClusterFinder.cxx:864
 AliTOFClusterFinder.cxx:865
 AliTOFClusterFinder.cxx:866
 AliTOFClusterFinder.cxx:867
 AliTOFClusterFinder.cxx:868
 AliTOFClusterFinder.cxx:869
 AliTOFClusterFinder.cxx:870
 AliTOFClusterFinder.cxx:871
 AliTOFClusterFinder.cxx:872
 AliTOFClusterFinder.cxx:873
 AliTOFClusterFinder.cxx:874
 AliTOFClusterFinder.cxx:875
 AliTOFClusterFinder.cxx:876
 AliTOFClusterFinder.cxx:877
 AliTOFClusterFinder.cxx:878
 AliTOFClusterFinder.cxx:879
 AliTOFClusterFinder.cxx:880
 AliTOFClusterFinder.cxx:881
 AliTOFClusterFinder.cxx:882
 AliTOFClusterFinder.cxx:883
 AliTOFClusterFinder.cxx:884
 AliTOFClusterFinder.cxx:885
 AliTOFClusterFinder.cxx:886
 AliTOFClusterFinder.cxx:887
 AliTOFClusterFinder.cxx:888
 AliTOFClusterFinder.cxx:889
 AliTOFClusterFinder.cxx:890
 AliTOFClusterFinder.cxx:891
 AliTOFClusterFinder.cxx:892
 AliTOFClusterFinder.cxx:893
 AliTOFClusterFinder.cxx:894
 AliTOFClusterFinder.cxx:895
 AliTOFClusterFinder.cxx:896
 AliTOFClusterFinder.cxx:897
 AliTOFClusterFinder.cxx:898
 AliTOFClusterFinder.cxx:899
 AliTOFClusterFinder.cxx:900
 AliTOFClusterFinder.cxx:901
 AliTOFClusterFinder.cxx:902
 AliTOFClusterFinder.cxx:903
 AliTOFClusterFinder.cxx:904
 AliTOFClusterFinder.cxx:905
 AliTOFClusterFinder.cxx:906
 AliTOFClusterFinder.cxx:907
 AliTOFClusterFinder.cxx:908
 AliTOFClusterFinder.cxx:909
 AliTOFClusterFinder.cxx:910
 AliTOFClusterFinder.cxx:911
 AliTOFClusterFinder.cxx:912
 AliTOFClusterFinder.cxx:913
 AliTOFClusterFinder.cxx:914
 AliTOFClusterFinder.cxx:915
 AliTOFClusterFinder.cxx:916
 AliTOFClusterFinder.cxx:917
 AliTOFClusterFinder.cxx:918
 AliTOFClusterFinder.cxx:919
 AliTOFClusterFinder.cxx:920
 AliTOFClusterFinder.cxx:921
 AliTOFClusterFinder.cxx:922
 AliTOFClusterFinder.cxx:923
 AliTOFClusterFinder.cxx:924
 AliTOFClusterFinder.cxx:925
 AliTOFClusterFinder.cxx:926
 AliTOFClusterFinder.cxx:927
 AliTOFClusterFinder.cxx:928
 AliTOFClusterFinder.cxx:929
 AliTOFClusterFinder.cxx:930
 AliTOFClusterFinder.cxx:931
 AliTOFClusterFinder.cxx:932
 AliTOFClusterFinder.cxx:933
 AliTOFClusterFinder.cxx:934
 AliTOFClusterFinder.cxx:935
 AliTOFClusterFinder.cxx:936
 AliTOFClusterFinder.cxx:937
 AliTOFClusterFinder.cxx:938
 AliTOFClusterFinder.cxx:939
 AliTOFClusterFinder.cxx:940
 AliTOFClusterFinder.cxx:941
 AliTOFClusterFinder.cxx:942
 AliTOFClusterFinder.cxx:943
 AliTOFClusterFinder.cxx:944
 AliTOFClusterFinder.cxx:945
 AliTOFClusterFinder.cxx:946
 AliTOFClusterFinder.cxx:947
 AliTOFClusterFinder.cxx:948
 AliTOFClusterFinder.cxx:949
 AliTOFClusterFinder.cxx:950
 AliTOFClusterFinder.cxx:951
 AliTOFClusterFinder.cxx:952
 AliTOFClusterFinder.cxx:953
 AliTOFClusterFinder.cxx:954
 AliTOFClusterFinder.cxx:955
 AliTOFClusterFinder.cxx:956
 AliTOFClusterFinder.cxx:957
 AliTOFClusterFinder.cxx:958
 AliTOFClusterFinder.cxx:959
 AliTOFClusterFinder.cxx:960
 AliTOFClusterFinder.cxx:961
 AliTOFClusterFinder.cxx:962
 AliTOFClusterFinder.cxx:963
 AliTOFClusterFinder.cxx:964
 AliTOFClusterFinder.cxx:965
 AliTOFClusterFinder.cxx:966
 AliTOFClusterFinder.cxx:967
 AliTOFClusterFinder.cxx:968
 AliTOFClusterFinder.cxx:969
 AliTOFClusterFinder.cxx:970
 AliTOFClusterFinder.cxx:971
 AliTOFClusterFinder.cxx:972
 AliTOFClusterFinder.cxx:973
 AliTOFClusterFinder.cxx:974
 AliTOFClusterFinder.cxx:975
 AliTOFClusterFinder.cxx:976
 AliTOFClusterFinder.cxx:977
 AliTOFClusterFinder.cxx:978
 AliTOFClusterFinder.cxx:979
 AliTOFClusterFinder.cxx:980
 AliTOFClusterFinder.cxx:981
 AliTOFClusterFinder.cxx:982
 AliTOFClusterFinder.cxx:983
 AliTOFClusterFinder.cxx:984
 AliTOFClusterFinder.cxx:985
 AliTOFClusterFinder.cxx:986
 AliTOFClusterFinder.cxx:987
 AliTOFClusterFinder.cxx:988
 AliTOFClusterFinder.cxx:989
 AliTOFClusterFinder.cxx:990
 AliTOFClusterFinder.cxx:991
 AliTOFClusterFinder.cxx:992
 AliTOFClusterFinder.cxx:993
 AliTOFClusterFinder.cxx:994
 AliTOFClusterFinder.cxx:995
 AliTOFClusterFinder.cxx:996
 AliTOFClusterFinder.cxx:997
 AliTOFClusterFinder.cxx:998
 AliTOFClusterFinder.cxx:999
 AliTOFClusterFinder.cxx:1000
 AliTOFClusterFinder.cxx:1001
 AliTOFClusterFinder.cxx:1002
 AliTOFClusterFinder.cxx:1003
 AliTOFClusterFinder.cxx:1004
 AliTOFClusterFinder.cxx:1005
 AliTOFClusterFinder.cxx:1006
 AliTOFClusterFinder.cxx:1007
 AliTOFClusterFinder.cxx:1008
 AliTOFClusterFinder.cxx:1009
 AliTOFClusterFinder.cxx:1010
 AliTOFClusterFinder.cxx:1011
 AliTOFClusterFinder.cxx:1012
 AliTOFClusterFinder.cxx:1013
 AliTOFClusterFinder.cxx:1014
 AliTOFClusterFinder.cxx:1015
 AliTOFClusterFinder.cxx:1016
 AliTOFClusterFinder.cxx:1017
 AliTOFClusterFinder.cxx:1018
 AliTOFClusterFinder.cxx:1019
 AliTOFClusterFinder.cxx:1020
 AliTOFClusterFinder.cxx:1021
 AliTOFClusterFinder.cxx:1022
 AliTOFClusterFinder.cxx:1023
 AliTOFClusterFinder.cxx:1024
 AliTOFClusterFinder.cxx:1025
 AliTOFClusterFinder.cxx:1026
 AliTOFClusterFinder.cxx:1027
 AliTOFClusterFinder.cxx:1028
 AliTOFClusterFinder.cxx:1029
 AliTOFClusterFinder.cxx:1030
 AliTOFClusterFinder.cxx:1031
 AliTOFClusterFinder.cxx:1032
 AliTOFClusterFinder.cxx:1033
 AliTOFClusterFinder.cxx:1034
 AliTOFClusterFinder.cxx:1035
 AliTOFClusterFinder.cxx:1036
 AliTOFClusterFinder.cxx:1037
 AliTOFClusterFinder.cxx:1038
 AliTOFClusterFinder.cxx:1039
 AliTOFClusterFinder.cxx:1040
 AliTOFClusterFinder.cxx:1041
 AliTOFClusterFinder.cxx:1042
 AliTOFClusterFinder.cxx:1043
 AliTOFClusterFinder.cxx:1044
 AliTOFClusterFinder.cxx:1045
 AliTOFClusterFinder.cxx:1046
 AliTOFClusterFinder.cxx:1047
 AliTOFClusterFinder.cxx:1048
 AliTOFClusterFinder.cxx:1049
 AliTOFClusterFinder.cxx:1050
 AliTOFClusterFinder.cxx:1051
 AliTOFClusterFinder.cxx:1052
 AliTOFClusterFinder.cxx:1053
 AliTOFClusterFinder.cxx:1054
 AliTOFClusterFinder.cxx:1055
 AliTOFClusterFinder.cxx:1056
 AliTOFClusterFinder.cxx:1057
 AliTOFClusterFinder.cxx:1058
 AliTOFClusterFinder.cxx:1059
 AliTOFClusterFinder.cxx:1060
 AliTOFClusterFinder.cxx:1061
 AliTOFClusterFinder.cxx:1062
 AliTOFClusterFinder.cxx:1063
 AliTOFClusterFinder.cxx:1064
 AliTOFClusterFinder.cxx:1065
 AliTOFClusterFinder.cxx:1066
 AliTOFClusterFinder.cxx:1067
 AliTOFClusterFinder.cxx:1068
 AliTOFClusterFinder.cxx:1069
 AliTOFClusterFinder.cxx:1070
 AliTOFClusterFinder.cxx:1071
 AliTOFClusterFinder.cxx:1072
 AliTOFClusterFinder.cxx:1073
 AliTOFClusterFinder.cxx:1074
 AliTOFClusterFinder.cxx:1075
 AliTOFClusterFinder.cxx:1076
 AliTOFClusterFinder.cxx:1077
 AliTOFClusterFinder.cxx:1078
 AliTOFClusterFinder.cxx:1079
 AliTOFClusterFinder.cxx:1080
 AliTOFClusterFinder.cxx:1081
 AliTOFClusterFinder.cxx:1082
 AliTOFClusterFinder.cxx:1083
 AliTOFClusterFinder.cxx:1084
 AliTOFClusterFinder.cxx:1085
 AliTOFClusterFinder.cxx:1086
 AliTOFClusterFinder.cxx:1087
 AliTOFClusterFinder.cxx:1088
 AliTOFClusterFinder.cxx:1089
 AliTOFClusterFinder.cxx:1090
 AliTOFClusterFinder.cxx:1091
 AliTOFClusterFinder.cxx:1092
 AliTOFClusterFinder.cxx:1093
 AliTOFClusterFinder.cxx:1094
 AliTOFClusterFinder.cxx:1095
 AliTOFClusterFinder.cxx:1096
 AliTOFClusterFinder.cxx:1097
 AliTOFClusterFinder.cxx:1098
 AliTOFClusterFinder.cxx:1099
 AliTOFClusterFinder.cxx:1100
 AliTOFClusterFinder.cxx:1101
 AliTOFClusterFinder.cxx:1102
 AliTOFClusterFinder.cxx:1103
 AliTOFClusterFinder.cxx:1104
 AliTOFClusterFinder.cxx:1105
 AliTOFClusterFinder.cxx:1106
 AliTOFClusterFinder.cxx:1107
 AliTOFClusterFinder.cxx:1108
 AliTOFClusterFinder.cxx:1109
 AliTOFClusterFinder.cxx:1110
 AliTOFClusterFinder.cxx:1111
 AliTOFClusterFinder.cxx:1112
 AliTOFClusterFinder.cxx:1113
 AliTOFClusterFinder.cxx:1114
 AliTOFClusterFinder.cxx:1115
 AliTOFClusterFinder.cxx:1116
 AliTOFClusterFinder.cxx:1117
 AliTOFClusterFinder.cxx:1118
 AliTOFClusterFinder.cxx:1119
 AliTOFClusterFinder.cxx:1120
 AliTOFClusterFinder.cxx:1121
 AliTOFClusterFinder.cxx:1122
 AliTOFClusterFinder.cxx:1123
 AliTOFClusterFinder.cxx:1124
 AliTOFClusterFinder.cxx:1125
 AliTOFClusterFinder.cxx:1126
 AliTOFClusterFinder.cxx:1127
 AliTOFClusterFinder.cxx:1128
 AliTOFClusterFinder.cxx:1129
 AliTOFClusterFinder.cxx:1130
 AliTOFClusterFinder.cxx:1131
 AliTOFClusterFinder.cxx:1132
 AliTOFClusterFinder.cxx:1133
 AliTOFClusterFinder.cxx:1134
 AliTOFClusterFinder.cxx:1135
 AliTOFClusterFinder.cxx:1136
 AliTOFClusterFinder.cxx:1137
 AliTOFClusterFinder.cxx:1138
 AliTOFClusterFinder.cxx:1139
 AliTOFClusterFinder.cxx:1140
 AliTOFClusterFinder.cxx:1141
 AliTOFClusterFinder.cxx:1142
 AliTOFClusterFinder.cxx:1143
 AliTOFClusterFinder.cxx:1144
 AliTOFClusterFinder.cxx:1145
 AliTOFClusterFinder.cxx:1146
 AliTOFClusterFinder.cxx:1147
 AliTOFClusterFinder.cxx:1148
 AliTOFClusterFinder.cxx:1149
 AliTOFClusterFinder.cxx:1150
 AliTOFClusterFinder.cxx:1151
 AliTOFClusterFinder.cxx:1152
 AliTOFClusterFinder.cxx:1153
 AliTOFClusterFinder.cxx:1154
 AliTOFClusterFinder.cxx:1155
 AliTOFClusterFinder.cxx:1156
 AliTOFClusterFinder.cxx:1157
 AliTOFClusterFinder.cxx:1158
 AliTOFClusterFinder.cxx:1159
 AliTOFClusterFinder.cxx:1160
 AliTOFClusterFinder.cxx:1161
 AliTOFClusterFinder.cxx:1162
 AliTOFClusterFinder.cxx:1163
 AliTOFClusterFinder.cxx:1164
 AliTOFClusterFinder.cxx:1165
 AliTOFClusterFinder.cxx:1166
 AliTOFClusterFinder.cxx:1167
 AliTOFClusterFinder.cxx:1168
 AliTOFClusterFinder.cxx:1169
 AliTOFClusterFinder.cxx:1170
 AliTOFClusterFinder.cxx:1171
 AliTOFClusterFinder.cxx:1172
 AliTOFClusterFinder.cxx:1173
 AliTOFClusterFinder.cxx:1174
 AliTOFClusterFinder.cxx:1175
 AliTOFClusterFinder.cxx:1176
 AliTOFClusterFinder.cxx:1177
 AliTOFClusterFinder.cxx:1178
 AliTOFClusterFinder.cxx:1179
 AliTOFClusterFinder.cxx:1180
 AliTOFClusterFinder.cxx:1181
 AliTOFClusterFinder.cxx:1182
 AliTOFClusterFinder.cxx:1183
 AliTOFClusterFinder.cxx:1184
 AliTOFClusterFinder.cxx:1185
 AliTOFClusterFinder.cxx:1186
 AliTOFClusterFinder.cxx:1187
 AliTOFClusterFinder.cxx:1188
 AliTOFClusterFinder.cxx:1189
 AliTOFClusterFinder.cxx:1190
 AliTOFClusterFinder.cxx:1191
 AliTOFClusterFinder.cxx:1192
 AliTOFClusterFinder.cxx:1193
 AliTOFClusterFinder.cxx:1194
 AliTOFClusterFinder.cxx:1195
 AliTOFClusterFinder.cxx:1196
 AliTOFClusterFinder.cxx:1197
 AliTOFClusterFinder.cxx:1198
 AliTOFClusterFinder.cxx:1199
 AliTOFClusterFinder.cxx:1200
 AliTOFClusterFinder.cxx:1201
 AliTOFClusterFinder.cxx:1202
 AliTOFClusterFinder.cxx:1203
 AliTOFClusterFinder.cxx:1204
 AliTOFClusterFinder.cxx:1205
 AliTOFClusterFinder.cxx:1206
 AliTOFClusterFinder.cxx:1207
 AliTOFClusterFinder.cxx:1208
 AliTOFClusterFinder.cxx:1209
 AliTOFClusterFinder.cxx:1210
 AliTOFClusterFinder.cxx:1211
 AliTOFClusterFinder.cxx:1212
 AliTOFClusterFinder.cxx:1213
 AliTOFClusterFinder.cxx:1214
 AliTOFClusterFinder.cxx:1215
 AliTOFClusterFinder.cxx:1216
 AliTOFClusterFinder.cxx:1217
 AliTOFClusterFinder.cxx:1218
 AliTOFClusterFinder.cxx:1219
 AliTOFClusterFinder.cxx:1220
 AliTOFClusterFinder.cxx:1221
 AliTOFClusterFinder.cxx:1222
 AliTOFClusterFinder.cxx:1223
 AliTOFClusterFinder.cxx:1224
 AliTOFClusterFinder.cxx:1225
 AliTOFClusterFinder.cxx:1226
 AliTOFClusterFinder.cxx:1227
 AliTOFClusterFinder.cxx:1228
 AliTOFClusterFinder.cxx:1229
 AliTOFClusterFinder.cxx:1230
 AliTOFClusterFinder.cxx:1231
 AliTOFClusterFinder.cxx:1232
 AliTOFClusterFinder.cxx:1233
 AliTOFClusterFinder.cxx:1234
 AliTOFClusterFinder.cxx:1235
 AliTOFClusterFinder.cxx:1236
 AliTOFClusterFinder.cxx:1237
 AliTOFClusterFinder.cxx:1238
 AliTOFClusterFinder.cxx:1239
 AliTOFClusterFinder.cxx:1240
 AliTOFClusterFinder.cxx:1241
 AliTOFClusterFinder.cxx:1242
 AliTOFClusterFinder.cxx:1243
 AliTOFClusterFinder.cxx:1244
 AliTOFClusterFinder.cxx:1245
 AliTOFClusterFinder.cxx:1246
 AliTOFClusterFinder.cxx:1247
 AliTOFClusterFinder.cxx:1248
 AliTOFClusterFinder.cxx:1249
 AliTOFClusterFinder.cxx:1250
 AliTOFClusterFinder.cxx:1251
 AliTOFClusterFinder.cxx:1252
 AliTOFClusterFinder.cxx:1253
 AliTOFClusterFinder.cxx:1254
 AliTOFClusterFinder.cxx:1255
 AliTOFClusterFinder.cxx:1256
 AliTOFClusterFinder.cxx:1257
 AliTOFClusterFinder.cxx:1258
 AliTOFClusterFinder.cxx:1259
 AliTOFClusterFinder.cxx:1260
 AliTOFClusterFinder.cxx:1261
 AliTOFClusterFinder.cxx:1262
 AliTOFClusterFinder.cxx:1263
 AliTOFClusterFinder.cxx:1264
 AliTOFClusterFinder.cxx:1265
 AliTOFClusterFinder.cxx:1266
 AliTOFClusterFinder.cxx:1267
 AliTOFClusterFinder.cxx:1268
 AliTOFClusterFinder.cxx:1269
 AliTOFClusterFinder.cxx:1270
 AliTOFClusterFinder.cxx:1271
 AliTOFClusterFinder.cxx:1272
 AliTOFClusterFinder.cxx:1273
 AliTOFClusterFinder.cxx:1274
 AliTOFClusterFinder.cxx:1275
 AliTOFClusterFinder.cxx:1276
 AliTOFClusterFinder.cxx:1277
 AliTOFClusterFinder.cxx:1278
 AliTOFClusterFinder.cxx:1279
 AliTOFClusterFinder.cxx:1280
 AliTOFClusterFinder.cxx:1281
 AliTOFClusterFinder.cxx:1282
 AliTOFClusterFinder.cxx:1283
 AliTOFClusterFinder.cxx:1284
 AliTOFClusterFinder.cxx:1285
 AliTOFClusterFinder.cxx:1286
 AliTOFClusterFinder.cxx:1287
 AliTOFClusterFinder.cxx:1288
 AliTOFClusterFinder.cxx:1289
 AliTOFClusterFinder.cxx:1290
 AliTOFClusterFinder.cxx:1291
 AliTOFClusterFinder.cxx:1292
 AliTOFClusterFinder.cxx:1293
 AliTOFClusterFinder.cxx:1294
 AliTOFClusterFinder.cxx:1295
 AliTOFClusterFinder.cxx:1296
 AliTOFClusterFinder.cxx:1297
 AliTOFClusterFinder.cxx:1298
 AliTOFClusterFinder.cxx:1299
 AliTOFClusterFinder.cxx:1300
 AliTOFClusterFinder.cxx:1301
 AliTOFClusterFinder.cxx:1302
 AliTOFClusterFinder.cxx:1303
 AliTOFClusterFinder.cxx:1304
 AliTOFClusterFinder.cxx:1305
 AliTOFClusterFinder.cxx:1306
 AliTOFClusterFinder.cxx:1307
 AliTOFClusterFinder.cxx:1308
 AliTOFClusterFinder.cxx:1309
 AliTOFClusterFinder.cxx:1310
 AliTOFClusterFinder.cxx:1311
 AliTOFClusterFinder.cxx:1312
 AliTOFClusterFinder.cxx:1313
 AliTOFClusterFinder.cxx:1314
 AliTOFClusterFinder.cxx:1315
 AliTOFClusterFinder.cxx:1316
 AliTOFClusterFinder.cxx:1317
 AliTOFClusterFinder.cxx:1318
 AliTOFClusterFinder.cxx:1319
 AliTOFClusterFinder.cxx:1320
 AliTOFClusterFinder.cxx:1321
 AliTOFClusterFinder.cxx:1322
 AliTOFClusterFinder.cxx:1323
 AliTOFClusterFinder.cxx:1324
 AliTOFClusterFinder.cxx:1325
 AliTOFClusterFinder.cxx:1326
 AliTOFClusterFinder.cxx:1327
 AliTOFClusterFinder.cxx:1328
 AliTOFClusterFinder.cxx:1329
 AliTOFClusterFinder.cxx:1330
 AliTOFClusterFinder.cxx:1331
 AliTOFClusterFinder.cxx:1332
 AliTOFClusterFinder.cxx:1333
 AliTOFClusterFinder.cxx:1334
 AliTOFClusterFinder.cxx:1335
 AliTOFClusterFinder.cxx:1336
 AliTOFClusterFinder.cxx:1337
 AliTOFClusterFinder.cxx:1338
 AliTOFClusterFinder.cxx:1339
 AliTOFClusterFinder.cxx:1340
 AliTOFClusterFinder.cxx:1341
 AliTOFClusterFinder.cxx:1342
 AliTOFClusterFinder.cxx:1343
 AliTOFClusterFinder.cxx:1344
 AliTOFClusterFinder.cxx:1345
 AliTOFClusterFinder.cxx:1346
 AliTOFClusterFinder.cxx:1347
 AliTOFClusterFinder.cxx:1348
 AliTOFClusterFinder.cxx:1349
 AliTOFClusterFinder.cxx:1350
 AliTOFClusterFinder.cxx:1351
 AliTOFClusterFinder.cxx:1352
 AliTOFClusterFinder.cxx:1353
 AliTOFClusterFinder.cxx:1354
 AliTOFClusterFinder.cxx:1355
 AliTOFClusterFinder.cxx:1356
 AliTOFClusterFinder.cxx:1357
 AliTOFClusterFinder.cxx:1358
 AliTOFClusterFinder.cxx:1359
 AliTOFClusterFinder.cxx:1360
 AliTOFClusterFinder.cxx:1361
 AliTOFClusterFinder.cxx:1362
 AliTOFClusterFinder.cxx:1363
 AliTOFClusterFinder.cxx:1364
 AliTOFClusterFinder.cxx:1365
 AliTOFClusterFinder.cxx:1366
 AliTOFClusterFinder.cxx:1367
 AliTOFClusterFinder.cxx:1368
 AliTOFClusterFinder.cxx:1369
 AliTOFClusterFinder.cxx:1370
 AliTOFClusterFinder.cxx:1371
 AliTOFClusterFinder.cxx:1372
 AliTOFClusterFinder.cxx:1373
 AliTOFClusterFinder.cxx:1374
 AliTOFClusterFinder.cxx:1375
 AliTOFClusterFinder.cxx:1376
 AliTOFClusterFinder.cxx:1377
 AliTOFClusterFinder.cxx:1378
 AliTOFClusterFinder.cxx:1379
 AliTOFClusterFinder.cxx:1380
 AliTOFClusterFinder.cxx:1381
 AliTOFClusterFinder.cxx:1382
 AliTOFClusterFinder.cxx:1383
 AliTOFClusterFinder.cxx:1384
 AliTOFClusterFinder.cxx:1385
 AliTOFClusterFinder.cxx:1386
 AliTOFClusterFinder.cxx:1387
 AliTOFClusterFinder.cxx:1388
 AliTOFClusterFinder.cxx:1389
 AliTOFClusterFinder.cxx:1390
 AliTOFClusterFinder.cxx:1391
 AliTOFClusterFinder.cxx:1392
 AliTOFClusterFinder.cxx:1393
 AliTOFClusterFinder.cxx:1394
 AliTOFClusterFinder.cxx:1395
 AliTOFClusterFinder.cxx:1396
 AliTOFClusterFinder.cxx:1397
 AliTOFClusterFinder.cxx:1398
 AliTOFClusterFinder.cxx:1399
 AliTOFClusterFinder.cxx:1400
 AliTOFClusterFinder.cxx:1401
 AliTOFClusterFinder.cxx:1402
 AliTOFClusterFinder.cxx:1403
 AliTOFClusterFinder.cxx:1404
 AliTOFClusterFinder.cxx:1405
 AliTOFClusterFinder.cxx:1406
 AliTOFClusterFinder.cxx:1407
 AliTOFClusterFinder.cxx:1408
 AliTOFClusterFinder.cxx:1409
 AliTOFClusterFinder.cxx:1410
 AliTOFClusterFinder.cxx:1411
 AliTOFClusterFinder.cxx:1412
 AliTOFClusterFinder.cxx:1413
 AliTOFClusterFinder.cxx:1414
 AliTOFClusterFinder.cxx:1415
 AliTOFClusterFinder.cxx:1416
 AliTOFClusterFinder.cxx:1417
 AliTOFClusterFinder.cxx:1418
 AliTOFClusterFinder.cxx:1419
 AliTOFClusterFinder.cxx:1420
 AliTOFClusterFinder.cxx:1421
 AliTOFClusterFinder.cxx:1422
 AliTOFClusterFinder.cxx:1423
 AliTOFClusterFinder.cxx:1424
 AliTOFClusterFinder.cxx:1425
 AliTOFClusterFinder.cxx:1426
 AliTOFClusterFinder.cxx:1427
 AliTOFClusterFinder.cxx:1428
 AliTOFClusterFinder.cxx:1429
 AliTOFClusterFinder.cxx:1430
 AliTOFClusterFinder.cxx:1431
 AliTOFClusterFinder.cxx:1432
 AliTOFClusterFinder.cxx:1433
 AliTOFClusterFinder.cxx:1434
 AliTOFClusterFinder.cxx:1435
 AliTOFClusterFinder.cxx:1436
 AliTOFClusterFinder.cxx:1437
 AliTOFClusterFinder.cxx:1438
 AliTOFClusterFinder.cxx:1439
 AliTOFClusterFinder.cxx:1440
 AliTOFClusterFinder.cxx:1441
 AliTOFClusterFinder.cxx:1442
 AliTOFClusterFinder.cxx:1443
 AliTOFClusterFinder.cxx:1444
 AliTOFClusterFinder.cxx:1445
 AliTOFClusterFinder.cxx:1446
 AliTOFClusterFinder.cxx:1447
 AliTOFClusterFinder.cxx:1448
 AliTOFClusterFinder.cxx:1449
 AliTOFClusterFinder.cxx:1450
 AliTOFClusterFinder.cxx:1451
 AliTOFClusterFinder.cxx:1452
 AliTOFClusterFinder.cxx:1453
 AliTOFClusterFinder.cxx:1454
 AliTOFClusterFinder.cxx:1455
 AliTOFClusterFinder.cxx:1456
 AliTOFClusterFinder.cxx:1457
 AliTOFClusterFinder.cxx:1458
 AliTOFClusterFinder.cxx:1459
 AliTOFClusterFinder.cxx:1460
 AliTOFClusterFinder.cxx:1461
 AliTOFClusterFinder.cxx:1462
 AliTOFClusterFinder.cxx:1463
 AliTOFClusterFinder.cxx:1464
 AliTOFClusterFinder.cxx:1465
 AliTOFClusterFinder.cxx:1466
 AliTOFClusterFinder.cxx:1467
 AliTOFClusterFinder.cxx:1468
 AliTOFClusterFinder.cxx:1469
 AliTOFClusterFinder.cxx:1470
 AliTOFClusterFinder.cxx:1471
 AliTOFClusterFinder.cxx:1472
 AliTOFClusterFinder.cxx:1473
 AliTOFClusterFinder.cxx:1474
 AliTOFClusterFinder.cxx:1475
 AliTOFClusterFinder.cxx:1476
 AliTOFClusterFinder.cxx:1477
 AliTOFClusterFinder.cxx:1478
 AliTOFClusterFinder.cxx:1479
 AliTOFClusterFinder.cxx:1480
 AliTOFClusterFinder.cxx:1481
 AliTOFClusterFinder.cxx:1482
 AliTOFClusterFinder.cxx:1483
 AliTOFClusterFinder.cxx:1484
 AliTOFClusterFinder.cxx:1485
 AliTOFClusterFinder.cxx:1486
 AliTOFClusterFinder.cxx:1487
 AliTOFClusterFinder.cxx:1488
 AliTOFClusterFinder.cxx:1489
 AliTOFClusterFinder.cxx:1490
 AliTOFClusterFinder.cxx:1491
 AliTOFClusterFinder.cxx:1492
 AliTOFClusterFinder.cxx:1493
 AliTOFClusterFinder.cxx:1494
 AliTOFClusterFinder.cxx:1495
 AliTOFClusterFinder.cxx:1496
 AliTOFClusterFinder.cxx:1497
 AliTOFClusterFinder.cxx:1498
 AliTOFClusterFinder.cxx:1499
 AliTOFClusterFinder.cxx:1500
 AliTOFClusterFinder.cxx:1501
 AliTOFClusterFinder.cxx:1502
 AliTOFClusterFinder.cxx:1503
 AliTOFClusterFinder.cxx:1504
 AliTOFClusterFinder.cxx:1505
 AliTOFClusterFinder.cxx:1506
 AliTOFClusterFinder.cxx:1507
 AliTOFClusterFinder.cxx:1508
 AliTOFClusterFinder.cxx:1509
 AliTOFClusterFinder.cxx:1510
 AliTOFClusterFinder.cxx:1511
 AliTOFClusterFinder.cxx:1512
 AliTOFClusterFinder.cxx:1513
 AliTOFClusterFinder.cxx:1514
 AliTOFClusterFinder.cxx:1515
 AliTOFClusterFinder.cxx:1516
 AliTOFClusterFinder.cxx:1517
 AliTOFClusterFinder.cxx:1518
 AliTOFClusterFinder.cxx:1519
 AliTOFClusterFinder.cxx:1520
 AliTOFClusterFinder.cxx:1521
 AliTOFClusterFinder.cxx:1522
 AliTOFClusterFinder.cxx:1523
 AliTOFClusterFinder.cxx:1524
 AliTOFClusterFinder.cxx:1525
 AliTOFClusterFinder.cxx:1526