X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=ITS%2FAliITStrackerMI.cxx;h=97cc085c21f050df658e7353ea8a79913ff2aaf1;hb=c58d9e7d2d8604c70b4c25fd28b037dcdc2b1671;hp=b6cdb690d64795ec7bced991320c6c0bbab70304;hpb=eefec958deebc2cb9e00f95fd2285dc9df2ede94;p=u%2Fmrichter%2FAliRoot.git diff --git a/ITS/AliITStrackerMI.cxx b/ITS/AliITStrackerMI.cxx index b6cdb690d64..97cc085c21f 100644 --- a/ITS/AliITStrackerMI.cxx +++ b/ITS/AliITStrackerMI.cxx @@ -31,7 +31,6 @@ #include #include - #include "AliESDEvent.h" #include "AliESDtrack.h" #include "AliESDVertex.h" @@ -218,8 +217,8 @@ fPlaneEff(0) { break; // only one layer type to skip at once } } - if(!fPlaneEff->ReadFromCDB()) - {AliWarning("AliITStrackerMI reading of AliITSPlaneEff from OCDB failed") ;} + if(AliITSReconstructor::GetRecoParam()->GetReadPlaneEffFromOCDB()) + if(!fPlaneEff->ReadFromCDB()) {AliWarning("AliITStrackerMI reading of AliITSPlaneEff from OCDB failed") ;} if(AliITSReconstructor::GetRecoParam()->GetHistoPlaneEff()) { fPlaneEff->SetCreateHistos(kTRUE); //fPlaneEff->ReadHistosFromFile(); @@ -403,6 +402,8 @@ Int_t AliITStrackerMI::Clusters2Tracks(AliESDEvent *event) { // This functions reconstructs ITS tracks // The clusters must be already loaded ! //-------------------------------------------------------------------- + + fTrackingPhase="Clusters2Tracks"; TObjArray itsTracks(15000); @@ -522,11 +523,9 @@ Int_t AliITStrackerMI::Clusters2Tracks(AliESDEvent *event) { GetBestHypothesysMIP(itsTracks); } // end loop on the two tracking passes - //GetBestHypothesysMIP(itsTracks); if(event->GetNumberOfV0s()>0) UpdateTPCV0(event); if(AliITSReconstructor::GetRecoParam()->GetFindV0s()) FindV02(event); fAfterV0 = kTRUE; - //GetBestHypothesysMIP(itsTracks); // itsTracks.Delete(); // @@ -2857,7 +2856,8 @@ void AliITStrackerMI::AddTrackHypothesys(AliITStrackMI * track, Int_t esdindex) // add track to the list of hypothesys //------------------------------------------------------------------ - if (esdindex>=fTrackHypothesys.GetEntriesFast()) fTrackHypothesys.Expand(esdindex*2+10); + if (esdindex>=fTrackHypothesys.GetEntriesFast()) + fTrackHypothesys.Expand(TMath::Max(fTrackHypothesys.GetSize(),esdindex*2+10)); // TObjArray * array = (TObjArray*) fTrackHypothesys.At(esdindex); if (!array) { @@ -3138,7 +3138,8 @@ AliITStrackMI * AliITStrackerMI::GetBestHypothesys(Int_t esdindex, AliITStrackMI delete forwardtrack; Int_t accepted=0; for (Int_t i=0;iAt(i); + AliITStrackMI * track = (AliITStrackMI*)array->At(i); + if (!track) continue; if (accepted>checkmax || track->GetChi2MIP(3)>AliITSReconstructor::GetRecoParam()->GetMaxChi2PerCluster(3)*6. || @@ -3156,6 +3157,7 @@ AliITStrackMI * AliITStrackerMI::GetBestHypothesys(Int_t esdindex, AliITStrackMI // array->Compress(); SortTrackHypothesys(esdindex,checkmax,1); + array = (TObjArray*) fTrackHypothesys.At(esdindex); if (!array) return 0; // PH What can be the reason? Check SortTrackHypothesys besttrack = (AliITStrackMI*)array->At(0); @@ -3458,12 +3460,14 @@ Int_t AliITStrackerMI::UpdateMI(AliITStrackMI* track, const AliITSRecPoint* cl,D if (cl->GetQ()<=0) return 0; // ingore the "virtual" clusters - //Float_t clxyz[3]; cl->GetGlobalXYZ(clxyz);Double_t trxyz[3]; track->GetXYZ(trxyz);printf("gtr %f %f %f\n",trxyz[0],trxyz[1],trxyz[2]);printf("gcl %f %f %f\n",clxyz[0],clxyz[1],clxyz[2]); + // Float_t clxyz[3]; cl->GetGlobalXYZ(clxyz);Double_t trxyz[3]; track->GetXYZ(trxyz);//printf("gtr %f %f %f\n",trxyz[0],trxyz[1],trxyz[2]);printf("gcl %f %f %f\n",clxyz[0],clxyz[1],clxyz[2]); // Take into account the mis-alignment Double_t x=track->GetX()+cl->GetX(); if (!track->PropagateTo(x,0.,0.)) return 0; + + AliCluster c(*cl); c.SetSigmaY2(track->GetSigmaY(layer)*track->GetSigmaY(layer));