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

/* $Id$ */

//-----------------------------------------------------------------------------
/// \class AliMUONTrackReconstructor
/// MUON track reconstructor using the original method
///
/// This class contains as data:
/// - the parameters for the track reconstruction
///
/// It contains as methods, among others:
/// - MakeTracks to build the tracks
//-----------------------------------------------------------------------------

#include "AliMUONTrackReconstructor.h"

#include "AliMUONConstants.h"
#include "AliMUONVCluster.h"
#include "AliMUONVClusterServer.h"
#include "AliMUONVClusterStore.h"
#include "AliMUONTrack.h"
#include "AliMUONTrackParam.h"
#include "AliMUONTrackExtrap.h"
#include "AliMUONRecoParam.h"
#include "AliMUONGeometryTransformer.h"

#include "AliMpArea.h"

#include "AliLog.h"

#include <TMinuit.h>
#include <Riostream.h>
#include <TMath.h>
#include <TMatrixD.h>
#include <TClonesArray.h>

// Functions to be minimized with Minuit
void TrackChi2(Int_t &nParam, Double_t *gradient, Double_t &chi2, Double_t *param, Int_t flag);

using std::endl;
using std::cout;
/// \cond CLASSIMP
ClassImp(AliMUONTrackReconstructor) // Class implementation in ROOT context
/// \endcond

  //__________________________________________________________________________
AliMUONTrackReconstructor::AliMUONTrackReconstructor(const AliMUONRecoParam* recoParam, AliMUONVClusterServer* clusterServer,
						     const AliMUONGeometryTransformer* transformer)
  : AliMUONVTrackReconstructor(recoParam, clusterServer, transformer)
{
  /// Constructor
}

  //__________________________________________________________________________
AliMUONTrackReconstructor::~AliMUONTrackReconstructor()
{
/// Destructor
} 

  //__________________________________________________________________________
Bool_t AliMUONTrackReconstructor::MakeTrackCandidates(AliMUONVClusterStore& clusterStore)
{
  /// To make track candidates (assuming linear propagation if the flag fgkMakeTrackCandidatesFast is set to kTRUE):
  /// Start with segments station(1..) 4 or 5 then follow track in station 5 or 4.
  /// Good candidates are made of at least three clusters.
  /// Keep only best candidates or all of them according to the flag fgkTrackAllTracks.
  
  TClonesArray *segments;
  AliMUONTrack *track;
  Int_t iCandidate = 0;
  Bool_t clusterFound;

  AliDebug(1,"Enter MakeTrackCandidates");

  // Unless we're doing combined tracking, we'll clusterize all stations at once
  Int_t firstChamber(0);
  Int_t lastChamber(9);
  
  if (GetRecoParam()->CombineClusterTrackReco()) {
    // ... Here's the exception : ask the clustering to reconstruct
    // clusters *only* in station 4 and 5 for combined tracking
    firstChamber = 6;
  }

  for (Int_t i = firstChamber; i <= lastChamber; ++i ) 
  {
    if (fClusterServer && GetRecoParam()->UseChamber(i)) fClusterServer->Clusterize(i, clusterStore, AliMpArea(), GetRecoParam());
  }
  
  // Loop over stations(1..) 5 and 4 and make track candidates
  for (Int_t istat=4; istat>=3; istat--) {
    
    // Make segments in the station
    segments = MakeSegmentsBetweenChambers(clusterStore, 2*istat, 2*istat+1);
    
    // Loop over segments
    for (Int_t iseg=0; iseg<segments->GetEntriesFast(); iseg++) 
    {
      AliDebug(1,Form("Making primary candidate(1..) %d",++iCandidate));
      
      // Transform segments to tracks and put them at the end of fRecTracksPtr
      track = new ((*fRecTracksPtr)[fRecTracksPtr->GetLast()+1]) AliMUONTrack((AliMUONObjectPair*)((*segments)[iseg]),GetRecoParam()->GetBendingVertexDispersion());
      fNRecTracks++;
      
      // Look for compatible cluster(s) in the other station
      if (GetRecoParam()->MakeTrackCandidatesFast())
	clusterFound = FollowLinearTrackInStation(*track, clusterStore, 7-istat);
      else clusterFound = FollowTrackInStation(*track, clusterStore, 7-istat);
      
      // Remove track if no cluster found on a requested station
      // or abort tracking if there are too many candidates
      if (GetRecoParam()->RequestStation(7-istat)) {
	if (!clusterFound) {
	  fRecTracksPtr->Remove(track);
	  fNRecTracks--;
	} else if (fNRecTracks > GetRecoParam()->GetMaxTrackCandidates()) {
	  AliError(Form("Too many track candidates (%d tracks). Stop tracking.", fNRecTracks));
	  return kFALSE;
	}
      } else {
	if ((fNRecTracks + segments->GetEntriesFast() - iseg - 1) > GetRecoParam()->GetMaxTrackCandidates()) {
	  AliError(Form("Too many track candidates (%d tracks). Stop tracking.", fNRecTracks + segments->GetEntriesFast() - iseg - 1));
	  return kFALSE;
	}
      }
      
    }
    
  }
  
  // Keep all different tracks or only the best ones as required
  if (GetRecoParam()->TrackAllTracks()) RemoveIdenticalTracks();
  else RemoveDoubleTracks();
  
  AliDebug(1,Form("Number of good candidates = %d",fNRecTracks));
  
  return kTRUE;
  
}

  //__________________________________________________________________________
Bool_t AliMUONTrackReconstructor::MakeMoreTrackCandidates(AliMUONVClusterStore& clusterStore)
{
  /// To make extra track candidates (assuming linear propagation if the flag fgkMakeTrackCandidatesFast is set to kTRUE):
  /// clustering is supposed to be already done
  /// Start with segments made of 1 cluster in each of the stations 4 and 5 then follow track in remaining chambers.
  /// Good candidates are made of at least three clusters if both station are requested (two otherwise).
  /// Keep only best candidates or all of them according to the flag fgkTrackAllTracks.
  
  TClonesArray *segments;
  AliMUONObjectPair *segment;
  AliMUONTrack *track;
  Int_t iCandidate = 0, iCurrentTrack, nCurrentTracks;
  Bool_t clusterFound;
  
  AliDebug(1,"Enter MakeMoreTrackCandidates");
  
  // Double loop over chambers in stations(1..) 4 and 5 to make track candidates
  for (Int_t ich1 = 6; ich1 <= 7; ich1++) {
    for (Int_t ich2 = 8; ich2 <= 9; ich2++) {
      
      // Make segments in the station
      segments = MakeSegmentsBetweenChambers(clusterStore, ich1, ich2);
      
      /// Remove segments already attached to a track
      RemoveUsedSegments(*segments);
      
      // Loop over segments
      for (Int_t iSegment=0; iSegment<segments->GetEntriesFast(); iSegment++)
      {
	AliDebug(1,Form("Making primary candidate(1..) %d",++iCandidate));
	segment = (AliMUONObjectPair*) segments->UncheckedAt(iSegment);
	
	// Transform segments to tracks and put them at the end of fRecTracksPtr
	iCurrentTrack = fRecTracksPtr->GetLast()+1;
	track = new ((*fRecTracksPtr)[iCurrentTrack]) AliMUONTrack(segment,GetRecoParam()->GetBendingVertexDispersion());
	fNRecTracks++;
	
	// Look for compatible cluster(s) in the second chamber of station 5
	clusterFound = FollowLinearTrackInChamber(*track, clusterStore, 17-ich2);
	
	// skip the original track in case it has been removed
	if (GetRecoParam()->TrackAllTracks() && clusterFound) iCurrentTrack++;
	
	// loop over every new tracks
	nCurrentTracks = fRecTracksPtr->GetLast()+1;
	while (iCurrentTrack < nCurrentTracks) {
	  track = (AliMUONTrack*) fRecTracksPtr->UncheckedAt(iCurrentTrack);
	  
	  // Look for compatible cluster(s) in the second chamber of station 4
	  FollowLinearTrackInChamber(*track, clusterStore, 13-ich1);
	  
	  iCurrentTrack++;
	}
	
	// abort tracking if there are too many candidates
	if ((fNRecTracks + segments->GetEntriesFast() - iSegment - 1) > GetRecoParam()->GetMaxTrackCandidates()) {
	  AliError(Form("Too many track candidates (%d tracks). Stop tracking.", fNRecTracks + segments->GetEntriesFast() - iSegment - 1));
	  return kFALSE;
	}
	
      }
      
    }
  }
  
  // Keep only the best tracks if required
  if (!GetRecoParam()->TrackAllTracks()) RemoveDoubleTracks();
  else fRecTracksPtr->Compress();
  
  AliDebug(1,Form("Number of good candidates = %d",fNRecTracks));
  
  return kTRUE;
  
}

  //__________________________________________________________________________
