fTRDchi2(0),
fTOFchi2(0),
fHMPIDchi2(0),
+ fGlobalChi2(0),
fITSsignal(0),
fTPCsignal(0),
fTPCsignalS(0),
fITSClusterMap(0),
fTRDncls(0),
fTRDncls0(0),
- fTRDpidQuality(0),
+ fTRDntracklets(0),
fTRDnSlices(0),
- fTRDslices(0x0)
-
+ fTRDslices(0x0),
+ fVertexID(-2) // -2 means an orphan track
{
//
// The default ESD constructor
fTRDchi2(track.fTRDchi2),
fTOFchi2(track.fTOFchi2),
fHMPIDchi2(track.fHMPIDchi2),
+ fGlobalChi2(track.fGlobalChi2),
fITSsignal(track.fITSsignal),
fTPCsignal(track.fTPCsignal),
fTPCsignalS(track.fTPCsignalS),
fITSClusterMap(track.fITSClusterMap),
fTRDncls(track.fTRDncls),
fTRDncls0(track.fTRDncls0),
- fTRDpidQuality(track.fTRDpidQuality),
+ fTRDntracklets(track.fTRDntracklets),
fTRDnSlices(track.fTRDnSlices),
- fTRDslices(0x0)
+ fTRDslices(0x0),
+ fVertexID(track.fVertexID)
{
//
//copy constructor
fTRDchi2(0),
fTOFchi2(0),
fHMPIDchi2(0),
+ fGlobalChi2(0),
fITSsignal(0),
fTPCsignal(0),
fTPCsignalS(0),
fITSClusterMap(0),
fTRDncls(0),
fTRDncls0(0),
- fTRDpidQuality(0),
+ fTRDntracklets(0),
fTRDnSlices(0),
- fTRDslices(0x0)
+ fTRDslices(0x0),
+ fVertexID(-2) // -2 means an orphan track
{
//
- // ESD track from AliVTrack
+ // ESD track from AliVTrack.
+ // This is not a copy constructor !
//
+ if (track->InheritsFrom("AliExternalTrackParam")) {
+ AliError("This is not a copy constructor. Use AliESDtrack(const AliESDtrack &) !");
+ AliWarning("Calling the default constructor...");
+ AliESDtrack();
+ return;
+ }
+
// Reset all the arrays
Int_t i;
for (i=0; i<AliPID::kSPECIES; i++) {
// Set ITS cluster map
fITSClusterMap=track->GetITSClusterMap();
+ fITSncls=0;
+ for(i=0; i<6; i++) {
+ if(HasPointOnITSLayer(i)) fITSncls++;
+ }
+
// Set the combined PID
const Double_t *pid = track->PID();
if(pid){
fTRDchi2(0),
fTOFchi2(0),
fHMPIDchi2(0),
+ fGlobalChi2(0),
fITSsignal(0),
fTPCsignal(0),
fTPCsignalS(0),
fITSClusterMap(0),
fTRDncls(0),
fTRDncls0(0),
- fTRDpidQuality(0),
+ fTRDntracklets(0),
fTRDnSlices(0),
- fTRDslices(0x0)
+ fTRDslices(0x0),
+ fVertexID(-2) // -2 means an orphan track
{
//
// ESD track from TParticle
fTOFchi2 = source.fTOFchi2;
fHMPIDchi2 = source.fHMPIDchi2;
+ fGlobalChi2 = source.fGlobalChi2;
fITSsignal = source.fITSsignal;
fTPCsignal = source.fTPCsignal;
fITSClusterMap = source.fITSClusterMap;
fTRDncls = source.fTRDncls;
fTRDncls0 = source.fTRDncls0;
- fTRDpidQuality = source.fTRDpidQuality;
+ fTRDntracklets = source.fTRDntracklets;
+ fVertexID = source.fVertexID;
return *this;
}
for (Int_t i=0;i<AliPID::kSPECIES;i++) fTRDr[i] = 0;
fTRDLabel = 0;
fTRDQuality = 0;
- fTRDpidQuality = 0;
+ fTRDntracklets = 0;
if(fTRDnSlices)
delete[] fTRDslices;
fTRDslices=0x0;
fHMPIDmipY = 0;
fEMCALindex = kEMCALNoMatch;
+ // reset global track chi2
+ fGlobalChi2 = 0;
+
+ fVertexID = -2; // an orphan track
+
delete fFriendTrack; fFriendTrack = 0;
}
//_______________________________________________________________________
fTPCsignal=t->GetPIDsignal();
break;
- case kTRDout: case kTRDin: case kTRDrefit:
+ case kTRDin: case kTRDrefit:
+ break;
+ case kTRDout:
index = fFriendTrack->GetTRDindices();
fTRDLabel = t->GetLabel();
fTRDchi2 = t->GetChi2();
if (!fCp->Update(p,c)) {delete fCp; fCp=0; return kFALSE;}
//----------------------------------------
+ fVertexID = vtx->GetID();
if (!cParam) return kTRUE;