#include "AliMUONTrackReconstructorK.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 <Riostream.h>
#include <TMath.h>
#include <TMatrixD.h>
#include <TClonesArray.h>
using std::endl;
using std::cout;
ClassImp(AliMUONTrackReconstructorK)
AliMUONTrackReconstructorK::AliMUONTrackReconstructorK(const AliMUONRecoParam* recoParam, AliMUONVClusterServer* clusterServer,
const AliMUONGeometryTransformer* transformer)
: AliMUONVTrackReconstructor(recoParam, clusterServer, transformer)
{
}
AliMUONTrackReconstructorK::~AliMUONTrackReconstructorK()
{
}
Bool_t AliMUONTrackReconstructorK::MakeTrackCandidates(AliMUONVClusterStore& clusterStore)
{
TClonesArray *segments;
AliMUONObjectPair *segment;
AliMUONTrack *track;
Int_t iCandidate = 0;
Bool_t clusterFound;
AliDebug(1,"Enter MakeTrackCandidates");
Int_t firstChamber(0);
Int_t lastChamber(9);
if (GetRecoParam()->CombineClusterTrackReco()) {
firstChamber = 6;
}
for (Int_t i = firstChamber; i <= lastChamber; ++i )
{
if (fClusterServer && GetRecoParam()->UseChamber(i)) fClusterServer->Clusterize(i, clusterStore, AliMpArea(), GetRecoParam());
}
for (Int_t istat=4; istat>=3; istat--) {
segments = MakeSegmentsBetweenChambers(clusterStore, 2*istat, 2*istat+1);
for (Int_t iSegment=0; iSegment<segments->GetEntriesFast(); iSegment++) {
AliDebug(1,Form("Making primary candidate(1..) %d",++iCandidate));
segment = (AliMUONObjectPair*) segments->UncheckedAt(iSegment);
track = new ((*fRecTracksPtr)[fRecTracksPtr->GetLast()+1]) AliMUONTrack(segment,GetRecoParam()->GetBendingVertexDispersion());
fNRecTracks++;
if (GetRecoParam()->MakeTrackCandidatesFast()) clusterFound = FollowLinearTrackInStation(*track, clusterStore, 7-istat);
else clusterFound = FollowTrackInStation(*track, clusterStore, 7-istat);
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() - iSegment - 1) > GetRecoParam()->GetMaxTrackCandidates()) {
AliError(Form("Too many track candidates (%d tracks). Stop tracking.", fNRecTracks + segments->GetEntriesFast() - iSegment - 1));
return kFALSE;
}
}
}
}
AliDebug(1,Form("Number of candidates before cleaning = %d",fNRecTracks));
if (GetRecoParam()->TrackAllTracks()) RemoveIdenticalTracks();
Int_t nCurrentTracks = fRecTracksPtr->GetLast()+1;
for (Int_t iRecTrack = 0; iRecTrack < nCurrentTracks; iRecTrack++) {
track = (AliMUONTrack*) fRecTracksPtr->UncheckedAt(iRecTrack);
if(!track) continue;
if (!RetraceTrack(*track,kTRUE) || !IsAcceptable(*((AliMUONTrackParam*)track->GetTrackParamAtCluster()->First()))) {
fRecTracksPtr->Remove(track);
fNRecTracks--;
}
}
if (!GetRecoParam()->TrackAllTracks()) RemoveDoubleTracks();
else fRecTracksPtr->Compress();
AliDebug(1,Form("Number of good candidates = %d",fNRecTracks));
return kTRUE;
}
Bool_t AliMUONTrackReconstructorK::MakeMoreTrackCandidates(AliMUONVClusterStore& clusterStore)
{
TClonesArray *segments;
AliMUONObjectPair *segment;
AliMUONTrack *track;
Int_t iCandidate = 0, iCurrentTrack, nCurrentTracks;
Int_t initialNRecTracks = fNRecTracks;
Bool_t clusterFound;
AliDebug(1,"Enter MakeMoreTrackCandidates");
for (Int_t ich1 = 6; ich1 <= 7; ich1++) {
for (Int_t ich2 = 8; ich2 <= 9; ich2++) {
segments = MakeSegmentsBetweenChambers(clusterStore, ich1, ich2);
RemoveUsedSegments(*segments);
for (Int_t iSegment=0; iSegment<segments->GetEntriesFast(); iSegment++) {
AliDebug(1,Form("Making primary candidate(1..) %d",++iCandidate));
segment = (AliMUONObjectPair*) segments->UncheckedAt(iSegment);
iCurrentTrack = fRecTracksPtr->GetLast()+1;
track = new ((*fRecTracksPtr)[iCurrentTrack]) AliMUONTrack(segment,GetRecoParam()->GetBendingVertexDispersion());
fNRecTracks++;
clusterFound = FollowLinearTrackInChamber(*track, clusterStore, 17-ich2);
if (GetRecoParam()->TrackAllTracks() && clusterFound) iCurrentTrack++;
nCurrentTracks = fRecTracksPtr->GetLast()+1;
while (iCurrentTrack < nCurrentTracks) {
track = (AliMUONTrack*) fRecTracksPtr->UncheckedAt(iCurrentTrack);
FollowLinearTrackInChamber(*track, clusterStore, 13-ich1);
iCurrentTrack++;
}
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;
}
}
}
}
AliDebug(1,Form("Number of candidates before cleaning = %d",fNRecTracks));
nCurrentTracks = fRecTracksPtr->GetLast()+1;
for (Int_t iRecTrack = initialNRecTracks; iRecTrack < nCurrentTracks; iRecTrack++) {
track = (AliMUONTrack*) fRecTracksPtr->UncheckedAt(iRecTrack);
if(!track) continue;
if (!RetraceTrack(*track,kTRUE) || !IsAcceptable(*((AliMUONTrackParam*)track->GetTrackParamAtCluster()->First()))) {
fRecTracksPtr->Remove(track);
fNRecTracks--;
}
}
if (!GetRecoParam()->TrackAllTracks()) RemoveDoubleTracks();
else fRecTracksPtr->Compress();
AliDebug(1,Form("Number of good candidates = %d",fNRecTracks));
return kTRUE;
}
Bool_t AliMUONTrackReconstructorK::RetraceTrack(AliMUONTrack &trackCandidate, Bool_t resetSeed)
{
AliDebug(1,"Enter RetraceTrack");
AliMUONTrackParam* lastTrackParam = (AliMUONTrackParam*) trackCandidate.GetTrackParamAtCluster()->Last();
if (resetSeed) {
AliMUONVCluster* cluster2 = lastTrackParam->GetClusterPtr();
Double_t x2 = cluster2->GetX();
Double_t y2 = cluster2->GetY();
Double_t z2 = cluster2->GetZ();
AliMUONTrackParam* previousTrackParam = (AliMUONTrackParam*) trackCandidate.GetTrackParamAtCluster()->Before(lastTrackParam);
AliMUONVCluster* cluster1 = previousTrackParam->GetClusterPtr();
if (cluster2->GetChamberId() == cluster1->GetChamberId()) {
previousTrackParam = (AliMUONTrackParam*) trackCandidate.GetTrackParamAtCluster()->Before(previousTrackParam);
cluster1 = previousTrackParam->GetClusterPtr();
}
Double_t x1 = cluster1->GetX();
Double_t y1 = cluster1->GetY();
Double_t z1 = cluster1->GetZ();
Double_t dZ = z1 - z2;
lastTrackParam->SetNonBendingCoor(x2);
lastTrackParam->SetBendingCoor(y2);
lastTrackParam->SetZ(z2);
lastTrackParam->SetNonBendingSlope((x1 - x2) / dZ);
lastTrackParam->SetBendingSlope((y1 - y2) / dZ);
Double_t bendingImpact = y2 - z2 * lastTrackParam->GetBendingSlope();
Double_t inverseBendingMomentum = 1. / AliMUONTrackExtrap::GetBendingMomentumFromImpactParam(bendingImpact);
lastTrackParam->SetInverseBendingMomentum(inverseBendingMomentum);
TMatrixD lastParamCov(5,5);
lastParamCov.Zero();
lastParamCov(0,0) = cluster2->GetErrX2();
lastParamCov(0,1) = - cluster2->GetErrX2() / dZ;
lastParamCov(1,0) = lastParamCov(0,1);
lastParamCov(1,1) = ( 1000. * cluster1->GetErrX2() + cluster2->GetErrX2() ) / dZ / dZ;
lastParamCov(2,2) = cluster2->GetErrY2();
lastParamCov(2,3) = - cluster2->GetErrY2() / dZ;
lastParamCov(3,2) = lastParamCov(2,3);
lastParamCov(3,3) = ( 1000. * cluster1->GetErrY2() + cluster2->GetErrY2() ) / dZ / dZ;
if (AliMUONTrackExtrap::IsFieldON()) {
lastParamCov(4,4) = ((GetRecoParam()->GetBendingVertexDispersion() *
GetRecoParam()->GetBendingVertexDispersion() +
(z1 * z1 * cluster2->GetErrY2() + z2 * z2 * 1000. * cluster1->GetErrY2()) / dZ / dZ) /
bendingImpact / bendingImpact + 0.1 * 0.1) * inverseBendingMomentum * inverseBendingMomentum;
lastParamCov(2,4) = z1 * cluster2->GetErrY2() * inverseBendingMomentum / bendingImpact / dZ;
lastParamCov(4,2) = lastParamCov(2,4);
lastParamCov(3,4) = - (z1 * cluster2->GetErrY2() + z2 * 1000. * cluster1->GetErrY2()) *
inverseBendingMomentum / bendingImpact / dZ / dZ;
lastParamCov(4,3) = lastParamCov(3,4);
} else lastParamCov(4,4) = inverseBendingMomentum*inverseBendingMomentum;
lastTrackParam->SetCovariances(lastParamCov);
lastTrackParam->SetTrackChi2(0.);
}
return RetracePartialTrack(trackCandidate, lastTrackParam);
}
Bool_t AliMUONTrackReconstructorK::RetracePartialTrack(AliMUONTrack &trackCandidate, const AliMUONTrackParam* startingTrackParam)
{
AliDebug(1,"Enter RetracePartialTrack");
if ((AliLog::GetDebugLevel("MUON","AliMUONTrackReconstructorK") >= 1) || (AliLog::GetGlobalDebugLevel() >= 1)) {
cout << "RetracePartialTrack: track chi2 before re-tracking: " << trackCandidate.GetGlobalChi2() << endl;
}
trackCandidate.SetGlobalChi2(startingTrackParam->GetTrackChi2());
Bool_t extrapStatus = kTRUE;
Int_t expectedChamber = startingTrackParam->GetClusterPtr()->GetChamberId() - 1;
Int_t currentChamber;
Double_t addChi2TrackAtCluster;
AliMUONTrackParam* trackParamAtCluster = (AliMUONTrackParam*) trackCandidate.GetTrackParamAtCluster()->Before(startingTrackParam);
while (trackParamAtCluster) {
trackParamAtCluster->SetParameters(startingTrackParam->GetParameters());
trackParamAtCluster->SetZ(startingTrackParam->GetZ());
trackParamAtCluster->SetCovariances(startingTrackParam->GetCovariances());
AliMUONTrackExtrap::AddMCSEffect(trackParamAtCluster,AliMUONConstants::ChamberThicknessInX0(expectedChamber+1),-1.);
if (GetRecoParam()->UseSmoother()) trackParamAtCluster->ResetPropagator();
currentChamber = trackParamAtCluster->GetClusterPtr()->GetChamberId();
while (currentChamber < expectedChamber) {
if (!AliMUONTrackExtrap::ExtrapToZCov(trackParamAtCluster, AliMUONConstants::DefaultChamberZ(expectedChamber),
GetRecoParam()->UseSmoother())) extrapStatus = kFALSE;
AliMUONTrackExtrap::AddMCSEffect(trackParamAtCluster,AliMUONConstants::ChamberThicknessInX0(expectedChamber),-1.);
expectedChamber--;
}
if (!AliMUONTrackExtrap::ExtrapToZCov(trackParamAtCluster, trackParamAtCluster->GetClusterPtr()->GetZ(),
GetRecoParam()->UseSmoother())) extrapStatus = kFALSE;
if (GetRecoParam()->UseSmoother()) {
trackParamAtCluster->SetExtrapParameters(trackParamAtCluster->GetParameters());
trackParamAtCluster->SetExtrapCovariances(trackParamAtCluster->GetCovariances());
}
addChi2TrackAtCluster = RunKalmanFilter(*trackParamAtCluster);
trackCandidate.SetGlobalChi2(trackCandidate.GetGlobalChi2() + addChi2TrackAtCluster);
trackParamAtCluster->SetTrackChi2(trackCandidate.GetGlobalChi2());
expectedChamber = currentChamber - 1;
startingTrackParam = trackParamAtCluster;
trackParamAtCluster = (AliMUONTrackParam*) (trackCandidate.GetTrackParamAtCluster()->Before(startingTrackParam));
}
if ((AliLog::GetDebugLevel("MUON","AliMUONTrackReconstructorK") >= 1) || (AliLog::GetGlobalDebugLevel() >= 1)) {
cout << "RetracePartialTrack: track chi2 after re-tracking: " << trackCandidate.GetGlobalChi2() << endl;
}
if (!extrapStatus) trackCandidate.SetGlobalChi2(2.*AliMUONTrack::MaxChi2());
return extrapStatus;
}
Bool_t AliMUONTrackReconstructorK::FollowTracks(AliMUONVClusterStore& clusterStore)
{
AliDebug(1,"Enter FollowTracks");
AliMUONTrack *track;
Int_t currentNRecTracks;
for (Int_t station = 2; station >= 0; station--) {
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);
if (!FollowTrackInStation(*track, clusterStore, station)) {
if (GetRecoParam()->RecoverTracks()) {
if (!GetRecoParam()->RequestStation(station)) {
track = new ((*fRecTracksPtr)[fRecTracksPtr->GetLast()+1]) AliMUONTrack(*track);
fNRecTracks++;
}
if (!RecoverTrack(*track, clusterStore, station)) {
fRecTracksPtr->Remove(track);
fNRecTracks--;
}
} else if (GetRecoParam()->RequestStation(station)) {
fRecTracksPtr->Remove(track);
fNRecTracks--;
}
}
if (GetRecoParam()->RequestStation(station)) {
if (fNRecTracks > GetRecoParam()->GetMaxTrackCandidates()) {
AliError(Form("Too many track candidates (%d tracks). Stop tracking.", fNRecTracks));
return kFALSE;
}
} else {
if ((fNRecTracks + currentNRecTracks - iRecTrack - 1) > GetRecoParam()->GetMaxTrackCandidates()) {
AliError(Form("Too many track candidates (%d tracks). Stop tracking.", fNRecTracks + currentNRecTracks - iRecTrack - 1));
return kFALSE;
}
}
}
fRecTracksPtr->Compress();
AliDebug(1,Form("In stations(1..) %d: Number of candidates before cleaning = %d",station+1,fNRecTracks));
if (!GetRecoParam()->TrackAllTracks()) RemoveDoubleTracks();
AliDebug(1,Form("In stations(1..) %d: Number of good candidates = %d",station+1,fNRecTracks));
}
return kTRUE;
}
Bool_t AliMUONTrackReconstructorK::FollowTrackInChamber(AliMUONTrack &trackCandidate, AliMUONVClusterStore& clusterStore, Int_t nextChamber)
{
AliDebug(1,Form("Enter FollowTrackInChamber(1..) %d", nextChamber+1));
Double_t chi2OfCluster;
Double_t maxChi2OfCluster = 2. * GetRecoParam()->GetSigmaCutForTracking() *
GetRecoParam()->GetSigmaCutForTracking();
Double_t addChi2TrackAtCluster;
Double_t bestAddChi2TrackAtCluster = AliMUONTrack::MaxChi2();
Bool_t foundOneCluster = kFALSE;
AliMUONTrack *newTrack = 0x0;
AliMUONVCluster *cluster;
AliMUONTrackParam extrapTrackParamAtCh;
AliMUONTrackParam extrapTrackParamAtCluster;
AliMUONTrackParam bestTrackParamAtCluster;
if (nextChamber > 7) extrapTrackParamAtCh = *(AliMUONTrackParam*)trackCandidate.GetTrackParamAtCluster()->Last();
else extrapTrackParamAtCh = *(AliMUONTrackParam*)trackCandidate.GetTrackParamAtCluster()->First();
if ((AliLog::GetDebugLevel("MUON","AliMUONTrackReconstructorK") >= 2) || (AliLog::GetGlobalDebugLevel() >= 2)) {
cout<<endl<<"Track parameters and covariances at first cluster:"<<endl;
extrapTrackParamAtCh.GetParameters().Print();
extrapTrackParamAtCh.GetCovariances().Print();
}
Int_t currentChamber = extrapTrackParamAtCh.GetClusterPtr()->GetChamberId();
AliMUONTrackExtrap::AddMCSEffect(&extrapTrackParamAtCh,AliMUONConstants::ChamberThicknessInX0(currentChamber),-1.);
if (GetRecoParam()->UseSmoother()) extrapTrackParamAtCh.ResetPropagator();
while (currentChamber > nextChamber + 1) {
currentChamber--;
if (!AliMUONTrackExtrap::ExtrapToZCov(&extrapTrackParamAtCh, AliMUONConstants::DefaultChamberZ(currentChamber),
GetRecoParam()->UseSmoother())) return kFALSE;
AliMUONTrackExtrap::AddMCSEffect(&extrapTrackParamAtCh,AliMUONConstants::ChamberThicknessInX0(currentChamber),-1.);
}
if (!AliMUONTrackExtrap::ExtrapToZCov(&extrapTrackParamAtCh, AliMUONConstants::DefaultChamberZ(nextChamber),
GetRecoParam()->UseSmoother())) return kFALSE;
if ((AliLog::GetDebugLevel("MUON","AliMUONTrackReconstructorK") >= 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();
}
if ((AliLog::GetDebugLevel("MUON","AliMUONTrackReconstructorK") >= 1) || (AliLog::GetGlobalDebugLevel() >= 1)) {
cout << "FollowTrackInChamber: look for clusters in chamber(1..): " << nextChamber+1 << endl;
}
if (GetRecoParam()->CombineClusterTrackReco()) {
if (nextChamber < 6) AskForNewClustersInChamber(extrapTrackParamAtCh, clusterStore, nextChamber);
}
TIter next(clusterStore.CreateChamberIterator(nextChamber,nextChamber));
while ( ( cluster = static_cast<AliMUONVCluster*>(next()) ) ) {
if (!TryOneClusterFast(extrapTrackParamAtCh, cluster)) continue;
chi2OfCluster = TryOneCluster(extrapTrackParamAtCh, cluster, extrapTrackParamAtCluster,
GetRecoParam()->UseSmoother());
if (chi2OfCluster < maxChi2OfCluster) {
if (GetRecoParam()->UseSmoother()) {
extrapTrackParamAtCluster.SetExtrapParameters(extrapTrackParamAtCluster.GetParameters());
extrapTrackParamAtCluster.SetExtrapCovariances(extrapTrackParamAtCluster.GetCovariances());
}
addChi2TrackAtCluster = RunKalmanFilter(extrapTrackParamAtCluster);
if (!IsAcceptable(extrapTrackParamAtCluster)) continue;
foundOneCluster = kTRUE;
if ((AliLog::GetDebugLevel("MUON","AliMUONTrackReconstructorK") >= 1) || (AliLog::GetGlobalDebugLevel() >= 1)) {
cout << "FollowTrackInChamber: found one cluster in chamber(1..): " << nextChamber+1
<< " (Chi2 = " << chi2OfCluster << ")" << endl;
cluster->Print();
}
if (GetRecoParam()->TrackAllTracks()) {
newTrack = new ((*fRecTracksPtr)[fRecTracksPtr->GetLast()+1]) AliMUONTrack(trackCandidate);
UpdateTrack(*newTrack,extrapTrackParamAtCluster,addChi2TrackAtCluster);
fNRecTracks++;
if ((AliLog::GetDebugLevel("MUON","AliMUONTrackReconstructorK") >= 1) || (AliLog::GetGlobalDebugLevel() >= 1)) {
cout << "FollowTrackInChamber: added one cluster in chamber(1..): " << nextChamber+1 << endl;
if (AliLog::GetGlobalDebugLevel() >= 3) newTrack->RecursiveDump();
}
} else if (addChi2TrackAtCluster < bestAddChi2TrackAtCluster) {
bestAddChi2TrackAtCluster = addChi2TrackAtCluster;
bestTrackParamAtCluster = extrapTrackParamAtCluster;
}
}
}
if (!GetRecoParam()->TrackAllTracks()) {
if (foundOneCluster) {
UpdateTrack(trackCandidate,bestTrackParamAtCluster,bestAddChi2TrackAtCluster);
if ((AliLog::GetDebugLevel("MUON","AliMUONTrackReconstructorK") >= 1) || (AliLog::GetGlobalDebugLevel() >= 1)) {
cout << "FollowTrackInChamber: added the best cluster in chamber(1..): " << bestTrackParamAtCluster.GetClusterPtr()->GetChamberId()+1 << endl;
if (AliLog::GetGlobalDebugLevel() >= 3) newTrack->RecursiveDump();
}
} else return kFALSE;
} else if (foundOneCluster) {
fRecTracksPtr->Remove(&trackCandidate);
fNRecTracks--;
} else return kFALSE;
return kTRUE;
}
Bool_t AliMUONTrackReconstructorK::FollowTrackInStation(AliMUONTrack &trackCandidate, AliMUONVClusterStore& clusterStore, Int_t nextStation)
{
AliDebug(1,Form("Enter FollowTrackInStation(1..) %d", nextStation+1));
Int_t ch1, ch2;
if (nextStation==4) {
ch1 = 2*nextStation+1;
ch2 = 2*nextStation;
} else {
ch1 = 2*nextStation;
ch2 = 2*nextStation+1;
}
Double_t chi2OfCluster;
Double_t maxChi2OfCluster = 2. * GetRecoParam()->GetSigmaCutForTracking() *
GetRecoParam()->GetSigmaCutForTracking();
Double_t addChi2TrackAtCluster1;
Double_t addChi2TrackAtCluster2;
Double_t bestAddChi2TrackAtCluster1 = AliMUONTrack::MaxChi2();
Double_t bestAddChi2TrackAtCluster2 = AliMUONTrack::MaxChi2();
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;
if (nextStation==4) extrapTrackParamAtCh = *(AliMUONTrackParam*)trackCandidate.GetTrackParamAtCluster()->Last();
else extrapTrackParamAtCh = *(AliMUONTrackParam*)trackCandidate.GetTrackParamAtCluster()->First();
if ((AliLog::GetDebugLevel("MUON","AliMUONTrackReconstructorK") >= 2) || (AliLog::GetGlobalDebugLevel() >= 2)) {
cout<<endl<<"Track parameters and covariances at first cluster:"<<endl;
extrapTrackParamAtCh.GetParameters().Print();
extrapTrackParamAtCh.GetCovariances().Print();
}
Int_t currentChamber = extrapTrackParamAtCh.GetClusterPtr()->GetChamberId();
AliMUONTrackExtrap::AddMCSEffect(&extrapTrackParamAtCh,AliMUONConstants::ChamberThicknessInX0(currentChamber),-1.);
if (GetRecoParam()->UseSmoother()) extrapTrackParamAtCh.ResetPropagator();
while (ch1 < ch2 && currentChamber > ch2 + 1) {
currentChamber--;
if (!AliMUONTrackExtrap::ExtrapToZCov(&extrapTrackParamAtCh, AliMUONConstants::DefaultChamberZ(currentChamber),
GetRecoParam()->UseSmoother())) return kFALSE;
AliMUONTrackExtrap::AddMCSEffect(&extrapTrackParamAtCh,AliMUONConstants::ChamberThicknessInX0(currentChamber),-1.);
}
if (!AliMUONTrackExtrap::ExtrapToZCov(&extrapTrackParamAtCh, AliMUONConstants::DefaultChamberZ(ch2),
GetRecoParam()->UseSmoother())) return kFALSE;
if ((AliLog::GetDebugLevel("MUON","AliMUONTrackReconstructorK") >= 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();
}
if ((AliLog::GetDebugLevel("MUON","AliMUONTrackReconstructorK") >= 1) || (AliLog::GetGlobalDebugLevel() >= 1)) {
cout << "FollowTrackInStation: look for clusters in chamber(1..): " << ch2+1 << endl;
}
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;
TIter nextInCh1(clusterStore.CreateChamberIterator(ch1,ch1));
TIter nextInCh2(clusterStore.CreateChamberIterator(ch2,ch2));
while ( ( clusterCh2 = static_cast<AliMUONVCluster*>(nextInCh2()) ) ) {
if (!TryOneClusterFast(extrapTrackParamAtCh, clusterCh2)) continue;
chi2OfCluster = TryOneCluster(extrapTrackParamAtCh, clusterCh2, extrapTrackParamAtCluster2,
GetRecoParam()->UseSmoother());
if (chi2OfCluster < maxChi2OfCluster) {
if (GetRecoParam()->UseSmoother()) {
extrapTrackParamAtCluster2.SetExtrapParameters(extrapTrackParamAtCluster2.GetParameters());
extrapTrackParamAtCluster2.SetExtrapCovariances(extrapTrackParamAtCluster2.GetCovariances());
}
addChi2TrackAtCluster2 = RunKalmanFilter(extrapTrackParamAtCluster2);
if (!IsAcceptable(extrapTrackParamAtCluster2)) continue;
if ((AliLog::GetDebugLevel("MUON","AliMUONTrackReconstructorK") >= 1) || (AliLog::GetGlobalDebugLevel() >= 1)) {
cout << "FollowTrackInStation: found one cluster in chamber(1..): " << ch2+1
<< " (Chi2 = " << chi2OfCluster << ")" << endl;
clusterCh2->Print();
cout << " look for second clusters in chamber(1..): " << ch1+1 << " ..." << endl;
}
extrapTrackParam = extrapTrackParamAtCluster2;
AliMUONTrackExtrap::AddMCSEffect(&extrapTrackParam,AliMUONConstants::ChamberThicknessInX0(ch2),-1.);
if (GetRecoParam()->UseSmoother()) extrapTrackParam.ResetPropagator();
Bool_t normalExtrap = AliMUONTrackExtrap::ExtrapToZCov(&extrapTrackParam, AliMUONConstants::DefaultChamberZ(ch1),
GetRecoParam()->UseSmoother());
nextInCh1.Reset();
iCluster1 = -1;
Bool_t foundSecondCluster = kFALSE;
if (normalExtrap) while ( ( clusterCh1 = static_cast<AliMUONVCluster*>(nextInCh1()) ) ) {
iCluster1++;
if (!TryOneClusterFast(extrapTrackParam, clusterCh1)) continue;
chi2OfCluster = TryOneCluster(extrapTrackParam, clusterCh1, extrapTrackParamAtCluster1,
GetRecoParam()->UseSmoother());
if (chi2OfCluster < maxChi2OfCluster) {
if (GetRecoParam()->UseSmoother()) {
extrapTrackParamAtCluster1.SetExtrapParameters(extrapTrackParamAtCluster1.GetParameters());
extrapTrackParamAtCluster1.SetExtrapCovariances(extrapTrackParamAtCluster1.GetCovariances());
}
addChi2TrackAtCluster1 = RunKalmanFilter(extrapTrackParamAtCluster1);
if (!IsAcceptable(extrapTrackParamAtCluster1)) continue;
foundSecondCluster = kTRUE;
foundTwoClusters = kTRUE;
if ((AliLog::GetDebugLevel("MUON","AliMUONTrackReconstructorK") >= 1) || (AliLog::GetGlobalDebugLevel() >= 1)) {
cout << "FollowTrackInStation: found one cluster in chamber(1..): " << ch1+1
<< " (Chi2 = " << chi2OfCluster << ")" << endl;
clusterCh1->Print();
}
if (GetRecoParam()->TrackAllTracks()) {
newTrack = new ((*fRecTracksPtr)[fRecTracksPtr->GetLast()+1]) AliMUONTrack(trackCandidate);
UpdateTrack(*newTrack,extrapTrackParamAtCluster1,extrapTrackParamAtCluster2,addChi2TrackAtCluster1,addChi2TrackAtCluster2);
fNRecTracks++;
clusterCh1Used[iCluster1] = kTRUE;
if ((AliLog::GetDebugLevel("MUON","AliMUONTrackReconstructorK") >= 1) || (AliLog::GetGlobalDebugLevel() >= 1)) {
cout << "FollowTrackInStation: added two clusters in station(1..): " << nextStation+1 << endl;
if (AliLog::GetGlobalDebugLevel() >= 3) newTrack->RecursiveDump();
}
} else if (addChi2TrackAtCluster1+addChi2TrackAtCluster2 < bestAddChi2TrackAtCluster1+bestAddChi2TrackAtCluster2) {
bestAddChi2TrackAtCluster1 = addChi2TrackAtCluster1;
bestAddChi2TrackAtCluster2 = addChi2TrackAtCluster2;
bestTrackParamAtCluster1 = extrapTrackParamAtCluster1;
bestTrackParamAtCluster2 = extrapTrackParamAtCluster2;
}
}
}
if (!foundSecondCluster) {
foundOneCluster = kTRUE;
if (GetRecoParam()->TrackAllTracks()) {
newTrack = new ((*fRecTracksPtr)[fRecTracksPtr->GetLast()+1]) AliMUONTrack(trackCandidate);
UpdateTrack(*newTrack,extrapTrackParamAtCluster2,addChi2TrackAtCluster2);
fNRecTracks++;
if ((AliLog::GetDebugLevel("MUON","AliMUONTrackReconstructorK") >= 1) || (AliLog::GetGlobalDebugLevel() >= 1)) {
cout << "FollowTrackInStation: added one cluster in chamber(1..): " << ch2+1 << endl;
if (AliLog::GetGlobalDebugLevel() >= 3) newTrack->RecursiveDump();
}
} else if (!foundTwoClusters && addChi2TrackAtCluster2 < bestAddChi2TrackAtCluster1) {
bestAddChi2TrackAtCluster1 = addChi2TrackAtCluster2;
bestTrackParamAtCluster1 = extrapTrackParamAtCluster2;
}
}
}
}
if (GetRecoParam()->TrackAllTracks() || !foundTwoClusters) {
AliMUONTrackExtrap::AddMCSEffect(&extrapTrackParamAtCh,AliMUONConstants::ChamberThicknessInX0(ch2),-1.);
Bool_t normalExtrap = AliMUONTrackExtrap::ExtrapToZCov(&extrapTrackParamAtCh, AliMUONConstants::DefaultChamberZ(ch1),
GetRecoParam()->UseSmoother());
if ((AliLog::GetDebugLevel("MUON","AliMUONTrackReconstructorK") >= 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();
}
if ((AliLog::GetDebugLevel("MUON","AliMUONTrackReconstructorK") >= 1) || (AliLog::GetGlobalDebugLevel() >= 1)) {
cout << "FollowTrackInStation: look for single clusters in chamber(1..): " << ch1+1 << endl;
}
nextInCh1.Reset();
iCluster1 = -1;
if (normalExtrap) while ( ( clusterCh1 = static_cast<AliMUONVCluster*>(nextInCh1()) ) ) {
iCluster1++;
if (clusterCh1Used[iCluster1]) continue;
if (!TryOneClusterFast(extrapTrackParamAtCh, clusterCh1)) continue;
chi2OfCluster = TryOneCluster(extrapTrackParamAtCh, clusterCh1, extrapTrackParamAtCluster1,
GetRecoParam()->UseSmoother());
if (chi2OfCluster < maxChi2OfCluster) {
if (GetRecoParam()->UseSmoother()) {
extrapTrackParamAtCluster1.SetExtrapParameters(extrapTrackParamAtCluster1.GetParameters());
extrapTrackParamAtCluster1.SetExtrapCovariances(extrapTrackParamAtCluster1.GetCovariances());
}
addChi2TrackAtCluster1 = RunKalmanFilter(extrapTrackParamAtCluster1);
if (!IsAcceptable(extrapTrackParamAtCluster1)) continue;
foundOneCluster = kTRUE;
if ((AliLog::GetDebugLevel("MUON","AliMUONTrackReconstructorK") >= 1) || (AliLog::GetGlobalDebugLevel() >= 1)) {
cout << "FollowTrackInStation: found one cluster in chamber(1..): " << ch1+1
<< " (Chi2 = " << chi2OfCluster << ")" << endl;
clusterCh1->Print();
}
if (GetRecoParam()->TrackAllTracks()) {
newTrack = new ((*fRecTracksPtr)[fRecTracksPtr->GetLast()+1]) AliMUONTrack(trackCandidate);
UpdateTrack(*newTrack,extrapTrackParamAtCluster1,addChi2TrackAtCluster1);
fNRecTracks++;
if ((AliLog::GetDebugLevel("MUON","AliMUONTrackReconstructorK") >= 1) || (AliLog::GetGlobalDebugLevel() >= 1)) {
cout << "FollowTrackInStation: added one cluster in chamber(1..): " << ch1+1 << endl;
if (AliLog::GetGlobalDebugLevel() >= 3) newTrack->RecursiveDump();
}
} else if (addChi2TrackAtCluster1 < bestAddChi2TrackAtCluster1) {
bestAddChi2TrackAtCluster1 = addChi2TrackAtCluster1;
bestTrackParamAtCluster1 = extrapTrackParamAtCluster1;
}
}
}
}
if (!GetRecoParam()->TrackAllTracks()) {
if (foundTwoClusters) {
UpdateTrack(trackCandidate,bestTrackParamAtCluster1,bestTrackParamAtCluster2,bestAddChi2TrackAtCluster1,bestAddChi2TrackAtCluster2);
if ((AliLog::GetDebugLevel("MUON","AliMUONTrackReconstructorK") >= 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,bestAddChi2TrackAtCluster1);
if ((AliLog::GetDebugLevel("MUON","AliMUONTrackReconstructorK") >= 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) {
fRecTracksPtr->Remove(&trackCandidate);
fNRecTracks--;
} else {
delete [] clusterCh1Used;
return kFALSE;
}
delete [] clusterCh1Used;
return kTRUE;
}
Double_t AliMUONTrackReconstructorK::RunKalmanFilter(AliMUONTrackParam &trackParamAtCluster)
{
AliDebug(1,"Enter RunKalmanFilter");
TMatrixD param(trackParamAtCluster.GetParameters());
AliMUONVCluster *cluster = trackParamAtCluster.GetClusterPtr();
TMatrixD clusterParam(5,1);
clusterParam.Zero();
clusterParam(0,0) = cluster->GetX();
clusterParam(2,0) = cluster->GetY();
TMatrixD paramWeight(trackParamAtCluster.GetCovariances());
if (paramWeight.Determinant() != 0) {
paramWeight.Invert();
} else {
AliWarning(" Determinant = 0");
return 2.*AliMUONTrack::MaxChi2();
}
TMatrixD clusterWeight(5,5);
clusterWeight.Zero();
clusterWeight(0,0) = 1. / cluster->GetErrX2();
clusterWeight(2,2) = 1. / cluster->GetErrY2();
TMatrixD newParamCov(paramWeight,TMatrixD::kPlus,clusterWeight);
if (newParamCov.Determinant() != 0) {
newParamCov.Invert();
} else {
AliWarning(" Determinant = 0");
return 2.*AliMUONTrack::MaxChi2();
}
trackParamAtCluster.SetCovariances(newParamCov);
TMatrixD tmp(clusterParam,TMatrixD::kMinus,param);
TMatrixD tmp2(clusterWeight,TMatrixD::kMult,tmp);
TMatrixD newParam(newParamCov,TMatrixD::kMult,tmp2);
newParam += param;
trackParamAtCluster.SetParameters(newParam);
tmp = newParam;
tmp -= param;
TMatrixD tmp3(paramWeight,TMatrixD::kMult,tmp);
TMatrixD addChi2Track(tmp,TMatrixD::kTransposeMult,tmp3);
tmp = newParam;
tmp -= clusterParam;
TMatrixD tmp4(clusterWeight,TMatrixD::kMult,tmp);
addChi2Track += TMatrixD(tmp,TMatrixD::kTransposeMult,tmp4);
return addChi2Track(0,0);
}
void AliMUONTrackReconstructorK::UpdateTrack(AliMUONTrack &track, AliMUONTrackParam &trackParamAtCluster, Double_t addChi2)
{
if (GetRecoParam()->RequestStation(trackParamAtCluster.GetClusterPtr()->GetChamberId()/2))
trackParamAtCluster.SetRemovable(kFALSE);
else trackParamAtCluster.SetRemovable(kTRUE);
trackParamAtCluster.SetLocalChi2(0.);
trackParamAtCluster.SetTrackChi2(track.GetGlobalChi2() + addChi2);
track.SetGlobalChi2(trackParamAtCluster.GetTrackChi2());
track.AddTrackParamAtCluster(trackParamAtCluster,*(trackParamAtCluster.GetClusterPtr()));
}
void AliMUONTrackReconstructorK::UpdateTrack(AliMUONTrack &track, AliMUONTrackParam &trackParamAtCluster1, AliMUONTrackParam &trackParamAtCluster2,
Double_t addChi2AtCluster1, Double_t addChi2AtCluster2)
{
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);
trackParamAtCluster1.SetRemovable(kTRUE);
AliMUONVCluster* cluster2 = trackParamAtCluster2.GetClusterPtr();
AliMUONTrackParam extrapTrackParamAtCluster2(trackParamAtCluster1);
AliMUONTrackExtrap::ExtrapToZ(&extrapTrackParamAtCluster2, trackParamAtCluster2.GetZ());
deltaX = extrapTrackParamAtCluster2.GetNonBendingCoor() - cluster2->GetX();
deltaY = extrapTrackParamAtCluster2.GetBendingCoor() - cluster2->GetY();
Double_t localChi2AtCluster2 = deltaX*deltaX / cluster2->GetErrX2() +
deltaY*deltaY / cluster2->GetErrY2();
trackParamAtCluster2.SetLocalChi2(localChi2AtCluster2);
trackParamAtCluster2.SetRemovable(kTRUE);
trackParamAtCluster2.SetTrackChi2(track.GetGlobalChi2() + addChi2AtCluster2);
trackParamAtCluster1.SetTrackChi2(trackParamAtCluster2.GetTrackChi2() + addChi2AtCluster1);
track.SetGlobalChi2(trackParamAtCluster1.GetTrackChi2());
track.AddTrackParamAtCluster(trackParamAtCluster1,*cluster1);
track.AddTrackParamAtCluster(trackParamAtCluster2,*cluster2);
}
Bool_t AliMUONTrackReconstructorK::RecoverTrack(AliMUONTrack &trackCandidate, AliMUONVClusterStore& clusterStore, Int_t nextStation)
{
AliDebug(1,"Enter RecoverTrack");
if (nextStation > 1) return kFALSE;
Int_t worstClusterNumber = -1;
Double_t localChi2, worstLocalChi2 = -1.;
for (Int_t clusterNumber = 0; clusterNumber < 2; clusterNumber++) {
AliMUONTrackParam *trackParamAtCluster = (AliMUONTrackParam*)trackCandidate.GetTrackParamAtCluster()->UncheckedAt(clusterNumber);
if (trackParamAtCluster->GetClusterPtr()->GetChamberId()/2 != nextStation+1) break;
if (!trackParamAtCluster->IsRemovable()) return kFALSE;
if (GetRecoParam()->RequestStation(nextStation+1)) trackParamAtCluster->SetRemovable(kFALSE);
localChi2 = trackParamAtCluster->GetLocalChi2();
if (localChi2 > worstLocalChi2) {
worstLocalChi2 = localChi2;
worstClusterNumber = clusterNumber;
}
}
if (worstClusterNumber < 0) return kFALSE;
trackCandidate.RemoveTrackParamAtCluster((AliMUONTrackParam*)trackCandidate.GetTrackParamAtCluster()->UncheckedAt(worstClusterNumber));
if (!RetracePartialTrack(trackCandidate,(AliMUONTrackParam*)trackCandidate.GetTrackParamAtCluster()->UncheckedAt(1))) return kFALSE;
if (!IsAcceptable(*((AliMUONTrackParam*)trackCandidate.GetTrackParamAtCluster()->First()))) return kFALSE;
return FollowTrackInStation(trackCandidate, clusterStore, nextStation);
}
Bool_t AliMUONTrackReconstructorK::RunSmoother(AliMUONTrack &track)
{
AliDebug(1,"Enter UseSmoother");
AliMUONTrackParam *previousTrackParam = (AliMUONTrackParam*) track.GetTrackParamAtCluster()->First();
previousTrackParam->SetSmoothParameters(previousTrackParam->GetParameters());
previousTrackParam->SetSmoothCovariances(previousTrackParam->GetCovariances());
AliMUONTrackParam *currentTrackParam = (AliMUONTrackParam*) track.GetTrackParamAtCluster()->After(previousTrackParam);
previousTrackParam->SetLocalChi2(previousTrackParam->GetTrackChi2() - currentTrackParam->GetTrackChi2());
if (track.GetNClusters() == 2) {
currentTrackParam->SetSmoothParameters(currentTrackParam->GetParameters());
currentTrackParam->SetSmoothCovariances(currentTrackParam->GetCovariances());
currentTrackParam->SetLocalChi2(currentTrackParam->GetTrackChi2());
return kTRUE;
}
while (currentTrackParam) {
const TMatrixD &extrapParameters = previousTrackParam->GetExtrapParameters();
const TMatrixD &filteredParameters = currentTrackParam->GetParameters();
const TMatrixD &previousSmoothParameters = previousTrackParam->GetSmoothParameters();
const TMatrixD &propagator = previousTrackParam->GetPropagator();
const TMatrixD &extrapCovariances = previousTrackParam->GetExtrapCovariances();
const TMatrixD &filteredCovariances = currentTrackParam->GetCovariances();
const TMatrixD &previousSmoothCovariances = previousTrackParam->GetSmoothCovariances();
TMatrixD extrapWeight(extrapCovariances);
if (extrapWeight.Determinant() != 0) {
extrapWeight.Invert();
} else {
AliWarning(" Determinant = 0");
return kFALSE;
}
TMatrixD smootherGain(filteredCovariances,TMatrixD::kMultTranspose,propagator);
smootherGain *= extrapWeight;
TMatrixD tmpParam(previousSmoothParameters,TMatrixD::kMinus,extrapParameters);
TMatrixD smoothParameters(smootherGain,TMatrixD::kMult,tmpParam);
smoothParameters += filteredParameters;
currentTrackParam->SetSmoothParameters(smoothParameters);
TMatrixD tmpCov(previousSmoothCovariances,TMatrixD::kMinus,extrapCovariances);
TMatrixD tmpCov2(tmpCov,TMatrixD::kMultTranspose,smootherGain);
TMatrixD smoothCovariances(smootherGain,TMatrixD::kMult,tmpCov2);
smoothCovariances += filteredCovariances;
currentTrackParam->SetSmoothCovariances(smoothCovariances);
AliMUONVCluster* cluster = currentTrackParam->GetClusterPtr();
TMatrixD smoothResidual(2,1);
smoothResidual.Zero();
smoothResidual(0,0) = cluster->GetX() - smoothParameters(0,0);
smoothResidual(1,0) = cluster->GetY() - smoothParameters(2,0);
TMatrixD smoothResidualWeight(2,2);
smoothResidualWeight(0,0) = cluster->GetErrX2() - smoothCovariances(0,0);
smoothResidualWeight(0,1) = - smoothCovariances(0,2);
smoothResidualWeight(1,0) = - smoothCovariances(2,0);
smoothResidualWeight(1,1) = cluster->GetErrY2() - smoothCovariances(2,2);
if (smoothResidualWeight.Determinant() != 0) {
smoothResidualWeight.Invert();
} else {
AliWarning(" Determinant = 0");
return kFALSE;
}
TMatrixD tmpChi2(smoothResidual,TMatrixD::kTransposeMult,smoothResidualWeight);
TMatrixD localChi2(tmpChi2,TMatrixD::kMult,smoothResidual);
currentTrackParam->SetLocalChi2(localChi2(0,0));
previousTrackParam = currentTrackParam;
currentTrackParam = (AliMUONTrackParam*) track.GetTrackParamAtCluster()->After(previousTrackParam);
}
return kTRUE;
}
Bool_t AliMUONTrackReconstructorK::ComplementTracks(const AliMUONVClusterStore& clusterStore)
{
AliDebug(1,"Enter ComplementTracks");
Int_t chamberId, detElemId;
Double_t chi2OfCluster, addChi2TrackAtCluster, bestAddChi2TrackAtCluster;
Double_t maxChi2OfCluster = 2. * GetRecoParam()->GetSigmaCutForTracking() *
GetRecoParam()->GetSigmaCutForTracking();
Bool_t foundOneCluster, trackModified, hasChanged = kFALSE;
AliMUONVCluster *cluster;
AliMUONTrackParam *trackParam, *previousTrackParam, *nextTrackParam, trackParamAtCluster, bestTrackParamAtCluster;
AliMUONTrack *nextTrack;
AliMUONTrack *track = (AliMUONTrack*) fRecTracksPtr->First();
while (track) {
trackModified = kFALSE;
trackParam = (AliMUONTrackParam*)track->GetTrackParamAtCluster()->First();
previousTrackParam = trackParam;
while (trackParam) {
foundOneCluster = kFALSE;
bestAddChi2TrackAtCluster = AliMUONTrack::MaxChi2();
chamberId = trackParam->GetClusterPtr()->GetChamberId();
detElemId = trackParam->GetClusterPtr()->GetDetElemId();
nextTrackParam = (AliMUONTrackParam*)track->GetTrackParamAtCluster()->After(trackParam);
TIter nextInCh(clusterStore.CreateChamberIterator(chamberId,chamberId));
while ( ( cluster = static_cast<AliMUONVCluster*>(nextInCh()) ) ) {
if (cluster->GetDetElemId() == detElemId) continue;
if (!TryOneClusterFast(*trackParam, cluster)) continue;
if (nextTrackParam) chi2OfCluster = TryOneCluster(*trackParam, cluster, trackParamAtCluster);
else chi2OfCluster = TryOneCluster(*previousTrackParam, cluster, trackParamAtCluster);
if (chi2OfCluster < maxChi2OfCluster) {
addChi2TrackAtCluster = RunKalmanFilter(trackParamAtCluster);
if (addChi2TrackAtCluster < bestAddChi2TrackAtCluster) {
bestAddChi2TrackAtCluster = addChi2TrackAtCluster;
bestTrackParamAtCluster = trackParamAtCluster;
foundOneCluster = kTRUE;
}
}
}
if (foundOneCluster) {
if ((AliLog::GetDebugLevel("MUON","AliMUONTrackReconstructorK") >= 1) || (AliLog::GetGlobalDebugLevel() >= 1)) {
cout << "ComplementTracks: found one cluster in chamber(1..): " << chamberId+1 << endl;
bestTrackParamAtCluster.GetClusterPtr()->Print();
if ((AliLog::GetDebugLevel("MUON","AliMUONTrackReconstructorK") >= 2) || (AliLog::GetGlobalDebugLevel() >= 2)) {
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;
}
previousTrackParam = trackParam;
trackParam = nextTrackParam;
}
nextTrack = (AliMUONTrack*) fRecTracksPtr->After(track);
if (trackModified && !RetraceTrack(*track,kTRUE)) {
AliWarning("track modified but problem occur during refitting --> remove track");
fRecTracksPtr->Remove(track);
fNRecTracks--;
}
track = nextTrack;
}
return hasChanged;
}
void AliMUONTrackReconstructorK::ImproveTrack(AliMUONTrack &track)
{
AliDebug(1,"Enter ImproveTrack");
Double_t localChi2, worstLocalChi2;
AliMUONTrackParam *trackParamAtCluster, *worstTrackParamAtCluster, *nextTrackParam, *next2nextTrackParam;
Int_t nextChamber, next2nextChamber;
Bool_t smoothed;
Double_t sigmaCut2 = GetRecoParam()->GetSigmaCutForImprovement() *
GetRecoParam()->GetSigmaCutForImprovement();
while (!track.IsImproved()) {
track.TagRemovableClusters(GetRecoParam()->RequestedStationMask());
smoothed = kFALSE;
if (GetRecoParam()->UseSmoother()) smoothed = RunSmoother(track);
if (!smoothed) {
if (!track.UpdateCovTrackParamAtCluster()) {
AliWarning("unable to update track parameters and covariances --> stop improvement");
RetraceTrack(track,kTRUE);
break;
}
track.ComputeLocalChi2(kTRUE);
}
worstTrackParamAtCluster = 0x0;
worstLocalChi2 = -1.;
trackParamAtCluster = (AliMUONTrackParam*)track.GetTrackParamAtCluster()->First();
while (trackParamAtCluster) {
if (GetRecoParam()->UseSmoother() && !smoothed) {
trackParamAtCluster->SetSmoothParameters(trackParamAtCluster->GetParameters());
trackParamAtCluster->SetSmoothCovariances(trackParamAtCluster->GetCovariances());
}
localChi2 = trackParamAtCluster->GetLocalChi2();
if (localChi2 > worstLocalChi2) {
worstLocalChi2 = localChi2;
worstTrackParamAtCluster = trackParamAtCluster;
}
trackParamAtCluster = (AliMUONTrackParam*)track.GetTrackParamAtCluster()->After(trackParamAtCluster);
}
if (worstLocalChi2 < 2. * sigmaCut2) {
track.SetImproved(kTRUE);
break;
}
if (!worstTrackParamAtCluster->IsRemovable()) {
if (!smoothed) RetraceTrack(track,kTRUE);
break;
}
nextTrackParam = (AliMUONTrackParam*) track.GetTrackParamAtCluster()->After(worstTrackParamAtCluster);
track.RemoveTrackParamAtCluster(worstTrackParamAtCluster);
Bool_t normalExtrap;
if (smoothed && nextTrackParam) {
nextChamber = nextTrackParam->GetClusterPtr()->GetChamberId();
next2nextTrackParam = nextTrackParam;
do {
next2nextChamber = next2nextTrackParam->GetClusterPtr()->GetChamberId();
next2nextTrackParam = (AliMUONTrackParam*) track.GetTrackParamAtCluster()->After(next2nextTrackParam);
} while (next2nextTrackParam && (next2nextChamber == nextChamber));
if (next2nextChamber == nextChamber) normalExtrap = RetraceTrack(track,kTRUE);
else normalExtrap = RetracePartialTrack(track,nextTrackParam);
} else normalExtrap = RetraceTrack(track,kTRUE);
if (!normalExtrap) {
AliWarning("track partially improved but problem occur during refitting --> stop improvement");
break;
}
if ((AliLog::GetDebugLevel("MUON","AliMUONTrackReconstructorK") >= 1) || (AliLog::GetGlobalDebugLevel() >= 1)) {
cout << "ImproveTracks: track " << fRecTracksPtr->IndexOf(&track)+1 << " improved " << endl;
}
}
}
Bool_t AliMUONTrackReconstructorK::FinalizeTrack(AliMUONTrack &track)
{
AliMUONTrackParam *trackParamAtCluster;
Bool_t smoothed = kFALSE;
if (track.IsImproved()) smoothed = GetRecoParam()->UseSmoother();
else {
if (GetRecoParam()->UseSmoother()) smoothed = RunSmoother(track);
if (!smoothed) {
if (track.UpdateCovTrackParamAtCluster()) track.ComputeLocalChi2(kTRUE);
else {
AliWarning("finalization failed due to extrapolation problem");
return kFALSE;
}
}
}
if (smoothed) {
trackParamAtCluster = (AliMUONTrackParam*) (track.GetTrackParamAtCluster()->First());
while (trackParamAtCluster) {
trackParamAtCluster->SetParameters(trackParamAtCluster->GetSmoothParameters());
trackParamAtCluster->SetCovariances(trackParamAtCluster->GetSmoothCovariances());
trackParamAtCluster = (AliMUONTrackParam*) (track.GetTrackParamAtCluster()->After(trackParamAtCluster));
}
}
return kTRUE;
}
Bool_t AliMUONTrackReconstructorK::RefitTrack(AliMUONTrack &track, Bool_t enableImprovement)
{
AliDebug(1,"Enter RefitTrack");
if (!track.IsValid(0)) {
AliWarning("the track is not valid --> unable to refit");
return kFALSE;
}
if (!RetraceTrack(track,kTRUE)) {
AliWarning("bad track refitting due to extrapolation failure");
return kFALSE;
}
track.SetImproved(kFALSE);
if (enableImprovement && GetRecoParam()->ImproveTracks()) ImproveTrack(track);
if (track.GetGlobalChi2() < AliMUONTrack::MaxChi2()) return FinalizeTrack(track);
else {
AliWarning("track not finalized due to extrapolation failure");
return kFALSE;
}
}
AliMUONTrackReconstructorK.cxx:1 AliMUONTrackReconstructorK.cxx:2 AliMUONTrackReconstructorK.cxx:3 AliMUONTrackReconstructorK.cxx:4 AliMUONTrackReconstructorK.cxx:5 AliMUONTrackReconstructorK.cxx:6 AliMUONTrackReconstructorK.cxx:7 AliMUONTrackReconstructorK.cxx:8 AliMUONTrackReconstructorK.cxx:9 AliMUONTrackReconstructorK.cxx:10 AliMUONTrackReconstructorK.cxx:11 AliMUONTrackReconstructorK.cxx:12 AliMUONTrackReconstructorK.cxx:13 AliMUONTrackReconstructorK.cxx:14 AliMUONTrackReconstructorK.cxx:15 AliMUONTrackReconstructorK.cxx:16 AliMUONTrackReconstructorK.cxx:17 AliMUONTrackReconstructorK.cxx:18 AliMUONTrackReconstructorK.cxx:19 AliMUONTrackReconstructorK.cxx:20 AliMUONTrackReconstructorK.cxx:21 AliMUONTrackReconstructorK.cxx:22 AliMUONTrackReconstructorK.cxx:23 AliMUONTrackReconstructorK.cxx:24 AliMUONTrackReconstructorK.cxx:25 AliMUONTrackReconstructorK.cxx:26 AliMUONTrackReconstructorK.cxx:27 AliMUONTrackReconstructorK.cxx:28 AliMUONTrackReconstructorK.cxx:29 AliMUONTrackReconstructorK.cxx:30 AliMUONTrackReconstructorK.cxx:31 AliMUONTrackReconstructorK.cxx:32 AliMUONTrackReconstructorK.cxx:33 AliMUONTrackReconstructorK.cxx:34 AliMUONTrackReconstructorK.cxx:35 AliMUONTrackReconstructorK.cxx:36 AliMUONTrackReconstructorK.cxx:37 AliMUONTrackReconstructorK.cxx:38 AliMUONTrackReconstructorK.cxx:39 AliMUONTrackReconstructorK.cxx:40 AliMUONTrackReconstructorK.cxx:41 AliMUONTrackReconstructorK.cxx:42 AliMUONTrackReconstructorK.cxx:43 AliMUONTrackReconstructorK.cxx:44 AliMUONTrackReconstructorK.cxx:45 AliMUONTrackReconstructorK.cxx:46 AliMUONTrackReconstructorK.cxx:47 AliMUONTrackReconstructorK.cxx:48 AliMUONTrackReconstructorK.cxx:49 AliMUONTrackReconstructorK.cxx:50 AliMUONTrackReconstructorK.cxx:51 AliMUONTrackReconstructorK.cxx:52 AliMUONTrackReconstructorK.cxx:53 AliMUONTrackReconstructorK.cxx:54 AliMUONTrackReconstructorK.cxx:55 AliMUONTrackReconstructorK.cxx:56 AliMUONTrackReconstructorK.cxx:57 AliMUONTrackReconstructorK.cxx:58 AliMUONTrackReconstructorK.cxx:59 AliMUONTrackReconstructorK.cxx:60 AliMUONTrackReconstructorK.cxx:61 AliMUONTrackReconstructorK.cxx:62 AliMUONTrackReconstructorK.cxx:63 AliMUONTrackReconstructorK.cxx:64 AliMUONTrackReconstructorK.cxx:65 AliMUONTrackReconstructorK.cxx:66 AliMUONTrackReconstructorK.cxx:67 AliMUONTrackReconstructorK.cxx:68 AliMUONTrackReconstructorK.cxx:69 AliMUONTrackReconstructorK.cxx:70 AliMUONTrackReconstructorK.cxx:71 AliMUONTrackReconstructorK.cxx:72 AliMUONTrackReconstructorK.cxx:73 AliMUONTrackReconstructorK.cxx:74 AliMUONTrackReconstructorK.cxx:75 AliMUONTrackReconstructorK.cxx:76 AliMUONTrackReconstructorK.cxx:77 AliMUONTrackReconstructorK.cxx:78 AliMUONTrackReconstructorK.cxx:79 AliMUONTrackReconstructorK.cxx:80 AliMUONTrackReconstructorK.cxx:81 AliMUONTrackReconstructorK.cxx:82 AliMUONTrackReconstructorK.cxx:83 AliMUONTrackReconstructorK.cxx:84 AliMUONTrackReconstructorK.cxx:85 AliMUONTrackReconstructorK.cxx:86 AliMUONTrackReconstructorK.cxx:87 AliMUONTrackReconstructorK.cxx:88 AliMUONTrackReconstructorK.cxx:89 AliMUONTrackReconstructorK.cxx:90 AliMUONTrackReconstructorK.cxx:91 AliMUONTrackReconstructorK.cxx:92 AliMUONTrackReconstructorK.cxx:93 AliMUONTrackReconstructorK.cxx:94 AliMUONTrackReconstructorK.cxx:95 AliMUONTrackReconstructorK.cxx:96 AliMUONTrackReconstructorK.cxx:97 AliMUONTrackReconstructorK.cxx:98 AliMUONTrackReconstructorK.cxx:99 AliMUONTrackReconstructorK.cxx:100 AliMUONTrackReconstructorK.cxx:101 AliMUONTrackReconstructorK.cxx:102 AliMUONTrackReconstructorK.cxx:103 AliMUONTrackReconstructorK.cxx:104 AliMUONTrackReconstructorK.cxx:105 AliMUONTrackReconstructorK.cxx:106 AliMUONTrackReconstructorK.cxx:107 AliMUONTrackReconstructorK.cxx:108 AliMUONTrackReconstructorK.cxx:109 AliMUONTrackReconstructorK.cxx:110 AliMUONTrackReconstructorK.cxx:111 AliMUONTrackReconstructorK.cxx:112 AliMUONTrackReconstructorK.cxx:113 AliMUONTrackReconstructorK.cxx:114 AliMUONTrackReconstructorK.cxx:115 AliMUONTrackReconstructorK.cxx:116 AliMUONTrackReconstructorK.cxx:117 AliMUONTrackReconstructorK.cxx:118 AliMUONTrackReconstructorK.cxx:119 AliMUONTrackReconstructorK.cxx:120 AliMUONTrackReconstructorK.cxx:121 AliMUONTrackReconstructorK.cxx:122 AliMUONTrackReconstructorK.cxx:123 AliMUONTrackReconstructorK.cxx:124 AliMUONTrackReconstructorK.cxx:125 AliMUONTrackReconstructorK.cxx:126 AliMUONTrackReconstructorK.cxx:127 AliMUONTrackReconstructorK.cxx:128 AliMUONTrackReconstructorK.cxx:129 AliMUONTrackReconstructorK.cxx:130 AliMUONTrackReconstructorK.cxx:131 AliMUONTrackReconstructorK.cxx:132 AliMUONTrackReconstructorK.cxx:133 AliMUONTrackReconstructorK.cxx:134 AliMUONTrackReconstructorK.cxx:135 AliMUONTrackReconstructorK.cxx:136 AliMUONTrackReconstructorK.cxx:137 AliMUONTrackReconstructorK.cxx:138 AliMUONTrackReconstructorK.cxx:139 AliMUONTrackReconstructorK.cxx:140 AliMUONTrackReconstructorK.cxx:141 AliMUONTrackReconstructorK.cxx:142 AliMUONTrackReconstructorK.cxx:143 AliMUONTrackReconstructorK.cxx:144 AliMUONTrackReconstructorK.cxx:145 AliMUONTrackReconstructorK.cxx:146 AliMUONTrackReconstructorK.cxx:147 AliMUONTrackReconstructorK.cxx:148 AliMUONTrackReconstructorK.cxx:149 AliMUONTrackReconstructorK.cxx:150 AliMUONTrackReconstructorK.cxx:151 AliMUONTrackReconstructorK.cxx:152 AliMUONTrackReconstructorK.cxx:153 AliMUONTrackReconstructorK.cxx:154 AliMUONTrackReconstructorK.cxx:155 AliMUONTrackReconstructorK.cxx:156 AliMUONTrackReconstructorK.cxx:157 AliMUONTrackReconstructorK.cxx:158 AliMUONTrackReconstructorK.cxx:159 AliMUONTrackReconstructorK.cxx:160 AliMUONTrackReconstructorK.cxx:161 AliMUONTrackReconstructorK.cxx:162 AliMUONTrackReconstructorK.cxx:163 AliMUONTrackReconstructorK.cxx:164 AliMUONTrackReconstructorK.cxx:165 AliMUONTrackReconstructorK.cxx:166 AliMUONTrackReconstructorK.cxx:167 AliMUONTrackReconstructorK.cxx:168 AliMUONTrackReconstructorK.cxx:169 AliMUONTrackReconstructorK.cxx:170 AliMUONTrackReconstructorK.cxx:171 AliMUONTrackReconstructorK.cxx:172 AliMUONTrackReconstructorK.cxx:173 AliMUONTrackReconstructorK.cxx:174 AliMUONTrackReconstructorK.cxx:175 AliMUONTrackReconstructorK.cxx:176 AliMUONTrackReconstructorK.cxx:177 AliMUONTrackReconstructorK.cxx:178 AliMUONTrackReconstructorK.cxx:179 AliMUONTrackReconstructorK.cxx:180 AliMUONTrackReconstructorK.cxx:181 AliMUONTrackReconstructorK.cxx:182 AliMUONTrackReconstructorK.cxx:183 AliMUONTrackReconstructorK.cxx:184 AliMUONTrackReconstructorK.cxx:185 AliMUONTrackReconstructorK.cxx:186 AliMUONTrackReconstructorK.cxx:187 AliMUONTrackReconstructorK.cxx:188 AliMUONTrackReconstructorK.cxx:189 AliMUONTrackReconstructorK.cxx:190 AliMUONTrackReconstructorK.cxx:191 AliMUONTrackReconstructorK.cxx:192 AliMUONTrackReconstructorK.cxx:193 AliMUONTrackReconstructorK.cxx:194 AliMUONTrackReconstructorK.cxx:195 AliMUONTrackReconstructorK.cxx:196 AliMUONTrackReconstructorK.cxx:197 AliMUONTrackReconstructorK.cxx:198 AliMUONTrackReconstructorK.cxx:199 AliMUONTrackReconstructorK.cxx:200 AliMUONTrackReconstructorK.cxx:201 AliMUONTrackReconstructorK.cxx:202 AliMUONTrackReconstructorK.cxx:203 AliMUONTrackReconstructorK.cxx:204 AliMUONTrackReconstructorK.cxx:205 AliMUONTrackReconstructorK.cxx:206 AliMUONTrackReconstructorK.cxx:207 AliMUONTrackReconstructorK.cxx:208 AliMUONTrackReconstructorK.cxx:209 AliMUONTrackReconstructorK.cxx:210 AliMUONTrackReconstructorK.cxx:211 AliMUONTrackReconstructorK.cxx:212 AliMUONTrackReconstructorK.cxx:213 AliMUONTrackReconstructorK.cxx:214 AliMUONTrackReconstructorK.cxx:215 AliMUONTrackReconstructorK.cxx:216 AliMUONTrackReconstructorK.cxx:217 AliMUONTrackReconstructorK.cxx:218 AliMUONTrackReconstructorK.cxx:219 AliMUONTrackReconstructorK.cxx:220 AliMUONTrackReconstructorK.cxx:221 AliMUONTrackReconstructorK.cxx:222 AliMUONTrackReconstructorK.cxx:223 AliMUONTrackReconstructorK.cxx:224 AliMUONTrackReconstructorK.cxx:225 AliMUONTrackReconstructorK.cxx:226 AliMUONTrackReconstructorK.cxx:227 AliMUONTrackReconstructorK.cxx:228 AliMUONTrackReconstructorK.cxx:229 AliMUONTrackReconstructorK.cxx:230 AliMUONTrackReconstructorK.cxx:231 AliMUONTrackReconstructorK.cxx:232 AliMUONTrackReconstructorK.cxx:233 AliMUONTrackReconstructorK.cxx:234 AliMUONTrackReconstructorK.cxx:235 AliMUONTrackReconstructorK.cxx:236 AliMUONTrackReconstructorK.cxx:237 AliMUONTrackReconstructorK.cxx:238 AliMUONTrackReconstructorK.cxx:239 AliMUONTrackReconstructorK.cxx:240 AliMUONTrackReconstructorK.cxx:241 AliMUONTrackReconstructorK.cxx:242 AliMUONTrackReconstructorK.cxx:243 AliMUONTrackReconstructorK.cxx:244 AliMUONTrackReconstructorK.cxx:245 AliMUONTrackReconstructorK.cxx:246 AliMUONTrackReconstructorK.cxx:247 AliMUONTrackReconstructorK.cxx:248 AliMUONTrackReconstructorK.cxx:249 AliMUONTrackReconstructorK.cxx:250 AliMUONTrackReconstructorK.cxx:251 AliMUONTrackReconstructorK.cxx:252 AliMUONTrackReconstructorK.cxx:253 AliMUONTrackReconstructorK.cxx:254 AliMUONTrackReconstructorK.cxx:255 AliMUONTrackReconstructorK.cxx:256 AliMUONTrackReconstructorK.cxx:257 AliMUONTrackReconstructorK.cxx:258 AliMUONTrackReconstructorK.cxx:259 AliMUONTrackReconstructorK.cxx:260 AliMUONTrackReconstructorK.cxx:261 AliMUONTrackReconstructorK.cxx:262 AliMUONTrackReconstructorK.cxx:263 AliMUONTrackReconstructorK.cxx:264 AliMUONTrackReconstructorK.cxx:265 AliMUONTrackReconstructorK.cxx:266 AliMUONTrackReconstructorK.cxx:267 AliMUONTrackReconstructorK.cxx:268 AliMUONTrackReconstructorK.cxx:269 AliMUONTrackReconstructorK.cxx:270 AliMUONTrackReconstructorK.cxx:271 AliMUONTrackReconstructorK.cxx:272 AliMUONTrackReconstructorK.cxx:273 AliMUONTrackReconstructorK.cxx:274 AliMUONTrackReconstructorK.cxx:275 AliMUONTrackReconstructorK.cxx:276 AliMUONTrackReconstructorK.cxx:277 AliMUONTrackReconstructorK.cxx:278 AliMUONTrackReconstructorK.cxx:279 AliMUONTrackReconstructorK.cxx:280 AliMUONTrackReconstructorK.cxx:281 AliMUONTrackReconstructorK.cxx:282 AliMUONTrackReconstructorK.cxx:283 AliMUONTrackReconstructorK.cxx:284 AliMUONTrackReconstructorK.cxx:285 AliMUONTrackReconstructorK.cxx:286 AliMUONTrackReconstructorK.cxx:287 AliMUONTrackReconstructorK.cxx:288 AliMUONTrackReconstructorK.cxx:289 AliMUONTrackReconstructorK.cxx:290 AliMUONTrackReconstructorK.cxx:291 AliMUONTrackReconstructorK.cxx:292 AliMUONTrackReconstructorK.cxx:293 AliMUONTrackReconstructorK.cxx:294 AliMUONTrackReconstructorK.cxx:295 AliMUONTrackReconstructorK.cxx:296 AliMUONTrackReconstructorK.cxx:297 AliMUONTrackReconstructorK.cxx:298 AliMUONTrackReconstructorK.cxx:299 AliMUONTrackReconstructorK.cxx:300 AliMUONTrackReconstructorK.cxx:301 AliMUONTrackReconstructorK.cxx:302 AliMUONTrackReconstructorK.cxx:303 AliMUONTrackReconstructorK.cxx:304 AliMUONTrackReconstructorK.cxx:305 AliMUONTrackReconstructorK.cxx:306 AliMUONTrackReconstructorK.cxx:307 AliMUONTrackReconstructorK.cxx:308 AliMUONTrackReconstructorK.cxx:309 AliMUONTrackReconstructorK.cxx:310 AliMUONTrackReconstructorK.cxx:311 AliMUONTrackReconstructorK.cxx:312 AliMUONTrackReconstructorK.cxx:313 AliMUONTrackReconstructorK.cxx:314 AliMUONTrackReconstructorK.cxx:315 AliMUONTrackReconstructorK.cxx:316 AliMUONTrackReconstructorK.cxx:317 AliMUONTrackReconstructorK.cxx:318 AliMUONTrackReconstructorK.cxx:319 AliMUONTrackReconstructorK.cxx:320 AliMUONTrackReconstructorK.cxx:321 AliMUONTrackReconstructorK.cxx:322 AliMUONTrackReconstructorK.cxx:323 AliMUONTrackReconstructorK.cxx:324 AliMUONTrackReconstructorK.cxx:325 AliMUONTrackReconstructorK.cxx:326 AliMUONTrackReconstructorK.cxx:327 AliMUONTrackReconstructorK.cxx:328 AliMUONTrackReconstructorK.cxx:329 AliMUONTrackReconstructorK.cxx:330 AliMUONTrackReconstructorK.cxx:331 AliMUONTrackReconstructorK.cxx:332 AliMUONTrackReconstructorK.cxx:333 AliMUONTrackReconstructorK.cxx:334 AliMUONTrackReconstructorK.cxx:335 AliMUONTrackReconstructorK.cxx:336 AliMUONTrackReconstructorK.cxx:337 AliMUONTrackReconstructorK.cxx:338 AliMUONTrackReconstructorK.cxx:339 AliMUONTrackReconstructorK.cxx:340 AliMUONTrackReconstructorK.cxx:341 AliMUONTrackReconstructorK.cxx:342 AliMUONTrackReconstructorK.cxx:343 AliMUONTrackReconstructorK.cxx:344 AliMUONTrackReconstructorK.cxx:345 AliMUONTrackReconstructorK.cxx:346 AliMUONTrackReconstructorK.cxx:347 AliMUONTrackReconstructorK.cxx:348 AliMUONTrackReconstructorK.cxx:349 AliMUONTrackReconstructorK.cxx:350 AliMUONTrackReconstructorK.cxx:351 AliMUONTrackReconstructorK.cxx:352 AliMUONTrackReconstructorK.cxx:353 AliMUONTrackReconstructorK.cxx:354 AliMUONTrackReconstructorK.cxx:355 AliMUONTrackReconstructorK.cxx:356 AliMUONTrackReconstructorK.cxx:357 AliMUONTrackReconstructorK.cxx:358 AliMUONTrackReconstructorK.cxx:359 AliMUONTrackReconstructorK.cxx:360 AliMUONTrackReconstructorK.cxx:361 AliMUONTrackReconstructorK.cxx:362 AliMUONTrackReconstructorK.cxx:363 AliMUONTrackReconstructorK.cxx:364 AliMUONTrackReconstructorK.cxx:365 AliMUONTrackReconstructorK.cxx:366 AliMUONTrackReconstructorK.cxx:367 AliMUONTrackReconstructorK.cxx:368 AliMUONTrackReconstructorK.cxx:369 AliMUONTrackReconstructorK.cxx:370 AliMUONTrackReconstructorK.cxx:371 AliMUONTrackReconstructorK.cxx:372 AliMUONTrackReconstructorK.cxx:373 AliMUONTrackReconstructorK.cxx:374 AliMUONTrackReconstructorK.cxx:375 AliMUONTrackReconstructorK.cxx:376 AliMUONTrackReconstructorK.cxx:377 AliMUONTrackReconstructorK.cxx:378 AliMUONTrackReconstructorK.cxx:379 AliMUONTrackReconstructorK.cxx:380 AliMUONTrackReconstructorK.cxx:381 AliMUONTrackReconstructorK.cxx:382 AliMUONTrackReconstructorK.cxx:383 AliMUONTrackReconstructorK.cxx:384 AliMUONTrackReconstructorK.cxx:385 AliMUONTrackReconstructorK.cxx:386 AliMUONTrackReconstructorK.cxx:387 AliMUONTrackReconstructorK.cxx:388 AliMUONTrackReconstructorK.cxx:389 AliMUONTrackReconstructorK.cxx:390 AliMUONTrackReconstructorK.cxx:391 AliMUONTrackReconstructorK.cxx:392 AliMUONTrackReconstructorK.cxx:393 AliMUONTrackReconstructorK.cxx:394 AliMUONTrackReconstructorK.cxx:395 AliMUONTrackReconstructorK.cxx:396 AliMUONTrackReconstructorK.cxx:397 AliMUONTrackReconstructorK.cxx:398 AliMUONTrackReconstructorK.cxx:399 AliMUONTrackReconstructorK.cxx:400 AliMUONTrackReconstructorK.cxx:401 AliMUONTrackReconstructorK.cxx:402 AliMUONTrackReconstructorK.cxx:403 AliMUONTrackReconstructorK.cxx:404 AliMUONTrackReconstructorK.cxx:405 AliMUONTrackReconstructorK.cxx:406 AliMUONTrackReconstructorK.cxx:407 AliMUONTrackReconstructorK.cxx:408 AliMUONTrackReconstructorK.cxx:409 AliMUONTrackReconstructorK.cxx:410 AliMUONTrackReconstructorK.cxx:411 AliMUONTrackReconstructorK.cxx:412 AliMUONTrackReconstructorK.cxx:413 AliMUONTrackReconstructorK.cxx:414 AliMUONTrackReconstructorK.cxx:415 AliMUONTrackReconstructorK.cxx:416 AliMUONTrackReconstructorK.cxx:417 AliMUONTrackReconstructorK.cxx:418 AliMUONTrackReconstructorK.cxx:419 AliMUONTrackReconstructorK.cxx:420 AliMUONTrackReconstructorK.cxx:421 AliMUONTrackReconstructorK.cxx:422 AliMUONTrackReconstructorK.cxx:423 AliMUONTrackReconstructorK.cxx:424 AliMUONTrackReconstructorK.cxx:425 AliMUONTrackReconstructorK.cxx:426 AliMUONTrackReconstructorK.cxx:427 AliMUONTrackReconstructorK.cxx:428 AliMUONTrackReconstructorK.cxx:429 AliMUONTrackReconstructorK.cxx:430 AliMUONTrackReconstructorK.cxx:431 AliMUONTrackReconstructorK.cxx:432 AliMUONTrackReconstructorK.cxx:433 AliMUONTrackReconstructorK.cxx:434 AliMUONTrackReconstructorK.cxx:435 AliMUONTrackReconstructorK.cxx:436 AliMUONTrackReconstructorK.cxx:437 AliMUONTrackReconstructorK.cxx:438 AliMUONTrackReconstructorK.cxx:439 AliMUONTrackReconstructorK.cxx:440 AliMUONTrackReconstructorK.cxx:441 AliMUONTrackReconstructorK.cxx:442 AliMUONTrackReconstructorK.cxx:443 AliMUONTrackReconstructorK.cxx:444 AliMUONTrackReconstructorK.cxx:445 AliMUONTrackReconstructorK.cxx:446 AliMUONTrackReconstructorK.cxx:447 AliMUONTrackReconstructorK.cxx:448 AliMUONTrackReconstructorK.cxx:449 AliMUONTrackReconstructorK.cxx:450 AliMUONTrackReconstructorK.cxx:451 AliMUONTrackReconstructorK.cxx:452 AliMUONTrackReconstructorK.cxx:453 AliMUONTrackReconstructorK.cxx:454 AliMUONTrackReconstructorK.cxx:455 AliMUONTrackReconstructorK.cxx:456 AliMUONTrackReconstructorK.cxx:457 AliMUONTrackReconstructorK.cxx:458 AliMUONTrackReconstructorK.cxx:459 AliMUONTrackReconstructorK.cxx:460 AliMUONTrackReconstructorK.cxx:461 AliMUONTrackReconstructorK.cxx:462 AliMUONTrackReconstructorK.cxx:463 AliMUONTrackReconstructorK.cxx:464 AliMUONTrackReconstructorK.cxx:465 AliMUONTrackReconstructorK.cxx:466 AliMUONTrackReconstructorK.cxx:467 AliMUONTrackReconstructorK.cxx:468 AliMUONTrackReconstructorK.cxx:469 AliMUONTrackReconstructorK.cxx:470 AliMUONTrackReconstructorK.cxx:471 AliMUONTrackReconstructorK.cxx:472 AliMUONTrackReconstructorK.cxx:473 AliMUONTrackReconstructorK.cxx:474 AliMUONTrackReconstructorK.cxx:475 AliMUONTrackReconstructorK.cxx:476 AliMUONTrackReconstructorK.cxx:477 AliMUONTrackReconstructorK.cxx:478 AliMUONTrackReconstructorK.cxx:479 AliMUONTrackReconstructorK.cxx:480 AliMUONTrackReconstructorK.cxx:481 AliMUONTrackReconstructorK.cxx:482 AliMUONTrackReconstructorK.cxx:483 AliMUONTrackReconstructorK.cxx:484 AliMUONTrackReconstructorK.cxx:485 AliMUONTrackReconstructorK.cxx:486 AliMUONTrackReconstructorK.cxx:487 AliMUONTrackReconstructorK.cxx:488 AliMUONTrackReconstructorK.cxx:489 AliMUONTrackReconstructorK.cxx:490 AliMUONTrackReconstructorK.cxx:491 AliMUONTrackReconstructorK.cxx:492 AliMUONTrackReconstructorK.cxx:493 AliMUONTrackReconstructorK.cxx:494 AliMUONTrackReconstructorK.cxx:495 AliMUONTrackReconstructorK.cxx:496 AliMUONTrackReconstructorK.cxx:497 AliMUONTrackReconstructorK.cxx:498 AliMUONTrackReconstructorK.cxx:499 AliMUONTrackReconstructorK.cxx:500 AliMUONTrackReconstructorK.cxx:501 AliMUONTrackReconstructorK.cxx:502 AliMUONTrackReconstructorK.cxx:503 AliMUONTrackReconstructorK.cxx:504 AliMUONTrackReconstructorK.cxx:505 AliMUONTrackReconstructorK.cxx:506 AliMUONTrackReconstructorK.cxx:507 AliMUONTrackReconstructorK.cxx:508 AliMUONTrackReconstructorK.cxx:509 AliMUONTrackReconstructorK.cxx:510 AliMUONTrackReconstructorK.cxx:511 AliMUONTrackReconstructorK.cxx:512 AliMUONTrackReconstructorK.cxx:513 AliMUONTrackReconstructorK.cxx:514 AliMUONTrackReconstructorK.cxx:515 AliMUONTrackReconstructorK.cxx:516 AliMUONTrackReconstructorK.cxx:517 AliMUONTrackReconstructorK.cxx:518 AliMUONTrackReconstructorK.cxx:519 AliMUONTrackReconstructorK.cxx:520 AliMUONTrackReconstructorK.cxx:521 AliMUONTrackReconstructorK.cxx:522 AliMUONTrackReconstructorK.cxx:523 AliMUONTrackReconstructorK.cxx:524 AliMUONTrackReconstructorK.cxx:525 AliMUONTrackReconstructorK.cxx:526 AliMUONTrackReconstructorK.cxx:527 AliMUONTrackReconstructorK.cxx:528 AliMUONTrackReconstructorK.cxx:529 AliMUONTrackReconstructorK.cxx:530 AliMUONTrackReconstructorK.cxx:531 AliMUONTrackReconstructorK.cxx:532 AliMUONTrackReconstructorK.cxx:533 AliMUONTrackReconstructorK.cxx:534 AliMUONTrackReconstructorK.cxx:535 AliMUONTrackReconstructorK.cxx:536 AliMUONTrackReconstructorK.cxx:537 AliMUONTrackReconstructorK.cxx:538 AliMUONTrackReconstructorK.cxx:539 AliMUONTrackReconstructorK.cxx:540 AliMUONTrackReconstructorK.cxx:541 AliMUONTrackReconstructorK.cxx:542 AliMUONTrackReconstructorK.cxx:543 AliMUONTrackReconstructorK.cxx:544 AliMUONTrackReconstructorK.cxx:545 AliMUONTrackReconstructorK.cxx:546 AliMUONTrackReconstructorK.cxx:547 AliMUONTrackReconstructorK.cxx:548 AliMUONTrackReconstructorK.cxx:549 AliMUONTrackReconstructorK.cxx:550 AliMUONTrackReconstructorK.cxx:551 AliMUONTrackReconstructorK.cxx:552 AliMUONTrackReconstructorK.cxx:553 AliMUONTrackReconstructorK.cxx:554 AliMUONTrackReconstructorK.cxx:555 AliMUONTrackReconstructorK.cxx:556 AliMUONTrackReconstructorK.cxx:557 AliMUONTrackReconstructorK.cxx:558 AliMUONTrackReconstructorK.cxx:559 AliMUONTrackReconstructorK.cxx:560 AliMUONTrackReconstructorK.cxx:561 AliMUONTrackReconstructorK.cxx:562 AliMUONTrackReconstructorK.cxx:563 AliMUONTrackReconstructorK.cxx:564 AliMUONTrackReconstructorK.cxx:565 AliMUONTrackReconstructorK.cxx:566 AliMUONTrackReconstructorK.cxx:567 AliMUONTrackReconstructorK.cxx:568 AliMUONTrackReconstructorK.cxx:569 AliMUONTrackReconstructorK.cxx:570 AliMUONTrackReconstructorK.cxx:571 AliMUONTrackReconstructorK.cxx:572 AliMUONTrackReconstructorK.cxx:573 AliMUONTrackReconstructorK.cxx:574 AliMUONTrackReconstructorK.cxx:575 AliMUONTrackReconstructorK.cxx:576 AliMUONTrackReconstructorK.cxx:577 AliMUONTrackReconstructorK.cxx:578 AliMUONTrackReconstructorK.cxx:579 AliMUONTrackReconstructorK.cxx:580 AliMUONTrackReconstructorK.cxx:581 AliMUONTrackReconstructorK.cxx:582 AliMUONTrackReconstructorK.cxx:583 AliMUONTrackReconstructorK.cxx:584 AliMUONTrackReconstructorK.cxx:585 AliMUONTrackReconstructorK.cxx:586 AliMUONTrackReconstructorK.cxx:587 AliMUONTrackReconstructorK.cxx:588 AliMUONTrackReconstructorK.cxx:589 AliMUONTrackReconstructorK.cxx:590 AliMUONTrackReconstructorK.cxx:591 AliMUONTrackReconstructorK.cxx:592 AliMUONTrackReconstructorK.cxx:593 AliMUONTrackReconstructorK.cxx:594 AliMUONTrackReconstructorK.cxx:595 AliMUONTrackReconstructorK.cxx:596 AliMUONTrackReconstructorK.cxx:597 AliMUONTrackReconstructorK.cxx:598 AliMUONTrackReconstructorK.cxx:599 AliMUONTrackReconstructorK.cxx:600 AliMUONTrackReconstructorK.cxx:601 AliMUONTrackReconstructorK.cxx:602 AliMUONTrackReconstructorK.cxx:603 AliMUONTrackReconstructorK.cxx:604 AliMUONTrackReconstructorK.cxx:605 AliMUONTrackReconstructorK.cxx:606 AliMUONTrackReconstructorK.cxx:607 AliMUONTrackReconstructorK.cxx:608 AliMUONTrackReconstructorK.cxx:609 AliMUONTrackReconstructorK.cxx:610 AliMUONTrackReconstructorK.cxx:611 AliMUONTrackReconstructorK.cxx:612 AliMUONTrackReconstructorK.cxx:613 AliMUONTrackReconstructorK.cxx:614 AliMUONTrackReconstructorK.cxx:615 AliMUONTrackReconstructorK.cxx:616 AliMUONTrackReconstructorK.cxx:617 AliMUONTrackReconstructorK.cxx:618 AliMUONTrackReconstructorK.cxx:619 AliMUONTrackReconstructorK.cxx:620 AliMUONTrackReconstructorK.cxx:621 AliMUONTrackReconstructorK.cxx:622 AliMUONTrackReconstructorK.cxx:623 AliMUONTrackReconstructorK.cxx:624 AliMUONTrackReconstructorK.cxx:625 AliMUONTrackReconstructorK.cxx:626 AliMUONTrackReconstructorK.cxx:627 AliMUONTrackReconstructorK.cxx:628 AliMUONTrackReconstructorK.cxx:629 AliMUONTrackReconstructorK.cxx:630 AliMUONTrackReconstructorK.cxx:631 AliMUONTrackReconstructorK.cxx:632 AliMUONTrackReconstructorK.cxx:633 AliMUONTrackReconstructorK.cxx:634 AliMUONTrackReconstructorK.cxx:635 AliMUONTrackReconstructorK.cxx:636 AliMUONTrackReconstructorK.cxx:637 AliMUONTrackReconstructorK.cxx:638 AliMUONTrackReconstructorK.cxx:639 AliMUONTrackReconstructorK.cxx:640 AliMUONTrackReconstructorK.cxx:641 AliMUONTrackReconstructorK.cxx:642 AliMUONTrackReconstructorK.cxx:643 AliMUONTrackReconstructorK.cxx:644 AliMUONTrackReconstructorK.cxx:645 AliMUONTrackReconstructorK.cxx:646 AliMUONTrackReconstructorK.cxx:647 AliMUONTrackReconstructorK.cxx:648 AliMUONTrackReconstructorK.cxx:649 AliMUONTrackReconstructorK.cxx:650 AliMUONTrackReconstructorK.cxx:651 AliMUONTrackReconstructorK.cxx:652 AliMUONTrackReconstructorK.cxx:653 AliMUONTrackReconstructorK.cxx:654 AliMUONTrackReconstructorK.cxx:655 AliMUONTrackReconstructorK.cxx:656 AliMUONTrackReconstructorK.cxx:657 AliMUONTrackReconstructorK.cxx:658 AliMUONTrackReconstructorK.cxx:659 AliMUONTrackReconstructorK.cxx:660 AliMUONTrackReconstructorK.cxx:661 AliMUONTrackReconstructorK.cxx:662 AliMUONTrackReconstructorK.cxx:663 AliMUONTrackReconstructorK.cxx:664 AliMUONTrackReconstructorK.cxx:665 AliMUONTrackReconstructorK.cxx:666 AliMUONTrackReconstructorK.cxx:667 AliMUONTrackReconstructorK.cxx:668 AliMUONTrackReconstructorK.cxx:669 AliMUONTrackReconstructorK.cxx:670 AliMUONTrackReconstructorK.cxx:671 AliMUONTrackReconstructorK.cxx:672 AliMUONTrackReconstructorK.cxx:673 AliMUONTrackReconstructorK.cxx:674 AliMUONTrackReconstructorK.cxx:675 AliMUONTrackReconstructorK.cxx:676 AliMUONTrackReconstructorK.cxx:677 AliMUONTrackReconstructorK.cxx:678 AliMUONTrackReconstructorK.cxx:679 AliMUONTrackReconstructorK.cxx:680 AliMUONTrackReconstructorK.cxx:681 AliMUONTrackReconstructorK.cxx:682 AliMUONTrackReconstructorK.cxx:683 AliMUONTrackReconstructorK.cxx:684 AliMUONTrackReconstructorK.cxx:685 AliMUONTrackReconstructorK.cxx:686 AliMUONTrackReconstructorK.cxx:687 AliMUONTrackReconstructorK.cxx:688 AliMUONTrackReconstructorK.cxx:689 AliMUONTrackReconstructorK.cxx:690 AliMUONTrackReconstructorK.cxx:691 AliMUONTrackReconstructorK.cxx:692 AliMUONTrackReconstructorK.cxx:693 AliMUONTrackReconstructorK.cxx:694 AliMUONTrackReconstructorK.cxx:695 AliMUONTrackReconstructorK.cxx:696 AliMUONTrackReconstructorK.cxx:697 AliMUONTrackReconstructorK.cxx:698 AliMUONTrackReconstructorK.cxx:699 AliMUONTrackReconstructorK.cxx:700 AliMUONTrackReconstructorK.cxx:701 AliMUONTrackReconstructorK.cxx:702 AliMUONTrackReconstructorK.cxx:703 AliMUONTrackReconstructorK.cxx:704 AliMUONTrackReconstructorK.cxx:705 AliMUONTrackReconstructorK.cxx:706 AliMUONTrackReconstructorK.cxx:707 AliMUONTrackReconstructorK.cxx:708 AliMUONTrackReconstructorK.cxx:709 AliMUONTrackReconstructorK.cxx:710 AliMUONTrackReconstructorK.cxx:711 AliMUONTrackReconstructorK.cxx:712 AliMUONTrackReconstructorK.cxx:713 AliMUONTrackReconstructorK.cxx:714 AliMUONTrackReconstructorK.cxx:715 AliMUONTrackReconstructorK.cxx:716 AliMUONTrackReconstructorK.cxx:717 AliMUONTrackReconstructorK.cxx:718 AliMUONTrackReconstructorK.cxx:719 AliMUONTrackReconstructorK.cxx:720 AliMUONTrackReconstructorK.cxx:721 AliMUONTrackReconstructorK.cxx:722 AliMUONTrackReconstructorK.cxx:723 AliMUONTrackReconstructorK.cxx:724 AliMUONTrackReconstructorK.cxx:725 AliMUONTrackReconstructorK.cxx:726 AliMUONTrackReconstructorK.cxx:727 AliMUONTrackReconstructorK.cxx:728 AliMUONTrackReconstructorK.cxx:729 AliMUONTrackReconstructorK.cxx:730 AliMUONTrackReconstructorK.cxx:731 AliMUONTrackReconstructorK.cxx:732 AliMUONTrackReconstructorK.cxx:733 AliMUONTrackReconstructorK.cxx:734 AliMUONTrackReconstructorK.cxx:735 AliMUONTrackReconstructorK.cxx:736 AliMUONTrackReconstructorK.cxx:737 AliMUONTrackReconstructorK.cxx:738 AliMUONTrackReconstructorK.cxx:739 AliMUONTrackReconstructorK.cxx:740 AliMUONTrackReconstructorK.cxx:741 AliMUONTrackReconstructorK.cxx:742 AliMUONTrackReconstructorK.cxx:743 AliMUONTrackReconstructorK.cxx:744 AliMUONTrackReconstructorK.cxx:745 AliMUONTrackReconstructorK.cxx:746 AliMUONTrackReconstructorK.cxx:747 AliMUONTrackReconstructorK.cxx:748 AliMUONTrackReconstructorK.cxx:749 AliMUONTrackReconstructorK.cxx:750 AliMUONTrackReconstructorK.cxx:751 AliMUONTrackReconstructorK.cxx:752 AliMUONTrackReconstructorK.cxx:753 AliMUONTrackReconstructorK.cxx:754 AliMUONTrackReconstructorK.cxx:755 AliMUONTrackReconstructorK.cxx:756 AliMUONTrackReconstructorK.cxx:757 AliMUONTrackReconstructorK.cxx:758 AliMUONTrackReconstructorK.cxx:759 AliMUONTrackReconstructorK.cxx:760 AliMUONTrackReconstructorK.cxx:761 AliMUONTrackReconstructorK.cxx:762 AliMUONTrackReconstructorK.cxx:763 AliMUONTrackReconstructorK.cxx:764 AliMUONTrackReconstructorK.cxx:765 AliMUONTrackReconstructorK.cxx:766 AliMUONTrackReconstructorK.cxx:767 AliMUONTrackReconstructorK.cxx:768 AliMUONTrackReconstructorK.cxx:769 AliMUONTrackReconstructorK.cxx:770 AliMUONTrackReconstructorK.cxx:771 AliMUONTrackReconstructorK.cxx:772 AliMUONTrackReconstructorK.cxx:773 AliMUONTrackReconstructorK.cxx:774 AliMUONTrackReconstructorK.cxx:775 AliMUONTrackReconstructorK.cxx:776 AliMUONTrackReconstructorK.cxx:777 AliMUONTrackReconstructorK.cxx:778 AliMUONTrackReconstructorK.cxx:779 AliMUONTrackReconstructorK.cxx:780 AliMUONTrackReconstructorK.cxx:781 AliMUONTrackReconstructorK.cxx:782 AliMUONTrackReconstructorK.cxx:783 AliMUONTrackReconstructorK.cxx:784 AliMUONTrackReconstructorK.cxx:785 AliMUONTrackReconstructorK.cxx:786 AliMUONTrackReconstructorK.cxx:787 AliMUONTrackReconstructorK.cxx:788 AliMUONTrackReconstructorK.cxx:789 AliMUONTrackReconstructorK.cxx:790 AliMUONTrackReconstructorK.cxx:791 AliMUONTrackReconstructorK.cxx:792 AliMUONTrackReconstructorK.cxx:793 AliMUONTrackReconstructorK.cxx:794 AliMUONTrackReconstructorK.cxx:795 AliMUONTrackReconstructorK.cxx:796 AliMUONTrackReconstructorK.cxx:797 AliMUONTrackReconstructorK.cxx:798 AliMUONTrackReconstructorK.cxx:799 AliMUONTrackReconstructorK.cxx:800 AliMUONTrackReconstructorK.cxx:801 AliMUONTrackReconstructorK.cxx:802 AliMUONTrackReconstructorK.cxx:803 AliMUONTrackReconstructorK.cxx:804 AliMUONTrackReconstructorK.cxx:805 AliMUONTrackReconstructorK.cxx:806 AliMUONTrackReconstructorK.cxx:807 AliMUONTrackReconstructorK.cxx:808 AliMUONTrackReconstructorK.cxx:809 AliMUONTrackReconstructorK.cxx:810 AliMUONTrackReconstructorK.cxx:811 AliMUONTrackReconstructorK.cxx:812 AliMUONTrackReconstructorK.cxx:813 AliMUONTrackReconstructorK.cxx:814 AliMUONTrackReconstructorK.cxx:815 AliMUONTrackReconstructorK.cxx:816 AliMUONTrackReconstructorK.cxx:817 AliMUONTrackReconstructorK.cxx:818 AliMUONTrackReconstructorK.cxx:819 AliMUONTrackReconstructorK.cxx:820 AliMUONTrackReconstructorK.cxx:821 AliMUONTrackReconstructorK.cxx:822 AliMUONTrackReconstructorK.cxx:823 AliMUONTrackReconstructorK.cxx:824 AliMUONTrackReconstructorK.cxx:825 AliMUONTrackReconstructorK.cxx:826 AliMUONTrackReconstructorK.cxx:827 AliMUONTrackReconstructorK.cxx:828 AliMUONTrackReconstructorK.cxx:829 AliMUONTrackReconstructorK.cxx:830 AliMUONTrackReconstructorK.cxx:831 AliMUONTrackReconstructorK.cxx:832 AliMUONTrackReconstructorK.cxx:833 AliMUONTrackReconstructorK.cxx:834 AliMUONTrackReconstructorK.cxx:835 AliMUONTrackReconstructorK.cxx:836 AliMUONTrackReconstructorK.cxx:837 AliMUONTrackReconstructorK.cxx:838 AliMUONTrackReconstructorK.cxx:839 AliMUONTrackReconstructorK.cxx:840 AliMUONTrackReconstructorK.cxx:841 AliMUONTrackReconstructorK.cxx:842 AliMUONTrackReconstructorK.cxx:843 AliMUONTrackReconstructorK.cxx:844 AliMUONTrackReconstructorK.cxx:845 AliMUONTrackReconstructorK.cxx:846 AliMUONTrackReconstructorK.cxx:847 AliMUONTrackReconstructorK.cxx:848 AliMUONTrackReconstructorK.cxx:849 AliMUONTrackReconstructorK.cxx:850 AliMUONTrackReconstructorK.cxx:851 AliMUONTrackReconstructorK.cxx:852 AliMUONTrackReconstructorK.cxx:853 AliMUONTrackReconstructorK.cxx:854 AliMUONTrackReconstructorK.cxx:855 AliMUONTrackReconstructorK.cxx:856 AliMUONTrackReconstructorK.cxx:857 AliMUONTrackReconstructorK.cxx:858 AliMUONTrackReconstructorK.cxx:859 AliMUONTrackReconstructorK.cxx:860 AliMUONTrackReconstructorK.cxx:861 AliMUONTrackReconstructorK.cxx:862 AliMUONTrackReconstructorK.cxx:863 AliMUONTrackReconstructorK.cxx:864 AliMUONTrackReconstructorK.cxx:865 AliMUONTrackReconstructorK.cxx:866 AliMUONTrackReconstructorK.cxx:867 AliMUONTrackReconstructorK.cxx:868 AliMUONTrackReconstructorK.cxx:869 AliMUONTrackReconstructorK.cxx:870 AliMUONTrackReconstructorK.cxx:871 AliMUONTrackReconstructorK.cxx:872 AliMUONTrackReconstructorK.cxx:873 AliMUONTrackReconstructorK.cxx:874 AliMUONTrackReconstructorK.cxx:875 AliMUONTrackReconstructorK.cxx:876 AliMUONTrackReconstructorK.cxx:877 AliMUONTrackReconstructorK.cxx:878 AliMUONTrackReconstructorK.cxx:879 AliMUONTrackReconstructorK.cxx:880 AliMUONTrackReconstructorK.cxx:881 AliMUONTrackReconstructorK.cxx:882 AliMUONTrackReconstructorK.cxx:883 AliMUONTrackReconstructorK.cxx:884 AliMUONTrackReconstructorK.cxx:885 AliMUONTrackReconstructorK.cxx:886 AliMUONTrackReconstructorK.cxx:887 AliMUONTrackReconstructorK.cxx:888 AliMUONTrackReconstructorK.cxx:889 AliMUONTrackReconstructorK.cxx:890 AliMUONTrackReconstructorK.cxx:891 AliMUONTrackReconstructorK.cxx:892 AliMUONTrackReconstructorK.cxx:893 AliMUONTrackReconstructorK.cxx:894 AliMUONTrackReconstructorK.cxx:895 AliMUONTrackReconstructorK.cxx:896 AliMUONTrackReconstructorK.cxx:897 AliMUONTrackReconstructorK.cxx:898 AliMUONTrackReconstructorK.cxx:899 AliMUONTrackReconstructorK.cxx:900 AliMUONTrackReconstructorK.cxx:901 AliMUONTrackReconstructorK.cxx:902 AliMUONTrackReconstructorK.cxx:903 AliMUONTrackReconstructorK.cxx:904 AliMUONTrackReconstructorK.cxx:905 AliMUONTrackReconstructorK.cxx:906 AliMUONTrackReconstructorK.cxx:907 AliMUONTrackReconstructorK.cxx:908 AliMUONTrackReconstructorK.cxx:909 AliMUONTrackReconstructorK.cxx:910 AliMUONTrackReconstructorK.cxx:911 AliMUONTrackReconstructorK.cxx:912 AliMUONTrackReconstructorK.cxx:913 AliMUONTrackReconstructorK.cxx:914 AliMUONTrackReconstructorK.cxx:915 AliMUONTrackReconstructorK.cxx:916 AliMUONTrackReconstructorK.cxx:917 AliMUONTrackReconstructorK.cxx:918 AliMUONTrackReconstructorK.cxx:919 AliMUONTrackReconstructorK.cxx:920 AliMUONTrackReconstructorK.cxx:921 AliMUONTrackReconstructorK.cxx:922 AliMUONTrackReconstructorK.cxx:923 AliMUONTrackReconstructorK.cxx:924 AliMUONTrackReconstructorK.cxx:925 AliMUONTrackReconstructorK.cxx:926 AliMUONTrackReconstructorK.cxx:927 AliMUONTrackReconstructorK.cxx:928 AliMUONTrackReconstructorK.cxx:929 AliMUONTrackReconstructorK.cxx:930 AliMUONTrackReconstructorK.cxx:931 AliMUONTrackReconstructorK.cxx:932 AliMUONTrackReconstructorK.cxx:933 AliMUONTrackReconstructorK.cxx:934 AliMUONTrackReconstructorK.cxx:935 AliMUONTrackReconstructorK.cxx:936 AliMUONTrackReconstructorK.cxx:937 AliMUONTrackReconstructorK.cxx:938 AliMUONTrackReconstructorK.cxx:939 AliMUONTrackReconstructorK.cxx:940 AliMUONTrackReconstructorK.cxx:941 AliMUONTrackReconstructorK.cxx:942 AliMUONTrackReconstructorK.cxx:943 AliMUONTrackReconstructorK.cxx:944 AliMUONTrackReconstructorK.cxx:945 AliMUONTrackReconstructorK.cxx:946 AliMUONTrackReconstructorK.cxx:947 AliMUONTrackReconstructorK.cxx:948 AliMUONTrackReconstructorK.cxx:949 AliMUONTrackReconstructorK.cxx:950 AliMUONTrackReconstructorK.cxx:951 AliMUONTrackReconstructorK.cxx:952 AliMUONTrackReconstructorK.cxx:953 AliMUONTrackReconstructorK.cxx:954 AliMUONTrackReconstructorK.cxx:955 AliMUONTrackReconstructorK.cxx:956 AliMUONTrackReconstructorK.cxx:957 AliMUONTrackReconstructorK.cxx:958 AliMUONTrackReconstructorK.cxx:959 AliMUONTrackReconstructorK.cxx:960 AliMUONTrackReconstructorK.cxx:961 AliMUONTrackReconstructorK.cxx:962 AliMUONTrackReconstructorK.cxx:963 AliMUONTrackReconstructorK.cxx:964 AliMUONTrackReconstructorK.cxx:965 AliMUONTrackReconstructorK.cxx:966 AliMUONTrackReconstructorK.cxx:967 AliMUONTrackReconstructorK.cxx:968 AliMUONTrackReconstructorK.cxx:969 AliMUONTrackReconstructorK.cxx:970 AliMUONTrackReconstructorK.cxx:971 AliMUONTrackReconstructorK.cxx:972 AliMUONTrackReconstructorK.cxx:973 AliMUONTrackReconstructorK.cxx:974 AliMUONTrackReconstructorK.cxx:975 AliMUONTrackReconstructorK.cxx:976 AliMUONTrackReconstructorK.cxx:977 AliMUONTrackReconstructorK.cxx:978 AliMUONTrackReconstructorK.cxx:979 AliMUONTrackReconstructorK.cxx:980 AliMUONTrackReconstructorK.cxx:981 AliMUONTrackReconstructorK.cxx:982 AliMUONTrackReconstructorK.cxx:983 AliMUONTrackReconstructorK.cxx:984 AliMUONTrackReconstructorK.cxx:985 AliMUONTrackReconstructorK.cxx:986 AliMUONTrackReconstructorK.cxx:987 AliMUONTrackReconstructorK.cxx:988 AliMUONTrackReconstructorK.cxx:989 AliMUONTrackReconstructorK.cxx:990 AliMUONTrackReconstructorK.cxx:991 AliMUONTrackReconstructorK.cxx:992 AliMUONTrackReconstructorK.cxx:993 AliMUONTrackReconstructorK.cxx:994 AliMUONTrackReconstructorK.cxx:995 AliMUONTrackReconstructorK.cxx:996 AliMUONTrackReconstructorK.cxx:997 AliMUONTrackReconstructorK.cxx:998 AliMUONTrackReconstructorK.cxx:999 AliMUONTrackReconstructorK.cxx:1000 AliMUONTrackReconstructorK.cxx:1001 AliMUONTrackReconstructorK.cxx:1002 AliMUONTrackReconstructorK.cxx:1003 AliMUONTrackReconstructorK.cxx:1004 AliMUONTrackReconstructorK.cxx:1005 AliMUONTrackReconstructorK.cxx:1006 AliMUONTrackReconstructorK.cxx:1007 AliMUONTrackReconstructorK.cxx:1008 AliMUONTrackReconstructorK.cxx:1009 AliMUONTrackReconstructorK.cxx:1010 AliMUONTrackReconstructorK.cxx:1011 AliMUONTrackReconstructorK.cxx:1012 AliMUONTrackReconstructorK.cxx:1013 AliMUONTrackReconstructorK.cxx:1014 AliMUONTrackReconstructorK.cxx:1015 AliMUONTrackReconstructorK.cxx:1016 AliMUONTrackReconstructorK.cxx:1017 AliMUONTrackReconstructorK.cxx:1018 AliMUONTrackReconstructorK.cxx:1019 AliMUONTrackReconstructorK.cxx:1020 AliMUONTrackReconstructorK.cxx:1021 AliMUONTrackReconstructorK.cxx:1022 AliMUONTrackReconstructorK.cxx:1023 AliMUONTrackReconstructorK.cxx:1024 AliMUONTrackReconstructorK.cxx:1025 AliMUONTrackReconstructorK.cxx:1026 AliMUONTrackReconstructorK.cxx:1027 AliMUONTrackReconstructorK.cxx:1028 AliMUONTrackReconstructorK.cxx:1029 AliMUONTrackReconstructorK.cxx:1030 AliMUONTrackReconstructorK.cxx:1031 AliMUONTrackReconstructorK.cxx:1032 AliMUONTrackReconstructorK.cxx:1033 AliMUONTrackReconstructorK.cxx:1034 AliMUONTrackReconstructorK.cxx:1035 AliMUONTrackReconstructorK.cxx:1036 AliMUONTrackReconstructorK.cxx:1037 AliMUONTrackReconstructorK.cxx:1038 AliMUONTrackReconstructorK.cxx:1039 AliMUONTrackReconstructorK.cxx:1040 AliMUONTrackReconstructorK.cxx:1041 AliMUONTrackReconstructorK.cxx:1042 AliMUONTrackReconstructorK.cxx:1043 AliMUONTrackReconstructorK.cxx:1044 AliMUONTrackReconstructorK.cxx:1045 AliMUONTrackReconstructorK.cxx:1046 AliMUONTrackReconstructorK.cxx:1047 AliMUONTrackReconstructorK.cxx:1048 AliMUONTrackReconstructorK.cxx:1049 AliMUONTrackReconstructorK.cxx:1050 AliMUONTrackReconstructorK.cxx:1051 AliMUONTrackReconstructorK.cxx:1052 AliMUONTrackReconstructorK.cxx:1053 AliMUONTrackReconstructorK.cxx:1054 AliMUONTrackReconstructorK.cxx:1055 AliMUONTrackReconstructorK.cxx:1056 AliMUONTrackReconstructorK.cxx:1057 AliMUONTrackReconstructorK.cxx:1058 AliMUONTrackReconstructorK.cxx:1059 AliMUONTrackReconstructorK.cxx:1060 AliMUONTrackReconstructorK.cxx:1061 AliMUONTrackReconstructorK.cxx:1062 AliMUONTrackReconstructorK.cxx:1063 AliMUONTrackReconstructorK.cxx:1064 AliMUONTrackReconstructorK.cxx:1065 AliMUONTrackReconstructorK.cxx:1066 AliMUONTrackReconstructorK.cxx:1067 AliMUONTrackReconstructorK.cxx:1068 AliMUONTrackReconstructorK.cxx:1069 AliMUONTrackReconstructorK.cxx:1070 AliMUONTrackReconstructorK.cxx:1071 AliMUONTrackReconstructorK.cxx:1072 AliMUONTrackReconstructorK.cxx:1073 AliMUONTrackReconstructorK.cxx:1074 AliMUONTrackReconstructorK.cxx:1075 AliMUONTrackReconstructorK.cxx:1076 AliMUONTrackReconstructorK.cxx:1077 AliMUONTrackReconstructorK.cxx:1078 AliMUONTrackReconstructorK.cxx:1079 AliMUONTrackReconstructorK.cxx:1080 AliMUONTrackReconstructorK.cxx:1081 AliMUONTrackReconstructorK.cxx:1082 AliMUONTrackReconstructorK.cxx:1083 AliMUONTrackReconstructorK.cxx:1084 AliMUONTrackReconstructorK.cxx:1085 AliMUONTrackReconstructorK.cxx:1086 AliMUONTrackReconstructorK.cxx:1087 AliMUONTrackReconstructorK.cxx:1088 AliMUONTrackReconstructorK.cxx:1089 AliMUONTrackReconstructorK.cxx:1090 AliMUONTrackReconstructorK.cxx:1091 AliMUONTrackReconstructorK.cxx:1092 AliMUONTrackReconstructorK.cxx:1093 AliMUONTrackReconstructorK.cxx:1094 AliMUONTrackReconstructorK.cxx:1095 AliMUONTrackReconstructorK.cxx:1096 AliMUONTrackReconstructorK.cxx:1097 AliMUONTrackReconstructorK.cxx:1098 AliMUONTrackReconstructorK.cxx:1099 AliMUONTrackReconstructorK.cxx:1100 AliMUONTrackReconstructorK.cxx:1101 AliMUONTrackReconstructorK.cxx:1102 AliMUONTrackReconstructorK.cxx:1103 AliMUONTrackReconstructorK.cxx:1104 AliMUONTrackReconstructorK.cxx:1105 AliMUONTrackReconstructorK.cxx:1106 AliMUONTrackReconstructorK.cxx:1107 AliMUONTrackReconstructorK.cxx:1108 AliMUONTrackReconstructorK.cxx:1109 AliMUONTrackReconstructorK.cxx:1110 AliMUONTrackReconstructorK.cxx:1111 AliMUONTrackReconstructorK.cxx:1112 AliMUONTrackReconstructorK.cxx:1113 AliMUONTrackReconstructorK.cxx:1114 AliMUONTrackReconstructorK.cxx:1115 AliMUONTrackReconstructorK.cxx:1116 AliMUONTrackReconstructorK.cxx:1117 AliMUONTrackReconstructorK.cxx:1118 AliMUONTrackReconstructorK.cxx:1119 AliMUONTrackReconstructorK.cxx:1120 AliMUONTrackReconstructorK.cxx:1121 AliMUONTrackReconstructorK.cxx:1122 AliMUONTrackReconstructorK.cxx:1123 AliMUONTrackReconstructorK.cxx:1124 AliMUONTrackReconstructorK.cxx:1125 AliMUONTrackReconstructorK.cxx:1126 AliMUONTrackReconstructorK.cxx:1127 AliMUONTrackReconstructorK.cxx:1128 AliMUONTrackReconstructorK.cxx:1129 AliMUONTrackReconstructorK.cxx:1130 AliMUONTrackReconstructorK.cxx:1131 AliMUONTrackReconstructorK.cxx:1132 AliMUONTrackReconstructorK.cxx:1133 AliMUONTrackReconstructorK.cxx:1134 AliMUONTrackReconstructorK.cxx:1135 AliMUONTrackReconstructorK.cxx:1136 AliMUONTrackReconstructorK.cxx:1137 AliMUONTrackReconstructorK.cxx:1138 AliMUONTrackReconstructorK.cxx:1139 AliMUONTrackReconstructorK.cxx:1140 AliMUONTrackReconstructorK.cxx:1141 AliMUONTrackReconstructorK.cxx:1142 AliMUONTrackReconstructorK.cxx:1143 AliMUONTrackReconstructorK.cxx:1144 AliMUONTrackReconstructorK.cxx:1145 AliMUONTrackReconstructorK.cxx:1146 AliMUONTrackReconstructorK.cxx:1147 AliMUONTrackReconstructorK.cxx:1148 AliMUONTrackReconstructorK.cxx:1149 AliMUONTrackReconstructorK.cxx:1150 AliMUONTrackReconstructorK.cxx:1151 AliMUONTrackReconstructorK.cxx:1152 AliMUONTrackReconstructorK.cxx:1153 AliMUONTrackReconstructorK.cxx:1154 AliMUONTrackReconstructorK.cxx:1155 AliMUONTrackReconstructorK.cxx:1156 AliMUONTrackReconstructorK.cxx:1157 AliMUONTrackReconstructorK.cxx:1158 AliMUONTrackReconstructorK.cxx:1159 AliMUONTrackReconstructorK.cxx:1160 AliMUONTrackReconstructorK.cxx:1161 AliMUONTrackReconstructorK.cxx:1162 AliMUONTrackReconstructorK.cxx:1163 AliMUONTrackReconstructorK.cxx:1164 AliMUONTrackReconstructorK.cxx:1165 AliMUONTrackReconstructorK.cxx:1166 AliMUONTrackReconstructorK.cxx:1167 AliMUONTrackReconstructorK.cxx:1168 AliMUONTrackReconstructorK.cxx:1169 AliMUONTrackReconstructorK.cxx:1170 AliMUONTrackReconstructorK.cxx:1171 AliMUONTrackReconstructorK.cxx:1172 AliMUONTrackReconstructorK.cxx:1173 AliMUONTrackReconstructorK.cxx:1174 AliMUONTrackReconstructorK.cxx:1175 AliMUONTrackReconstructorK.cxx:1176 AliMUONTrackReconstructorK.cxx:1177 AliMUONTrackReconstructorK.cxx:1178 AliMUONTrackReconstructorK.cxx:1179 AliMUONTrackReconstructorK.cxx:1180 AliMUONTrackReconstructorK.cxx:1181 AliMUONTrackReconstructorK.cxx:1182 AliMUONTrackReconstructorK.cxx:1183 AliMUONTrackReconstructorK.cxx:1184 AliMUONTrackReconstructorK.cxx:1185 AliMUONTrackReconstructorK.cxx:1186 AliMUONTrackReconstructorK.cxx:1187 AliMUONTrackReconstructorK.cxx:1188 AliMUONTrackReconstructorK.cxx:1189 AliMUONTrackReconstructorK.cxx:1190 AliMUONTrackReconstructorK.cxx:1191 AliMUONTrackReconstructorK.cxx:1192 AliMUONTrackReconstructorK.cxx:1193 AliMUONTrackReconstructorK.cxx:1194 AliMUONTrackReconstructorK.cxx:1195 AliMUONTrackReconstructorK.cxx:1196 AliMUONTrackReconstructorK.cxx:1197 AliMUONTrackReconstructorK.cxx:1198 AliMUONTrackReconstructorK.cxx:1199 AliMUONTrackReconstructorK.cxx:1200 AliMUONTrackReconstructorK.cxx:1201 AliMUONTrackReconstructorK.cxx:1202 AliMUONTrackReconstructorK.cxx:1203 AliMUONTrackReconstructorK.cxx:1204 AliMUONTrackReconstructorK.cxx:1205 AliMUONTrackReconstructorK.cxx:1206 AliMUONTrackReconstructorK.cxx:1207 AliMUONTrackReconstructorK.cxx:1208 AliMUONTrackReconstructorK.cxx:1209 AliMUONTrackReconstructorK.cxx:1210 AliMUONTrackReconstructorK.cxx:1211 AliMUONTrackReconstructorK.cxx:1212 AliMUONTrackReconstructorK.cxx:1213 AliMUONTrackReconstructorK.cxx:1214 AliMUONTrackReconstructorK.cxx:1215 AliMUONTrackReconstructorK.cxx:1216 AliMUONTrackReconstructorK.cxx:1217 AliMUONTrackReconstructorK.cxx:1218 AliMUONTrackReconstructorK.cxx:1219 AliMUONTrackReconstructorK.cxx:1220 AliMUONTrackReconstructorK.cxx:1221 AliMUONTrackReconstructorK.cxx:1222 AliMUONTrackReconstructorK.cxx:1223 AliMUONTrackReconstructorK.cxx:1224 AliMUONTrackReconstructorK.cxx:1225 AliMUONTrackReconstructorK.cxx:1226 AliMUONTrackReconstructorK.cxx:1227 AliMUONTrackReconstructorK.cxx:1228 AliMUONTrackReconstructorK.cxx:1229 AliMUONTrackReconstructorK.cxx:1230 AliMUONTrackReconstructorK.cxx:1231 AliMUONTrackReconstructorK.cxx:1232 AliMUONTrackReconstructorK.cxx:1233 AliMUONTrackReconstructorK.cxx:1234 AliMUONTrackReconstructorK.cxx:1235 AliMUONTrackReconstructorK.cxx:1236 AliMUONTrackReconstructorK.cxx:1237 AliMUONTrackReconstructorK.cxx:1238 AliMUONTrackReconstructorK.cxx:1239 AliMUONTrackReconstructorK.cxx:1240 AliMUONTrackReconstructorK.cxx:1241 AliMUONTrackReconstructorK.cxx:1242 AliMUONTrackReconstructorK.cxx:1243 AliMUONTrackReconstructorK.cxx:1244 AliMUONTrackReconstructorK.cxx:1245 AliMUONTrackReconstructorK.cxx:1246 AliMUONTrackReconstructorK.cxx:1247 AliMUONTrackReconstructorK.cxx:1248 AliMUONTrackReconstructorK.cxx:1249 AliMUONTrackReconstructorK.cxx:1250 AliMUONTrackReconstructorK.cxx:1251 AliMUONTrackReconstructorK.cxx:1252 AliMUONTrackReconstructorK.cxx:1253 AliMUONTrackReconstructorK.cxx:1254 AliMUONTrackReconstructorK.cxx:1255 AliMUONTrackReconstructorK.cxx:1256 AliMUONTrackReconstructorK.cxx:1257 AliMUONTrackReconstructorK.cxx:1258 AliMUONTrackReconstructorK.cxx:1259 AliMUONTrackReconstructorK.cxx:1260 AliMUONTrackReconstructorK.cxx:1261 AliMUONTrackReconstructorK.cxx:1262 AliMUONTrackReconstructorK.cxx:1263 AliMUONTrackReconstructorK.cxx:1264 AliMUONTrackReconstructorK.cxx:1265 AliMUONTrackReconstructorK.cxx:1266 AliMUONTrackReconstructorK.cxx:1267 AliMUONTrackReconstructorK.cxx:1268 AliMUONTrackReconstructorK.cxx:1269 AliMUONTrackReconstructorK.cxx:1270 AliMUONTrackReconstructorK.cxx:1271 AliMUONTrackReconstructorK.cxx:1272 AliMUONTrackReconstructorK.cxx:1273 AliMUONTrackReconstructorK.cxx:1274 AliMUONTrackReconstructorK.cxx:1275 AliMUONTrackReconstructorK.cxx:1276 AliMUONTrackReconstructorK.cxx:1277 AliMUONTrackReconstructorK.cxx:1278 AliMUONTrackReconstructorK.cxx:1279 AliMUONTrackReconstructorK.cxx:1280 AliMUONTrackReconstructorK.cxx:1281 AliMUONTrackReconstructorK.cxx:1282 AliMUONTrackReconstructorK.cxx:1283 AliMUONTrackReconstructorK.cxx:1284 AliMUONTrackReconstructorK.cxx:1285 AliMUONTrackReconstructorK.cxx:1286 AliMUONTrackReconstructorK.cxx:1287 AliMUONTrackReconstructorK.cxx:1288 AliMUONTrackReconstructorK.cxx:1289 AliMUONTrackReconstructorK.cxx:1290 AliMUONTrackReconstructorK.cxx:1291 AliMUONTrackReconstructorK.cxx:1292 AliMUONTrackReconstructorK.cxx:1293 AliMUONTrackReconstructorK.cxx:1294 AliMUONTrackReconstructorK.cxx:1295 AliMUONTrackReconstructorK.cxx:1296 AliMUONTrackReconstructorK.cxx:1297 AliMUONTrackReconstructorK.cxx:1298 AliMUONTrackReconstructorK.cxx:1299 AliMUONTrackReconstructorK.cxx:1300 AliMUONTrackReconstructorK.cxx:1301 AliMUONTrackReconstructorK.cxx:1302 AliMUONTrackReconstructorK.cxx:1303 AliMUONTrackReconstructorK.cxx:1304 AliMUONTrackReconstructorK.cxx:1305 AliMUONTrackReconstructorK.cxx:1306 AliMUONTrackReconstructorK.cxx:1307 AliMUONTrackReconstructorK.cxx:1308 AliMUONTrackReconstructorK.cxx:1309 AliMUONTrackReconstructorK.cxx:1310 AliMUONTrackReconstructorK.cxx:1311 AliMUONTrackReconstructorK.cxx:1312 AliMUONTrackReconstructorK.cxx:1313 AliMUONTrackReconstructorK.cxx:1314 AliMUONTrackReconstructorK.cxx:1315 AliMUONTrackReconstructorK.cxx:1316 AliMUONTrackReconstructorK.cxx:1317 AliMUONTrackReconstructorK.cxx:1318 AliMUONTrackReconstructorK.cxx:1319 AliMUONTrackReconstructorK.cxx:1320 AliMUONTrackReconstructorK.cxx:1321 AliMUONTrackReconstructorK.cxx:1322 AliMUONTrackReconstructorK.cxx:1323 AliMUONTrackReconstructorK.cxx:1324 AliMUONTrackReconstructorK.cxx:1325 AliMUONTrackReconstructorK.cxx:1326 AliMUONTrackReconstructorK.cxx:1327 AliMUONTrackReconstructorK.cxx:1328 AliMUONTrackReconstructorK.cxx:1329 AliMUONTrackReconstructorK.cxx:1330 AliMUONTrackReconstructorK.cxx:1331 AliMUONTrackReconstructorK.cxx:1332 AliMUONTrackReconstructorK.cxx:1333 AliMUONTrackReconstructorK.cxx:1334 AliMUONTrackReconstructorK.cxx:1335 AliMUONTrackReconstructorK.cxx:1336 AliMUONTrackReconstructorK.cxx:1337 AliMUONTrackReconstructorK.cxx:1338 AliMUONTrackReconstructorK.cxx:1339 AliMUONTrackReconstructorK.cxx:1340 AliMUONTrackReconstructorK.cxx:1341 AliMUONTrackReconstructorK.cxx:1342 AliMUONTrackReconstructorK.cxx:1343 AliMUONTrackReconstructorK.cxx:1344 AliMUONTrackReconstructorK.cxx:1345 AliMUONTrackReconstructorK.cxx:1346 AliMUONTrackReconstructorK.cxx:1347 AliMUONTrackReconstructorK.cxx:1348 AliMUONTrackReconstructorK.cxx:1349 AliMUONTrackReconstructorK.cxx:1350 AliMUONTrackReconstructorK.cxx:1351 AliMUONTrackReconstructorK.cxx:1352 AliMUONTrackReconstructorK.cxx:1353 AliMUONTrackReconstructorK.cxx:1354 AliMUONTrackReconstructorK.cxx:1355 AliMUONTrackReconstructorK.cxx:1356 AliMUONTrackReconstructorK.cxx:1357 AliMUONTrackReconstructorK.cxx:1358 AliMUONTrackReconstructorK.cxx:1359 AliMUONTrackReconstructorK.cxx:1360 AliMUONTrackReconstructorK.cxx:1361 AliMUONTrackReconstructorK.cxx:1362 AliMUONTrackReconstructorK.cxx:1363 AliMUONTrackReconstructorK.cxx:1364 AliMUONTrackReconstructorK.cxx:1365 AliMUONTrackReconstructorK.cxx:1366 AliMUONTrackReconstructorK.cxx:1367 AliMUONTrackReconstructorK.cxx:1368 AliMUONTrackReconstructorK.cxx:1369 AliMUONTrackReconstructorK.cxx:1370 AliMUONTrackReconstructorK.cxx:1371 AliMUONTrackReconstructorK.cxx:1372 AliMUONTrackReconstructorK.cxx:1373 AliMUONTrackReconstructorK.cxx:1374 AliMUONTrackReconstructorK.cxx:1375 AliMUONTrackReconstructorK.cxx:1376 AliMUONTrackReconstructorK.cxx:1377 AliMUONTrackReconstructorK.cxx:1378 AliMUONTrackReconstructorK.cxx:1379 AliMUONTrackReconstructorK.cxx:1380 AliMUONTrackReconstructorK.cxx:1381 AliMUONTrackReconstructorK.cxx:1382 AliMUONTrackReconstructorK.cxx:1383 AliMUONTrackReconstructorK.cxx:1384 AliMUONTrackReconstructorK.cxx:1385 AliMUONTrackReconstructorK.cxx:1386 AliMUONTrackReconstructorK.cxx:1387 AliMUONTrackReconstructorK.cxx:1388 AliMUONTrackReconstructorK.cxx:1389 AliMUONTrackReconstructorK.cxx:1390 AliMUONTrackReconstructorK.cxx:1391 AliMUONTrackReconstructorK.cxx:1392 AliMUONTrackReconstructorK.cxx:1393 AliMUONTrackReconstructorK.cxx:1394 AliMUONTrackReconstructorK.cxx:1395 AliMUONTrackReconstructorK.cxx:1396 AliMUONTrackReconstructorK.cxx:1397 AliMUONTrackReconstructorK.cxx:1398 AliMUONTrackReconstructorK.cxx:1399 AliMUONTrackReconstructorK.cxx:1400 AliMUONTrackReconstructorK.cxx:1401 AliMUONTrackReconstructorK.cxx:1402 AliMUONTrackReconstructorK.cxx:1403 AliMUONTrackReconstructorK.cxx:1404 AliMUONTrackReconstructorK.cxx:1405 AliMUONTrackReconstructorK.cxx:1406 AliMUONTrackReconstructorK.cxx:1407 AliMUONTrackReconstructorK.cxx:1408 AliMUONTrackReconstructorK.cxx:1409 AliMUONTrackReconstructorK.cxx:1410 AliMUONTrackReconstructorK.cxx:1411 AliMUONTrackReconstructorK.cxx:1412 AliMUONTrackReconstructorK.cxx:1413 AliMUONTrackReconstructorK.cxx:1414 AliMUONTrackReconstructorK.cxx:1415 AliMUONTrackReconstructorK.cxx:1416 AliMUONTrackReconstructorK.cxx:1417 AliMUONTrackReconstructorK.cxx:1418 AliMUONTrackReconstructorK.cxx:1419 AliMUONTrackReconstructorK.cxx:1420 AliMUONTrackReconstructorK.cxx:1421 AliMUONTrackReconstructorK.cxx:1422 AliMUONTrackReconstructorK.cxx:1423 AliMUONTrackReconstructorK.cxx:1424 AliMUONTrackReconstructorK.cxx:1425 AliMUONTrackReconstructorK.cxx:1426 AliMUONTrackReconstructorK.cxx:1427 AliMUONTrackReconstructorK.cxx:1428 AliMUONTrackReconstructorK.cxx:1429 AliMUONTrackReconstructorK.cxx:1430 AliMUONTrackReconstructorK.cxx:1431 AliMUONTrackReconstructorK.cxx:1432 AliMUONTrackReconstructorK.cxx:1433 AliMUONTrackReconstructorK.cxx:1434 AliMUONTrackReconstructorK.cxx:1435 AliMUONTrackReconstructorK.cxx:1436 AliMUONTrackReconstructorK.cxx:1437 AliMUONTrackReconstructorK.cxx:1438 AliMUONTrackReconstructorK.cxx:1439 AliMUONTrackReconstructorK.cxx:1440 AliMUONTrackReconstructorK.cxx:1441 AliMUONTrackReconstructorK.cxx:1442 AliMUONTrackReconstructorK.cxx:1443 AliMUONTrackReconstructorK.cxx:1444 AliMUONTrackReconstructorK.cxx:1445 AliMUONTrackReconstructorK.cxx:1446 AliMUONTrackReconstructorK.cxx:1447 AliMUONTrackReconstructorK.cxx:1448 AliMUONTrackReconstructorK.cxx:1449 AliMUONTrackReconstructorK.cxx:1450 AliMUONTrackReconstructorK.cxx:1451 AliMUONTrackReconstructorK.cxx:1452 AliMUONTrackReconstructorK.cxx:1453 AliMUONTrackReconstructorK.cxx:1454 AliMUONTrackReconstructorK.cxx:1455 AliMUONTrackReconstructorK.cxx:1456 AliMUONTrackReconstructorK.cxx:1457 AliMUONTrackReconstructorK.cxx:1458 AliMUONTrackReconstructorK.cxx:1459 AliMUONTrackReconstructorK.cxx:1460 AliMUONTrackReconstructorK.cxx:1461 AliMUONTrackReconstructorK.cxx:1462 AliMUONTrackReconstructorK.cxx:1463 AliMUONTrackReconstructorK.cxx:1464 AliMUONTrackReconstructorK.cxx:1465 AliMUONTrackReconstructorK.cxx:1466 AliMUONTrackReconstructorK.cxx:1467 AliMUONTrackReconstructorK.cxx:1468 AliMUONTrackReconstructorK.cxx:1469 AliMUONTrackReconstructorK.cxx:1470 AliMUONTrackReconstructorK.cxx:1471 AliMUONTrackReconstructorK.cxx:1472 AliMUONTrackReconstructorK.cxx:1473 AliMUONTrackReconstructorK.cxx:1474 AliMUONTrackReconstructorK.cxx:1475 AliMUONTrackReconstructorK.cxx:1476 AliMUONTrackReconstructorK.cxx:1477 AliMUONTrackReconstructorK.cxx:1478 AliMUONTrackReconstructorK.cxx:1479 AliMUONTrackReconstructorK.cxx:1480 AliMUONTrackReconstructorK.cxx:1481 AliMUONTrackReconstructorK.cxx:1482 AliMUONTrackReconstructorK.cxx:1483 AliMUONTrackReconstructorK.cxx:1484 AliMUONTrackReconstructorK.cxx:1485 AliMUONTrackReconstructorK.cxx:1486 AliMUONTrackReconstructorK.cxx:1487 AliMUONTrackReconstructorK.cxx:1488 AliMUONTrackReconstructorK.cxx:1489 AliMUONTrackReconstructorK.cxx:1490 AliMUONTrackReconstructorK.cxx:1491 AliMUONTrackReconstructorK.cxx:1492 AliMUONTrackReconstructorK.cxx:1493 AliMUONTrackReconstructorK.cxx:1494 AliMUONTrackReconstructorK.cxx:1495 AliMUONTrackReconstructorK.cxx:1496 AliMUONTrackReconstructorK.cxx:1497 AliMUONTrackReconstructorK.cxx:1498 AliMUONTrackReconstructorK.cxx:1499 AliMUONTrackReconstructorK.cxx:1500 AliMUONTrackReconstructorK.cxx:1501 AliMUONTrackReconstructorK.cxx:1502 AliMUONTrackReconstructorK.cxx:1503 AliMUONTrackReconstructorK.cxx:1504 AliMUONTrackReconstructorK.cxx:1505 AliMUONTrackReconstructorK.cxx:1506 AliMUONTrackReconstructorK.cxx:1507 AliMUONTrackReconstructorK.cxx:1508 AliMUONTrackReconstructorK.cxx:1509 AliMUONTrackReconstructorK.cxx:1510 AliMUONTrackReconstructorK.cxx:1511 AliMUONTrackReconstructorK.cxx:1512 AliMUONTrackReconstructorK.cxx:1513 AliMUONTrackReconstructorK.cxx:1514 AliMUONTrackReconstructorK.cxx:1515 AliMUONTrackReconstructorK.cxx:1516 AliMUONTrackReconstructorK.cxx:1517 AliMUONTrackReconstructorK.cxx:1518 AliMUONTrackReconstructorK.cxx:1519 AliMUONTrackReconstructorK.cxx:1520 AliMUONTrackReconstructorK.cxx:1521 AliMUONTrackReconstructorK.cxx:1522 AliMUONTrackReconstructorK.cxx:1523 AliMUONTrackReconstructorK.cxx:1524 AliMUONTrackReconstructorK.cxx:1525 AliMUONTrackReconstructorK.cxx:1526 AliMUONTrackReconstructorK.cxx:1527 AliMUONTrackReconstructorK.cxx:1528 AliMUONTrackReconstructorK.cxx:1529 AliMUONTrackReconstructorK.cxx:1530 AliMUONTrackReconstructorK.cxx:1531 AliMUONTrackReconstructorK.cxx:1532 AliMUONTrackReconstructorK.cxx:1533 AliMUONTrackReconstructorK.cxx:1534 AliMUONTrackReconstructorK.cxx:1535 AliMUONTrackReconstructorK.cxx:1536 AliMUONTrackReconstructorK.cxx:1537 AliMUONTrackReconstructorK.cxx:1538 AliMUONTrackReconstructorK.cxx:1539 AliMUONTrackReconstructorK.cxx:1540 AliMUONTrackReconstructorK.cxx:1541 AliMUONTrackReconstructorK.cxx:1542 AliMUONTrackReconstructorK.cxx:1543 AliMUONTrackReconstructorK.cxx:1544 AliMUONTrackReconstructorK.cxx:1545 AliMUONTrackReconstructorK.cxx:1546 AliMUONTrackReconstructorK.cxx:1547 AliMUONTrackReconstructorK.cxx:1548 AliMUONTrackReconstructorK.cxx:1549 AliMUONTrackReconstructorK.cxx:1550 AliMUONTrackReconstructorK.cxx:1551 AliMUONTrackReconstructorK.cxx:1552 AliMUONTrackReconstructorK.cxx:1553 AliMUONTrackReconstructorK.cxx:1554 AliMUONTrackReconstructorK.cxx:1555 AliMUONTrackReconstructorK.cxx:1556 AliMUONTrackReconstructorK.cxx:1557 AliMUONTrackReconstructorK.cxx:1558 AliMUONTrackReconstructorK.cxx:1559 AliMUONTrackReconstructorK.cxx:1560 AliMUONTrackReconstructorK.cxx:1561 AliMUONTrackReconstructorK.cxx:1562 AliMUONTrackReconstructorK.cxx:1563 AliMUONTrackReconstructorK.cxx:1564 AliMUONTrackReconstructorK.cxx:1565 AliMUONTrackReconstructorK.cxx:1566 AliMUONTrackReconstructorK.cxx:1567 AliMUONTrackReconstructorK.cxx:1568 AliMUONTrackReconstructorK.cxx:1569 AliMUONTrackReconstructorK.cxx:1570 AliMUONTrackReconstructorK.cxx:1571 AliMUONTrackReconstructorK.cxx:1572 AliMUONTrackReconstructorK.cxx:1573 AliMUONTrackReconstructorK.cxx:1574 AliMUONTrackReconstructorK.cxx:1575 AliMUONTrackReconstructorK.cxx:1576 AliMUONTrackReconstructorK.cxx:1577 AliMUONTrackReconstructorK.cxx:1578 AliMUONTrackReconstructorK.cxx:1579 AliMUONTrackReconstructorK.cxx:1580 AliMUONTrackReconstructorK.cxx:1581 AliMUONTrackReconstructorK.cxx:1582 AliMUONTrackReconstructorK.cxx:1583 AliMUONTrackReconstructorK.cxx:1584 AliMUONTrackReconstructorK.cxx:1585 AliMUONTrackReconstructorK.cxx:1586 AliMUONTrackReconstructorK.cxx:1587 AliMUONTrackReconstructorK.cxx:1588 AliMUONTrackReconstructorK.cxx:1589 AliMUONTrackReconstructorK.cxx:1590 AliMUONTrackReconstructorK.cxx:1591 AliMUONTrackReconstructorK.cxx:1592 AliMUONTrackReconstructorK.cxx:1593 AliMUONTrackReconstructorK.cxx:1594 AliMUONTrackReconstructorK.cxx:1595 AliMUONTrackReconstructorK.cxx:1596 AliMUONTrackReconstructorK.cxx:1597 AliMUONTrackReconstructorK.cxx:1598 AliMUONTrackReconstructorK.cxx:1599 AliMUONTrackReconstructorK.cxx:1600 AliMUONTrackReconstructorK.cxx:1601 AliMUONTrackReconstructorK.cxx:1602 AliMUONTrackReconstructorK.cxx:1603 AliMUONTrackReconstructorK.cxx:1604 AliMUONTrackReconstructorK.cxx:1605 AliMUONTrackReconstructorK.cxx:1606 AliMUONTrackReconstructorK.cxx:1607 AliMUONTrackReconstructorK.cxx:1608 AliMUONTrackReconstructorK.cxx:1609 AliMUONTrackReconstructorK.cxx:1610 AliMUONTrackReconstructorK.cxx:1611 AliMUONTrackReconstructorK.cxx:1612 AliMUONTrackReconstructorK.cxx:1613 AliMUONTrackReconstructorK.cxx:1614 AliMUONTrackReconstructorK.cxx:1615 AliMUONTrackReconstructorK.cxx:1616 AliMUONTrackReconstructorK.cxx:1617 AliMUONTrackReconstructorK.cxx:1618 AliMUONTrackReconstructorK.cxx:1619 AliMUONTrackReconstructorK.cxx:1620 AliMUONTrackReconstructorK.cxx:1621 AliMUONTrackReconstructorK.cxx:1622 AliMUONTrackReconstructorK.cxx:1623 AliMUONTrackReconstructorK.cxx:1624 AliMUONTrackReconstructorK.cxx:1625 AliMUONTrackReconstructorK.cxx:1626 AliMUONTrackReconstructorK.cxx:1627 AliMUONTrackReconstructorK.cxx:1628 AliMUONTrackReconstructorK.cxx:1629 AliMUONTrackReconstructorK.cxx:1630 AliMUONTrackReconstructorK.cxx:1631 AliMUONTrackReconstructorK.cxx:1632 AliMUONTrackReconstructorK.cxx:1633 AliMUONTrackReconstructorK.cxx:1634 AliMUONTrackReconstructorK.cxx:1635