]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliESDtrack.cxx
Improved cuts for the reconstruction of V0s (M.Ivanov)
[u/mrichter/AliRoot.git] / STEER / AliESDtrack.cxx
index 2e53a68e7c29c95b23f27f4915a7a10cf0d5bd72..0798f51d3e7bea1cec8a38923634cc8126d00f7f 100644 (file)
@@ -55,29 +55,38 @@ fTRDncls(0),
 fTRDsignal(0),
 fTOFchi2(0),
 fTOFindex(0),
-fTOFsignal(-1)
+fTOFsignal(-1),
+fPHOSsignal(-1),
+fRICHsignal(-1)
 {
   //
   // The default ESD constructor 
   //
   for (Int_t i=0; i<kSPECIES; i++) {
-    fTrackTime[i]=0;
-    fR[i]=0;
-    fITSr[i]=0;
-    fTPCr[i]=0;
-    fTRDr[i]=0;
-    fTOFr[i]=0;
+    fTrackTime[i]=0.;
+    fR[i]=1.;
+    fITSr[i]=1.;
+    fTPCr[i]=1.;
+    fTRDr[i]=1.;
+    fTOFr[i]=1.;
+    fPHOSr[i]=1.;
+    fRICHr[i]=1.;
   }
+  fPHOSpos[0]=fPHOSpos[1]=fPHOSpos[2]=0.;
   Int_t i;
   for (i=0; i<5; i++)  { fRp[i]=0.; fCp[i]=0.; fIp[i]=0.; fOp[i]=0.;}
   for (i=0; i<15; i++) { fRc[i]=0.; fCc[i]=0.; fIc[i]=0.; fOc[i]=0.;   }
   for (i=0; i<6; i++)  { fITSindex[i]=0; }
   for (i=0; i<180; i++){ fTPCindex[i]=0; }
   for (i=0; i<90; i++) { fTRDindex[i]=0; }
+  fTPCLabel = 0;
+  fTRDLabel = 0;
+  fITSLabel = 0;
+
 }
 
 //_______________________________________________________________________
-Float_t AliESDtrack::GetMass() const {
+Double_t AliESDtrack::GetMass() const {
   // Returns the mass of the most probable particle type
   Float_t max=0.;
   Int_t k=-1;
@@ -118,9 +127,12 @@ Bool_t AliESDtrack::UpdateTrackParams(AliKalmanTrack *t, ULong_t flags) {
     fITSchi2=t->GetChi2();
     for (Int_t i=0;i<fITSncls;i++) fITSindex[i]=t->GetClusterIndex(i);
     fITSsignal=t->GetPIDsignal();
+    fITSLabel = t->GetLabel();
+    fITSFakeRatio = t->GetFakeRatio();
     break;
     
   case kTPCin: case kTPCrefit:
+    fTPCLabel = t->GetLabel();
     fIalpha=fRalpha;
     fIx=fRx;
     {
@@ -136,7 +148,8 @@ Bool_t AliESDtrack::UpdateTrackParams(AliKalmanTrack *t, ULong_t flags) {
      {//prevrow must be declared in separate namespace, otherwise compiler cries:
       //"jump to case label crosses initialization of `Int_t prevrow'"
        Int_t prevrow = -1;
-       for (Int_t i=0;i<fTPCncls;i++) 
+       //       for (Int_t i=0;i<fTPCncls;i++) 
+       for (Int_t i=0;i<160;i++) 
         {
           fTPCindex[i]=t->GetClusterIndex(i);
 
@@ -199,6 +212,8 @@ Bool_t AliESDtrack::UpdateTrackParams(AliKalmanTrack *t, ULong_t flags) {
       }
     }
   case kTRDin: case kTRDrefit:
+    fTRDLabel = t->GetLabel();
+
     fTRDncls=t->GetNumberOfClusters();
     fTRDchi2=t->GetChi2();
     for (Int_t i=0;i<fTRDncls;i++) fTRDindex[i]=t->GetClusterIndex(i);
@@ -389,6 +404,9 @@ void AliESDtrack::SetITSpid(const Double_t *p) {
   SetStatus(AliESDtrack::kITSpid);
 }
 
+void AliESDtrack::SetITSChi2MIP(const Float_t *chi2mip){
+  for (Int_t i=0; i<6; i++) fITSchi2MIP[i]=chi2mip[i];
+}
 //_______________________________________________________________________
 void AliESDtrack::GetITSpid(Double_t *p) const {
   // Gets the probability of each particle type (in ITS)
@@ -476,6 +494,37 @@ void AliESDtrack::GetTOFpid(Double_t *p) const {
   for (Int_t i=0; i<kSPECIES; i++) p[i]=fTOFr[i];
 }
 
+
+
+//_______________________________________________________________________
+void AliESDtrack::SetPHOSpid(const Double_t *p) {  
+  // Sets the probability of each particle type (in PHOS)
+  for (Int_t i=0; i<kSPECIES; i++) fPHOSr[i]=p[i];
+  SetStatus(AliESDtrack::kPHOSpid);
+}
+
+//_______________________________________________________________________
+void AliESDtrack::GetPHOSpid(Double_t *p) const {
+  // Gets probabilities of each particle type (in PHOS)
+  for (Int_t i=0; i<kSPECIES; i++) p[i]=fPHOSr[i];
+}
+
+
+//_______________________________________________________________________
+void AliESDtrack::SetRICHpid(const Double_t *p) {  
+  // Sets the probability of each particle type (in RICH)
+  for (Int_t i=0; i<kSPECIES; i++) fRICHr[i]=p[i];
+  SetStatus(AliESDtrack::kRICHpid);
+}
+
+//_______________________________________________________________________
+void AliESDtrack::GetRICHpid(Double_t *p) const {
+  // Gets probabilities of each particle type (in RICH)
+  for (Int_t i=0; i<kSPECIES; i++) p[i]=fRICHr[i];
+}
+
+
+
 //_______________________________________________________________________
 void AliESDtrack::SetESDpid(const Double_t *p) {  
   // Sets the probability of each particle type for the ESD track