Changes needed in PHOS (Y.Schutz)
authorhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 4 May 2004 14:17:11 +0000 (14:17 +0000)
committerhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 4 May 2004 14:17:11 +0000 (14:17 +0000)
STEER/AliESDtrack.cxx
STEER/AliESDtrack.h
STEER/AliKalmanTrack.h

index a0736c8cf50801d00d1d1d6c3b45e51386acf273..cfbb8cd6e768f623ecb31483d0d59b3bb3fa1a45 100644 (file)
@@ -12,7 +12,6 @@
  * about the suitability of this software for any purpose. It is          *
  * provided "as is" without express or implied warranty.                  *
  **************************************************************************/
-
 //-----------------------------------------------------------------
 //           Implementation of the ESD track class
 //   ESD = Event Summary Data
@@ -69,14 +68,12 @@ fRICHsignal(-1)
     fTPCr[i]=1.;
     fTRDr[i]=1.;
     fTOFr[i]=1.;
-    fPHOSr[i]=1.;
     fRICHr[i]=1.;
   }
-  fPHOSr[kSPECIES]= 1.;
-  fPHOSr[kSPECIES+1]= 1.;
-  fPHOSr[kSPECIES+2]= 1.;
-  fPHOSr[kSPECIES+3]= 1.;
-
+  
+  for (Int_t i=0; i<kSPECIESN; i++)
+    fPHOSr[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.;}
@@ -87,7 +84,7 @@ fRICHsignal(-1)
   fTPCLabel = 0;
   fTRDLabel = 0;
   fITSLabel = 0;
-
+  
 }
 
 //_______________________________________________________________________
@@ -516,14 +513,14 @@ void AliESDtrack::GetTOFpid(Double_t *p) const {
 //_______________________________________________________________________
 void AliESDtrack::SetPHOSpid(const Double_t *p) {  
   // Sets the probability of each particle type (in PHOS)
-  for (Int_t i=0; i<kSPECIES+4; i++) fPHOSr[i]=p[i];
+  for (Int_t i=0; i<kSPECIESN; 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+4; i++) p[i]=fPHOSr[i];
+  for (Int_t i=0; i<kSPECIESN; i++) p[i]=fPHOSr[i];
 }
 
 
@@ -555,3 +552,53 @@ void AliESDtrack::GetESDpid(Double_t *p) const {
   for (Int_t i=0; i<kSPECIES; i++) p[i]=fR[i];
 }
 
+//_______________________________________________________________________
+void AliESDtrack::Print(Option_t *) const {
+  // Prints info on the track
+  
+  Info("Print","Track info") ; 
+  Double_t p[kSPECIESN] ; 
+  Int_t index = 0 ; 
+  if( IsOn(kITSpid) ){
+    printf("From ITS: ") ; 
+    GetITSpid(p) ; 
+    for(index = 0 ; index < kSPECIES; index++) 
+      printf("%f, ", p[index]) ;
+    printf("\n           signal = %f\n", GetITSsignal()) ;
+  } 
+  if( IsOn(kTPCpid) ){
+    printf("From TPC: ") ; 
+    GetTPCpid(p) ; 
+    for(index = 0 ; index < kSPECIES; index++) 
+      printf("%f, ", p[index]) ;
+    printf("\n           signal = %f\n", GetTPCsignal()) ;
+  }
+  if( IsOn(kTRDpid) ){
+    printf("From TRD: ") ; 
+    GetTRDpid(p) ; 
+    for(index = 0 ; index < kSPECIES; index++) 
+      printf("%f, ", p[index]) ;
+    printf("\n           signal = %f\n", GetTRDsignal()) ;
+  }
+  if( IsOn(kTOFpid) ){
+    printf("From TOF: ") ; 
+    GetTOFpid(p) ; 
+    for(index = 0 ; index < kSPECIES; index++) 
+      printf("%f, ", p[index]) ;
+    printf("\n           signal = %f\n", GetTOFsignal()) ;
+  }
+  if( IsOn(kRICHpid) ){
+    printf("From TOF: ") ; 
+    GetRICHpid(p) ; 
+    for(index = 0 ; index < kSPECIES; index++) 
+      printf("%f, ", p[index]) ;
+    printf("\n           signal = %f\n", GetRICHsignal()) ;
+  }
+  if( IsOn(kPHOSpid) ){
+    printf("From PHOS: ") ; 
+    GetPHOSpid(p) ; 
+    for(index = 0 ; index < kSPECIESN; index++) 
+      printf("%f, ", p[index]) ;
+    printf("\n           signal = %f\n", GetPHOSsignal()) ;
+  }
+} 
index 0e4363558f65695902538e2547a234b348cf9aac..d5884149adf4f7bdb5de1086d29be6688d799d6e 100644 (file)
@@ -114,6 +114,9 @@ public:
   Bool_t IsOn(Int_t mask) const {return (fFlags&mask)>0;}
   Bool_t IsRICH() const {return fFlags&kRICHpid;}
   Bool_t IsPHOS() const {return fFlags&kPHOSpid;}
+
+  virtual void Print(Option_t * opt) const ; 
+
   enum {
     kITSin=0x0001,kITSout=0x0002,kITSrefit=0x0004,kITSpid=0x0008,
     kTPCin=0x0010,kTPCout=0x0020,kTPCrefit=0x0040,kTPCpid=0x0080,
@@ -126,8 +129,9 @@ public:
   }; 
   enum {
     kSPECIES=5, // Number of particle species recognized by the PID
+    kSPECIESN=10, //  Number of charged+neutral particle species recognized by the PHOS PID
     kElectron=0, kMuon=1, kPion=2, kKaon=3, kProton=4, kPhoton=5, 
-    kPi0=6, kNeutron=7, kKaon0=8 // PHOS definition
+    kPi0=6, kNeutron=7, kKaon0=8, kEleCon=9 // PHOS definition
   };
 protected:
   ULong_t   fFlags;        // Reconstruction status flags 
@@ -199,7 +203,7 @@ protected:
   // PHOS related track information 
   Float_t fPHOSpos[3]; //position localised by PHOS in global coordinate system
   Float_t fPHOSsignal; // energy measured by PHOS
-  Float_t fPHOSr[kSPECIES+4]; // PID information from PHOS
+  Float_t fPHOSr[kSPECIES]; // PID information from PHOS
 
   // HMPID related track information
   Float_t fRICHsignal;     // detector's PID signal (beta for RICH)
index 53c7140acda93f2c53f9318fe00ed594807b734c..ef7e0c919cf8f75b61c520479445c8cda169a2f8 100644 (file)
@@ -13,6 +13,7 @@
 //-------------------------------------------------------------------------
 
 #include <TObject.h>
+#include "AliESDtrack.h"
 
 class AliCluster;
 
@@ -124,7 +125,7 @@ protected:
   static Double_t fgConvConst; //conversion constant cm -> GeV/c
 
   // variables for time integration (S.Radomski@gsi.de)
-  static const Int_t fgkTypes = 5;  // Number of track types (e,mu,pi,k,p)
+  static const Int_t fgkTypes = AliESDtrack::kSPECIES;  // Number of track types (e,mu,pi,k,p)
   Bool_t  fStartTimeIntegral;       // indicator wether integrate time
   Double_t fIntegratedTime[5];       // integrated time
   Double_t fIntegratedLength;        // integrated length