]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliESDtrack.cxx
Restore backward compatibility for SDD map objects - Savannah bug 49895 (F. Prino)
[u/mrichter/AliRoot.git] / STEER / AliESDtrack.cxx
index 36fef58e5053336fbd1194c03c354e17802fef56..5503629e9a04027fa47ec5be4a6528f3e04ec0fb 100644 (file)
@@ -189,6 +189,7 @@ AliESDtrack::AliESDtrack() :
   fTRDchi2(0),
   fTOFchi2(0),
   fHMPIDchi2(0),
+  fGlobalChi2(0),
   fITSsignal(0),
   fTPCsignal(0),
   fTPCsignalS(0),
@@ -210,10 +211,10 @@ AliESDtrack::AliESDtrack() :
   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 
@@ -276,6 +277,7 @@ AliESDtrack::AliESDtrack(const AliESDtrack& track):
   fTRDchi2(track.fTRDchi2),
   fTOFchi2(track.fTOFchi2),
   fHMPIDchi2(track.fHMPIDchi2),
+  fGlobalChi2(track.fGlobalChi2),
   fITSsignal(track.fITSsignal),
   fTPCsignal(track.fTPCsignal),
   fTPCsignalS(track.fTPCsignalS),
@@ -297,9 +299,10 @@ AliESDtrack::AliESDtrack(const AliESDtrack& track):
   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
@@ -374,6 +377,7 @@ AliESDtrack::AliESDtrack(const AliVTrack *track) :
   fTRDchi2(0),
   fTOFchi2(0),
   fHMPIDchi2(0),
+  fGlobalChi2(0),
   fITSsignal(0),
   fTPCsignal(0),
   fTPCsignalS(0),
@@ -395,14 +399,23 @@ AliESDtrack::AliESDtrack(const AliVTrack *track) :
   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++) {
@@ -431,6 +444,11 @@ AliESDtrack::AliESDtrack(const AliVTrack *track) :
   // 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){
@@ -478,6 +496,7 @@ AliESDtrack::AliESDtrack(TParticle * part) :
   fTRDchi2(0),
   fTOFchi2(0),
   fHMPIDchi2(0),
+  fGlobalChi2(0),
   fITSsignal(0),
   fTPCsignal(0),
   fTPCsignalS(0),
@@ -499,9 +518,10 @@ AliESDtrack::AliESDtrack(TParticle * part) :
   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
@@ -759,6 +779,7 @@ AliESDtrack &AliESDtrack::operator=(const AliESDtrack &source){
   fTOFchi2   = source.fTOFchi2;      
   fHMPIDchi2 = source.fHMPIDchi2;      
 
+  fGlobalChi2 = source.fGlobalChi2;      
 
   fITSsignal  = source.fITSsignal;     
   fTPCsignal  = source.fTPCsignal;     
@@ -805,7 +826,8 @@ AliESDtrack &AliESDtrack::operator=(const AliESDtrack &source){
   fITSClusterMap = source.fITSClusterMap; 
   fTRDncls   = source.fTRDncls;       
   fTRDncls0  = source.fTRDncls0;      
-  fTRDpidQuality  = source.fTRDpidQuality; 
+  fTRDntracklets  = source.fTRDntracklets; 
+  fVertexID = source.fVertexID;
   return *this;
 }
 
@@ -976,7 +998,7 @@ void AliESDtrack::MakeMiniESDtrack(){
   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;
@@ -1009,6 +1031,11 @@ void AliESDtrack::MakeMiniESDtrack(){
   fHMPIDmipY = 0;
   fEMCALindex = kEMCALNoMatch;
 
+  // reset global track chi2
+  fGlobalChi2 = 0;
+
+  fVertexID = -2; // an orphan track
+
   delete fFriendTrack; fFriendTrack = 0;
 } 
 //_______________________________________________________________________
@@ -1174,7 +1201,9 @@ Bool_t AliESDtrack::UpdateTrackParams(const AliKalmanTrack *t, ULong_t flags){
     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();
@@ -1781,6 +1810,7 @@ Double_t b, Double_t maxd, AliExternalTrackParam *cParam) {
   if (!fCp->Update(p,c)) {delete fCp; fCp=0; return kFALSE;}
   //----------------------------------------
 
+  fVertexID = vtx->GetID();
 
   if (!cParam) return kTRUE;