fID(-999),
fCharge(-99),
fType(kUndef),
+ fCaloIndex(kEMCALNoMatch),
fCovMatrix(NULL),
fDetPid(NULL),
fProdVertex(NULL)
fID(id),
fCharge(charge),
fType(ttype),
+ fCaloIndex(kEMCALNoMatch),
fCovMatrix(NULL),
fDetPid(NULL),
fProdVertex(prodVertex)
fID(id),
fCharge(charge),
fType(ttype),
+ fCaloIndex(kEMCALNoMatch),
fCovMatrix(NULL),
fDetPid(NULL),
fProdVertex(prodVertex)
fID(trk.fID),
fCharge(trk.fCharge),
fType(trk.fType),
+ fCaloIndex(trk.fCaloIndex),
fCovMatrix(NULL),
fDetPid(NULL),
fProdVertex(trk.fProdVertex)
fCharge = trk.fCharge;
fType = trk.fType;
+ fCaloIndex = trk.fCaloIndex;
+
delete fCovMatrix;
if(trk.fCovMatrix) fCovMatrix=new AliAODRedCov<6>(*trk.fCovMatrix);
else fCovMatrix=NULL;
// return kFALSE is something went wrong
// convert to AliExternalTrackParam
- AliExternalTrackParam etp(this);
+ AliExternalTrackParam etp; etp.CopyFromVTrack(this);
Float_t xstart = etp.GetX();
if(xstart>3.) {
return -1.;
}
- Int_t ns=fDetPid->GetTRDnSlices();
+ Int_t ns=fDetPid->GetTRDnSlices()/kTRDnPlanes;
if ((slice<-1) || (slice>=ns)) {
return -1.;
}
return q/ns;
}
+//______________________________________________________________________________
+UChar_t AliAODTrack::GetTRDntrackletsPID() const{
+ //
+ // return number of tracklets calculated from the slices
+ //
+ if(!fDetPid) return -1;
+ return fDetPid->GetTRDntrackletsPID();
+}
+
+//______________________________________________________________________________
+UChar_t AliAODTrack::GetTRDncls(Int_t layer) const {
+ //
+ // return number of TRD clusters
+ //
+ if(!fDetPid || layer > 5) return -1;
+ if(layer < 0) return fDetPid->GetTRDncls();
+ else return fDetPid->GetTRDncls(layer);
+}
+
//______________________________________________________________________________
Double_t AliAODTrack::GetTRDmomentum(Int_t plane, Double_t */*sp*/) const
{
// in TRD layer "plane".
if (!fDetPid) return -1;
- Float_t *trdMomentum=fDetPid->GetTRDmomentum();
+ const Float_t *trdMomentum=fDetPid->GetTRDmomentum();
if (!trdMomentum) {
return -1.;
// Returns the number of bunch crossings after trigger (assuming 25ns spacing)
const double kSpacing = 25e3; // min interbanch spacing
const double kShift = 0;
- Int_t bcid = -1; // defualt one
+ Int_t bcid = kTOFBCNA; // defualt one
if (!IsOn(kTOFout) || !IsOn(kESDpid)) return bcid; // no info
//
double tdif = GetTOFsignal();