Bool_t AliMUONTrackReconstructor::FollowTracks(AliMUONVClusterStore& clusterStore)
{
  /// Follow tracks in stations(1..) 3, 2 and 1
  AliDebug(1,"Enter FollowTracks");
  
  AliMUONTrack *track, *nextTrack;
  AliMUONTrackParam *trackParam, *nextTrackParam;
  Int_t currentNRecTracks;
  
  Double_t sigmaCut2 = GetRecoParam()->GetSigmaCutForTracking() *
                       GetRecoParam()->GetSigmaCutForTracking();
  
  for (Int_t station = 2; station >= 0; station--) {
    
    // Save the actual number of reconstructed track in case of
    // tracks are added or suppressed during the tracking procedure
    // !! Do not compress fRecTracksPtr until the end of the loop over tracks !!
    currentNRecTracks = fNRecTracks;
    
    for (Int_t iRecTrack = 0; iRecTrack <currentNRecTracks; iRecTrack++) {
      AliDebug(1,Form("FollowTracks: track candidate(1..) %d", iRecTrack+1));
      
      track = (AliMUONTrack*) fRecTracksPtr->UncheckedAt(iRecTrack);
      
      // Fit the track:
      // Do not take into account the multiple scattering to speed up the fit
      // Calculate the track parameter covariance matrix
      // If there is no cluster out of station 4 or 5 then use the vertex to better constrain the fit
      if (((AliMUONTrackParam*) track->GetTrackParamAtCluster()->First())->GetClusterPtr()->GetChamberId() > 5)
	Fit(*track, kFALSE, kTRUE, kTRUE);
      else Fit(*track, kFALSE, kFALSE, kTRUE);
      
      // remove tracks out of limits
      if (!IsAcceptable(*((AliMUONTrackParam*)track->GetTrackParamAtCluster()->First()))) {
	fRecTracksPtr->Remove(track);
	fNRecTracks--;
	continue;
      }
      
      // remove track if the normalized chi2 is too high
      if (track->GetNormalizedChi2() > sigmaCut2) {
	fRecTracksPtr->Remove(track);
	fNRecTracks--;
	continue;
      }
      
      // save parameters from fit into smoothed parameters to complete track afterward
      if (GetRecoParam()->ComplementTracks()) {
	
	if (station==2) { // save track parameters on stations 4 and 5
	  
	  // extrapolate track parameters and covariances at each cluster
	  // remove the track in case of failure
	  if (!track->UpdateCovTrackParamAtCluster()) {
	    fRecTracksPtr->Remove(track);
	    fNRecTracks--;
	    continue;
	  }
	  
	  // save them
	  trackParam = (AliMUONTrackParam*) track->GetTrackParamAtCluster()->First();
	  while (trackParam) {
	    trackParam->SetSmoothParameters(trackParam->GetParameters());
	    trackParam->SetSmoothCovariances(trackParam->GetCovariances());
	    trackParam = (AliMUONTrackParam*) track->GetTrackParamAtCluster()->After(trackParam);
	  }
	  
	} else { // or save track parameters on last station only
	  
	  trackParam = (AliMUONTrackParam*) track->GetTrackParamAtCluster()->First();
	  if (trackParam->GetClusterPtr()->GetChamberId() < 2*(station+2)) {
	    
	    // save parameters from fit
	    trackParam->SetSmoothParameters(trackParam->GetParameters());
	    trackParam->SetSmoothCovariances(trackParam->GetCovariances());
	    
	    // save parameters extrapolated to the second chamber of the same station if it has been hit
	    nextTrackParam = (AliMUONTrackParam*) track->GetTrackParamAtCluster()->After(trackParam);
	    if (nextTrackParam->GetClusterPtr()->GetChamberId() < 2*(station+2)) {
	      
	      // reset parameters and covariances
	      nextTrackParam->SetParameters(trackParam->GetParameters());
	      nextTrackParam->SetZ(trackParam->GetZ());
	      nextTrackParam->SetCovariances(trackParam->GetCovariances());
	      
	      // extrapolate them to the z of the corresponding cluster
	      // remove the track in case of failure
	      if (!AliMUONTrackExtrap::ExtrapToZCov(nextTrackParam, nextTrackParam->GetClusterPtr()->GetZ())) {
		fRecTracksPtr->Remove(track);
		fNRecTracks--;
		continue;
	      }
	      
	      // save them
	      nextTrackParam->SetSmoothParameters(nextTrackParam->GetParameters());
	      nextTrackParam->SetSmoothCovariances(nextTrackParam->GetCovariances());
	      
	    }
	    
	  }
	  
	}
	
      }
      
      // Look for compatible cluster(s) in station(0..) "station"
      if (!FollowTrackInStation(*track, clusterStore, station)) {
	
	// Try to recover track if required
	if (GetRecoParam()->RecoverTracks()) {
	  
	  // work on a copy of the track if this station is not required
	  // to keep the case where no cluster is reconstructed as a possible candidate
	  if (!GetRecoParam()->RequestStation(station)) {
	    track = new ((*fRecTracksPtr)[fRecTracksPtr->GetLast()+1]) AliMUONTrack(*track);
	    fNRecTracks++;
	  }
	  
	  // try to recover
	  if (!RecoverTrack(*track, clusterStore, station)) {
	    // remove track if no cluster found
	    fRecTracksPtr->Remove(track);
	    fNRecTracks--;
	  }
	  
	} else if (GetRecoParam()->RequestStation(station)) {
	  // remove track if no cluster found
	  fRecTracksPtr->Remove(track);
	  fNRecTracks--;
	} 
	
      }
      
      // abort tracking if there are too many candidates
      if (fNRecTracks > GetRecoParam()->GetMaxTrackCandidates()) {
	AliError(Form("Too many track candidates (%d tracks). Stop tracking.", fNRecTracks));
	return kFALSE;
      }
      
    }
    
    // Compress fRecTracksPtr for the next step
    fRecTracksPtr->Compress();
    
    // Keep only the best tracks if required
    if (!GetRecoParam()->TrackAllTracks()) RemoveDoubleTracks();
    
  }
  
  // Last fit of track candidates with all stations
  // Take into account the multiple scattering and remove bad tracks
  Int_t trackIndex = -1;
  track = (AliMUONTrack*) fRecTracksPtr->First();
  while (track) {
    
    trackIndex++;
    nextTrack = (AliMUONTrack*) fRecTracksPtr->After(track); // prepare next track
    
    Fit(*track, kTRUE, kFALSE, kTRUE);
    
    // Printout for debuging
    if (AliLog::GetGlobalDebugLevel() >= 3) {
      cout << "FollowTracks: track candidate(0..) " << trackIndex << " after final fit" << endl;
      track->RecursiveDump();
    } 
    
    // Remove the track if the normalized chi2 is too high
    if (track->GetNormalizedChi2() > sigmaCut2) {
      fRecTracksPtr->Remove(track);
      fNRecTracks--;
      track = nextTrack;
      continue;
    }
    
    // save parameters from fit into smoothed parameters to complete track afterward
    if (GetRecoParam()->ComplementTracks()) {
      
      trackParam = (AliMUONTrackParam*) track->GetTrackParamAtCluster()->First();
      if (trackParam->GetClusterPtr()->GetChamberId() < 2) {
	
	// save parameters from fit
	trackParam->SetSmoothParameters(trackParam->GetParameters());
	trackParam->SetSmoothCovariances(trackParam->GetCovariances());
	
	// save parameters extrapolated to the second chamber of the same station if it has been hit
	nextTrackParam = (AliMUONTrackParam*) track->GetTrackParamAtCluster()->After(trackParam);
	if (nextTrackParam->GetClusterPtr()->GetChamberId() < 2) {
	  
	  // reset parameters and covariances
	  nextTrackParam->SetParameters(trackParam->GetParameters());
	  nextTrackParam->SetZ(trackParam->GetZ());
	  nextTrackParam->SetCovariances(trackParam->GetCovariances());
	  
	  // extrapolate them to the z of the corresponding cluster
	  // remove the track in case of failure
	  if (!AliMUONTrackExtrap::ExtrapToZCov(nextTrackParam, nextTrackParam->GetClusterPtr()->GetZ())) {
	    fRecTracksPtr->Remove(track);
	    fNRecTracks--;
	    track = nextTrack;
	    continue;
	  }
	  
	  // save them
	  nextTrackParam->SetSmoothParameters(nextTrackParam->GetParameters());
	  nextTrackParam->SetSmoothCovariances(nextTrackParam->GetCovariances());
	  
	}
	
      }
      
    }
    
    track = nextTrack;
    
  }
  
  fRecTracksPtr->Compress();
  
  return kTRUE;
  
}

  //__________________________________________________________________________
