Adding the bitmap of the clusters assigned in ITS.
authorbelikov <belikov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 21 Nov 2006 15:08:16 +0000 (15:08 +0000)
committerbelikov <belikov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 21 Nov 2006 15:08:16 +0000 (15:08 +0000)
STEER/AliESDtrack.cxx
STEER/AliESDtrack.h
STEER/ReadESDfriend.C

index 2096880..1f34dc9 100644 (file)
@@ -74,6 +74,7 @@ AliESDtrack::AliESDtrack() :
   fOp(0),
   fITSchi2(0),
   fITSncls(0),
+  fITSClusterMap(0),
   fITSsignal(0),
   fITSLabel(0),
   fTPCchi2(0),
@@ -152,6 +153,7 @@ AliESDtrack::AliESDtrack(const AliESDtrack& track):
   fOp(0),
   fITSchi2(track.fITSchi2),
   fITSncls(track.fITSncls),
+  fITSClusterMap(track.fITSClusterMap),
   fITSsignal(track.fITSsignal),
   fITSLabel(track.fITSLabel),
   fTPCchi2(track.fTPCchi2),
@@ -235,6 +237,7 @@ AliESDtrack::AliESDtrack(TParticle * part) :
   fOp(0),
   fITSchi2(0),
   fITSncls(0),
+  fITSClusterMap(0),
   fITSsignal(0),
   fITSLabel(0),
   fTPCchi2(0),
@@ -444,6 +447,7 @@ void AliESDtrack::MakeMiniESDtrack(){
   // Reset ITS track related information
   fITSchi2 = 0;
   fITSncls = 0;       
+  fITSClusterMap=0;
   fITSsignal = 0;     
   for (Int_t i=0;i<AliPID::kSPECIES;i++) fITSr[i]=0; 
   fITSLabel = 0;       
@@ -550,10 +554,15 @@ Bool_t AliESDtrack::UpdateTrackParams(const AliKalmanTrack *t, ULong_t flags){
   switch (flags) {
     
   case kITSin: case kITSout: case kITSrefit:
-    index=fFriendTrack->GetITSindices(); 
-    for (Int_t i=0;i<AliESDfriendTrack::kMaxITScluster;i++) 
-         index[i]=t->GetClusterIndex(i);
     fITSncls=t->GetNumberOfClusters();
+    index=fFriendTrack->GetITSindices(); 
+    for (Int_t i=0;i<AliESDfriendTrack::kMaxITScluster;i++) {
+        index[i]=t->GetClusterIndex(i);
+       if (i<fITSncls) {
+           Int_t l=(index[i] & 0xf0000000) >> 28;
+           SETBIT(fITSClusterMap,l);                 
+        }
+    }
     fITSchi2=t->GetChi2();
     fITSsignal=t->GetPIDsignal();
     fITSLabel = t->GetLabel();
index 37dda37..9808faa 100644 (file)
@@ -117,6 +117,7 @@ public:
   Float_t GetITSsignal() const {return fITSsignal;}
   Float_t GetITSchi2() const {return fITSchi2;}
   Int_t   GetITSclusters(Int_t *idx) const;
+  UChar_t GetITSClusterMap() const {return fITSClusterMap;}
   Int_t   GetITSLabel() const {return fITSLabel;}
   void    SetITStrack(AliKalmanTrack * track){
      fFriendTrack->SetITStrack(track);
@@ -289,6 +290,7 @@ protected:
   // ITS related track information
   Float_t fITSchi2;        // chi2 in the ITS
   Int_t   fITSncls;        // number of clusters assigned in the ITS
+  UChar_t fITSClusterMap;  // map of clusters, one bit per a layer 
   Float_t fITSsignal;      // detector's PID signal
   Float_t fITSr[AliPID::kSPECIES]; // "detector response probabilities" (for the PID)
   Int_t   fITSLabel;       // label according TPC
@@ -352,7 +354,7 @@ protected:
 
   AliESDtrack & operator=(const AliESDtrack & ) {return *this;}
 
-  ClassDef(AliESDtrack,33)  //ESDtrack 
+  ClassDef(AliESDtrack,34)  //ESDtrack 
 };
 
 #endif 
index 2cfdced..a06a1e4 100644 (file)
@@ -51,6 +51,10 @@ void ReadESDfriend(Bool_t readFriend=kTRUE) {
           cout<<"Track number 0"<<endl;
           cout<<"   Number of TPC clusters: "<<n<<endl;
           cout<<"   Index of the 7th TPC cluster: "<<idx[7]<<endl;
+          UChar_t map=t->GetITSClusterMap();
+          cout<<"   ITS cluster map (from SPDs to SSDs): ";
+          for (Int_t i=0; i<6; i++) cout<<TESTBIT(map,i)<<' ';
+          cout<<endl;
 
     // Example: track points associated with the track number 0.
           const AliTrackPointArray *pa=t->GetTrackPointArray();