+ if (!usedTrack[idxPosFromV0Dghter]) {
+ usedTrack[idxPosFromV0Dghter] = kTRUE;
+
+ UInt_t selectInfo = 0;
+ if (fTrackFilter) selectInfo = fTrackFilter->IsSelected(esdCascadePos);
+ if(mcH) mcH->SelectParticle(esdCascadePos->GetLabel());
+ aodTrack = new(tracks[jTracks++]) AliAODTrack( esdCascadePos->GetID(),
+ esdCascadePos->GetLabel(),
+ momPos,
+ kTRUE,
+ pos,
+ kFALSE, // Why kFALSE for "isDCA" ? FIXME
+ covTr,
+ (Short_t)esdCascadePos->GetSign(),
+ esdCascadePos->GetITSClusterMap(),
+ pid,
+ vV0FromCascade,
+ kTRUE, // usedForVtxFit = kFALSE ? FIXME
+ vtx->UsesTrack(esdCascadePos->GetID()),
+ AliAODTrack::kSecondary,
+ selectInfo);
+ aodTrackRefs->AddAt(aodTrack,idxPosFromV0Dghter);
+
+ if (esdCascadePos->GetSign() > 0) nPosTracks++;
+ aodTrack->ConvertAliPIDtoAODPID();
+ aodTrack->SetFlags(esdCascadePos->GetStatus());
+ SetAODPID(esdCascadePos,aodTrack,detpid,timezero,esd->GetMagneticField());
+ }
+ else {
+ aodTrack = dynamic_cast<AliAODTrack*>(aodTrackRefs->At(idxPosFromV0Dghter));
+ }
+ vV0FromCascade->AddDaughter(aodTrack);
+
+
+ // 4.A.3 - Add the negative tracks from the V0
+
+ esdCascadeNeg->GetPxPyPz(momNeg);
+ esdCascadeNeg->GetXYZ(pos);
+ esdCascadeNeg->GetCovarianceXYZPxPyPz(covTr);
+ esdCascadeNeg->GetESDpid(pid);
+
+
+ if (!usedTrack[idxNegFromV0Dghter]) {
+ usedTrack[idxNegFromV0Dghter] = kTRUE;
+
+ UInt_t selectInfo = 0;
+ if (fTrackFilter) selectInfo = fTrackFilter->IsSelected(esdCascadeNeg);
+ if(mcH)mcH->SelectParticle(esdCascadeNeg->GetLabel());
+ aodTrack = new(tracks[jTracks++]) AliAODTrack( esdCascadeNeg->GetID(),
+ esdCascadeNeg->GetLabel(),
+ momNeg,
+ kTRUE,
+ pos,
+ kFALSE, // Why kFALSE for "isDCA" ? FIXME
+ covTr,
+ (Short_t)esdCascadeNeg->GetSign(),
+ esdCascadeNeg->GetITSClusterMap(),
+ pid,
+ vV0FromCascade,
+ kTRUE, // usedForVtxFit = kFALSE ? FIXME
+ vtx->UsesTrack(esdCascadeNeg->GetID()),
+ AliAODTrack::kSecondary,
+ selectInfo);
+
+ aodTrackRefs->AddAt(aodTrack,idxNegFromV0Dghter);
+
+ if (esdCascadeNeg->GetSign() > 0) nPosTracks++;
+ aodTrack->ConvertAliPIDtoAODPID();
+ aodTrack->SetFlags(esdCascadeNeg->GetStatus());
+ SetAODPID(esdCascadeNeg,aodTrack,detpid,timezero,esd->GetMagneticField());
+ }
+ else {
+ aodTrack = dynamic_cast<AliAODTrack*>(aodTrackRefs->At(idxNegFromV0Dghter));
+ }
+
+ vV0FromCascade->AddDaughter(aodTrack);
+
+
+ // 4.A.4 - Add the V0 from cascade to the V0 array