Bool_t AliMUONTrackReconstructor::FollowTrackInChamber(AliMUONTrack &trackCandidate, AliMUONVClusterStore& clusterStore, Int_t nextChamber)
{
  /// Follow trackCandidate in chamber(0..) nextChamber and search for compatible cluster(s)
  /// Keep all possibilities or only the best one(s) according to the flag fgkTrackAllTracks:
  /// kTRUE:  duplicate "trackCandidate" if there are several possibilities and add the new tracks at the end of
  ///         fRecTracksPtr to avoid conficts with other track candidates at this current stage of the tracking procedure.
  ///         Remove the obsolete "trackCandidate" at the end.
  /// kFALSE: add only the best cluster(s) to the "trackCandidate". Try to add a couple of clusters in priority.
  AliDebug(1,Form("Enter FollowTrackInChamber(1..) %d", nextChamber+1));
  
  Double_t chi2WithOneCluster = AliMUONTrack::MaxChi2();
  Double_t maxChi2WithOneCluster = 2. * GetRecoParam()->GetSigmaCutForTracking() *
					GetRecoParam()->GetSigmaCutForTracking(); // 2 because 2 quantities in chi2
  Double_t bestChi2WithOneCluster = maxChi2WithOneCluster;
  Bool_t foundOneCluster = kFALSE;
  AliMUONTrack *newTrack = 0x0;
  AliMUONVCluster *cluster;
  AliMUONTrackParam extrapTrackParam;
  AliMUONTrackParam extrapTrackParamAtCh;
  AliMUONTrackParam extrapTrackParamAtCluster;
  AliMUONTrackParam bestTrackParamAtCluster;
  
  // Get track parameters according to the propagation direction
  if (nextChamber > 7) extrapTrackParamAtCh = *(AliMUONTrackParam*)trackCandidate.GetTrackParamAtCluster()->Last();
  else extrapTrackParamAtCh = *(AliMUONTrackParam*)trackCandidate.GetTrackParamAtCluster()->First();
  
  // Printout for debuging
  if ((AliLog::GetDebugLevel("MUON","AliMUONTrackReconstructor") >= 2) || (AliLog::GetGlobalDebugLevel() >= 2)) {
    cout<<endl<<"Track parameters and covariances at first cluster:"<<endl;
    extrapTrackParamAtCh.GetParameters().Print();
    extrapTrackParamAtCh.GetCovariances().Print();
  }
  
  // Add MCS effect
  Int_t currentChamber = extrapTrackParamAtCh.GetClusterPtr()->GetChamberId();
  AliMUONTrackExtrap::AddMCSEffect(&extrapTrackParamAtCh,AliMUONConstants::ChamberThicknessInX0(currentChamber),-1.);
  
  // Add MCS in the missing chamber(s) if any
  while (currentChamber > nextChamber + 1) {
    // extrapolation to the missing chamber
    currentChamber--;
    if (!AliMUONTrackExtrap::ExtrapToZCov(&extrapTrackParamAtCh, AliMUONConstants::DefaultChamberZ(currentChamber))) return kFALSE;
    // add MCS effect
    AliMUONTrackExtrap::AddMCSEffect(&extrapTrackParamAtCh,AliMUONConstants::ChamberThicknessInX0(currentChamber),-1.);
  }
  
  //Extrapolate trackCandidate to chamber
  if (!AliMUONTrackExtrap::ExtrapToZCov(&extrapTrackParamAtCh, AliMUONConstants::DefaultChamberZ(nextChamber))) return kFALSE;
  
  // Printout for debuging
  if ((AliLog::GetDebugLevel("MUON","AliMUONTrackReconstructor") >= 2) || (AliLog::GetGlobalDebugLevel() >= 2)) {
    cout<<endl<<"Track parameters and covariances at first cluster extrapolated to z = "<<AliMUONConstants::DefaultChamberZ(nextChamber)<<":"<<endl;
    extrapTrackParamAtCh.GetParameters().Print();
    extrapTrackParamAtCh.GetCovariances().Print();
  }
  
  // Printout for debuging
  if ((AliLog::GetDebugLevel("MUON","AliMUONTrackReconstructor") >= 1) || (AliLog::GetGlobalDebugLevel() >= 1)) {
    cout << "FollowTrackInStation: look for clusters in chamber(1..): " << nextChamber+1 << endl;
  }
  
  // Ask the clustering to reconstruct new clusters around the track position in the current chamber
  // except for station 4 and 5 that are already entirely clusterized
  if (GetRecoParam()->CombineClusterTrackReco()) {
    if (nextChamber < 6) AskForNewClustersInChamber(extrapTrackParamAtCh, clusterStore, nextChamber);
  }
  
  // Create iterators to loop over clusters in both chambers
  TIter next(clusterStore.CreateChamberIterator(nextChamber,nextChamber));
  
  // look for cluster in chamber
  while ( ( cluster = static_cast<AliMUONVCluster*>(next()) ) ) {
    
    // try to add the current cluster fast
    if (!TryOneClusterFast(extrapTrackParamAtCh, cluster)) continue;
    
    // try to add the current cluster accuratly
    chi2WithOneCluster = TryOneCluster(extrapTrackParamAtCh, cluster, extrapTrackParamAtCluster);
    
    // if good chi2 then consider to add cluster
    if (chi2WithOneCluster < maxChi2WithOneCluster) {
      foundOneCluster = kTRUE;
      
      // Printout for debuging
      if ((AliLog::GetDebugLevel("MUON","AliMUONTrackReconstructor") >= 1) || (AliLog::GetGlobalDebugLevel() >= 1)) {
	cout << "FollowTrackInStation: found one cluster in chamber(1..): " << nextChamber+1
	<< " (Chi2 = " << chi2WithOneCluster << ")" << endl;
	cluster->Print();
      }
      
      if (GetRecoParam()->TrackAllTracks()) {
	// copy trackCandidate into a new track put at the end of fRecTracksPtr and add the new cluster
	newTrack = new ((*fRecTracksPtr)[fRecTracksPtr->GetLast()+1]) AliMUONTrack(trackCandidate);
	UpdateTrack(*newTrack,extrapTrackParamAtCluster);
	fNRecTracks++;
	
	// Printout for debuging
	if ((AliLog::GetDebugLevel("MUON","AliMUONTrackReconstructor") >= 1) || (AliLog::GetGlobalDebugLevel() >= 1)) {
	  cout << "FollowTrackInStation: added one cluster in chamber(1..): " << nextChamber+1 << endl;
	  if (AliLog::GetGlobalDebugLevel() >= 3) newTrack->RecursiveDump();
	}
	
      } else if (chi2WithOneCluster < bestChi2WithOneCluster) {
	// keep track of the best single cluster except if a couple of clusters has already been found
	bestChi2WithOneCluster = chi2WithOneCluster;
	bestTrackParamAtCluster = extrapTrackParamAtCluster;
      }
      
    }
    
  }
  
  // fill out the best track if required else clean up the fRecTracksPtr array
  if (!GetRecoParam()->TrackAllTracks()) {
    if (foundOneCluster) {
      UpdateTrack(trackCandidate,bestTrackParamAtCluster);
      
      // Printout for debuging
      if ((AliLog::GetDebugLevel("MUON","AliMUONTrackReconstructor") >= 1) || (AliLog::GetGlobalDebugLevel() >= 1)) {
        cout << "FollowTrackInStation: added the best cluster in chamber(1..): " << bestTrackParamAtCluster.GetClusterPtr()->GetChamberId()+1 << endl;
        if (AliLog::GetGlobalDebugLevel() >= 3) newTrack->RecursiveDump();
      }
      
    } else return kFALSE;
    
  } else if (foundOneCluster) {
    
    // remove obsolete track
    fRecTracksPtr->Remove(&trackCandidate);
    fNRecTracks--;
    
  } else return kFALSE;
  
  return kTRUE;
  
}

  //__________________________________________________________________________
