AliTRDtrackV1::AliTRDtrackV1() : AliKalmanTrack()
,fPIDquality(0)
,fDE(0.)
+ ,fReconstructor(0x0)
,fBackupTrack(0x0)
{
//
AliTRDtrackV1::AliTRDtrackV1(const AliTRDtrackV1 &ref) : AliKalmanTrack(ref)
,fPIDquality(ref.fPIDquality)
,fDE(ref.fDE)
+ ,fReconstructor(ref.fReconstructor)
,fBackupTrack(0x0)
{
//
AliTRDtrackV1::AliTRDtrackV1(const AliESDtrack &t) : AliKalmanTrack()
,fPIDquality(0)
,fDE(0.)
+ ,fReconstructor(0x0)
,fBackupTrack(0x0)
{
//
, Double_t x, Double_t alpha) : AliKalmanTrack()
,fPIDquality(0)
,fDE(0.)
+ ,fReconstructor(0x0)
,fBackupTrack(0x0)
{
//
//_______________________________________________________________
Bool_t AliTRDtrackV1::IsElectron() const
{
-/* reco = fReconstructor->GetRecoParam();
- if(GetPID(0) > reco->GetPIDThreshold(GetP())) return kTRUE;*/
+ if(GetPID(0) > fReconstructor->GetRecoParam()->GetPIDThreshold(GetP())) return kTRUE;
return kFALSE;
}
// Update the TRD PID information in the ESD track
//
- track->SetNumberOfTRDslices(kNslice);
+ Int_t nslices = fReconstructor->IsEightSlices() ? (Int_t)AliTRDReconstructor::kNNslices : (Int_t)AliTRDReconstructor::kLQslices;
+ track->SetNumberOfTRDslices(nslices);
for (Int_t ip = 0; ip < kNplane; ip++) {
if(fTrackletIndex[ip] == 0xffff) continue;
if(!fTracklet[ip]->IsOK()) continue;
- fTracklet[ip]->CookdEdx(kNslice);
+ fTracklet[ip]->CookdEdx(nslices);
Float_t *dedx = fTracklet[ip]->GetdEdx();
- for (Int_t js = 0; js < kNslice; js++) track->SetTRDslice(dedx[js], ip, js);
+ for (Int_t js = 0; js < nslices; js++, dedx++) track->SetTRDslice(*dedx, ip, js);
}
// copy PID to ESD
Double32_t fPID[AliPID::kSPECIES];// PID probabilities
Double32_t fBudget[3]; // Integrated material budget
Double32_t fDE; // Integrated delta energy
+ const AliTRDReconstructor *fReconstructor;//! reconstructor link
AliTRDseedV1 *fTracklet[kNplane]; // Tracklets array defining the track
AliTRDtrackV1 *fBackupTrack; // Backup track
- ClassDef(AliTRDtrackV1, 2) // new TRD track
+ ClassDef(AliTRDtrackV1, 3) // new TRD track
};
//____________________________________________________
if(!fTracklet[ip]) continue;
fTracklet[ip]->SetReconstructor(rec);
}
+ fReconstructor = rec;
}
// Do the back prolongation
new(&track) AliTRDtrackV1(*seed);
- //track->Print();
+ track.SetReconstructor(fReconstructor);
+
//Int_t lbl = seed->GetLabel();
//track.SetSeedLabel(lbl);
if (nc < 30) return 0x0;
AliTRDtrackV1 *ptrTrack = SetTrack(&track);
+ ptrTrack->SetReconstructor(fReconstructor);
ptrTrack->CookLabel(.9);
// computes PID for track