From c5a8e3dfa1c8960eaaa71fc865226b8cccd65504 Mon Sep 17 00:00:00 2001 From: hristov Date: Fri, 16 Jul 2004 14:36:41 +0000 Subject: [PATCH] Fixes needed for the TRD production (M.Ivanov) --- TRD/AliTRDtrack.cxx | 14 +++++++++----- TRD/AliTRDtracker.cxx | 23 ++++++++++++++++------- 2 files changed, 25 insertions(+), 12 deletions(-) diff --git a/TRD/AliTRDtrack.cxx b/TRD/AliTRDtrack.cxx index be333093bc8..133f1382ef1 100644 --- a/TRD/AliTRDtrack.cxx +++ b/TRD/AliTRDtrack.cxx @@ -202,6 +202,11 @@ AliTRDtrack::AliTRDtrack(const AliESDtrack& t) else if (fAlpha >= TMath::Pi()) fAlpha -= 2*TMath::Pi(); Double_t x, p[5]; t.GetExternalParameters(x,p); + //Conversion of the covariance matrix + Double_t c[15]; t.GetExternalCovariance(c); + if (t.GetStatus()&AliESDtrack::AliESDtrack::kTRDbackup){ + t.GetTRDExternalParameters(x,p,c); + } fX=x; @@ -213,8 +218,6 @@ AliTRDtrack::AliTRDtrack(const AliESDtrack& t) fC=p[4]/x; fE=fC*fX - p[2]; - //Conversion of the covariance matrix - Double_t c[15]; t.GetExternalCovariance(c); c[10]/=x; c[11]/=x; c[12]/=x; c[13]/=x; c[14]/=x*x; @@ -604,7 +607,7 @@ Int_t AliTRDtrack::UpdateMI(const AliTRDcluster *c, Double_t chisq, UInt_t index Bool_t fNoTilt = kTRUE; if(TMath::Abs(h01) > 0.003) fNoTilt = kFALSE; // add angular effect to the error contribution and make correction - MI - AliTRDclusterCorrection *corrector = AliTRDclusterCorrection::GetCorrection(); + //AliTRDclusterCorrection *corrector = AliTRDclusterCorrection::GetCorrection(); // Double_t tangent2 = (fC*fX-fE)*(fC*fX-fE); if (tangent2 < 0.90000){ @@ -612,8 +615,9 @@ Int_t AliTRDtrack::UpdateMI(const AliTRDcluster *c, Double_t chisq, UInt_t index } Double_t tangent = TMath::Sqrt(tangent2); if ((fC*fX-fE)<0) tangent*=-1; - Double_t correction = 0; + Double_t correction = 0*plane; Double_t errang = tangent2*0.04; // + /* if (corrector!=0){ //if (0){ correction = corrector->GetCorrection(plane,c->GetLocalTimeBin(),tangent); @@ -624,7 +628,7 @@ Int_t AliTRDtrack::UpdateMI(const AliTRDcluster *c, Double_t chisq, UInt_t index errang += tangent2*0.04; } } - + */ // Double_t padlength = TMath::Sqrt(c->GetSigmaZ2()*12.); diff --git a/TRD/AliTRDtracker.cxx b/TRD/AliTRDtracker.cxx index bdb1efc0af5..f764263b841 100644 --- a/TRD/AliTRDtracker.cxx +++ b/TRD/AliTRDtracker.cxx @@ -507,6 +507,7 @@ Int_t AliTRDtracker::Clusters2Tracks(AliESD* event) AliESDtrack track; track.UpdateTrackParams(pt,AliESDtrack::kTRDin); event->AddTrack(&track); + // track.SetTRDtrack(new AliTRDtrack(*pt)); } } delete fSeeds->RemoveAt(i); @@ -535,7 +536,7 @@ Int_t AliTRDtracker::PropagateBack(AliESD* event) { // Int_t found=0; - Float_t foundMin = 40; + Float_t foundMin = 20; Int_t n = event->GetNumberOfTracks(); for (Int_t i=0; i= foundMin) { if(foundClr >= 2) { track->CookdEdx(); -// CookLabel(track, 1-fgkLabelFraction); + CookLabel(track, 1-fgkLabelFraction); UseClusters(track); } // Propagate to outer reference plane [SR, GSI, 18.02.2003] -// track->PropagateTo(364.8); why? + // track->PropagateTo(364.8); why? //seed->UpdateTrackParams(track, AliESDtrack::kTRDout); //found++; + seed->UpdateTrackParams(track, AliESDtrack::kTRDbackup); } //Propagation to the TOF (I.Belikov) if (track->GetStop()==kFALSE){ - + if (track->GetNumberOfClusters()>15) seed->UpdateTrackParams(track, AliESDtrack::kTRDout); + Double_t xtof=371.; Double_t c2=track->GetC()*xtof - track->GetEta(); - if (TMath::Abs(c2)>=0.85) continue; + if (TMath::Abs(c2)>=0.85) { + delete track; + continue; + } Double_t xTOF0 = 371. ; PropagateToOuterPlane(*track,xTOF0); // @@ -606,12 +612,14 @@ Int_t AliTRDtracker::PropagateBack(AliESD* event) { if (track->PropagateTo(xtof)) { seed->UpdateTrackParams(track, AliESDtrack::kTRDout); + seed->SetTRDtrack(new AliTRDtrack(*track)); if (track->GetNumberOfClusters()>foundMin) found++; } }else{ if (track->GetNumberOfClusters()>15&&track->GetNumberOfClusters()>0.5*expectedClr){ seed->UpdateTrackParams(track, AliESDtrack::kTRDout); seed->SetStatus(AliESDtrack::kTRDStop); + seed->SetTRDtrack(new AliTRDtrack(*track)); found++; } } @@ -1467,7 +1475,7 @@ Int_t AliTRDtracker::PropagateToTPC(AliTRDtrack& t) if(!t.PropagateTo(x,radLength,rho)) return 0; AdjustSector(&t); if(!t.PropagateTo(x,radLength,rho)) return 0; - } + } return 1; } @@ -2548,7 +2556,8 @@ Double_t AliTRDtracker::GetTiltFactor(const AliTRDcluster* c) { Int_t det = c->GetDetector(); Int_t plane = fGeom->GetPlane(det); - if((plane == 1) || (plane == 3) || (plane == 5)) h01=-h01; + //if((plane == 1) || (plane == 3) || (plane == 5)) h01=-h01; + if((plane == 0) || (plane == 2) || (plane == 4)) h01=-h01; if(fNoTilt) h01 = 0; -- 2.43.0