Bool_t AliMUONTrackReconstructor::FollowTrackInStation(AliMUONTrack &trackCandidate, AliMUONVClusterStore& clusterStore, Int_t nextStation)
{
  /// Follow trackCandidate in station(0..) nextStation and search for compatible cluster(s)
  /// Keep all possibilities or only the best one(s) according to the flag fgkTrackAllTracks:
  /// kTRUE:  duplicate "trackCandidate" if there are several possibilities and add the new tracks at the end of
  ///         fRecTracksPtr to avoid conficts with other track candidates at this current stage of the tracking procedure.
  ///         Remove the obsolete "trackCandidate" at the end.
  /// kFALSE: add only the best cluster(s) to the "trackCandidate". Try to add a couple of clusters in priority.
  AliDebug(1,Form("Enter FollowTrackInStation(1..) %d", nextStation+1));
  
  // Order the chamber according to the propagation direction (tracking starts with chamber 2):
  // - nextStation == station(1...) 5 => forward propagation
  // - nextStation < station(1...) 5 => backward propagation
  Int_t ch1, ch2;
  if (nextStation==4) {
    ch1 = 2*nextStation+1;
    ch2 = 2*nextStation;
  } else {
    ch1 = 2*nextStation;
    ch2 = 2*nextStation+1;
  }
  
  Double_t chi2WithOneCluster = AliMUONTrack::MaxChi2();
  Double_t chi2WithTwoClusters = AliMUONTrack::MaxChi2();
  Double_t maxChi2WithOneCluster = 2. * GetRecoParam()->GetSigmaCutForTracking() *
					GetRecoParam()->GetSigmaCutForTracking(); // 2 because 2 quantities in chi2
  Double_t maxChi2WithTwoClusters = 4. * GetRecoParam()->GetSigmaCutForTracking() *
					 GetRecoParam()->GetSigmaCutForTracking(); // 4 because 4 quantities in chi2
  Double_t bestChi2WithOneCluster = maxChi2WithOneCluster;
  Double_t bestChi2WithTwoClusters = maxChi2WithTwoClusters;
  Bool_t foundOneCluster = kFALSE;
  Bool_t foundTwoClusters = kFALSE;
  AliMUONTrack *newTrack = 0x0;
  AliMUONVCluster *clusterCh1, *clusterCh2;
  AliMUONTrackParam extrapTrackParam;
  AliMUONTrackParam extrapTrackParamAtCh;
  AliMUONTrackParam extrapTrackParamAtCluster1;
  AliMUONTrackParam extrapTrackParamAtCluster2;
  AliMUONTrackParam bestTrackParamAtCluster1;
  AliMUONTrackParam bestTrackParamAtCluster2;
  
  // Get track parameters according to the propagation direction
  if (nextStation==4) extrapTrackParamAtCh = *(AliMUONTrackParam*)trackCandidate.GetTrackParamAtCluster()->Last();
  else extrapTrackParamAtCh = *(AliMUONTrackParam*)trackCandidate.GetTrackParamAtCluster()->First();
  
  // Printout for debuging
  if ((AliLog::GetDebugLevel("MUON","AliMUONTrackReconstructor") >= 2) || (AliLog::GetGlobalDebugLevel() >= 2)) {
    cout<<endl<<"Track parameters and covariances at first cluster:"<<endl;
    extrapTrackParamAtCh.GetParameters().Print();
    extrapTrackParamAtCh.GetCovariances().Print();
  }
  
  // Add MCS effect
  Int_t currentChamber = extrapTrackParamAtCh.GetClusterPtr()->GetChamberId();
  AliMUONTrackExtrap::AddMCSEffect(&extrapTrackParamAtCh,AliMUONConstants::ChamberThicknessInX0(currentChamber),-1.);
  
  // Add MCS in the missing chamber(s) if any
  while (ch1 < ch2 && currentChamber > ch2 + 1) {
    // extrapolation to the missing chamber
    currentChamber--;
    if (!AliMUONTrackExtrap::ExtrapToZCov(&extrapTrackParamAtCh, AliMUONConstants::DefaultChamberZ(currentChamber))) return kFALSE;
    // add MCS effect
    AliMUONTrackExtrap::AddMCSEffect(&extrapTrackParamAtCh,AliMUONConstants::ChamberThicknessInX0(currentChamber),-1.);
  }
  
  //Extrapolate trackCandidate to chamber "ch2"
  if (!AliMUONTrackExtrap::ExtrapToZCov(&extrapTrackParamAtCh, AliMUONConstants::DefaultChamberZ(ch2))) return kFALSE;
  
  // Printout for debuging
  if ((AliLog::GetDebugLevel("MUON","AliMUONTrackReconstructor") >= 2) || (AliLog::GetGlobalDebugLevel() >= 2)) {
    cout<<endl<<"Track parameters and covariances at first cluster extrapolated to z = "<<AliMUONConstants::DefaultChamberZ(ch2)<<":"<<endl;
    extrapTrackParamAtCh.GetParameters().Print();
    extrapTrackParamAtCh.GetCovariances().Print();
  }
  
  // Printout for debuging
  if ((AliLog::GetDebugLevel("MUON","AliMUONTrackReconstructor") >= 1) || (AliLog::GetGlobalDebugLevel() >= 1)) {
    cout << "FollowTrackInStation: look for clusters in chamber(1..): " << ch2+1 << endl;
  }
  
  // Ask the clustering to reconstruct new clusters around the track position in the current station
  // except for station 4 and 5 that are already entirely clusterized
  if (GetRecoParam()->CombineClusterTrackReco()) {
    if (nextStation < 3) AskForNewClustersInStation(extrapTrackParamAtCh, clusterStore, nextStation);
  }
  
  Int_t nClusters = clusterStore.GetSize();
  Bool_t *clusterCh1Used = new Bool_t[nClusters];
  for (Int_t i = 0; i < nClusters; i++) clusterCh1Used[i] = kFALSE;
  Int_t iCluster1;
  
  // Create iterators to loop over clusters in both chambers
  TIter nextInCh1(clusterStore.CreateChamberIterator(ch1,ch1));
  TIter nextInCh2(clusterStore.CreateChamberIterator(ch2,ch2));
  
  // look for candidates in chamber 2
  while ( ( clusterCh2 = static_cast<AliMUONVCluster*>(nextInCh2()) ) ) {
    
    // try to add the current cluster fast
    if (!TryOneClusterFast(extrapTrackParamAtCh, clusterCh2)) continue;
    
    // try to add the current cluster accuratly
    chi2WithOneCluster = TryOneCluster(extrapTrackParamAtCh, clusterCh2, extrapTrackParamAtCluster2);
    
    // if good chi2 then try to attach a cluster in the other chamber too
    if (chi2WithOneCluster < maxChi2WithOneCluster) {
      Bool_t foundSecondCluster = kFALSE;
      
      // Printout for debuging
      if ((AliLog::GetDebugLevel("MUON","AliMUONTrackReconstructor") >= 1) || (AliLog::GetGlobalDebugLevel() >= 1)) {
        cout << "FollowTrackInStation: found one cluster in chamber(1..): " << ch2+1
	     << " (Chi2 = " << chi2WithOneCluster << ")" << endl;
	clusterCh2->Print();
        cout << "                      look for second clusters in chamber(1..): " << ch1+1 << " ..." << endl;
      }
      
      // add MCS effect for next step
      AliMUONTrackExtrap::AddMCSEffect(&extrapTrackParamAtCluster2,AliMUONConstants::ChamberThicknessInX0(ch2),-1.);
      
      // copy new track parameters for next step
      extrapTrackParam = extrapTrackParamAtCluster2;
      
      //Extrapolate track parameters to chamber "ch1"
      Bool_t normalExtrap = AliMUONTrackExtrap::ExtrapToZ(&extrapTrackParam, AliMUONConstants::DefaultChamberZ(ch1));
      
      // reset cluster iterator of chamber 1
      nextInCh1.Reset();
      iCluster1 = -1;
      
      // look for second candidates in chamber 1
      if (normalExtrap) while ( ( clusterCh1 = static_cast<AliMUONVCluster*>(nextInCh1()) ) ) {
        iCluster1++;
	
    	// try to add the current cluster fast
    	if (!TryOneClusterFast(extrapTrackParam, clusterCh1)) continue;
    	
    	// try to add the current cluster accurately
	chi2WithTwoClusters = TryTwoClusters(extrapTrackParamAtCluster2, clusterCh1, extrapTrackParamAtCluster1);
        
	// if good chi2 then create a new track by adding the 2 clusters to the "trackCandidate"
	if (chi2WithTwoClusters < maxChi2WithTwoClusters) {
	  foundSecondCluster = kTRUE;
          foundTwoClusters = kTRUE;
          
	  // Printout for debuging
	  if ((AliLog::GetDebugLevel("MUON","AliMUONTrackReconstructor") >= 1) || (AliLog::GetGlobalDebugLevel() >= 1)) {
	    cout << "FollowTrackInStation: found second cluster in chamber(1..): " << ch1+1
	         << " (Global Chi2 = " << chi2WithTwoClusters << ")" << endl;
	    clusterCh1->Print();
	  }
	  
	  if (GetRecoParam()->TrackAllTracks()) {
	    // copy trackCandidate into a new track put at the end of fRecTracksPtr and add the new clusters
            newTrack = new ((*fRecTracksPtr)[fRecTracksPtr->GetLast()+1]) AliMUONTrack(trackCandidate);
	    UpdateTrack(*newTrack,extrapTrackParamAtCluster1,extrapTrackParamAtCluster2);
	    fNRecTracks++;
	    
	    // Tag clusterCh1 as used
	    clusterCh1Used[iCluster1] = kTRUE;
	    
	    // Printout for debuging
	    if ((AliLog::GetDebugLevel("MUON","AliMUONTrackReconstructor") >= 1) || (AliLog::GetGlobalDebugLevel() >= 1)) {
	      cout << "FollowTrackInStation: added two clusters in station(1..): " << nextStation+1 << endl;
	      if (AliLog::GetGlobalDebugLevel() >= 3) newTrack->RecursiveDump();
	    }
	    
          } else if (chi2WithTwoClusters < bestChi2WithTwoClusters) {
	    // keep track of the best couple of clusters
	    bestChi2WithTwoClusters = chi2WithTwoClusters;
	    bestTrackParamAtCluster1 = extrapTrackParamAtCluster1;
	    bestTrackParamAtCluster2 = extrapTrackParamAtCluster2;
          }
	  
	}
	
      }
      
      // if no clusterCh1 found then consider to add clusterCh2 only
      if (!foundSecondCluster) {
        foundOneCluster = kTRUE;
        
	if (GetRecoParam()->TrackAllTracks()) {
	  // copy trackCandidate into a new track put at the end of fRecTracksPtr and add the new cluster
          newTrack = new ((*fRecTracksPtr)[fRecTracksPtr->GetLast()+1]) AliMUONTrack(trackCandidate);
	  UpdateTrack(*newTrack,extrapTrackParamAtCluster2);
	  fNRecTracks++;
	  
	  // Printout for debuging
	  if ((AliLog::GetDebugLevel("MUON","AliMUONTrackReconstructor") >= 1) || (AliLog::GetGlobalDebugLevel() >= 1)) {
	    cout << "FollowTrackInStation: added one cluster in chamber(1..): " << ch2+1 << endl;
	    if (AliLog::GetGlobalDebugLevel() >= 3) newTrack->RecursiveDump();
	  }
	  
	} else if (!foundTwoClusters && chi2WithOneCluster < bestChi2WithOneCluster) {
	  // keep track of the best single cluster except if a couple of clusters has already been found
	  bestChi2WithOneCluster = chi2WithOneCluster;
	  bestTrackParamAtCluster1 = extrapTrackParamAtCluster2;
        }
	
      }
      
    }
    
  }
  
  // look for candidates in chamber 1 not already attached to a track
  // if we want to keep all possible tracks or if no good couple of clusters has been found
  if (GetRecoParam()->TrackAllTracks() || !foundTwoClusters) {
    
    // add MCS effect for next step
    AliMUONTrackExtrap::AddMCSEffect(&extrapTrackParamAtCh,AliMUONConstants::ChamberThicknessInX0(ch2),-1.);
    
    //Extrapolate trackCandidate to chamber "ch1"
    Bool_t normalExtrap = AliMUONTrackExtrap::ExtrapToZCov(&extrapTrackParamAtCh, AliMUONConstants::DefaultChamberZ(ch1));
    
    // Printout for debuging
    if ((AliLog::GetDebugLevel("MUON","AliMUONTrackReconstructor") >= 2) || (AliLog::GetGlobalDebugLevel() >= 2)) {
      cout<<endl<<"Track parameters and covariances at first cluster extrapolated to z = "<<AliMUONConstants::DefaultChamberZ(ch1)<<":"<<endl;
      extrapTrackParamAtCh.GetParameters().Print();
      extrapTrackParamAtCh.GetCovariances().Print();
    }
    
    // Printout for debuging
    if ((AliLog::GetDebugLevel("MUON","AliMUONTrackReconstructor") >= 1) || (AliLog::GetGlobalDebugLevel() >= 1)) {
      cout << "FollowTrackInStation: look for single clusters in chamber(1..): " << ch1+1 << endl;
    }
    
    // reset cluster iterator of chamber 1
    nextInCh1.Reset();
    iCluster1 = -1;
    
    // look for second candidates in chamber 1
    if (normalExtrap) while ( ( clusterCh1 = static_cast<AliMUONVCluster*>(nextInCh1()) ) ) {
      iCluster1++;
      
      if (clusterCh1Used[iCluster1]) continue; // Skip cluster already used
      
      // try to add the current cluster fast
      if (!TryOneClusterFast(extrapTrackParamAtCh, clusterCh1)) continue;
      
      // try to add the current cluster accuratly
      chi2WithOneCluster = TryOneCluster(extrapTrackParamAtCh, clusterCh1, extrapTrackParamAtCluster1);
      
      // if good chi2 then consider to add clusterCh1
      // We do not try to attach a cluster in the other chamber too since it has already been done above
      if (chi2WithOneCluster < maxChi2WithOneCluster) {
        foundOneCluster = kTRUE;
	
	// Printout for debuging
  	if ((AliLog::GetDebugLevel("MUON","AliMUONTrackReconstructor") >= 1) || (AliLog::GetGlobalDebugLevel() >= 1)) {
  	  cout << "FollowTrackInStation: found one cluster in chamber(1..): " << ch1+1
  	       << " (Chi2 = " << chi2WithOneCluster << ")" << endl;
	  clusterCh1->Print();
  	}
	
  	if (GetRecoParam()->TrackAllTracks()) {
	  // copy trackCandidate into a new track put at the end of fRecTracksPtr and add the new cluster
  	  newTrack = new ((*fRecTracksPtr)[fRecTracksPtr->GetLast()+1]) AliMUONTrack(trackCandidate);
	  UpdateTrack(*newTrack,extrapTrackParamAtCluster1);
	  fNRecTracks++;
  	  
	  // Printout for debuging
  	  if ((AliLog::GetDebugLevel("MUON","AliMUONTrackReconstructor") >= 1) || (AliLog::GetGlobalDebugLevel() >= 1)) {
  	    cout << "FollowTrackInStation: added one cluster in chamber(1..): " << ch1+1 << endl;
  	    if (AliLog::GetGlobalDebugLevel() >= 3) newTrack->RecursiveDump();
  	  }
	  
  	} else if (chi2WithOneCluster < bestChi2WithOneCluster) {
	  // keep track of the best single cluster except if a couple of clusters has already been found
  	  bestChi2WithOneCluster = chi2WithOneCluster;
	  bestTrackParamAtCluster1 = extrapTrackParamAtCluster1;
  	}
	
      }
      
    }
    
  }
  
  // fill out the best track if required else clean up the fRecTracksPtr array
  if (!GetRecoParam()->TrackAllTracks()) {
    if (foundTwoClusters) {
      UpdateTrack(trackCandidate,bestTrackParamAtCluster1,bestTrackParamAtCluster2);
      
      // Printout for debuging
      if ((AliLog::GetDebugLevel("MUON","AliMUONTrackReconstructor") >= 1) || (AliLog::GetGlobalDebugLevel() >= 1)) {
        cout << "FollowTrackInStation: added the two best clusters in station(1..): " << nextStation+1 << endl;
        if (AliLog::GetGlobalDebugLevel() >= 3) newTrack->RecursiveDump();
      }
      
    } else if (foundOneCluster) {
      UpdateTrack(trackCandidate,bestTrackParamAtCluster1);
      
      // Printout for debuging
      if ((AliLog::GetDebugLevel("MUON","AliMUONTrackReconstructor") >= 1) || (AliLog::GetGlobalDebugLevel() >= 1)) {
        cout << "FollowTrackInStation: added the best cluster in chamber(1..): " << bestTrackParamAtCluster1.GetClusterPtr()->GetChamberId()+1 << endl;
        if (AliLog::GetGlobalDebugLevel() >= 3) newTrack->RecursiveDump();
      }
      
    } else {
      delete [] clusterCh1Used;
      return kFALSE;
    }
    
  } else if (foundOneCluster || foundTwoClusters) {
    
    // remove obsolete track
    fRecTracksPtr->Remove(&trackCandidate);
    fNRecTracks--;
    
  } else {
    delete [] clusterCh1Used;
    return kFALSE;
  }
  
  delete [] clusterCh1Used;
  return kTRUE;
  
}

  //__________________________________________________________________________
