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

/* $Id$ */

///////////////////////////////////////////////////////////////////////////////
//                                                                           //
//  Track finder                                                             //
//                                                                           //
//  Authors:                                                                 //
//    Alex Bercuci <A.Bercuci@gsi.de>                                        //
//    Markus Fasel <M.Fasel@gsi.de>                                          //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////

#include <TBranch.h>
#include <TDirectory.h>
#include <TLinearFitter.h>
#include <TTree.h>  
#include <TClonesArray.h>
#include <TTreeStream.h>
#include <TGeoMatrix.h>
#include <TGeoManager.h>

#include "AliLog.h"
#include "AliMathBase.h"
#include "AliESDEvent.h"
#include "AliGeomManager.h"
#include "AliRieman.h"
#include "AliTrackPointArray.h"

#include "AliTRDgeometry.h"
#include "AliTRDpadPlane.h"
#include "AliTRDcalibDB.h"
#include "AliTRDReconstructor.h"
#include "AliTRDCalibraFillHisto.h"
#include "AliTRDrecoParam.h"

#include "AliTRDcluster.h" 
#include "AliTRDdigitsParam.h"
#include "AliTRDseedV1.h"
#include "AliTRDtrackV1.h"
#include "AliTRDtrackerV1.h"
#include "AliTRDtrackerDebug.h"
#include "AliTRDtrackingChamber.h"
#include "AliTRDchamberTimeBin.h"

ClassImp(AliTRDtrackerV1)
ClassImp(AliTRDtrackerV1::AliTRDLeastSquare)
ClassImp(AliTRDtrackerV1::AliTRDtrackFitterRieman)

AliTRDtrackerV1::ETRDtrackerV1BetheBloch AliTRDtrackerV1::fgBB = AliTRDtrackerV1::kGeant;
Double_t AliTRDtrackerV1::fgTopologicQA[kNConfigs] = {
  0.5112, 0.5112, 0.5112, 0.0786, 0.0786,
  0.0786, 0.0786, 0.0579, 0.0579, 0.0474,
  0.0474, 0.0408, 0.0335, 0.0335, 0.0335
};  
const Double_t AliTRDtrackerV1::fgkX0[kNPlanes]    = {
  300.2, 312.8, 325.4, 338.0, 350.6, 363.2};
// Number of Time Bins/chamber should be also stored independently by the traker
// (also in AliTRDReconstructor) in oder to be able to run HLT. Fix TODO
Int_t AliTRDtrackerV1::fgNTimeBins = 0;
AliRieman* AliTRDtrackerV1::fgRieman = NULL;
TLinearFitter* AliTRDtrackerV1::fgTiltedRieman = NULL;
TLinearFitter* AliTRDtrackerV1::fgTiltedRiemanConstrained = NULL;

//____________________________________________________________________
AliTRDtrackerV1::AliTRDtrackerV1(const AliTRDReconstructor *rec) 
  :AliTracker()
  ,fkReconstructor(NULL)
  ,fkRecoParam(NULL)
  ,fGeom(NULL)
  ,fClusters(NULL)
  ,fTracklets(NULL)
  ,fTracks(NULL)
  ,fTracksESD(NULL)
  ,fSieveSeeding(0)
  ,fEventInFile(-1)
{
  //
  // Default constructor.
  // 
  
  SetReconstructor(rec); // initialize reconstructor

  // initialize geometry
  if(!AliGeomManager::GetGeometry()){
    AliFatal("Could not get geometry.");
  }
  fGeom = new AliTRDgeometry();
  fGeom->CreateClusterMatrixArray();
  TGeoHMatrix *matrix = NULL;
  Double_t loc[] = {0., 0., 0.};
  Double_t glb[] = {0., 0., 0.};
  for(Int_t ily=kNPlanes; ily--;){
    Int_t ism = 0;
    while(!(matrix = fGeom->GetClusterMatrix(AliTRDgeometry::GetDetector(ily, 2, ism)))) ism++;
    if(!matrix){
      AliError(Form("Could not get transformation matrix for layer %d. Use default.", ily));
      fR[ily] = fgkX0[ily];
      continue;
    }
    matrix->LocalToMaster(loc, glb);
    fR[ily] = glb[0]+ AliTRDgeometry::AnodePos()-.5*AliTRDgeometry::AmThick() - AliTRDgeometry::DrThick();
  }

  // initialize cluster containers
  for (Int_t isector = 0; isector < AliTRDgeometry::kNsector; isector++) new(&fTrSec[isector]) AliTRDtrackingSector(fGeom, isector);
  
  // initialize arrays
  memset(fTrackQuality, 0, kMaxTracksStack*sizeof(Double_t));
  memset(fSeedLayer, 0, kMaxTracksStack*sizeof(Int_t));
  memset(fSeedTB, 0, kNSeedPlanes*sizeof(AliTRDchamberTimeBin*));
  fTracksESD = new TClonesArray("AliESDtrack", 2*kMaxTracksStack);
  fTracksESD->SetOwner();
}

//____________________________________________________________________
AliTRDtrackerV1::~AliTRDtrackerV1()
{ 
  //
  // Destructor
  //

  if(fgRieman) delete fgRieman; fgRieman = NULL;
  if(fgTiltedRieman) delete fgTiltedRieman; fgTiltedRieman = NULL;
  if(fgTiltedRiemanConstrained) delete fgTiltedRiemanConstrained; fgTiltedRiemanConstrained = NULL;
  for(Int_t isl =0; isl<kNSeedPlanes; isl++) if(fSeedTB[isl]) delete fSeedTB[isl];
  if(fTracksESD){ fTracksESD->Delete(); delete fTracksESD; }
  if(fTracks) {fTracks->Delete(); delete fTracks;}
  if(fTracklets) {fTracklets->Delete(); delete fTracklets;}
  if(IsClustersOwner() && fClusters) {
    AliInfo(Form("tracker[%p] removing %d own clusters @ %p", (void*)this, fClusters->GetEntries(), (void*)fClusters));
    fClusters->Delete(); delete fClusters;
  }
  if(fGeom) delete fGeom;
}

//____________________________________________________________________
Int_t AliTRDtrackerV1::Clusters2Tracks(AliESDEvent *esd)
{
  //
  // Steering stand alone tracking for full TRD detector
  //
  // Parameters :
  //   esd     : The ESD event. On output it contains 
  //             the ESD tracks found in TRD.
  //
  // Output :
  //   Number of tracks found in the TRD detector.
  // 
  // Detailed description
  // 1. Launch individual SM trackers. 
  //    See AliTRDtrackerV1::Clusters2TracksSM() for details.
  //

  if(!fkRecoParam){
    AliError("Reconstruction configuration not initialized. Call first AliTRDReconstructor::SetRecoParam().");
    return 0;
  }
  
  //AliInfo("Start Track Finder ...");
  Int_t ntracks = 0;
  for(int ism=0; ism<AliTRDgeometry::kNsector; ism++){
    //	for(int ism=1; ism<2; ism++){
    //AliInfo(Form("Processing supermodule %i ...", ism));
    ntracks += Clusters2TracksSM(ism, esd);
  }
  AliInfo(Form("Number of tracks: !TRDin[%d]", ntracks));
  return ntracks;
}


//_____________________________________________________________________________
Bool_t AliTRDtrackerV1::GetTrackPoint(Int_t index, AliTrackPoint &p) const
{
  //AliInfo(Form("Asking for tracklet %d", index));
  
  // reset position of the point before using it
  p.SetXYZ(0., 0., 0.);
  AliTRDseedV1 *tracklet = GetTracklet(index); 
  if (!tracklet) return kFALSE;

  // get detector for this tracklet
  Int_t det = tracklet->GetDetector();
  Int_t sec = fGeom->GetSector(det);
  Double_t alpha = (sec+.5)*AliTRDgeometry::GetAlpha(),
           sinA  = TMath::Sin(alpha),
           cosA  = TMath::Cos(alpha);
  Double_t local[3];
  local[0] = tracklet->GetX(); 
  local[1] = tracklet->GetY();
  local[2] = tracklet->GetZ();
  Double_t global[3];
  fGeom->RotateBack(det, local, global);

  Double_t cov2D[3]; Float_t cov[6];
  tracklet->GetCovAt(local[0], cov2D);
  cov[0] = cov2D[0]*sinA*sinA;
  cov[1] =-cov2D[0]*sinA*cosA;
  cov[2] =-cov2D[1]*sinA;
  cov[3] = cov2D[0]*cosA*cosA;
  cov[4] = cov2D[1]*cosA;
  cov[5] = cov2D[2];
  // store the global position of the tracklet and its covariance matrix in the track point 
  p.SetXYZ(global[0],global[1],global[2], cov);
  
  // setting volume id
  AliGeomManager::ELayerID iLayer = AliGeomManager::ELayerID(AliGeomManager::kTRD1+fGeom->GetLayer(det));
  Int_t    modId = fGeom->GetSector(det) * AliTRDgeometry::kNstack + fGeom->GetStack(det);
  UShort_t volid = AliGeomManager::LayerToVolUID(iLayer, modId);
  p.SetVolumeID(volid);
    
  return kTRUE;
}

//____________________________________________________________________
TLinearFitter* AliTRDtrackerV1::GetTiltedRiemanFitter()
{
  if(!fgTiltedRieman) fgTiltedRieman = new TLinearFitter(4, "hyp4");
  return fgTiltedRieman;
}

//____________________________________________________________________
TLinearFitter* AliTRDtrackerV1::GetTiltedRiemanFitterConstraint()
{
  if(!fgTiltedRiemanConstrained) fgTiltedRiemanConstrained = new TLinearFitter(2, "hyp2");
  return fgTiltedRiemanConstrained;
}
  
//____________________________________________________________________	
AliRieman* AliTRDtrackerV1::GetRiemanFitter()
{
  if(!fgRieman) fgRieman = new AliRieman(AliTRDseedV1::kNtb * AliTRDgeometry::kNlayer);
  return fgRieman;
}
  
//_____________________________________________________________________________
Int_t AliTRDtrackerV1::PropagateBack(AliESDEvent *event) 
{
// Propagation of ESD tracks from TPC to TOF detectors and building of the TRD track. For building
// a TRD track an ESD track is used as seed. The informations obtained on the TRD track (measured points,
// covariance, PID, etc.) are than used to update the corresponding ESD track.
// Each track seed is first propagated to the geometrical limit of the TRD detector. 
// Its prolongation is searched in the TRD and if corresponding clusters are found tracklets are 
// constructed out of them (see AliTRDseedV1::AttachClusters()) and the track is updated. 
// Otherwise the ESD track is left unchanged.
// 
// The following steps are performed:
// 1. Selection of tracks based on the variance in the y-z plane.
// 2. Propagation to the geometrical limit of the TRD volume. If track propagation fails the AliESDtrack::kTRDStop is set.
// 3. Prolongation inside the fiducial volume (see AliTRDtrackerV1::FollowBackProlongation()) and marking
// the following status bits:
//   - AliESDtrack::kTRDin - if the tracks enters the TRD fiducial volume
//   - AliESDtrack::kTRDStop - if the tracks fails propagation
//   - AliESDtrack::kTRDbackup - if the tracks fulfills chi2 conditions and qualify for refitting
// 4. Writting to friends, PID, MC label, quality etc. Setting status bit AliESDtrack::kTRDout.
// 5. Propagation to TOF. If track propagation fails the AliESDtrack::kTRDStop is set.
//  

  if(!fClusters || !fClusters->GetEntriesFast()){ 
    AliInfo("No TRD clusters");
    return 0;
  }
  AliTRDCalibraFillHisto *calibra = AliTRDCalibraFillHisto::Instance(); // Calibration monitor
  if (!calibra) AliInfo("Could not get Calibra instance");
  if (!fgNTimeBins) fgNTimeBins = fkReconstructor->GetNTimeBins(); 

  // Define scalers
  Int_t nFound   = 0, // number of tracks found
        nBacked  = 0, // number of tracks backed up for refit
        nSeeds   = 0, // total number of ESD seeds
        nTRDseeds= 0, // number of seeds in the TRD acceptance
        nTPCseeds= 0; // number of TPC seeds
  Float_t foundMin = 20.0;
  
  Float_t *quality = NULL;
  Int_t   *index   = NULL;
  fEventInFile  = event->GetEventNumberInFile();
  nSeeds   = event->GetNumberOfTracks();
  // Sort tracks according to quality 
  // (covariance in the yz plane)
  if(nSeeds){  
    quality = new Float_t[nSeeds];
    index   = new Int_t[4*nSeeds];
    for (Int_t iSeed = nSeeds; iSeed--;) {
      AliESDtrack *seed = event->GetTrack(iSeed);
      Double_t covariance[15];
      seed->GetExternalCovariance(covariance);
      quality[iSeed] = covariance[0] + covariance[2];
    }
    TMath::Sort(nSeeds, quality, index,kFALSE);
  }
  
  // Propagate all seeds
  Int_t   expectedClr;
  AliTRDtrackV1 track;
  for (Int_t iSeed = 0; iSeed < nSeeds; iSeed++) {
  
    // Get the seeds in sorted sequence
    AliESDtrack *seed = event->GetTrack(index[iSeed]);
    Float_t p4  = seed->GetC(seed->GetBz());
  
    // Check the seed status
    ULong_t status = seed->GetStatus();
    if ((status & AliESDtrack::kTRDout) != 0) continue;
    if ((status & AliESDtrack::kTPCout)){
      AliDebug(3, Form("Prolongate seed[%2d] which is TPC.", iSeed));
      // set steering parameters for TPC
      //fkRecoParam->SetTrackParam(kTPC);
/*    } else {
      if ((status & AliESDtrack::kITSout)){
        AliDebug(3, Form("Prolongate seed[%2d] which is ITS.", iSeed));
        // set steering parameters for ITS
        //fkRecoParam->SetTrackParam(kITS);
        // rotate
        Float_t  globalToTracking = AliTRDgeometry::GetAlpha()*(Int_t(seed->GetAlpha()/AliTRDgeometry::GetAlpha()) + (seed->GetAlpha()>0. ? 0.5 : -0.5));
        if(!seed->Rotate(globalToTracking)) continue;
      } else continue;*/
    } else continue;

    // Propagate to the entrance in the TRD mother volume
    track.~AliTRDtrackV1();
    new(&track) AliTRDtrackV1(*seed);
    if(AliTRDgeometry::GetXtrdBeg() > (AliTRDReconstructor::GetMaxStep() + track.GetX()) && !PropagateToX(track, AliTRDgeometry::GetXtrdBeg(), AliTRDReconstructor::GetMaxStep())){
      seed->UpdateTrackParams(&track, AliESDtrack::kTRDStop);
      continue;
    }    
    if(!AdjustSector(&track)){
      seed->UpdateTrackParams(&track, AliESDtrack::kTRDStop);
      continue;
    }
    if(TMath::Abs(track.GetSnp()) > AliTRDReconstructor::GetMaxSnp()) {
      seed->UpdateTrackParams(&track, AliESDtrack::kTRDStop);
      continue;
    }
    nTPCseeds++;
    AliDebug(2, Form("TRD propagate TPC seed[%d] = %d.", iSeed, index[iSeed]));
    // store track status at TRD entrance
    seed->UpdateTrackParams(&track, AliESDtrack::kTRDbackup);

    // prepare track and do propagation in the TRD
    track.SetReconstructor(fkReconstructor);
    track.SetKink(Bool_t(seed->GetKinkIndex(0)));
    track.SetPrimary(status & AliESDtrack::kTPCin);
    expectedClr = FollowBackProlongation(track);
    // check if track entered the TRD fiducial volume
    if(track.GetTrackIn()){ 
      seed->UpdateTrackParams(&track, AliESDtrack::kTRDin);
      nTRDseeds++;
    }
    // check if track was stopped in the TRD
    if (expectedClr<0){      
      seed->UpdateTrackParams(&track, AliESDtrack::kTRDStop);
      continue;
    } else {
      nFound++;  
      // compute PID
      track.CookPID();
      //compute MC label
      track.CookLabel(1. - AliTRDReconstructor::GetLabelFraction());
      // update calibration references using this track
      if(calibra->GetHisto2d()) calibra->UpdateHistogramsV1(&track);
      // save calibration object
      if (fkRecoParam->GetStreamLevel(AliTRDrecoParam::kTracker) > 0 || AliTRDReconstructor::GetStreamLevel()>0 ) { 
        AliTRDtrackV1 *calibTrack = new AliTRDtrackV1(track);
        calibTrack->SetOwner();
        seed->AddCalibObject(calibTrack);
      }
      //update ESD track
      seed->UpdateTrackParams(&track, AliESDtrack::kTRDout);
      track.UpdateESDtrack(seed);
    }

    // Make backup for back propagation
    if ((TMath::Abs(track.GetC(track.GetBz()) - p4) / TMath::Abs(p4) < 0.2) || (track.Pt() > 0.8)) {
      Int_t foundClr = track.GetNumberOfClusters();
      if (foundClr >= foundMin) {
        //if(track.GetBackupTrack()) UseClusters(track.GetBackupTrack());

        // Sign only gold tracks
        if (track.GetChi2() / track.GetNumberOfClusters() < 4) {
          //if ((seed->GetKinkIndex(0)      ==   0) && (track.Pt() <  1.5)) UseClusters(&track);
        }
        Bool_t isGold = kFALSE;
  
        // Full gold track
        if (track.GetChi2() / track.GetNumberOfClusters() < 5) {
          if (track.GetBackupTrack()) seed->UpdateTrackParams(track.GetBackupTrack(),AliESDtrack::kTRDbackup);
          nBacked++;
          isGold = kTRUE;
        }
  
        // Almost gold track
        if ((!isGold)  && (track.GetNCross() == 0) &&	(track.GetChi2() / track.GetNumberOfClusters()  < 7)) {
          //seed->UpdateTrackParams(track, AliESDtrack::kTRDbackup);
          if (track.GetBackupTrack()) seed->UpdateTrackParams(track.GetBackupTrack(),AliESDtrack::kTRDbackup);
          nBacked++;
          isGold = kTRUE;
        }
        
        if ((!isGold) && (track.GetBackupTrack())) {
          if ((track.GetBackupTrack()->GetNumberOfClusters() > foundMin) && ((track.GetBackupTrack()->GetChi2()/(track.GetBackupTrack()->GetNumberOfClusters()+1)) < 7)) {
            seed->UpdateTrackParams(track.GetBackupTrack(),AliESDtrack::kTRDbackup);
            nBacked++;
            isGold = kTRUE;
          }
        }
      }
    }
    
    // Propagation to the TOF
    if(!(seed->GetStatus()&AliESDtrack::kTRDStop)) {
      Int_t sm = track.GetSector();
      // default value in case we have problems with the geometry.
      Double_t xtof  = 371.; 
      //Calculate radial position of the beginning of the TOF
      //mother volume. In order to avoid mixing of the TRD 
      //and TOF modules some hard values are needed. This are:
      //1. The path to the TOF module.
      //2. The width of the TOF (29.05 cm)
      //(with the help of Annalisa de Caro Mar-17-2009)
      if(gGeoManager){
        gGeoManager->cd(Form("/ALIC_1/B077_1/BSEGMO%d_1/BTOF%d_1", sm, sm));
        TGeoHMatrix *m = NULL;
        Double_t loc[]={0., 0., -.5*29.05}, glob[3];
        
        if((m=gGeoManager->GetCurrentMatrix())){
          m->LocalToMaster(loc, glob);
          xtof = TMath::Sqrt(glob[0]*glob[0]+glob[1]*glob[1]);
        }
      }
      if(xtof > (AliTRDReconstructor::GetMaxStep() + track.GetX()) && !PropagateToX(track, xtof, AliTRDReconstructor::GetMaxStep())){
        seed->UpdateTrackParams(&track, AliESDtrack::kTRDStop);
        continue;
      }
      if(!AdjustSector(&track)){ 
        seed->UpdateTrackParams(&track, AliESDtrack::kTRDStop);
        continue;
      }
      if(TMath::Abs(track.GetSnp()) > AliTRDReconstructor::GetMaxSnp()){
        seed->UpdateTrackParams(&track, AliESDtrack::kTRDStop);
        continue;
      }
      //seed->UpdateTrackParams(&track, AliESDtrack::kTRDout);
      // TODO obsolete - delete
      seed->SetTRDQuality(track.StatusForTOF()); 
    }
    seed->SetTRDBudget(track.GetBudget(0));
  }
  if(index) delete [] index;
  if(quality) delete [] quality;

  AliInfo(Form("Number of seeds: TPCout[%d] TRDin[%d]", nTPCseeds, nTRDseeds));
  AliInfo(Form("Number of tracks: TRDout[%d] TRDbackup[%d]", nFound, nBacked));

  // run stand alone tracking
  if (fkReconstructor->IsSeeding()) Clusters2Tracks(event);
  
  return 0;
}


//____________________________________________________________________
Int_t AliTRDtrackerV1::RefitInward(AliESDEvent *event)
{
  //
  // Refits tracks within the TRD. The ESD event is expected to contain seeds 
  // at the outer part of the TRD. 
  // The tracks are propagated to the innermost time bin 
  // of the TRD and the ESD event is updated
  // Origin: Thomas KUHR (Thomas.Kuhr@cern.ch)
  //

  Int_t   nseed    = 0; // contor for loaded seeds
  Int_t   found    = 0; // contor for updated TRD tracks
  
  
  if(!fClusters || !fClusters->GetEntriesFast()){ 
    AliInfo("No TRD clusters");
    return 0;
  }
  AliTRDtrackV1 track;
  for (Int_t itrack = 0; itrack < event->GetNumberOfTracks(); itrack++) {
    AliESDtrack *seed = event->GetTrack(itrack);
    ULong_t status = seed->GetStatus();

    new(&track) AliTRDtrackV1(*seed);
    if (track.GetX() < 270.0) {
      seed->UpdateTrackParams(&track, AliESDtrack::kTRDbackup);
      continue;
    }

    // reject tracks which failed propagation in the TRD or
    // are produced by the TRD stand alone tracker
    if(!(status & AliESDtrack::kTRDout)) continue;
    if(!(status & AliESDtrack::kTRDin)) continue;
    nseed++; 

    track.ResetCovariance(50.0);

    // do the propagation and processing
    Bool_t kUPDATE = kFALSE;
    Double_t xTPC = 250.0;
    if(FollowProlongation(track)){	
      // Update the friend track
      if (fkRecoParam->GetStreamLevel(AliTRDrecoParam::kTracker) > 0  || AliTRDReconstructor::GetStreamLevel()>0 ){ 
        TObject *o = NULL; Int_t ic = 0;
        AliTRDtrackV1 *calibTrack = NULL; 
        while((o = seed->GetCalibObject(ic++))){
          if(!(calibTrack = dynamic_cast<AliTRDtrackV1*>(o))) continue;
          calibTrack->SetTrackOut(&track);
        }
      }

      // Prolongate to TPC
      if (PropagateToX(track, xTPC, AliTRDReconstructor::GetMaxStep())) { //  -with update
        seed->UpdateTrackParams(&track, AliESDtrack::kTRDrefit);
        found++;
        kUPDATE = kTRUE;
      }
    }
    
    // Prolongate to TPC without update
    if(!kUPDATE) {
      AliTRDtrackV1 tt(*seed);
      if (PropagateToX(tt, xTPC, AliTRDReconstructor::GetMaxStep())) seed->UpdateTrackParams(&tt, AliESDtrack::kTRDbackup);
    }
  }
  AliInfo(Form("Number of seeds: TRDout[%d]", nseed));
  AliInfo(Form("Number of tracks: TRDrefit[%d]", found));
  
  return 0;
}

//____________________________________________________________________
Int_t AliTRDtrackerV1::FollowProlongation(AliTRDtrackV1 &t)
{
  // Extrapolates the TRD track in the TPC direction.
  //
  // Parameters
  //   t : the TRD track which has to be extrapolated
  // 
  // Output
  //   number of clusters attached to the track
  //
  // Detailed description
  //
  // Starting from current radial position of track <t> this function
  // extrapolates the track through the 6 TRD layers. The following steps
  // are being performed for each plane:
  // 1. prepare track:
  //   a. get plane limits in the local x direction
  //   b. check crossing sectors 
  //   c. check track inclination
  // 2. search tracklet in the tracker list (see GetTracklet() for details)
  // 3. evaluate material budget using the geo manager
  // 4. propagate and update track using the tracklet information.
  //
  // Debug level 2
  //
  
  Int_t    nClustersExpected = 0;
  for (Int_t iplane = kNPlanes; iplane--;) {
    Int_t   index(-1);
    AliTRDseedV1 *tracklet = GetTracklet(&t, iplane, index);
    AliDebug(2, Form("Tracklet[%p] ly[%d] idx[%d]", (void*)tracklet, iplane, index));
    if(!tracklet) continue;
    if(!tracklet->IsOK()){ 
      AliDebug(1, Form("Tracklet Det[%d] !OK", tracklet->GetDetector()));
      continue;
    }
    Double_t x  = tracklet->GetX();//GetX0();
    // reject tracklets which are not considered for inward refit
    if(x > t.GetX()+AliTRDReconstructor::GetMaxStep()) continue;

    // append tracklet to track
    t.SetTracklet(tracklet, index);
    
    if (x < (t.GetX()-AliTRDReconstructor::GetMaxStep()) && !PropagateToX(t, x+AliTRDReconstructor::GetMaxStep(), AliTRDReconstructor::GetMaxStep())) break;
    if (!AdjustSector(&t)) break;
    
    // Start global position
    Double_t xyz0[3];
    t.GetXYZ(xyz0);

    // End global position
    Double_t alpha = t.GetAlpha(), y, z;
    if (!t.GetProlongation(x,y,z)) break;    
    Double_t xyz1[3];
    xyz1[0] =  x * TMath::Cos(alpha) - y * TMath::Sin(alpha);
    xyz1[1] =  x * TMath::Sin(alpha) + y * TMath::Cos(alpha);
    xyz1[2] =  z;
        
    Double_t length = TMath::Sqrt(
      (xyz0[0]-xyz1[0])*(xyz0[0]-xyz1[0]) +
      (xyz0[1]-xyz1[1])*(xyz0[1]-xyz1[1]) +
      (xyz0[2]-xyz1[2])*(xyz0[2]-xyz1[2])
    );
    if(length>0.){
      // Get material budget
      Double_t param[7];
      if(AliTracker::MeanMaterialBudget(xyz0, xyz1, param)<=0.) break;
      Double_t xrho= param[0]*param[4];
      Double_t xx0 = param[1]; // Get mean propagation parameters
  
      // Propagate and update		
      t.PropagateTo(x, xx0, xrho);
      if (!AdjustSector(&t)) break;
    }

    Double_t cov[3]; tracklet->GetCovAt(x, cov);
    Double_t p[2] = { tracklet->GetY(), tracklet->GetZ()};
    Double_t chi2 = ((AliExternalTrackParam)t).GetPredictedChi2(p, cov);

    if(fkReconstructor->IsDebugStreaming()){
      Int_t eventNumber = AliTRDtrackerDebug::GetEventNumber();
      TTreeSRedirector &cstreamer = *fkReconstructor->GetDebugStream(AliTRDrecoParam::kTracker);
      AliExternalTrackParam param0(t);
      AliExternalTrackParam param1(t);
      param1.Update(p, cov);
      TVectorD vcov(3,cov);
      TVectorD vpar(3,p);
      cstreamer << "FollowProlongationInfo"
		<< "EventNumber="	<< eventNumber
		<< "iplane="<<iplane
		<< "vcov.="<<&vcov
	        << "vpar.="<<&vpar
		<< "tracklet.="      << tracklet
		<< "chi2="<< chi2 
		<< "param0.="		<< &param0
		<< "param1.="		<< &param1
		<< "\n";
    }
    /*
    AliInfo(Form("Pl:%d X:%+e : %+e P: %+e %+e Cov:%+e %+e %+e -> dXY: %+e %+e | chi2:%.2f pT:%.2f alp:%.3f",
		 iplane,x,t.GetX(),p[0],p[1],cov[0],cov[1],cov[2],
		 p[0]-t.GetY(),p[1]-t.GetZ(),
		 chi2,t.Pt()*t.Charge(),t.GetAlpha()));
    */
    if (chi2 < fkRecoParam->GetChi2Cut() && ((AliExternalTrackParam&)t).Update(p, cov)){  // MI parameterizad chi2 cut 03.05.2014
      //    if (chi2 < 1e+10 && ((AliExternalTrackParam&)t).Update(p, cov)){ 
      // Register info to track
      t.SetNumberOfClusters();
      t.UpdateChi2(chi2);
      nClustersExpected += tracklet->GetN();
    }
  }

  if(fkRecoParam->GetStreamLevel(AliTRDrecoParam::kTracker) > 1 || AliTRDReconstructor::GetStreamLevel()>1){
    Int_t index;
    for(int iplane=0; iplane<AliTRDgeometry::kNlayer; iplane++){
      AliTRDseedV1 *tracklet = GetTracklet(&t, iplane, index);
      if(!tracklet) continue;
      t.SetTracklet(tracklet, index);
    }

    if(fkReconstructor->IsDebugStreaming()){
      Int_t eventNumber = AliTRDtrackerDebug::GetEventNumber();
      TTreeSRedirector &cstreamer = *fkReconstructor->GetDebugStream(AliTRDrecoParam::kTracker);
      AliTRDtrackV1 track(t);
      track.SetOwner();
      cstreamer << "FollowProlongation"
          << "EventNumber="	<< eventNumber
          << "ncl="					<< nClustersExpected
          << "track.="			<< &track
          << "\n";
    }
  }
  return nClustersExpected;

}

//_____________________________________________________________________________
Int_t AliTRDtrackerV1::FollowBackProlongation(AliTRDtrackV1 &t)
{
// Extrapolates/Build the TRD track in the TOF direction.
//
// Parameters
//   t : the TRD track which has to be extrapolated
// 
// Output
//   number of clusters attached to the track
//
// Starting from current radial position of track <t> this function
// extrapolates the track through the 6 TRD layers. The following steps
// are being performed for each plane:
// 1. Propagate track to the entrance of the next chamber:
//   - get chamber limits in the radial direction
//   - check crossing sectors 
//   - check track inclination
//   - check track prolongation against boundary conditions (see exclusion boundaries on AliTRDgeometry::IsOnBoundary())
// 2. Build tracklet (see AliTRDseed::AttachClusters() for details) for this layer if needed. If only 
//    Kalman filter is needed and tracklets are already linked to the track this step is skipped.
// 3. Fit tracklet using the information from the Kalman filter.
// 4. Propagate and update track at reference radial position of the tracklet.
// 5. Register tracklet with the tracker and track; update pulls monitoring.
//
// Observation
//   1. During the propagation a bit map is filled detailing the status of the track in each TRD chamber. The following errors are being registered for each tracklet:
// - AliTRDtrackV1::kProlongation : track prolongation failed
// - AliTRDtrackV1::kPropagation : track prolongation failed
// - AliTRDtrackV1::kAdjustSector : failed during sector crossing
// - AliTRDtrackV1::kSnp : too large bending
// - AliTRDtrackV1::kTrackletInit : fail to initialize tracklet
// - AliTRDtrackV1::kUpdate : fail to attach clusters or fit the tracklet
// - AliTRDtrackV1::kUnknown : anything which is not covered before
//   2. By default the status of the track before first TRD update is saved. 
// 
// Debug level 2
//
// Author
//   Alexandru Bercuci <A.Bercuci@gsi.de>
//

  Int_t n = 0;
  Double_t driftLength = .5*AliTRDgeometry::AmThick() + AliTRDgeometry::DrThick();
  AliTRDtrackingChamber *chamber = NULL;
  
  Int_t debugLevel = fkReconstructor->IsDebugStreaming() ? fkRecoParam->GetStreamLevel(AliTRDrecoParam::kTracker) : 0;
  if ( AliTRDReconstructor::GetStreamLevel()>0) debugLevel= AliTRDReconstructor::GetStreamLevel();
  TTreeSRedirector *cstreamer = fkReconstructor->IsDebugStreaming() ? fkReconstructor->GetDebugStream(AliTRDrecoParam::kTracker) : 0x0;

  Bool_t kStoreIn(kTRUE),     // toggel store track params. at TRD entry
         kStandAlone(kFALSE), // toggle tracker awarness of stand alone seeding 
         kUseTRD(fkRecoParam->IsOverPtThreshold(t.Pt()));// use TRD measurment to update Kalman

  Int_t startLayer(0);
  AliTRDseedV1 tracklet, *ptrTracklet = NULL;
  // Special case for stand alone tracking
  // - store all tracklets found by seeding
  // - start propagation from first tracklet found
  AliTRDseedV1 *tracklets[kNPlanes];
  memset(tracklets, 0, sizeof(AliTRDseedV1 *) * kNPlanes);
  for(Int_t ip(kNPlanes); ip--;){
    if(!(tracklets[ip] = t.GetTracklet(ip))) continue;
    t.UnsetTracklet(ip);
    if(tracklets[ip]->IsOK()) startLayer=ip;
    kStandAlone = kTRUE;
    kUseTRD = kTRUE;
  } 
  AliDebug(4, Form("SA[%c] Start[%d]\n"
    "  [0]idx[%d] traklet[%p]\n"
    "  [1]idx[%d] traklet[%p]\n"
    "  [2]idx[%d] traklet[%p]\n"
    "  [3]idx[%d] traklet[%p]\n"
    "  [4]idx[%d] traklet[%p]\n"
    "  [5]idx[%d] traklet[%p]"
    , kStandAlone?'y':'n', startLayer
    , t.GetTrackletIndex(0), (void*)tracklets[0]
    , t.GetTrackletIndex(1), (void*)tracklets[1]
    , t.GetTrackletIndex(2), (void*)tracklets[2]
    , t.GetTrackletIndex(3), (void*)tracklets[3]
    , t.GetTrackletIndex(4), (void*)tracklets[4]
    , t.GetTrackletIndex(5), (void*)tracklets[5]));

  // Loop through the TRD layers
  TGeoHMatrix *matrix = NULL;
  Double_t x(0.), y(0.), z(0.);
  for (Int_t ily=startLayer, sm=-1, stk=-1, det=-1; ily < AliTRDgeometry::kNlayer; ily++) {
    AliDebug(2, Form("Propagate to x[%d] = %7.2f", ily, fR[ily]));

    // rough estimate of the entry point
    if (!t.GetProlongation(fR[ily], y, z)){
      n=-1; 
      t.SetErrStat(AliTRDtrackV1::kProlongation);
      AliDebug(4, Form("Failed Rough Prolongation to ly[%d] x[%7.2f] y[%7.2f] z[%7.2f]", ily, fR[ily], y, z));
      break;
    }

    // find sector / stack / detector
    sm = t.GetSector();
    // TODO cross check with y value !
    stk = fGeom->GetStack(z, ily);
    det = stk>=0 ? AliTRDgeometry::GetDetector(ily, stk, sm) : -1;
    matrix = det>=0 ? fGeom->GetClusterMatrix(det) : NULL;

    // check if supermodule/chamber is installed
    if( !fGeom->GetSMstatus(sm) ||
        stk<0. ||
        fGeom->IsHole(ily, stk, sm) ||
        !matrix ){ 
      AliDebug(4, Form("Missing Geometry ly[%d]. Guess radial position", ily));
      // propagate to the default radial position
      if(fR[ily] > (AliTRDReconstructor::GetMaxStep() + t.GetX()) && !PropagateToX(t, fR[ily], AliTRDReconstructor::GetMaxStep())){
        n=-1; 
        t.SetErrStat(AliTRDtrackV1::kPropagation);
        AliDebug(4, "Failed Propagation [Missing Geometry]");
        break;
      }
      if(!AdjustSector(&t)){
        n=-1; 
        t.SetErrStat(AliTRDtrackV1::kAdjustSector);
        AliDebug(4, "Failed Adjust Sector [Missing Geometry]");
        break;
      }
      if(TMath::Abs(t.GetSnp()) > AliTRDReconstructor::GetMaxSnp()){
        n=-1; 
        t.SetErrStat(AliTRDtrackV1::kSnp);
        AliDebug(4, "Failed Max Snp [Missing Geometry]");
        break;
      }
      t.SetErrStat(AliTRDtrackV1::kGeometry, ily);
      continue;
    }

    // retrieve rotation matrix for the current chamber
    Double_t loc[] = {AliTRDgeometry::AnodePos()- driftLength, 0., 0.};
    Double_t glb[] = {0., 0., 0.};
    matrix->LocalToMaster(loc, glb);
    AliDebug(3, Form("Propagate to det[%3d] x_anode[%7.2f] (%f %f)", det, glb[0]+driftLength, glb[1], glb[2]));

    // Propagate to the radial distance of the current layer
    x = glb[0] - AliTRDReconstructor::GetMaxStep();
    if(x > (AliTRDReconstructor::GetMaxStep() + t.GetX()) && !PropagateToX(t, x, AliTRDReconstructor::GetMaxStep())){
      n=-1; 
      t.SetErrStat(AliTRDtrackV1::kPropagation);
      AliDebug(4, Form("Failed Initial Propagation to x[%7.2f]", x));
      break;
    }
    if(!AdjustSector(&t)){
      n=-1; 
      t.SetErrStat(AliTRDtrackV1::kAdjustSector);
      AliDebug(4, "Failed Adjust Sector Start");
      break;
    }
    if(TMath::Abs(t.GetSnp()) > AliTRDReconstructor::GetMaxSnp()) {
      n=-1; 
      t.SetErrStat(AliTRDtrackV1::kSnp);
      AliDebug(4, Form("Failed Max Snp[%f] MaxSnp[%f]", t.GetSnp(), AliTRDReconstructor::GetMaxSnp()));
      break;
    }
    Bool_t doRecalculate = kFALSE;
    if(sm != t.GetSector()){
      sm = t.GetSector(); 
      doRecalculate = kTRUE;
    }
    if(stk != fGeom->GetStack(z, ily)){
      stk = fGeom->GetStack(z, ily);
      doRecalculate = kTRUE;
    }
    if(doRecalculate){
      det = AliTRDgeometry::GetDetector(ily, stk, sm);
      if(!(matrix = fGeom->GetClusterMatrix(det))){ 
        t.SetErrStat(AliTRDtrackV1::kGeometry, ily);
        AliDebug(4, Form("Failed Geometry Matrix ly[%d]", ily));
        continue;
      }
      matrix->LocalToMaster(loc, glb);
      x = glb[0] - AliTRDReconstructor::GetMaxStep();
    }

    // check if track is well inside fiducial volume 
    if (!t.GetProlongation(x+AliTRDReconstructor::GetMaxStep(), y, z)) {
      n=-1; 
      t.SetErrStat(AliTRDtrackV1::kProlongation);
      AliDebug(4, Form("Failed Prolongation to x[%7.2f] y[%7.2f] z[%7.2f]", x+AliTRDReconstructor::GetMaxStep(), y, z));
      break;
    }
    if(fGeom->IsOnBoundary(det, y, z, .5)){ 
      t.SetErrStat(AliTRDtrackV1::kBoundary, ily);
      AliDebug(4, "Failed Track on Boundary");
      continue;
    }

    Float_t prod(t.GetBz()*t.Charge());
    ptrTracklet  = tracklets[ily];
    if(!ptrTracklet){ // BUILD TRACKLET
      AliDebug(3, Form("Building tracklet det[%d]", det));
      // check data in supermodule
      if(!fTrSec[sm].GetNChambers()){ 
        t.SetErrStat(AliTRDtrackV1::kNoClusters, ily);
        AliDebug(4, "Failed NoClusters");
        continue;
      }
      if(fTrSec[sm].GetX(ily) < 1.){ 
        t.SetErrStat(AliTRDtrackV1::kNoClusters, ily);
        AliDebug(4, "Failed NoX");
        continue;
      }
      
      // check data in chamber
      if(!(chamber = fTrSec[sm].GetChamber(stk, ily))){ 
        t.SetErrStat(AliTRDtrackV1::kNoClusters, ily);
        AliDebug(4, "Failed No Detector");
        continue;
      }
      if(chamber->GetNClusters() < fgNTimeBins*fkRecoParam ->GetFindableClusters()){ 
        t.SetErrStat(AliTRDtrackV1::kNoClusters, ily);
        AliDebug(4, "Failed Not Enough Clusters in Detector");
        continue;
      }      
      // build tracklet
      tracklet.~AliTRDseedV1();
      ptrTracklet = new(&tracklet) AliTRDseedV1(det);
      ptrTracklet->SetReconstructor(fkReconstructor);
      ptrTracklet->SetKink(t.IsKink());
      ptrTracklet->SetPrimary(t.IsPrimary());
      ptrTracklet->SetPadPlane(fGeom->GetPadPlane(ily, stk));
      //set first approximation of radial position of anode wire corresponding to middle chamber y=0, z=0
      // the uncertainty is given by the actual position of the tracklet (y,z) and chamber inclination
      ptrTracklet->SetX0(glb[0]+driftLength);
      if(!ptrTracklet->Init(&t)){
        n=-1; 
        t.SetErrStat(AliTRDtrackV1::kTrackletInit);
        AliDebug(4, "Failed Tracklet Init");
        break;
      }
      // Select attachment base on track to B field sign not only track charge which is buggy
      // mark kFALSE same sign tracks and kTRUE opposite sign tracks
      // A.Bercuci 3.11.2011
      if(!ptrTracklet->AttachClusters(chamber, kTRUE, prod<0.?kTRUE:kFALSE, fEventInFile)){
        t.SetErrStat(AliTRDtrackV1::kNoAttach, ily);
        if(debugLevel>3){
          AliTRDseedV1 trackletCp(*ptrTracklet);
          UChar_t status(t.GetStatusTRD(ily));
          (*cstreamer)   << "FollowBackProlongation4"
          <<"status="    << status
          <<"tracklet.=" << &trackletCp
          << "\n";
        }
        AliDebug(4, "Failed Attach Clusters");
        continue;
      }
      AliDebug(3, Form("Number of Clusters in Tracklet: %d", ptrTracklet->GetN()));
      if(ptrTracklet->GetN() < fgNTimeBins*fkRecoParam->GetFindableClusters()){
        t.SetErrStat(AliTRDtrackV1::kNoClustersTracklet, ily);
        if(debugLevel>3){
          AliTRDseedV1 trackletCp(*ptrTracklet);
          UChar_t status(t.GetStatusTRD(ily));
          (*cstreamer)   << "FollowBackProlongation4"
          <<"status="    << status
          <<"tracklet.=" << &trackletCp
          << "\n";
        }
        AliDebug(4, "Failed N Clusters Attached");
        continue;
      }
      ptrTracklet->UpdateUsed();
    } else AliDebug(2, Form("Use external tracklet ly[%d]", ily));
    // propagate track to the radial position of the tracklet

    // fit tracklet in the local chamber coordinate system 
    // tilt correction options
    // 0 : no correction
    // 2 : pseudo tilt correction
    if(!ptrTracklet->FitRobust(fGeom->GetPadPlane(ily, stk), matrix, t.GetBz(), t.Charge())){
      t.SetErrStat(AliTRDtrackV1::kNoFit, ily);
      AliDebug(4, "Failed Tracklet Fit");
      continue;
    } 
    // Calculate tracklet position in tracking coordinates
    // A.Bercuci 27.11.2013    
    ptrTracklet->SetXYZ(matrix);

    x = ptrTracklet->GetX(); //GetX0();
    if(x > (AliTRDReconstructor::GetMaxStep() + t.GetX()) && !PropagateToX(t, x, AliTRDReconstructor::GetMaxStep())) {
      n=-1; 
      t.SetErrStat(AliTRDtrackV1::kPropagation);
      AliDebug(4, Form("Failed Propagation to Tracklet x[%7.2f]", x));
      break;
    }
    if(!AdjustSector(&t)) {
      n=-1; 
      t.SetErrStat(AliTRDtrackV1::kAdjustSector);
      AliDebug(4, "Failed Adjust Sector");
      break;
    }
    if(TMath::Abs(t.GetSnp()) > AliTRDReconstructor::GetMaxSnp()) {
      n=-1; 
      t.SetErrStat(AliTRDtrackV1::kSnp);
      AliDebug(4, Form("Failed Max Snp[%f] MaxSnp[%f]", t.GetSnp(), AliTRDReconstructor::GetMaxSnp()));
      break;
    }
    Double_t cov[3]; ptrTracklet->GetCovAt(x, cov);
    Double_t p[2] = { ptrTracklet->GetY(), ptrTracklet->GetZ()};
    Double_t chi2 = ((AliExternalTrackParam)t).GetPredictedChi2(p, cov);
    /*
    AliInfo(Form("Pl:%d X:%+e : %+e P: %+e %+e Cov:%+e %+e %+e -> dXY: %+e %+e | chi2:%.2f pT:%.2f alp:%.3f",
		 ily,x,t.GetX(),p[0],p[1],cov[0],cov[1],cov[2],
		 p[0]-t.GetY(),p[1]-t.GetZ(),
		 chi2,t.Pt()*t.Charge(),t.GetAlpha()));
    */

     if(fkReconstructor->IsDebugStreaming()){
      Int_t eventNumber = AliTRDtrackerDebug::GetEventNumber();
      //      TTreeSRedirector &cstreamer = *fkReconstructor->GetDebugStream(AliTRDrecoParam::kTracker);
      AliExternalTrackParam param0(t);
      AliExternalTrackParam param1(t);
      param1.Update(p, cov);
      TVectorD vcov(3,cov);
      TVectorD vpar(3,p);
      (*cstreamer) << "FollowBackProlongationInfo"
		<< "EventNumber="	<< eventNumber
		<< "chi2="<<chi2
		<< "iplane="<<ily
		<< "vcov.="<<&vcov
	        << "vpar.="<<&vpar
		<< "tracklet.="      << ptrTracklet
		<< "param0.="		<< &param0
		<< "param1.="		<< &param1
		<< "\n";
     }
     
     // update Kalman with the TRD measurement
     if (chi2> fkRecoParam->GetChi2Cut()){ // MI parameterizad chi2 cut 03.05.2014
      t.SetErrStat(AliTRDtrackV1::kChi2, ily);
      if(debugLevel > 2){
        UChar_t status(t.GetStatusTRD());
        AliTRDseedV1  trackletCp(*ptrTracklet);
        AliTRDtrackV1 trackCp(t);
        trackCp.SetOwner();
        (*cstreamer) << "FollowBackProlongation3"
            << "status="      << status
            << "tracklet.="   << &trackletCp
            << "track.="      << &trackCp
            << "\n";
      }
      AliDebug(4, Form("Failed Chi2[%f]", chi2));
      continue; 
    }
    // mark track as entering the FIDUCIAL volume of TRD
    if(kStoreIn){
      t.SetTrackIn();
      kStoreIn = kFALSE;
    }
    if(kUseTRD){
      if(!((AliExternalTrackParam&)t).Update(p, cov)) {
        n=-1; 
        t.SetErrStat(AliTRDtrackV1::kUpdate);
        if(debugLevel > 2){
          UChar_t status(t.GetStatusTRD());
          AliTRDseedV1  trackletCp(*ptrTracklet);
          AliTRDtrackV1 trackCp(t);
          trackCp.SetOwner();
          (*cstreamer) << "FollowBackProlongation3"
              << "status="      << status
              << "tracklet.="   << &trackletCp
              << "track.="      << &trackCp
              << "\n";
        }
        AliDebug(4, Form("Failed Track Update @ y[%7.2f] z[%7.2f] s2y[%f] s2z[%f] covyz[%f]", p[0], p[1], cov[0], cov[2], cov[1]));
        break;
      }
    }
    if(!kStandAlone) ptrTracklet->UseClusters();
    // fill residuals ?!
    AliTracker::FillResiduals(&t, p, cov, ptrTracklet->GetVolumeId());
  

    // register tracklet with the tracker and track
    // Save inside the tracklet the track parameters BEFORE track update.
    // Commented out their overwriting AFTER track update
    // A.Bercuci 3.11.2011
    //ptrTracklet->Update(&t); 
    ptrTracklet = SetTracklet(ptrTracklet);
    Int_t index(fTracklets->GetEntriesFast()-1);
    t.SetTracklet(ptrTracklet, index);
    // Register info to track
    t.SetNumberOfClusters();
    t.UpdateChi2(chi2);

    n += ptrTracklet->GetN();
    AliDebug(2, Form("Setting Tracklet[%d] @ Idx[%d]", ily, index));

    // Reset material budget if 2 consecutive gold
//     if(ilayer>0 && t.GetTracklet(ilayer-1) && ptrTracklet->GetN() + t.GetTracklet(ilayer-1)->GetN() > 20) t.SetBudget(2, 0.);

    // Make backup of the track until is gold
    Int_t failed(0);
    if(!kStandAlone && (failed = t.MakeBackupTrack())) AliDebug(2, Form("Failed backup on cut[%d]", failed));

  } // end layers loop
  //printf("clusters[%d] chi2[%f] x[%f] status[%d ", n, t.GetChi2(), t.GetX(), t.GetStatusTRD());
  //for(int i=0; i<6; i++) printf("%d ", t.GetStatusTRD(i)); printf("]\n");

  if(n && debugLevel > 1){
    //Int_t eventNumber = AliTRDtrackerDebug::GetEventNumber();
    AliTRDtrackV1 track(t);
    track.SetOwner();
    (*cstreamer) << "FollowBackProlongation2"
        << "EventNumber=" << fEventInFile
        << "track.="      << &track
        << "\n";
  }
  
  return n;
}

//_________________________________________________________________________
Float_t AliTRDtrackerV1::FitRieman(AliTRDseedV1 *tracklets, Double_t *chi2, Int_t *const planes){
  //
  // Fits a Riemann-circle to the given points without tilting pad correction.
  // The fit is performed using an instance of the class AliRieman (equations 
  // and transformations see documentation of this class)
  // Afterwards all the tracklets are Updated
  //
  // Parameters: - Array of tracklets (AliTRDseedV1)
  //             - Storage for the chi2 values (beginning with direction z)  
  //             - Seeding configuration
  // Output:     - The curvature
  //
  AliRieman *fitter = AliTRDtrackerV1::GetRiemanFitter();
  fitter->Reset();
  Int_t allplanes[] = {0, 1, 2, 3, 4, 5};
  Int_t *ppl = &allplanes[0];
  Int_t maxLayers = 6;
  if(planes){
    maxLayers = 4;
    ppl = planes;
  }
  for(Int_t il = 0; il < maxLayers; il++){
    if(!tracklets[ppl[il]].IsOK()) continue;
    fitter->AddPoint(tracklets[ppl[il]].GetX0(), tracklets[ppl[il]].GetYfit(0), tracklets[ppl[il]].GetZfit(0),1,10);
  }
  fitter->Update();
  // Set the reference position of the fit and calculate the chi2 values
  memset(chi2, 0, sizeof(Double_t) * 2);
  for(Int_t il = 0; il < maxLayers; il++){
    // Reference positions
    tracklets[ppl[il]].Init(fitter);
    
    // chi2
    if((!tracklets[ppl[il]].IsOK()) && (!planes)) continue;
    chi2[0] += tracklets[ppl[il]].GetChi2Y();
    chi2[1] += tracklets[ppl[il]].GetChi2Z();
  }
  return fitter->GetC();
}

//_________________________________________________________________________
void AliTRDtrackerV1::FitRieman(AliTRDcluster **seedcl, Double_t chi2[2])
{
  //
  // Performs a Riemann helix fit using the seedclusters as spacepoints
  // Afterwards the chi2 values are calculated and the seeds are updated
  //
  // Parameters: - The four seedclusters
  //             - The tracklet array (AliTRDseedV1)
  //             - The seeding configuration
  //             - Chi2 array
  //
  // debug level 2
  //
  AliRieman *fitter = AliTRDtrackerV1::GetRiemanFitter();
  fitter->Reset();
  for(Int_t i = 0; i < 4; i++){
    fitter->AddPoint(seedcl[i]->GetX(), seedcl[i]->GetY(), seedcl[i]->GetZ(), 1., 10.);
  }
  fitter->Update();
  
  
  // Update the seed and calculated the chi2 value
  chi2[0] = 0; chi2[1] = 0;
  for(Int_t ipl = 0; ipl < kNSeedPlanes; ipl++){
    // chi2
    chi2[0] += (seedcl[ipl]->GetZ() - fitter->GetZat(seedcl[ipl]->GetX())) * (seedcl[ipl]->GetZ() - fitter->GetZat(seedcl[ipl]->GetX()));
    chi2[1] += (seedcl[ipl]->GetY() - fitter->GetYat(seedcl[ipl]->GetX())) * (seedcl[ipl]->GetY() - fitter->GetYat(seedcl[ipl]->GetX()));
  }	
}


//_________________________________________________________________________
Float_t AliTRDtrackerV1::FitTiltedRiemanConstraint(AliTRDseedV1 *tracklets, Double_t zVertex)
{
  //
  // Fits a helix to the clusters. Pad tilting is considered. As constraint it is 
  // assumed that the vertex position is set to 0.
  // This method is very usefull for high-pt particles
  // Basis for the fit: (x - x0)^2 + (y - y0)^2 - R^2 = 0
  //      x0, y0: Center of the circle
  // Measured y-position: ymeas = y - tan(phiT)(zc - zt)
  //      zc: center of the pad row
  // Equation which has to be fitted (after transformation):
  // a + b * u + e * v + 2*(ymeas + tan(phiT)(z - zVertex))*t = 0
  // Transformation:
  // t = 1/(x^2 + y^2)
  // u = 2 * x * t
  // v = 2 * x * tan(phiT) * t
  // Parameters in the equation: 
  //    a = -1/y0, b = x0/y0, e = dz/dx
  //
  // The Curvature is calculated by the following equation:
  //               - curv = a/Sqrt(b^2 + 1) = 1/R
  // Parameters:   - the 6 tracklets
  //               - the Vertex constraint
  // Output:       - the Chi2 value of the track
  //
  // debug level 5
  //

  TLinearFitter *fitter = GetTiltedRiemanFitterConstraint();
  fitter->StoreData(kTRUE);
  fitter->ClearPoints();
  AliTRDcluster *cl = NULL;
  
  Float_t x, y, z, w, t, error, tilt;
  Double_t uvt[2];
  Int_t nPoints = 0;
  for(Int_t ilr = 0; ilr < AliTRDgeometry::kNlayer; ilr++){
    if(!tracklets[ilr].IsOK()) continue;
    for(Int_t itb = 0; itb < AliTRDseedV1::kNclusters; itb++){
      if(!tracklets[ilr].IsUsable(itb)) continue;
      if(!(cl = tracklets[ilr].GetClusters(itb))) continue;
      if(!cl->IsInChamber()) continue;
      x = cl->GetX();
      y = cl->GetY();
      z = cl->GetZ();
      tilt = tracklets[ilr].GetTilt();
      // Transformation
      t = 1./(x * x + y * y);
      uvt[0] = 2. * x * t;
      uvt[1] = 2. * x * t * tilt ;
      w = 2. * (y + tilt * (z - zVertex)) * t;
      error = 2. * TMath::Sqrt(cl->GetSigmaY2()+tilt*tilt*cl->GetSigmaZ2()) * t;
      fitter->AddPoint(uvt, w, error);
      nPoints++;
    }
  }
  fitter->Eval();

  // Calculate curvature
  Double_t a = fitter->GetParameter(0);
  Double_t b = fitter->GetParameter(1);
  Double_t curvature = a/TMath::Sqrt(b*b + 1);

  Float_t chi2track = 0.0;
  if (nPoints > 0) {
    chi2track = fitter->GetChisquare()/Double_t(nPoints);
  }
  for(Int_t ip = 0; ip < AliTRDtrackerV1::kNPlanes; ip++)
    tracklets[ip].SetC(curvature, 1);

  if(AliLog::GetDebugLevel("TRD", "AliTRDtrackerV1")>3) printf("D-AliTRDtrackerV1::FitTiltedRiemanConstraint: Chi2[%f] C[%5.2e] pt[%8.3f]\n", chi2track, curvature, GetBz()*kB2C/curvature);

/*  if(fkReconstructor->GetRecoParam()->GetStreamLevel(AliTRDrecoParam::kTracker()) >= 5){
    //Linear Model on z-direction
    Double_t xref = CalculateReferenceX(tracklets);		// Relative to the middle of the stack
    Double_t slope = fitter->GetParameter(2);
    Double_t zref = slope * xref;
    Float_t chi2Z = CalculateChi2Z(tracklets, zref, slope, xref);
    Int_t eventNumber = AliTRDtrackerDebug::GetEventNumber();
    Int_t candidateNumber = AliTRDtrackerDebug::GetCandidateNumber();
    TTreeSRedirector &treeStreamer = *fkReconstructor->GetDebugStream(AliTRDReconstructor::kTracker);
    treeStreamer << "FitTiltedRiemanConstraint"
    << "EventNumber=" 		<< eventNumber
    << "CandidateNumber="	<< candidateNumber
    << "Curvature="				<< curvature
    << "Chi2Track="				<< chi2track
    << "Chi2Z="						<< chi2Z
    << "zref="						<< zref
    << "\n";
  }*/
  return chi2track;
}

//_________________________________________________________________________
Float_t AliTRDtrackerV1::FitTiltedRieman(AliTRDseedV1 *tracklets, Bool_t sigError)
{
  //
  // Performs a Riemann fit taking tilting pad correction into account
  // The equation of a Riemann circle, where the y position is substituted by the 
  // measured y-position taking pad tilting into account, has to be transformed
  // into a 4-dimensional hyperplane equation
  // Riemann circle: (x-x0)^2 + (y-y0)^2 -R^2 = 0
  // Measured y-Position: ymeas = y - tan(phiT)(zc - zt)
  //          zc: center of the pad row
  //          zt: z-position of the track
  // The z-position of the track is assumed to be linear dependent on the x-position
  // Transformed equation: a + b * u + c * t + d * v  + e * w - 2 * (ymeas + tan(phiT) * zc) * t = 0
  // Transformation:       u = 2 * x * t
  //                       v = 2 * tan(phiT) * t
  //                       w = 2 * tan(phiT) * (x - xref) * t
  //                       t = 1 / (x^2 + ymeas^2)
  // Parameters:           a = -1/y0
  //                       b = x0/y0
  //                       c = (R^2 -x0^2 - y0^2)/y0
  //                       d = offset
  //                       e = dz/dx
  // If the offset respectively the slope in z-position is impossible, the parameters are fixed using 
  // results from the simple riemann fit. Afterwards the fit is redone.
  // The curvature is calculated according to the formula:
  //                       curv = a/(1 + b^2 + c*a) = 1/R
  //
  // Paramters:   - Array of tracklets (connected to the track candidate)
  //              - Flag selecting the error definition
  // Output:      - Chi2 values of the track (in Parameter list)
  //
  TLinearFitter *fitter = GetTiltedRiemanFitter();
  fitter->StoreData(kTRUE);
  fitter->ClearPoints();
  AliTRDLeastSquare zfitter;
  AliTRDcluster *cl = NULL;

  Double_t xref = CalculateReferenceX(tracklets);
  Double_t x, y, z, t, tilt, dx, w, we, erry, errz;
  Double_t uvt[4], sumPolY[5], sumPolZ[3];
  memset(sumPolY, 0, sizeof(Double_t) * 5);
  memset(sumPolZ, 0, sizeof(Double_t) * 3);
  Int_t nPoints = 0;
  // Containers for Least-square fitter
  for(Int_t ipl = 0; ipl < kNPlanes; ipl++){
    if(!tracklets[ipl].IsOK()) continue;
    tilt = tracklets[ipl].GetTilt();
    for(Int_t itb = 0; itb < AliTRDseedV1::kNclusters; itb++){
      if(!(cl = tracklets[ipl].GetClusters(itb))) continue;
      if(!cl->IsInChamber()) continue;
      if (!tracklets[ipl].IsUsable(itb)) continue;
      x = cl->GetX();
      y = cl->GetY();
      z = cl->GetZ();
      dx = x - xref;
      // Transformation
      t = 1./(x*x + y*y);
      uvt[0] = 2. * x * t;
      uvt[1] = t;
      uvt[2] = 2. * tilt * t;
      uvt[3] = 2. * tilt * dx * t;
      w = 2. * (y + tilt*z) * t;
      // error definition changes for the different calls
      we = 2. * t;
      we *= sigError ? TMath::Sqrt(cl->GetSigmaY2()+tilt*tilt*cl->GetSigmaZ2()) : 0.2;
      fitter->AddPoint(uvt, w, we);
      zfitter.AddPoint(&x, z, static_cast<Double_t>(TMath::Sqrt(cl->GetSigmaZ2())));
      // adding points for covariance matrix estimation
      erry = 1./(TMath::Sqrt(cl->GetSigmaY2()) + 0.1);  // 0.1 is a systematic error (due to misalignment and miscalibration)
      erry *= erry;
      errz = 1./cl->GetSigmaZ2();
      for(Int_t ipol = 0; ipol < 5; ipol++){
        sumPolY[ipol] += erry;
        erry *= x;
        if(ipol < 3){
          sumPolZ[ipol] += errz;
          errz *= x;
        }
      }
      nPoints++;
    }
  }
  if (fitter->Eval()) return 1.e10;
  zfitter.Eval();

  Double_t offset = fitter->GetParameter(3);
  Double_t slope  = fitter->GetParameter(4);

  // Linear fitter  - not possible to make boundaries
  // Do not accept non possible z and dzdx combinations
  Bool_t acceptablez = kTRUE;
  Double_t zref = 0.0;
  for (Int_t iLayer = 0; iLayer < kNPlanes; iLayer++) {
    if(!tracklets[iLayer].IsOK()) continue;
    zref = offset + slope * (tracklets[iLayer].GetX0() - xref);
    if (TMath::Abs(tracklets[iLayer].GetZfit(0) - zref) > tracklets[iLayer].GetPadLength() * 0.5 + 1.0) 
      acceptablez = kFALSE;
  }
  if (!acceptablez) {
    Double_t dzmf	= zfitter.GetFunctionParameter(1);
    Double_t zmf	= zfitter.GetFunctionValue(&xref);
    fgTiltedRieman->FixParameter(3, zmf);
    fgTiltedRieman->FixParameter(4, dzmf);
    fitter->Eval();
    fitter->ReleaseParameter(3);
    fitter->ReleaseParameter(4);
    offset = fitter->GetParameter(3);
    slope = fitter->GetParameter(4);
  }

  // Calculate Curvarture
  Double_t a     =  fitter->GetParameter(0);
  Double_t b     =  fitter->GetParameter(1);
  Double_t c     =  fitter->GetParameter(2);
  Double_t curvature =  1.0 + b*b - c*a;
  if (curvature > 0.0) curvature  =  a / TMath::Sqrt(curvature);

  Double_t chi2track = fitter->GetChisquare()/Double_t(nPoints);

  // Prepare error calculation
  TMatrixD covarPolY(3,3);
  covarPolY(0,0) = sumPolY[0]; covarPolY(1,1) = sumPolY[2]; covarPolY(2,2) = sumPolY[4];
  covarPolY(0,1) = covarPolY(1,0) = sumPolY[1];
  covarPolY(0,2) = covarPolY(2,0) = sumPolY[2];
  covarPolY(2,1) = covarPolY(1,2) = sumPolY[3];
  covarPolY.Invert();
  TMatrixD covarPolZ(2,2);
  covarPolZ(0,0) = sumPolZ[0]; covarPolZ(1,1) = sumPolZ[2];
  covarPolZ(1,0) = covarPolZ(0,1) = sumPolZ[1];
  covarPolZ.Invert();

  // Update the tracklets
  Double_t dy, dz;
  Double_t cov[15];
  memset(cov, 0, sizeof(Double_t) * 15);
  for(Int_t iLayer = 0; iLayer < AliTRDtrackerV1::kNPlanes; iLayer++) {

    x  = tracklets[iLayer].GetX0();
//    x1 = x - xref;
    y  = 0;
    z  = 0;
    dy = 0;
    dz = 0;
    memset(cov, 0, sizeof(Double_t) * 3);
    TMatrixD transform(3,3);
    transform(0,0) = 1;
    transform(0,1) = x;
    transform(0,2) = x*x;
    transform(1,1) = 1;
    transform(1,2) = x;
    transform(2,2) = 1;
    TMatrixD covariance(transform, TMatrixD::kMult, covarPolY);
    covariance *= transform.T();
    TMatrixD transformZ(2,2);
    transformZ(0,0) = transformZ(1,1) = 1;
    transformZ(0,1) = x;
    TMatrixD covarZ(transformZ, TMatrixD::kMult, covarPolZ);
    covarZ *= transformZ.T();
    // y:     R^2 = (x - x0)^2 + (y - y0)^2
    //     =>   y = y0 +/- Sqrt(R^2 - (x - x0)^2)
    //          R = Sqrt() = 1/Curvature
    //     =>   y = y0 +/- Sqrt(1/Curvature^2 - (x - x0)^2)  
    Double_t res = (x * a + b);								// = (x - x0)/y0
    res *= res;
    res  = 1.0 - c * a + b * b - res;					// = (R^2 - (x - x0)^2)/y0^2
    if (res >= 0) {
      res = TMath::Sqrt(res);
      y    = (1.0 - res) / a;
    }
    cov[0] = covariance(0,0);
    cov[2] = covarZ(0,0);
    cov[1] = 0.;

    // dy:      R^2 = (x - x0)^2 + (y - y0)^2
    //     =>     y = +/- Sqrt(R^2 - (x - x0)^2) + y0
    //     => dy/dx = (x - x0)/Sqrt(R^2 - (x - x0)^2) 
    // Curvature: cr = 1/R = a/Sqrt(1 + b^2 - c*a)
    //     => dy/dx =  (x - x0)/(1/(cr^2) - (x - x0)^2) 
    Double_t x0 = -b / a;
    if (-c * a + b * b + 1 > 0) {
      if (1.0/(curvature * curvature) - (x - x0) * (x - x0) > 0.0) {
       Double_t yderiv = (x - x0) / TMath::Sqrt(1.0/(curvature * curvature) - (x - x0) * (x - x0));
        if (a < 0) yderiv *= -1.0;
        dy = yderiv;
      }
    }
    z  = offset + slope * (x - xref);
    dz = slope;
    tracklets[iLayer].SetYref(0, y);
    tracklets[iLayer].SetYref(1, dy);
    tracklets[iLayer].SetZref(0, z);
    tracklets[iLayer].SetZref(1, dz);
    tracklets[iLayer].SetC(curvature);
    tracklets[iLayer].SetCovRef(cov);
    tracklets[iLayer].SetChi2(chi2track);
  }
  if(AliLog::GetDebugLevel("TRD", "AliTRDtrackerV1")>3) printf("D-AliTRDtrackerV1::FitTiltedRieman: Chi2[%f] C[%5.2e] pt[%8.3f]\n", chi2track, curvature, GetBz()*kB2C/curvature);
  
/*  if(fkReconstructor->GetRecoParam()->GetStreamLevel(AliTRDrecoParam::kTracker) >=5){
    TTreeSRedirector &cstreamer = *fkReconstructor->GetDebugStream(AliTRDrecoParam::kTracker);
    Int_t eventNumber			= AliTRDtrackerDebug::GetEventNumber();
    Int_t candidateNumber	= AliTRDtrackerDebug::GetCandidateNumber();
    Double_t chi2z = CalculateChi2Z(tracklets, offset, slope, xref);
    cstreamer << "FitTiltedRieman0"
        << "EventNumber="			<< eventNumber
        << "CandidateNumber="	<< candidateNumber
        << "xref="						<< xref
        << "Chi2Z="						<< chi2z
        << "\n";
  }*/
  return chi2track;
}


//____________________________________________________________________
Double_t AliTRDtrackerV1::FitLine(const AliTRDtrackV1 *track, AliTRDseedV1 *tracklets, Bool_t err, Int_t np, AliTrackPoint *points)
{
  //
  // Fit track with a staight line
  // Fills an AliTrackPoint array with np points
  // Function should be used to refit tracks when no magnetic field was on
  //
  AliTRDLeastSquare yfitter, zfitter;
  AliTRDcluster *cl = NULL;

  AliTRDseedV1 work[kNPlanes], *tracklet = NULL;
  if(!tracklets){
    for(Int_t ipl = 0; ipl < kNPlanes; ipl++){
      if(!(tracklet = track->GetTracklet(ipl))) continue;
      if(!tracklet->IsOK()) continue;
      new(&work[ipl]) AliTRDseedV1(*tracklet);
    }
    tracklets = &work[0];
  }

  Double_t xref = CalculateReferenceX(tracklets);
  Double_t x, y, z, dx, ye, yr, tilt;
  for(Int_t ipl = 0; ipl < kNPlanes; ipl++){
    if(!tracklets[ipl].IsOK()) continue;
    for(Int_t itb = 0; itb < fgNTimeBins; itb++){
      if(!(cl = tracklets[ipl].GetClusters(itb))) continue;
      if (!tracklets[ipl].IsUsable(itb)) continue;
      x = cl->GetX();
      z = cl->GetZ();
      dx = x - xref;
      zfitter.AddPoint(&dx, z, static_cast<Double_t>(TMath::Sqrt(cl->GetSigmaZ2())));
    }
  }
  zfitter.Eval();
  Double_t z0    = zfitter.GetFunctionParameter(0);
  Double_t dzdx  = zfitter.GetFunctionParameter(1);
  for(Int_t ipl = 0; ipl < kNPlanes; ipl++){
    if(!tracklets[ipl].IsOK()) continue;
    for(Int_t itb = 0; itb < fgNTimeBins; itb++){
      if(!(cl = tracklets[ipl].GetClusters(itb))) continue;
      if (!tracklets[ipl].IsUsable(itb)) continue;
      x = cl->GetX();
      y = cl->GetY();
      z = cl->GetZ();
      tilt = tracklets[ipl].GetTilt();
      dx = x - xref;
      yr = y + tilt*(z - z0 - dzdx*dx); 
      // error definition changes for the different calls
      ye = tilt*TMath::Sqrt(cl->GetSigmaZ2());
      ye += err ? tracklets[ipl].GetSigmaY() : 0.2;
      yfitter.AddPoint(&dx, yr, ye);
    }
  }
  yfitter.Eval();
  Double_t y0   = yfitter.GetFunctionParameter(0);
  Double_t dydx = yfitter.GetFunctionParameter(1);
  Double_t chi2 = 0.;//yfitter.GetChisquare()/Double_t(nPoints);

  //update track points array
  if(np && points){
    Float_t xyz[3];
    for(int ip=0; ip<np; ip++){
      points[ip].GetXYZ(xyz);
      xyz[1] = y0 + dydx * (xyz[0] - xref);
      xyz[2] = z0 + dzdx * (xyz[0] - xref);
      points[ip].SetXYZ(xyz);
    }
  }
  return chi2;
}


//_________________________________________________________________________
Double_t AliTRDtrackerV1::FitRiemanTilt(const AliTRDtrackV1 *track, AliTRDseedV1 *tracklets, Bool_t sigError, Int_t np, AliTrackPoint *points)
{
//
// Performs a Riemann fit taking tilting pad correction into account
//
// Paramters:   - Array of tracklets (connected to the track candidate)
//              - Flag selecting the error definition
// Output:      - Chi2 values of the track (in Parameter list)
//
// The equations which has to be solved simultaneously are:
// BEGIN_LATEX
// R^{2} = (x-x_{0})^{2} + (y^{*}-y_{0})^{2}
// y^{*} = y - tg(h)(z - z_{t})
// z_{t} = z_{0}+dzdx*(x-x_{r})
// END_LATEX
// with (x, y, z) the coordinate of the cluster, (x_0, y_0, z_0) the coordinate of the center of the Riemann circle,
// R its radius, x_r a constant refrence radial position in the middle of the TRD stack  and dzdx the slope of the 
// track in the x-z plane. Using the following transformations
// BEGIN_LATEX
// t = 1 / (x^{2} + y^{2})
// u = 2 * x * t
// v = 2 * tan(h) * t
// w = 2 * tan(h) * (x - x_{r}) * t
// END_LATEX
// One gets the following linear equation
// BEGIN_LATEX
// a + b * u + c * t + d * v  + e * w = 2 * (y + tg(h) * z) * t
// END_LATEX
// where the coefficients have the following meaning 
// BEGIN_LATEX
// a = -1/y_{0}
// b = x_{0}/y_{0}
// c = (R^{2} -x_{0}^{2} - y_{0}^{2})/y_{0}
// d = z_{0}
// e = dz/dx
// END_LATEX
// The error calculation for the free term is thus
// BEGIN_LATEX
// #sigma = 2 * #sqrt{#sigma^{2}_{y} + (tilt corr ...) + tg^{2}(h) * #sigma^{2}_{z}} * t
// END_LATEX
//
// From this simple model one can compute chi^2 estimates and a rough approximation of pt from the curvature according 
// to the formula:
// BEGIN_LATEX
// C = 1/R = a/(1 + b^{2} + c*a)
// END_LATEX
//
// Authors
//   M.Ivanov <M.Ivanov@gsi.de>
//   A.Bercuci <A.Bercuci@gsi.de>
//   M.Fasel <M.Fasel@gsi.de>

  TLinearFitter *fitter = GetTiltedRiemanFitter();
  fitter->StoreData(kTRUE);
  fitter->ClearPoints();
  AliTRDLeastSquare zfitter;
  AliTRDcluster *cl = NULL;

  AliTRDseedV1 work[kNPlanes], *tracklet = NULL;
  if(!tracklets){
    for(Int_t ipl = 0; ipl < kNPlanes; ipl++){
      if(!(tracklet = track->GetTracklet(ipl))) continue;
      if(!tracklet->IsOK()) continue;
      new(&work[ipl]) AliTRDseedV1(*tracklet);
    }
    tracklets = &work[0];
  }

  Double_t xref = CalculateReferenceX(tracklets);
  if(AliLog::GetDebugLevel("TRD", "AliTRDtrackerV1")>3) printf("D-AliTRDtrackerV1::FitRiemanTilt:\nx0[(0)%6.2f (1)%6.2f (2)%6.2f (3)%6.2f (4)%6.2f (5)%6.2f] xref[%6.2f]", tracklets[0].GetX0(), tracklets[1].GetX0(), tracklets[2].GetX0(), tracklets[3].GetX0(), tracklets[4].GetX0(), tracklets[5].GetX0(), xref);
  Double_t x, y, z, t, tilt, dx, w, we;
  Double_t uvt[4];
  Int_t nPoints = 0;
  // Containers for Least-square fitter
  for(Int_t ipl = 0; ipl < kNPlanes; ipl++){
    if(!tracklets[ipl].IsOK()) continue;
    for(Int_t itb = 0; itb < AliTRDseedV1::kNclusters; itb++){
      if(!(cl = tracklets[ipl].GetClusters(itb))) continue;
      //if (!tracklets[ipl].IsUsable(itb)) continue;
      x = cl->GetX();
      y = cl->GetY();
      z = cl->GetZ();
      tilt = tracklets[ipl].GetTilt();
      dx = x - xref;
      // Transformation
      t = 1./(x*x + y*y);
      uvt[0] = 2. * x * t;
      uvt[1] = t;
      uvt[2] = 2. * tilt * t;
      uvt[3] = 2. * tilt * dx * t;
      w = 2. * (y + tilt*z) * t;
      // error definition changes for the different calls
      we = 2. * t;
      we *= sigError ? TMath::Sqrt(cl->GetSigmaY2()) : 0.2;
      fitter->AddPoint(uvt, w, we);
      zfitter.AddPoint(&x, z, static_cast<Double_t>(TMath::Sqrt(cl->GetSigmaZ2())));
      nPoints++;
    }
  }
  if(fitter->Eval()) return 1.E10;

  Double_t z0    = fitter->GetParameter(3);
  Double_t dzdx  = fitter->GetParameter(4);


  // Linear fitter  - not possible to make boundaries
  // Do not accept non possible z and dzdx combinations
  Bool_t accept = kTRUE;
  Double_t zref = 0.0;
  for (Int_t iLayer = 0; iLayer < kNPlanes; iLayer++) {
    if(!tracklets[iLayer].IsOK()) continue;
    zref = z0 + dzdx * (tracklets[iLayer].GetX0() - xref);
    if (TMath::Abs(tracklets[iLayer].GetZfit(0) - zref) > tracklets[iLayer].GetPadLength() * 0.5 + 1.0) 
      accept = kFALSE;
  }
  if (!accept) {
    zfitter.Eval();
    Double_t dzmf	= zfitter.GetFunctionParameter(1);
    Double_t zmf	= zfitter.GetFunctionValue(&xref);
    fitter->FixParameter(3, zmf);
    fitter->FixParameter(4, dzmf);
    fitter->Eval();
    fitter->ReleaseParameter(3);
    fitter->ReleaseParameter(4);
    z0   = fitter->GetParameter(3); // = zmf ?
    dzdx = fitter->GetParameter(4); // = dzmf ?
  }

  // Calculate Curvature
  Double_t a    =  fitter->GetParameter(0);
  Double_t b    =  fitter->GetParameter(1);
  Double_t c    =  fitter->GetParameter(2);
  Double_t y0   = 1. / a;
  Double_t x0   = -b * y0;
  Double_t tmp  = y0*y0 + x0*x0 - c*y0;
  if(tmp<=0.) return 1.E10;
  Double_t radius    = TMath::Sqrt(tmp);
  Double_t curvature    =  1.0 + b*b - c*a;
  if (curvature > 0.0)  curvature  =  a / TMath::Sqrt(curvature);

  // Calculate chi2 of the fit 
  Double_t chi2 = fitter->GetChisquare()/Double_t(nPoints);
  if(AliLog::GetDebugLevel("TRD", "AliTRDtrackerV1")>3) printf("D-AliTRDtrackerV1::FitRiemanTilt:x0[%6.2f] y0[%6.2f] R[%6.2f] chi2[%f]\n", x0, y0, radius, chi2);

  // Update the tracklets
  if(!track){
    for(Int_t ip = 0; ip < kNPlanes; ip++) {
      x = tracklets[ip].GetX0();
      tmp = radius*radius-(x-x0)*(x-x0);  
      if(tmp <= 0.) continue;
      tmp = TMath::Sqrt(tmp);  

      // y:     R^2 = (x - x0)^2 + (y - y0)^2
      //     =>   y = y0 +/- Sqrt(R^2 - (x - x0)^2)
      tracklets[ip].SetYref(0, y0 - (y0>0.?1.:-1)*tmp);
      //     => dy/dx = (x - x0)/Sqrt(R^2 - (x - x0)^2) 
      tracklets[ip].SetYref(1, (x - x0) / tmp);
      tracklets[ip].SetZref(0, z0 + dzdx * (x - xref));
      tracklets[ip].SetZref(1, dzdx);
      tracklets[ip].SetC(curvature);
      tracklets[ip].SetChi2(chi2);
    }
  }
  //update track points array
  if(np && points){
    Float_t xyz[3];
    for(int ip=0; ip<np; ip++){
      points[ip].GetXYZ(xyz);
      xyz[1] = TMath::Abs(xyz[0] - x0) > radius ? 100. : y0 - (y0>0.?1.:-1.)*TMath::Sqrt((radius-(xyz[0]-x0))*(radius+(xyz[0]-x0)));
      xyz[2] = z0 + dzdx * (xyz[0] - xref);
      points[ip].SetXYZ(xyz);
    }
  }
  
  return chi2;
}


//____________________________________________________________________
Double_t AliTRDtrackerV1::FitKalman(AliTRDtrackV1 *track, AliTRDseedV1 * const tracklets, Bool_t up, Int_t np, AliTrackPoint *points)
{
//   Kalman filter implementation for the TRD.
//   It returns the positions of the fit in the array "points"
// 
//   Author : A.Bercuci@gsi.de

  // printf("Start track @ x[%f]\n", track->GetX());
	
  //prepare marker points along the track
  Int_t ip = np ? 0 : 1;
  while(ip<np){
    if((up?-1:1) * (track->GetX() - points[ip].GetX()) > 0.) break;
    //printf("AliTRDtrackerV1::FitKalman() : Skip track marker x[%d] = %7.3f. Before track start ( %7.3f ).\n", ip, points[ip].GetX(), track->GetX());
    ip++;
  }
  //if(points) printf("First marker point @ x[%d] = %f\n", ip, points[ip].GetX());


  AliTRDseedV1 tracklet;
  AliTRDseedV1 *ptrTracklet = NULL;

  //Loop through the TRD planes
  for (Int_t jplane = 0; jplane < kNPlanes; jplane++) {
    // GET TRACKLET OR BUILT IT		
    Int_t iplane = up ? jplane : kNPlanes - 1 - jplane;
    if(tracklets){ 
      if(!(ptrTracklet = &tracklets[iplane])) continue;
    }else{
      if(!(ptrTracklet  = track->GetTracklet(iplane))){ 
      /*AliTRDtrackerV1 *tracker = NULL;
        if(!(tracker = dynamic_cast<AliTRDtrackerV1*>( AliTRDrecoParam:Tracker()))) continue;
        ptrTracklet = new(&tracklet) AliTRDseedV1(iplane);
        if(!tracker->MakeTracklet(ptrTracklet, track)) */
        continue;
      }
    }
    if(!ptrTracklet->IsOK()) continue;

    Double_t x = ptrTracklet->GetX0();

    while(ip < np){
      //don't do anything if next marker is after next update point.
      if((up?-1:1) * (points[ip].GetX() - x) - AliTRDReconstructor::GetMaxStep() < 0) break;
      if(((up?-1:1) * (points[ip].GetX() - track->GetX()) < 0) && !PropagateToX(*track, points[ip].GetX(), AliTRDReconstructor::GetMaxStep())) return -1.;
      
      Double_t xyz[3]; // should also get the covariance
      track->GetXYZ(xyz);
      track->Global2LocalPosition(xyz, track->GetAlpha());
      points[ip].SetXYZ(xyz[0], xyz[1], xyz[2]);
      ip++;
    }
    // printf("plane[%d] tracklet[%p] x[%f]\n", iplane, ptrTracklet, x);

    // Propagate closer to the next update point 
    if(((up?-1:1) * (x - track->GetX()) + AliTRDReconstructor::GetMaxStep() < 0) && !PropagateToX(*track, x + (up?-1:1)*AliTRDReconstructor::GetMaxStep(), AliTRDReconstructor::GetMaxStep())) return -1.;

    if(!AdjustSector(track)) return -1;
    if(TMath::Abs(track->GetSnp()) > AliTRDReconstructor::GetMaxSnp()) return -1;
    
    //load tracklet to the tracker and the track
/*    Int_t index;
    if((index = FindTracklet(ptrTracklet)) < 0){
      ptrTracklet = SetTracklet(&tracklet);
      index = fTracklets->GetEntriesFast()-1;
    }
    track->SetTracklet(ptrTracklet, index);*/


    // register tracklet to track with tracklet creation !!
    // PropagateBack : loaded tracklet to the tracker and update index 
    // RefitInward : update index 
    // MakeTrack   : loaded tracklet to the tracker and update index 
    if(!tracklets) track->SetTracklet(ptrTracklet, -1);
    
  
    //Calculate the mean material budget along the path inside the chamber
    Double_t xyz0[3]; track->GetXYZ(xyz0);
    Double_t alpha = track->GetAlpha();
    Double_t xyz1[3], y, z;
    if(!track->GetProlongation(x, y, z)) return -1;
    xyz1[0] =  x * TMath::Cos(alpha) - y * TMath::Sin(alpha); 
    xyz1[1] = +x * TMath::Sin(alpha) + y * TMath::Cos(alpha);
    xyz1[2] =  z;
    if(TMath::Abs(xyz0[0] - xyz1[0]) < 1e-3 && TMath::Abs(xyz0[1] - xyz1[1]) < 1e-3) continue; // check wheter we are at the same global x position
    Double_t param[7];
    if(AliTracker::MeanMaterialBudget(xyz0, xyz1, param) <=0.) break;	
    Double_t xrho = param[0]*param[4]; // density*length
    Double_t xx0  = param[1]; // radiation length
    
    //Propagate the track
    track->PropagateTo(x, xx0, xrho);
    if (!AdjustSector(track)) break;
  
    //Update track
    Double_t cov[3]; ptrTracklet->GetCovAt(x, cov);
    Double_t p[2] = { ptrTracklet->GetY(), ptrTracklet->GetZ()};
    Double_t chi2 = ((AliExternalTrackParam*)track)->GetPredictedChi2(p, cov);
    if(chi2<1e+10) ((AliExternalTrackParam*)track)->Update(p, cov);
    if(!up) continue;

		//Reset material budget if 2 consecutive gold
		if(iplane>0 && track->GetTracklet(iplane-1) && ptrTracklet->GetN() + track->GetTracklet(iplane-1)->GetN() > 20) track->SetBudget(2, 0.);
	} // end planes loop

  // extrapolation
  while(ip < np){
    if(((up?-1:1) * (points[ip].GetX() - track->GetX()) < 0) && !PropagateToX(*track, points[ip].GetX(), AliTRDReconstructor::GetMaxStep())) return -1.;
    
    Double_t xyz[3]; // should also get the covariance
    track->GetXYZ(xyz); 
    track->Global2LocalPosition(xyz, track->GetAlpha());
    points[ip].SetXYZ(xyz[0], xyz[1], xyz[2]);
    ip++;
  }

	return track->GetChi2();
}

//_________________________________________________________________________
Float_t AliTRDtrackerV1::CalculateChi2Z(const AliTRDseedV1 *tracklets, Double_t offset, Double_t slope, Double_t xref)
{
  //
  // Calculates the chi2-value of the track in z-Direction including tilting pad correction.
  // A linear dependence on the x-value serves as a model.
  // The parameters are related to the tilted Riemann fit.
  // Parameters: - Array of tracklets (AliTRDseedV1) related to the track candidate
  //             - the offset for the reference x
  //             - the slope
  //             - the reference x position
  // Output:     - The Chi2 value of the track in z-Direction
  //
  Float_t chi2Z = 0, nLayers = 0;
  for (Int_t iLayer = 0; iLayer < AliTRDgeometry::kNlayer; iLayer++) {
    if(!tracklets[iLayer].IsOK()) continue;
    Double_t z = offset + slope * (tracklets[iLayer].GetX0() - xref);
    chi2Z += TMath::Abs(tracklets[iLayer].GetZfit(0) - z);
    nLayers++;
  }
  chi2Z /= TMath::Max((nLayers - 3.0),1.0);
  return chi2Z;
}

//_____________________________________________________________________________
Int_t AliTRDtrackerV1::PropagateToX(AliTRDtrackV1 &t, Double_t xToGo, Double_t maxStep)
{
  //
  // Starting from current X-position of track <t> this function
  // extrapolates the track up to radial position <xToGo> in steps of <maxStep>. 
  // Returns 1 if track reaches the plane, and 0 otherwise 
  //

  // Current track X-position
  Double_t xpos = t.GetX()/*,
           mass = t.GetMass()*/;

  // Direction: inward or outward
  Double_t dir  = (xpos < xToGo) ? 1.0 : -1.0;

  while (((xToGo - xpos) * dir) > AliTRDReconstructor::GetEpsilon()) {
//    printf("to go %f\n", (xToGo - xpos) * dir);
    Double_t xyz0[3];
    Double_t xyz1[3];
    Double_t param[7];
    Double_t x;
    Double_t y;
    Double_t z;

    // The next step size
    Double_t step = dir * TMath::Min(TMath::Abs(xToGo-xpos),maxStep);

    // Get the global position of the starting point
    t.GetXYZ(xyz0);

    // X-position after next step
    x = xpos + step;

    // Get local Y and Z at the X-position of the next step
    if(t.GetProlongation(x,y,z)<0) return 0; // No prolongation possible

    // The global position of the end point of this prolongation step
    xyz1[0] =  x * TMath::Cos(t.GetAlpha()) - y * TMath::Sin(t.GetAlpha()); 
    xyz1[1] = +x * TMath::Sin(t.GetAlpha()) + y * TMath::Cos(t.GetAlpha());
    xyz1[2] =  z;

    // Calculate the mean material budget between start and
    // end point of this prolongation step
    if(AliTracker::MeanMaterialBudget(xyz0, xyz1, param)<=0.) return 0;
    
    // Propagate the track to the X-position after the next step
    if (!t.PropagateTo(x, param[1], param[0]*param[4])) return 0;

/*    // Correct for mean material budget
    Double_t dEdx(0.),
             bg(TMath::Abs(t.GetP()/mass));
    if(AliLog::GetDebugLevel("TRD", "AliTRDtrackerV1")>=3){
      const char *pn[] = {"rho", "x/X0", "<A>", "<Z>", "L", "<Z/A>", "Nb"};
      printf("D-AliTRDtrackerV1::PropagateTo(): x[%6.2f] bg[%6.2f]\n", xpos, bg);
      printf("     param :: %s[%e] %s[%e] %s[%e] %s[%e] %s[%e] %s[%e] %s[%e]\n"
          , pn[0], param[0]
          , pn[1], param[1]
          , pn[2], param[2]
          , pn[3], param[3]
          , pn[4], param[4]
          , pn[5], param[5]
          , pn[6], param[6]);
    }  
    switch(fgBB){
    case kSolid:
      dEdx = AliExternalTrackParam::BetheBlochSolid(bg);
      break;
    case kGas:
      dEdx = AliExternalTrackParam::BetheBlochGas(bg);
      break;
    case kGeant:
      { // mean exitation energy (GeV)
        Double_t mee = ((param[3] < 13.) ? (12. * param[3] + 7.) : (9.76 * param[3] + 58.8 * TMath::Power(param[3],-0.19))) * 1.e-9;
        Double_t mZA = param[5]>1.e-5?param[5]:(param[3]/param[2]);
        if(AliLog::GetDebugLevel("TRD", "AliTRDtrackerV1")>=3) printf("D-AliTRDtrackerV1::PropagateTo(): Mee[%e] <Z/A>[%e]\n", mee, mZA);
        // protect against failed calculation of rho in MeanMaterialBudget()
        dEdx = AliExternalTrackParam::BetheBlochGeant(bg, param[0]>1.e-6?param[0]:2.33, 0.2, 3., mee, mZA);
      }
      break;
    }
    if(AliLog::GetDebugLevel("TRD", "AliTRDtrackerV1")>=2) printf("D-AliTRDtrackerV1::PropagateTo(): dEdx(bg=%e, m=%e)= %e[GeV/cm]\n", bg, mass, dEdx);
    if (!t.CorrectForMeanMaterialdEdx(param[1], dir*param[0]*param[4], mass, dEdx)) return 0;
*/
    // Rotate the track if necessary
    if(!AdjustSector(&t)) return 0;

    // New track X-position
    xpos = t.GetX();

  }

  return 1;

}

//_____________________________________________________________________________
Bool_t AliTRDtrackerV1::ReadClusters(TTree *clusterTree)
{
  //
  // Reads AliTRDclusters from the file. 
  // The names of the cluster tree and branches 
  // should match the ones used in AliTRDclusterizer::WriteClusters()
  //

  Int_t nsize = Int_t(clusterTree->GetTotBytes() / (sizeof(AliTRDcluster))); 
  TObjArray *clusterArray = new TObjArray(nsize+1000); 
  
  TBranch *branch = clusterTree->GetBranch("TRDcluster");
  if (!branch) {
    AliError("Can't get the branch !");
    return kFALSE;
  }
  branch->SetAddress(&clusterArray); 

  if(!fClusters){ 
    Float_t nclusters =  fkRecoParam->GetNClusters();
    if(fkReconstructor->IsHLT()) nclusters /= AliTRDgeometry::kNsector;
    fClusters = new TClonesArray("AliTRDcluster", Int_t(nclusters));
    fClusters->SetOwner(kTRUE);
    SetClustersOwner();
    AliInfo(Form("Tracker owning clusters @ %p", (void*)fClusters));
  }
  
  // Loop through all entries in the tree
  Int_t nEntries   = (Int_t) clusterTree->GetEntries();
  Int_t nbytes     = 0;
  Int_t ncl        = 0;
  AliTRDcluster *c = NULL;
  for (Int_t iEntry = 0; iEntry < nEntries; iEntry++) {
    // Import the tree
    nbytes += clusterTree->GetEvent(iEntry);  
    
    // Get the number of points in the detector
    Int_t nCluster = clusterArray->GetEntriesFast();  
    for (Int_t iCluster = 0; iCluster < nCluster; iCluster++) { 
      if(!(c = (AliTRDcluster *) clusterArray->UncheckedAt(iCluster))) continue;
      new((*fClusters)[ncl++]) AliTRDcluster(*c);
      delete (clusterArray->RemoveAt(iCluster)); 
    }
  }
  delete clusterArray;

  return kTRUE;
}

//_____________________________________________________________________________
Int_t AliTRDtrackerV1::LoadClusters(TTree *cTree)
{
  //
  // Fills clusters into TRD tracking sectors
  //
  
  fkRecoParam = fkReconstructor->GetRecoParam(); // load reco param for this event

//  if(!fkReconstructor->IsWritingClusters()) AliInfo(Form("IsWritingClusters[%c]", fkReconstructor->IsWritingClusters()?'y':'n'));
  if(!(fClusters = AliTRDReconstructor::GetClusters())){
    AliWarning("Clusters unavailable from TRD reconstructor. Trying reading from tree ...");
  } else {
    if(!ReadClusters(cTree)) {
      AliError("Reading clusters from tree failed.");
      return 1;
    }
  }

  if(!fClusters || !fClusters->GetEntriesFast()){ 
    AliInfo("No TRD clusters");
    return 1;
  } else AliInfo(Form("Using :: clusters[%d] onl.tracklets[%d] onl.tracks[%d]",
    fClusters?fClusters->GetEntriesFast():0,
    AliTRDReconstructor::GetTracklets()?AliTRDReconstructor::GetTracklets()->GetEntriesFast():0,
    AliTRDReconstructor::GetTracks()?AliTRDReconstructor::GetTracks()->GetEntriesFast():0));

  BuildTrackingContainers();  

  return 0;
}

//_____________________________________________________________________________
Int_t AliTRDtrackerV1::LoadClusters(TClonesArray * const clusters)
{
  //
  // Fills clusters into TRD tracking sectors
  // Function for use in the HLT
  
  if(!clusters || !clusters->GetEntriesFast()){ 
    AliInfo("No TRD clusters");
    return 1;
  } else AliInfo(Form("Using :: external.clusters[%d]", clusters->GetEntriesFast()));


  fClusters = clusters;

  fkRecoParam = fkReconstructor->GetRecoParam(); // load reco param for this event
  BuildTrackingContainers();  

  return 0;
}


//____________________________________________________________________
Int_t AliTRDtrackerV1::BuildTrackingContainers()
{
// Building tracking containers for clusters

  Int_t nin(0), ncl(fClusters->GetEntriesFast());
  while (ncl--) {
    AliTRDcluster *c = (AliTRDcluster *) fClusters->UncheckedAt(ncl);
    if(c->IsInChamber()) nin++;
    if(fkReconstructor->IsHLT()) c->SetRPhiMethod(AliTRDcluster::kCOG);
    Int_t detector       = c->GetDetector();
    Int_t sector         = fGeom->GetSector(detector);
    Int_t stack          = fGeom->GetStack(detector);
    Int_t layer          = fGeom->GetLayer(detector);
    
    fTrSec[sector].GetChamber(stack, layer, kTRUE)->InsertCluster(c, ncl);
  }

  for(int isector =0; isector<AliTRDgeometry::kNsector; isector++){ 
    if(!fTrSec[isector].GetNChambers()) continue;
    fTrSec[isector].Init(fkReconstructor);
  }

  return nin;
}



//____________________________________________________________________
void AliTRDtrackerV1::UnloadClusters() 
{ 
//
// Clears the arrays of clusters and tracks. Resets sectors and timebins 
// If option "force" is also set the containers are also deleted. This is useful 
// in case of HLT

  if(fTracks){ 
    fTracks->Delete(); 
    if(HasRemoveContainers()){delete fTracks; fTracks = NULL;}
  }
  if(fTracklets){ 
    fTracklets->Delete();
    if(HasRemoveContainers()){delete fTracklets; fTracklets = NULL;}
  }
  if(fClusters && IsClustersOwner()){
    AliInfo(Form("tracker[%p] clearing %d own clusters @ %p", (void*)this, fClusters->GetEntries(), (void*)fClusters));
    fClusters->Delete();
//     
//     // save clusters array in the reconstructor for further use.
//     if(!fkReconstructor->IsWritingClusters()){
//       AliTRDReconstructor::SetClusters(fClusters);
//       SetClustersOwner(kFALSE);
//     } else AliTRDReconstructor::SetClusters(NULL);
  }

  for (int i = 0; i < AliTRDgeometry::kNsector; i++) fTrSec[i].Clear();

  // Increment the Event Number
  AliTRDtrackerDebug::SetEventNumber(AliTRDtrackerDebug::GetEventNumber()  + 1);
}

// //____________________________________________________________________
// void AliTRDtrackerV1::UseClusters(const AliKalmanTrack *t, Int_t) const
// {
//   const AliTRDtrackV1 *track = dynamic_cast<const AliTRDtrackV1*>(t);
//   if(!track) return;
// 
//   AliTRDseedV1 *tracklet = NULL;
//   for(Int_t ily=AliTRDgeometry::kNlayer; ily--;){
//     if(!(tracklet = track->GetTracklet(ily))) continue;
//     AliTRDcluster *c = NULL;
//     for(Int_t ic=AliTRDseed::kNclusters; ic--;){
//       if(!(c=tracklet->GetClusters(ic))) continue;
//       c->Use();
//     }
//   }
// }
// 

//_____________________________________________________________________________
Bool_t AliTRDtrackerV1::AdjustSector(AliTRDtrackV1 *const track) 
{
  //
  // Rotates the track when necessary
  //

  Double_t alpha = AliTRDgeometry::GetAlpha(); 
  Double_t y     = track->GetY();
  Double_t ymax  = track->GetX()*TMath::Tan(0.5*alpha);
  
  if      (y >  ymax) {
    if (!track->Rotate( alpha)) {
      return kFALSE;
    }
  } 
  else if (y < -ymax) {
    if (!track->Rotate(-alpha)) {
      return kFALSE;   
    }
  } 

  return kTRUE;

}


//____________________________________________________________________
AliTRDseedV1* AliTRDtrackerV1::GetTracklet(const AliTRDtrackV1 *const track, Int_t p, Int_t &idx)
{
  // Find tracklet for TRD track <track>
  // Parameters
  // - track
  // - sector
  // - plane
  // - index
  // Output
  // tracklet
  // index
  // Detailed description
  //
  idx = track->GetTrackletIndex(p);
  AliTRDseedV1 *tracklet = (idx<0) ? NULL : (AliTRDseedV1*)fTracklets->UncheckedAt(idx);

  return tracklet;
}

//____________________________________________________________________
AliTRDseedV1* AliTRDtrackerV1::SetTracklet(const AliTRDseedV1 * const tracklet)
{
  // Add this tracklet to the list of tracklets stored in the tracker
  //
  // Parameters
  //   - tracklet : pointer to the tracklet to be added to the list
  //
  // Output
  //   - the index of the new tracklet in the tracker tracklets list
  //
  // Detailed description
  // Build the tracklets list if it is not yet created (late initialization)
  // and adds the new tracklet to the list.
  //
  if(!fTracklets){
    fTracklets = new TClonesArray("AliTRDseedV1", AliTRDgeometry::Nsector()*kMaxTracksStack);
    fTracklets->SetOwner(kTRUE);
  }
  Int_t nentries = fTracklets->GetEntriesFast();
  return new ((*fTracklets)[nentries]) AliTRDseedV1(*tracklet);
}

//____________________________________________________________________
AliTRDtrackV1* AliTRDtrackerV1::SetTrack(const AliTRDtrackV1 * const track)
{
  // Add this track to the list of tracks stored in the tracker
  //
  // Parameters
  //   - track : pointer to the track to be added to the list
  //
  // Output
  //   - the pointer added
  //
  // Detailed description
  // Build the tracks list if it is not yet created (late initialization)
  // and adds the new track to the list.
  //
  if(!fTracks){
    fTracks = new TClonesArray("AliTRDtrackV1", AliTRDgeometry::Nsector()*kMaxTracksStack);
    fTracks->SetOwner(kTRUE);
  }
  Int_t nentries = fTracks->GetEntriesFast();
  return new ((*fTracks)[nentries]) AliTRDtrackV1(*track);
}



//____________________________________________________________________
Int_t AliTRDtrackerV1::Clusters2TracksSM(Int_t sector, AliESDEvent *esd)
{
  //
  // Steer tracking for one SM.
  //
  // Parameters :
  //   sector  : Array of (SM) propagation layers containing clusters
  //   esd     : The current ESD event. On output it contains the also
  //             the ESD (TRD) tracks found in this SM. 
  //
  // Output :
  //   Number of tracks found in this TRD supermodule.
  // 
  // Detailed description
  //
  // 1. Unpack AliTRDpropagationLayers objects for each stack.
  // 2. Launch stack tracking. 
  //    See AliTRDtrackerV1::Clusters2TracksStack() for details.
  // 3. Pack results in the ESD event.
  //
  
  Int_t nTracks   = 0;
  Int_t nChambers = 0;
  AliTRDtrackingChamber **stack = NULL, *chamber = NULL;
  for(int istack = 0; istack<AliTRDgeometry::kNstack; istack++){
    if(!(stack = fTrSec[sector].GetStack(istack))) continue;
    nChambers = 0;
    for(int ilayer=0; ilayer<AliTRDgeometry::kNlayer; ilayer++){
      if(!(chamber = stack[ilayer])) continue;
      if(chamber->GetNClusters() < fgNTimeBins * fkRecoParam->GetFindableClusters()) continue;
      nChambers++;
      //AliInfo(Form("sector %d stack %d layer %d clusters %d", sector, istack, ilayer, chamber->GetNClusters()));
    }
    if(nChambers < 4) continue;
    //AliInfo(Form("Doing stack %d", istack));
    nTracks += Clusters2TracksStack(stack, fTracksESD);
  }
  if(nTracks) AliDebug(2, Form("Number of tracks: SM_%02d[%d]", sector, nTracks));

  for(int itrack=0; itrack<nTracks; itrack++){
    AliESDtrack *esdTrack((AliESDtrack*)(fTracksESD->operator[](itrack)));
    Int_t id = esd->AddTrack(esdTrack);

    // set ESD id to stand alone TRD tracks
    if (fkRecoParam->GetStreamLevel(AliTRDrecoParam::kTracker) > 0 || AliTRDReconstructor::GetStreamLevel()>0 ){ 
      esdTrack=esd->GetTrack(id);
      TObject *o(NULL); Int_t ic(0);
      AliTRDtrackV1 *calibTrack(NULL); 
      while((o = esdTrack->GetCalibObject(ic++))){
        if(!(calibTrack = dynamic_cast<AliTRDtrackV1*>(o))) continue;
        calibTrack->SetESDid(esdTrack->GetID());
        break;
      }
    }
  }

  // Reset Track and Candidate Number
  AliTRDtrackerDebug::SetCandidateNumber(0);
  AliTRDtrackerDebug::SetTrackNumber(0);

  // delete ESD tracks in the array
  fTracksESD->Delete();
  return nTracks;
}

//____________________________________________________________________
Int_t AliTRDtrackerV1::Clusters2TracksStack(AliTRDtrackingChamber **stack, TClonesArray * const esdTrackList)
{
  //
  // Make tracks in one TRD stack.
  //
  // Parameters :
  //   layer  : Array of stack propagation layers containing clusters
  //   esdTrackList  : Array of ESD tracks found by the stand alone tracker. 
  //                   On exit the tracks found in this stack are appended.
  //
  // Output :
  //   Number of tracks found in this stack.
  // 
  // Detailed description
  //
  // 1. Find the 3 most useful seeding chambers. See BuildSeedingConfigs() for details.
  // 2. Steer AliTRDtrackerV1::MakeSeeds() for 3 seeding layer configurations. 
  //    See AliTRDtrackerV1::MakeSeeds() for more details.
  // 3. Arrange track candidates in decreasing order of their quality
  // 4. Classify tracks in 5 categories according to:
  //    a) number of layers crossed
  //    b) track quality 
  // 5. Sign clusters by tracks in decreasing order of track quality
  // 6. Build AliTRDtrack out of seeding tracklets
  // 7. Cook MC label
  // 8. Build ESD track and register it to the output list
  //

  AliTRDtrackingChamber *chamber = NULL;
  AliTRDtrackingChamber **ci = NULL;
  AliTRDseedV1 sseed[kMaxTracksStack*6]; // to be initialized
  Int_t pars[4]; // MakeSeeds parameters

  //Double_t alpha = AliTRDgeometry::GetAlpha();
  //Double_t shift = .5 * alpha;
  Int_t configs[kNConfigs];
  
  // Purge used clusters from the containers
  ci = &stack[0];
  for(Int_t ic = kNPlanes; ic--; ci++){
    if(!(*ci)) continue;
    (*ci)->Update();
  }

  // Build initial seeding configurations
  Double_t quality = BuildSeedingConfigs(stack, configs);
  if(fkRecoParam->GetStreamLevel(AliTRDrecoParam::kTracker) > 10  || AliTRDReconstructor::GetStreamLevel()>10){
    AliInfo(Form("Plane config %d %d %d Quality %f"
    , configs[0], configs[1], configs[2], quality));
  }

  
  // Initialize contors
  Int_t ntracks,      // number of TRD track candidates
    ntracks1,     // number of registered TRD tracks/iter
    ntracks2 = 0; // number of all registered TRD tracks in stack
  fSieveSeeding = 0;

  // Get stack index
  Int_t ic = 0; ci = &stack[0];
  while(ic<kNPlanes && !(*ci)){ic++; ci++;}
  if(!(*ci)) return ntracks2;
  Int_t istack = fGeom->GetStack((*ci)->GetDetector());

  do{
    // Loop over seeding configurations
    ntracks = 0; ntracks1 = 0;
    for (Int_t iconf = 0; iconf<fkRecoParam->GetNumberOfSeedConfigs(); iconf++) {
      pars[0] = configs[iconf];
      pars[1] = ntracks;
      pars[2] = istack;
      ntracks = MakeSeeds(stack, &sseed[6*ntracks], pars);
      //AliInfo(Form("Number of Tracks after iteration step %d: %d\n", iconf, ntracks));
      if(ntracks == kMaxTracksStack) break;
    }
    AliDebug(2, Form("Candidate TRD tracks %d in iteration %d.", ntracks, fSieveSeeding));
    if(!ntracks) break;
    
    // Sort the seeds according to their quality
    Int_t sort[kMaxTracksStack+1];
    TMath::Sort(ntracks, fTrackQuality, sort, kTRUE);
    if(AliLog::GetDebugLevel("TRD", "AliTRDtrackerV1") > 2){
      AliDebug(3, "Track candidates classification:");
      for (Int_t it(0); it < ntracks; it++) {
        Int_t jt(sort[it]);
        printf("   %2d idx[%d] Quality[%e]\n", it, jt, fTrackQuality[jt]);
      }
    }
  
    // Initialize number of tracks so far and logic switches
    Int_t ntracks0 = esdTrackList->GetEntriesFast();
    Bool_t signedTrack[kMaxTracksStack];
    Bool_t fakeTrack[kMaxTracksStack];
    for (Int_t i=0; i<ntracks; i++){
      signedTrack[i] = kFALSE;
      fakeTrack[i] = kFALSE;
    }
    //AliInfo("Selecting track candidates ...");
    
    // Sieve clusters in decreasing order of track quality
    Int_t jSieve(0), rejectedCandidates(0);
    do{
      // Check track candidates
      rejectedCandidates=0;
      for (Int_t itrack = 0; itrack < ntracks; itrack++) {
        Int_t trackIndex = sort[itrack];
        if (signedTrack[trackIndex] || fakeTrack[trackIndex]) continue;
        
        // Calculate track parameters from tracklets seeds
        Int_t ncl        = 0;
        Int_t nused      = 0;
        Int_t nlayers    = 0;
        Int_t findable   = 0;
        for (Int_t jLayer = 0; jLayer < kNPlanes; jLayer++) {
          Int_t jseed = kNPlanes*trackIndex+jLayer;
          sseed[jseed].UpdateUsed();
          if(!sseed[jseed].IsOK()) continue;
          // check if primary candidate
          if (TMath::Abs(sseed[jseed].GetYref(0) / sseed[jseed].GetX0()) < 0.158) findable++;
          ncl   += sseed[jseed].GetN();
          nused += sseed[jseed].GetNUsed();
          nlayers++;
        }

        // Filter duplicated tracks
        if (nused > 30){
          AliDebug(4, Form("REJECTED : %d idx[%d] quality[%e] tracklets[%d] usedClusters[%d]", itrack, trackIndex, fTrackQuality[trackIndex], nlayers, nused));
          fakeTrack[trackIndex] = kTRUE;
          continue;
        }
        if (ncl>0 && Float_t(nused)/ncl >= .25){
          AliDebug(4, Form("REJECTED : %d idx[%d] quality[%e] tracklets[%d] usedClusters[%d] used/ncl[%f]", itrack, trackIndex, fTrackQuality[trackIndex], nlayers, nused, Float_t(nused)/ncl));
          fakeTrack[trackIndex] = kTRUE;
          continue;
        }

        AliDebug(4, Form("Candidate[%d] Quality[%e] Tracklets[%d] Findable[%d] Ncl[%d] Nused[%d]", trackIndex, fTrackQuality[trackIndex], nlayers, findable, ncl, nused));

        // Classify tracks
        Bool_t skip = kFALSE;
        switch(jSieve){
          case 0: // select 6 tracklets primary tracks, good quality
            if(nlayers > findable || nlayers < kNPlanes) {skip = kTRUE; break;}
            if(TMath::Log(1.E-9+fTrackQuality[trackIndex]) < -5.){skip = kTRUE; break;}
            break;

          case 1: // select shorter primary tracks, good quality
            //if(findable<4){skip = kTRUE; break;}
            if(nlayers < findable){skip = kTRUE; break;}
            if(TMath::Log(1.E-9+fTrackQuality[trackIndex]) < -4.){skip = kTRUE; break;}
            break;

          case 2: // select 6 tracklets secondary tracks
            if(nlayers < kNPlanes) { skip = kTRUE; break;}
            if (TMath::Log(1.E-9+fTrackQuality[trackIndex]) < -6.0){skip = kTRUE; break;}
            break;

          case 3: // select shorter tracks, good quality
            if (nlayers<4){skip = kTRUE; break;}
            if (TMath::Log(1.E-9+fTrackQuality[trackIndex]) < -5.){skip = kTRUE; break;}
            break;

          case 4: // select anything with at least 4 tracklets
            if (nlayers<4){skip = kTRUE; break;}
            //if (TMath::Log(1.E-9+fTrackQuality[trackIndex]) - nused/(nlayers-3.0) < -15.0){skip = kTRUE; break;}
            break;
        }
        if(skip){
          rejectedCandidates++;
          AliDebug(4, Form("REJECTED : %d idx[%d] quality[%e] tracklets[%d] usedClusters[%d]", itrack, trackIndex, fTrackQuality[trackIndex], nlayers, nused));
          continue;
        } else AliDebug(4, Form("ACCEPTED : %d idx[%d] quality[%e] tracklets[%d] usedClusters[%d]", itrack, trackIndex, fTrackQuality[trackIndex], nlayers, nused));

        signedTrack[trackIndex] = kTRUE;

        AliTRDseedV1 *lseed =&sseed[trackIndex*kNPlanes];
        AliTRDtrackV1 *track = MakeTrack(lseed);
        if(!track){
          AliDebug(1, "Track building failed.");
          continue;
        } else { 
          if(AliLog::GetDebugLevel("TRD", "AliTRDtrackerV1") > 1){
            Int_t ich = 0; while(!(chamber = stack[ich])) ich++;
            AliDebug(2, Form("Track pt=%7.2fGeV/c SM[%2d] Done.", track->Pt(), fGeom->GetSector(chamber->GetDetector())));
          }
        }

        if(fkRecoParam->GetStreamLevel(AliTRDrecoParam::kTracker) > 1 && fkReconstructor->IsDebugStreaming()){
          //AliInfo(Form("Track %d [%d] nlayers %d trackQuality = %e nused %d, yref = %3.3f", itrack, trackIndex, nlayers, fTrackQuality[trackIndex], nused, trackParams[1]));

          AliTRDseedV1 *dseed[6];
          for(Int_t iseed = AliTRDgeometry::kNlayer; iseed--;) dseed[iseed] = new AliTRDseedV1(lseed[iseed]);

          //Int_t eventNrInFile = esd->GetEventNumberInFile();
          Int_t eventNumber = AliTRDtrackerDebug::GetEventNumber();
          Int_t trackNumber = AliTRDtrackerDebug::GetTrackNumber();
          Int_t candidateNumber = AliTRDtrackerDebug::GetCandidateNumber();
          TTreeSRedirector &cstreamer = *fkReconstructor->GetDebugStream(AliTRDrecoParam::kTracker);
          cstreamer << "Clusters2TracksStack"
              << "EventNumber="   << eventNumber
              << "TrackNumber="   << trackNumber
              << "CandidateNumber=" << candidateNumber
              << "Iter="        << fSieveSeeding
              << "Like="        << fTrackQuality[trackIndex]
              << "S0.="       << dseed[0]
              << "S1.="       << dseed[1]
              << "S2.="       << dseed[2]
              << "S3.="       << dseed[3]
              << "S4.="       << dseed[4]
              << "S5.="       << dseed[5]
              << "Ncl="       << ncl
              << "NLayers="   << nlayers
              << "Findable="  << findable
              << "NUsed="     << nused
              << "\n";
        }


        AliESDtrack *esdTrack = new ((*esdTrackList)[ntracks0++]) AliESDtrack();
        esdTrack->UpdateTrackParams(track, AliESDtrack::kTRDout);
        esdTrack->SetLabel(track->GetLabel());
        track->UpdateESDtrack(esdTrack);
        // write ESD-friends if neccessary
        if (fkRecoParam->GetStreamLevel(AliTRDrecoParam::kTracker) > 0 || AliTRDReconstructor::GetStreamLevel()>0 ){
          AliTRDtrackV1 *calibTrack = new AliTRDtrackV1(*track);
          calibTrack->SetOwner();
          esdTrack->AddCalibObject(calibTrack);
        }
        ntracks1++;
        AliTRDtrackerDebug::SetTrackNumber(AliTRDtrackerDebug::GetTrackNumber() + 1);
      }

      jSieve++;
    } while(jSieve<5 && rejectedCandidates); // end track candidates sieve
    if(!ntracks1) break;

    // increment counters
    ntracks2 += ntracks1;

    if(fkReconstructor->IsHLT()) break;
    fSieveSeeding++;

    // Rebuild plane configurations and indices taking only unused clusters into account
    quality = BuildSeedingConfigs(stack, configs);
    if(quality < 1.E-7) break; //fkReconstructor->GetRecoParam() ->GetPlaneQualityThreshold()) break;
    
    for(Int_t ip = 0; ip < kNPlanes; ip++){ 
      if(!(chamber = stack[ip])) continue;
      chamber->Build(fGeom);//Indices(fSieveSeeding);
    }

    if(fkRecoParam->GetStreamLevel(AliTRDrecoParam::kTracker) > 10 || AliTRDReconstructor::GetStreamLevel()>10){ 
      AliInfo(Form("Sieve level %d Plane config %d %d %d Quality %f", fSieveSeeding, configs[0], configs[1], configs[2], quality));
    }
  } while(fSieveSeeding<10); // end stack clusters sieve
  


  //AliInfo(Form("Registered TRD tracks %d in stack %d.", ntracks2, pars[1]));

  return ntracks2;
}

//___________________________________________________________________
Double_t AliTRDtrackerV1::BuildSeedingConfigs(AliTRDtrackingChamber **stack, Int_t *configs)
{
  //
  // Assign probabilities to chambers according to their
  // capability of producing seeds.
  // 
  // Parameters :
  //
  //   layers : Array of stack propagation layers for all 6 chambers in one stack
  //   configs : On exit array of configuration indexes (see GetSeedingConfig()
  // for details) in the decreasing order of their seeding probabilities. 
  //
  // Output :
  //
  //  Return top configuration quality 
  //
  // Detailed description:
  //
  // To each chamber seeding configuration (see GetSeedingConfig() for
  // the list of all configurations) one defines 2 quality factors:
  //  - an apriori topological quality (see GetSeedingConfig() for details) and
  //  - a data quality based on the uniformity of the distribution of
  //    clusters over the x range (time bins population). See CookChamberQA() for details.
  // The overall chamber quality is given by the product of this 2 contributions.
  // 

  Double_t chamberQ[kNPlanes];memset(chamberQ, 0, kNPlanes*sizeof(Double_t));
  AliTRDtrackingChamber *chamber = NULL;
  for(int iplane=0; iplane<kNPlanes; iplane++){
    if(!(chamber = stack[iplane])) continue;
    chamberQ[iplane] = (chamber = stack[iplane]) ?  chamber->GetQuality() : 0.;
  }

  Double_t tconfig[kNConfigs];memset(tconfig, 0, kNConfigs*sizeof(Double_t));
  Int_t planes[] = {0, 0, 0, 0};
  for(int iconf=0; iconf<kNConfigs; iconf++){
    GetSeedingConfig(iconf, planes);
    tconfig[iconf] = fgTopologicQA[iconf];
    for(int iplane=0; iplane<4; iplane++) tconfig[iconf] *= chamberQ[planes[iplane]]; 
  }
  
  TMath::Sort((Int_t)kNConfigs, tconfig, configs, kTRUE);
  //	AliInfo(Form("q[%d] = %f", configs[0], tconfig[configs[0]]));
  // 	AliInfo(Form("q[%d] = %f", configs[1], tconfig[configs[1]]));
  // 	AliInfo(Form("q[%d] = %f", configs[2], tconfig[configs[2]]));
  
  return tconfig[configs[0]];
}

//____________________________________________________________________
Int_t AliTRDtrackerV1::MakeSeeds(AliTRDtrackingChamber **stack, AliTRDseedV1 * const sseed, const Int_t * const ipar)
{
//
// Seed tracklets and build candidate TRD tracks. The procedure is used during barrel tracking to account for tracks which are 
// either missed by TPC prolongation or conversions inside the TRD volume. 
// For stand alone tracking the procedure is used to estimate all tracks measured by TRD. 
//
// Parameters :
//   layers : Array of stack propagation layers containing clusters
//   sseed  : Array of empty tracklet seeds. On exit they are filled.
//   ipar   : Control parameters:
//       ipar[0] -> seeding chambers configuration
//       ipar[1] -> stack index
//       ipar[2] -> number of track candidates found so far
//
// Output :
//   Number of tracks candidates found.
// 
// The following steps are performed:
// 1. Build seeding layers by collapsing all time bins from each of the four seeding chambers along the 
// radial coordinate. See AliTRDtrackingChamber::GetSeedingLayer() for details. The chambers selection for seeding
// is described in AliTRDtrackerV1::Clusters2TracksStack().
// 2. Using the seeding clusters from the seeding layer (step 1) build combinatorics using the following algorithm:
// - for each seeding cluster in the lower seeding layer find
// - all seeding clusters in the upper seeding layer inside a road defined by a given phi angle. The angle 
//   is calculated on the minimum pt of tracks from vertex accesible to the stand alone tracker.
// - for each pair of two extreme seeding clusters select middle upper cluster using roads defined externally by the 
//   reco params
// - select last seeding cluster as the nearest to the linear approximation of the track described by the first three
//   seeding clusters.
//   The implementation of road calculation and cluster selection can be found in the functions AliTRDchamberTimeBin::BuildCond()
//   and AliTRDchamberTimeBin::GetClusters().   
// 3. Helix fit of the seeding clusters set. (see AliTRDtrackerFitter::FitRieman(AliTRDcluster**)). No tilt correction is 
//    performed at this level 
// 4. Initialize seeding tracklets in the seeding chambers.
// 5. *Filter 0* Chi2 cut on the Y and Z directions. The threshold is set externally by the reco params.
// 6. Attach (true) clusters to seeding tracklets (see AliTRDseedV1::AttachClusters()) and fit tracklet (see 
//    AliTRDseedV1::Fit()). The number of used clusters used by current seeds should not exceed ... (25).
// 7. *Filter 1* Check if all 4 seeding tracklets are correctly constructed.
// 8. Helix fit of the clusters from the seeding tracklets with tilt correction. Refit tracklets using the new 
//    approximation of the track.
// 9. *Filter 2* Calculate likelihood of the track. (See AliTRDtrackerV1::CookLikelihood()). The following quantities are
//    checked against the Riemann fit:
//      - position resolution in y
//      - angular resolution in the bending plane
//      - likelihood of the number of clusters attached to the tracklet
// 10. Extrapolation of the helix fit to the other 2 chambers *non seeding* chambers:
//      - Initialization of extrapolation tracklets with the fit parameters
//      - Attach clusters to extrapolated tracklets
//      - Helix fit of tracklets
// 11. Improve seeding tracklets quality by reassigning clusters based on the last parameters of the track
//      See AliTRDtrackerV1::ImproveSeedQuality() for details.
// 12. Helix fit of all 6 seeding tracklets and chi2 calculation
// 13. Hyperplane fit and track quality calculation. See AliTRDtrackerFitter::FitHyperplane() for details.
// 14. Cooking labels for tracklets. Should be done only for MC
// 15. Register seeds.
//
// Authors:
//   Marian Ivanov <M.Ivanov@gsi.de>
//   Alexandru Bercuci <A.Bercuci@gsi.de>
//   Markus Fasel <M.Fasel@gsi.de>

  AliTRDtrackingChamber *chamber = NULL;
  AliTRDcluster *c[kNSeedPlanes] = {NULL, NULL, NULL, NULL}; // initilize seeding clusters
  AliTRDseedV1 *cseed = &sseed[0]; // initialize tracklets for first track
  Int_t ncl, mcl; // working variable for looping over clusters
  Int_t index[AliTRDchamberTimeBin::kMaxClustersLayer], jndex[AliTRDchamberTimeBin::kMaxClustersLayer];
  // chi2 storage
  // chi2[0] = tracklet chi2 on the Z direction
  // chi2[1] = tracklet chi2 on the R direction
  Double_t chi2[4];

  // this should be data member of AliTRDtrack TODO
//  Double_t seedQuality[kMaxTracksStack];
  
  // unpack control parameters
  Int_t config  = ipar[0];
  Int_t ntracks = ipar[1];
  Int_t istack  = ipar[2];
  Int_t planes[kNSeedPlanes]; GetSeedingConfig(config, planes);	
  Int_t planesExt[kNPlanes-kNSeedPlanes]; GetExtrapolationConfig(config, planesExt);


  // Init chambers geometry
  Double_t hL[kNPlanes];       // Tilting angle
  Float_t padlength[kNPlanes]; // pad lenghts
  Float_t padwidth[kNPlanes];  // pad widths
  AliTRDpadPlane *pp = NULL;
  for(int iplane=0; iplane<kNPlanes; iplane++){
    pp                = fGeom->GetPadPlane(iplane, istack);
    hL[iplane]        = TMath::Tan(TMath::DegToRad()*pp->GetTiltingAngle());
    padlength[iplane] = pp->GetLengthIPad();
    padwidth[iplane] = pp->GetWidthIPad();
  }
  
  // Init anode wire position for chambers
  Double_t x0[kNPlanes],       // anode wire position
           driftLength = .5*AliTRDgeometry::AmThick() - AliTRDgeometry::DrThick(); // drift length
  TGeoHMatrix *matrix = NULL;
  Double_t loc[] = {AliTRDgeometry::AnodePos(), 0., 0.};
  Double_t glb[] = {0., 0., 0.};
  AliTRDtrackingChamber **cIter = &stack[0];
  for(int iLayer=0; iLayer<kNPlanes; iLayer++,cIter++){
    if(!(*cIter)) continue;
    if(!(matrix = fGeom->GetClusterMatrix((*cIter)->GetDetector()))){ 
      x0[iLayer] = fgkX0[iLayer];
      continue;
    }
    matrix->LocalToMaster(loc, glb);
    x0[iLayer] = glb[0];
  }

  AliDebug(2, Form("Making seeds Stack[%d] Config[%d] Tracks[%d]...", istack, config, ntracks));

  // Build seeding layers
  ResetSeedTB();
  Int_t nlayers = 0;
  for(int isl=0; isl<kNSeedPlanes; isl++){ 
    if(!(chamber = stack[planes[isl]])) continue;
    if(!chamber->GetSeedingLayer(fSeedTB[isl], fGeom, fkReconstructor)) continue;
    nlayers++;
  }
  if(nlayers < kNSeedPlanes) return ntracks;
  
  
  // Start finding seeds
  Double_t cond0[4], cond1[4], cond2[4];
  Int_t icl = 0;
  while((c[3] = (*fSeedTB[3])[icl++])){
    if(!c[3]) continue;
    fSeedTB[0]->BuildCond(c[3], cond0, 0);
    fSeedTB[0]->GetClusters(cond0, index, ncl);
    //printf("Found c[3] candidates 0 %d\n", ncl);
    Int_t jcl = 0;
    while(jcl<ncl) {
      c[0] = (*fSeedTB[0])[index[jcl++]];
      if(!c[0]) continue;
      Double_t dx    = c[3]->GetX() - c[0]->GetX();
      Double_t dzdx = (c[3]->GetZ() - c[0]->GetZ())/dx;
      Double_t dydx   = (c[3]->GetY() - c[0]->GetY())/dx;
      fSeedTB[1]->BuildCond(c[0], cond1, 1, dzdx, dydx);
      fSeedTB[1]->GetClusters(cond1, jndex, mcl);
      //printf("Found c[0] candidates 1 %d\n", mcl);

      Int_t kcl = 0;
      while(kcl<mcl) {
        c[1] = (*fSeedTB[1])[jndex[kcl++]];
        if(!c[1]) continue;
        fSeedTB[2]->BuildCond(c[1], cond2, 2, dzdx, dydx);
        c[2] = fSeedTB[2]->GetNearestCluster(cond2);
        //printf("Found c[1] candidate 2 %p\n", c[2]);
        if(!c[2]) continue;

       	AliDebug(3, Form("Seeding clusters\n 0[%6.3f %6.3f %6.3f]\n 1[%6.3f %6.3f %6.3f]\n 2[%6.3f %6.3f %6.3f]\n 3[%6.3f %6.3f %6.3f].",
          c[0]->GetX(), c[0]->GetY(), c[0]->GetZ(),
          c[1]->GetX(), c[1]->GetY(), c[1]->GetZ(),
          c[2]->GetX(), c[2]->GetY(), c[2]->GetZ(),
          c[3]->GetX(), c[3]->GetY(), c[3]->GetZ()));
              
        for (Int_t il = 0; il < kNPlanes; il++) cseed[il].Reset();
      
        FitRieman(c, chi2);
      
        AliTRDseedV1 *tseed = &cseed[0];
        cIter = &stack[0];
        for(int iLayer=0; iLayer<kNPlanes; iLayer++, tseed++, cIter++){
          Int_t det = (*cIter) ? (*cIter)->GetDetector() : -1;
          tseed->SetDetector(det);
          tseed->SetTilt(hL[iLayer]);
          tseed->SetPadLength(padlength[iLayer]);
          tseed->SetPadWidth(padwidth[iLayer]);
          tseed->SetReconstructor(fkReconstructor);
          tseed->SetX0(det<0 ? fR[iLayer]+driftLength : x0[iLayer]);
          tseed->Init(GetRiemanFitter());
          tseed->SetStandAlone(kTRUE);
        }
      
        Bool_t isFake = kFALSE;
        if((fkRecoParam->GetStreamLevel(AliTRDrecoParam::kTracker) >= 2 && fkReconstructor->IsDebugStreaming()) 
	   ||AliTRDReconstructor::GetStreamLevel()>=2 ){
          if (c[0]->GetLabel(0) != c[3]->GetLabel(0)) isFake = kTRUE;
          if (c[1]->GetLabel(0) != c[3]->GetLabel(0)) isFake = kTRUE;
          if (c[2]->GetLabel(0) != c[3]->GetLabel(0)) isFake = kTRUE;
      
          Double_t xpos[4];
          for(Int_t l = 0; l < kNSeedPlanes; l++) xpos[l] = fSeedTB[l]->GetX();
          Float_t yref[4];
          for(int il=0; il<4; il++) yref[il] = cseed[planes[il]].GetYref(0);
          Int_t ll = c[3]->GetLabel(0);
          Int_t eventNumber = AliTRDtrackerDebug::GetEventNumber();
          Int_t candidateNumber = AliTRDtrackerDebug::GetCandidateNumber();
          AliRieman *rim = GetRiemanFitter();
          TTreeSRedirector &cs0 = *fkReconstructor->GetDebugStream(AliTRDrecoParam::kTracker);
          cs0 << "MakeSeeds0"
              <<"EventNumber="		<< eventNumber
              <<"CandidateNumber="	<< candidateNumber
              <<"isFake="				<< isFake
              <<"config="				<< config
              <<"label="				<< ll
              <<"chi2z="				<< chi2[0]
              <<"chi2y="				<< chi2[1]
              <<"Y2exp="				<< cond2[0]	
              <<"Z2exp="				<< cond2[1]
              <<"X0="					<< xpos[0] //layer[sLayer]->GetX()
              <<"X1="					<< xpos[1] //layer[sLayer + 1]->GetX()
              <<"X2="					<< xpos[2] //layer[sLayer + 2]->GetX()
              <<"X3="					<< xpos[3] //layer[sLayer + 3]->GetX()
              <<"yref0="				<< yref[0]
              <<"yref1="				<< yref[1]
              <<"yref2="				<< yref[2]
              <<"yref3="				<< yref[3]
              <<"c0.="				<< c[0]
              <<"c1.="				<< c[1]
              <<"c2.="				<< c[2]
              <<"c3.="				<< c[3]
              <<"Seed0.="				<< &cseed[planes[0]]
              <<"Seed1.="				<< &cseed[planes[1]]
              <<"Seed2.="				<< &cseed[planes[2]]
              <<"Seed3.="				<< &cseed[planes[3]]
              <<"RiemanFitter.="		<< rim
              <<"\n";
        }
        if(chi2[0] > fkRecoParam->GetChi2Z()/*7./(3. - sLayer)*//*iter*/){
          AliDebug(3, Form("Filter on chi2Z [%f].", chi2[0]));
          AliTRDtrackerDebug::SetCandidateNumber(AliTRDtrackerDebug::GetCandidateNumber() + 1);
          continue;
        }
        if(chi2[1] > fkRecoParam->GetChi2Y()/*1./(3. - sLayer)*//*iter*/){
          AliDebug(3, Form("Filter on chi2Y [%f].", chi2[1]));
          AliTRDtrackerDebug::SetCandidateNumber(AliTRDtrackerDebug::GetCandidateNumber() + 1);
          continue;
        }
        //AliInfo("Passed chi2 filter.");
      
        // try attaching clusters to tracklets
        Int_t mlayers = 0; 
        AliTRDcluster *cl = NULL;
        for(int iLayer=0; iLayer<kNSeedPlanes; iLayer++){
          Int_t jLayer = planes[iLayer];
          Int_t nNotInChamber = 0;
          if(!cseed[jLayer].AttachClusters(stack[jLayer], kTRUE)) continue;
          if(/*fkReconstructor->IsHLT()*/kFALSE){ 
            cseed[jLayer].UpdateUsed();
            if(!cseed[jLayer].IsOK()) continue;
          }else{
            cseed[jLayer].Fit();
            cseed[jLayer].UpdateUsed();
            cseed[jLayer].ResetClusterIter();
            while((cl = cseed[jLayer].NextCluster())){
              if(!cl->IsInChamber()) nNotInChamber++;
            }
            //printf("clusters[%d], used[%d], not in chamber[%d]\n", cseed[jLayer].GetN(), cseed[jLayer].GetNUsed(), nNotInChamber);
            if(cseed[jLayer].GetN() - (cseed[jLayer].GetNUsed() + nNotInChamber) < 5) continue; // checking for Cluster which are not in chamber is a much stronger restriction on real data
          }
          mlayers++;
        }

        if(mlayers < kNSeedPlanes){ 
          AliDebug(2, Form("Found only %d tracklets out of %d. Skip.", mlayers, kNSeedPlanes));
          AliTRDtrackerDebug::SetCandidateNumber(AliTRDtrackerDebug::GetCandidateNumber() + 1);
          continue;
        }

        // temporary exit door for the HLT
        if(fkReconstructor->IsHLT()){ 
          // attach clusters to extrapolation chambers
          for(int iLayer=0; iLayer<kNPlanes-kNSeedPlanes; iLayer++){
            Int_t jLayer = planesExt[iLayer];
            if(!(chamber = stack[jLayer])) continue;
            if(!cseed[jLayer].AttachClusters(chamber, kTRUE)) continue;
            cseed[jLayer].Fit();
          }
          //FitTiltedRiemanConstraint(&cseed[0], GetZ());
          fTrackQuality[ntracks] = 1.; // dummy value
          ntracks++;
          if(ntracks == kMaxTracksStack) return ntracks;
          cseed += 6; 
          continue;
        }


        // Update Seeds and calculate Likelihood
        // fit tracklets and cook likelihood
        Double_t chi2Vals[4];
        chi2Vals[0] = FitTiltedRieman(&cseed[0], kTRUE);
        for(int iLayer=0; iLayer<kNSeedPlanes; iLayer++){
          Int_t jLayer = planes[iLayer];
          cseed[jLayer].Fit(1);
        }
        Double_t like = CookLikelihood(&cseed[0], planes); // to be checked
      
        if (TMath::Log(1.E-9 + like) < fkRecoParam->GetTrackLikelihood()){
          AliDebug(3, Form("Filter on likelihood %f[%e].", TMath::Log(1.E-9 + like), like));
          AliTRDtrackerDebug::SetCandidateNumber(AliTRDtrackerDebug::GetCandidateNumber() + 1);
          continue;
        }
        //AliInfo(Form("Passed likelihood %f[%e].", TMath::Log(1.E-9 + like), like));
      
        // book preliminry results
        //seedQuality[ntracks] = like;
        fSeedLayer[ntracks]  = config;/*sLayer;*/
      
        // attach clusters to the extrapolation seeds
        Int_t elayers(0);
        for(int iLayer=0; iLayer<kNPlanes-kNSeedPlanes; iLayer++){
          Int_t jLayer = planesExt[iLayer];
          if(!(chamber = stack[jLayer])) continue;
      
          // fit extrapolated seed
          if ((jLayer == 0) && !(cseed[1].IsOK())) continue;
          if ((jLayer == 5) && !(cseed[4].IsOK())) continue;
          AliTRDseedV1 pseed = cseed[jLayer];
          if(!pseed.AttachClusters(chamber, kTRUE)) continue;
          pseed.Fit(1);
          cseed[jLayer] = pseed;
          chi2Vals[0] = FitTiltedRieman(cseed,  kTRUE);
          cseed[jLayer].Fit(1);
          elayers++;
        }
      
        // AliInfo("Extrapolation done.");
        // Debug Stream containing all the 6 tracklets
        if((fkRecoParam->GetStreamLevel(AliTRDrecoParam::kTracker) >= 2 && fkReconstructor->IsDebugStreaming())
	   ||AliTRDReconstructor::GetStreamLevel()>=2){
          TTreeSRedirector &cstreamer = *fkReconstructor->GetDebugStream(AliTRDrecoParam::kTracker);
          TLinearFitter *tiltedRieman = GetTiltedRiemanFitter();
          Int_t eventNumber 		= AliTRDtrackerDebug::GetEventNumber();
          Int_t candidateNumber	= AliTRDtrackerDebug::GetCandidateNumber();
          cstreamer << "MakeSeeds1"
              << "EventNumber="		<< eventNumber
              << "CandidateNumber="	<< candidateNumber
              << "S0.=" 				<< &cseed[0]
              << "S1.=" 				<< &cseed[1]
              << "S2.=" 				<< &cseed[2]
              << "S3.=" 				<< &cseed[3]
              << "S4.=" 				<< &cseed[4]
              << "S5.=" 				<< &cseed[5]
              << "FitterT.="			<< tiltedRieman
              << "\n";
        }
              
        if(fkRecoParam->HasImproveTracklets()){ 
          if(!ImproveSeedQuality(stack, cseed, chi2Vals[0])){
            AliTRDtrackerDebug::SetCandidateNumber(AliTRDtrackerDebug::GetCandidateNumber() + 1);
            AliDebug(3, "ImproveSeedQuality() failed.");
          }
        }
      
        // do track fitting with vertex constraint
        if(fkRecoParam->IsVertexConstrained()) chi2Vals[1] = FitTiltedRiemanConstraint(&cseed[0], GetZ());
        else chi2Vals[1] = -1.;
        chi2Vals[2] = GetChi2Z(&cseed[0]);
        chi2Vals[3] = GetChi2Phi(&cseed[0]);

        // calculate track quality
        fTrackQuality[ntracks] = CalculateTrackLikelihood(&chi2Vals[0]);
                  
        if((fkRecoParam->GetStreamLevel(AliTRDrecoParam::kTracker) >= 2 && fkReconstructor->IsDebugStreaming()) 
	   ||AliTRDReconstructor::GetStreamLevel()>=2){
          TTreeSRedirector &cstreamer = *fkReconstructor->GetDebugStream(AliTRDrecoParam::kTracker);
          Int_t eventNumber = AliTRDtrackerDebug::GetEventNumber();
          Int_t candidateNumber = AliTRDtrackerDebug::GetCandidateNumber();
          TLinearFitter *fitterTC = GetTiltedRiemanFitterConstraint();
          TLinearFitter *fitterT = GetTiltedRiemanFitter();
          Int_t ncls = 0; 
          for(Int_t iseed = 0; iseed < kNPlanes; iseed++){
          	ncls += cseed[iseed].IsOK() ? cseed[iseed].GetN2() : 0;
          }
          cstreamer << "MakeSeeds2"
              << "EventNumber=" 		<< eventNumber
              << "CandidateNumber="	<< candidateNumber
              << "Chi2TR="			<< chi2Vals[0]
              << "Chi2TC="			<< chi2Vals[1]
              << "Nlayers="			<< mlayers
              << "NClusters="   << ncls
              << "Like="				<< like
              << "S0.="				<< &cseed[0]
              << "S1.="				<< &cseed[1]
              << "S2.="				<< &cseed[2]
              << "S3.="				<< &cseed[3]
              << "S4.="				<< &cseed[4]
              << "S5.="				<< &cseed[5]
              << "FitterT.="			<< fitterT
              << "FitterTC.="			<< fitterTC
              << "\n";
        }
        if(AliLog::GetDebugLevel("TRD", "AliTRDtrackerV1")){  
          Double_t pt[]={0., 0.};
          for(Int_t il(0); il<kNPlanes; il++){
            if(!cseed[il].IsOK()) continue;
            pt[0] = GetBz()*kB2C/cseed[il].GetC();
            pt[1] = GetBz()*kB2C/cseed[il].GetC(1);
            break;
          }
          AliDebug(2, Form("Candidate[%2d] pt[%7.3f %7.3f] Q[%e]\n"
            "  [0] x[%6.2f] n[%2d] nu[%d] OK[%c]\n"
            "  [1] x[%6.2f] n[%2d] nu[%d] OK[%c]\n"
            "  [2] x[%6.2f] n[%2d] nu[%d] OK[%c]\n"
            "  [3] x[%6.2f] n[%2d] nu[%d] OK[%c]\n"
            "  [4] x[%6.2f] n[%2d] nu[%d] OK[%c]\n"
            "  [5] x[%6.2f] n[%2d] nu[%d] OK[%c]"
            , ntracks, pt[0], pt[1], fTrackQuality[ntracks]
            ,cseed[0].GetX(), cseed[0].GetN(), cseed[0].GetNUsed(), cseed[0].IsOK()?'y':'n'
            ,cseed[1].GetX(), cseed[1].GetN(), cseed[1].GetNUsed(), cseed[1].IsOK()?'y':'n'
            ,cseed[2].GetX(), cseed[2].GetN(), cseed[2].GetNUsed(), cseed[2].IsOK()?'y':'n'
            ,cseed[3].GetX(), cseed[3].GetN(), cseed[3].GetNUsed(), cseed[3].IsOK()?'y':'n'
            ,cseed[4].GetX(), cseed[4].GetN(), cseed[4].GetNUsed(), cseed[4].IsOK()?'y':'n'
            ,cseed[5].GetX(), cseed[5].GetN(), cseed[5].GetNUsed(), cseed[5].IsOK()?'y':'n'));
        }
        ntracks++;
        AliTRDtrackerDebug::SetCandidateNumber(AliTRDtrackerDebug::GetCandidateNumber() + 1);
        if(ntracks == kMaxTracksStack){
          AliWarning(Form("Number of seeds reached maximum allowed (%d) in stack.", kMaxTracksStack));
          return ntracks;
        }
        cseed += 6;
      }
    }
  }
  
  return ntracks;
}

//_____________________________________________________________________________
AliTRDtrackV1* AliTRDtrackerV1::MakeTrack(AliTRDseedV1 * const tracklet)
{
//
// Build a TRD track out of tracklet candidates
//
// Parameters :
//   seeds  : array of tracklets
//   params : array of track parameters as they are estimated by stand alone tracker. 7 elements.
//     [0] - radial position of the track at reference point
//     [1] - y position of the fit at [0]
//     [2] - z position of the fit at [0]
//     [3] - snp of the first tracklet
//     [4] - tgl of the first tracklet
//     [5] - curvature of the Riemann fit - 1/pt
//     [6] - sector rotation angle
//
// Output :
//   The TRD track.
//
// Initialize the TRD track based on the parameters of the fit and a parametric covariance matrix 
// (diagonal with constant variance terms TODO - correct parameterization) 
// 
// In case of HLT just register the tracklets in the tracker and return values of the Riemann fit. For the
// offline case perform a full Kalman filter on the already found tracklets (see AliTRDtrackerV1::FollowBackProlongation() 
// for details). Do also MC label calculation and PID if propagation successfully.

  if(fkReconstructor->IsHLT()) FitTiltedRiemanConstraint(tracklet, 0);
  Double_t alpha = AliTRDgeometry::GetAlpha();
  Double_t shift = AliTRDgeometry::GetAlpha()/2.0;

  // find first good tracklet
  Int_t idx(0); while(idx<kNPlanes && !tracklet[idx].IsOK()) idx++;
  if(idx>2){ AliDebug(1, Form("Found suspect track start @ layer idx[%d]\n"
    "  %c[0] x0[%f] n[%d] nu[%d] OK[%c]\n"
    "  %c[1] x0[%f] n[%d] nu[%d] OK[%c]\n"
    "  %c[2] x0[%f] n[%d] nu[%d] OK[%c]\n"
    "  %c[3] x0[%f] n[%d] nu[%d] OK[%c]\n"
    "  %c[4] x0[%f] n[%d] nu[%d] OK[%c]\n"
    "  %c[5] x0[%f] n[%d] nu[%d] OK[%c]"
    ,idx
    ,idx==0?'*':' ', tracklet[0].GetX0(), tracklet[0].GetN(), tracklet[0].GetNUsed(), tracklet[0].IsOK()?'y':'n'
    ,idx==1?'*':' ', tracklet[1].GetX0(), tracklet[1].GetN(), tracklet[1].GetNUsed(), tracklet[1].IsOK()?'y':'n'
    ,idx==2?'*':' ', tracklet[2].GetX0(), tracklet[2].GetN(), tracklet[2].GetNUsed(), tracklet[2].IsOK()?'y':'n'
    ,idx==3?'*':' ', tracklet[3].GetX0(), tracklet[3].GetN(), tracklet[3].GetNUsed(), tracklet[3].IsOK()?'y':'n'
    ,idx==4?'*':' ', tracklet[4].GetX0(), tracklet[4].GetN(), tracklet[4].GetNUsed(), tracklet[4].IsOK()?'y':'n'
    ,idx==5?'*':' ', tracklet[5].GetX0(), tracklet[5].GetN(), tracklet[5].GetNUsed(), tracklet[5].IsOK()?'y':'n'));
    return NULL;
  }

  Double_t dx(5.);
  Double_t x(tracklet[idx].GetX0() - dx);
  // Build track parameters
  Double_t params[] = {
    tracklet[idx].GetYref(0) - dx*tracklet[idx].GetYref(1) // y
   ,tracklet[idx].GetZref(0) - dx*tracklet[idx].GetZref(1) // z
   ,TMath::Sin(TMath::ATan(tracklet[idx].GetYref(1)))      // snp
   ,tracklet[idx].GetZref(1) / TMath::Sqrt(1. + tracklet[idx].GetYref(1) * tracklet[idx].GetYref(1))   // tgl
   ,tracklet[idx].GetC(fkReconstructor->IsHLT()?1:0)                                   // curvature -> 1/pt
  };
  Int_t sector(fGeom->GetSector(tracklet[idx].GetDetector()));

  Double_t c[15];
  c[ 0] = 0.2; // s^2_y
  c[ 1] = 0.0; c[ 2] = 2.0; // s^2_z
  c[ 3] = 0.0; c[ 4] = 0.0; c[ 5] = 0.02; // s^2_snp
  c[ 6] = 0.0; c[ 7] = 0.0; c[ 8] = 0.0;  c[ 9] = 0.1; // s^2_tgl
  c[10] = 0.0; c[11] = 0.0; c[12] = 0.0;  c[13] = 0.0; c[14] = params[4]*params[4]*0.01; // s^2_1/pt

  AliTRDtrackV1 track(tracklet, params, c, x, sector*alpha+shift);

  AliTRDseedV1 *ptrTracklet = NULL;

  // skip Kalman filter for HLT
  if(/*fkReconstructor->IsHLT()*/kFALSE){ 
    for (Int_t jLayer = 0; jLayer < AliTRDgeometry::kNlayer; jLayer++) {
      track.UnsetTracklet(jLayer);
      ptrTracklet = &tracklet[jLayer];
      if(!ptrTracklet->IsOK()) continue;
      if(TMath::Abs(ptrTracklet->GetYref(1) - ptrTracklet->GetYfit(1)) >= .2) continue; // check this condition with Marian
      ptrTracklet = SetTracklet(ptrTracklet);
      ptrTracklet->UseClusters();
      track.SetTracklet(ptrTracklet, fTracklets->GetEntriesFast()-1);
    }
    AliTRDtrackV1 *ptrTrack = SetTrack(&track);
    ptrTrack->CookPID();
    ptrTrack->CookLabel(.9);
    ptrTrack->SetReconstructor(fkReconstructor);
    return ptrTrack;
  }

  // prevent the error message in AliTracker::MeanMaterialBudget: "start point out of geometry"
  if(TMath::Abs(track.GetX()) + TMath::Abs(track.GetY()) + TMath::Abs(track.GetZ()) > 10000) return NULL;

  track.ResetCovariance(1);
  Int_t nc = TMath::Abs(FollowBackProlongation(track));
  if((fkRecoParam->GetStreamLevel(AliTRDrecoParam::kTracker) > 5 && fkReconstructor->IsDebugStreaming()) 
     ||AliTRDReconstructor::GetStreamLevel()>5){
    Int_t eventNumber 		= AliTRDtrackerDebug::GetEventNumber();
    Int_t candidateNumber = AliTRDtrackerDebug::GetCandidateNumber();
    Double_t p[5]; // Track Params for the Debug Stream
    track.GetExternalParameters(x, p);
    TTreeSRedirector &cs = *fkReconstructor->GetDebugStream(AliTRDrecoParam::kTracker);
    cs << "MakeTrack"
    << "EventNumber="     << eventNumber
    << "CandidateNumber=" << candidateNumber
    << "nc="     << nc
    << "X="      << x
    << "Y="      << p[0]
    << "Z="      << p[1]
    << "snp="    << p[2]
    << "tnd="    << p[3]
    << "crv="    << p[4]
    << "Yin="    << params[0]
    << "Zin="    << params[1]
    << "snpin="  << params[2]
    << "tndin="  << params[3]
    << "crvin="  << params[4]
    << "track.=" << &track
    << "\n";
  }
  if (nc < 30){ 
    UnsetTrackletsTrack(&track);
    return NULL;
  }
  AliTRDtrackV1 *ptrTrack = SetTrack(&track);
  ptrTrack->SetReconstructor(fkReconstructor);
  ptrTrack->CookLabel(.9);
  for(Int_t il(kNPlanes); il--;){
    if(!(ptrTracklet = ptrTrack->GetTracklet(il))) continue;
    ptrTracklet->UseClusters();
  }

  // computes PID for track
  ptrTrack->CookPID();
  // update calibration references using this track
  AliTRDCalibraFillHisto *calibra = AliTRDCalibraFillHisto::Instance();
  if(!calibra){
    AliInfo("Could not get Calibra instance.");
  } else if(calibra->GetHisto2d()){
    calibra->UpdateHistogramsV1(ptrTrack);
  }
  return ptrTrack;
}


//____________________________________________________________________
Bool_t AliTRDtrackerV1::ImproveSeedQuality(AliTRDtrackingChamber **stack, AliTRDseedV1 *cseed, Double_t &chi2)
{
  //
  // Sort tracklets according to "quality" and try to "improve" the first 4 worst
  //
  // Parameters :
  //  layers : Array of propagation layers for a stack/supermodule
  //  cseed  : Array of 6 seeding tracklets which has to be improved
  // 
  // Output : 
  //   cssed : Improved seeds
  // 
  // Detailed description
  //
  // Iterative procedure in which new clusters are searched for each
  // tracklet seed such that the seed quality (see AliTRDseed::GetQuality())
  // can be maximized. If some optimization is found the old seeds are replaced.
  //
  // debug level: 7
  //
  
  // make a local working copy
  AliTRDtrackingChamber *chamber = NULL;
  AliTRDseedV1 bseed[AliTRDgeometry::kNlayer];

  Float_t quality(1.e3), 
          lQuality[AliTRDgeometry::kNlayer] = {1.e3, 1.e3, 1.e3, 1.e3, 1.e3, 1.e3};
  Int_t rLayers(0);
  for(Int_t jLayer=AliTRDgeometry::kNlayer; jLayer--;){ 
    bseed[jLayer] = cseed[jLayer];
    if(!bseed[jLayer].IsOK()) continue;
    rLayers++;
    lQuality[jLayer] = bseed[jLayer].GetQuality(kTRUE);
    quality    += lQuality[jLayer];
  }
  if (rLayers > 0) {
    quality /= rLayers;
  }
  AliDebug(2, Form("Start N[%d] Q[%f] chi2[%f]", rLayers, quality, chi2));

  for (Int_t iter = 0; iter < 4; iter++) {
    // Try better cluster set
    Int_t nLayers(0); Float_t qualitynew(0.);
    Int_t  indexes[4*AliTRDgeometry::kNlayer];
    TMath::Sort(Int_t(AliTRDgeometry::kNlayer), lQuality, indexes, kFALSE);
    for(Int_t jLayer=AliTRDgeometry::kNlayer; jLayer--;) {
      Int_t bLayer = indexes[jLayer];
      bseed[bLayer].Reset("c");
      if(!(chamber = stack[bLayer])) continue;
      if(!bseed[bLayer].AttachClusters(chamber, kTRUE)) continue;
      bseed[bLayer].Fit(1);
      if(!bseed[bLayer].IsOK()) continue;
      nLayers++;
      lQuality[jLayer] = bseed[jLayer].GetQuality(kTRUE);
      qualitynew    += lQuality[jLayer];
    }
    if(rLayers > nLayers){
      AliDebug(1, Form("Lost %d tracklets while improving.", rLayers-nLayers));
      return iter>0?kTRUE:kFALSE;
    } else rLayers=nLayers;
    qualitynew /= rLayers;

    if(qualitynew > quality){ 
      AliDebug(4, Form("Quality[%f] worsen in iter[%d] to ref[%f].", qualitynew, iter, quality));
      return iter>0?kTRUE:kFALSE;
    } else quality = qualitynew;

    // try improve track parameters
    Float_t chi2new = FitTiltedRieman(bseed, kTRUE);
    if(chi2new > chi2){ 
      AliDebug(4, Form("Chi2[%f] worsen in iter[%d] to ref[%f].", chi2new, iter, chi2));
      return iter>0?kTRUE:kFALSE;
    } else chi2 = chi2new;

    // store better tracklets
    for(Int_t jLayer=AliTRDgeometry::kNlayer; jLayer--;) cseed[jLayer]=bseed[jLayer];
    AliDebug(2, Form("Iter[%d] Q[%f] chi2[%f]", iter, quality, chi2));


    if((fkRecoParam->GetStreamLevel(AliTRDrecoParam::kTracker) >= 7 && fkReconstructor->IsDebugStreaming())
       ||AliTRDReconstructor::GetStreamLevel()>=7){
      Int_t eventNumber 		= AliTRDtrackerDebug::GetEventNumber();
      Int_t candidateNumber = AliTRDtrackerDebug::GetCandidateNumber();
      TLinearFitter *tiltedRieman = GetTiltedRiemanFitter();
      TTreeSRedirector &cstreamer = *fkReconstructor->GetDebugStream(AliTRDrecoParam::kTracker);
      cstreamer << "ImproveSeedQuality"
        << "EventNumber=" 		<< eventNumber
        << "CandidateNumber="	<< candidateNumber
        << "Iteration="				<< iter
        << "S0.="							<< &cseed[0]
        << "S1.="							<< &cseed[1]
        << "S2.="							<< &cseed[2]
        << "S3.="							<< &cseed[3]
        << "S4.="							<< &cseed[4]
        << "S5.="							<< &cseed[5]
        << "FitterT.="				<< tiltedRieman
        << "\n";
    }
  } // Loop: iter

  // we are sure that at least 4 tracklets are OK !
  return kTRUE;
}

//_________________________________________________________________________
Double_t AliTRDtrackerV1::CalculateTrackLikelihood(Double_t *chi2){
  //
  // Calculates the Track Likelihood value. This parameter serves as main quality criterion for 
  // the track selection
  // The likelihood value containes:
  //    - The chi2 values from the both fitters and the chi2 values in z-direction from a linear fit
  //    - The Sum of the Parameter  |slope_ref - slope_fit|/Sigma of the tracklets
  // For all Parameters an exponential dependency is used
  //
  // Parameters: - Array of tracklets (AliTRDseedV1) related to the track candidate
  //             - Array of chi2 values: 
  //                 * Non-Constrained Tilted Riemann fit
  //                 * Vertex-Constrained Tilted Riemann fit
  //                 * z-Direction from Linear fit
  // Output:     - The calculated track likelihood
  //
  // debug level 2
  //
  
  // Non-constrained Tilted Riemann
  Double_t likeChi2TR = TMath::Exp(-chi2[0] * 0.0078);
  // Constrained Tilted Riemann
  Double_t likeChi2TC(1.);
  if(chi2[1]>0.){
    likeChi2TC = TMath::Exp(-chi2[1] * 0.677);
    Double_t r = likeChi2TC/likeChi2TR;
    if(r>1.e2){;}   // -> a primary track use TC
    else if(r<1.e2) // -> a secondary track use TR
      likeChi2TC =1.;
    else{;}         // -> test not conclusive
  }
  // Chi2 only on Z direction
  Double_t likeChi2Z  = TMath::Exp(-chi2[2] * 0.14);
  // Chi2 angular resolution
  Double_t likeChi2Phi= TMath::Exp(-chi2[3] * 3.23);

  Double_t trackLikelihood     = likeChi2Z * likeChi2TR * likeChi2TC * likeChi2Phi;

  AliDebug(2, Form("Likelihood [%e]\n"
    "  Rieman : chi2[%f] likelihood[%6.2e]\n"
    "  Vertex : chi2[%f] likelihood[%6.2e]\n"
    "  Z      : chi2[%f] likelihood[%6.2e]\n"
    "  Phi    : chi2[%f] likelihood[%6.2e]"
    , trackLikelihood
    , chi2[0], likeChi2TR
    , chi2[1], likeChi2TC
    , chi2[2], likeChi2Z
    , chi2[3], likeChi2Phi
  ));

  if((fkRecoParam->GetStreamLevel(AliTRDrecoParam::kTracker) >= 2 && fkReconstructor->IsDebugStreaming())
     ||AliTRDReconstructor::GetStreamLevel()>=2){
    Int_t eventNumber = AliTRDtrackerDebug::GetEventNumber();
    Int_t candidateNumber = AliTRDtrackerDebug::GetCandidateNumber();
    TTreeSRedirector &cstreamer = *fkReconstructor->GetDebugStream(AliTRDrecoParam::kTracker);
    cstreamer << "CalculateTrackLikelihood0"
        << "EventNumber="			<< eventNumber
        << "CandidateNumber="	<< candidateNumber
        << "LikeChi2Z="				<< likeChi2Z
        << "LikeChi2TR="			<< likeChi2TR
        << "LikeChi2TC="			<< likeChi2TC
        << "LikeChi2Phi=" 		<< likeChi2Phi
        << "TrackLikelihood=" << trackLikelihood
        << "\n";
  }
  
  return trackLikelihood;
}

//____________________________________________________________________
Double_t AliTRDtrackerV1::CookLikelihood(AliTRDseedV1 *cseed, Int_t planes[4])
{
  //
  // Calculate the probability of this track candidate.
  //
  // Parameters :
  //   cseeds : array of candidate tracklets
  //   planes : array of seeding planes (see seeding configuration)
  //   chi2   : chi2 values (on the Z and Y direction) from the rieman fit of the track.
  //
  // Output :
  //   likelihood value
  // 
  // Detailed description
  //
  // The track quality is estimated based on the following 4 criteria:
  //  1. precision of the rieman fit on the Y direction (likea)
  //  2. chi2 on the Y direction (likechi2y)
  //  3. chi2 on the Z direction (likechi2z)
  //  4. number of attached clusters compared to a reference value 
  //     (see AliTRDrecoParam::fkFindable) (likeN)
  //
  // The distributions for each type of probabilities are given below as of
  // (date). They have to be checked to assure consistency of estimation.
  //

  // ratio of the total number of clusters/track which are expected to be found by the tracker.
 	Double_t chi2y = GetChi2Y(&cseed[0]);
  Double_t chi2z = GetChi2Z(&cseed[0]);

  Float_t nclusters = 0.;
  Double_t sumda = 0.;
  for(UChar_t ilayer = 0; ilayer < 4; ilayer++){
    Int_t jlayer = planes[ilayer];
    nclusters += cseed[jlayer].GetN2();
    sumda += TMath::Abs(cseed[jlayer].GetYfit(1) - cseed[jlayer].GetYref(1));
  }
  nclusters *= .25;

  Double_t likea     = TMath::Exp(-sumda * fkRecoParam->GetPhiSlope());
  Double_t likechi2y  = 0.0000000001;
  if (fkReconstructor->IsCosmic() || chi2y < fkRecoParam->GetChi2YCut()) likechi2y += TMath::Exp(-TMath::Sqrt(chi2y) * fkRecoParam->GetChi2YSlope());
  Double_t likechi2z = TMath::Exp(-chi2z * fkRecoParam->GetChi2ZSlope());
  Double_t likeN     = TMath::Exp(-(fkRecoParam->GetNMeanClusters() - nclusters) / fkRecoParam->GetNSigmaClusters());
  Double_t like      = likea * likechi2y * likechi2z * likeN;

  if((fkRecoParam->GetStreamLevel(AliTRDrecoParam::kTracker) >= 2 && fkReconstructor->IsDebugStreaming())
     ||AliTRDReconstructor::GetStreamLevel()>=2){
    Int_t eventNumber = AliTRDtrackerDebug::GetEventNumber();
    Int_t candidateNumber = AliTRDtrackerDebug::GetCandidateNumber();
    Int_t nTracklets = 0; Float_t meanNcls = 0;
    for(Int_t iseed=0; iseed < kNPlanes; iseed++){
    	if(!cseed[iseed].IsOK()) continue;
    	nTracklets++;
    	meanNcls += cseed[iseed].GetN2();
    }
    if(nTracklets) meanNcls /= nTracklets;
    // The Debug Stream contains the seed 
    TTreeSRedirector &cstreamer = *fkReconstructor->GetDebugStream(AliTRDrecoParam::kTracker);
    cstreamer << "CookLikelihood"
        << "EventNumber="			<< eventNumber
        << "CandidateNumber=" << candidateNumber
        << "tracklet0.="			<< &cseed[0]
        << "tracklet1.="			<< &cseed[1]
        << "tracklet2.="			<< &cseed[2]
        << "tracklet3.="			<< &cseed[3]
        << "tracklet4.="			<< &cseed[4]
        << "tracklet5.="			<< &cseed[5]
        << "sumda="						<< sumda
        << "chi2y="						<< chi2y
        << "chi2z="						<< chi2z
        << "likea="						<< likea
        << "likechi2y="				<< likechi2y
        << "likechi2z="				<< likechi2z
        << "nclusters="				<< nclusters
        << "likeN="						<< likeN
        << "like="						<< like
        << "meanncls="        << meanNcls
        << "\n";
  }

  return like;
}

//____________________________________________________________________
void AliTRDtrackerV1::GetSeedingConfig(Int_t iconfig, Int_t planes[4])
{
  //
  // Map seeding configurations to detector planes.
  //
  // Parameters :
  //   iconfig : configuration index
  //   planes  : member planes of this configuration. On input empty.
  //
  // Output :
  //   planes : contains the planes which are defining the configuration
  // 
  // Detailed description
  //
  // Here is the list of seeding planes configurations together with
  // their topological classification:
  //
  //  0 - 5432 TQ 0
  //  1 - 4321 TQ 0
  //  2 - 3210 TQ 0
  //  3 - 5321 TQ 1
  //  4 - 4210 TQ 1
  //  5 - 5431 TQ 1
  //  6 - 4320 TQ 1
  //  7 - 5430 TQ 2
  //  8 - 5210 TQ 2
  //  9 - 5421 TQ 3
  // 10 - 4310 TQ 3
  // 11 - 5410 TQ 4
  // 12 - 5420 TQ 5
  // 13 - 5320 TQ 5
  // 14 - 5310 TQ 5
  //
  // The topologic quality is modeled as follows:
  // 1. The general model is define by the equation:
  //  p(conf) = exp(-conf/2)
  // 2. According to the topologic classification, configurations from the same
  //    class are assigned the agerage value over the model values.
  // 3. Quality values are normalized.
  // 
  // The topologic quality distribution as function of configuration is given below:
  //Begin_Html
  // <img src="gif/topologicQA.gif">
  //End_Html
  //

  switch(iconfig){
  case 0: // 5432 TQ 0
    planes[0] = 2;
    planes[1] = 3;
    planes[2] = 4;
    planes[3] = 5;
    break;
  case 1: // 4321 TQ 0
    planes[0] = 1;
    planes[1] = 2;
    planes[2] = 3;
    planes[3] = 4;
    break;
  case 2: // 3210 TQ 0
    planes[0] = 0;
    planes[1] = 1;
    planes[2] = 2;
    planes[3] = 3;
    break;
  case 3: // 5321 TQ 1
    planes[0] = 1;
    planes[1] = 2;
    planes[2] = 3;
    planes[3] = 5;
    break;
  case 4: // 4210 TQ 1
    planes[0] = 0;
    planes[1] = 1;
    planes[2] = 2;
    planes[3] = 4;
    break;
  case 5: // 5431 TQ 1
    planes[0] = 1;
    planes[1] = 3;
    planes[2] = 4;
    planes[3] = 5;
    break;
  case 6: // 4320 TQ 1
    planes[0] = 0;
    planes[1] = 2;
    planes[2] = 3;
    planes[3] = 4;
    break;
  case 7: // 5430 TQ 2
    planes[0] = 0;
    planes[1] = 3;
    planes[2] = 4;
    planes[3] = 5;
    break;
  case 8: // 5210 TQ 2
    planes[0] = 0;
    planes[1] = 1;
    planes[2] = 2;
    planes[3] = 5;
    break;
  case 9: // 5421 TQ 3
    planes[0] = 1;
    planes[1] = 2;
    planes[2] = 4;
    planes[3] = 5;
    break;
  case 10: // 4310 TQ 3
    planes[0] = 0;
    planes[1] = 1;
    planes[2] = 3;
    planes[3] = 4;
    break;
  case 11: // 5410 TQ 4
    planes[0] = 0;
    planes[1] = 1;
    planes[2] = 4;
    planes[3] = 5;
    break;
  case 12: // 5420 TQ 5
    planes[0] = 0;
    planes[1] = 2;
    planes[2] = 4;
    planes[3] = 5;
    break;
  case 13: // 5320 TQ 5
    planes[0] = 0;
    planes[1] = 2;
    planes[2] = 3;
    planes[3] = 5;
    break;
  case 14: // 5310 TQ 5
    planes[0] = 0;
    planes[1] = 1;
    planes[2] = 3;
    planes[3] = 5;
    break;
  }
}

//____________________________________________________________________
void AliTRDtrackerV1::GetExtrapolationConfig(Int_t iconfig, Int_t planes[2])
{
  //
  // Returns the extrapolation planes for a seeding configuration.
  //
  // Parameters :
  //   iconfig : configuration index
  //   planes  : planes which are not in this configuration. On input empty.
  //
  // Output :
  //   planes : contains the planes which are not in the configuration
  // 
  // Detailed description
  //

  switch(iconfig){
  case 0: // 5432 TQ 0
    planes[0] = 1;
    planes[1] = 0;
    break;
  case 1: // 4321 TQ 0
    planes[0] = 5;
    planes[1] = 0;
    break;
  case 2: // 3210 TQ 0
    planes[0] = 4;
    planes[1] = 5;
    break;
  case 3: // 5321 TQ 1
    planes[0] = 4;
    planes[1] = 0;
    break;
  case 4: // 4210 TQ 1
    planes[0] = 5;
    planes[1] = 3;
    break;
  case 5: // 5431 TQ 1
    planes[0] = 2;
    planes[1] = 0;
    break;
  case 6: // 4320 TQ 1
    planes[0] = 5;
    planes[1] = 1;
    break;
  case 7: // 5430 TQ 2
    planes[0] = 2;
    planes[1] = 1;
    break;
  case 8: // 5210 TQ 2
    planes[0] = 4;
    planes[1] = 3;
    break;
  case 9: // 5421 TQ 3
    planes[0] = 3;
    planes[1] = 0;
    break;
  case 10: // 4310 TQ 3
    planes[0] = 5;
    planes[1] = 2;
    break;
  case 11: // 5410 TQ 4
    planes[0] = 3;
    planes[1] = 2;
    break;
  case 12: // 5420 TQ 5
    planes[0] = 3;
    planes[1] = 1;
    break;
  case 13: // 5320 TQ 5
    planes[0] = 4;
    planes[1] = 1;
    break;
  case 14: // 5310 TQ 5
    planes[0] = 4;
    planes[1] = 2;
    break;
  }
}

//____________________________________________________________________
AliCluster* AliTRDtrackerV1::GetCluster(Int_t idx) const
{
  if(!fClusters) return NULL;
  Int_t ncls = fClusters->GetEntriesFast();
  return idx >= 0 && idx < ncls ? (AliCluster*)fClusters->UncheckedAt(idx) : NULL;
}

//____________________________________________________________________
AliTRDseedV1* AliTRDtrackerV1::GetTracklet(Int_t idx) const
{
  if(!fTracklets) return NULL;
  Int_t ntrklt = fTracklets->GetEntriesFast();
  return idx >= 0 && idx < ntrklt ? (AliTRDseedV1*)fTracklets->UncheckedAt(idx) : NULL;
}

//____________________________________________________________________
AliKalmanTrack* AliTRDtrackerV1::GetTrack(Int_t idx) const
{
  if(!fTracks) return NULL;
  Int_t ntrk = fTracks->GetEntriesFast();
  return idx >= 0 && idx < ntrk ? (AliKalmanTrack*)fTracks->UncheckedAt(idx) : NULL;
}



// //_____________________________________________________________________________
// Int_t AliTRDtrackerV1::Freq(Int_t n, const Int_t *inlist
//           , Int_t *outlist, Bool_t down)
// {    
//   //
//   // Sort eleements according occurancy 
//   // The size of output array has is 2*n 
//   //
// 
//   if (n <= 0) {
//     return 0;
//   }
// 
//   Int_t *sindexS = new Int_t[n];   // Temporary array for sorting
//   Int_t *sindexF = new Int_t[2*n];   
//   for (Int_t i = 0; i < n; i++) {
//     sindexF[i] = 0;
//   }
// 
//   TMath::Sort(n,inlist,sindexS,down); 
// 
//   Int_t last     = inlist[sindexS[0]];
//   Int_t val      = last;
//   sindexF[0]     = 1;
//   sindexF[0+n]   = last;
//   Int_t countPos = 0;
// 
//   // Find frequency
//   for (Int_t i = 1; i < n; i++) {
//     val = inlist[sindexS[i]];
//     if (last == val) {
//       sindexF[countPos]++;
//     }
//     else {      
//       countPos++;
//       sindexF[countPos+n] = val;
//       sindexF[countPos]++;
//       last                = val;
//     }
//   }
//   if (last == val) {
//     countPos++;
//   }
// 
//   // Sort according frequency
//   TMath::Sort(countPos,sindexF,sindexS,kTRUE);
// 
//   for (Int_t i = 0; i < countPos; i++) {
//     outlist[2*i  ] = sindexF[sindexS[i]+n];
//     outlist[2*i+1] = sindexF[sindexS[i]];
//   }
// 
//   delete [] sindexS;
//   delete [] sindexF;
//   
//   return countPos;
// 
// }


//____________________________________________________________________
void AliTRDtrackerV1::ResetSeedTB()
{
// reset buffer for seeding time bin layers. If the time bin 
// layers are not allocated this function allocates them  

  for(Int_t isl=0; isl<kNSeedPlanes; isl++){
    if(!fSeedTB[isl]) fSeedTB[isl] = new AliTRDchamberTimeBin();
    else fSeedTB[isl]->Clear();
  }
}


//_____________________________________________________________________________
Float_t AliTRDtrackerV1::GetChi2Y(const AliTRDseedV1 * const tracklets) const
{
  //	Calculates normalized chi2 in y-direction
  // chi2 = Sum chi2 / n_tracklets

  Double_t chi2 = 0.; Int_t n = 0;
  for(Int_t ipl = kNPlanes; ipl--;){
    if(!tracklets[ipl].IsOK()) continue;
    chi2 += tracklets[ipl].GetChi2Y();
    n++;
  }
  return n ? chi2/n : 0.;
}

//_____________________________________________________________________________
Float_t AliTRDtrackerV1::GetChi2Z(const AliTRDseedV1 *const tracklets) const 
{
  //	Calculates normalized chi2 in z-direction
  // chi2 = Sum chi2 / n_tracklets

  Double_t chi2 = 0; Int_t n = 0;
  for(Int_t ipl = kNPlanes; ipl--;){
    if(!tracklets[ipl].IsOK()) continue;
    chi2 += tracklets[ipl].GetChi2Z();
    n++;
  }
  return n ? chi2/n : 0.;
}

//_____________________________________________________________________________
Float_t AliTRDtrackerV1::GetChi2Phi(const AliTRDseedV1 *const tracklets) const 
{
  //  Calculates normalized chi2 for angular resolution
  // chi2 = Sum chi2 / n_tracklets

  Double_t chi2 = 0; Int_t n = 0;
  for (Int_t iLayer = 0; iLayer < kNPlanes; iLayer++) {
    if(!tracklets[iLayer].IsOK()) continue;
    chi2 += tracklets[iLayer].GetChi2Phi();
    n++;
  }
  return n ? chi2/n: 0.;
}

//____________________________________________________________________
Float_t AliTRDtrackerV1::CalculateReferenceX(const AliTRDseedV1 *const tracklets){
 	//
 	// Calculates the reference x-position for the tilted Rieman fit defined as middle
 	// of the stack (middle between layers 2 and 3). For the calculation all the tracklets
 	// are taken into account
 	//
 	// Parameters: - Array of tracklets(AliTRDseedV1)
 	//
 	// Output: - The reference x-position(Float_t)
  // Only kept for compatibility with the old code
 	//
 	Int_t nDistances = 0;
 	Float_t meanDistance = 0.;
 	Int_t startIndex = 5;
 	for(Int_t il =5; il > 0; il--){
   	if(tracklets[il].IsOK() && tracklets[il -1].IsOK()){
     	Float_t xdiff = tracklets[il].GetX0() - tracklets[il -1].GetX0();
 	    meanDistance += xdiff;
 	    nDistances++;
	  }
 	  if(tracklets[il].IsOK()) startIndex = il;
 	}
 	if(tracklets[0].IsOK()) startIndex = 0;
 	if(!nDistances){
 	  // We should normally never get here
 	  Float_t xpos[2]; memset(xpos, 0, sizeof(Float_t) * 2);
 	  Int_t iok = 0, idiff = 0;
 	  // This attempt is worse and should be avoided:
 	  // check for two chambers which are OK and repeat this without taking the mean value
 	  // Strategy avoids a division by 0;
 	  for(Int_t il = 5; il >= 0; il--){
 	    if(tracklets[il].IsOK()){
 	      xpos[iok] = tracklets[il].GetX0();
 	      iok++;
 	      startIndex = il;
 	    }
 	    if(iok) idiff++; // to get the right difference;
 	    if(iok > 1) break;
	  }
 	  if(iok > 1){
 	    meanDistance = (xpos[0] - xpos[1])/idiff;
 	  }
 	  else{
 	    // we have do not even have 2 layers which are OK? The we do not need to fit at all
 	    return 331.;
   	}
 	}
	else{
	  meanDistance /= nDistances;
	}
	return tracklets[startIndex].GetX0() + (2.5 - startIndex) * meanDistance - 0.5 * (AliTRDgeometry::AmThick() + AliTRDgeometry::DrThick());
}

//_____________________________________________________________________________
Double_t AliTRDtrackerV1::FitTiltedRiemanV1(AliTRDseedV1 *const tracklets){
  //
  // Track Fitter Function using the new class implementation of 
  // the Rieman fit
  //
  AliTRDtrackFitterRieman fitter;
  fitter.SetRiemanFitter(GetTiltedRiemanFitter());
  fitter.Reset();
  for(Int_t il = 0; il < AliTRDgeometry::kNlayer; il++) fitter.SetTracklet(il, &tracklets[il]);
  Double_t chi2 = fitter.Eval();
  // Update the tracklets
  Double_t cov[15]; Double_t x0;
  memset(cov, 0, sizeof(Double_t) * 15);
  for(Int_t il = 0; il < AliTRDgeometry::kNlayer; il++){
    x0 = tracklets[il].GetX0();
    tracklets[il].SetYref(0, fitter.GetYat(x0));
    tracklets[il].SetZref(0, fitter.GetZat(x0));
    tracklets[il].SetYref(1, fitter.GetDyDxAt(x0));
    tracklets[il].SetZref(1, fitter.GetDzDx());
    tracklets[il].SetC(fitter.GetCurvature());
    fitter.GetCovAt(x0, cov);
    tracklets[il].SetCovRef(cov);
    tracklets[il].SetChi2(chi2);
  }
  return chi2;
}

//____________________________________________________________________
void AliTRDtrackerV1::UnsetTrackletsTrack(const AliTRDtrackV1 * const track)
{
//  Remove tracklets from tracker list attached to "track"
  Int_t idx(-1);
  for(Int_t il(0); il<kNPlanes; il++){
    if((idx = track->GetTrackletIndex(il)) < 0) continue;
    delete (fTracklets->RemoveAt(idx));
  }
}


///////////////////////////////////////////////////////
//                                                   //
// Resources of class AliTRDLeastSquare              //
//                                                   //
///////////////////////////////////////////////////////

//_____________________________________________________________________________
AliTRDtrackerV1::AliTRDLeastSquare::AliTRDLeastSquare(){
//
// Constructor of the nested class AliTRDtrackFitterLeastSquare
//
// Fast solving linear regresion in 2D
//         y=a + bx
// The data members have the following meaning
// fParams[0] : a
// fParams[1] : b
// 
// fSums[0] : S
// fSums[1] : Sx
// fSums[2] : Sy
// fSums[3] : Sxy
// fSums[4] : Sxx
// fSums[5] : Syy
// 
// fCovarianceMatrix[0] : s2a
// fCovarianceMatrix[1] : s2b
// fCovarianceMatrix[2] : cov(ab)

  memset(fParams, 0, sizeof(Double_t) * 2);
  memset(fSums, 0, sizeof(Double_t) * 6);
  memset(fCovarianceMatrix, 0, sizeof(Double_t) * 3);

}

//_____________________________________________________________________________
void AliTRDtrackerV1::AliTRDLeastSquare::AddPoint(const Double_t *const x, Double_t y, Double_t sigmaY){
  //
  // Adding Point to the fitter
  //
  
  Double_t weight = 1/(sigmaY > 1e-9 ? sigmaY : 1e-9);
  weight *= weight;
  const Double_t &xpt = *x;
  //	printf("Adding point x = %f, y = %f, sigma = %f\n", xpt, y, sigmaY);
  fSums[0] += weight;
  fSums[1] += weight * xpt;
  fSums[2] += weight * y;
  fSums[3] += weight * xpt * y;
  fSums[4] += weight * xpt * xpt;
  fSums[5] += weight * y * y;
}

//_____________________________________________________________________________
void AliTRDtrackerV1::AliTRDLeastSquare::RemovePoint(const Double_t *const x, Double_t y, Double_t sigmaY){
  //
  // Remove Point from the sample
  //

  Double_t weight = 1/(sigmaY > 1e-9 ? sigmaY : 1e-9);
  weight *= weight;
  const Double_t &xpt = *x; 
  fSums[0] -= weight;
  fSums[1] -= weight * xpt;
  fSums[2] -= weight * y;
  fSums[3] -= weight * xpt * y;
  fSums[4] -= weight * xpt * xpt;
  fSums[5] -= weight * y * y;
}

//_____________________________________________________________________________
Bool_t AliTRDtrackerV1::AliTRDLeastSquare::Eval(){
  //
  // Evaluation of the fit:
  // Calculation of the parameters
  // Calculation of the covariance matrix
  //
  
  Double_t det = fSums[0] * fSums[4] - fSums[1] *fSums[1];
  if(TMath::Abs(det)<1.e-30) return kFALSE;

  //	for(Int_t isum = 0; isum < 5; isum++)
  //		printf("fSums[%d] = %f\n", isum, fSums[isum]);
  //	printf("denominator = %f\n", denominator);
  fParams[0] = (fSums[2] * fSums[4] - fSums[1] * fSums[3])/det;
  fParams[1] = (fSums[0] * fSums[3] - fSums[1] * fSums[2])/det;
  //	printf("fParams[0] = %f, fParams[1] = %f\n", fParams[0], fParams[1]);
  
  // Covariance matrix
  Double_t den = fSums[0]*fSums[4] - fSums[1]*fSums[1];
  fCovarianceMatrix[0] = fSums[4] / den;
  fCovarianceMatrix[1] = fSums[0] / den;
  fCovarianceMatrix[2] = -fSums[1] / den;
/*  fCovarianceMatrix[0] = fSums[4] / fSums[0] - fSums[1] * fSums[1] / (fSums[0] * fSums[0]);
  fCovarianceMatrix[1] = fSums[5] / fSums[0] - fSums[2] * fSums[2] / (fSums[0] * fSums[0]);
  fCovarianceMatrix[2] = fSums[3] / fSums[0] - fSums[1] * fSums[2] / (fSums[0] * fSums[0]);*/



  return kTRUE;
}

//_____________________________________________________________________________
Double_t AliTRDtrackerV1::AliTRDLeastSquare::GetFunctionValue(const Double_t *const xpos) const {
  //
  // Returns the Function value of the fitted function at a given x-position
  //
  return fParams[0] + fParams[1] * (*xpos);
}

//_____________________________________________________________________________
void AliTRDtrackerV1::AliTRDLeastSquare::GetCovarianceMatrix(Double_t *storage) const {
  //
  // Copies the values of the covariance matrix into the storage
  //
  memcpy(storage, fCovarianceMatrix, sizeof(Double_t) * 3);
}

//_____________________________________________________________________________
void AliTRDtrackerV1::AliTRDLeastSquare::Reset(){
  //
  // Reset the fitter
  //
  memset(fParams, 0, sizeof(Double_t) * 2);
  memset(fCovarianceMatrix, 0, sizeof(Double_t) * 3);
  memset(fSums, 0, sizeof(Double_t) * 6);
}

///////////////////////////////////////////////////////
//                                                   //
// Resources of class AliTRDtrackFitterRieman        //
//                                                   //
///////////////////////////////////////////////////////

//_____________________________________________________________________________
AliTRDtrackerV1::AliTRDtrackFitterRieman::AliTRDtrackFitterRieman():
  fTrackFitter(NULL),
  fZfitter(NULL),
  fCovarPolY(NULL),
  fCovarPolZ(NULL),
  fXref(0.),
  fSysClusterError(0.)
{
  //
  // Default constructor
  //
  fZfitter = new AliTRDLeastSquare;
  fCovarPolY = new TMatrixD(3,3);
  fCovarPolZ = new TMatrixD(2,2);
  memset(fTracklets, 0, sizeof(AliTRDseedV1 *) * 6);
  memset(fParameters, 0, sizeof(Double_t) * 5);
  memset(fSumPolY, 0, sizeof(Double_t) * 5);
  memset(fSumPolZ, 0, sizeof(Double_t) * 2);
}

//_____________________________________________________________________________
AliTRDtrackerV1::AliTRDtrackFitterRieman::~AliTRDtrackFitterRieman(){
  //
  // Destructor
  //
  if(fZfitter) delete fZfitter;
  if(fCovarPolY) delete fCovarPolY;
  if(fCovarPolZ) delete fCovarPolZ;
}

//_____________________________________________________________________________
void AliTRDtrackerV1::AliTRDtrackFitterRieman::Reset(){
  //
  // Reset the Fitter
  //
  if(fTrackFitter){
    fTrackFitter->StoreData(kTRUE);
    fTrackFitter->ClearPoints();
  }
  if(fZfitter){
    fZfitter->Reset();
  }
  fXref = 0.;
  memset(fTracklets, 0, sizeof(AliTRDseedV1 *) * AliTRDgeometry::kNlayer);
  memset(fParameters, 0, sizeof(Double_t) * 5);
  memset(fSumPolY, 0, sizeof(Double_t) * 5);
  memset(fSumPolZ, 0, sizeof(Double_t) * 2);
  for(Int_t irow = 0; irow < fCovarPolY->GetNrows(); irow++)
    for(Int_t icol = 0; icol < fCovarPolY->GetNcols(); icol++){
      (*fCovarPolY)(irow, icol) = 0.;
      if(irow < 2 && icol < 2)
        (*fCovarPolZ)(irow, icol) = 0.;
    }
}

//_____________________________________________________________________________
void AliTRDtrackerV1::AliTRDtrackFitterRieman::SetTracklet(Int_t itr, AliTRDseedV1 *tracklet){ 
  //
  // Add tracklet into the fitter
  //
  if(itr >= AliTRDgeometry::kNlayer) return;
  fTracklets[itr] = tracklet; 
}

//_____________________________________________________________________________
Double_t AliTRDtrackerV1::AliTRDtrackFitterRieman::Eval(){
  //
  // Perform the fit
  // 1. Apply linear transformation and store points in the fitter
  // 2. Evaluate the fit
  // 3. Check if the result of the fit in z-direction is reasonable
  // if not
  // 3a. Fix the parameters 3 and 4 with the results of a simple least
  //     square fit
  // 3b. Redo the fit with the fixed parameters
  // 4. Store fit results (parameters and errors)
  //
  if(!fTrackFitter){
    return 1e10;
  }
  fXref = CalculateReferenceX();
  for(Int_t il = 0; il < AliTRDgeometry::kNlayer; il++) UpdateFitters(fTracklets[il]);
  if(!fTrackFitter->GetNpoints()) return 1e10;
  // perform the fit
  fTrackFitter->Eval();
  fZfitter->Eval();
  fParameters[3] = fTrackFitter->GetParameter(3);
  fParameters[4] = fTrackFitter->GetParameter(4);
  if(!CheckAcceptable(fParameters[3], fParameters[4])) {
    fTrackFitter->FixParameter(3, fZfitter->GetFunctionValue(&fXref));
    fTrackFitter->FixParameter(4, fZfitter->GetFunctionParameter(1));
    fTrackFitter->Eval();
    fTrackFitter->ReleaseParameter(3);
    fTrackFitter->ReleaseParameter(4);
    fParameters[3] = fTrackFitter->GetParameter(3);
    fParameters[4] = fTrackFitter->GetParameter(4);
  }
  // Update the Fit Parameters and the errors
  fParameters[0] = fTrackFitter->GetParameter(0);
  fParameters[1] = fTrackFitter->GetParameter(1);
  fParameters[2] = fTrackFitter->GetParameter(2);

  // Prepare Covariance estimation
  (*fCovarPolY)(0,0) = fSumPolY[0]; (*fCovarPolY)(1,1) = fSumPolY[2]; (*fCovarPolY)(2,2) = fSumPolY[4];
  (*fCovarPolY)(1,0) = (*fCovarPolY)(0,1) = fSumPolY[1];
  (*fCovarPolY)(2,0) = (*fCovarPolY)(0,2) = fSumPolY[2];
  (*fCovarPolY)(2,1) = (*fCovarPolY)(1,2) = fSumPolY[3];
  fCovarPolY->Invert();
  (*fCovarPolZ)(0,0) = fSumPolZ[0]; (*fCovarPolZ)(1,1) = fSumPolZ[2];
  (*fCovarPolZ)(1,0) = (*fCovarPolZ)(0,1) = fSumPolZ[1];
  fCovarPolZ->Invert();
  return fTrackFitter->GetChisquare() / fTrackFitter->GetNpoints();
}

//_____________________________________________________________________________
void AliTRDtrackerV1::AliTRDtrackFitterRieman::UpdateFitters(const AliTRDseedV1 * const tracklet){
  //
  // Does the transformations and updates the fitters
  // The following transformation is applied
  //
  AliTRDcluster *cl = NULL;
  Double_t x, y, z, dx, t, w, we, yerr, zerr;
  Double_t uvt[4];
  if(!tracklet || !tracklet->IsOK()) return; 
  Double_t tilt = tracklet->GetTilt();
  for(Int_t itb = 0; itb < AliTRDseedV1::kNclusters; itb++){
    if(!(cl = tracklet->GetClusters(itb))) continue;
    if(!cl->IsInChamber()) continue;
    if (!tracklet->IsUsable(itb)) continue;
    x = cl->GetX();
    y = cl->GetY();
    z = cl->GetZ();
    dx = x - fXref;
    // Transformation
    t = 1./(x*x + y*y);
    uvt[0] = 2. * x * t;
    uvt[1] = t;
    uvt[2] = 2. * tilt * t;
    uvt[3] = 2. * tilt * dx * t;
    w = 2. * (y + tilt*z) * t;
    // error definition changes for the different calls
    we = 2. * t;
    we *= TMath::Sqrt(cl->GetSigmaY2()+tilt*tilt*cl->GetSigmaZ2());
    // Update sums for error calculation
    yerr = 1./(TMath::Sqrt(cl->GetSigmaY2()) + fSysClusterError);
    yerr *= yerr;
    zerr = 1./cl->GetSigmaZ2();
    for(Int_t ipol = 0; ipol < 5; ipol++){
      fSumPolY[ipol] += yerr;
      yerr *= x;
      if(ipol < 3){
        fSumPolZ[ipol] += zerr;
        zerr *= x;
      }
    }
    fTrackFitter->AddPoint(uvt, w, we);
    fZfitter->AddPoint(&x, z, static_cast<Double_t>(TMath::Sqrt(cl->GetSigmaZ2())));
  }
}

//_____________________________________________________________________________
Bool_t AliTRDtrackerV1::AliTRDtrackFitterRieman::CheckAcceptable(Double_t offset, Double_t slope){
  // 
  // Check whether z-results are acceptable
  // Definition: Distance between tracklet fit and track fit has to be
  // less then half a padlength
  // Point of comparision is at the anode wire
  //
  Bool_t acceptablez = kTRUE;
  Double_t zref = 0.0;
  for (Int_t iLayer = 0; iLayer < kNPlanes; iLayer++) {
    if(!fTracklets[iLayer]->IsOK()) continue;
    zref = offset + slope * (fTracklets[iLayer]->GetX0() - fXref);
    if (TMath::Abs(fTracklets[iLayer]->GetZfit(0) - zref) > fTracklets[iLayer]->GetPadLength() * 0.5 + 1.0) 
      acceptablez = kFALSE;
  }
  return acceptablez;
}

//_____________________________________________________________________________
Double_t AliTRDtrackerV1::AliTRDtrackFitterRieman::GetYat(Double_t x) const {
  //
  // Calculate y position out of the track parameters
  // y:     R^2 = (x - x0)^2 + (y - y0)^2
  //     =>   y = y0 +/- Sqrt(R^2 - (x - x0)^2)
  //          R = Sqrt() = 1/Curvature
  //     =>   y = y0 +/- Sqrt(1/Curvature^2 - (x - x0)^2)
  //
  Double_t y = 0;
  Double_t disc = (x * fParameters[0] + fParameters[1]);
  disc = 1 - fParameters[0]*fParameters[2] + fParameters[1]*fParameters[1] - disc*disc;
  if (disc >= 0) {
    disc = TMath::Sqrt(disc);
    y    = (1.0 - disc) / fParameters[0];
  }
  return y;
}

//_____________________________________________________________________________
Double_t AliTRDtrackerV1::AliTRDtrackFitterRieman::GetZat(Double_t x) const {
  //
  // Return z position for a given x position
  // Simple linear function
  //
  return fParameters[3] + fParameters[4] * (x - fXref);
}

//_____________________________________________________________________________
Double_t AliTRDtrackerV1::AliTRDtrackFitterRieman::GetDyDxAt(Double_t x) const {
  //
  // Calculate dydx at a given radial position out of the track parameters
  // dy:      R^2 = (x - x0)^2 + (y - y0)^2
  //     =>     y = +/- Sqrt(R^2 - (x - x0)^2) + y0
  //     => dy/dx = (x - x0)/Sqrt(R^2 - (x - x0)^2) 
  // Curvature: cr = 1/R = a/Sqrt(1 + b^2 - c*a)
  //     => dy/dx =  (x - x0)/(1/(cr^2) - (x - x0)^2) 
  //
  Double_t x0 = -fParameters[1] / fParameters[0];
  Double_t curvature = GetCurvature();
  Double_t dy = 0;
  if (-fParameters[2] * fParameters[0] + fParameters[1] * fParameters[1] + 1 > 0) {
    if (1.0/(curvature * curvature) - (x - x0) * (x - x0) > 0.0) {
     Double_t yderiv = (x - x0) / TMath::Sqrt(1.0/(curvature * curvature) - (x - x0) * (x - x0));
      if (fParameters[0] < 0) yderiv *= -1.0;
      dy = yderiv;
    }
  }
  return dy;
}

//_____________________________________________________________________________
Double_t AliTRDtrackerV1::AliTRDtrackFitterRieman::GetCurvature() const {
  //
  // Calculate track curvature
  //
  //
  Double_t curvature =  1.0 + fParameters[1]*fParameters[1] - fParameters[2]*fParameters[0];
  if (curvature > 0.0) 
    curvature  =  fParameters[0] / TMath::Sqrt(curvature);
  return curvature;
}

//_____________________________________________________________________________
void AliTRDtrackerV1::AliTRDtrackFitterRieman::GetCovAt(Double_t x, Double_t *cov) const {
  //
  // Error Definition according to gauss error propagation
  //  
  TMatrixD transform(3,3);
  transform(0,0) = transform(1,1) = transform(2,2) = 1;
  transform(0,1) = transform(1,2) = x;
  transform(0,2) = x*x;
  TMatrixD covariance(transform, TMatrixD::kMult, *fCovarPolY);
  covariance *= transform.T();
  cov[0] = covariance(0,0);
  TMatrixD transformZ(2,2);
  transformZ(0,0) = transformZ(1,1) = 1;
  transformZ(0,1) = x;
  TMatrixD covarZ(transformZ, TMatrixD::kMult, *fCovarPolZ);
  covarZ *= transformZ.T();
  cov[1] = covarZ(0,0);
  cov[2] = 0;
}

//____________________________________________________________________
Double_t AliTRDtrackerV1::AliTRDtrackFitterRieman::CalculateReferenceX(){
  //
  // Calculates the reference x-position for the tilted Rieman fit defined as middle
  // of the stack (middle between layers 2 and 3). For the calculation all the tracklets
  // are taken into account
  // 
  // Parameters:	- Array of tracklets(AliTRDseedV1)
  //
  // Output:		- The reference x-position(Float_t)
  //
  Int_t nDistances = 0;
  Float_t meanDistance = 0.;
  Int_t startIndex = 5;
  for(Int_t il =5; il > 0; il--){
    if(fTracklets[il]->IsOK() && fTracklets[il -1]->IsOK()){
      Float_t xdiff = fTracklets[il]->GetX0() - fTracklets[il -1]->GetX0();
      meanDistance += xdiff;
      nDistances++;
    }
    if(fTracklets[il]->IsOK()) startIndex = il;
  }
  if(fTracklets[0]->IsOK()) startIndex = 0;
  if(!nDistances){
    // We should normally never get here
    Float_t xpos[2]; memset(xpos, 0, sizeof(Float_t) * 2);
    Int_t iok = 0, idiff = 0;
    // This attempt is worse and should be avoided:
    // check for two chambers which are OK and repeat this without taking the mean value
    // Strategy avoids a division by 0;
    for(Int_t il = 5; il >= 0; il--){
      if(fTracklets[il]->IsOK()){
        xpos[iok] = fTracklets[il]->GetX0();
        iok++;
        startIndex = il;
      }
      if(iok) idiff++;	// to get the right difference;
      if(iok > 1) break;
    }
    if(iok > 1){
      meanDistance = (xpos[0] - xpos[1])/idiff;
    }
    else{
      // we have do not even have 2 layers which are OK? The we do not need to fit at all
      return 331.;
    }
  }
  else{
    meanDistance /= nDistances;
  }
  return fTracklets[startIndex]->GetX0() + (2.5 - startIndex) * meanDistance - 0.5 * (AliTRDgeometry::AmThick() + AliTRDgeometry::DrThick());
}
 AliTRDtrackerV1.cxx:1
 AliTRDtrackerV1.cxx:2
 AliTRDtrackerV1.cxx:3
 AliTRDtrackerV1.cxx:4
 AliTRDtrackerV1.cxx:5
 AliTRDtrackerV1.cxx:6
 AliTRDtrackerV1.cxx:7
 AliTRDtrackerV1.cxx:8
 AliTRDtrackerV1.cxx:9
 AliTRDtrackerV1.cxx:10
 AliTRDtrackerV1.cxx:11
 AliTRDtrackerV1.cxx:12
 AliTRDtrackerV1.cxx:13
 AliTRDtrackerV1.cxx:14
 AliTRDtrackerV1.cxx:15
 AliTRDtrackerV1.cxx:16
 AliTRDtrackerV1.cxx:17
 AliTRDtrackerV1.cxx:18
 AliTRDtrackerV1.cxx:19
 AliTRDtrackerV1.cxx:20
 AliTRDtrackerV1.cxx:21
 AliTRDtrackerV1.cxx:22
 AliTRDtrackerV1.cxx:23
 AliTRDtrackerV1.cxx:24
 AliTRDtrackerV1.cxx:25
 AliTRDtrackerV1.cxx:26
 AliTRDtrackerV1.cxx:27
 AliTRDtrackerV1.cxx:28
 AliTRDtrackerV1.cxx:29
 AliTRDtrackerV1.cxx:30
 AliTRDtrackerV1.cxx:31
 AliTRDtrackerV1.cxx:32
 AliTRDtrackerV1.cxx:33
 AliTRDtrackerV1.cxx:34
 AliTRDtrackerV1.cxx:35
 AliTRDtrackerV1.cxx:36
 AliTRDtrackerV1.cxx:37
 AliTRDtrackerV1.cxx:38
 AliTRDtrackerV1.cxx:39
 AliTRDtrackerV1.cxx:40
 AliTRDtrackerV1.cxx:41
 AliTRDtrackerV1.cxx:42
 AliTRDtrackerV1.cxx:43
 AliTRDtrackerV1.cxx:44
 AliTRDtrackerV1.cxx:45
 AliTRDtrackerV1.cxx:46
 AliTRDtrackerV1.cxx:47
 AliTRDtrackerV1.cxx:48
 AliTRDtrackerV1.cxx:49
 AliTRDtrackerV1.cxx:50
 AliTRDtrackerV1.cxx:51
 AliTRDtrackerV1.cxx:52
 AliTRDtrackerV1.cxx:53
 AliTRDtrackerV1.cxx:54
 AliTRDtrackerV1.cxx:55
 AliTRDtrackerV1.cxx:56
 AliTRDtrackerV1.cxx:57
 AliTRDtrackerV1.cxx:58
 AliTRDtrackerV1.cxx:59
 AliTRDtrackerV1.cxx:60
 AliTRDtrackerV1.cxx:61
 AliTRDtrackerV1.cxx:62
 AliTRDtrackerV1.cxx:63
 AliTRDtrackerV1.cxx:64
 AliTRDtrackerV1.cxx:65
 AliTRDtrackerV1.cxx:66
 AliTRDtrackerV1.cxx:67
 AliTRDtrackerV1.cxx:68
 AliTRDtrackerV1.cxx:69
 AliTRDtrackerV1.cxx:70
 AliTRDtrackerV1.cxx:71
 AliTRDtrackerV1.cxx:72
 AliTRDtrackerV1.cxx:73
 AliTRDtrackerV1.cxx:74
 AliTRDtrackerV1.cxx:75
 AliTRDtrackerV1.cxx:76
 AliTRDtrackerV1.cxx:77
 AliTRDtrackerV1.cxx:78
 AliTRDtrackerV1.cxx:79
 AliTRDtrackerV1.cxx:80
 AliTRDtrackerV1.cxx:81
 AliTRDtrackerV1.cxx:82
 AliTRDtrackerV1.cxx:83
 AliTRDtrackerV1.cxx:84
 AliTRDtrackerV1.cxx:85
 AliTRDtrackerV1.cxx:86
 AliTRDtrackerV1.cxx:87
 AliTRDtrackerV1.cxx:88
 AliTRDtrackerV1.cxx:89
 AliTRDtrackerV1.cxx:90
 AliTRDtrackerV1.cxx:91
 AliTRDtrackerV1.cxx:92
 AliTRDtrackerV1.cxx:93
 AliTRDtrackerV1.cxx:94
 AliTRDtrackerV1.cxx:95
 AliTRDtrackerV1.cxx:96
 AliTRDtrackerV1.cxx:97
 AliTRDtrackerV1.cxx:98
 AliTRDtrackerV1.cxx:99
 AliTRDtrackerV1.cxx:100
 AliTRDtrackerV1.cxx:101
 AliTRDtrackerV1.cxx:102
 AliTRDtrackerV1.cxx:103
 AliTRDtrackerV1.cxx:104
 AliTRDtrackerV1.cxx:105
 AliTRDtrackerV1.cxx:106
 AliTRDtrackerV1.cxx:107
 AliTRDtrackerV1.cxx:108
 AliTRDtrackerV1.cxx:109
 AliTRDtrackerV1.cxx:110
 AliTRDtrackerV1.cxx:111
 AliTRDtrackerV1.cxx:112
 AliTRDtrackerV1.cxx:113
 AliTRDtrackerV1.cxx:114
 AliTRDtrackerV1.cxx:115
 AliTRDtrackerV1.cxx:116
 AliTRDtrackerV1.cxx:117
 AliTRDtrackerV1.cxx:118
 AliTRDtrackerV1.cxx:119
 AliTRDtrackerV1.cxx:120
 AliTRDtrackerV1.cxx:121
 AliTRDtrackerV1.cxx:122
 AliTRDtrackerV1.cxx:123
 AliTRDtrackerV1.cxx:124
 AliTRDtrackerV1.cxx:125
 AliTRDtrackerV1.cxx:126
 AliTRDtrackerV1.cxx:127
 AliTRDtrackerV1.cxx:128
 AliTRDtrackerV1.cxx:129
 AliTRDtrackerV1.cxx:130
 AliTRDtrackerV1.cxx:131
 AliTRDtrackerV1.cxx:132
 AliTRDtrackerV1.cxx:133
 AliTRDtrackerV1.cxx:134
 AliTRDtrackerV1.cxx:135
 AliTRDtrackerV1.cxx:136
 AliTRDtrackerV1.cxx:137
 AliTRDtrackerV1.cxx:138
 AliTRDtrackerV1.cxx:139
 AliTRDtrackerV1.cxx:140
 AliTRDtrackerV1.cxx:141
 AliTRDtrackerV1.cxx:142
 AliTRDtrackerV1.cxx:143
 AliTRDtrackerV1.cxx:144
 AliTRDtrackerV1.cxx:145
 AliTRDtrackerV1.cxx:146
 AliTRDtrackerV1.cxx:147
 AliTRDtrackerV1.cxx:148
 AliTRDtrackerV1.cxx:149
 AliTRDtrackerV1.cxx:150
 AliTRDtrackerV1.cxx:151
 AliTRDtrackerV1.cxx:152
 AliTRDtrackerV1.cxx:153
 AliTRDtrackerV1.cxx:154
 AliTRDtrackerV1.cxx:155
 AliTRDtrackerV1.cxx:156
 AliTRDtrackerV1.cxx:157
 AliTRDtrackerV1.cxx:158
 AliTRDtrackerV1.cxx:159
 AliTRDtrackerV1.cxx:160
 AliTRDtrackerV1.cxx:161
 AliTRDtrackerV1.cxx:162
 AliTRDtrackerV1.cxx:163
 AliTRDtrackerV1.cxx:164
 AliTRDtrackerV1.cxx:165
 AliTRDtrackerV1.cxx:166
 AliTRDtrackerV1.cxx:167
 AliTRDtrackerV1.cxx:168
 AliTRDtrackerV1.cxx:169
 AliTRDtrackerV1.cxx:170
 AliTRDtrackerV1.cxx:171
 AliTRDtrackerV1.cxx:172
 AliTRDtrackerV1.cxx:173
 AliTRDtrackerV1.cxx:174
 AliTRDtrackerV1.cxx:175
 AliTRDtrackerV1.cxx:176
 AliTRDtrackerV1.cxx:177
 AliTRDtrackerV1.cxx:178
 AliTRDtrackerV1.cxx:179
 AliTRDtrackerV1.cxx:180
 AliTRDtrackerV1.cxx:181
 AliTRDtrackerV1.cxx:182
 AliTRDtrackerV1.cxx:183
 AliTRDtrackerV1.cxx:184
 AliTRDtrackerV1.cxx:185
 AliTRDtrackerV1.cxx:186
 AliTRDtrackerV1.cxx:187
 AliTRDtrackerV1.cxx:188
 AliTRDtrackerV1.cxx:189
 AliTRDtrackerV1.cxx:190
 AliTRDtrackerV1.cxx:191
 AliTRDtrackerV1.cxx:192
 AliTRDtrackerV1.cxx:193
 AliTRDtrackerV1.cxx:194
 AliTRDtrackerV1.cxx:195
 AliTRDtrackerV1.cxx:196
 AliTRDtrackerV1.cxx:197
 AliTRDtrackerV1.cxx:198
 AliTRDtrackerV1.cxx:199
 AliTRDtrackerV1.cxx:200
 AliTRDtrackerV1.cxx:201
 AliTRDtrackerV1.cxx:202
 AliTRDtrackerV1.cxx:203
 AliTRDtrackerV1.cxx:204
 AliTRDtrackerV1.cxx:205
 AliTRDtrackerV1.cxx:206
 AliTRDtrackerV1.cxx:207
 AliTRDtrackerV1.cxx:208
 AliTRDtrackerV1.cxx:209
 AliTRDtrackerV1.cxx:210
 AliTRDtrackerV1.cxx:211
 AliTRDtrackerV1.cxx:212
 AliTRDtrackerV1.cxx:213
 AliTRDtrackerV1.cxx:214
 AliTRDtrackerV1.cxx:215
 AliTRDtrackerV1.cxx:216
 AliTRDtrackerV1.cxx:217
 AliTRDtrackerV1.cxx:218
 AliTRDtrackerV1.cxx:219
 AliTRDtrackerV1.cxx:220
 AliTRDtrackerV1.cxx:221
 AliTRDtrackerV1.cxx:222
 AliTRDtrackerV1.cxx:223
 AliTRDtrackerV1.cxx:224
 AliTRDtrackerV1.cxx:225
 AliTRDtrackerV1.cxx:226
 AliTRDtrackerV1.cxx:227
 AliTRDtrackerV1.cxx:228
 AliTRDtrackerV1.cxx:229
 AliTRDtrackerV1.cxx:230
 AliTRDtrackerV1.cxx:231
 AliTRDtrackerV1.cxx:232
 AliTRDtrackerV1.cxx:233
 AliTRDtrackerV1.cxx:234
 AliTRDtrackerV1.cxx:235
 AliTRDtrackerV1.cxx:236
 AliTRDtrackerV1.cxx:237
 AliTRDtrackerV1.cxx:238
 AliTRDtrackerV1.cxx:239
 AliTRDtrackerV1.cxx:240
 AliTRDtrackerV1.cxx:241
 AliTRDtrackerV1.cxx:242
 AliTRDtrackerV1.cxx:243
 AliTRDtrackerV1.cxx:244
 AliTRDtrackerV1.cxx:245
 AliTRDtrackerV1.cxx:246
 AliTRDtrackerV1.cxx:247
 AliTRDtrackerV1.cxx:248
 AliTRDtrackerV1.cxx:249
 AliTRDtrackerV1.cxx:250
 AliTRDtrackerV1.cxx:251
 AliTRDtrackerV1.cxx:252
 AliTRDtrackerV1.cxx:253
 AliTRDtrackerV1.cxx:254
 AliTRDtrackerV1.cxx:255
 AliTRDtrackerV1.cxx:256
 AliTRDtrackerV1.cxx:257
 AliTRDtrackerV1.cxx:258
 AliTRDtrackerV1.cxx:259
 AliTRDtrackerV1.cxx:260
 AliTRDtrackerV1.cxx:261
 AliTRDtrackerV1.cxx:262
 AliTRDtrackerV1.cxx:263
 AliTRDtrackerV1.cxx:264
 AliTRDtrackerV1.cxx:265
 AliTRDtrackerV1.cxx:266
 AliTRDtrackerV1.cxx:267
 AliTRDtrackerV1.cxx:268
 AliTRDtrackerV1.cxx:269
 AliTRDtrackerV1.cxx:270
 AliTRDtrackerV1.cxx:271
 AliTRDtrackerV1.cxx:272
 AliTRDtrackerV1.cxx:273
 AliTRDtrackerV1.cxx:274
 AliTRDtrackerV1.cxx:275
 AliTRDtrackerV1.cxx:276
 AliTRDtrackerV1.cxx:277
 AliTRDtrackerV1.cxx:278
 AliTRDtrackerV1.cxx:279
 AliTRDtrackerV1.cxx:280
 AliTRDtrackerV1.cxx:281
 AliTRDtrackerV1.cxx:282
 AliTRDtrackerV1.cxx:283
 AliTRDtrackerV1.cxx:284
 AliTRDtrackerV1.cxx:285
 AliTRDtrackerV1.cxx:286
 AliTRDtrackerV1.cxx:287
 AliTRDtrackerV1.cxx:288
 AliTRDtrackerV1.cxx:289
 AliTRDtrackerV1.cxx:290
 AliTRDtrackerV1.cxx:291
 AliTRDtrackerV1.cxx:292
 AliTRDtrackerV1.cxx:293
 AliTRDtrackerV1.cxx:294
 AliTRDtrackerV1.cxx:295
 AliTRDtrackerV1.cxx:296
 AliTRDtrackerV1.cxx:297
 AliTRDtrackerV1.cxx:298
 AliTRDtrackerV1.cxx:299
 AliTRDtrackerV1.cxx:300
 AliTRDtrackerV1.cxx:301
 AliTRDtrackerV1.cxx:302
 AliTRDtrackerV1.cxx:303
 AliTRDtrackerV1.cxx:304
 AliTRDtrackerV1.cxx:305
 AliTRDtrackerV1.cxx:306
 AliTRDtrackerV1.cxx:307
 AliTRDtrackerV1.cxx:308
 AliTRDtrackerV1.cxx:309
 AliTRDtrackerV1.cxx:310
 AliTRDtrackerV1.cxx:311
 AliTRDtrackerV1.cxx:312
 AliTRDtrackerV1.cxx:313
 AliTRDtrackerV1.cxx:314
 AliTRDtrackerV1.cxx:315
 AliTRDtrackerV1.cxx:316
 AliTRDtrackerV1.cxx:317
 AliTRDtrackerV1.cxx:318
 AliTRDtrackerV1.cxx:319
 AliTRDtrackerV1.cxx:320
 AliTRDtrackerV1.cxx:321
 AliTRDtrackerV1.cxx:322
 AliTRDtrackerV1.cxx:323
 AliTRDtrackerV1.cxx:324
 AliTRDtrackerV1.cxx:325
 AliTRDtrackerV1.cxx:326
 AliTRDtrackerV1.cxx:327
 AliTRDtrackerV1.cxx:328
 AliTRDtrackerV1.cxx:329
 AliTRDtrackerV1.cxx:330
 AliTRDtrackerV1.cxx:331
 AliTRDtrackerV1.cxx:332
 AliTRDtrackerV1.cxx:333
 AliTRDtrackerV1.cxx:334
 AliTRDtrackerV1.cxx:335
 AliTRDtrackerV1.cxx:336
 AliTRDtrackerV1.cxx:337
 AliTRDtrackerV1.cxx:338
 AliTRDtrackerV1.cxx:339
 AliTRDtrackerV1.cxx:340
 AliTRDtrackerV1.cxx:341
 AliTRDtrackerV1.cxx:342
 AliTRDtrackerV1.cxx:343
 AliTRDtrackerV1.cxx:344
 AliTRDtrackerV1.cxx:345
 AliTRDtrackerV1.cxx:346
 AliTRDtrackerV1.cxx:347
 AliTRDtrackerV1.cxx:348
 AliTRDtrackerV1.cxx:349
 AliTRDtrackerV1.cxx:350
 AliTRDtrackerV1.cxx:351
 AliTRDtrackerV1.cxx:352
 AliTRDtrackerV1.cxx:353
 AliTRDtrackerV1.cxx:354
 AliTRDtrackerV1.cxx:355
 AliTRDtrackerV1.cxx:356
 AliTRDtrackerV1.cxx:357
 AliTRDtrackerV1.cxx:358
 AliTRDtrackerV1.cxx:359
 AliTRDtrackerV1.cxx:360
 AliTRDtrackerV1.cxx:361
 AliTRDtrackerV1.cxx:362
 AliTRDtrackerV1.cxx:363
 AliTRDtrackerV1.cxx:364
 AliTRDtrackerV1.cxx:365
 AliTRDtrackerV1.cxx:366
 AliTRDtrackerV1.cxx:367
 AliTRDtrackerV1.cxx:368
 AliTRDtrackerV1.cxx:369
 AliTRDtrackerV1.cxx:370
 AliTRDtrackerV1.cxx:371
 AliTRDtrackerV1.cxx:372
 AliTRDtrackerV1.cxx:373
 AliTRDtrackerV1.cxx:374
 AliTRDtrackerV1.cxx:375
 AliTRDtrackerV1.cxx:376
 AliTRDtrackerV1.cxx:377
 AliTRDtrackerV1.cxx:378
 AliTRDtrackerV1.cxx:379
 AliTRDtrackerV1.cxx:380
 AliTRDtrackerV1.cxx:381
 AliTRDtrackerV1.cxx:382
 AliTRDtrackerV1.cxx:383
 AliTRDtrackerV1.cxx:384
 AliTRDtrackerV1.cxx:385
 AliTRDtrackerV1.cxx:386
 AliTRDtrackerV1.cxx:387
 AliTRDtrackerV1.cxx:388
 AliTRDtrackerV1.cxx:389
 AliTRDtrackerV1.cxx:390
 AliTRDtrackerV1.cxx:391
 AliTRDtrackerV1.cxx:392
 AliTRDtrackerV1.cxx:393
 AliTRDtrackerV1.cxx:394
 AliTRDtrackerV1.cxx:395
 AliTRDtrackerV1.cxx:396
 AliTRDtrackerV1.cxx:397
 AliTRDtrackerV1.cxx:398
 AliTRDtrackerV1.cxx:399
 AliTRDtrackerV1.cxx:400
 AliTRDtrackerV1.cxx:401
 AliTRDtrackerV1.cxx:402
 AliTRDtrackerV1.cxx:403
 AliTRDtrackerV1.cxx:404
 AliTRDtrackerV1.cxx:405
 AliTRDtrackerV1.cxx:406
 AliTRDtrackerV1.cxx:407
 AliTRDtrackerV1.cxx:408
 AliTRDtrackerV1.cxx:409
 AliTRDtrackerV1.cxx:410
 AliTRDtrackerV1.cxx:411
 AliTRDtrackerV1.cxx:412
 AliTRDtrackerV1.cxx:413
 AliTRDtrackerV1.cxx:414
 AliTRDtrackerV1.cxx:415
 AliTRDtrackerV1.cxx:416
 AliTRDtrackerV1.cxx:417
 AliTRDtrackerV1.cxx:418
 AliTRDtrackerV1.cxx:419
 AliTRDtrackerV1.cxx:420
 AliTRDtrackerV1.cxx:421
 AliTRDtrackerV1.cxx:422
 AliTRDtrackerV1.cxx:423
 AliTRDtrackerV1.cxx:424
 AliTRDtrackerV1.cxx:425
 AliTRDtrackerV1.cxx:426
 AliTRDtrackerV1.cxx:427
 AliTRDtrackerV1.cxx:428
 AliTRDtrackerV1.cxx:429
 AliTRDtrackerV1.cxx:430
 AliTRDtrackerV1.cxx:431
 AliTRDtrackerV1.cxx:432
 AliTRDtrackerV1.cxx:433
 AliTRDtrackerV1.cxx:434
 AliTRDtrackerV1.cxx:435
 AliTRDtrackerV1.cxx:436
 AliTRDtrackerV1.cxx:437
 AliTRDtrackerV1.cxx:438
 AliTRDtrackerV1.cxx:439
 AliTRDtrackerV1.cxx:440
 AliTRDtrackerV1.cxx:441
 AliTRDtrackerV1.cxx:442
 AliTRDtrackerV1.cxx:443
 AliTRDtrackerV1.cxx:444
 AliTRDtrackerV1.cxx:445
 AliTRDtrackerV1.cxx:446
 AliTRDtrackerV1.cxx:447
 AliTRDtrackerV1.cxx:448
 AliTRDtrackerV1.cxx:449
 AliTRDtrackerV1.cxx:450
 AliTRDtrackerV1.cxx:451
 AliTRDtrackerV1.cxx:452
 AliTRDtrackerV1.cxx:453
 AliTRDtrackerV1.cxx:454
 AliTRDtrackerV1.cxx:455
 AliTRDtrackerV1.cxx:456
 AliTRDtrackerV1.cxx:457
 AliTRDtrackerV1.cxx:458
 AliTRDtrackerV1.cxx:459
 AliTRDtrackerV1.cxx:460
 AliTRDtrackerV1.cxx:461
 AliTRDtrackerV1.cxx:462
 AliTRDtrackerV1.cxx:463
 AliTRDtrackerV1.cxx:464
 AliTRDtrackerV1.cxx:465
 AliTRDtrackerV1.cxx:466
 AliTRDtrackerV1.cxx:467
 AliTRDtrackerV1.cxx:468
 AliTRDtrackerV1.cxx:469
 AliTRDtrackerV1.cxx:470
 AliTRDtrackerV1.cxx:471
 AliTRDtrackerV1.cxx:472
 AliTRDtrackerV1.cxx:473
 AliTRDtrackerV1.cxx:474
 AliTRDtrackerV1.cxx:475
 AliTRDtrackerV1.cxx:476
 AliTRDtrackerV1.cxx:477
 AliTRDtrackerV1.cxx:478
 AliTRDtrackerV1.cxx:479
 AliTRDtrackerV1.cxx:480
 AliTRDtrackerV1.cxx:481
 AliTRDtrackerV1.cxx:482
 AliTRDtrackerV1.cxx:483
 AliTRDtrackerV1.cxx:484
 AliTRDtrackerV1.cxx:485
 AliTRDtrackerV1.cxx:486
 AliTRDtrackerV1.cxx:487
 AliTRDtrackerV1.cxx:488
 AliTRDtrackerV1.cxx:489
 AliTRDtrackerV1.cxx:490
 AliTRDtrackerV1.cxx:491
 AliTRDtrackerV1.cxx:492
 AliTRDtrackerV1.cxx:493
 AliTRDtrackerV1.cxx:494
 AliTRDtrackerV1.cxx:495
 AliTRDtrackerV1.cxx:496
 AliTRDtrackerV1.cxx:497
 AliTRDtrackerV1.cxx:498
 AliTRDtrackerV1.cxx:499
 AliTRDtrackerV1.cxx:500
 AliTRDtrackerV1.cxx:501
 AliTRDtrackerV1.cxx:502
 AliTRDtrackerV1.cxx:503
 AliTRDtrackerV1.cxx:504
 AliTRDtrackerV1.cxx:505
 AliTRDtrackerV1.cxx:506
 AliTRDtrackerV1.cxx:507
 AliTRDtrackerV1.cxx:508
 AliTRDtrackerV1.cxx:509
 AliTRDtrackerV1.cxx:510
 AliTRDtrackerV1.cxx:511
 AliTRDtrackerV1.cxx:512
 AliTRDtrackerV1.cxx:513
 AliTRDtrackerV1.cxx:514
 AliTRDtrackerV1.cxx:515
 AliTRDtrackerV1.cxx:516
 AliTRDtrackerV1.cxx:517
 AliTRDtrackerV1.cxx:518
 AliTRDtrackerV1.cxx:519
 AliTRDtrackerV1.cxx:520
 AliTRDtrackerV1.cxx:521
 AliTRDtrackerV1.cxx:522
 AliTRDtrackerV1.cxx:523
 AliTRDtrackerV1.cxx:524
 AliTRDtrackerV1.cxx:525
 AliTRDtrackerV1.cxx:526
 AliTRDtrackerV1.cxx:527
 AliTRDtrackerV1.cxx:528
 AliTRDtrackerV1.cxx:529
 AliTRDtrackerV1.cxx:530
 AliTRDtrackerV1.cxx:531
 AliTRDtrackerV1.cxx:532
 AliTRDtrackerV1.cxx:533
 AliTRDtrackerV1.cxx:534
 AliTRDtrackerV1.cxx:535
 AliTRDtrackerV1.cxx:536
 AliTRDtrackerV1.cxx:537
 AliTRDtrackerV1.cxx:538
 AliTRDtrackerV1.cxx:539
 AliTRDtrackerV1.cxx:540
 AliTRDtrackerV1.cxx:541
 AliTRDtrackerV1.cxx:542
 AliTRDtrackerV1.cxx:543
 AliTRDtrackerV1.cxx:544
 AliTRDtrackerV1.cxx:545
 AliTRDtrackerV1.cxx:546
 AliTRDtrackerV1.cxx:547
 AliTRDtrackerV1.cxx:548
 AliTRDtrackerV1.cxx:549
 AliTRDtrackerV1.cxx:550
 AliTRDtrackerV1.cxx:551
 AliTRDtrackerV1.cxx:552
 AliTRDtrackerV1.cxx:553
 AliTRDtrackerV1.cxx:554
 AliTRDtrackerV1.cxx:555
 AliTRDtrackerV1.cxx:556
 AliTRDtrackerV1.cxx:557
 AliTRDtrackerV1.cxx:558
 AliTRDtrackerV1.cxx:559
 AliTRDtrackerV1.cxx:560
 AliTRDtrackerV1.cxx:561
 AliTRDtrackerV1.cxx:562
 AliTRDtrackerV1.cxx:563
 AliTRDtrackerV1.cxx:564
 AliTRDtrackerV1.cxx:565
 AliTRDtrackerV1.cxx:566
 AliTRDtrackerV1.cxx:567
 AliTRDtrackerV1.cxx:568
 AliTRDtrackerV1.cxx:569
 AliTRDtrackerV1.cxx:570
 AliTRDtrackerV1.cxx:571
 AliTRDtrackerV1.cxx:572
 AliTRDtrackerV1.cxx:573
 AliTRDtrackerV1.cxx:574
 AliTRDtrackerV1.cxx:575
 AliTRDtrackerV1.cxx:576
 AliTRDtrackerV1.cxx:577
 AliTRDtrackerV1.cxx:578
 AliTRDtrackerV1.cxx:579
 AliTRDtrackerV1.cxx:580
 AliTRDtrackerV1.cxx:581
 AliTRDtrackerV1.cxx:582
 AliTRDtrackerV1.cxx:583
 AliTRDtrackerV1.cxx:584
 AliTRDtrackerV1.cxx:585
 AliTRDtrackerV1.cxx:586
 AliTRDtrackerV1.cxx:587
 AliTRDtrackerV1.cxx:588
 AliTRDtrackerV1.cxx:589
 AliTRDtrackerV1.cxx:590
 AliTRDtrackerV1.cxx:591
 AliTRDtrackerV1.cxx:592
 AliTRDtrackerV1.cxx:593
 AliTRDtrackerV1.cxx:594
 AliTRDtrackerV1.cxx:595
 AliTRDtrackerV1.cxx:596
 AliTRDtrackerV1.cxx:597
 AliTRDtrackerV1.cxx:598
 AliTRDtrackerV1.cxx:599
 AliTRDtrackerV1.cxx:600
 AliTRDtrackerV1.cxx:601
 AliTRDtrackerV1.cxx:602
 AliTRDtrackerV1.cxx:603
 AliTRDtrackerV1.cxx:604
 AliTRDtrackerV1.cxx:605
 AliTRDtrackerV1.cxx:606
 AliTRDtrackerV1.cxx:607
 AliTRDtrackerV1.cxx:608
 AliTRDtrackerV1.cxx:609
 AliTRDtrackerV1.cxx:610
 AliTRDtrackerV1.cxx:611
 AliTRDtrackerV1.cxx:612
 AliTRDtrackerV1.cxx:613
 AliTRDtrackerV1.cxx:614
 AliTRDtrackerV1.cxx:615
 AliTRDtrackerV1.cxx:616
 AliTRDtrackerV1.cxx:617
 AliTRDtrackerV1.cxx:618
 AliTRDtrackerV1.cxx:619
 AliTRDtrackerV1.cxx:620
 AliTRDtrackerV1.cxx:621
 AliTRDtrackerV1.cxx:622
 AliTRDtrackerV1.cxx:623
 AliTRDtrackerV1.cxx:624
 AliTRDtrackerV1.cxx:625
 AliTRDtrackerV1.cxx:626
 AliTRDtrackerV1.cxx:627
 AliTRDtrackerV1.cxx:628
 AliTRDtrackerV1.cxx:629
 AliTRDtrackerV1.cxx:630
 AliTRDtrackerV1.cxx:631
 AliTRDtrackerV1.cxx:632
 AliTRDtrackerV1.cxx:633
 AliTRDtrackerV1.cxx:634
 AliTRDtrackerV1.cxx:635
 AliTRDtrackerV1.cxx:636
 AliTRDtrackerV1.cxx:637
 AliTRDtrackerV1.cxx:638
 AliTRDtrackerV1.cxx:639
 AliTRDtrackerV1.cxx:640
 AliTRDtrackerV1.cxx:641
 AliTRDtrackerV1.cxx:642
 AliTRDtrackerV1.cxx:643
 AliTRDtrackerV1.cxx:644
 AliTRDtrackerV1.cxx:645
 AliTRDtrackerV1.cxx:646
 AliTRDtrackerV1.cxx:647
 AliTRDtrackerV1.cxx:648
 AliTRDtrackerV1.cxx:649
 AliTRDtrackerV1.cxx:650
 AliTRDtrackerV1.cxx:651
 AliTRDtrackerV1.cxx:652
 AliTRDtrackerV1.cxx:653
 AliTRDtrackerV1.cxx:654
 AliTRDtrackerV1.cxx:655
 AliTRDtrackerV1.cxx:656
 AliTRDtrackerV1.cxx:657
 AliTRDtrackerV1.cxx:658
 AliTRDtrackerV1.cxx:659
 AliTRDtrackerV1.cxx:660
 AliTRDtrackerV1.cxx:661
 AliTRDtrackerV1.cxx:662
 AliTRDtrackerV1.cxx:663
 AliTRDtrackerV1.cxx:664
 AliTRDtrackerV1.cxx:665
 AliTRDtrackerV1.cxx:666
 AliTRDtrackerV1.cxx:667
 AliTRDtrackerV1.cxx:668
 AliTRDtrackerV1.cxx:669
 AliTRDtrackerV1.cxx:670
 AliTRDtrackerV1.cxx:671
 AliTRDtrackerV1.cxx:672
 AliTRDtrackerV1.cxx:673
 AliTRDtrackerV1.cxx:674
 AliTRDtrackerV1.cxx:675
 AliTRDtrackerV1.cxx:676
 AliTRDtrackerV1.cxx:677
 AliTRDtrackerV1.cxx:678
 AliTRDtrackerV1.cxx:679
 AliTRDtrackerV1.cxx:680
 AliTRDtrackerV1.cxx:681
 AliTRDtrackerV1.cxx:682
 AliTRDtrackerV1.cxx:683
 AliTRDtrackerV1.cxx:684
 AliTRDtrackerV1.cxx:685
 AliTRDtrackerV1.cxx:686
 AliTRDtrackerV1.cxx:687
 AliTRDtrackerV1.cxx:688
 AliTRDtrackerV1.cxx:689
 AliTRDtrackerV1.cxx:690
 AliTRDtrackerV1.cxx:691
 AliTRDtrackerV1.cxx:692
 AliTRDtrackerV1.cxx:693
 AliTRDtrackerV1.cxx:694
 AliTRDtrackerV1.cxx:695
 AliTRDtrackerV1.cxx:696
 AliTRDtrackerV1.cxx:697
 AliTRDtrackerV1.cxx:698
 AliTRDtrackerV1.cxx:699
 AliTRDtrackerV1.cxx:700
 AliTRDtrackerV1.cxx:701
 AliTRDtrackerV1.cxx:702
 AliTRDtrackerV1.cxx:703
 AliTRDtrackerV1.cxx:704
 AliTRDtrackerV1.cxx:705
 AliTRDtrackerV1.cxx:706
 AliTRDtrackerV1.cxx:707
 AliTRDtrackerV1.cxx:708
 AliTRDtrackerV1.cxx:709
 AliTRDtrackerV1.cxx:710
 AliTRDtrackerV1.cxx:711
 AliTRDtrackerV1.cxx:712
 AliTRDtrackerV1.cxx:713
 AliTRDtrackerV1.cxx:714
 AliTRDtrackerV1.cxx:715
 AliTRDtrackerV1.cxx:716
 AliTRDtrackerV1.cxx:717
 AliTRDtrackerV1.cxx:718
 AliTRDtrackerV1.cxx:719
 AliTRDtrackerV1.cxx:720
 AliTRDtrackerV1.cxx:721
 AliTRDtrackerV1.cxx:722
 AliTRDtrackerV1.cxx:723
 AliTRDtrackerV1.cxx:724
 AliTRDtrackerV1.cxx:725
 AliTRDtrackerV1.cxx:726
 AliTRDtrackerV1.cxx:727
 AliTRDtrackerV1.cxx:728
 AliTRDtrackerV1.cxx:729
 AliTRDtrackerV1.cxx:730
 AliTRDtrackerV1.cxx:731
 AliTRDtrackerV1.cxx:732
 AliTRDtrackerV1.cxx:733
 AliTRDtrackerV1.cxx:734
 AliTRDtrackerV1.cxx:735
 AliTRDtrackerV1.cxx:736
 AliTRDtrackerV1.cxx:737
 AliTRDtrackerV1.cxx:738
 AliTRDtrackerV1.cxx:739
 AliTRDtrackerV1.cxx:740
 AliTRDtrackerV1.cxx:741
 AliTRDtrackerV1.cxx:742
 AliTRDtrackerV1.cxx:743
 AliTRDtrackerV1.cxx:744
 AliTRDtrackerV1.cxx:745
 AliTRDtrackerV1.cxx:746
 AliTRDtrackerV1.cxx:747
 AliTRDtrackerV1.cxx:748
 AliTRDtrackerV1.cxx:749
 AliTRDtrackerV1.cxx:750
 AliTRDtrackerV1.cxx:751
 AliTRDtrackerV1.cxx:752
 AliTRDtrackerV1.cxx:753
 AliTRDtrackerV1.cxx:754
 AliTRDtrackerV1.cxx:755
 AliTRDtrackerV1.cxx:756
 AliTRDtrackerV1.cxx:757
 AliTRDtrackerV1.cxx:758
 AliTRDtrackerV1.cxx:759
 AliTRDtrackerV1.cxx:760
 AliTRDtrackerV1.cxx:761
 AliTRDtrackerV1.cxx:762
 AliTRDtrackerV1.cxx:763
 AliTRDtrackerV1.cxx:764
 AliTRDtrackerV1.cxx:765
 AliTRDtrackerV1.cxx:766
 AliTRDtrackerV1.cxx:767
 AliTRDtrackerV1.cxx:768
 AliTRDtrackerV1.cxx:769
 AliTRDtrackerV1.cxx:770
 AliTRDtrackerV1.cxx:771
 AliTRDtrackerV1.cxx:772
 AliTRDtrackerV1.cxx:773
 AliTRDtrackerV1.cxx:774
 AliTRDtrackerV1.cxx:775
 AliTRDtrackerV1.cxx:776
 AliTRDtrackerV1.cxx:777
 AliTRDtrackerV1.cxx:778
 AliTRDtrackerV1.cxx:779
 AliTRDtrackerV1.cxx:780
 AliTRDtrackerV1.cxx:781
 AliTRDtrackerV1.cxx:782
 AliTRDtrackerV1.cxx:783
 AliTRDtrackerV1.cxx:784
 AliTRDtrackerV1.cxx:785
 AliTRDtrackerV1.cxx:786
 AliTRDtrackerV1.cxx:787
 AliTRDtrackerV1.cxx:788
 AliTRDtrackerV1.cxx:789
 AliTRDtrackerV1.cxx:790
 AliTRDtrackerV1.cxx:791
 AliTRDtrackerV1.cxx:792
 AliTRDtrackerV1.cxx:793
 AliTRDtrackerV1.cxx:794
 AliTRDtrackerV1.cxx:795
 AliTRDtrackerV1.cxx:796
 AliTRDtrackerV1.cxx:797
 AliTRDtrackerV1.cxx:798
 AliTRDtrackerV1.cxx:799
 AliTRDtrackerV1.cxx:800
 AliTRDtrackerV1.cxx:801
 AliTRDtrackerV1.cxx:802
 AliTRDtrackerV1.cxx:803
 AliTRDtrackerV1.cxx:804
 AliTRDtrackerV1.cxx:805
 AliTRDtrackerV1.cxx:806
 AliTRDtrackerV1.cxx:807
 AliTRDtrackerV1.cxx:808
 AliTRDtrackerV1.cxx:809
 AliTRDtrackerV1.cxx:810
 AliTRDtrackerV1.cxx:811
 AliTRDtrackerV1.cxx:812
 AliTRDtrackerV1.cxx:813
 AliTRDtrackerV1.cxx:814
 AliTRDtrackerV1.cxx:815
 AliTRDtrackerV1.cxx:816
 AliTRDtrackerV1.cxx:817
 AliTRDtrackerV1.cxx:818
 AliTRDtrackerV1.cxx:819
 AliTRDtrackerV1.cxx:820
 AliTRDtrackerV1.cxx:821
 AliTRDtrackerV1.cxx:822
 AliTRDtrackerV1.cxx:823
 AliTRDtrackerV1.cxx:824
 AliTRDtrackerV1.cxx:825
 AliTRDtrackerV1.cxx:826
 AliTRDtrackerV1.cxx:827
 AliTRDtrackerV1.cxx:828
 AliTRDtrackerV1.cxx:829
 AliTRDtrackerV1.cxx:830
 AliTRDtrackerV1.cxx:831
 AliTRDtrackerV1.cxx:832
 AliTRDtrackerV1.cxx:833
 AliTRDtrackerV1.cxx:834
 AliTRDtrackerV1.cxx:835
 AliTRDtrackerV1.cxx:836
 AliTRDtrackerV1.cxx:837
 AliTRDtrackerV1.cxx:838
 AliTRDtrackerV1.cxx:839
 AliTRDtrackerV1.cxx:840
 AliTRDtrackerV1.cxx:841
 AliTRDtrackerV1.cxx:842
 AliTRDtrackerV1.cxx:843
 AliTRDtrackerV1.cxx:844
 AliTRDtrackerV1.cxx:845
 AliTRDtrackerV1.cxx:846
 AliTRDtrackerV1.cxx:847
 AliTRDtrackerV1.cxx:848
 AliTRDtrackerV1.cxx:849
 AliTRDtrackerV1.cxx:850
 AliTRDtrackerV1.cxx:851
 AliTRDtrackerV1.cxx:852
 AliTRDtrackerV1.cxx:853
 AliTRDtrackerV1.cxx:854
 AliTRDtrackerV1.cxx:855
 AliTRDtrackerV1.cxx:856
 AliTRDtrackerV1.cxx:857
 AliTRDtrackerV1.cxx:858
 AliTRDtrackerV1.cxx:859
 AliTRDtrackerV1.cxx:860
 AliTRDtrackerV1.cxx:861
 AliTRDtrackerV1.cxx:862
 AliTRDtrackerV1.cxx:863
 AliTRDtrackerV1.cxx:864
 AliTRDtrackerV1.cxx:865
 AliTRDtrackerV1.cxx:866
 AliTRDtrackerV1.cxx:867
 AliTRDtrackerV1.cxx:868
 AliTRDtrackerV1.cxx:869
 AliTRDtrackerV1.cxx:870
 AliTRDtrackerV1.cxx:871
 AliTRDtrackerV1.cxx:872
 AliTRDtrackerV1.cxx:873
 AliTRDtrackerV1.cxx:874
 AliTRDtrackerV1.cxx:875
 AliTRDtrackerV1.cxx:876
 AliTRDtrackerV1.cxx:877
 AliTRDtrackerV1.cxx:878
 AliTRDtrackerV1.cxx:879
 AliTRDtrackerV1.cxx:880
 AliTRDtrackerV1.cxx:881
 AliTRDtrackerV1.cxx:882
 AliTRDtrackerV1.cxx:883
 AliTRDtrackerV1.cxx:884
 AliTRDtrackerV1.cxx:885
 AliTRDtrackerV1.cxx:886
 AliTRDtrackerV1.cxx:887
 AliTRDtrackerV1.cxx:888
 AliTRDtrackerV1.cxx:889
 AliTRDtrackerV1.cxx:890
 AliTRDtrackerV1.cxx:891
 AliTRDtrackerV1.cxx:892
 AliTRDtrackerV1.cxx:893
 AliTRDtrackerV1.cxx:894
 AliTRDtrackerV1.cxx:895
 AliTRDtrackerV1.cxx:896
 AliTRDtrackerV1.cxx:897
 AliTRDtrackerV1.cxx:898
 AliTRDtrackerV1.cxx:899
 AliTRDtrackerV1.cxx:900
 AliTRDtrackerV1.cxx:901
 AliTRDtrackerV1.cxx:902
 AliTRDtrackerV1.cxx:903
 AliTRDtrackerV1.cxx:904
 AliTRDtrackerV1.cxx:905
 AliTRDtrackerV1.cxx:906
 AliTRDtrackerV1.cxx:907
 AliTRDtrackerV1.cxx:908
 AliTRDtrackerV1.cxx:909
 AliTRDtrackerV1.cxx:910
 AliTRDtrackerV1.cxx:911
 AliTRDtrackerV1.cxx:912
 AliTRDtrackerV1.cxx:913
 AliTRDtrackerV1.cxx:914
 AliTRDtrackerV1.cxx:915
 AliTRDtrackerV1.cxx:916
 AliTRDtrackerV1.cxx:917
 AliTRDtrackerV1.cxx:918
 AliTRDtrackerV1.cxx:919
 AliTRDtrackerV1.cxx:920
 AliTRDtrackerV1.cxx:921
 AliTRDtrackerV1.cxx:922
 AliTRDtrackerV1.cxx:923
 AliTRDtrackerV1.cxx:924
 AliTRDtrackerV1.cxx:925
 AliTRDtrackerV1.cxx:926
 AliTRDtrackerV1.cxx:927
 AliTRDtrackerV1.cxx:928
 AliTRDtrackerV1.cxx:929
 AliTRDtrackerV1.cxx:930
 AliTRDtrackerV1.cxx:931
 AliTRDtrackerV1.cxx:932
 AliTRDtrackerV1.cxx:933
 AliTRDtrackerV1.cxx:934
 AliTRDtrackerV1.cxx:935
 AliTRDtrackerV1.cxx:936
 AliTRDtrackerV1.cxx:937
 AliTRDtrackerV1.cxx:938
 AliTRDtrackerV1.cxx:939
 AliTRDtrackerV1.cxx:940
 AliTRDtrackerV1.cxx:941
 AliTRDtrackerV1.cxx:942
 AliTRDtrackerV1.cxx:943
 AliTRDtrackerV1.cxx:944
 AliTRDtrackerV1.cxx:945
 AliTRDtrackerV1.cxx:946
 AliTRDtrackerV1.cxx:947
 AliTRDtrackerV1.cxx:948
 AliTRDtrackerV1.cxx:949
 AliTRDtrackerV1.cxx:950
 AliTRDtrackerV1.cxx:951
 AliTRDtrackerV1.cxx:952
 AliTRDtrackerV1.cxx:953
 AliTRDtrackerV1.cxx:954
 AliTRDtrackerV1.cxx:955
 AliTRDtrackerV1.cxx:956
 AliTRDtrackerV1.cxx:957
 AliTRDtrackerV1.cxx:958
 AliTRDtrackerV1.cxx:959
 AliTRDtrackerV1.cxx:960
 AliTRDtrackerV1.cxx:961
 AliTRDtrackerV1.cxx:962
 AliTRDtrackerV1.cxx:963
 AliTRDtrackerV1.cxx:964
 AliTRDtrackerV1.cxx:965
 AliTRDtrackerV1.cxx:966
 AliTRDtrackerV1.cxx:967
 AliTRDtrackerV1.cxx:968
 AliTRDtrackerV1.cxx:969
 AliTRDtrackerV1.cxx:970
 AliTRDtrackerV1.cxx:971
 AliTRDtrackerV1.cxx:972
 AliTRDtrackerV1.cxx:973
 AliTRDtrackerV1.cxx:974
 AliTRDtrackerV1.cxx:975
 AliTRDtrackerV1.cxx:976
 AliTRDtrackerV1.cxx:977
 AliTRDtrackerV1.cxx:978
 AliTRDtrackerV1.cxx:979
 AliTRDtrackerV1.cxx:980
 AliTRDtrackerV1.cxx:981
 AliTRDtrackerV1.cxx:982
 AliTRDtrackerV1.cxx:983
 AliTRDtrackerV1.cxx:984
 AliTRDtrackerV1.cxx:985
 AliTRDtrackerV1.cxx:986
 AliTRDtrackerV1.cxx:987
 AliTRDtrackerV1.cxx:988
 AliTRDtrackerV1.cxx:989
 AliTRDtrackerV1.cxx:990
 AliTRDtrackerV1.cxx:991
 AliTRDtrackerV1.cxx:992
 AliTRDtrackerV1.cxx:993
 AliTRDtrackerV1.cxx:994
 AliTRDtrackerV1.cxx:995
 AliTRDtrackerV1.cxx:996
 AliTRDtrackerV1.cxx:997
 AliTRDtrackerV1.cxx:998
 AliTRDtrackerV1.cxx:999
 AliTRDtrackerV1.cxx:1000
 AliTRDtrackerV1.cxx:1001
 AliTRDtrackerV1.cxx:1002
 AliTRDtrackerV1.cxx:1003
 AliTRDtrackerV1.cxx:1004
 AliTRDtrackerV1.cxx:1005
 AliTRDtrackerV1.cxx:1006
 AliTRDtrackerV1.cxx:1007
 AliTRDtrackerV1.cxx:1008
 AliTRDtrackerV1.cxx:1009
 AliTRDtrackerV1.cxx:1010
 AliTRDtrackerV1.cxx:1011
 AliTRDtrackerV1.cxx:1012
 AliTRDtrackerV1.cxx:1013
 AliTRDtrackerV1.cxx:1014
 AliTRDtrackerV1.cxx:1015
 AliTRDtrackerV1.cxx:1016
 AliTRDtrackerV1.cxx:1017
 AliTRDtrackerV1.cxx:1018
 AliTRDtrackerV1.cxx:1019
 AliTRDtrackerV1.cxx:1020
 AliTRDtrackerV1.cxx:1021
 AliTRDtrackerV1.cxx:1022
 AliTRDtrackerV1.cxx:1023
 AliTRDtrackerV1.cxx:1024
 AliTRDtrackerV1.cxx:1025
 AliTRDtrackerV1.cxx:1026
 AliTRDtrackerV1.cxx:1027
 AliTRDtrackerV1.cxx:1028
 AliTRDtrackerV1.cxx:1029
 AliTRDtrackerV1.cxx:1030
 AliTRDtrackerV1.cxx:1031
 AliTRDtrackerV1.cxx:1032
 AliTRDtrackerV1.cxx:1033
 AliTRDtrackerV1.cxx:1034
 AliTRDtrackerV1.cxx:1035
 AliTRDtrackerV1.cxx:1036
 AliTRDtrackerV1.cxx:1037
 AliTRDtrackerV1.cxx:1038
 AliTRDtrackerV1.cxx:1039
 AliTRDtrackerV1.cxx:1040
 AliTRDtrackerV1.cxx:1041
 AliTRDtrackerV1.cxx:1042
 AliTRDtrackerV1.cxx:1043
 AliTRDtrackerV1.cxx:1044
 AliTRDtrackerV1.cxx:1045
 AliTRDtrackerV1.cxx:1046
 AliTRDtrackerV1.cxx:1047
 AliTRDtrackerV1.cxx:1048
 AliTRDtrackerV1.cxx:1049
 AliTRDtrackerV1.cxx:1050
 AliTRDtrackerV1.cxx:1051
 AliTRDtrackerV1.cxx:1052
 AliTRDtrackerV1.cxx:1053
 AliTRDtrackerV1.cxx:1054
 AliTRDtrackerV1.cxx:1055
 AliTRDtrackerV1.cxx:1056
 AliTRDtrackerV1.cxx:1057
 AliTRDtrackerV1.cxx:1058
 AliTRDtrackerV1.cxx:1059
 AliTRDtrackerV1.cxx:1060
 AliTRDtrackerV1.cxx:1061
 AliTRDtrackerV1.cxx:1062
 AliTRDtrackerV1.cxx:1063
 AliTRDtrackerV1.cxx:1064
 AliTRDtrackerV1.cxx:1065
 AliTRDtrackerV1.cxx:1066
 AliTRDtrackerV1.cxx:1067
 AliTRDtrackerV1.cxx:1068
 AliTRDtrackerV1.cxx:1069
 AliTRDtrackerV1.cxx:1070
 AliTRDtrackerV1.cxx:1071
 AliTRDtrackerV1.cxx:1072
 AliTRDtrackerV1.cxx:1073
 AliTRDtrackerV1.cxx:1074
 AliTRDtrackerV1.cxx:1075
 AliTRDtrackerV1.cxx:1076
 AliTRDtrackerV1.cxx:1077
 AliTRDtrackerV1.cxx:1078
 AliTRDtrackerV1.cxx:1079
 AliTRDtrackerV1.cxx:1080
 AliTRDtrackerV1.cxx:1081
 AliTRDtrackerV1.cxx:1082
 AliTRDtrackerV1.cxx:1083
 AliTRDtrackerV1.cxx:1084
 AliTRDtrackerV1.cxx:1085
 AliTRDtrackerV1.cxx:1086
 AliTRDtrackerV1.cxx:1087
 AliTRDtrackerV1.cxx:1088
 AliTRDtrackerV1.cxx:1089
 AliTRDtrackerV1.cxx:1090
 AliTRDtrackerV1.cxx:1091
 AliTRDtrackerV1.cxx:1092
 AliTRDtrackerV1.cxx:1093
 AliTRDtrackerV1.cxx:1094
 AliTRDtrackerV1.cxx:1095
 AliTRDtrackerV1.cxx:1096
 AliTRDtrackerV1.cxx:1097
 AliTRDtrackerV1.cxx:1098
 AliTRDtrackerV1.cxx:1099
 AliTRDtrackerV1.cxx:1100
 AliTRDtrackerV1.cxx:1101
 AliTRDtrackerV1.cxx:1102
 AliTRDtrackerV1.cxx:1103
 AliTRDtrackerV1.cxx:1104
 AliTRDtrackerV1.cxx:1105
 AliTRDtrackerV1.cxx:1106
 AliTRDtrackerV1.cxx:1107
 AliTRDtrackerV1.cxx:1108
 AliTRDtrackerV1.cxx:1109
 AliTRDtrackerV1.cxx:1110
 AliTRDtrackerV1.cxx:1111
 AliTRDtrackerV1.cxx:1112
 AliTRDtrackerV1.cxx:1113
 AliTRDtrackerV1.cxx:1114
 AliTRDtrackerV1.cxx:1115
 AliTRDtrackerV1.cxx:1116
 AliTRDtrackerV1.cxx:1117
 AliTRDtrackerV1.cxx:1118
 AliTRDtrackerV1.cxx:1119
 AliTRDtrackerV1.cxx:1120
 AliTRDtrackerV1.cxx:1121
 AliTRDtrackerV1.cxx:1122
 AliTRDtrackerV1.cxx:1123
 AliTRDtrackerV1.cxx:1124
 AliTRDtrackerV1.cxx:1125
 AliTRDtrackerV1.cxx:1126
 AliTRDtrackerV1.cxx:1127
 AliTRDtrackerV1.cxx:1128
 AliTRDtrackerV1.cxx:1129
 AliTRDtrackerV1.cxx:1130
 AliTRDtrackerV1.cxx:1131
 AliTRDtrackerV1.cxx:1132
 AliTRDtrackerV1.cxx:1133
 AliTRDtrackerV1.cxx:1134
 AliTRDtrackerV1.cxx:1135
 AliTRDtrackerV1.cxx:1136
 AliTRDtrackerV1.cxx:1137
 AliTRDtrackerV1.cxx:1138
 AliTRDtrackerV1.cxx:1139
 AliTRDtrackerV1.cxx:1140
 AliTRDtrackerV1.cxx:1141
 AliTRDtrackerV1.cxx:1142
 AliTRDtrackerV1.cxx:1143
 AliTRDtrackerV1.cxx:1144
 AliTRDtrackerV1.cxx:1145
 AliTRDtrackerV1.cxx:1146
 AliTRDtrackerV1.cxx:1147
 AliTRDtrackerV1.cxx:1148
 AliTRDtrackerV1.cxx:1149
 AliTRDtrackerV1.cxx:1150
 AliTRDtrackerV1.cxx:1151
 AliTRDtrackerV1.cxx:1152
 AliTRDtrackerV1.cxx:1153
 AliTRDtrackerV1.cxx:1154
 AliTRDtrackerV1.cxx:1155
 AliTRDtrackerV1.cxx:1156
 AliTRDtrackerV1.cxx:1157
 AliTRDtrackerV1.cxx:1158
 AliTRDtrackerV1.cxx:1159
 AliTRDtrackerV1.cxx:1160
 AliTRDtrackerV1.cxx:1161
 AliTRDtrackerV1.cxx:1162
 AliTRDtrackerV1.cxx:1163
 AliTRDtrackerV1.cxx:1164
 AliTRDtrackerV1.cxx:1165
 AliTRDtrackerV1.cxx:1166
 AliTRDtrackerV1.cxx:1167
 AliTRDtrackerV1.cxx:1168
 AliTRDtrackerV1.cxx:1169
 AliTRDtrackerV1.cxx:1170
 AliTRDtrackerV1.cxx:1171
 AliTRDtrackerV1.cxx:1172
 AliTRDtrackerV1.cxx:1173
 AliTRDtrackerV1.cxx:1174
 AliTRDtrackerV1.cxx:1175
 AliTRDtrackerV1.cxx:1176
 AliTRDtrackerV1.cxx:1177
 AliTRDtrackerV1.cxx:1178
 AliTRDtrackerV1.cxx:1179
 AliTRDtrackerV1.cxx:1180
 AliTRDtrackerV1.cxx:1181
 AliTRDtrackerV1.cxx:1182
 AliTRDtrackerV1.cxx:1183
 AliTRDtrackerV1.cxx:1184
 AliTRDtrackerV1.cxx:1185
 AliTRDtrackerV1.cxx:1186
 AliTRDtrackerV1.cxx:1187
 AliTRDtrackerV1.cxx:1188
 AliTRDtrackerV1.cxx:1189
 AliTRDtrackerV1.cxx:1190
 AliTRDtrackerV1.cxx:1191
 AliTRDtrackerV1.cxx:1192
 AliTRDtrackerV1.cxx:1193
 AliTRDtrackerV1.cxx:1194
 AliTRDtrackerV1.cxx:1195
 AliTRDtrackerV1.cxx:1196
 AliTRDtrackerV1.cxx:1197
 AliTRDtrackerV1.cxx:1198
 AliTRDtrackerV1.cxx:1199
 AliTRDtrackerV1.cxx:1200
 AliTRDtrackerV1.cxx:1201
 AliTRDtrackerV1.cxx:1202
 AliTRDtrackerV1.cxx:1203
 AliTRDtrackerV1.cxx:1204
 AliTRDtrackerV1.cxx:1205
 AliTRDtrackerV1.cxx:1206
 AliTRDtrackerV1.cxx:1207
 AliTRDtrackerV1.cxx:1208
 AliTRDtrackerV1.cxx:1209
 AliTRDtrackerV1.cxx:1210
 AliTRDtrackerV1.cxx:1211
 AliTRDtrackerV1.cxx:1212
 AliTRDtrackerV1.cxx:1213
 AliTRDtrackerV1.cxx:1214
 AliTRDtrackerV1.cxx:1215
 AliTRDtrackerV1.cxx:1216
 AliTRDtrackerV1.cxx:1217
 AliTRDtrackerV1.cxx:1218
 AliTRDtrackerV1.cxx:1219
 AliTRDtrackerV1.cxx:1220
 AliTRDtrackerV1.cxx:1221
 AliTRDtrackerV1.cxx:1222
 AliTRDtrackerV1.cxx:1223
 AliTRDtrackerV1.cxx:1224
 AliTRDtrackerV1.cxx:1225
 AliTRDtrackerV1.cxx:1226
 AliTRDtrackerV1.cxx:1227
 AliTRDtrackerV1.cxx:1228
 AliTRDtrackerV1.cxx:1229
 AliTRDtrackerV1.cxx:1230
 AliTRDtrackerV1.cxx:1231
 AliTRDtrackerV1.cxx:1232
 AliTRDtrackerV1.cxx:1233
 AliTRDtrackerV1.cxx:1234
 AliTRDtrackerV1.cxx:1235
 AliTRDtrackerV1.cxx:1236
 AliTRDtrackerV1.cxx:1237
 AliTRDtrackerV1.cxx:1238
 AliTRDtrackerV1.cxx:1239
 AliTRDtrackerV1.cxx:1240
 AliTRDtrackerV1.cxx:1241
 AliTRDtrackerV1.cxx:1242
 AliTRDtrackerV1.cxx:1243
 AliTRDtrackerV1.cxx:1244
 AliTRDtrackerV1.cxx:1245
 AliTRDtrackerV1.cxx:1246
 AliTRDtrackerV1.cxx:1247
 AliTRDtrackerV1.cxx:1248
 AliTRDtrackerV1.cxx:1249
 AliTRDtrackerV1.cxx:1250
 AliTRDtrackerV1.cxx:1251
 AliTRDtrackerV1.cxx:1252
 AliTRDtrackerV1.cxx:1253
 AliTRDtrackerV1.cxx:1254
 AliTRDtrackerV1.cxx:1255
 AliTRDtrackerV1.cxx:1256
 AliTRDtrackerV1.cxx:1257
 AliTRDtrackerV1.cxx:1258
 AliTRDtrackerV1.cxx:1259
 AliTRDtrackerV1.cxx:1260
 AliTRDtrackerV1.cxx:1261
 AliTRDtrackerV1.cxx:1262
 AliTRDtrackerV1.cxx:1263
 AliTRDtrackerV1.cxx:1264
 AliTRDtrackerV1.cxx:1265
 AliTRDtrackerV1.cxx:1266
 AliTRDtrackerV1.cxx:1267
 AliTRDtrackerV1.cxx:1268
 AliTRDtrackerV1.cxx:1269
 AliTRDtrackerV1.cxx:1270
 AliTRDtrackerV1.cxx:1271
 AliTRDtrackerV1.cxx:1272
 AliTRDtrackerV1.cxx:1273
 AliTRDtrackerV1.cxx:1274
 AliTRDtrackerV1.cxx:1275
 AliTRDtrackerV1.cxx:1276
 AliTRDtrackerV1.cxx:1277
 AliTRDtrackerV1.cxx:1278
 AliTRDtrackerV1.cxx:1279
 AliTRDtrackerV1.cxx:1280
 AliTRDtrackerV1.cxx:1281
 AliTRDtrackerV1.cxx:1282
 AliTRDtrackerV1.cxx:1283
 AliTRDtrackerV1.cxx:1284
 AliTRDtrackerV1.cxx:1285
 AliTRDtrackerV1.cxx:1286
 AliTRDtrackerV1.cxx:1287
 AliTRDtrackerV1.cxx:1288
 AliTRDtrackerV1.cxx:1289
 AliTRDtrackerV1.cxx:1290
 AliTRDtrackerV1.cxx:1291
 AliTRDtrackerV1.cxx:1292
 AliTRDtrackerV1.cxx:1293
 AliTRDtrackerV1.cxx:1294
 AliTRDtrackerV1.cxx:1295
 AliTRDtrackerV1.cxx:1296
 AliTRDtrackerV1.cxx:1297
 AliTRDtrackerV1.cxx:1298
 AliTRDtrackerV1.cxx:1299
 AliTRDtrackerV1.cxx:1300
 AliTRDtrackerV1.cxx:1301
 AliTRDtrackerV1.cxx:1302
 AliTRDtrackerV1.cxx:1303
 AliTRDtrackerV1.cxx:1304
 AliTRDtrackerV1.cxx:1305
 AliTRDtrackerV1.cxx:1306
 AliTRDtrackerV1.cxx:1307
 AliTRDtrackerV1.cxx:1308
 AliTRDtrackerV1.cxx:1309
 AliTRDtrackerV1.cxx:1310
 AliTRDtrackerV1.cxx:1311
 AliTRDtrackerV1.cxx:1312
 AliTRDtrackerV1.cxx:1313
 AliTRDtrackerV1.cxx:1314
 AliTRDtrackerV1.cxx:1315
 AliTRDtrackerV1.cxx:1316
 AliTRDtrackerV1.cxx:1317
 AliTRDtrackerV1.cxx:1318
 AliTRDtrackerV1.cxx:1319
 AliTRDtrackerV1.cxx:1320
 AliTRDtrackerV1.cxx:1321
 AliTRDtrackerV1.cxx:1322
 AliTRDtrackerV1.cxx:1323
 AliTRDtrackerV1.cxx:1324
 AliTRDtrackerV1.cxx:1325
 AliTRDtrackerV1.cxx:1326
 AliTRDtrackerV1.cxx:1327
 AliTRDtrackerV1.cxx:1328
 AliTRDtrackerV1.cxx:1329
 AliTRDtrackerV1.cxx:1330
 AliTRDtrackerV1.cxx:1331
 AliTRDtrackerV1.cxx:1332
 AliTRDtrackerV1.cxx:1333
 AliTRDtrackerV1.cxx:1334
 AliTRDtrackerV1.cxx:1335
 AliTRDtrackerV1.cxx:1336
 AliTRDtrackerV1.cxx:1337
 AliTRDtrackerV1.cxx:1338
 AliTRDtrackerV1.cxx:1339
 AliTRDtrackerV1.cxx:1340
 AliTRDtrackerV1.cxx:1341
 AliTRDtrackerV1.cxx:1342
 AliTRDtrackerV1.cxx:1343
 AliTRDtrackerV1.cxx:1344
 AliTRDtrackerV1.cxx:1345
 AliTRDtrackerV1.cxx:1346
 AliTRDtrackerV1.cxx:1347
 AliTRDtrackerV1.cxx:1348
 AliTRDtrackerV1.cxx:1349
 AliTRDtrackerV1.cxx:1350
 AliTRDtrackerV1.cxx:1351
 AliTRDtrackerV1.cxx:1352
 AliTRDtrackerV1.cxx:1353
 AliTRDtrackerV1.cxx:1354
 AliTRDtrackerV1.cxx:1355
 AliTRDtrackerV1.cxx:1356
 AliTRDtrackerV1.cxx:1357
 AliTRDtrackerV1.cxx:1358
 AliTRDtrackerV1.cxx:1359
 AliTRDtrackerV1.cxx:1360
 AliTRDtrackerV1.cxx:1361
 AliTRDtrackerV1.cxx:1362
 AliTRDtrackerV1.cxx:1363
 AliTRDtrackerV1.cxx:1364
 AliTRDtrackerV1.cxx:1365
 AliTRDtrackerV1.cxx:1366
 AliTRDtrackerV1.cxx:1367
 AliTRDtrackerV1.cxx:1368
 AliTRDtrackerV1.cxx:1369
 AliTRDtrackerV1.cxx:1370
 AliTRDtrackerV1.cxx:1371
 AliTRDtrackerV1.cxx:1372
 AliTRDtrackerV1.cxx:1373
 AliTRDtrackerV1.cxx:1374
 AliTRDtrackerV1.cxx:1375
 AliTRDtrackerV1.cxx:1376
 AliTRDtrackerV1.cxx:1377
 AliTRDtrackerV1.cxx:1378
 AliTRDtrackerV1.cxx:1379
 AliTRDtrackerV1.cxx:1380
 AliTRDtrackerV1.cxx:1381
 AliTRDtrackerV1.cxx:1382
 AliTRDtrackerV1.cxx:1383
 AliTRDtrackerV1.cxx:1384
 AliTRDtrackerV1.cxx:1385
 AliTRDtrackerV1.cxx:1386
 AliTRDtrackerV1.cxx:1387
 AliTRDtrackerV1.cxx:1388
 AliTRDtrackerV1.cxx:1389
 AliTRDtrackerV1.cxx:1390
 AliTRDtrackerV1.cxx:1391
 AliTRDtrackerV1.cxx:1392
 AliTRDtrackerV1.cxx:1393
 AliTRDtrackerV1.cxx:1394
 AliTRDtrackerV1.cxx:1395
 AliTRDtrackerV1.cxx:1396
 AliTRDtrackerV1.cxx:1397
 AliTRDtrackerV1.cxx:1398
 AliTRDtrackerV1.cxx:1399
 AliTRDtrackerV1.cxx:1400
 AliTRDtrackerV1.cxx:1401
 AliTRDtrackerV1.cxx:1402
 AliTRDtrackerV1.cxx:1403
 AliTRDtrackerV1.cxx:1404
 AliTRDtrackerV1.cxx:1405
 AliTRDtrackerV1.cxx:1406
 AliTRDtrackerV1.cxx:1407
 AliTRDtrackerV1.cxx:1408
 AliTRDtrackerV1.cxx:1409
 AliTRDtrackerV1.cxx:1410
 AliTRDtrackerV1.cxx:1411
 AliTRDtrackerV1.cxx:1412
 AliTRDtrackerV1.cxx:1413
 AliTRDtrackerV1.cxx:1414
 AliTRDtrackerV1.cxx:1415
 AliTRDtrackerV1.cxx:1416
 AliTRDtrackerV1.cxx:1417
 AliTRDtrackerV1.cxx:1418
 AliTRDtrackerV1.cxx:1419
 AliTRDtrackerV1.cxx:1420
 AliTRDtrackerV1.cxx:1421
 AliTRDtrackerV1.cxx:1422
 AliTRDtrackerV1.cxx:1423
 AliTRDtrackerV1.cxx:1424
 AliTRDtrackerV1.cxx:1425
 AliTRDtrackerV1.cxx:1426
 AliTRDtrackerV1.cxx:1427
 AliTRDtrackerV1.cxx:1428
 AliTRDtrackerV1.cxx:1429
 AliTRDtrackerV1.cxx:1430
 AliTRDtrackerV1.cxx:1431
 AliTRDtrackerV1.cxx:1432
 AliTRDtrackerV1.cxx:1433
 AliTRDtrackerV1.cxx:1434
 AliTRDtrackerV1.cxx:1435
 AliTRDtrackerV1.cxx:1436
 AliTRDtrackerV1.cxx:1437
 AliTRDtrackerV1.cxx:1438
 AliTRDtrackerV1.cxx:1439
 AliTRDtrackerV1.cxx:1440
 AliTRDtrackerV1.cxx:1441
 AliTRDtrackerV1.cxx:1442
 AliTRDtrackerV1.cxx:1443
 AliTRDtrackerV1.cxx:1444
 AliTRDtrackerV1.cxx:1445
 AliTRDtrackerV1.cxx:1446
 AliTRDtrackerV1.cxx:1447
 AliTRDtrackerV1.cxx:1448
 AliTRDtrackerV1.cxx:1449
 AliTRDtrackerV1.cxx:1450
 AliTRDtrackerV1.cxx:1451
 AliTRDtrackerV1.cxx:1452
 AliTRDtrackerV1.cxx:1453
 AliTRDtrackerV1.cxx:1454
 AliTRDtrackerV1.cxx:1455
 AliTRDtrackerV1.cxx:1456
 AliTRDtrackerV1.cxx:1457
 AliTRDtrackerV1.cxx:1458
 AliTRDtrackerV1.cxx:1459
 AliTRDtrackerV1.cxx:1460
 AliTRDtrackerV1.cxx:1461
 AliTRDtrackerV1.cxx:1462
 AliTRDtrackerV1.cxx:1463
 AliTRDtrackerV1.cxx:1464
 AliTRDtrackerV1.cxx:1465
 AliTRDtrackerV1.cxx:1466
 AliTRDtrackerV1.cxx:1467
 AliTRDtrackerV1.cxx:1468
 AliTRDtrackerV1.cxx:1469
 AliTRDtrackerV1.cxx:1470
 AliTRDtrackerV1.cxx:1471
 AliTRDtrackerV1.cxx:1472
 AliTRDtrackerV1.cxx:1473
 AliTRDtrackerV1.cxx:1474
 AliTRDtrackerV1.cxx:1475
 AliTRDtrackerV1.cxx:1476
 AliTRDtrackerV1.cxx:1477
 AliTRDtrackerV1.cxx:1478
 AliTRDtrackerV1.cxx:1479
 AliTRDtrackerV1.cxx:1480
 AliTRDtrackerV1.cxx:1481
 AliTRDtrackerV1.cxx:1482
 AliTRDtrackerV1.cxx:1483
 AliTRDtrackerV1.cxx:1484
 AliTRDtrackerV1.cxx:1485
 AliTRDtrackerV1.cxx:1486
 AliTRDtrackerV1.cxx:1487
 AliTRDtrackerV1.cxx:1488
 AliTRDtrackerV1.cxx:1489
 AliTRDtrackerV1.cxx:1490
 AliTRDtrackerV1.cxx:1491
 AliTRDtrackerV1.cxx:1492
 AliTRDtrackerV1.cxx:1493
 AliTRDtrackerV1.cxx:1494
 AliTRDtrackerV1.cxx:1495
 AliTRDtrackerV1.cxx:1496
 AliTRDtrackerV1.cxx:1497
 AliTRDtrackerV1.cxx:1498
 AliTRDtrackerV1.cxx:1499
 AliTRDtrackerV1.cxx:1500
 AliTRDtrackerV1.cxx:1501
 AliTRDtrackerV1.cxx:1502
 AliTRDtrackerV1.cxx:1503
 AliTRDtrackerV1.cxx:1504
 AliTRDtrackerV1.cxx:1505
 AliTRDtrackerV1.cxx:1506
 AliTRDtrackerV1.cxx:1507
 AliTRDtrackerV1.cxx:1508
 AliTRDtrackerV1.cxx:1509
 AliTRDtrackerV1.cxx:1510
 AliTRDtrackerV1.cxx:1511
 AliTRDtrackerV1.cxx:1512
 AliTRDtrackerV1.cxx:1513
 AliTRDtrackerV1.cxx:1514
 AliTRDtrackerV1.cxx:1515
 AliTRDtrackerV1.cxx:1516
 AliTRDtrackerV1.cxx:1517
 AliTRDtrackerV1.cxx:1518
 AliTRDtrackerV1.cxx:1519
 AliTRDtrackerV1.cxx:1520
 AliTRDtrackerV1.cxx:1521
 AliTRDtrackerV1.cxx:1522
 AliTRDtrackerV1.cxx:1523
 AliTRDtrackerV1.cxx:1524
 AliTRDtrackerV1.cxx:1525
 AliTRDtrackerV1.cxx:1526
 AliTRDtrackerV1.cxx:1527
 AliTRDtrackerV1.cxx:1528
 AliTRDtrackerV1.cxx:1529
 AliTRDtrackerV1.cxx:1530
 AliTRDtrackerV1.cxx:1531
 AliTRDtrackerV1.cxx:1532
 AliTRDtrackerV1.cxx:1533
 AliTRDtrackerV1.cxx:1534
 AliTRDtrackerV1.cxx:1535
 AliTRDtrackerV1.cxx:1536
 AliTRDtrackerV1.cxx:1537
 AliTRDtrackerV1.cxx:1538
 AliTRDtrackerV1.cxx:1539
 AliTRDtrackerV1.cxx:1540
 AliTRDtrackerV1.cxx:1541
 AliTRDtrackerV1.cxx:1542
 AliTRDtrackerV1.cxx:1543
 AliTRDtrackerV1.cxx:1544
 AliTRDtrackerV1.cxx:1545
 AliTRDtrackerV1.cxx:1546
 AliTRDtrackerV1.cxx:1547
 AliTRDtrackerV1.cxx:1548
 AliTRDtrackerV1.cxx:1549
 AliTRDtrackerV1.cxx:1550
 AliTRDtrackerV1.cxx:1551
 AliTRDtrackerV1.cxx:1552
 AliTRDtrackerV1.cxx:1553
 AliTRDtrackerV1.cxx:1554
 AliTRDtrackerV1.cxx:1555
 AliTRDtrackerV1.cxx:1556
 AliTRDtrackerV1.cxx:1557
 AliTRDtrackerV1.cxx:1558
 AliTRDtrackerV1.cxx:1559
 AliTRDtrackerV1.cxx:1560
 AliTRDtrackerV1.cxx:1561
 AliTRDtrackerV1.cxx:1562
 AliTRDtrackerV1.cxx:1563
 AliTRDtrackerV1.cxx:1564
 AliTRDtrackerV1.cxx:1565
 AliTRDtrackerV1.cxx:1566
 AliTRDtrackerV1.cxx:1567
 AliTRDtrackerV1.cxx:1568
 AliTRDtrackerV1.cxx:1569
 AliTRDtrackerV1.cxx:1570
 AliTRDtrackerV1.cxx:1571
 AliTRDtrackerV1.cxx:1572
 AliTRDtrackerV1.cxx:1573
 AliTRDtrackerV1.cxx:1574
 AliTRDtrackerV1.cxx:1575
 AliTRDtrackerV1.cxx:1576
 AliTRDtrackerV1.cxx:1577
 AliTRDtrackerV1.cxx:1578
 AliTRDtrackerV1.cxx:1579
 AliTRDtrackerV1.cxx:1580
 AliTRDtrackerV1.cxx:1581
 AliTRDtrackerV1.cxx:1582
 AliTRDtrackerV1.cxx:1583
 AliTRDtrackerV1.cxx:1584
 AliTRDtrackerV1.cxx:1585
 AliTRDtrackerV1.cxx:1586
 AliTRDtrackerV1.cxx:1587
 AliTRDtrackerV1.cxx:1588
 AliTRDtrackerV1.cxx:1589
 AliTRDtrackerV1.cxx:1590
 AliTRDtrackerV1.cxx:1591
 AliTRDtrackerV1.cxx:1592
 AliTRDtrackerV1.cxx:1593
 AliTRDtrackerV1.cxx:1594
 AliTRDtrackerV1.cxx:1595
 AliTRDtrackerV1.cxx:1596
 AliTRDtrackerV1.cxx:1597
 AliTRDtrackerV1.cxx:1598
 AliTRDtrackerV1.cxx:1599
 AliTRDtrackerV1.cxx:1600
 AliTRDtrackerV1.cxx:1601
 AliTRDtrackerV1.cxx:1602
 AliTRDtrackerV1.cxx:1603
 AliTRDtrackerV1.cxx:1604
 AliTRDtrackerV1.cxx:1605
 AliTRDtrackerV1.cxx:1606
 AliTRDtrackerV1.cxx:1607
 AliTRDtrackerV1.cxx:1608
 AliTRDtrackerV1.cxx:1609
 AliTRDtrackerV1.cxx:1610
 AliTRDtrackerV1.cxx:1611
 AliTRDtrackerV1.cxx:1612
 AliTRDtrackerV1.cxx:1613
 AliTRDtrackerV1.cxx:1614
 AliTRDtrackerV1.cxx:1615
 AliTRDtrackerV1.cxx:1616
 AliTRDtrackerV1.cxx:1617
 AliTRDtrackerV1.cxx:1618
 AliTRDtrackerV1.cxx:1619
 AliTRDtrackerV1.cxx:1620
 AliTRDtrackerV1.cxx:1621
 AliTRDtrackerV1.cxx:1622
 AliTRDtrackerV1.cxx:1623
 AliTRDtrackerV1.cxx:1624
 AliTRDtrackerV1.cxx:1625
 AliTRDtrackerV1.cxx:1626
 AliTRDtrackerV1.cxx:1627
 AliTRDtrackerV1.cxx:1628
 AliTRDtrackerV1.cxx:1629
 AliTRDtrackerV1.cxx:1630
 AliTRDtrackerV1.cxx:1631
 AliTRDtrackerV1.cxx:1632
 AliTRDtrackerV1.cxx:1633
 AliTRDtrackerV1.cxx:1634
 AliTRDtrackerV1.cxx:1635
 AliTRDtrackerV1.cxx:1636
 AliTRDtrackerV1.cxx:1637
 AliTRDtrackerV1.cxx:1638
 AliTRDtrackerV1.cxx:1639
 AliTRDtrackerV1.cxx:1640
 AliTRDtrackerV1.cxx:1641
 AliTRDtrackerV1.cxx:1642
 AliTRDtrackerV1.cxx:1643
 AliTRDtrackerV1.cxx:1644
 AliTRDtrackerV1.cxx:1645
 AliTRDtrackerV1.cxx:1646
 AliTRDtrackerV1.cxx:1647
 AliTRDtrackerV1.cxx:1648
 AliTRDtrackerV1.cxx:1649
 AliTRDtrackerV1.cxx:1650
 AliTRDtrackerV1.cxx:1651
 AliTRDtrackerV1.cxx:1652
 AliTRDtrackerV1.cxx:1653
 AliTRDtrackerV1.cxx:1654
 AliTRDtrackerV1.cxx:1655
 AliTRDtrackerV1.cxx:1656
 AliTRDtrackerV1.cxx:1657
 AliTRDtrackerV1.cxx:1658
 AliTRDtrackerV1.cxx:1659
 AliTRDtrackerV1.cxx:1660
 AliTRDtrackerV1.cxx:1661
 AliTRDtrackerV1.cxx:1662
 AliTRDtrackerV1.cxx:1663
 AliTRDtrackerV1.cxx:1664
 AliTRDtrackerV1.cxx:1665
 AliTRDtrackerV1.cxx:1666
 AliTRDtrackerV1.cxx:1667
 AliTRDtrackerV1.cxx:1668
 AliTRDtrackerV1.cxx:1669
 AliTRDtrackerV1.cxx:1670
 AliTRDtrackerV1.cxx:1671
 AliTRDtrackerV1.cxx:1672
 AliTRDtrackerV1.cxx:1673
 AliTRDtrackerV1.cxx:1674
 AliTRDtrackerV1.cxx:1675
 AliTRDtrackerV1.cxx:1676
 AliTRDtrackerV1.cxx:1677
 AliTRDtrackerV1.cxx:1678
 AliTRDtrackerV1.cxx:1679
 AliTRDtrackerV1.cxx:1680
 AliTRDtrackerV1.cxx:1681
 AliTRDtrackerV1.cxx:1682
 AliTRDtrackerV1.cxx:1683
 AliTRDtrackerV1.cxx:1684
 AliTRDtrackerV1.cxx:1685
 AliTRDtrackerV1.cxx:1686
 AliTRDtrackerV1.cxx:1687
 AliTRDtrackerV1.cxx:1688
 AliTRDtrackerV1.cxx:1689
 AliTRDtrackerV1.cxx:1690
 AliTRDtrackerV1.cxx:1691
 AliTRDtrackerV1.cxx:1692
 AliTRDtrackerV1.cxx:1693
 AliTRDtrackerV1.cxx:1694
 AliTRDtrackerV1.cxx:1695
 AliTRDtrackerV1.cxx:1696
 AliTRDtrackerV1.cxx:1697
 AliTRDtrackerV1.cxx:1698
 AliTRDtrackerV1.cxx:1699
 AliTRDtrackerV1.cxx:1700
 AliTRDtrackerV1.cxx:1701
 AliTRDtrackerV1.cxx:1702
 AliTRDtrackerV1.cxx:1703
 AliTRDtrackerV1.cxx:1704
 AliTRDtrackerV1.cxx:1705
 AliTRDtrackerV1.cxx:1706
 AliTRDtrackerV1.cxx:1707
 AliTRDtrackerV1.cxx:1708
 AliTRDtrackerV1.cxx:1709
 AliTRDtrackerV1.cxx:1710
 AliTRDtrackerV1.cxx:1711
 AliTRDtrackerV1.cxx:1712
 AliTRDtrackerV1.cxx:1713
 AliTRDtrackerV1.cxx:1714
 AliTRDtrackerV1.cxx:1715
 AliTRDtrackerV1.cxx:1716
 AliTRDtrackerV1.cxx:1717
 AliTRDtrackerV1.cxx:1718
 AliTRDtrackerV1.cxx:1719
 AliTRDtrackerV1.cxx:1720
 AliTRDtrackerV1.cxx:1721
 AliTRDtrackerV1.cxx:1722
 AliTRDtrackerV1.cxx:1723
 AliTRDtrackerV1.cxx:1724
 AliTRDtrackerV1.cxx:1725
 AliTRDtrackerV1.cxx:1726
 AliTRDtrackerV1.cxx:1727
 AliTRDtrackerV1.cxx:1728
 AliTRDtrackerV1.cxx:1729
 AliTRDtrackerV1.cxx:1730
 AliTRDtrackerV1.cxx:1731
 AliTRDtrackerV1.cxx:1732
 AliTRDtrackerV1.cxx:1733
 AliTRDtrackerV1.cxx:1734
 AliTRDtrackerV1.cxx:1735
 AliTRDtrackerV1.cxx:1736
 AliTRDtrackerV1.cxx:1737
 AliTRDtrackerV1.cxx:1738
 AliTRDtrackerV1.cxx:1739
 AliTRDtrackerV1.cxx:1740
 AliTRDtrackerV1.cxx:1741
 AliTRDtrackerV1.cxx:1742
 AliTRDtrackerV1.cxx:1743
 AliTRDtrackerV1.cxx:1744
 AliTRDtrackerV1.cxx:1745
 AliTRDtrackerV1.cxx:1746
 AliTRDtrackerV1.cxx:1747
 AliTRDtrackerV1.cxx:1748
 AliTRDtrackerV1.cxx:1749
 AliTRDtrackerV1.cxx:1750
 AliTRDtrackerV1.cxx:1751
 AliTRDtrackerV1.cxx:1752
 AliTRDtrackerV1.cxx:1753
 AliTRDtrackerV1.cxx:1754
 AliTRDtrackerV1.cxx:1755
 AliTRDtrackerV1.cxx:1756
 AliTRDtrackerV1.cxx:1757
 AliTRDtrackerV1.cxx:1758
 AliTRDtrackerV1.cxx:1759
 AliTRDtrackerV1.cxx:1760
 AliTRDtrackerV1.cxx:1761
 AliTRDtrackerV1.cxx:1762
 AliTRDtrackerV1.cxx:1763
 AliTRDtrackerV1.cxx:1764
 AliTRDtrackerV1.cxx:1765
 AliTRDtrackerV1.cxx:1766
 AliTRDtrackerV1.cxx:1767
 AliTRDtrackerV1.cxx:1768
 AliTRDtrackerV1.cxx:1769
 AliTRDtrackerV1.cxx:1770
 AliTRDtrackerV1.cxx:1771
 AliTRDtrackerV1.cxx:1772
 AliTRDtrackerV1.cxx:1773
 AliTRDtrackerV1.cxx:1774
 AliTRDtrackerV1.cxx:1775
 AliTRDtrackerV1.cxx:1776
 AliTRDtrackerV1.cxx:1777
 AliTRDtrackerV1.cxx:1778
 AliTRDtrackerV1.cxx:1779
 AliTRDtrackerV1.cxx:1780
 AliTRDtrackerV1.cxx:1781
 AliTRDtrackerV1.cxx:1782
 AliTRDtrackerV1.cxx:1783
 AliTRDtrackerV1.cxx:1784
 AliTRDtrackerV1.cxx:1785
 AliTRDtrackerV1.cxx:1786
 AliTRDtrackerV1.cxx:1787
 AliTRDtrackerV1.cxx:1788
 AliTRDtrackerV1.cxx:1789
 AliTRDtrackerV1.cxx:1790
 AliTRDtrackerV1.cxx:1791
 AliTRDtrackerV1.cxx:1792
 AliTRDtrackerV1.cxx:1793
 AliTRDtrackerV1.cxx:1794
 AliTRDtrackerV1.cxx:1795
 AliTRDtrackerV1.cxx:1796
 AliTRDtrackerV1.cxx:1797
 AliTRDtrackerV1.cxx:1798
 AliTRDtrackerV1.cxx:1799
 AliTRDtrackerV1.cxx:1800
 AliTRDtrackerV1.cxx:1801
 AliTRDtrackerV1.cxx:1802
 AliTRDtrackerV1.cxx:1803
 AliTRDtrackerV1.cxx:1804
 AliTRDtrackerV1.cxx:1805
 AliTRDtrackerV1.cxx:1806
 AliTRDtrackerV1.cxx:1807
 AliTRDtrackerV1.cxx:1808
 AliTRDtrackerV1.cxx:1809
 AliTRDtrackerV1.cxx:1810
 AliTRDtrackerV1.cxx:1811
 AliTRDtrackerV1.cxx:1812
 AliTRDtrackerV1.cxx:1813
 AliTRDtrackerV1.cxx:1814
 AliTRDtrackerV1.cxx:1815
 AliTRDtrackerV1.cxx:1816
 AliTRDtrackerV1.cxx:1817
 AliTRDtrackerV1.cxx:1818
 AliTRDtrackerV1.cxx:1819
 AliTRDtrackerV1.cxx:1820
 AliTRDtrackerV1.cxx:1821
 AliTRDtrackerV1.cxx:1822
 AliTRDtrackerV1.cxx:1823
 AliTRDtrackerV1.cxx:1824
 AliTRDtrackerV1.cxx:1825
 AliTRDtrackerV1.cxx:1826
 AliTRDtrackerV1.cxx:1827
 AliTRDtrackerV1.cxx:1828
 AliTRDtrackerV1.cxx:1829
 AliTRDtrackerV1.cxx:1830
 AliTRDtrackerV1.cxx:1831
 AliTRDtrackerV1.cxx:1832
 AliTRDtrackerV1.cxx:1833
 AliTRDtrackerV1.cxx:1834
 AliTRDtrackerV1.cxx:1835
 AliTRDtrackerV1.cxx:1836
 AliTRDtrackerV1.cxx:1837
 AliTRDtrackerV1.cxx:1838
 AliTRDtrackerV1.cxx:1839
 AliTRDtrackerV1.cxx:1840
 AliTRDtrackerV1.cxx:1841
 AliTRDtrackerV1.cxx:1842
 AliTRDtrackerV1.cxx:1843
 AliTRDtrackerV1.cxx:1844
 AliTRDtrackerV1.cxx:1845
 AliTRDtrackerV1.cxx:1846
 AliTRDtrackerV1.cxx:1847
 AliTRDtrackerV1.cxx:1848
 AliTRDtrackerV1.cxx:1849
 AliTRDtrackerV1.cxx:1850
 AliTRDtrackerV1.cxx:1851
 AliTRDtrackerV1.cxx:1852
 AliTRDtrackerV1.cxx:1853
 AliTRDtrackerV1.cxx:1854
 AliTRDtrackerV1.cxx:1855
 AliTRDtrackerV1.cxx:1856
 AliTRDtrackerV1.cxx:1857
 AliTRDtrackerV1.cxx:1858
 AliTRDtrackerV1.cxx:1859
 AliTRDtrackerV1.cxx:1860
 AliTRDtrackerV1.cxx:1861
 AliTRDtrackerV1.cxx:1862
 AliTRDtrackerV1.cxx:1863
 AliTRDtrackerV1.cxx:1864
 AliTRDtrackerV1.cxx:1865
 AliTRDtrackerV1.cxx:1866
 AliTRDtrackerV1.cxx:1867
 AliTRDtrackerV1.cxx:1868
 AliTRDtrackerV1.cxx:1869
 AliTRDtrackerV1.cxx:1870
 AliTRDtrackerV1.cxx:1871
 AliTRDtrackerV1.cxx:1872
 AliTRDtrackerV1.cxx:1873
 AliTRDtrackerV1.cxx:1874
 AliTRDtrackerV1.cxx:1875
 AliTRDtrackerV1.cxx:1876
 AliTRDtrackerV1.cxx:1877
 AliTRDtrackerV1.cxx:1878
 AliTRDtrackerV1.cxx:1879
 AliTRDtrackerV1.cxx:1880
 AliTRDtrackerV1.cxx:1881
 AliTRDtrackerV1.cxx:1882
 AliTRDtrackerV1.cxx:1883
 AliTRDtrackerV1.cxx:1884
 AliTRDtrackerV1.cxx:1885
 AliTRDtrackerV1.cxx:1886
 AliTRDtrackerV1.cxx:1887
 AliTRDtrackerV1.cxx:1888
 AliTRDtrackerV1.cxx:1889
 AliTRDtrackerV1.cxx:1890
 AliTRDtrackerV1.cxx:1891
 AliTRDtrackerV1.cxx:1892
 AliTRDtrackerV1.cxx:1893
 AliTRDtrackerV1.cxx:1894
 AliTRDtrackerV1.cxx:1895
 AliTRDtrackerV1.cxx:1896
 AliTRDtrackerV1.cxx:1897
 AliTRDtrackerV1.cxx:1898
 AliTRDtrackerV1.cxx:1899
 AliTRDtrackerV1.cxx:1900
 AliTRDtrackerV1.cxx:1901
 AliTRDtrackerV1.cxx:1902
 AliTRDtrackerV1.cxx:1903
 AliTRDtrackerV1.cxx:1904
 AliTRDtrackerV1.cxx:1905
 AliTRDtrackerV1.cxx:1906
 AliTRDtrackerV1.cxx:1907
 AliTRDtrackerV1.cxx:1908
 AliTRDtrackerV1.cxx:1909
 AliTRDtrackerV1.cxx:1910
 AliTRDtrackerV1.cxx:1911
 AliTRDtrackerV1.cxx:1912
 AliTRDtrackerV1.cxx:1913
 AliTRDtrackerV1.cxx:1914
 AliTRDtrackerV1.cxx:1915
 AliTRDtrackerV1.cxx:1916
 AliTRDtrackerV1.cxx:1917
 AliTRDtrackerV1.cxx:1918
 AliTRDtrackerV1.cxx:1919
 AliTRDtrackerV1.cxx:1920
 AliTRDtrackerV1.cxx:1921
 AliTRDtrackerV1.cxx:1922
 AliTRDtrackerV1.cxx:1923
 AliTRDtrackerV1.cxx:1924
 AliTRDtrackerV1.cxx:1925
 AliTRDtrackerV1.cxx:1926
 AliTRDtrackerV1.cxx:1927
 AliTRDtrackerV1.cxx:1928
 AliTRDtrackerV1.cxx:1929
 AliTRDtrackerV1.cxx:1930
 AliTRDtrackerV1.cxx:1931
 AliTRDtrackerV1.cxx:1932
 AliTRDtrackerV1.cxx:1933
 AliTRDtrackerV1.cxx:1934
 AliTRDtrackerV1.cxx:1935
 AliTRDtrackerV1.cxx:1936
 AliTRDtrackerV1.cxx:1937
 AliTRDtrackerV1.cxx:1938
 AliTRDtrackerV1.cxx:1939
 AliTRDtrackerV1.cxx:1940
 AliTRDtrackerV1.cxx:1941
 AliTRDtrackerV1.cxx:1942
 AliTRDtrackerV1.cxx:1943
 AliTRDtrackerV1.cxx:1944
 AliTRDtrackerV1.cxx:1945
 AliTRDtrackerV1.cxx:1946
 AliTRDtrackerV1.cxx:1947
 AliTRDtrackerV1.cxx:1948
 AliTRDtrackerV1.cxx:1949
 AliTRDtrackerV1.cxx:1950
 AliTRDtrackerV1.cxx:1951
 AliTRDtrackerV1.cxx:1952
 AliTRDtrackerV1.cxx:1953
 AliTRDtrackerV1.cxx:1954
 AliTRDtrackerV1.cxx:1955
 AliTRDtrackerV1.cxx:1956
 AliTRDtrackerV1.cxx:1957
 AliTRDtrackerV1.cxx:1958
 AliTRDtrackerV1.cxx:1959
 AliTRDtrackerV1.cxx:1960
 AliTRDtrackerV1.cxx:1961
 AliTRDtrackerV1.cxx:1962
 AliTRDtrackerV1.cxx:1963
 AliTRDtrackerV1.cxx:1964
 AliTRDtrackerV1.cxx:1965
 AliTRDtrackerV1.cxx:1966
 AliTRDtrackerV1.cxx:1967
 AliTRDtrackerV1.cxx:1968
 AliTRDtrackerV1.cxx:1969
 AliTRDtrackerV1.cxx:1970
 AliTRDtrackerV1.cxx:1971
 AliTRDtrackerV1.cxx:1972
 AliTRDtrackerV1.cxx:1973
 AliTRDtrackerV1.cxx:1974
 AliTRDtrackerV1.cxx:1975
 AliTRDtrackerV1.cxx:1976
 AliTRDtrackerV1.cxx:1977
 AliTRDtrackerV1.cxx:1978
 AliTRDtrackerV1.cxx:1979
 AliTRDtrackerV1.cxx:1980
 AliTRDtrackerV1.cxx:1981
 AliTRDtrackerV1.cxx:1982
 AliTRDtrackerV1.cxx:1983
 AliTRDtrackerV1.cxx:1984
 AliTRDtrackerV1.cxx:1985
 AliTRDtrackerV1.cxx:1986
 AliTRDtrackerV1.cxx:1987
 AliTRDtrackerV1.cxx:1988
 AliTRDtrackerV1.cxx:1989
 AliTRDtrackerV1.cxx:1990
 AliTRDtrackerV1.cxx:1991
 AliTRDtrackerV1.cxx:1992
 AliTRDtrackerV1.cxx:1993
 AliTRDtrackerV1.cxx:1994
 AliTRDtrackerV1.cxx:1995
 AliTRDtrackerV1.cxx:1996
 AliTRDtrackerV1.cxx:1997
 AliTRDtrackerV1.cxx:1998
 AliTRDtrackerV1.cxx:1999
 AliTRDtrackerV1.cxx:2000
 AliTRDtrackerV1.cxx:2001
 AliTRDtrackerV1.cxx:2002
 AliTRDtrackerV1.cxx:2003
 AliTRDtrackerV1.cxx:2004
 AliTRDtrackerV1.cxx:2005
 AliTRDtrackerV1.cxx:2006
 AliTRDtrackerV1.cxx:2007
 AliTRDtrackerV1.cxx:2008
 AliTRDtrackerV1.cxx:2009
 AliTRDtrackerV1.cxx:2010
 AliTRDtrackerV1.cxx:2011
 AliTRDtrackerV1.cxx:2012
 AliTRDtrackerV1.cxx:2013
 AliTRDtrackerV1.cxx:2014
 AliTRDtrackerV1.cxx:2015
 AliTRDtrackerV1.cxx:2016
 AliTRDtrackerV1.cxx:2017
 AliTRDtrackerV1.cxx:2018
 AliTRDtrackerV1.cxx:2019
 AliTRDtrackerV1.cxx:2020
 AliTRDtrackerV1.cxx:2021
 AliTRDtrackerV1.cxx:2022
 AliTRDtrackerV1.cxx:2023
 AliTRDtrackerV1.cxx:2024
 AliTRDtrackerV1.cxx:2025
 AliTRDtrackerV1.cxx:2026
 AliTRDtrackerV1.cxx:2027
 AliTRDtrackerV1.cxx:2028
 AliTRDtrackerV1.cxx:2029
 AliTRDtrackerV1.cxx:2030
 AliTRDtrackerV1.cxx:2031
 AliTRDtrackerV1.cxx:2032
 AliTRDtrackerV1.cxx:2033
 AliTRDtrackerV1.cxx:2034
 AliTRDtrackerV1.cxx:2035
 AliTRDtrackerV1.cxx:2036
 AliTRDtrackerV1.cxx:2037
 AliTRDtrackerV1.cxx:2038
 AliTRDtrackerV1.cxx:2039
 AliTRDtrackerV1.cxx:2040
 AliTRDtrackerV1.cxx:2041
 AliTRDtrackerV1.cxx:2042
 AliTRDtrackerV1.cxx:2043
 AliTRDtrackerV1.cxx:2044
 AliTRDtrackerV1.cxx:2045
 AliTRDtrackerV1.cxx:2046
 AliTRDtrackerV1.cxx:2047
 AliTRDtrackerV1.cxx:2048
 AliTRDtrackerV1.cxx:2049
 AliTRDtrackerV1.cxx:2050
 AliTRDtrackerV1.cxx:2051
 AliTRDtrackerV1.cxx:2052
 AliTRDtrackerV1.cxx:2053
 AliTRDtrackerV1.cxx:2054
 AliTRDtrackerV1.cxx:2055
 AliTRDtrackerV1.cxx:2056
 AliTRDtrackerV1.cxx:2057
 AliTRDtrackerV1.cxx:2058
 AliTRDtrackerV1.cxx:2059
 AliTRDtrackerV1.cxx:2060
 AliTRDtrackerV1.cxx:2061
 AliTRDtrackerV1.cxx:2062
 AliTRDtrackerV1.cxx:2063
 AliTRDtrackerV1.cxx:2064
 AliTRDtrackerV1.cxx:2065
 AliTRDtrackerV1.cxx:2066
 AliTRDtrackerV1.cxx:2067
 AliTRDtrackerV1.cxx:2068
 AliTRDtrackerV1.cxx:2069
 AliTRDtrackerV1.cxx:2070
 AliTRDtrackerV1.cxx:2071
 AliTRDtrackerV1.cxx:2072
 AliTRDtrackerV1.cxx:2073
 AliTRDtrackerV1.cxx:2074
 AliTRDtrackerV1.cxx:2075
 AliTRDtrackerV1.cxx:2076
 AliTRDtrackerV1.cxx:2077
 AliTRDtrackerV1.cxx:2078
 AliTRDtrackerV1.cxx:2079
 AliTRDtrackerV1.cxx:2080
 AliTRDtrackerV1.cxx:2081
 AliTRDtrackerV1.cxx:2082
 AliTRDtrackerV1.cxx:2083
 AliTRDtrackerV1.cxx:2084
 AliTRDtrackerV1.cxx:2085
 AliTRDtrackerV1.cxx:2086
 AliTRDtrackerV1.cxx:2087
 AliTRDtrackerV1.cxx:2088
 AliTRDtrackerV1.cxx:2089
 AliTRDtrackerV1.cxx:2090
 AliTRDtrackerV1.cxx:2091
 AliTRDtrackerV1.cxx:2092
 AliTRDtrackerV1.cxx:2093
 AliTRDtrackerV1.cxx:2094
 AliTRDtrackerV1.cxx:2095
 AliTRDtrackerV1.cxx:2096
 AliTRDtrackerV1.cxx:2097
 AliTRDtrackerV1.cxx:2098
 AliTRDtrackerV1.cxx:2099
 AliTRDtrackerV1.cxx:2100
 AliTRDtrackerV1.cxx:2101
 AliTRDtrackerV1.cxx:2102
 AliTRDtrackerV1.cxx:2103
 AliTRDtrackerV1.cxx:2104
 AliTRDtrackerV1.cxx:2105
 AliTRDtrackerV1.cxx:2106
 AliTRDtrackerV1.cxx:2107
 AliTRDtrackerV1.cxx:2108
 AliTRDtrackerV1.cxx:2109
 AliTRDtrackerV1.cxx:2110
 AliTRDtrackerV1.cxx:2111
 AliTRDtrackerV1.cxx:2112
 AliTRDtrackerV1.cxx:2113
 AliTRDtrackerV1.cxx:2114
 AliTRDtrackerV1.cxx:2115
 AliTRDtrackerV1.cxx:2116
 AliTRDtrackerV1.cxx:2117
 AliTRDtrackerV1.cxx:2118
 AliTRDtrackerV1.cxx:2119
 AliTRDtrackerV1.cxx:2120
 AliTRDtrackerV1.cxx:2121
 AliTRDtrackerV1.cxx:2122
 AliTRDtrackerV1.cxx:2123
 AliTRDtrackerV1.cxx:2124
 AliTRDtrackerV1.cxx:2125
 AliTRDtrackerV1.cxx:2126
 AliTRDtrackerV1.cxx:2127
 AliTRDtrackerV1.cxx:2128
 AliTRDtrackerV1.cxx:2129
 AliTRDtrackerV1.cxx:2130
 AliTRDtrackerV1.cxx:2131
 AliTRDtrackerV1.cxx:2132
 AliTRDtrackerV1.cxx:2133
 AliTRDtrackerV1.cxx:2134
 AliTRDtrackerV1.cxx:2135
 AliTRDtrackerV1.cxx:2136
 AliTRDtrackerV1.cxx:2137
 AliTRDtrackerV1.cxx:2138
 AliTRDtrackerV1.cxx:2139
 AliTRDtrackerV1.cxx:2140
 AliTRDtrackerV1.cxx:2141
 AliTRDtrackerV1.cxx:2142
 AliTRDtrackerV1.cxx:2143
 AliTRDtrackerV1.cxx:2144
 AliTRDtrackerV1.cxx:2145
 AliTRDtrackerV1.cxx:2146
 AliTRDtrackerV1.cxx:2147
 AliTRDtrackerV1.cxx:2148
 AliTRDtrackerV1.cxx:2149
 AliTRDtrackerV1.cxx:2150
 AliTRDtrackerV1.cxx:2151
 AliTRDtrackerV1.cxx:2152
 AliTRDtrackerV1.cxx:2153
 AliTRDtrackerV1.cxx:2154
 AliTRDtrackerV1.cxx:2155
 AliTRDtrackerV1.cxx:2156
 AliTRDtrackerV1.cxx:2157
 AliTRDtrackerV1.cxx:2158
 AliTRDtrackerV1.cxx:2159
 AliTRDtrackerV1.cxx:2160
 AliTRDtrackerV1.cxx:2161
 AliTRDtrackerV1.cxx:2162
 AliTRDtrackerV1.cxx:2163
 AliTRDtrackerV1.cxx:2164
 AliTRDtrackerV1.cxx:2165
 AliTRDtrackerV1.cxx:2166
 AliTRDtrackerV1.cxx:2167
 AliTRDtrackerV1.cxx:2168
 AliTRDtrackerV1.cxx:2169
 AliTRDtrackerV1.cxx:2170
 AliTRDtrackerV1.cxx:2171
 AliTRDtrackerV1.cxx:2172
 AliTRDtrackerV1.cxx:2173
 AliTRDtrackerV1.cxx:2174
 AliTRDtrackerV1.cxx:2175
 AliTRDtrackerV1.cxx:2176
 AliTRDtrackerV1.cxx:2177
 AliTRDtrackerV1.cxx:2178
 AliTRDtrackerV1.cxx:2179
 AliTRDtrackerV1.cxx:2180
 AliTRDtrackerV1.cxx:2181
 AliTRDtrackerV1.cxx:2182
 AliTRDtrackerV1.cxx:2183
 AliTRDtrackerV1.cxx:2184
 AliTRDtrackerV1.cxx:2185
 AliTRDtrackerV1.cxx:2186
 AliTRDtrackerV1.cxx:2187
 AliTRDtrackerV1.cxx:2188
 AliTRDtrackerV1.cxx:2189
 AliTRDtrackerV1.cxx:2190
 AliTRDtrackerV1.cxx:2191
 AliTRDtrackerV1.cxx:2192
 AliTRDtrackerV1.cxx:2193
 AliTRDtrackerV1.cxx:2194
 AliTRDtrackerV1.cxx:2195
 AliTRDtrackerV1.cxx:2196
 AliTRDtrackerV1.cxx:2197
 AliTRDtrackerV1.cxx:2198
 AliTRDtrackerV1.cxx:2199
 AliTRDtrackerV1.cxx:2200
 AliTRDtrackerV1.cxx:2201
 AliTRDtrackerV1.cxx:2202
 AliTRDtrackerV1.cxx:2203
 AliTRDtrackerV1.cxx:2204
 AliTRDtrackerV1.cxx:2205
 AliTRDtrackerV1.cxx:2206
 AliTRDtrackerV1.cxx:2207
 AliTRDtrackerV1.cxx:2208
 AliTRDtrackerV1.cxx:2209
 AliTRDtrackerV1.cxx:2210
 AliTRDtrackerV1.cxx:2211
 AliTRDtrackerV1.cxx:2212
 AliTRDtrackerV1.cxx:2213
 AliTRDtrackerV1.cxx:2214
 AliTRDtrackerV1.cxx:2215
 AliTRDtrackerV1.cxx:2216
 AliTRDtrackerV1.cxx:2217
 AliTRDtrackerV1.cxx:2218
 AliTRDtrackerV1.cxx:2219
 AliTRDtrackerV1.cxx:2220
 AliTRDtrackerV1.cxx:2221
 AliTRDtrackerV1.cxx:2222
 AliTRDtrackerV1.cxx:2223
 AliTRDtrackerV1.cxx:2224
 AliTRDtrackerV1.cxx:2225
 AliTRDtrackerV1.cxx:2226
 AliTRDtrackerV1.cxx:2227
 AliTRDtrackerV1.cxx:2228
 AliTRDtrackerV1.cxx:2229
 AliTRDtrackerV1.cxx:2230
 AliTRDtrackerV1.cxx:2231
 AliTRDtrackerV1.cxx:2232
 AliTRDtrackerV1.cxx:2233
 AliTRDtrackerV1.cxx:2234
 AliTRDtrackerV1.cxx:2235
 AliTRDtrackerV1.cxx:2236
 AliTRDtrackerV1.cxx:2237
 AliTRDtrackerV1.cxx:2238
 AliTRDtrackerV1.cxx:2239
 AliTRDtrackerV1.cxx:2240
 AliTRDtrackerV1.cxx:2241
 AliTRDtrackerV1.cxx:2242
 AliTRDtrackerV1.cxx:2243
 AliTRDtrackerV1.cxx:2244
 AliTRDtrackerV1.cxx:2245
 AliTRDtrackerV1.cxx:2246
 AliTRDtrackerV1.cxx:2247
 AliTRDtrackerV1.cxx:2248
 AliTRDtrackerV1.cxx:2249
 AliTRDtrackerV1.cxx:2250
 AliTRDtrackerV1.cxx:2251
 AliTRDtrackerV1.cxx:2252
 AliTRDtrackerV1.cxx:2253
 AliTRDtrackerV1.cxx:2254
 AliTRDtrackerV1.cxx:2255
 AliTRDtrackerV1.cxx:2256
 AliTRDtrackerV1.cxx:2257
 AliTRDtrackerV1.cxx:2258
 AliTRDtrackerV1.cxx:2259
 AliTRDtrackerV1.cxx:2260
 AliTRDtrackerV1.cxx:2261
 AliTRDtrackerV1.cxx:2262
 AliTRDtrackerV1.cxx:2263
 AliTRDtrackerV1.cxx:2264
 AliTRDtrackerV1.cxx:2265
 AliTRDtrackerV1.cxx:2266
 AliTRDtrackerV1.cxx:2267
 AliTRDtrackerV1.cxx:2268
 AliTRDtrackerV1.cxx:2269
 AliTRDtrackerV1.cxx:2270
 AliTRDtrackerV1.cxx:2271
 AliTRDtrackerV1.cxx:2272
 AliTRDtrackerV1.cxx:2273
 AliTRDtrackerV1.cxx:2274
 AliTRDtrackerV1.cxx:2275
 AliTRDtrackerV1.cxx:2276
 AliTRDtrackerV1.cxx:2277
 AliTRDtrackerV1.cxx:2278
 AliTRDtrackerV1.cxx:2279
 AliTRDtrackerV1.cxx:2280
 AliTRDtrackerV1.cxx:2281
 AliTRDtrackerV1.cxx:2282
 AliTRDtrackerV1.cxx:2283
 AliTRDtrackerV1.cxx:2284
 AliTRDtrackerV1.cxx:2285
 AliTRDtrackerV1.cxx:2286
 AliTRDtrackerV1.cxx:2287
 AliTRDtrackerV1.cxx:2288
 AliTRDtrackerV1.cxx:2289
 AliTRDtrackerV1.cxx:2290
 AliTRDtrackerV1.cxx:2291
 AliTRDtrackerV1.cxx:2292
 AliTRDtrackerV1.cxx:2293
 AliTRDtrackerV1.cxx:2294
 AliTRDtrackerV1.cxx:2295
 AliTRDtrackerV1.cxx:2296
 AliTRDtrackerV1.cxx:2297
 AliTRDtrackerV1.cxx:2298
 AliTRDtrackerV1.cxx:2299
 AliTRDtrackerV1.cxx:2300
 AliTRDtrackerV1.cxx:2301
 AliTRDtrackerV1.cxx:2302
 AliTRDtrackerV1.cxx:2303
 AliTRDtrackerV1.cxx:2304
 AliTRDtrackerV1.cxx:2305
 AliTRDtrackerV1.cxx:2306
 AliTRDtrackerV1.cxx:2307
 AliTRDtrackerV1.cxx:2308
 AliTRDtrackerV1.cxx:2309
 AliTRDtrackerV1.cxx:2310
 AliTRDtrackerV1.cxx:2311
 AliTRDtrackerV1.cxx:2312
 AliTRDtrackerV1.cxx:2313
 AliTRDtrackerV1.cxx:2314
 AliTRDtrackerV1.cxx:2315
 AliTRDtrackerV1.cxx:2316
 AliTRDtrackerV1.cxx:2317
 AliTRDtrackerV1.cxx:2318
 AliTRDtrackerV1.cxx:2319
 AliTRDtrackerV1.cxx:2320
 AliTRDtrackerV1.cxx:2321
 AliTRDtrackerV1.cxx:2322
 AliTRDtrackerV1.cxx:2323
 AliTRDtrackerV1.cxx:2324
 AliTRDtrackerV1.cxx:2325
 AliTRDtrackerV1.cxx:2326
 AliTRDtrackerV1.cxx:2327
 AliTRDtrackerV1.cxx:2328
 AliTRDtrackerV1.cxx:2329
 AliTRDtrackerV1.cxx:2330
 AliTRDtrackerV1.cxx:2331
 AliTRDtrackerV1.cxx:2332
 AliTRDtrackerV1.cxx:2333
 AliTRDtrackerV1.cxx:2334
 AliTRDtrackerV1.cxx:2335
 AliTRDtrackerV1.cxx:2336
 AliTRDtrackerV1.cxx:2337
 AliTRDtrackerV1.cxx:2338
 AliTRDtrackerV1.cxx:2339
 AliTRDtrackerV1.cxx:2340
 AliTRDtrackerV1.cxx:2341
 AliTRDtrackerV1.cxx:2342
 AliTRDtrackerV1.cxx:2343
 AliTRDtrackerV1.cxx:2344
 AliTRDtrackerV1.cxx:2345
 AliTRDtrackerV1.cxx:2346
 AliTRDtrackerV1.cxx:2347
 AliTRDtrackerV1.cxx:2348
 AliTRDtrackerV1.cxx:2349
 AliTRDtrackerV1.cxx:2350
 AliTRDtrackerV1.cxx:2351
 AliTRDtrackerV1.cxx:2352
 AliTRDtrackerV1.cxx:2353
 AliTRDtrackerV1.cxx:2354
 AliTRDtrackerV1.cxx:2355
 AliTRDtrackerV1.cxx:2356
 AliTRDtrackerV1.cxx:2357
 AliTRDtrackerV1.cxx:2358
 AliTRDtrackerV1.cxx:2359
 AliTRDtrackerV1.cxx:2360
 AliTRDtrackerV1.cxx:2361
 AliTRDtrackerV1.cxx:2362
 AliTRDtrackerV1.cxx:2363
 AliTRDtrackerV1.cxx:2364
 AliTRDtrackerV1.cxx:2365
 AliTRDtrackerV1.cxx:2366
 AliTRDtrackerV1.cxx:2367
 AliTRDtrackerV1.cxx:2368
 AliTRDtrackerV1.cxx:2369
 AliTRDtrackerV1.cxx:2370
 AliTRDtrackerV1.cxx:2371
 AliTRDtrackerV1.cxx:2372
 AliTRDtrackerV1.cxx:2373
 AliTRDtrackerV1.cxx:2374
 AliTRDtrackerV1.cxx:2375
 AliTRDtrackerV1.cxx:2376
 AliTRDtrackerV1.cxx:2377
 AliTRDtrackerV1.cxx:2378
 AliTRDtrackerV1.cxx:2379
 AliTRDtrackerV1.cxx:2380
 AliTRDtrackerV1.cxx:2381
 AliTRDtrackerV1.cxx:2382
 AliTRDtrackerV1.cxx:2383
 AliTRDtrackerV1.cxx:2384
 AliTRDtrackerV1.cxx:2385
 AliTRDtrackerV1.cxx:2386
 AliTRDtrackerV1.cxx:2387
 AliTRDtrackerV1.cxx:2388
 AliTRDtrackerV1.cxx:2389
 AliTRDtrackerV1.cxx:2390
 AliTRDtrackerV1.cxx:2391
 AliTRDtrackerV1.cxx:2392
 AliTRDtrackerV1.cxx:2393
 AliTRDtrackerV1.cxx:2394
 AliTRDtrackerV1.cxx:2395
 AliTRDtrackerV1.cxx:2396
 AliTRDtrackerV1.cxx:2397
 AliTRDtrackerV1.cxx:2398
 AliTRDtrackerV1.cxx:2399
 AliTRDtrackerV1.cxx:2400
 AliTRDtrackerV1.cxx:2401
 AliTRDtrackerV1.cxx:2402
 AliTRDtrackerV1.cxx:2403
 AliTRDtrackerV1.cxx:2404
 AliTRDtrackerV1.cxx:2405
 AliTRDtrackerV1.cxx:2406
 AliTRDtrackerV1.cxx:2407
 AliTRDtrackerV1.cxx:2408
 AliTRDtrackerV1.cxx:2409
 AliTRDtrackerV1.cxx:2410
 AliTRDtrackerV1.cxx:2411
 AliTRDtrackerV1.cxx:2412
 AliTRDtrackerV1.cxx:2413
 AliTRDtrackerV1.cxx:2414
 AliTRDtrackerV1.cxx:2415
 AliTRDtrackerV1.cxx:2416
 AliTRDtrackerV1.cxx:2417
 AliTRDtrackerV1.cxx:2418
 AliTRDtrackerV1.cxx:2419
 AliTRDtrackerV1.cxx:2420
 AliTRDtrackerV1.cxx:2421
 AliTRDtrackerV1.cxx:2422
 AliTRDtrackerV1.cxx:2423
 AliTRDtrackerV1.cxx:2424
 AliTRDtrackerV1.cxx:2425
 AliTRDtrackerV1.cxx:2426
 AliTRDtrackerV1.cxx:2427
 AliTRDtrackerV1.cxx:2428
 AliTRDtrackerV1.cxx:2429
 AliTRDtrackerV1.cxx:2430
 AliTRDtrackerV1.cxx:2431
 AliTRDtrackerV1.cxx:2432
 AliTRDtrackerV1.cxx:2433
 AliTRDtrackerV1.cxx:2434
 AliTRDtrackerV1.cxx:2435
 AliTRDtrackerV1.cxx:2436
 AliTRDtrackerV1.cxx:2437
 AliTRDtrackerV1.cxx:2438
 AliTRDtrackerV1.cxx:2439
 AliTRDtrackerV1.cxx:2440
 AliTRDtrackerV1.cxx:2441
 AliTRDtrackerV1.cxx:2442
 AliTRDtrackerV1.cxx:2443
 AliTRDtrackerV1.cxx:2444
 AliTRDtrackerV1.cxx:2445
 AliTRDtrackerV1.cxx:2446
 AliTRDtrackerV1.cxx:2447
 AliTRDtrackerV1.cxx:2448
 AliTRDtrackerV1.cxx:2449
 AliTRDtrackerV1.cxx:2450
 AliTRDtrackerV1.cxx:2451
 AliTRDtrackerV1.cxx:2452
 AliTRDtrackerV1.cxx:2453
 AliTRDtrackerV1.cxx:2454
 AliTRDtrackerV1.cxx:2455
 AliTRDtrackerV1.cxx:2456
 AliTRDtrackerV1.cxx:2457
 AliTRDtrackerV1.cxx:2458
 AliTRDtrackerV1.cxx:2459
 AliTRDtrackerV1.cxx:2460
 AliTRDtrackerV1.cxx:2461
 AliTRDtrackerV1.cxx:2462
 AliTRDtrackerV1.cxx:2463
 AliTRDtrackerV1.cxx:2464
 AliTRDtrackerV1.cxx:2465
 AliTRDtrackerV1.cxx:2466
 AliTRDtrackerV1.cxx:2467
 AliTRDtrackerV1.cxx:2468
 AliTRDtrackerV1.cxx:2469
 AliTRDtrackerV1.cxx:2470
 AliTRDtrackerV1.cxx:2471
 AliTRDtrackerV1.cxx:2472
 AliTRDtrackerV1.cxx:2473
 AliTRDtrackerV1.cxx:2474
 AliTRDtrackerV1.cxx:2475
 AliTRDtrackerV1.cxx:2476
 AliTRDtrackerV1.cxx:2477
 AliTRDtrackerV1.cxx:2478
 AliTRDtrackerV1.cxx:2479
 AliTRDtrackerV1.cxx:2480
 AliTRDtrackerV1.cxx:2481
 AliTRDtrackerV1.cxx:2482
 AliTRDtrackerV1.cxx:2483
 AliTRDtrackerV1.cxx:2484
 AliTRDtrackerV1.cxx:2485
 AliTRDtrackerV1.cxx:2486
 AliTRDtrackerV1.cxx:2487
 AliTRDtrackerV1.cxx:2488
 AliTRDtrackerV1.cxx:2489
 AliTRDtrackerV1.cxx:2490
 AliTRDtrackerV1.cxx:2491
 AliTRDtrackerV1.cxx:2492
 AliTRDtrackerV1.cxx:2493
 AliTRDtrackerV1.cxx:2494
 AliTRDtrackerV1.cxx:2495
 AliTRDtrackerV1.cxx:2496
 AliTRDtrackerV1.cxx:2497
 AliTRDtrackerV1.cxx:2498
 AliTRDtrackerV1.cxx:2499
 AliTRDtrackerV1.cxx:2500
 AliTRDtrackerV1.cxx:2501
 AliTRDtrackerV1.cxx:2502
 AliTRDtrackerV1.cxx:2503
 AliTRDtrackerV1.cxx:2504
 AliTRDtrackerV1.cxx:2505
 AliTRDtrackerV1.cxx:2506
 AliTRDtrackerV1.cxx:2507
 AliTRDtrackerV1.cxx:2508
 AliTRDtrackerV1.cxx:2509
 AliTRDtrackerV1.cxx:2510
 AliTRDtrackerV1.cxx:2511
 AliTRDtrackerV1.cxx:2512
 AliTRDtrackerV1.cxx:2513
 AliTRDtrackerV1.cxx:2514
 AliTRDtrackerV1.cxx:2515
 AliTRDtrackerV1.cxx:2516
 AliTRDtrackerV1.cxx:2517
 AliTRDtrackerV1.cxx:2518
 AliTRDtrackerV1.cxx:2519
 AliTRDtrackerV1.cxx:2520
 AliTRDtrackerV1.cxx:2521
 AliTRDtrackerV1.cxx:2522
 AliTRDtrackerV1.cxx:2523
 AliTRDtrackerV1.cxx:2524
 AliTRDtrackerV1.cxx:2525
 AliTRDtrackerV1.cxx:2526
 AliTRDtrackerV1.cxx:2527
 AliTRDtrackerV1.cxx:2528
 AliTRDtrackerV1.cxx:2529
 AliTRDtrackerV1.cxx:2530
 AliTRDtrackerV1.cxx:2531
 AliTRDtrackerV1.cxx:2532
 AliTRDtrackerV1.cxx:2533
 AliTRDtrackerV1.cxx:2534
 AliTRDtrackerV1.cxx:2535
 AliTRDtrackerV1.cxx:2536
 AliTRDtrackerV1.cxx:2537
 AliTRDtrackerV1.cxx:2538
 AliTRDtrackerV1.cxx:2539
 AliTRDtrackerV1.cxx:2540
 AliTRDtrackerV1.cxx:2541
 AliTRDtrackerV1.cxx:2542
 AliTRDtrackerV1.cxx:2543
 AliTRDtrackerV1.cxx:2544
 AliTRDtrackerV1.cxx:2545
 AliTRDtrackerV1.cxx:2546
 AliTRDtrackerV1.cxx:2547
 AliTRDtrackerV1.cxx:2548
 AliTRDtrackerV1.cxx:2549
 AliTRDtrackerV1.cxx:2550
 AliTRDtrackerV1.cxx:2551
 AliTRDtrackerV1.cxx:2552
 AliTRDtrackerV1.cxx:2553
 AliTRDtrackerV1.cxx:2554
 AliTRDtrackerV1.cxx:2555
 AliTRDtrackerV1.cxx:2556
 AliTRDtrackerV1.cxx:2557
 AliTRDtrackerV1.cxx:2558
 AliTRDtrackerV1.cxx:2559
 AliTRDtrackerV1.cxx:2560
 AliTRDtrackerV1.cxx:2561
 AliTRDtrackerV1.cxx:2562
 AliTRDtrackerV1.cxx:2563
 AliTRDtrackerV1.cxx:2564
 AliTRDtrackerV1.cxx:2565
 AliTRDtrackerV1.cxx:2566
 AliTRDtrackerV1.cxx:2567
 AliTRDtrackerV1.cxx:2568
 AliTRDtrackerV1.cxx:2569
 AliTRDtrackerV1.cxx:2570
 AliTRDtrackerV1.cxx:2571
 AliTRDtrackerV1.cxx:2572
 AliTRDtrackerV1.cxx:2573
 AliTRDtrackerV1.cxx:2574
 AliTRDtrackerV1.cxx:2575
 AliTRDtrackerV1.cxx:2576
 AliTRDtrackerV1.cxx:2577
 AliTRDtrackerV1.cxx:2578
 AliTRDtrackerV1.cxx:2579
 AliTRDtrackerV1.cxx:2580
 AliTRDtrackerV1.cxx:2581
 AliTRDtrackerV1.cxx:2582
 AliTRDtrackerV1.cxx:2583
 AliTRDtrackerV1.cxx:2584
 AliTRDtrackerV1.cxx:2585
 AliTRDtrackerV1.cxx:2586
 AliTRDtrackerV1.cxx:2587
 AliTRDtrackerV1.cxx:2588
 AliTRDtrackerV1.cxx:2589
 AliTRDtrackerV1.cxx:2590
 AliTRDtrackerV1.cxx:2591
 AliTRDtrackerV1.cxx:2592
 AliTRDtrackerV1.cxx:2593
 AliTRDtrackerV1.cxx:2594
 AliTRDtrackerV1.cxx:2595
 AliTRDtrackerV1.cxx:2596
 AliTRDtrackerV1.cxx:2597
 AliTRDtrackerV1.cxx:2598
 AliTRDtrackerV1.cxx:2599
 AliTRDtrackerV1.cxx:2600
 AliTRDtrackerV1.cxx:2601
 AliTRDtrackerV1.cxx:2602
 AliTRDtrackerV1.cxx:2603
 AliTRDtrackerV1.cxx:2604
 AliTRDtrackerV1.cxx:2605
 AliTRDtrackerV1.cxx:2606
 AliTRDtrackerV1.cxx:2607
 AliTRDtrackerV1.cxx:2608
 AliTRDtrackerV1.cxx:2609
 AliTRDtrackerV1.cxx:2610
 AliTRDtrackerV1.cxx:2611
 AliTRDtrackerV1.cxx:2612
 AliTRDtrackerV1.cxx:2613
 AliTRDtrackerV1.cxx:2614
 AliTRDtrackerV1.cxx:2615
 AliTRDtrackerV1.cxx:2616
 AliTRDtrackerV1.cxx:2617
 AliTRDtrackerV1.cxx:2618
 AliTRDtrackerV1.cxx:2619
 AliTRDtrackerV1.cxx:2620
 AliTRDtrackerV1.cxx:2621
 AliTRDtrackerV1.cxx:2622
 AliTRDtrackerV1.cxx:2623
 AliTRDtrackerV1.cxx:2624
 AliTRDtrackerV1.cxx:2625
 AliTRDtrackerV1.cxx:2626
 AliTRDtrackerV1.cxx:2627
 AliTRDtrackerV1.cxx:2628
 AliTRDtrackerV1.cxx:2629
 AliTRDtrackerV1.cxx:2630
 AliTRDtrackerV1.cxx:2631
 AliTRDtrackerV1.cxx:2632
 AliTRDtrackerV1.cxx:2633
 AliTRDtrackerV1.cxx:2634
 AliTRDtrackerV1.cxx:2635
 AliTRDtrackerV1.cxx:2636
 AliTRDtrackerV1.cxx:2637
 AliTRDtrackerV1.cxx:2638
 AliTRDtrackerV1.cxx:2639
 AliTRDtrackerV1.cxx:2640
 AliTRDtrackerV1.cxx:2641
 AliTRDtrackerV1.cxx:2642
 AliTRDtrackerV1.cxx:2643
 AliTRDtrackerV1.cxx:2644
 AliTRDtrackerV1.cxx:2645
 AliTRDtrackerV1.cxx:2646
 AliTRDtrackerV1.cxx:2647
 AliTRDtrackerV1.cxx:2648
 AliTRDtrackerV1.cxx:2649
 AliTRDtrackerV1.cxx:2650
 AliTRDtrackerV1.cxx:2651
 AliTRDtrackerV1.cxx:2652
 AliTRDtrackerV1.cxx:2653
 AliTRDtrackerV1.cxx:2654
 AliTRDtrackerV1.cxx:2655
 AliTRDtrackerV1.cxx:2656
 AliTRDtrackerV1.cxx:2657
 AliTRDtrackerV1.cxx:2658
 AliTRDtrackerV1.cxx:2659
 AliTRDtrackerV1.cxx:2660
 AliTRDtrackerV1.cxx:2661
 AliTRDtrackerV1.cxx:2662
 AliTRDtrackerV1.cxx:2663
 AliTRDtrackerV1.cxx:2664
 AliTRDtrackerV1.cxx:2665
 AliTRDtrackerV1.cxx:2666
 AliTRDtrackerV1.cxx:2667
 AliTRDtrackerV1.cxx:2668
 AliTRDtrackerV1.cxx:2669
 AliTRDtrackerV1.cxx:2670
 AliTRDtrackerV1.cxx:2671
 AliTRDtrackerV1.cxx:2672
 AliTRDtrackerV1.cxx:2673
 AliTRDtrackerV1.cxx:2674
 AliTRDtrackerV1.cxx:2675
 AliTRDtrackerV1.cxx:2676
 AliTRDtrackerV1.cxx:2677
 AliTRDtrackerV1.cxx:2678
 AliTRDtrackerV1.cxx:2679
 AliTRDtrackerV1.cxx:2680
 AliTRDtrackerV1.cxx:2681
 AliTRDtrackerV1.cxx:2682
 AliTRDtrackerV1.cxx:2683
 AliTRDtrackerV1.cxx:2684
 AliTRDtrackerV1.cxx:2685
 AliTRDtrackerV1.cxx:2686
 AliTRDtrackerV1.cxx:2687
 AliTRDtrackerV1.cxx:2688
 AliTRDtrackerV1.cxx:2689
 AliTRDtrackerV1.cxx:2690
 AliTRDtrackerV1.cxx:2691
 AliTRDtrackerV1.cxx:2692
 AliTRDtrackerV1.cxx:2693
 AliTRDtrackerV1.cxx:2694
 AliTRDtrackerV1.cxx:2695
 AliTRDtrackerV1.cxx:2696
 AliTRDtrackerV1.cxx:2697
 AliTRDtrackerV1.cxx:2698
 AliTRDtrackerV1.cxx:2699
 AliTRDtrackerV1.cxx:2700
 AliTRDtrackerV1.cxx:2701
 AliTRDtrackerV1.cxx:2702
 AliTRDtrackerV1.cxx:2703
 AliTRDtrackerV1.cxx:2704
 AliTRDtrackerV1.cxx:2705
 AliTRDtrackerV1.cxx:2706
 AliTRDtrackerV1.cxx:2707
 AliTRDtrackerV1.cxx:2708
 AliTRDtrackerV1.cxx:2709
 AliTRDtrackerV1.cxx:2710
 AliTRDtrackerV1.cxx:2711
 AliTRDtrackerV1.cxx:2712
 AliTRDtrackerV1.cxx:2713
 AliTRDtrackerV1.cxx:2714
 AliTRDtrackerV1.cxx:2715
 AliTRDtrackerV1.cxx:2716
 AliTRDtrackerV1.cxx:2717
 AliTRDtrackerV1.cxx:2718
 AliTRDtrackerV1.cxx:2719
 AliTRDtrackerV1.cxx:2720
 AliTRDtrackerV1.cxx:2721
 AliTRDtrackerV1.cxx:2722
 AliTRDtrackerV1.cxx:2723
 AliTRDtrackerV1.cxx:2724
 AliTRDtrackerV1.cxx:2725
 AliTRDtrackerV1.cxx:2726
 AliTRDtrackerV1.cxx:2727
 AliTRDtrackerV1.cxx:2728
 AliTRDtrackerV1.cxx:2729
 AliTRDtrackerV1.cxx:2730
 AliTRDtrackerV1.cxx:2731
 AliTRDtrackerV1.cxx:2732
 AliTRDtrackerV1.cxx:2733
 AliTRDtrackerV1.cxx:2734
 AliTRDtrackerV1.cxx:2735
 AliTRDtrackerV1.cxx:2736
 AliTRDtrackerV1.cxx:2737
 AliTRDtrackerV1.cxx:2738
 AliTRDtrackerV1.cxx:2739
 AliTRDtrackerV1.cxx:2740
 AliTRDtrackerV1.cxx:2741
 AliTRDtrackerV1.cxx:2742
 AliTRDtrackerV1.cxx:2743
 AliTRDtrackerV1.cxx:2744
 AliTRDtrackerV1.cxx:2745
 AliTRDtrackerV1.cxx:2746
 AliTRDtrackerV1.cxx:2747
 AliTRDtrackerV1.cxx:2748
 AliTRDtrackerV1.cxx:2749
 AliTRDtrackerV1.cxx:2750
 AliTRDtrackerV1.cxx:2751
 AliTRDtrackerV1.cxx:2752
 AliTRDtrackerV1.cxx:2753
 AliTRDtrackerV1.cxx:2754
 AliTRDtrackerV1.cxx:2755
 AliTRDtrackerV1.cxx:2756
 AliTRDtrackerV1.cxx:2757
 AliTRDtrackerV1.cxx:2758
 AliTRDtrackerV1.cxx:2759
 AliTRDtrackerV1.cxx:2760
 AliTRDtrackerV1.cxx:2761
 AliTRDtrackerV1.cxx:2762
 AliTRDtrackerV1.cxx:2763
 AliTRDtrackerV1.cxx:2764
 AliTRDtrackerV1.cxx:2765
 AliTRDtrackerV1.cxx:2766
 AliTRDtrackerV1.cxx:2767
 AliTRDtrackerV1.cxx:2768
 AliTRDtrackerV1.cxx:2769
 AliTRDtrackerV1.cxx:2770
 AliTRDtrackerV1.cxx:2771
 AliTRDtrackerV1.cxx:2772
 AliTRDtrackerV1.cxx:2773
 AliTRDtrackerV1.cxx:2774
 AliTRDtrackerV1.cxx:2775
 AliTRDtrackerV1.cxx:2776
 AliTRDtrackerV1.cxx:2777
 AliTRDtrackerV1.cxx:2778
 AliTRDtrackerV1.cxx:2779
 AliTRDtrackerV1.cxx:2780
 AliTRDtrackerV1.cxx:2781
 AliTRDtrackerV1.cxx:2782
 AliTRDtrackerV1.cxx:2783
 AliTRDtrackerV1.cxx:2784
 AliTRDtrackerV1.cxx:2785
 AliTRDtrackerV1.cxx:2786
 AliTRDtrackerV1.cxx:2787
 AliTRDtrackerV1.cxx:2788
 AliTRDtrackerV1.cxx:2789
 AliTRDtrackerV1.cxx:2790
 AliTRDtrackerV1.cxx:2791
 AliTRDtrackerV1.cxx:2792
 AliTRDtrackerV1.cxx:2793
 AliTRDtrackerV1.cxx:2794
 AliTRDtrackerV1.cxx:2795
 AliTRDtrackerV1.cxx:2796
 AliTRDtrackerV1.cxx:2797
 AliTRDtrackerV1.cxx:2798
 AliTRDtrackerV1.cxx:2799
 AliTRDtrackerV1.cxx:2800
 AliTRDtrackerV1.cxx:2801
 AliTRDtrackerV1.cxx:2802
 AliTRDtrackerV1.cxx:2803
 AliTRDtrackerV1.cxx:2804
 AliTRDtrackerV1.cxx:2805
 AliTRDtrackerV1.cxx:2806
 AliTRDtrackerV1.cxx:2807
 AliTRDtrackerV1.cxx:2808
 AliTRDtrackerV1.cxx:2809
 AliTRDtrackerV1.cxx:2810
 AliTRDtrackerV1.cxx:2811
 AliTRDtrackerV1.cxx:2812
 AliTRDtrackerV1.cxx:2813
 AliTRDtrackerV1.cxx:2814
 AliTRDtrackerV1.cxx:2815
 AliTRDtrackerV1.cxx:2816
 AliTRDtrackerV1.cxx:2817
 AliTRDtrackerV1.cxx:2818
 AliTRDtrackerV1.cxx:2819
 AliTRDtrackerV1.cxx:2820
 AliTRDtrackerV1.cxx:2821
 AliTRDtrackerV1.cxx:2822
 AliTRDtrackerV1.cxx:2823
 AliTRDtrackerV1.cxx:2824
 AliTRDtrackerV1.cxx:2825
 AliTRDtrackerV1.cxx:2826
 AliTRDtrackerV1.cxx:2827
 AliTRDtrackerV1.cxx:2828
 AliTRDtrackerV1.cxx:2829
 AliTRDtrackerV1.cxx:2830
 AliTRDtrackerV1.cxx:2831
 AliTRDtrackerV1.cxx:2832
 AliTRDtrackerV1.cxx:2833
 AliTRDtrackerV1.cxx:2834
 AliTRDtrackerV1.cxx:2835
 AliTRDtrackerV1.cxx:2836
 AliTRDtrackerV1.cxx:2837
 AliTRDtrackerV1.cxx:2838
 AliTRDtrackerV1.cxx:2839
 AliTRDtrackerV1.cxx:2840
 AliTRDtrackerV1.cxx:2841
 AliTRDtrackerV1.cxx:2842
 AliTRDtrackerV1.cxx:2843
 AliTRDtrackerV1.cxx:2844
 AliTRDtrackerV1.cxx:2845
 AliTRDtrackerV1.cxx:2846
 AliTRDtrackerV1.cxx:2847
 AliTRDtrackerV1.cxx:2848
 AliTRDtrackerV1.cxx:2849
 AliTRDtrackerV1.cxx:2850
 AliTRDtrackerV1.cxx:2851
 AliTRDtrackerV1.cxx:2852
 AliTRDtrackerV1.cxx:2853
 AliTRDtrackerV1.cxx:2854
 AliTRDtrackerV1.cxx:2855
 AliTRDtrackerV1.cxx:2856
 AliTRDtrackerV1.cxx:2857
 AliTRDtrackerV1.cxx:2858
 AliTRDtrackerV1.cxx:2859
 AliTRDtrackerV1.cxx:2860
 AliTRDtrackerV1.cxx:2861
 AliTRDtrackerV1.cxx:2862
 AliTRDtrackerV1.cxx:2863
 AliTRDtrackerV1.cxx:2864
 AliTRDtrackerV1.cxx:2865
 AliTRDtrackerV1.cxx:2866
 AliTRDtrackerV1.cxx:2867
 AliTRDtrackerV1.cxx:2868
 AliTRDtrackerV1.cxx:2869
 AliTRDtrackerV1.cxx:2870
 AliTRDtrackerV1.cxx:2871
 AliTRDtrackerV1.cxx:2872
 AliTRDtrackerV1.cxx:2873
 AliTRDtrackerV1.cxx:2874
 AliTRDtrackerV1.cxx:2875
 AliTRDtrackerV1.cxx:2876
 AliTRDtrackerV1.cxx:2877
 AliTRDtrackerV1.cxx:2878
 AliTRDtrackerV1.cxx:2879
 AliTRDtrackerV1.cxx:2880
 AliTRDtrackerV1.cxx:2881
 AliTRDtrackerV1.cxx:2882
 AliTRDtrackerV1.cxx:2883
 AliTRDtrackerV1.cxx:2884
 AliTRDtrackerV1.cxx:2885
 AliTRDtrackerV1.cxx:2886
 AliTRDtrackerV1.cxx:2887
 AliTRDtrackerV1.cxx:2888
 AliTRDtrackerV1.cxx:2889
 AliTRDtrackerV1.cxx:2890
 AliTRDtrackerV1.cxx:2891
 AliTRDtrackerV1.cxx:2892
 AliTRDtrackerV1.cxx:2893
 AliTRDtrackerV1.cxx:2894
 AliTRDtrackerV1.cxx:2895
 AliTRDtrackerV1.cxx:2896
 AliTRDtrackerV1.cxx:2897
 AliTRDtrackerV1.cxx:2898
 AliTRDtrackerV1.cxx:2899
 AliTRDtrackerV1.cxx:2900
 AliTRDtrackerV1.cxx:2901
 AliTRDtrackerV1.cxx:2902
 AliTRDtrackerV1.cxx:2903
 AliTRDtrackerV1.cxx:2904
 AliTRDtrackerV1.cxx:2905
 AliTRDtrackerV1.cxx:2906
 AliTRDtrackerV1.cxx:2907
 AliTRDtrackerV1.cxx:2908
 AliTRDtrackerV1.cxx:2909
 AliTRDtrackerV1.cxx:2910
 AliTRDtrackerV1.cxx:2911
 AliTRDtrackerV1.cxx:2912
 AliTRDtrackerV1.cxx:2913
 AliTRDtrackerV1.cxx:2914
 AliTRDtrackerV1.cxx:2915
 AliTRDtrackerV1.cxx:2916
 AliTRDtrackerV1.cxx:2917
 AliTRDtrackerV1.cxx:2918
 AliTRDtrackerV1.cxx:2919
 AliTRDtrackerV1.cxx:2920
 AliTRDtrackerV1.cxx:2921
 AliTRDtrackerV1.cxx:2922
 AliTRDtrackerV1.cxx:2923
 AliTRDtrackerV1.cxx:2924
 AliTRDtrackerV1.cxx:2925
 AliTRDtrackerV1.cxx:2926
 AliTRDtrackerV1.cxx:2927
 AliTRDtrackerV1.cxx:2928
 AliTRDtrackerV1.cxx:2929
 AliTRDtrackerV1.cxx:2930
 AliTRDtrackerV1.cxx:2931
 AliTRDtrackerV1.cxx:2932
 AliTRDtrackerV1.cxx:2933
 AliTRDtrackerV1.cxx:2934
 AliTRDtrackerV1.cxx:2935
 AliTRDtrackerV1.cxx:2936
 AliTRDtrackerV1.cxx:2937
 AliTRDtrackerV1.cxx:2938
 AliTRDtrackerV1.cxx:2939
 AliTRDtrackerV1.cxx:2940
 AliTRDtrackerV1.cxx:2941
 AliTRDtrackerV1.cxx:2942
 AliTRDtrackerV1.cxx:2943
 AliTRDtrackerV1.cxx:2944
 AliTRDtrackerV1.cxx:2945
 AliTRDtrackerV1.cxx:2946
 AliTRDtrackerV1.cxx:2947
 AliTRDtrackerV1.cxx:2948
 AliTRDtrackerV1.cxx:2949
 AliTRDtrackerV1.cxx:2950
 AliTRDtrackerV1.cxx:2951
 AliTRDtrackerV1.cxx:2952
 AliTRDtrackerV1.cxx:2953
 AliTRDtrackerV1.cxx:2954
 AliTRDtrackerV1.cxx:2955
 AliTRDtrackerV1.cxx:2956
 AliTRDtrackerV1.cxx:2957
 AliTRDtrackerV1.cxx:2958
 AliTRDtrackerV1.cxx:2959
 AliTRDtrackerV1.cxx:2960
 AliTRDtrackerV1.cxx:2961
 AliTRDtrackerV1.cxx:2962
 AliTRDtrackerV1.cxx:2963
 AliTRDtrackerV1.cxx:2964
 AliTRDtrackerV1.cxx:2965
 AliTRDtrackerV1.cxx:2966
 AliTRDtrackerV1.cxx:2967
 AliTRDtrackerV1.cxx:2968
 AliTRDtrackerV1.cxx:2969
 AliTRDtrackerV1.cxx:2970
 AliTRDtrackerV1.cxx:2971
 AliTRDtrackerV1.cxx:2972
 AliTRDtrackerV1.cxx:2973
 AliTRDtrackerV1.cxx:2974
 AliTRDtrackerV1.cxx:2975
 AliTRDtrackerV1.cxx:2976
 AliTRDtrackerV1.cxx:2977
 AliTRDtrackerV1.cxx:2978
 AliTRDtrackerV1.cxx:2979
 AliTRDtrackerV1.cxx:2980
 AliTRDtrackerV1.cxx:2981
 AliTRDtrackerV1.cxx:2982
 AliTRDtrackerV1.cxx:2983
 AliTRDtrackerV1.cxx:2984
 AliTRDtrackerV1.cxx:2985
 AliTRDtrackerV1.cxx:2986
 AliTRDtrackerV1.cxx:2987
 AliTRDtrackerV1.cxx:2988
 AliTRDtrackerV1.cxx:2989
 AliTRDtrackerV1.cxx:2990
 AliTRDtrackerV1.cxx:2991
 AliTRDtrackerV1.cxx:2992
 AliTRDtrackerV1.cxx:2993
 AliTRDtrackerV1.cxx:2994
 AliTRDtrackerV1.cxx:2995
 AliTRDtrackerV1.cxx:2996
 AliTRDtrackerV1.cxx:2997
 AliTRDtrackerV1.cxx:2998
 AliTRDtrackerV1.cxx:2999
 AliTRDtrackerV1.cxx:3000
 AliTRDtrackerV1.cxx:3001
 AliTRDtrackerV1.cxx:3002
 AliTRDtrackerV1.cxx:3003
 AliTRDtrackerV1.cxx:3004
 AliTRDtrackerV1.cxx:3005
 AliTRDtrackerV1.cxx:3006
 AliTRDtrackerV1.cxx:3007
 AliTRDtrackerV1.cxx:3008
 AliTRDtrackerV1.cxx:3009
 AliTRDtrackerV1.cxx:3010
 AliTRDtrackerV1.cxx:3011
 AliTRDtrackerV1.cxx:3012
 AliTRDtrackerV1.cxx:3013
 AliTRDtrackerV1.cxx:3014
 AliTRDtrackerV1.cxx:3015
 AliTRDtrackerV1.cxx:3016
 AliTRDtrackerV1.cxx:3017
 AliTRDtrackerV1.cxx:3018
 AliTRDtrackerV1.cxx:3019
 AliTRDtrackerV1.cxx:3020
 AliTRDtrackerV1.cxx:3021
 AliTRDtrackerV1.cxx:3022
 AliTRDtrackerV1.cxx:3023
 AliTRDtrackerV1.cxx:3024
 AliTRDtrackerV1.cxx:3025
 AliTRDtrackerV1.cxx:3026
 AliTRDtrackerV1.cxx:3027
 AliTRDtrackerV1.cxx:3028
 AliTRDtrackerV1.cxx:3029
 AliTRDtrackerV1.cxx:3030
 AliTRDtrackerV1.cxx:3031
 AliTRDtrackerV1.cxx:3032
 AliTRDtrackerV1.cxx:3033
 AliTRDtrackerV1.cxx:3034
 AliTRDtrackerV1.cxx:3035
 AliTRDtrackerV1.cxx:3036
 AliTRDtrackerV1.cxx:3037
 AliTRDtrackerV1.cxx:3038
 AliTRDtrackerV1.cxx:3039
 AliTRDtrackerV1.cxx:3040
 AliTRDtrackerV1.cxx:3041
 AliTRDtrackerV1.cxx:3042
 AliTRDtrackerV1.cxx:3043
 AliTRDtrackerV1.cxx:3044
 AliTRDtrackerV1.cxx:3045
 AliTRDtrackerV1.cxx:3046
 AliTRDtrackerV1.cxx:3047
 AliTRDtrackerV1.cxx:3048
 AliTRDtrackerV1.cxx:3049
 AliTRDtrackerV1.cxx:3050
 AliTRDtrackerV1.cxx:3051
 AliTRDtrackerV1.cxx:3052
 AliTRDtrackerV1.cxx:3053
 AliTRDtrackerV1.cxx:3054
 AliTRDtrackerV1.cxx:3055
 AliTRDtrackerV1.cxx:3056
 AliTRDtrackerV1.cxx:3057
 AliTRDtrackerV1.cxx:3058
 AliTRDtrackerV1.cxx:3059
 AliTRDtrackerV1.cxx:3060
 AliTRDtrackerV1.cxx:3061
 AliTRDtrackerV1.cxx:3062
 AliTRDtrackerV1.cxx:3063
 AliTRDtrackerV1.cxx:3064
 AliTRDtrackerV1.cxx:3065
 AliTRDtrackerV1.cxx:3066
 AliTRDtrackerV1.cxx:3067
 AliTRDtrackerV1.cxx:3068
 AliTRDtrackerV1.cxx:3069
 AliTRDtrackerV1.cxx:3070
 AliTRDtrackerV1.cxx:3071
 AliTRDtrackerV1.cxx:3072
 AliTRDtrackerV1.cxx:3073
 AliTRDtrackerV1.cxx:3074
 AliTRDtrackerV1.cxx:3075
 AliTRDtrackerV1.cxx:3076
 AliTRDtrackerV1.cxx:3077
 AliTRDtrackerV1.cxx:3078
 AliTRDtrackerV1.cxx:3079
 AliTRDtrackerV1.cxx:3080
 AliTRDtrackerV1.cxx:3081
 AliTRDtrackerV1.cxx:3082
 AliTRDtrackerV1.cxx:3083
 AliTRDtrackerV1.cxx:3084
 AliTRDtrackerV1.cxx:3085
 AliTRDtrackerV1.cxx:3086
 AliTRDtrackerV1.cxx:3087
 AliTRDtrackerV1.cxx:3088
 AliTRDtrackerV1.cxx:3089
 AliTRDtrackerV1.cxx:3090
 AliTRDtrackerV1.cxx:3091
 AliTRDtrackerV1.cxx:3092
 AliTRDtrackerV1.cxx:3093
 AliTRDtrackerV1.cxx:3094
 AliTRDtrackerV1.cxx:3095
 AliTRDtrackerV1.cxx:3096
 AliTRDtrackerV1.cxx:3097
 AliTRDtrackerV1.cxx:3098
 AliTRDtrackerV1.cxx:3099
 AliTRDtrackerV1.cxx:3100
 AliTRDtrackerV1.cxx:3101
 AliTRDtrackerV1.cxx:3102
 AliTRDtrackerV1.cxx:3103
 AliTRDtrackerV1.cxx:3104
 AliTRDtrackerV1.cxx:3105
 AliTRDtrackerV1.cxx:3106
 AliTRDtrackerV1.cxx:3107
 AliTRDtrackerV1.cxx:3108
 AliTRDtrackerV1.cxx:3109
 AliTRDtrackerV1.cxx:3110
 AliTRDtrackerV1.cxx:3111
 AliTRDtrackerV1.cxx:3112
 AliTRDtrackerV1.cxx:3113
 AliTRDtrackerV1.cxx:3114
 AliTRDtrackerV1.cxx:3115
 AliTRDtrackerV1.cxx:3116
 AliTRDtrackerV1.cxx:3117
 AliTRDtrackerV1.cxx:3118
 AliTRDtrackerV1.cxx:3119
 AliTRDtrackerV1.cxx:3120
 AliTRDtrackerV1.cxx:3121
 AliTRDtrackerV1.cxx:3122
 AliTRDtrackerV1.cxx:3123
 AliTRDtrackerV1.cxx:3124
 AliTRDtrackerV1.cxx:3125
 AliTRDtrackerV1.cxx:3126
 AliTRDtrackerV1.cxx:3127
 AliTRDtrackerV1.cxx:3128
 AliTRDtrackerV1.cxx:3129
 AliTRDtrackerV1.cxx:3130
 AliTRDtrackerV1.cxx:3131
 AliTRDtrackerV1.cxx:3132
 AliTRDtrackerV1.cxx:3133
 AliTRDtrackerV1.cxx:3134
 AliTRDtrackerV1.cxx:3135
 AliTRDtrackerV1.cxx:3136
 AliTRDtrackerV1.cxx:3137
 AliTRDtrackerV1.cxx:3138
 AliTRDtrackerV1.cxx:3139
 AliTRDtrackerV1.cxx:3140
 AliTRDtrackerV1.cxx:3141
 AliTRDtrackerV1.cxx:3142
 AliTRDtrackerV1.cxx:3143
 AliTRDtrackerV1.cxx:3144
 AliTRDtrackerV1.cxx:3145
 AliTRDtrackerV1.cxx:3146
 AliTRDtrackerV1.cxx:3147
 AliTRDtrackerV1.cxx:3148
 AliTRDtrackerV1.cxx:3149
 AliTRDtrackerV1.cxx:3150
 AliTRDtrackerV1.cxx:3151
 AliTRDtrackerV1.cxx:3152
 AliTRDtrackerV1.cxx:3153
 AliTRDtrackerV1.cxx:3154
 AliTRDtrackerV1.cxx:3155
 AliTRDtrackerV1.cxx:3156
 AliTRDtrackerV1.cxx:3157
 AliTRDtrackerV1.cxx:3158
 AliTRDtrackerV1.cxx:3159
 AliTRDtrackerV1.cxx:3160
 AliTRDtrackerV1.cxx:3161
 AliTRDtrackerV1.cxx:3162
 AliTRDtrackerV1.cxx:3163
 AliTRDtrackerV1.cxx:3164
 AliTRDtrackerV1.cxx:3165
 AliTRDtrackerV1.cxx:3166
 AliTRDtrackerV1.cxx:3167
 AliTRDtrackerV1.cxx:3168
 AliTRDtrackerV1.cxx:3169
 AliTRDtrackerV1.cxx:3170
 AliTRDtrackerV1.cxx:3171
 AliTRDtrackerV1.cxx:3172
 AliTRDtrackerV1.cxx:3173
 AliTRDtrackerV1.cxx:3174
 AliTRDtrackerV1.cxx:3175
 AliTRDtrackerV1.cxx:3176
 AliTRDtrackerV1.cxx:3177
 AliTRDtrackerV1.cxx:3178
 AliTRDtrackerV1.cxx:3179
 AliTRDtrackerV1.cxx:3180
 AliTRDtrackerV1.cxx:3181
 AliTRDtrackerV1.cxx:3182
 AliTRDtrackerV1.cxx:3183
 AliTRDtrackerV1.cxx:3184
 AliTRDtrackerV1.cxx:3185
 AliTRDtrackerV1.cxx:3186
 AliTRDtrackerV1.cxx:3187
 AliTRDtrackerV1.cxx:3188
 AliTRDtrackerV1.cxx:3189
 AliTRDtrackerV1.cxx:3190
 AliTRDtrackerV1.cxx:3191
 AliTRDtrackerV1.cxx:3192
 AliTRDtrackerV1.cxx:3193
 AliTRDtrackerV1.cxx:3194
 AliTRDtrackerV1.cxx:3195
 AliTRDtrackerV1.cxx:3196
 AliTRDtrackerV1.cxx:3197
 AliTRDtrackerV1.cxx:3198
 AliTRDtrackerV1.cxx:3199
 AliTRDtrackerV1.cxx:3200
 AliTRDtrackerV1.cxx:3201
 AliTRDtrackerV1.cxx:3202
 AliTRDtrackerV1.cxx:3203
 AliTRDtrackerV1.cxx:3204
 AliTRDtrackerV1.cxx:3205
 AliTRDtrackerV1.cxx:3206
 AliTRDtrackerV1.cxx:3207
 AliTRDtrackerV1.cxx:3208
 AliTRDtrackerV1.cxx:3209
 AliTRDtrackerV1.cxx:3210
 AliTRDtrackerV1.cxx:3211
 AliTRDtrackerV1.cxx:3212
 AliTRDtrackerV1.cxx:3213
 AliTRDtrackerV1.cxx:3214
 AliTRDtrackerV1.cxx:3215
 AliTRDtrackerV1.cxx:3216
 AliTRDtrackerV1.cxx:3217
 AliTRDtrackerV1.cxx:3218
 AliTRDtrackerV1.cxx:3219
 AliTRDtrackerV1.cxx:3220
 AliTRDtrackerV1.cxx:3221
 AliTRDtrackerV1.cxx:3222
 AliTRDtrackerV1.cxx:3223
 AliTRDtrackerV1.cxx:3224
 AliTRDtrackerV1.cxx:3225
 AliTRDtrackerV1.cxx:3226
 AliTRDtrackerV1.cxx:3227
 AliTRDtrackerV1.cxx:3228
 AliTRDtrackerV1.cxx:3229
 AliTRDtrackerV1.cxx:3230
 AliTRDtrackerV1.cxx:3231
 AliTRDtrackerV1.cxx:3232
 AliTRDtrackerV1.cxx:3233
 AliTRDtrackerV1.cxx:3234
 AliTRDtrackerV1.cxx:3235
 AliTRDtrackerV1.cxx:3236
 AliTRDtrackerV1.cxx:3237
 AliTRDtrackerV1.cxx:3238
 AliTRDtrackerV1.cxx:3239
 AliTRDtrackerV1.cxx:3240
 AliTRDtrackerV1.cxx:3241
 AliTRDtrackerV1.cxx:3242
 AliTRDtrackerV1.cxx:3243
 AliTRDtrackerV1.cxx:3244
 AliTRDtrackerV1.cxx:3245
 AliTRDtrackerV1.cxx:3246
 AliTRDtrackerV1.cxx:3247
 AliTRDtrackerV1.cxx:3248
 AliTRDtrackerV1.cxx:3249
 AliTRDtrackerV1.cxx:3250
 AliTRDtrackerV1.cxx:3251
 AliTRDtrackerV1.cxx:3252
 AliTRDtrackerV1.cxx:3253
 AliTRDtrackerV1.cxx:3254
 AliTRDtrackerV1.cxx:3255
 AliTRDtrackerV1.cxx:3256
 AliTRDtrackerV1.cxx:3257
 AliTRDtrackerV1.cxx:3258
 AliTRDtrackerV1.cxx:3259
 AliTRDtrackerV1.cxx:3260
 AliTRDtrackerV1.cxx:3261
 AliTRDtrackerV1.cxx:3262
 AliTRDtrackerV1.cxx:3263
 AliTRDtrackerV1.cxx:3264
 AliTRDtrackerV1.cxx:3265
 AliTRDtrackerV1.cxx:3266
 AliTRDtrackerV1.cxx:3267
 AliTRDtrackerV1.cxx:3268
 AliTRDtrackerV1.cxx:3269
 AliTRDtrackerV1.cxx:3270
 AliTRDtrackerV1.cxx:3271
 AliTRDtrackerV1.cxx:3272
 AliTRDtrackerV1.cxx:3273
 AliTRDtrackerV1.cxx:3274
 AliTRDtrackerV1.cxx:3275
 AliTRDtrackerV1.cxx:3276
 AliTRDtrackerV1.cxx:3277
 AliTRDtrackerV1.cxx:3278
 AliTRDtrackerV1.cxx:3279
 AliTRDtrackerV1.cxx:3280
 AliTRDtrackerV1.cxx:3281
 AliTRDtrackerV1.cxx:3282
 AliTRDtrackerV1.cxx:3283
 AliTRDtrackerV1.cxx:3284
 AliTRDtrackerV1.cxx:3285
 AliTRDtrackerV1.cxx:3286
 AliTRDtrackerV1.cxx:3287
 AliTRDtrackerV1.cxx:3288
 AliTRDtrackerV1.cxx:3289
 AliTRDtrackerV1.cxx:3290
 AliTRDtrackerV1.cxx:3291
 AliTRDtrackerV1.cxx:3292
 AliTRDtrackerV1.cxx:3293
 AliTRDtrackerV1.cxx:3294
 AliTRDtrackerV1.cxx:3295
 AliTRDtrackerV1.cxx:3296
 AliTRDtrackerV1.cxx:3297
 AliTRDtrackerV1.cxx:3298
 AliTRDtrackerV1.cxx:3299
 AliTRDtrackerV1.cxx:3300
 AliTRDtrackerV1.cxx:3301
 AliTRDtrackerV1.cxx:3302
 AliTRDtrackerV1.cxx:3303
 AliTRDtrackerV1.cxx:3304
 AliTRDtrackerV1.cxx:3305
 AliTRDtrackerV1.cxx:3306
 AliTRDtrackerV1.cxx:3307
 AliTRDtrackerV1.cxx:3308
 AliTRDtrackerV1.cxx:3309
 AliTRDtrackerV1.cxx:3310
 AliTRDtrackerV1.cxx:3311
 AliTRDtrackerV1.cxx:3312
 AliTRDtrackerV1.cxx:3313
 AliTRDtrackerV1.cxx:3314
 AliTRDtrackerV1.cxx:3315
 AliTRDtrackerV1.cxx:3316
 AliTRDtrackerV1.cxx:3317
 AliTRDtrackerV1.cxx:3318
 AliTRDtrackerV1.cxx:3319
 AliTRDtrackerV1.cxx:3320
 AliTRDtrackerV1.cxx:3321
 AliTRDtrackerV1.cxx:3322
 AliTRDtrackerV1.cxx:3323
 AliTRDtrackerV1.cxx:3324
 AliTRDtrackerV1.cxx:3325
 AliTRDtrackerV1.cxx:3326
 AliTRDtrackerV1.cxx:3327
 AliTRDtrackerV1.cxx:3328
 AliTRDtrackerV1.cxx:3329
 AliTRDtrackerV1.cxx:3330
 AliTRDtrackerV1.cxx:3331
 AliTRDtrackerV1.cxx:3332
 AliTRDtrackerV1.cxx:3333
 AliTRDtrackerV1.cxx:3334
 AliTRDtrackerV1.cxx:3335
 AliTRDtrackerV1.cxx:3336
 AliTRDtrackerV1.cxx:3337
 AliTRDtrackerV1.cxx:3338
 AliTRDtrackerV1.cxx:3339
 AliTRDtrackerV1.cxx:3340
 AliTRDtrackerV1.cxx:3341
 AliTRDtrackerV1.cxx:3342
 AliTRDtrackerV1.cxx:3343
 AliTRDtrackerV1.cxx:3344
 AliTRDtrackerV1.cxx:3345
 AliTRDtrackerV1.cxx:3346
 AliTRDtrackerV1.cxx:3347
 AliTRDtrackerV1.cxx:3348
 AliTRDtrackerV1.cxx:3349
 AliTRDtrackerV1.cxx:3350
 AliTRDtrackerV1.cxx:3351
 AliTRDtrackerV1.cxx:3352
 AliTRDtrackerV1.cxx:3353
 AliTRDtrackerV1.cxx:3354
 AliTRDtrackerV1.cxx:3355
 AliTRDtrackerV1.cxx:3356
 AliTRDtrackerV1.cxx:3357
 AliTRDtrackerV1.cxx:3358
 AliTRDtrackerV1.cxx:3359
 AliTRDtrackerV1.cxx:3360
 AliTRDtrackerV1.cxx:3361
 AliTRDtrackerV1.cxx:3362
 AliTRDtrackerV1.cxx:3363
 AliTRDtrackerV1.cxx:3364
 AliTRDtrackerV1.cxx:3365
 AliTRDtrackerV1.cxx:3366
 AliTRDtrackerV1.cxx:3367
 AliTRDtrackerV1.cxx:3368
 AliTRDtrackerV1.cxx:3369
 AliTRDtrackerV1.cxx:3370
 AliTRDtrackerV1.cxx:3371
 AliTRDtrackerV1.cxx:3372
 AliTRDtrackerV1.cxx:3373
 AliTRDtrackerV1.cxx:3374
 AliTRDtrackerV1.cxx:3375
 AliTRDtrackerV1.cxx:3376
 AliTRDtrackerV1.cxx:3377
 AliTRDtrackerV1.cxx:3378
 AliTRDtrackerV1.cxx:3379
 AliTRDtrackerV1.cxx:3380
 AliTRDtrackerV1.cxx:3381
 AliTRDtrackerV1.cxx:3382
 AliTRDtrackerV1.cxx:3383
 AliTRDtrackerV1.cxx:3384
 AliTRDtrackerV1.cxx:3385
 AliTRDtrackerV1.cxx:3386
 AliTRDtrackerV1.cxx:3387
 AliTRDtrackerV1.cxx:3388
 AliTRDtrackerV1.cxx:3389
 AliTRDtrackerV1.cxx:3390
 AliTRDtrackerV1.cxx:3391
 AliTRDtrackerV1.cxx:3392
 AliTRDtrackerV1.cxx:3393
 AliTRDtrackerV1.cxx:3394
 AliTRDtrackerV1.cxx:3395
 AliTRDtrackerV1.cxx:3396
 AliTRDtrackerV1.cxx:3397
 AliTRDtrackerV1.cxx:3398
 AliTRDtrackerV1.cxx:3399
 AliTRDtrackerV1.cxx:3400
 AliTRDtrackerV1.cxx:3401
 AliTRDtrackerV1.cxx:3402
 AliTRDtrackerV1.cxx:3403
 AliTRDtrackerV1.cxx:3404
 AliTRDtrackerV1.cxx:3405
 AliTRDtrackerV1.cxx:3406
 AliTRDtrackerV1.cxx:3407
 AliTRDtrackerV1.cxx:3408
 AliTRDtrackerV1.cxx:3409
 AliTRDtrackerV1.cxx:3410
 AliTRDtrackerV1.cxx:3411
 AliTRDtrackerV1.cxx:3412
 AliTRDtrackerV1.cxx:3413
 AliTRDtrackerV1.cxx:3414
 AliTRDtrackerV1.cxx:3415
 AliTRDtrackerV1.cxx:3416
 AliTRDtrackerV1.cxx:3417
 AliTRDtrackerV1.cxx:3418
 AliTRDtrackerV1.cxx:3419
 AliTRDtrackerV1.cxx:3420
 AliTRDtrackerV1.cxx:3421
 AliTRDtrackerV1.cxx:3422
 AliTRDtrackerV1.cxx:3423
 AliTRDtrackerV1.cxx:3424
 AliTRDtrackerV1.cxx:3425
 AliTRDtrackerV1.cxx:3426
 AliTRDtrackerV1.cxx:3427
 AliTRDtrackerV1.cxx:3428
 AliTRDtrackerV1.cxx:3429
 AliTRDtrackerV1.cxx:3430
 AliTRDtrackerV1.cxx:3431
 AliTRDtrackerV1.cxx:3432
 AliTRDtrackerV1.cxx:3433
 AliTRDtrackerV1.cxx:3434
 AliTRDtrackerV1.cxx:3435
 AliTRDtrackerV1.cxx:3436
 AliTRDtrackerV1.cxx:3437
 AliTRDtrackerV1.cxx:3438
 AliTRDtrackerV1.cxx:3439
 AliTRDtrackerV1.cxx:3440
 AliTRDtrackerV1.cxx:3441
 AliTRDtrackerV1.cxx:3442
 AliTRDtrackerV1.cxx:3443
 AliTRDtrackerV1.cxx:3444
 AliTRDtrackerV1.cxx:3445
 AliTRDtrackerV1.cxx:3446
 AliTRDtrackerV1.cxx:3447
 AliTRDtrackerV1.cxx:3448
 AliTRDtrackerV1.cxx:3449
 AliTRDtrackerV1.cxx:3450
 AliTRDtrackerV1.cxx:3451
 AliTRDtrackerV1.cxx:3452
 AliTRDtrackerV1.cxx:3453
 AliTRDtrackerV1.cxx:3454
 AliTRDtrackerV1.cxx:3455
 AliTRDtrackerV1.cxx:3456
 AliTRDtrackerV1.cxx:3457
 AliTRDtrackerV1.cxx:3458
 AliTRDtrackerV1.cxx:3459
 AliTRDtrackerV1.cxx:3460
 AliTRDtrackerV1.cxx:3461
 AliTRDtrackerV1.cxx:3462
 AliTRDtrackerV1.cxx:3463
 AliTRDtrackerV1.cxx:3464
 AliTRDtrackerV1.cxx:3465
 AliTRDtrackerV1.cxx:3466
 AliTRDtrackerV1.cxx:3467
 AliTRDtrackerV1.cxx:3468
 AliTRDtrackerV1.cxx:3469
 AliTRDtrackerV1.cxx:3470
 AliTRDtrackerV1.cxx:3471
 AliTRDtrackerV1.cxx:3472
 AliTRDtrackerV1.cxx:3473
 AliTRDtrackerV1.cxx:3474
 AliTRDtrackerV1.cxx:3475
 AliTRDtrackerV1.cxx:3476
 AliTRDtrackerV1.cxx:3477
 AliTRDtrackerV1.cxx:3478
 AliTRDtrackerV1.cxx:3479
 AliTRDtrackerV1.cxx:3480
 AliTRDtrackerV1.cxx:3481
 AliTRDtrackerV1.cxx:3482
 AliTRDtrackerV1.cxx:3483
 AliTRDtrackerV1.cxx:3484
 AliTRDtrackerV1.cxx:3485
 AliTRDtrackerV1.cxx:3486
 AliTRDtrackerV1.cxx:3487
 AliTRDtrackerV1.cxx:3488
 AliTRDtrackerV1.cxx:3489
 AliTRDtrackerV1.cxx:3490
 AliTRDtrackerV1.cxx:3491
 AliTRDtrackerV1.cxx:3492
 AliTRDtrackerV1.cxx:3493
 AliTRDtrackerV1.cxx:3494
 AliTRDtrackerV1.cxx:3495
 AliTRDtrackerV1.cxx:3496
 AliTRDtrackerV1.cxx:3497
 AliTRDtrackerV1.cxx:3498
 AliTRDtrackerV1.cxx:3499
 AliTRDtrackerV1.cxx:3500
 AliTRDtrackerV1.cxx:3501
 AliTRDtrackerV1.cxx:3502
 AliTRDtrackerV1.cxx:3503
 AliTRDtrackerV1.cxx:3504
 AliTRDtrackerV1.cxx:3505
 AliTRDtrackerV1.cxx:3506
 AliTRDtrackerV1.cxx:3507
 AliTRDtrackerV1.cxx:3508
 AliTRDtrackerV1.cxx:3509
 AliTRDtrackerV1.cxx:3510
 AliTRDtrackerV1.cxx:3511
 AliTRDtrackerV1.cxx:3512
 AliTRDtrackerV1.cxx:3513
 AliTRDtrackerV1.cxx:3514
 AliTRDtrackerV1.cxx:3515
 AliTRDtrackerV1.cxx:3516
 AliTRDtrackerV1.cxx:3517
 AliTRDtrackerV1.cxx:3518
 AliTRDtrackerV1.cxx:3519
 AliTRDtrackerV1.cxx:3520
 AliTRDtrackerV1.cxx:3521
 AliTRDtrackerV1.cxx:3522
 AliTRDtrackerV1.cxx:3523
 AliTRDtrackerV1.cxx:3524
 AliTRDtrackerV1.cxx:3525
 AliTRDtrackerV1.cxx:3526
 AliTRDtrackerV1.cxx:3527
 AliTRDtrackerV1.cxx:3528
 AliTRDtrackerV1.cxx:3529
 AliTRDtrackerV1.cxx:3530
 AliTRDtrackerV1.cxx:3531
 AliTRDtrackerV1.cxx:3532
 AliTRDtrackerV1.cxx:3533
 AliTRDtrackerV1.cxx:3534
 AliTRDtrackerV1.cxx:3535
 AliTRDtrackerV1.cxx:3536
 AliTRDtrackerV1.cxx:3537
 AliTRDtrackerV1.cxx:3538
 AliTRDtrackerV1.cxx:3539
 AliTRDtrackerV1.cxx:3540
 AliTRDtrackerV1.cxx:3541
 AliTRDtrackerV1.cxx:3542
 AliTRDtrackerV1.cxx:3543
 AliTRDtrackerV1.cxx:3544
 AliTRDtrackerV1.cxx:3545
 AliTRDtrackerV1.cxx:3546
 AliTRDtrackerV1.cxx:3547
 AliTRDtrackerV1.cxx:3548
 AliTRDtrackerV1.cxx:3549
 AliTRDtrackerV1.cxx:3550
 AliTRDtrackerV1.cxx:3551
 AliTRDtrackerV1.cxx:3552
 AliTRDtrackerV1.cxx:3553
 AliTRDtrackerV1.cxx:3554
 AliTRDtrackerV1.cxx:3555
 AliTRDtrackerV1.cxx:3556
 AliTRDtrackerV1.cxx:3557
 AliTRDtrackerV1.cxx:3558
 AliTRDtrackerV1.cxx:3559
 AliTRDtrackerV1.cxx:3560
 AliTRDtrackerV1.cxx:3561
 AliTRDtrackerV1.cxx:3562
 AliTRDtrackerV1.cxx:3563
 AliTRDtrackerV1.cxx:3564
 AliTRDtrackerV1.cxx:3565
 AliTRDtrackerV1.cxx:3566
 AliTRDtrackerV1.cxx:3567
 AliTRDtrackerV1.cxx:3568
 AliTRDtrackerV1.cxx:3569
 AliTRDtrackerV1.cxx:3570
 AliTRDtrackerV1.cxx:3571
 AliTRDtrackerV1.cxx:3572
 AliTRDtrackerV1.cxx:3573
 AliTRDtrackerV1.cxx:3574
 AliTRDtrackerV1.cxx:3575
 AliTRDtrackerV1.cxx:3576
 AliTRDtrackerV1.cxx:3577
 AliTRDtrackerV1.cxx:3578
 AliTRDtrackerV1.cxx:3579
 AliTRDtrackerV1.cxx:3580
 AliTRDtrackerV1.cxx:3581
 AliTRDtrackerV1.cxx:3582
 AliTRDtrackerV1.cxx:3583
 AliTRDtrackerV1.cxx:3584
 AliTRDtrackerV1.cxx:3585
 AliTRDtrackerV1.cxx:3586
 AliTRDtrackerV1.cxx:3587
 AliTRDtrackerV1.cxx:3588
 AliTRDtrackerV1.cxx:3589
 AliTRDtrackerV1.cxx:3590
 AliTRDtrackerV1.cxx:3591
 AliTRDtrackerV1.cxx:3592
 AliTRDtrackerV1.cxx:3593
 AliTRDtrackerV1.cxx:3594
 AliTRDtrackerV1.cxx:3595
 AliTRDtrackerV1.cxx:3596
 AliTRDtrackerV1.cxx:3597
 AliTRDtrackerV1.cxx:3598
 AliTRDtrackerV1.cxx:3599
 AliTRDtrackerV1.cxx:3600
 AliTRDtrackerV1.cxx:3601
 AliTRDtrackerV1.cxx:3602
 AliTRDtrackerV1.cxx:3603
 AliTRDtrackerV1.cxx:3604
 AliTRDtrackerV1.cxx:3605
 AliTRDtrackerV1.cxx:3606
 AliTRDtrackerV1.cxx:3607
 AliTRDtrackerV1.cxx:3608
 AliTRDtrackerV1.cxx:3609
 AliTRDtrackerV1.cxx:3610
 AliTRDtrackerV1.cxx:3611
 AliTRDtrackerV1.cxx:3612
 AliTRDtrackerV1.cxx:3613
 AliTRDtrackerV1.cxx:3614
 AliTRDtrackerV1.cxx:3615
 AliTRDtrackerV1.cxx:3616
 AliTRDtrackerV1.cxx:3617
 AliTRDtrackerV1.cxx:3618
 AliTRDtrackerV1.cxx:3619
 AliTRDtrackerV1.cxx:3620
 AliTRDtrackerV1.cxx:3621
 AliTRDtrackerV1.cxx:3622
 AliTRDtrackerV1.cxx:3623
 AliTRDtrackerV1.cxx:3624
 AliTRDtrackerV1.cxx:3625
 AliTRDtrackerV1.cxx:3626
 AliTRDtrackerV1.cxx:3627
 AliTRDtrackerV1.cxx:3628
 AliTRDtrackerV1.cxx:3629
 AliTRDtrackerV1.cxx:3630
 AliTRDtrackerV1.cxx:3631
 AliTRDtrackerV1.cxx:3632
 AliTRDtrackerV1.cxx:3633
 AliTRDtrackerV1.cxx:3634
 AliTRDtrackerV1.cxx:3635
 AliTRDtrackerV1.cxx:3636
 AliTRDtrackerV1.cxx:3637
 AliTRDtrackerV1.cxx:3638
 AliTRDtrackerV1.cxx:3639
 AliTRDtrackerV1.cxx:3640
 AliTRDtrackerV1.cxx:3641
 AliTRDtrackerV1.cxx:3642
 AliTRDtrackerV1.cxx:3643
 AliTRDtrackerV1.cxx:3644
 AliTRDtrackerV1.cxx:3645
 AliTRDtrackerV1.cxx:3646
 AliTRDtrackerV1.cxx:3647
 AliTRDtrackerV1.cxx:3648
 AliTRDtrackerV1.cxx:3649
 AliTRDtrackerV1.cxx:3650
 AliTRDtrackerV1.cxx:3651
 AliTRDtrackerV1.cxx:3652
 AliTRDtrackerV1.cxx:3653
 AliTRDtrackerV1.cxx:3654
 AliTRDtrackerV1.cxx:3655
 AliTRDtrackerV1.cxx:3656
 AliTRDtrackerV1.cxx:3657
 AliTRDtrackerV1.cxx:3658
 AliTRDtrackerV1.cxx:3659
 AliTRDtrackerV1.cxx:3660
 AliTRDtrackerV1.cxx:3661
 AliTRDtrackerV1.cxx:3662
 AliTRDtrackerV1.cxx:3663
 AliTRDtrackerV1.cxx:3664
 AliTRDtrackerV1.cxx:3665
 AliTRDtrackerV1.cxx:3666
 AliTRDtrackerV1.cxx:3667
 AliTRDtrackerV1.cxx:3668
 AliTRDtrackerV1.cxx:3669
 AliTRDtrackerV1.cxx:3670
 AliTRDtrackerV1.cxx:3671
 AliTRDtrackerV1.cxx:3672
 AliTRDtrackerV1.cxx:3673
 AliTRDtrackerV1.cxx:3674
 AliTRDtrackerV1.cxx:3675
 AliTRDtrackerV1.cxx:3676
 AliTRDtrackerV1.cxx:3677
 AliTRDtrackerV1.cxx:3678
 AliTRDtrackerV1.cxx:3679
 AliTRDtrackerV1.cxx:3680
 AliTRDtrackerV1.cxx:3681
 AliTRDtrackerV1.cxx:3682
 AliTRDtrackerV1.cxx:3683
 AliTRDtrackerV1.cxx:3684
 AliTRDtrackerV1.cxx:3685
 AliTRDtrackerV1.cxx:3686
 AliTRDtrackerV1.cxx:3687
 AliTRDtrackerV1.cxx:3688
 AliTRDtrackerV1.cxx:3689
 AliTRDtrackerV1.cxx:3690
 AliTRDtrackerV1.cxx:3691
 AliTRDtrackerV1.cxx:3692
 AliTRDtrackerV1.cxx:3693
 AliTRDtrackerV1.cxx:3694
 AliTRDtrackerV1.cxx:3695
 AliTRDtrackerV1.cxx:3696
 AliTRDtrackerV1.cxx:3697
 AliTRDtrackerV1.cxx:3698
 AliTRDtrackerV1.cxx:3699
 AliTRDtrackerV1.cxx:3700
 AliTRDtrackerV1.cxx:3701
 AliTRDtrackerV1.cxx:3702
 AliTRDtrackerV1.cxx:3703
 AliTRDtrackerV1.cxx:3704
 AliTRDtrackerV1.cxx:3705
 AliTRDtrackerV1.cxx:3706
 AliTRDtrackerV1.cxx:3707
 AliTRDtrackerV1.cxx:3708
 AliTRDtrackerV1.cxx:3709
 AliTRDtrackerV1.cxx:3710
 AliTRDtrackerV1.cxx:3711
 AliTRDtrackerV1.cxx:3712
 AliTRDtrackerV1.cxx:3713
 AliTRDtrackerV1.cxx:3714
 AliTRDtrackerV1.cxx:3715
 AliTRDtrackerV1.cxx:3716
 AliTRDtrackerV1.cxx:3717
 AliTRDtrackerV1.cxx:3718
 AliTRDtrackerV1.cxx:3719
 AliTRDtrackerV1.cxx:3720
 AliTRDtrackerV1.cxx:3721
 AliTRDtrackerV1.cxx:3722
 AliTRDtrackerV1.cxx:3723
 AliTRDtrackerV1.cxx:3724
 AliTRDtrackerV1.cxx:3725
 AliTRDtrackerV1.cxx:3726
 AliTRDtrackerV1.cxx:3727
 AliTRDtrackerV1.cxx:3728
 AliTRDtrackerV1.cxx:3729
 AliTRDtrackerV1.cxx:3730
 AliTRDtrackerV1.cxx:3731
 AliTRDtrackerV1.cxx:3732
 AliTRDtrackerV1.cxx:3733
 AliTRDtrackerV1.cxx:3734
 AliTRDtrackerV1.cxx:3735
 AliTRDtrackerV1.cxx:3736
 AliTRDtrackerV1.cxx:3737
 AliTRDtrackerV1.cxx:3738
 AliTRDtrackerV1.cxx:3739
 AliTRDtrackerV1.cxx:3740
 AliTRDtrackerV1.cxx:3741
 AliTRDtrackerV1.cxx:3742
 AliTRDtrackerV1.cxx:3743
 AliTRDtrackerV1.cxx:3744
 AliTRDtrackerV1.cxx:3745
 AliTRDtrackerV1.cxx:3746
 AliTRDtrackerV1.cxx:3747
 AliTRDtrackerV1.cxx:3748
 AliTRDtrackerV1.cxx:3749
 AliTRDtrackerV1.cxx:3750
 AliTRDtrackerV1.cxx:3751
 AliTRDtrackerV1.cxx:3752
 AliTRDtrackerV1.cxx:3753
 AliTRDtrackerV1.cxx:3754
 AliTRDtrackerV1.cxx:3755
 AliTRDtrackerV1.cxx:3756
 AliTRDtrackerV1.cxx:3757
 AliTRDtrackerV1.cxx:3758
 AliTRDtrackerV1.cxx:3759
 AliTRDtrackerV1.cxx:3760
 AliTRDtrackerV1.cxx:3761
 AliTRDtrackerV1.cxx:3762
 AliTRDtrackerV1.cxx:3763
 AliTRDtrackerV1.cxx:3764
 AliTRDtrackerV1.cxx:3765
 AliTRDtrackerV1.cxx:3766
 AliTRDtrackerV1.cxx:3767
 AliTRDtrackerV1.cxx:3768
 AliTRDtrackerV1.cxx:3769
 AliTRDtrackerV1.cxx:3770
 AliTRDtrackerV1.cxx:3771
 AliTRDtrackerV1.cxx:3772
 AliTRDtrackerV1.cxx:3773
 AliTRDtrackerV1.cxx:3774
 AliTRDtrackerV1.cxx:3775
 AliTRDtrackerV1.cxx:3776
 AliTRDtrackerV1.cxx:3777
 AliTRDtrackerV1.cxx:3778
 AliTRDtrackerV1.cxx:3779
 AliTRDtrackerV1.cxx:3780
 AliTRDtrackerV1.cxx:3781
 AliTRDtrackerV1.cxx:3782
 AliTRDtrackerV1.cxx:3783
 AliTRDtrackerV1.cxx:3784
 AliTRDtrackerV1.cxx:3785
 AliTRDtrackerV1.cxx:3786
 AliTRDtrackerV1.cxx:3787
 AliTRDtrackerV1.cxx:3788
 AliTRDtrackerV1.cxx:3789
 AliTRDtrackerV1.cxx:3790
 AliTRDtrackerV1.cxx:3791
 AliTRDtrackerV1.cxx:3792
 AliTRDtrackerV1.cxx:3793
 AliTRDtrackerV1.cxx:3794
 AliTRDtrackerV1.cxx:3795
 AliTRDtrackerV1.cxx:3796
 AliTRDtrackerV1.cxx:3797
 AliTRDtrackerV1.cxx:3798
 AliTRDtrackerV1.cxx:3799
 AliTRDtrackerV1.cxx:3800
 AliTRDtrackerV1.cxx:3801
 AliTRDtrackerV1.cxx:3802
 AliTRDtrackerV1.cxx:3803
 AliTRDtrackerV1.cxx:3804
 AliTRDtrackerV1.cxx:3805
 AliTRDtrackerV1.cxx:3806
 AliTRDtrackerV1.cxx:3807
 AliTRDtrackerV1.cxx:3808
 AliTRDtrackerV1.cxx:3809
 AliTRDtrackerV1.cxx:3810
 AliTRDtrackerV1.cxx:3811
 AliTRDtrackerV1.cxx:3812
 AliTRDtrackerV1.cxx:3813
 AliTRDtrackerV1.cxx:3814
 AliTRDtrackerV1.cxx:3815
 AliTRDtrackerV1.cxx:3816
 AliTRDtrackerV1.cxx:3817
 AliTRDtrackerV1.cxx:3818
 AliTRDtrackerV1.cxx:3819
 AliTRDtrackerV1.cxx:3820
 AliTRDtrackerV1.cxx:3821
 AliTRDtrackerV1.cxx:3822
 AliTRDtrackerV1.cxx:3823
 AliTRDtrackerV1.cxx:3824
 AliTRDtrackerV1.cxx:3825
 AliTRDtrackerV1.cxx:3826
 AliTRDtrackerV1.cxx:3827
 AliTRDtrackerV1.cxx:3828
 AliTRDtrackerV1.cxx:3829
 AliTRDtrackerV1.cxx:3830
 AliTRDtrackerV1.cxx:3831
 AliTRDtrackerV1.cxx:3832
 AliTRDtrackerV1.cxx:3833
 AliTRDtrackerV1.cxx:3834
 AliTRDtrackerV1.cxx:3835
 AliTRDtrackerV1.cxx:3836
 AliTRDtrackerV1.cxx:3837
 AliTRDtrackerV1.cxx:3838
 AliTRDtrackerV1.cxx:3839
 AliTRDtrackerV1.cxx:3840
 AliTRDtrackerV1.cxx:3841
 AliTRDtrackerV1.cxx:3842
 AliTRDtrackerV1.cxx:3843
 AliTRDtrackerV1.cxx:3844
 AliTRDtrackerV1.cxx:3845
 AliTRDtrackerV1.cxx:3846
 AliTRDtrackerV1.cxx:3847
 AliTRDtrackerV1.cxx:3848
 AliTRDtrackerV1.cxx:3849
 AliTRDtrackerV1.cxx:3850
 AliTRDtrackerV1.cxx:3851
 AliTRDtrackerV1.cxx:3852
 AliTRDtrackerV1.cxx:3853
 AliTRDtrackerV1.cxx:3854
 AliTRDtrackerV1.cxx:3855
 AliTRDtrackerV1.cxx:3856
 AliTRDtrackerV1.cxx:3857
 AliTRDtrackerV1.cxx:3858
 AliTRDtrackerV1.cxx:3859
 AliTRDtrackerV1.cxx:3860
 AliTRDtrackerV1.cxx:3861
 AliTRDtrackerV1.cxx:3862
 AliTRDtrackerV1.cxx:3863
 AliTRDtrackerV1.cxx:3864
 AliTRDtrackerV1.cxx:3865
 AliTRDtrackerV1.cxx:3866
 AliTRDtrackerV1.cxx:3867
 AliTRDtrackerV1.cxx:3868
 AliTRDtrackerV1.cxx:3869
 AliTRDtrackerV1.cxx:3870
 AliTRDtrackerV1.cxx:3871
 AliTRDtrackerV1.cxx:3872
 AliTRDtrackerV1.cxx:3873
 AliTRDtrackerV1.cxx:3874
 AliTRDtrackerV1.cxx:3875
 AliTRDtrackerV1.cxx:3876
 AliTRDtrackerV1.cxx:3877
 AliTRDtrackerV1.cxx:3878
 AliTRDtrackerV1.cxx:3879
 AliTRDtrackerV1.cxx:3880
 AliTRDtrackerV1.cxx:3881
 AliTRDtrackerV1.cxx:3882
 AliTRDtrackerV1.cxx:3883
 AliTRDtrackerV1.cxx:3884
 AliTRDtrackerV1.cxx:3885
 AliTRDtrackerV1.cxx:3886
 AliTRDtrackerV1.cxx:3887
 AliTRDtrackerV1.cxx:3888
 AliTRDtrackerV1.cxx:3889
 AliTRDtrackerV1.cxx:3890
 AliTRDtrackerV1.cxx:3891
 AliTRDtrackerV1.cxx:3892
 AliTRDtrackerV1.cxx:3893
 AliTRDtrackerV1.cxx:3894
 AliTRDtrackerV1.cxx:3895
 AliTRDtrackerV1.cxx:3896
 AliTRDtrackerV1.cxx:3897
 AliTRDtrackerV1.cxx:3898
 AliTRDtrackerV1.cxx:3899
 AliTRDtrackerV1.cxx:3900
 AliTRDtrackerV1.cxx:3901
 AliTRDtrackerV1.cxx:3902
 AliTRDtrackerV1.cxx:3903
 AliTRDtrackerV1.cxx:3904
 AliTRDtrackerV1.cxx:3905
 AliTRDtrackerV1.cxx:3906
 AliTRDtrackerV1.cxx:3907
 AliTRDtrackerV1.cxx:3908
 AliTRDtrackerV1.cxx:3909
 AliTRDtrackerV1.cxx:3910
 AliTRDtrackerV1.cxx:3911
 AliTRDtrackerV1.cxx:3912
 AliTRDtrackerV1.cxx:3913
 AliTRDtrackerV1.cxx:3914
 AliTRDtrackerV1.cxx:3915
 AliTRDtrackerV1.cxx:3916
 AliTRDtrackerV1.cxx:3917
 AliTRDtrackerV1.cxx:3918
 AliTRDtrackerV1.cxx:3919
 AliTRDtrackerV1.cxx:3920
 AliTRDtrackerV1.cxx:3921
 AliTRDtrackerV1.cxx:3922
 AliTRDtrackerV1.cxx:3923
 AliTRDtrackerV1.cxx:3924
 AliTRDtrackerV1.cxx:3925
 AliTRDtrackerV1.cxx:3926
 AliTRDtrackerV1.cxx:3927
 AliTRDtrackerV1.cxx:3928
 AliTRDtrackerV1.cxx:3929
 AliTRDtrackerV1.cxx:3930
 AliTRDtrackerV1.cxx:3931
 AliTRDtrackerV1.cxx:3932
 AliTRDtrackerV1.cxx:3933
 AliTRDtrackerV1.cxx:3934
 AliTRDtrackerV1.cxx:3935
 AliTRDtrackerV1.cxx:3936
 AliTRDtrackerV1.cxx:3937
 AliTRDtrackerV1.cxx:3938
 AliTRDtrackerV1.cxx:3939
 AliTRDtrackerV1.cxx:3940
 AliTRDtrackerV1.cxx:3941
 AliTRDtrackerV1.cxx:3942
 AliTRDtrackerV1.cxx:3943
 AliTRDtrackerV1.cxx:3944
 AliTRDtrackerV1.cxx:3945
 AliTRDtrackerV1.cxx:3946
 AliTRDtrackerV1.cxx:3947
 AliTRDtrackerV1.cxx:3948
 AliTRDtrackerV1.cxx:3949
 AliTRDtrackerV1.cxx:3950
 AliTRDtrackerV1.cxx:3951
 AliTRDtrackerV1.cxx:3952
 AliTRDtrackerV1.cxx:3953
 AliTRDtrackerV1.cxx:3954
 AliTRDtrackerV1.cxx:3955
 AliTRDtrackerV1.cxx:3956
 AliTRDtrackerV1.cxx:3957
 AliTRDtrackerV1.cxx:3958
 AliTRDtrackerV1.cxx:3959
 AliTRDtrackerV1.cxx:3960
 AliTRDtrackerV1.cxx:3961
 AliTRDtrackerV1.cxx:3962
 AliTRDtrackerV1.cxx:3963
 AliTRDtrackerV1.cxx:3964
 AliTRDtrackerV1.cxx:3965
 AliTRDtrackerV1.cxx:3966
 AliTRDtrackerV1.cxx:3967
 AliTRDtrackerV1.cxx:3968
 AliTRDtrackerV1.cxx:3969
 AliTRDtrackerV1.cxx:3970
 AliTRDtrackerV1.cxx:3971
 AliTRDtrackerV1.cxx:3972
 AliTRDtrackerV1.cxx:3973
 AliTRDtrackerV1.cxx:3974
 AliTRDtrackerV1.cxx:3975
 AliTRDtrackerV1.cxx:3976
 AliTRDtrackerV1.cxx:3977
 AliTRDtrackerV1.cxx:3978
 AliTRDtrackerV1.cxx:3979
 AliTRDtrackerV1.cxx:3980
 AliTRDtrackerV1.cxx:3981
 AliTRDtrackerV1.cxx:3982
 AliTRDtrackerV1.cxx:3983
 AliTRDtrackerV1.cxx:3984
 AliTRDtrackerV1.cxx:3985
 AliTRDtrackerV1.cxx:3986
 AliTRDtrackerV1.cxx:3987
 AliTRDtrackerV1.cxx:3988
 AliTRDtrackerV1.cxx:3989
 AliTRDtrackerV1.cxx:3990
 AliTRDtrackerV1.cxx:3991
 AliTRDtrackerV1.cxx:3992
 AliTRDtrackerV1.cxx:3993
 AliTRDtrackerV1.cxx:3994
 AliTRDtrackerV1.cxx:3995
 AliTRDtrackerV1.cxx:3996
 AliTRDtrackerV1.cxx:3997
 AliTRDtrackerV1.cxx:3998
 AliTRDtrackerV1.cxx:3999
 AliTRDtrackerV1.cxx:4000
 AliTRDtrackerV1.cxx:4001
 AliTRDtrackerV1.cxx:4002
 AliTRDtrackerV1.cxx:4003
 AliTRDtrackerV1.cxx:4004
 AliTRDtrackerV1.cxx:4005
 AliTRDtrackerV1.cxx:4006
 AliTRDtrackerV1.cxx:4007
 AliTRDtrackerV1.cxx:4008
 AliTRDtrackerV1.cxx:4009
 AliTRDtrackerV1.cxx:4010
 AliTRDtrackerV1.cxx:4011
 AliTRDtrackerV1.cxx:4012
 AliTRDtrackerV1.cxx:4013
 AliTRDtrackerV1.cxx:4014
 AliTRDtrackerV1.cxx:4015
 AliTRDtrackerV1.cxx:4016
 AliTRDtrackerV1.cxx:4017
 AliTRDtrackerV1.cxx:4018
 AliTRDtrackerV1.cxx:4019
 AliTRDtrackerV1.cxx:4020
 AliTRDtrackerV1.cxx:4021
 AliTRDtrackerV1.cxx:4022
 AliTRDtrackerV1.cxx:4023
 AliTRDtrackerV1.cxx:4024
 AliTRDtrackerV1.cxx:4025
 AliTRDtrackerV1.cxx:4026
 AliTRDtrackerV1.cxx:4027
 AliTRDtrackerV1.cxx:4028
 AliTRDtrackerV1.cxx:4029
 AliTRDtrackerV1.cxx:4030
 AliTRDtrackerV1.cxx:4031
 AliTRDtrackerV1.cxx:4032
 AliTRDtrackerV1.cxx:4033
 AliTRDtrackerV1.cxx:4034
 AliTRDtrackerV1.cxx:4035
 AliTRDtrackerV1.cxx:4036
 AliTRDtrackerV1.cxx:4037
 AliTRDtrackerV1.cxx:4038
 AliTRDtrackerV1.cxx:4039
 AliTRDtrackerV1.cxx:4040
 AliTRDtrackerV1.cxx:4041
 AliTRDtrackerV1.cxx:4042
 AliTRDtrackerV1.cxx:4043
 AliTRDtrackerV1.cxx:4044
 AliTRDtrackerV1.cxx:4045
 AliTRDtrackerV1.cxx:4046
 AliTRDtrackerV1.cxx:4047
 AliTRDtrackerV1.cxx:4048
 AliTRDtrackerV1.cxx:4049
 AliTRDtrackerV1.cxx:4050
 AliTRDtrackerV1.cxx:4051
 AliTRDtrackerV1.cxx:4052
 AliTRDtrackerV1.cxx:4053
 AliTRDtrackerV1.cxx:4054
 AliTRDtrackerV1.cxx:4055
 AliTRDtrackerV1.cxx:4056
 AliTRDtrackerV1.cxx:4057
 AliTRDtrackerV1.cxx:4058
 AliTRDtrackerV1.cxx:4059
 AliTRDtrackerV1.cxx:4060
 AliTRDtrackerV1.cxx:4061
 AliTRDtrackerV1.cxx:4062
 AliTRDtrackerV1.cxx:4063
 AliTRDtrackerV1.cxx:4064
 AliTRDtrackerV1.cxx:4065
 AliTRDtrackerV1.cxx:4066
 AliTRDtrackerV1.cxx:4067
 AliTRDtrackerV1.cxx:4068
 AliTRDtrackerV1.cxx:4069
 AliTRDtrackerV1.cxx:4070
 AliTRDtrackerV1.cxx:4071
 AliTRDtrackerV1.cxx:4072
 AliTRDtrackerV1.cxx:4073
 AliTRDtrackerV1.cxx:4074
 AliTRDtrackerV1.cxx:4075
 AliTRDtrackerV1.cxx:4076
 AliTRDtrackerV1.cxx:4077
 AliTRDtrackerV1.cxx:4078
 AliTRDtrackerV1.cxx:4079
 AliTRDtrackerV1.cxx:4080
 AliTRDtrackerV1.cxx:4081
 AliTRDtrackerV1.cxx:4082
 AliTRDtrackerV1.cxx:4083
 AliTRDtrackerV1.cxx:4084
 AliTRDtrackerV1.cxx:4085
 AliTRDtrackerV1.cxx:4086
 AliTRDtrackerV1.cxx:4087
 AliTRDtrackerV1.cxx:4088
 AliTRDtrackerV1.cxx:4089
 AliTRDtrackerV1.cxx:4090
 AliTRDtrackerV1.cxx:4091
 AliTRDtrackerV1.cxx:4092
 AliTRDtrackerV1.cxx:4093
 AliTRDtrackerV1.cxx:4094
 AliTRDtrackerV1.cxx:4095
 AliTRDtrackerV1.cxx:4096
 AliTRDtrackerV1.cxx:4097
 AliTRDtrackerV1.cxx:4098
 AliTRDtrackerV1.cxx:4099
 AliTRDtrackerV1.cxx:4100
 AliTRDtrackerV1.cxx:4101
 AliTRDtrackerV1.cxx:4102
 AliTRDtrackerV1.cxx:4103
 AliTRDtrackerV1.cxx:4104
 AliTRDtrackerV1.cxx:4105
 AliTRDtrackerV1.cxx:4106
 AliTRDtrackerV1.cxx:4107
 AliTRDtrackerV1.cxx:4108
 AliTRDtrackerV1.cxx:4109
 AliTRDtrackerV1.cxx:4110
 AliTRDtrackerV1.cxx:4111
 AliTRDtrackerV1.cxx:4112
 AliTRDtrackerV1.cxx:4113
 AliTRDtrackerV1.cxx:4114
 AliTRDtrackerV1.cxx:4115
 AliTRDtrackerV1.cxx:4116
 AliTRDtrackerV1.cxx:4117
 AliTRDtrackerV1.cxx:4118
 AliTRDtrackerV1.cxx:4119
 AliTRDtrackerV1.cxx:4120
 AliTRDtrackerV1.cxx:4121
 AliTRDtrackerV1.cxx:4122
 AliTRDtrackerV1.cxx:4123
 AliTRDtrackerV1.cxx:4124
 AliTRDtrackerV1.cxx:4125
 AliTRDtrackerV1.cxx:4126
 AliTRDtrackerV1.cxx:4127
 AliTRDtrackerV1.cxx:4128
 AliTRDtrackerV1.cxx:4129
 AliTRDtrackerV1.cxx:4130
 AliTRDtrackerV1.cxx:4131
 AliTRDtrackerV1.cxx:4132
 AliTRDtrackerV1.cxx:4133
 AliTRDtrackerV1.cxx:4134
 AliTRDtrackerV1.cxx:4135
 AliTRDtrackerV1.cxx:4136
 AliTRDtrackerV1.cxx:4137
 AliTRDtrackerV1.cxx:4138
 AliTRDtrackerV1.cxx:4139
 AliTRDtrackerV1.cxx:4140
 AliTRDtrackerV1.cxx:4141
 AliTRDtrackerV1.cxx:4142
 AliTRDtrackerV1.cxx:4143
 AliTRDtrackerV1.cxx:4144
 AliTRDtrackerV1.cxx:4145
 AliTRDtrackerV1.cxx:4146
 AliTRDtrackerV1.cxx:4147
 AliTRDtrackerV1.cxx:4148
 AliTRDtrackerV1.cxx:4149
 AliTRDtrackerV1.cxx:4150
 AliTRDtrackerV1.cxx:4151
 AliTRDtrackerV1.cxx:4152
 AliTRDtrackerV1.cxx:4153
 AliTRDtrackerV1.cxx:4154
 AliTRDtrackerV1.cxx:4155
 AliTRDtrackerV1.cxx:4156
 AliTRDtrackerV1.cxx:4157
 AliTRDtrackerV1.cxx:4158
 AliTRDtrackerV1.cxx:4159
 AliTRDtrackerV1.cxx:4160
 AliTRDtrackerV1.cxx:4161
 AliTRDtrackerV1.cxx:4162
 AliTRDtrackerV1.cxx:4163
 AliTRDtrackerV1.cxx:4164
 AliTRDtrackerV1.cxx:4165
 AliTRDtrackerV1.cxx:4166
 AliTRDtrackerV1.cxx:4167
 AliTRDtrackerV1.cxx:4168
 AliTRDtrackerV1.cxx:4169
 AliTRDtrackerV1.cxx:4170
 AliTRDtrackerV1.cxx:4171
 AliTRDtrackerV1.cxx:4172
 AliTRDtrackerV1.cxx:4173
 AliTRDtrackerV1.cxx:4174
 AliTRDtrackerV1.cxx:4175
 AliTRDtrackerV1.cxx:4176
 AliTRDtrackerV1.cxx:4177
 AliTRDtrackerV1.cxx:4178
 AliTRDtrackerV1.cxx:4179
 AliTRDtrackerV1.cxx:4180
 AliTRDtrackerV1.cxx:4181
 AliTRDtrackerV1.cxx:4182
 AliTRDtrackerV1.cxx:4183
 AliTRDtrackerV1.cxx:4184
 AliTRDtrackerV1.cxx:4185
 AliTRDtrackerV1.cxx:4186
 AliTRDtrackerV1.cxx:4187
 AliTRDtrackerV1.cxx:4188
 AliTRDtrackerV1.cxx:4189
 AliTRDtrackerV1.cxx:4190
 AliTRDtrackerV1.cxx:4191
 AliTRDtrackerV1.cxx:4192
 AliTRDtrackerV1.cxx:4193
 AliTRDtrackerV1.cxx:4194
 AliTRDtrackerV1.cxx:4195
 AliTRDtrackerV1.cxx:4196
 AliTRDtrackerV1.cxx:4197
 AliTRDtrackerV1.cxx:4198
 AliTRDtrackerV1.cxx:4199
 AliTRDtrackerV1.cxx:4200
 AliTRDtrackerV1.cxx:4201
 AliTRDtrackerV1.cxx:4202
 AliTRDtrackerV1.cxx:4203
 AliTRDtrackerV1.cxx:4204
 AliTRDtrackerV1.cxx:4205
 AliTRDtrackerV1.cxx:4206
 AliTRDtrackerV1.cxx:4207
 AliTRDtrackerV1.cxx:4208
 AliTRDtrackerV1.cxx:4209
 AliTRDtrackerV1.cxx:4210
 AliTRDtrackerV1.cxx:4211
 AliTRDtrackerV1.cxx:4212
 AliTRDtrackerV1.cxx:4213
 AliTRDtrackerV1.cxx:4214
 AliTRDtrackerV1.cxx:4215
 AliTRDtrackerV1.cxx:4216
 AliTRDtrackerV1.cxx:4217
 AliTRDtrackerV1.cxx:4218
 AliTRDtrackerV1.cxx:4219
 AliTRDtrackerV1.cxx:4220
 AliTRDtrackerV1.cxx:4221
 AliTRDtrackerV1.cxx:4222
 AliTRDtrackerV1.cxx:4223
 AliTRDtrackerV1.cxx:4224
 AliTRDtrackerV1.cxx:4225
 AliTRDtrackerV1.cxx:4226
 AliTRDtrackerV1.cxx:4227
 AliTRDtrackerV1.cxx:4228
 AliTRDtrackerV1.cxx:4229
 AliTRDtrackerV1.cxx:4230
 AliTRDtrackerV1.cxx:4231
 AliTRDtrackerV1.cxx:4232
 AliTRDtrackerV1.cxx:4233
 AliTRDtrackerV1.cxx:4234
 AliTRDtrackerV1.cxx:4235
 AliTRDtrackerV1.cxx:4236
 AliTRDtrackerV1.cxx:4237
 AliTRDtrackerV1.cxx:4238
 AliTRDtrackerV1.cxx:4239
 AliTRDtrackerV1.cxx:4240
 AliTRDtrackerV1.cxx:4241
 AliTRDtrackerV1.cxx:4242
 AliTRDtrackerV1.cxx:4243
 AliTRDtrackerV1.cxx:4244
 AliTRDtrackerV1.cxx:4245
 AliTRDtrackerV1.cxx:4246
 AliTRDtrackerV1.cxx:4247
 AliTRDtrackerV1.cxx:4248
 AliTRDtrackerV1.cxx:4249
 AliTRDtrackerV1.cxx:4250
 AliTRDtrackerV1.cxx:4251
 AliTRDtrackerV1.cxx:4252
 AliTRDtrackerV1.cxx:4253
 AliTRDtrackerV1.cxx:4254
 AliTRDtrackerV1.cxx:4255
 AliTRDtrackerV1.cxx:4256
 AliTRDtrackerV1.cxx:4257
 AliTRDtrackerV1.cxx:4258
 AliTRDtrackerV1.cxx:4259
 AliTRDtrackerV1.cxx:4260
 AliTRDtrackerV1.cxx:4261
 AliTRDtrackerV1.cxx:4262
 AliTRDtrackerV1.cxx:4263
 AliTRDtrackerV1.cxx:4264
 AliTRDtrackerV1.cxx:4265
 AliTRDtrackerV1.cxx:4266
 AliTRDtrackerV1.cxx:4267
 AliTRDtrackerV1.cxx:4268
 AliTRDtrackerV1.cxx:4269
 AliTRDtrackerV1.cxx:4270
 AliTRDtrackerV1.cxx:4271
 AliTRDtrackerV1.cxx:4272
 AliTRDtrackerV1.cxx:4273
 AliTRDtrackerV1.cxx:4274
 AliTRDtrackerV1.cxx:4275
 AliTRDtrackerV1.cxx:4276
 AliTRDtrackerV1.cxx:4277
 AliTRDtrackerV1.cxx:4278
 AliTRDtrackerV1.cxx:4279
 AliTRDtrackerV1.cxx:4280
 AliTRDtrackerV1.cxx:4281
 AliTRDtrackerV1.cxx:4282
 AliTRDtrackerV1.cxx:4283
 AliTRDtrackerV1.cxx:4284
 AliTRDtrackerV1.cxx:4285
 AliTRDtrackerV1.cxx:4286
 AliTRDtrackerV1.cxx:4287
 AliTRDtrackerV1.cxx:4288
 AliTRDtrackerV1.cxx:4289
 AliTRDtrackerV1.cxx:4290
 AliTRDtrackerV1.cxx:4291
 AliTRDtrackerV1.cxx:4292
 AliTRDtrackerV1.cxx:4293
 AliTRDtrackerV1.cxx:4294
 AliTRDtrackerV1.cxx:4295
 AliTRDtrackerV1.cxx:4296
 AliTRDtrackerV1.cxx:4297
 AliTRDtrackerV1.cxx:4298
 AliTRDtrackerV1.cxx:4299
 AliTRDtrackerV1.cxx:4300
 AliTRDtrackerV1.cxx:4301
 AliTRDtrackerV1.cxx:4302
 AliTRDtrackerV1.cxx:4303
 AliTRDtrackerV1.cxx:4304
 AliTRDtrackerV1.cxx:4305
 AliTRDtrackerV1.cxx:4306
 AliTRDtrackerV1.cxx:4307
 AliTRDtrackerV1.cxx:4308
 AliTRDtrackerV1.cxx:4309
 AliTRDtrackerV1.cxx:4310
 AliTRDtrackerV1.cxx:4311
 AliTRDtrackerV1.cxx:4312
 AliTRDtrackerV1.cxx:4313
 AliTRDtrackerV1.cxx:4314
 AliTRDtrackerV1.cxx:4315
 AliTRDtrackerV1.cxx:4316
 AliTRDtrackerV1.cxx:4317
 AliTRDtrackerV1.cxx:4318
 AliTRDtrackerV1.cxx:4319
 AliTRDtrackerV1.cxx:4320
 AliTRDtrackerV1.cxx:4321
 AliTRDtrackerV1.cxx:4322
 AliTRDtrackerV1.cxx:4323
 AliTRDtrackerV1.cxx:4324
 AliTRDtrackerV1.cxx:4325
 AliTRDtrackerV1.cxx:4326
 AliTRDtrackerV1.cxx:4327
 AliTRDtrackerV1.cxx:4328
 AliTRDtrackerV1.cxx:4329
 AliTRDtrackerV1.cxx:4330
 AliTRDtrackerV1.cxx:4331
 AliTRDtrackerV1.cxx:4332
 AliTRDtrackerV1.cxx:4333
 AliTRDtrackerV1.cxx:4334
 AliTRDtrackerV1.cxx:4335
 AliTRDtrackerV1.cxx:4336
 AliTRDtrackerV1.cxx:4337
 AliTRDtrackerV1.cxx:4338
 AliTRDtrackerV1.cxx:4339
 AliTRDtrackerV1.cxx:4340
 AliTRDtrackerV1.cxx:4341
 AliTRDtrackerV1.cxx:4342
 AliTRDtrackerV1.cxx:4343
 AliTRDtrackerV1.cxx:4344
 AliTRDtrackerV1.cxx:4345
 AliTRDtrackerV1.cxx:4346
 AliTRDtrackerV1.cxx:4347
 AliTRDtrackerV1.cxx:4348
 AliTRDtrackerV1.cxx:4349
 AliTRDtrackerV1.cxx:4350
 AliTRDtrackerV1.cxx:4351
 AliTRDtrackerV1.cxx:4352
 AliTRDtrackerV1.cxx:4353
 AliTRDtrackerV1.cxx:4354
 AliTRDtrackerV1.cxx:4355
 AliTRDtrackerV1.cxx:4356
 AliTRDtrackerV1.cxx:4357
 AliTRDtrackerV1.cxx:4358
 AliTRDtrackerV1.cxx:4359
 AliTRDtrackerV1.cxx:4360
 AliTRDtrackerV1.cxx:4361
 AliTRDtrackerV1.cxx:4362
 AliTRDtrackerV1.cxx:4363
 AliTRDtrackerV1.cxx:4364
 AliTRDtrackerV1.cxx:4365
 AliTRDtrackerV1.cxx:4366
 AliTRDtrackerV1.cxx:4367
 AliTRDtrackerV1.cxx:4368
 AliTRDtrackerV1.cxx:4369
 AliTRDtrackerV1.cxx:4370
 AliTRDtrackerV1.cxx:4371