-// creates an AliESDTrdTrack to be added to the ESD
-
- AliESDTrdTrack *trk = new AliESDTrdTrack();
- trk->SetPt(1./128. * fPt);
- trk->SetPID(fPID);
- trk->SetDetector((Char_t) (fSector * 5 + fStack));
- if (fLabel >= 0)
- trk->SetLabel(fLabel);
- AliInfo(Form("setting detector to: %i (sector: %i, stack: %i), readback: %i", fSector * 30 + fStack * 6, fSector, fStack, trk->GetDetector()));
- return trk;
+ // creates an AliESDTrdTrack to be added to the ESD
+
+ AliESDTrdTrack *trk = new AliESDTrdTrack();
+ trk->SetA((Int_t) fA);
+ trk->SetLayerMask(fTrackletMask);
+ trk->SetPID(fPID);
+ trk->SetB((Int_t) fB);
+ trk->SetStack(fStack);
+ trk->SetSector(fSector);
+ if (fLabel >= 0)
+ trk->SetLabel(fLabel);
+
+ for (Int_t iLayer = 0; iLayer < AliTRDgtuParam::GetNLayers(); iLayer++) {
+ AliTRDtrackletGTU *trklGTU = GetTracklet(iLayer);
+ if (trklGTU) {
+ trk->SetTrackletIndex(trklGTU->GetIndex(), iLayer);
+ AliESDTrdTracklet *trkl = trklGTU->GetTrackletESD();
+ if (trkl)
+ trk->AddTrackletReference(trkl, iLayer);
+ }
+ }
+
+ return trk;