Double_t AliMUONTrackReconstructor::TryTwoClusters(const AliMUONTrackParam &trackParamAtCluster1, AliMUONVCluster* cluster2,
						   AliMUONTrackParam &trackParamAtCluster2)
{
/// Test the compatibility between the track and the 2 clusters together (using trackParam's covariance matrix):
/// return the corresponding Chi2 accounting for covariances between the 2 clusters
/// return trackParamAtCluster1 & 2
  
  // extrapolate track parameters at the z position of the second cluster (no need to extrapolate the covariances)
  // and set pointer to cluster into trackParamAtCluster
  trackParamAtCluster2.SetParameters(trackParamAtCluster1.GetParameters());
  trackParamAtCluster2.SetZ(trackParamAtCluster1.GetZ());
  trackParamAtCluster2.SetClusterPtr(cluster2);
  if (!AliMUONTrackExtrap::ExtrapToZ(&trackParamAtCluster2, cluster2->GetZ())) return 2.*AliMUONTrack::MaxChi2();
  
  // Set differences between track and the 2 clusters in the bending and non bending directions
  AliMUONVCluster* cluster1 = trackParamAtCluster1.GetClusterPtr();
  TMatrixD dPos(4,1);
  dPos(0,0) = cluster1->GetX() - trackParamAtCluster1.GetNonBendingCoor();
  dPos(1,0) = cluster1->GetY() - trackParamAtCluster1.GetBendingCoor();
  dPos(2,0) = cluster2->GetX() - trackParamAtCluster2.GetNonBendingCoor();
  dPos(3,0) = cluster2->GetY() - trackParamAtCluster2.GetBendingCoor();
  
  // Calculate the error matrix from the track parameter covariances at first cluster
  TMatrixD error(4,4);
  error.Zero();
  if (trackParamAtCluster1.CovariancesExist()) {
    // Save track parameters at first cluster
    TMatrixD paramAtCluster1Save(trackParamAtCluster1.GetParameters());
    
    // Save track coordinates at second cluster
    Double_t nonBendingCoor2 = trackParamAtCluster2.GetNonBendingCoor();
    Double_t bendingCoor2    = trackParamAtCluster2.GetBendingCoor();
    
    // copy track parameters at first cluster for jacobian calculation
    AliMUONTrackParam trackParam(trackParamAtCluster1);
    
    // Get the pointer to the parameter covariance matrix at first cluster
    const TMatrixD& kParamCov = trackParam.GetCovariances();
    
    // Calculate the jacobian related to the transformation between track parameters
    // at first cluster and track coordinates at the 2 cluster z-positions
    TMatrixD jacob(4,5);
    jacob.Zero();
    // first derivative at the first cluster:
    jacob(0,0) = 1.; // dx1/dx
    jacob(1,2) = 1.; // dy1/dy
    // first derivative at the second cluster:
    TMatrixD dParam(5,1);
    Double_t direction[5] = {-1.,-1.,1.,1.,-1.};
    for (Int_t i=0; i<5; i++) {
      // Skip jacobian calculation for parameters with no associated error
      if (kParamCov(i,i) == 0.) continue;
      // Small variation of parameter i only
      for (Int_t j=0; j<5; j++) {
        if (j==i) {
          dParam(j,0) = TMath::Sqrt(kParamCov(i,i));
	  dParam(j,0) *= TMath::Sign(1.,direction[j]*paramAtCluster1Save(j,0)); // variation always in the same direction
        } else dParam(j,0) = 0.;
      }
      
      // Set new track parameters at first cluster
      trackParam.SetParameters(paramAtCluster1Save);
      trackParam.AddParameters(dParam);
      trackParam.SetZ(cluster1->GetZ());
      
      // Extrapolate new track parameters to the z position of the second cluster
      if (!AliMUONTrackExtrap::ExtrapToZ(&trackParam,cluster2->GetZ())) return 2.*AliMUONTrack::MaxChi2();
      
      // Calculate the jacobian
      jacob(2,i) = (trackParam.GetNonBendingCoor() - nonBendingCoor2) / dParam(i,0); // dx2/dParami
      jacob(3,i) = (trackParam.GetBendingCoor()    - bendingCoor2   ) / dParam(i,0); // dy2/dParami
    }
    
    // Calculate the error matrix
    TMatrixD tmp(jacob,TMatrixD::kMult,kParamCov);
    error = TMatrixD(tmp,TMatrixD::kMultTranspose,jacob);
  }
  
  // Add cluster resolution to the error matrix
  error(0,0) += cluster1->GetErrX2();
  error(1,1) += cluster1->GetErrY2();
  error(2,2) += cluster2->GetErrX2();
  error(3,3) += cluster2->GetErrY2();
  
  // invert the error matrix for Chi2 calculation
  if (error.Determinant() != 0) {
    error.Invert();
  } else {
    AliWarning(" Determinant error=0");
    return 2.*AliMUONTrack::MaxChi2();
  }
  
  // Compute the Chi2 value
  TMatrixD tmp2(dPos,TMatrixD::kTransposeMult,error);
  TMatrixD result(tmp2,TMatrixD::kMult,dPos);
  
  return result(0,0);
  
}

  //__________________________________________________________________________
