if (esd->GetStatus()&AliESDtrack::kTPCout) continue;
if (esd->GetStatus()&AliESDtrack::kITSin) continue;
- AliITStrackV2 *t=0;
- try {
- t=new AliITStrackV2(*esd);
- } catch (const Char_t *msg) {
- Warning("Clusters2Tracks",msg);
- delete t;
- continue;
- }
+ AliITStrackV2 *t = new AliITStrackV2(*esd);
+
if (TMath::Abs(t->GetD(GetX(),GetY()))>4) {
delete t;
continue;
if ((esd->GetStatus()&AliESDtrack::kITSin)==0) continue;
if (esd->GetStatus()&AliESDtrack::kITSout) continue;
- AliITStrackV2 *t=0;
- try {
- t=new AliITStrackV2(*esd);
- } catch (const Char_t *msg) {
- Warning("PropagateBack",msg);
- delete t;
- continue;
- }
+ AliITStrackV2 *t = new AliITStrackV2(*esd);
ResetTrackToFollow(*t);
if (esd->GetStatus()&AliESDtrack::kTPCout)
if ((esd->GetStatus()&AliESDtrack::kTPCrefit)==0) continue;
- AliITStrackV2 *t=0;
- try {
- t=new AliITStrackV2(*esd);
- } catch (const Char_t *msg) {
- Warning("RefitInward",msg);
- delete t;
- continue;
- }
+ AliITStrackV2 *t = new AliITStrackV2(*esd);
if (CorrectForDeadZoneMaterial(t)!=0) {
Warning("RefitInward",
CookLabel(&fTrackToFollow,0.); //For comparison only
if (fTrackToFollow.PropagateTo(3.,0.0028,65.19)) {//The beam pipe
+ fTrackToFollow.UpdateESDtrack(AliESDtrack::kITSrefit);
AliESDtrack *esdTrack =fTrackToFollow.GetESDtrack();
- esdTrack->UpdateTrackParams(&fTrackToFollow,AliESDtrack::kITSrefit);
Double_t r[3]={0.,0.,0.};
Double_t maxD=3.;
esdTrack->RelateToVertex(event->GetVertex(),GetBz(r),maxD);
if (TMath::Abs(fTrackToFollow.GetD(GetX(),GetY()))>4) return 0;
fTrackToFollow.
- SetSampledEdx(cc->GetQ(),fTrackToFollow.GetNumberOfClusters()-1); //b.b.
+ SetSampledEdx(cc->GetQ(),fI-2); //b.b.
{
Double_t x0;
//--------------------------------------------------------------------
for (Int_t i=0; i<kNsector; i++) fN[i]=0;
-
+ for (Int_t i=0; i<AliITSRecoParam::kMaxClusterPerLayer; i++){
+ fClusters[i]=0;
+ fIndex[i]=0;
+ }
}
AliITStrackerV2::AliITSlayer::
for (Int_t i=0; i<kNsector; i++) fN[i]=0;
- for (Int_t i=0; i<AliITSRecoParam::fgkMaxClusterPerLayer; i++) fClusters[i]=0;
-
+ for (Int_t i=0; i<AliITSRecoParam::kMaxClusterPerLayer; i++){
+ fClusters[i]=0;
+ fIndex[i]=0;
+ }
}
AliITStrackerV2::AliITSlayer::~AliITSlayer() {
{
Double_t hI=i-0.5*step;
- if (TMath::Abs(hI-1.5)<0.01 || TMath::Abs(hI-3.5)<0.01) {
- Double_t rs=0.5*(fgLayers[i-step].GetR() + r);
- Double_t d=0.0034, x0=38.6;
- if (TMath::Abs(hI-1.5)<0.01) {rs=9.; d=0.0097; x0=42;}
- if (!t->PropagateTo(rs,-step*d,x0)) {
- return kFALSE;
- }
+ if (TMath::Abs(hI-1.5)<0.01 || TMath::Abs(hI-3.5)<0.01) {
+ Int_t iLay = i-step;
+ Double_t rs = 0.;
+ if(iLay<0 || iLay>= AliITSgeomTGeo::kNLayers){
+ AliError(Form("Invalid layer %d ",iLay));
+ return kFALSE;
+ }
+ else{
+ rs=0.5*(fgLayers[i-step].GetR() + r);
+ }
+ Double_t d=0.0034, x0=38.6;
+ if (TMath::Abs(hI-1.5)<0.01) {rs=9.; d=0.0097; x0=42;}
+ if (!t->PropagateTo(rs,-step*d,x0)) {
+ return kFALSE;
+ }
}
}
if (!t->Update(cl,maxchi2,idx)) {
return kFALSE;
}
- t->SetSampledEdx(cl->GetQ(),t->GetNumberOfClusters()-1);
+ t->SetSampledEdx(cl->GetQ(),i-2);
}
{