- Int_t pi=v0->GetPindex();
- AliESDtrack *t=event->GetTrack(pi);
- Int_t isProton=1;
- if ((t->GetStatus()&AliESDtrack::kESDpid)!=0) {
- Double_t r[10]; t->GetESDpid(r);
+
+ Int_t protonIdx=v0->GetPindex();
+ Int_t pionIdx =v0->GetNindex();
+
+ v0->ChangeMassHypothesis(3122);
+ Double_t mass=v0->GetEffMass();
+ if (mass>1.17) { //check also a LambdaBar hypothesis
+ v0->ChangeMassHypothesis(-3122);
+ mass=v0->GetEffMass();
+ if (mass>1.17) continue;
+ Int_t tmp=protonIdx; protonIdx=pionIdx; pionIdx=tmp;
+ }
+
+ AliESDtrack *protonTrk=event->GetTrack(protonIdx);
+ AliESDtrack *pionTrk =event->GetTrack(pionIdx);
+
+ if (protonTrk->GetP()<0.5) continue;
+
+ // Check if the "proton track" is a proton
+ if ((protonTrk->GetStatus()&AliESDtrack::kESDpid)!=0) {
+ Double_t r[10]; protonTrk->GetESDpid(r);