void AliMUONTrackReconstructor::UpdateTrack(AliMUONTrack &track, AliMUONTrackParam &trackParamAtCluster)
{
  /// Add 1 cluster to the track candidate
  /// Update chi2 of the track 
  
  // Compute local chi2
  AliMUONVCluster* cluster = trackParamAtCluster.GetClusterPtr();
  Double_t deltaX = trackParamAtCluster.GetNonBendingCoor() - cluster->GetX();
  Double_t deltaY = trackParamAtCluster.GetBendingCoor() - cluster->GetY();
  Double_t localChi2 = deltaX*deltaX / cluster->GetErrX2() +
  		       deltaY*deltaY / cluster->GetErrY2();
  
  // Flag cluster as being not removable
  if (GetRecoParam()->RequestStation(cluster->GetChamberId()/2))
    trackParamAtCluster.SetRemovable(kFALSE);
  else trackParamAtCluster.SetRemovable(kTRUE);
  trackParamAtCluster.SetLocalChi2(0.); // --> Local chi2 not used
  
  // Update the chi2 of the new track
  track.SetGlobalChi2(track.GetGlobalChi2() + localChi2);
  
  // Update TrackParamAtCluster
  track.AddTrackParamAtCluster(trackParamAtCluster,*cluster);
  
}

  //__________________________________________________________________________
void AliMUONTrackReconstructor::UpdateTrack(AliMUONTrack &track, AliMUONTrackParam &trackParamAtCluster1, AliMUONTrackParam &trackParamAtCluster2)
{
  /// Add 2 clusters to the track candidate
  /// Update track and local chi2
  
  // Update local chi2 at first cluster
  AliMUONVCluster* cluster1 = trackParamAtCluster1.GetClusterPtr();
  Double_t deltaX = trackParamAtCluster1.GetNonBendingCoor() - cluster1->GetX();
  Double_t deltaY = trackParamAtCluster1.GetBendingCoor() - cluster1->GetY();
  Double_t localChi2AtCluster1 = deltaX*deltaX / cluster1->GetErrX2() +
  			         deltaY*deltaY / cluster1->GetErrY2();
  trackParamAtCluster1.SetLocalChi2(localChi2AtCluster1);
  
  // Flag first cluster as being removable
  trackParamAtCluster1.SetRemovable(kTRUE);
  
  // Update local chi2 at second cluster
  AliMUONVCluster* cluster2 = trackParamAtCluster2.GetClusterPtr();
  deltaX = trackParamAtCluster2.GetNonBendingCoor() - cluster2->GetX();
  deltaY = trackParamAtCluster2.GetBendingCoor() - cluster2->GetY();
  Double_t localChi2AtCluster2 = deltaX*deltaX / cluster2->GetErrX2() +
  			         deltaY*deltaY / cluster2->GetErrY2();
  trackParamAtCluster2.SetLocalChi2(localChi2AtCluster2);
  
  // Flag first cluster as being removable
  trackParamAtCluster2.SetRemovable(kTRUE);
  
  // Update the chi2 of the new track
  track.SetGlobalChi2(track.GetGlobalChi2() + localChi2AtCluster1 + localChi2AtCluster2);
  
  // Update TrackParamAtCluster
  track.AddTrackParamAtCluster(trackParamAtCluster1,*cluster1);
  track.AddTrackParamAtCluster(trackParamAtCluster2,*cluster2);
  
}

  //__________________________________________________________________________
Bool_t AliMUONTrackReconstructor::RecoverTrack(AliMUONTrack &trackCandidate, AliMUONVClusterStore& clusterStore, Int_t nextStation)
{
  /// Try to recover the track candidate in the next station
  /// by removing the worst of the two clusters attached in the current station
  /// Return kTRUE if recovering succeeds
  AliDebug(1,"Enter RecoverTrack");
  
  // Do not try to recover track until we have attached cluster(s) on station(1..) 3
  if (nextStation > 1) return kFALSE;
  
  Int_t worstClusterNumber = -1;
  Double_t localChi2, worstLocalChi2 = -1.;
  
  // Look for the cluster to remove
  for (Int_t clusterNumber = 0; clusterNumber < 2; clusterNumber++) {
    AliMUONTrackParam *trackParamAtCluster = (AliMUONTrackParam*)trackCandidate.GetTrackParamAtCluster()->UncheckedAt(clusterNumber);
    
    // check if current cluster is in the previous station
    if (trackParamAtCluster->GetClusterPtr()->GetChamberId()/2 != nextStation+1) break;
    
    // check if current cluster is removable
    if (!trackParamAtCluster->IsRemovable()) return kFALSE;
    
    // reset the current cluster as beig not removable if it is on a required station
    if (GetRecoParam()->RequestStation(nextStation+1)) trackParamAtCluster->SetRemovable(kFALSE);
    
    // Pick up cluster with the worst chi2
    localChi2 = trackParamAtCluster->GetLocalChi2();
    if (localChi2 > worstLocalChi2) {
      worstLocalChi2 = localChi2;
      worstClusterNumber = clusterNumber;
    }
    
  }
  
  // check if worst cluster found
  if (worstClusterNumber < 0) return kFALSE;
  
  // Remove the worst cluster
  trackCandidate.RemoveTrackParamAtCluster((AliMUONTrackParam*)trackCandidate.GetTrackParamAtCluster()->UncheckedAt(worstClusterNumber));
  
  // Re-fit the track:
  // Do not take into account the multiple scattering to speed up the fit
  // Calculate the track parameter covariance matrix
  Fit(trackCandidate, kFALSE, kFALSE, kTRUE);
  
  // skip track if the normalized chi2 is too high
  if (trackCandidate.GetNormalizedChi2() > GetRecoParam()->GetSigmaCutForTracking() * GetRecoParam()->GetSigmaCutForTracking()) return kFALSE;
  
  // skip track out of limits
  if (!IsAcceptable(*((AliMUONTrackParam*)trackCandidate.GetTrackParamAtCluster()->First()))) return kFALSE;
  
  // Look for new cluster(s) in next station
  return FollowTrackInStation(trackCandidate,clusterStore,nextStation);
  
}

  //__________________________________________________________________________
