TObjArray trks(ntr);
for (i=0; i<ntr; i++) {
AliESDtrack *esdtr=event->GetTrack(i);
- Int_t status=esdtr->GetStatus();
+ UInt_t status=esdtr->GetStatus();
+ UInt_t flags=AliESDtrack::kITSin|AliESDtrack::kTPCin;
if ((status&AliESDtrack::kITSrefit)==0)
- if ((status&AliESDtrack::kITSout)!=0 || (status&AliESDtrack::kITSin)==0)
- continue;
+ if ((status&flags)!=status) continue;
AliITStrackV2 *iotrack=new AliITStrackV2(*esdtr);
iotrack->SetLabel(i); // now it is the index in array of ESD tracks
AliITStrackV2 *b=(AliITStrackV2*)trks.UncheckedAt(j);
if (TMath::Abs(b->GetD())<fDBachMin) continue;
- if (b->Get1Pt()<0.) continue; // bachelor's charge
+ if (b->Get1Pt()>0.) continue; // bachelor's charge
AliV0vertex v0(*v), *pv0=&v0;
AliITStrackV2 bt(*b), *pbt=&bt;
AliITStrackV2 *b=(AliITStrackV2*)trks.UncheckedAt(j);
if (TMath::Abs(b->GetD())<fDBachMin) continue;
- if (b->Get1Pt()>0.) continue; // bachelor's charge
+ if (b->Get1Pt()<0.) continue; // bachelor's charge
AliV0vertex v0(*v), *pv0=&v0;
AliITStrackV2 bt(*b), *pbt=&bt;
if (TMath::Abs(bachtrk->GetD())<fDBachMin) continue; // eliminate to small impact parameters
- if (lV0ver->GetPdgCode()==kLambda0 && bachtrk->Get1Pt()<0.) continue; // condition on V0 label
- if (lV0ver->GetPdgCode()==kLambda0Bar && bachtrk->Get1Pt()>0.) continue; // + good sign for bachelor
+ if (lV0ver->GetPdgCode()==kLambda0 && bachtrk->Get1Pt()>0.) continue; // condition on V0 label
+ if (lV0ver->GetPdgCode()==kLambda0Bar && bachtrk->Get1Pt()<0.) continue; // + good sign for bachelor
AliV0vertex lV0(*lV0ver), *pV0=&lV0;
AliITStrackV2 bt(*bachtrk), *pbt=&bt;