- Int_t label = 0;
- if (fIsMC) {
- if (fUseNegativeLabels)
- label = track->GetLabel();
- else
- label = TMath::Abs(track->GetLabel());
-
- if (label == 0) {
- AliDebug(2,Form("Track %d with label==0", iTracks));
- label = 99999;
+ Bool_t isEmc = kFALSE;
+ if (TMath::Abs(track->GetTrackEtaOnEMCal()) < 0.75 &&
+ track->GetTrackPhiOnEMCal() > 70 * TMath::DegToRad() &&
+ track->GetTrackPhiOnEMCal() < 190 * TMath::DegToRad())
+ isEmc = kTRUE;
+
+ AliPicoTrack *picotrack = new ((*fTracksOut)[nacc]) AliPicoTrack(track->Pt(),
+ track->Eta(),
+ track->Phi(),
+ track->Charge(),
+ track->GetLabel(),
+ AliPicoTrack::GetTrackType(track),
+ track->GetTrackEtaOnEMCal(),
+ track->GetTrackPhiOnEMCal(),
+ track->GetTrackPtOnEMCal(),
+ isEmc);
+ picotrack->SetTrack(track);
+
+ if (fCopyMCFlag && track->GetLabel() != 0) {
+ AliVParticle *mcpart = GetMCParticle(TMath::Abs(track->GetLabel()));
+ if (mcpart) {
+ UInt_t mcFlag = mcpart->GetFlag();
+ picotrack->SetFlag(mcFlag);
+ Short_t genIndex = mcpart->GetGeneratorIndex();
+ picotrack->SetGeneratorIndex(genIndex);