void AliMUONTrackReconstructor::SetVertexErrXY2ForFit(AliMUONTrack &trackCandidate)
{
  /// Compute the vertex resolution square from natural vertex dispersion and
  /// multiple scattering effets according to trackCandidate path in absorber
  /// It is necessary to account for multiple scattering effects here instead of during the fit of
  /// the "trackCandidate" to do not influence the result by changing track resolution at vertex
  AliDebug(1,"Enter SetVertexForFit");
  
  Double_t nonBendingReso2 = GetRecoParam()->GetNonBendingVertexDispersion() *
                             GetRecoParam()->GetNonBendingVertexDispersion();
  Double_t bendingReso2 = GetRecoParam()->GetBendingVertexDispersion() *
			  GetRecoParam()->GetBendingVertexDispersion();
  
  // add multiple scattering effets
  AliMUONTrackParam paramAtVertex(*((AliMUONTrackParam*)(trackCandidate.GetTrackParamAtCluster()->First())));
  paramAtVertex.DeleteCovariances(); // to be sure to account only for multiple scattering
  if (!AliMUONTrackExtrap::ExtrapToZ(&paramAtVertex,AliMUONConstants::AbsZEnd())) {
    nonBendingReso2 = 0.;
    bendingReso2 = 0.;
  } else {
    AliMUONTrackExtrap::ExtrapToVertexUncorrected(&paramAtVertex,0.);
    const TMatrixD& kParamCov = paramAtVertex.GetCovariances();
    nonBendingReso2 += kParamCov(0,0);
    bendingReso2 += kParamCov(2,2);
  }
  
  // Set the vertex resolution square
  trackCandidate.SetVertexErrXY2(nonBendingReso2,bendingReso2);
}

  //__________________________________________________________________________
void AliMUONTrackReconstructor::Fit(AliMUONTrack &track, Bool_t includeMCS, Bool_t fitWithVertex, Bool_t calcCov)
{
  /// Fit the track
  /// w/wo multiple Coulomb scattering according to "includeMCS".
  /// w/wo constraining the vertex according to "fitWithVertex".
  /// calculating or not the covariance matrix according to "calcCov".
  AliDebug(1,"Enter Fit");
  
  Double_t benC, errorParam, invBenP, nonBenC, x, y;
  AliMUONTrackParam *trackParam;
  Double_t arg[1], fedm, errdef, globalChi2;
  Int_t npari, nparx;
  Int_t status, covStatus;
  
  // Instantiate gMinuit if not already done
  if (!gMinuit) gMinuit = new TMinuit(6);
  // Clear MINUIT parameters
  gMinuit->mncler();
  // Give the fitted track to MINUIT
  gMinuit->SetObjectFit(&track);
  if ((AliLog::GetDebugLevel("MUON","AliMUONTrackReconstructor") >= 2) || (AliLog::GetGlobalDebugLevel() >= 2)) {
    // Define print level
    arg[0] = 1;
    gMinuit->mnexcm("SET PRI", arg, 1, status);
    // Print covariance matrix
    gMinuit->mnexcm("SHO COV", arg, 0, status);
  } else {
    arg[0] = -1;
    gMinuit->mnexcm("SET PRI", arg, 1, status);
  }
  // No warnings
  gMinuit->mnexcm("SET NOW", arg, 0, status);
  // Define strategy
  //arg[0] = 2;
  //gMinuit->mnexcm("SET STR", arg, 1, status);
  
  // set flag w/wo multiple scattering according to "includeMCS"
  track.FitWithMCS(includeMCS);
  if (includeMCS) {
    // compute cluster weights only once
    if (!track.UpdateTrackParamAtCluster() || !track.ComputeClusterWeights()) {
      AliWarning("cannot take into account the multiple scattering effects");
      track.FitWithMCS(kFALSE);
    }
  }
  
  track.FitWithVertex(fitWithVertex);
  if (fitWithVertex) SetVertexErrXY2ForFit(track);
  
  // Set fitting function
  gMinuit->SetFCN(TrackChi2);
  
  // Set fitted parameters (!! The order is very important for the covariance matrix !!)
  // Mandatory limits to avoid NaN values of parameters
  trackParam = (AliMUONTrackParam*) (track.GetTrackParamAtCluster()->First());
  Double_t maxIBM = 1. / GetRecoParam()->GetMinBendingMomentum();
  gMinuit->mnparm(0, "X", trackParam->GetNonBendingCoor(), 0.03, -500.0, 500.0, status);
  gMinuit->mnparm(1, "NonBenS", trackParam->GetNonBendingSlope(), 0.001, -1., 1., status);
  gMinuit->mnparm(2, "Y", trackParam->GetBendingCoor(), 0.10, -500.0, 500.0, status);
  gMinuit->mnparm(3, "BenS", trackParam->GetBendingSlope(), 0.001, -1.5, 1.5, status);
  gMinuit->mnparm(4, "InvBenP", trackParam->GetInverseBendingMomentum(), 0.003, -maxIBM, maxIBM, status);
  
  // minimization
  gMinuit->mnexcm("MIGRAD", arg, 0, status);
  
  // Calculate the covariance matrix more accurately if required
  if (calcCov) gMinuit->mnexcm("HESSE", arg, 0, status);
   
  // get results into "invBenP", "benC", "nonBenC" ("x", "y")
  gMinuit->GetParameter(0, x, errorParam);
  trackParam->SetNonBendingCoor(x);
  gMinuit->GetParameter(1, nonBenC, errorParam);
  trackParam->SetNonBendingSlope(nonBenC);
  gMinuit->GetParameter(2, y, errorParam);
  trackParam->SetBendingCoor(y);
  gMinuit->GetParameter(3, benC, errorParam);
  trackParam->SetBendingSlope(benC);
  gMinuit->GetParameter(4, invBenP, errorParam);
  trackParam->SetInverseBendingMomentum(invBenP);
  
  // global result of the fit
  gMinuit->mnstat(globalChi2, fedm, errdef, npari, nparx, covStatus);
  track.SetGlobalChi2(globalChi2);
  
  // Get the covariance matrix if required
  if (calcCov) {
    // Covariance matrix according to HESSE status
    // If problem then keep only the diagonal terms (variances)
    Double_t matrix[5][5];
    for (Int_t i=0; i<5; i++) for (Int_t j=0; j<5; j++) matrix[i][j] = 0.;
    gMinuit->mnemat(&matrix[0][0],5);
    if (covStatus == 3) trackParam->SetCovariances(matrix);
    else trackParam->SetVariances(matrix);
  } else trackParam->DeleteCovariances();
  
}

  //__________________________________________________________________________
void TrackChi2(Int_t & /*nParam*/, Double_t * /*gradient*/, Double_t &chi2, Double_t *param, Int_t /*flag*/)
{
  /// Return the "Chi2" to be minimized with Minuit for track fitting.
  /// Assumes that the trackParamAtCluster are sorted according to increasing Z.
  /// Track parameters at each cluster are updated accordingly.
  /// Vertex is used according to the flag "trackBeingFitted->GetFitWithVertex()".
  /// Multiple Coulomb scattering is taken into account according to the flag "trackBeingFitted->GetFitWithMCS()".
  
  AliMUONTrack *trackBeingFitted = (AliMUONTrack*) gMinuit->GetObjectFit();
  AliMUONTrackParam* trackParamAtCluster = (AliMUONTrackParam*) trackBeingFitted->GetTrackParamAtCluster()->First();
  Double_t dX, dY;
  chi2 = 0.; // initialize chi2
  
  // update track parameters
  trackParamAtCluster->SetNonBendingCoor(param[0]);
  trackParamAtCluster->SetNonBendingSlope(param[1]);
  trackParamAtCluster->SetBendingCoor(param[2]);
  trackParamAtCluster->SetBendingSlope(param[3]);
  trackParamAtCluster->SetInverseBendingMomentum(param[4]);
  if (!trackBeingFitted->UpdateTrackParamAtCluster()) {
    chi2 = 2.*AliMUONTrack::MaxChi2();
    return;
  }
  
  // Take the vertex into account in the fit if required
  if (trackBeingFitted->FitWithVertex()) {
    Double_t nonBendingReso2,bendingReso2;
    trackBeingFitted->GetVertexErrXY2(nonBendingReso2,bendingReso2);
    AliMUONTrackParam paramAtVertex(*trackParamAtCluster);
    if (nonBendingReso2 != 0. && bendingReso2 != 0. && AliMUONTrackExtrap::ExtrapToZ(&paramAtVertex, 0.)) { // vextex position = (0,0,0)
      dX = paramAtVertex.GetNonBendingCoor();
      dY = paramAtVertex.GetBendingCoor();
      chi2 += dX * dX / nonBendingReso2 + dY * dY / bendingReso2;
    } else {
      chi2 = 2.*AliMUONTrack::MaxChi2();
      return;
    }
  }
  
  // compute chi2 w/wo multiple scattering
  chi2 += trackBeingFitted->ComputeGlobalChi2(trackBeingFitted->FitWithMCS());
  
}

  //__________________________________________________________________________
Bool_t AliMUONTrackReconstructor::ComplementTracks(const AliMUONVClusterStore& clusterStore)
{
  /// Complete tracks by adding missing clusters (if there is an overlap between
  /// two detection elements, the track may have two clusters in the same chamber).
  /// Re-fit track parameters and covariances.
  /// Return kTRUE if one or more tracks have been complemented.
  AliDebug(1,"Enter ComplementTracks");
  
  Int_t chamberId, detElemId;
  Double_t chi2OfCluster, bestChi2OfCluster;
  Double_t sigmaCut2 = GetRecoParam()->GetSigmaCutForTracking() *
                       GetRecoParam()->GetSigmaCutForTracking();
  Bool_t foundOneCluster, trackModified, hasChanged = kFALSE;
  AliMUONVCluster* cluster;
  AliMUONTrackParam *trackParam, *nextTrackParam, copyOfTrackParam, trackParamAtCluster, bestTrackParamAtCluster;
  
  AliMUONTrack *track = (AliMUONTrack*) fRecTracksPtr->First();
  while (track) {
    trackModified = kFALSE;
    
    trackParam = (AliMUONTrackParam*)track->GetTrackParamAtCluster()->First();
    while (trackParam) {
      foundOneCluster = kFALSE;
      bestChi2OfCluster = 2. * sigmaCut2; // 2 because 2 quantities in chi2
      chamberId = trackParam->GetClusterPtr()->GetChamberId();
      detElemId = trackParam->GetClusterPtr()->GetDetElemId();
      
      // prepare nextTrackParam before adding new cluster because of the sorting
      nextTrackParam = (AliMUONTrackParam*)track->GetTrackParamAtCluster()->After(trackParam);
      
      // recover track parameters from local fit and put them into a copy of trackParam
      copyOfTrackParam.SetZ(trackParam->GetZ());
      copyOfTrackParam.SetParameters(trackParam->GetSmoothParameters());
      copyOfTrackParam.SetCovariances(trackParam->GetSmoothCovariances());
      
      // Create iterators to loop over clusters in current chamber
      TIter nextInCh(clusterStore.CreateChamberIterator(chamberId,chamberId));
      
      // look for one second candidate in the same chamber
      while ( ( cluster = static_cast<AliMUONVCluster*>(nextInCh()) ) ) {
        
	// look for a cluster in another detection element
	if (cluster->GetDetElemId() == detElemId) continue;
	
	// try to add the current cluster fast
	if (!TryOneClusterFast(copyOfTrackParam, cluster)) continue;
	
	// try to add the current cluster accurately
	chi2OfCluster = TryOneCluster(copyOfTrackParam, cluster, trackParamAtCluster);
	
	// if better chi2 then prepare to add this cluster to the track
	if (chi2OfCluster < bestChi2OfCluster) {
	  bestChi2OfCluster = chi2OfCluster;
	  bestTrackParamAtCluster = trackParamAtCluster;
	  foundOneCluster = kTRUE;
	}
	
      }
      
      // add new cluster if any
      if (foundOneCluster) {
	
	// Printout for debuging
	if ((AliLog::GetDebugLevel("MUON","AliMUONTrackReconstructor") >= 1) || (AliLog::GetGlobalDebugLevel() >= 1)) {
	  cout << "ComplementTracks: found one cluster in chamber(1..): " << chamberId+1 << endl;
	  bestTrackParamAtCluster.GetClusterPtr()->Print();
	  cout<<endl<<"Track parameters and covariances at cluster:"<<endl;
	  bestTrackParamAtCluster.GetParameters().Print();
	  bestTrackParamAtCluster.GetCovariances().Print();
	}
	
	trackParam->SetRemovable(kTRUE);
	bestTrackParamAtCluster.SetRemovable(kTRUE);
	track->AddTrackParamAtCluster(bestTrackParamAtCluster,*(bestTrackParamAtCluster.GetClusterPtr()));
	trackModified = kTRUE;
	hasChanged = kTRUE;
      }
      
      trackParam = nextTrackParam;
    }
    
    // re-fit track parameters if needed
    if (trackModified) Fit(*track, kTRUE, kFALSE, kTRUE);
    
    track = (AliMUONTrack*) fRecTracksPtr->After(track);
  }
  
  return hasChanged;
  
}

  //__________________________________________________________________________
void AliMUONTrackReconstructor::ImproveTrack(AliMUONTrack &track)
{
  /// Improve the given track by removing clusters with local chi2 highter than the defined cut
  /// Recompute track parameters and covariances at the remaining clusters
  AliDebug(1,"Enter ImproveTrack");
  
  Double_t localChi2, worstLocalChi2;
  AliMUONTrackParam *trackParamAtCluster, *worstTrackParamAtCluster;
  Double_t sigmaCut2 = GetRecoParam()->GetSigmaCutForImprovement() *
		       GetRecoParam()->GetSigmaCutForImprovement();
  
  while (!track.IsImproved()) {
    
    // identify removable clusters
    track.TagRemovableClusters(GetRecoParam()->RequestedStationMask());
    
    // Update track parameters and covariances
    if (!track.UpdateCovTrackParamAtCluster()) {
      AliWarning("unable to update track parameters and covariances --> stop improvement");
      break;
    }
    
    // Compute local chi2 of each clusters
    track.ComputeLocalChi2(kTRUE);
    
    // Look for the cluster to remove
    worstTrackParamAtCluster = NULL;
    worstLocalChi2 = 0.;
    trackParamAtCluster = (AliMUONTrackParam*) track.GetTrackParamAtCluster()->First();
    while (trackParamAtCluster) {
      
      // Pick up cluster with the worst chi2
      localChi2 = trackParamAtCluster->GetLocalChi2();
      if (localChi2 > worstLocalChi2) {
	worstLocalChi2 = localChi2;
	worstTrackParamAtCluster = trackParamAtCluster;
      }
      
    trackParamAtCluster = (AliMUONTrackParam*) track.GetTrackParamAtCluster()->After(trackParamAtCluster);
    }
    
    // Check if worst cluster found
    if (!worstTrackParamAtCluster) {
      AliWarning("Bad local chi2 values?");
      break;
    }
    
    // Check whether the worst chi2 is under requirement or not
    if (worstLocalChi2 < 2. * sigmaCut2) { // 2 because 2 quantities in chi2
      track.SetImproved(kTRUE);
      break;
    }
    
    // if the worst cluster is not removable then stop improvement
    if (!worstTrackParamAtCluster->IsRemovable()) break;
    
    // Remove the worst cluster
    track.RemoveTrackParamAtCluster(worstTrackParamAtCluster);
    
    // Re-fit the track:
    // Take into account the multiple scattering
    // Calculate the track parameter covariance matrix
    Fit(track, kTRUE, kFALSE, kTRUE);
    
    // Printout for debuging
    if ((AliLog::GetDebugLevel("MUON","AliMUONTrackReconstructor") >= 1) || (AliLog::GetGlobalDebugLevel() >= 1)) {
      cout << "ImproveTracks: track " << fRecTracksPtr->IndexOf(&track)+1 << " improved " << endl;
    }
    
  }
  
}

  //__________________________________________________________________________
Bool_t AliMUONTrackReconstructor::FinalizeTrack(AliMUONTrack &track)
{
  /// Recompute track parameters and covariances at each attached cluster
  /// from those at the first one, if not already done
  AliDebug(1,"Enter FinalizeTrack");
  if (!track.IsImproved() && !track.UpdateCovTrackParamAtCluster()) {
    AliWarning("finalization failed due to extrapolation problem");
    return kFALSE;
  }
  return kTRUE;
}

  //__________________________________________________________________________
Bool_t AliMUONTrackReconstructor::RefitTrack(AliMUONTrack &track, Bool_t enableImprovement)
{
  /// re-fit the given track
  
  // check validity of the track
  if (track.GetNClusters() < 3) {
    AliWarning("the track does not contain enough clusters --> unable to refit");
    return kFALSE;
  }
  
  // reset the seed (i.e. parameters at first cluster) before fitting
  AliMUONTrackParam* firstTrackParam = (AliMUONTrackParam*) track.GetTrackParamAtCluster()->First();
  if (firstTrackParam->GetInverseBendingMomentum() == 0.) {
    AliWarning("track parameters at first chamber are not initialized --> unable to refit");
    return kFALSE;
  }
  
  // compute track parameters at each cluster from parameters at the first one
  // necessary to compute multiple scattering effect during refitting
  if (!track.UpdateTrackParamAtCluster()) {
    AliWarning("bad track refitting due to extrapolation failure");
    return kFALSE;
  }
  
  // Re-fit the track:
  // Take into account the multiple scattering
  // Calculate the track parameter covariance matrix
  Fit(track, kTRUE, kFALSE, kTRUE);
  
  // Improve the reconstructed tracks if required
  track.SetImproved(kFALSE);
  if (enableImprovement && GetRecoParam()->ImproveTracks()) ImproveTrack(track);
  
  // Fill AliMUONTrack data members
  if (track.GetGlobalChi2() < AliMUONTrack::MaxChi2()) return FinalizeTrack(track);
  else {
    AliWarning("track not finalized due to extrapolation failure");
    return kFALSE;
  }
  
}

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