Added the method FillClusterArray for the TOF cluster visualization and removed some...
authordecaro <decaro@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 21 May 2008 11:26:51 +0000 (11:26 +0000)
committerdecaro <decaro@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 21 May 2008 11:26:51 +0000 (11:26 +0000)
TOF/AliTOFtracker.cxx
TOF/AliTOFtracker.h
TOF/AliTOFtrackerMI.cxx
TOF/AliTOFtrackerMI.h
TOF/AliTOFtrackerV1.cxx
TOF/AliTOFtrackerV1.h

index 0061255..81e5584 100644 (file)
@@ -36,7 +36,6 @@
 #include <TFile.h>
 #include <TH2F.h>
 
-//#include "AliAlignObj.h"
 #include "AliGeomManager.h"
 #include "AliESDtrack.h"
 #include "AliESDEvent.h"
@@ -391,8 +390,7 @@ void AliTOFtracker::MatchTracks( Bool_t mLastStep){
 
   Float_t * trackPos[4];
   for (Int_t ii=0; ii<4; ii++) trackPos[ii] = new Float_t[nSteps];
-  Int_t * clind[6];
-  for (Int_t ii=0;ii<6;ii++) clind[ii] = new Int_t[fN];
+  Int_t * clind = new Int_t[fN];
   
   for (Int_t iseed=0; iseed<fNseedsTOF; iseed++) {
 
@@ -456,19 +454,14 @@ void AliTOFtracker::MatchTracks( Bool_t mLastStep){
       Double_t cov2[3]= {dY*dY/12., 0., dZ*dZ/12.};
       if (trackTOFin->AliExternalTrackParam::GetPredictedChi2(p,cov2) > maxChi2)continue;
 
-      clind[0][nc] = c->GetDetInd(0);
-      clind[1][nc] = c->GetDetInd(1);
-      clind[2][nc] = c->GetDetInd(2);
-      clind[3][nc] = c->GetDetInd(3);
-      clind[4][nc] = c->GetDetInd(4);
-      clind[5][nc] = k;      
+      clind[nc] = k;      
       Char_t path[100];
       Int_t ind[5];
-      ind[0]=clind[0][nc];
-      ind[1]=clind[1][nc];
-      ind[2]=clind[2][nc];
-      ind[3]=clind[3][nc];
-      ind[4]=clind[4][nc];
+      ind[0]=c->GetDetInd(0);
+      ind[1]=c->GetDetInd(1);
+      ind[2]=c->GetDetInd(2);
+      ind[3]=c->GetDetInd(3);
+      ind[4]=c->GetDetInd(4);
       fGeom->GetVolumePath(ind,path);
       gGeoManager->cd(path);
       global[nc] = *gGeoManager->GetCurrentMatrix();
@@ -529,12 +522,6 @@ void AliTOFtracker::MatchTracks( Bool_t mLastStep){
       Float_t dist3d[3];
       accept=kFALSE;
       for (Int_t i=0; i<nc; i++){
-       Int_t cind[5];
-       cind[0]= clind[0][i];
-       cind[1]= clind[1][i];
-       cind[2]= clind[2][i];
-       cind[3]= clind[3][i];
-       cind[4]= clind[4][i];
         isInside=fGeom->IsInsideThePad(global[i],ctrackPos,dist3d);
 
         if( mLastStep){
@@ -549,7 +536,7 @@ void AliTOFtracker::MatchTracks( Bool_t mLastStep){
          dist[nfound]=TMath::Sqrt(dist3d[0]*dist3d[0]+dist3d[1]*dist3d[1]+dist3d[2]*dist3d[2]);
          distZ[nfound]=dist3d[2];
          crecL[nfound]=trackPos[3][istep];
-         index[nfound]=clind[5][i]; // store cluster id            
+         index[nfound]=clind[i]; // store cluster id       
          cxpos[nfound]=AliTOFGeometry::RinTOF()+istep*0.1; //store prop.radius
          nfound++;
          if(accept &&!mLastStep)break;
@@ -690,7 +677,7 @@ void AliTOFtracker::MatchTracks( Bool_t mLastStep){
     delete trackTOFout;
   }
   for (Int_t ii=0; ii<4; ii++) delete [] trackPos[ii];
-  for (Int_t ii=0;ii<6;ii++) delete [] clind[ii];
+  delete [] clind;
  
 }
 //_________________________________________________________________________
@@ -980,3 +967,17 @@ Float_t AliTOFtracker::GetTimeZerofromTOF(AliESDEvent * /*event*/) const {
   }
   return 0.;
 }
+//_________________________________________________________________________
+
+void AliTOFtracker::FillClusterArray(TObjArray* arr) const
+{
+  //
+  // Returns the TOF cluster array
+  //
+
+  if (fN==0)
+    arr = 0x0;
+  else
+    for (Int_t i=0; i<fN; ++i) arr->Add(fClusters[i]);
+
+}
index eaea1fe..ab302f6 100644 (file)
@@ -20,7 +20,6 @@
 //----------------------------------------------------------------------//
 
 #include "AliTracker.h"
-//#include "AliTOFpidESD.h"
 
 class TClonesArray;
 
@@ -54,6 +53,7 @@ public:
  Bool_t GetTrackPoint(Int_t index, AliTrackPoint& p) const;
  void InitCheckHists();
  void SaveCheckHists();
+ void FillClusterArray(TObjArray* arr) const;
 
 private:
 
index 485d7f4..70460dd 100644 (file)
 #include <Rtypes.h>
 
 #include "TClonesArray.h"
-//#include "TGeoManager.h"
 #include "TTree.h"
 #include "TTreeStream.h"
 
-//#include "AliRun.h"
 #include "AliESDEvent.h"
 #include "AliESDtrack.h"
 
@@ -338,8 +336,7 @@ void AliTOFtrackerMI::MatchTracksMI(Bool_t mLastStep){
   //PH Arrays (moved outside of the loop)
   Float_t * trackPos[4];
   for (Int_t ii=0; ii<4; ii++) trackPos[ii] = new Float_t[nSteps];
-  Int_t * clind[6];
-  for (Int_t ii=0;ii<6;ii++) clind[ii] = new Int_t[fN];
+  Int_t * clind = new Int_t[fN];
 
   // Some init 
   
@@ -435,12 +432,7 @@ void AliTOFtrackerMI::MatchTracksMI(Bool_t mLastStep){
       if (dph>TMath::Pi()) dph-=2.*TMath::Pi();
       if (TMath::Abs(dph)>dphi) continue;
 
-      clind[0][nc] = c->GetDetInd(0);
-      clind[1][nc] = c->GetDetInd(1);
-      clind[2][nc] = c->GetDetInd(2);
-      clind[3][nc] = c->GetDetInd(3);
-      clind[4][nc] = c->GetDetInd(4);
-      clind[5][nc] = k;
+      clind[nc] = k;
       nc++;
     }
 
@@ -452,8 +444,8 @@ void AliTOFtrackerMI::MatchTracksMI(Bool_t mLastStep){
     for (Int_t icl=0; icl<nc; icl++){
       Float_t distances[5];
       if (nfound>=1000) break;
-      index[nfound]=clind[5][icl];
-      AliTOFcluster *cluster = fClusters[clind[5][icl]];
+      index[nfound]=clind[icl];
+      AliTOFcluster *cluster = fClusters[clind[icl]];
       GetLinearDistances(trackTOFin,cluster, distances);
       dist3D[nfound][0] = distances[4];
       dist3D[nfound][1] = distances[1];
@@ -600,66 +592,11 @@ void AliTOFtrackerMI::MatchTracksMI(Bool_t mLastStep){
   //
   //
   for (Int_t ii=0; ii<4; ii++) delete [] trackPos[ii];
-  for (Int_t ii=0;ii<6;ii++) delete [] clind[ii];
+  delete [] clind;
   delete calib;
 }
-
-
-
-
-// //_________________________________________________________________________
-// Int_t AliTOFtrackerMI::LoadClusters(TTree *dTree) {
-//   //--------------------------------------------------------------------
-//   //This function loads the TOF clusters
-//   //--------------------------------------------------------------------
-
-//   TBranch *branch=dTree->GetBranch("TOF");
-//   if (!branch) { 
-//     AliError(" can't get the branch with the TOF digits !");
-//     return 1;
-//   }
-
-//   TClonesArray dummy("AliTOFdigit",10000), *digits=&dummy;
-//   branch->SetAddress(&digits);
-
-//   dTree->GetEvent(0);
-//   Int_t nd=digits->GetEntriesFast();
-//   Info("LoadClusters","number of digits: %d",nd);
-
-//   for (Int_t i=0; i<nd; i++) {
-//     AliTOFdigit *d=(AliTOFdigit*)digits->UncheckedAt(i);
-//     Int_t dig[5]; Float_t g[3];
-//     dig[0]=d->GetSector();
-//     dig[1]=d->GetPlate();
-//     dig[2]=d->GetStrip();
-//     dig[3]=d->GetPadz();
-//     dig[4]=d->GetPadx();
-
-//     fGeom->GetPos(dig,g);
-
-//     Double_t h[5];
-//     h[0]=TMath::Sqrt(g[0]*g[0]+g[1]*g[1]);
-//     h[1]=TMath::ATan2(g[1],g[0]); h[2]=g[2]; 
-//     h[3]=d->GetTdc(); h[4]=d->GetAdc();
-
-//     AliTOFcluster *cl=new AliTOFcluster(h,d->GetTracks(),dig,i);
-//     InsertCluster(cl);
-//   }  
-
-//   return 0;
-// }
-// //_________________________________________________________________________
-// void AliTOFtrackerMI::UnloadClusters() {
-//   //--------------------------------------------------------------------
-//   //This function unloads TOF clusters
-//   //--------------------------------------------------------------------
-//   for (Int_t i=0; i<fN; i++) delete fClusters[i];
-//   fN=0;
-// }
-
-
-
 //_________________________________________________________________________
+
 Int_t AliTOFtrackerMI::LoadClusters(TTree *cTree) {
   //--------------------------------------------------------------------
   //This function loads the TOF clusters
@@ -682,23 +619,7 @@ Int_t AliTOFtrackerMI::LoadClusters(TTree *cTree) {
 
   for (Int_t i=0; i<nc; i++) {
     AliTOFcluster *c=(AliTOFcluster*)clusters->UncheckedAt(i);
-    /*
-    for (Int_t jj=0; jj<5; jj++) dig[jj]=c->GetDetInd(jj);
-
-    Double_t h[5];
-    h[0]=c->GetR();
-    h[1]=c->GetPhi();
-    h[2]=c->GetZ();
-    h[3]=c->GetTDC();
-    h[4]=c->GetADC();
-
-    Int_t indexDig[3];
-    for (Int_t jj=0; jj<3; jj++) indexDig[jj] = c->GetLabel(jj);
 
-    AliTOFcluster *cl=new AliTOFcluster(h,c->GetTracks(),dig,i);
-    */
-
-    //    fClusters[i]=c; fN++;
     fClusters[i]=new AliTOFcluster(*c); fN++;
 
     //AliInfo(Form("%4i %4i  %f %f %f  %f %f   %2i %1i %2i %1i %2i",i, fClusters[i]->GetIndex(),fClusters[i]->GetZ(),fClusters[i]->GetR(),fClusters[i]->GetPhi(), fClusters[i]->GetTDC(),fClusters[i]->GetADC(),fClusters[i]->GetDetInd(0),fClusters[i]->GetDetInd(1),fClusters[i]->GetDetInd(2),fClusters[i]->GetDetInd(3),fClusters[i]->GetDetInd(4)));
@@ -914,3 +835,17 @@ void    AliTOFtrackerMI::GetLikelihood(Float_t dy, Float_t dz, const Double_t *c
   p1 = 0.5*(1+TMath::Erf(normd+normwidth*0.5));  
   pz+= 0.25*(p1-p0);
 }
+//_________________________________________________________________________
+
+void AliTOFtrackerMI::FillClusterArray(TObjArray* arr) const
+{
+  //
+  // Returns the TOF cluster array
+  //
+
+  if (fN==0)
+    arr = 0x0;
+  else
+    for (Int_t i=0; i<fN; ++i) arr->Add(fClusters[i]);
+
+}
index 3ae7f33..43d9f1b 100644 (file)
@@ -16,8 +16,6 @@
 
 #include "AliTracker.h"
 
-//#include "AliTOFpidESD.h"
-
 class TTreeSRedirector;
 class TClonesArray;
 
@@ -48,45 +46,7 @@ public:
  virtual void  UnloadClusters();// UnLoad Clusters
  virtual AliCluster *GetCluster(Int_t /*index*/) const {return NULL;};
  void    GetLikelihood(Float_t dy, Float_t dz, const Double_t *cov, AliTOFtrack * track, Float_t & py, Float_t &pz);
-public:
- /*  class AliTOFcluster { */
-/*     friend class AliTOFtrackerMI; */
-/*   public: */
-/*     AliTOFcluster(Double_t *h, Int_t *l, Int_t *ind, Int_t idx) { */
-/*       fR=h[0]; fPhi=h[1]; fZ=h[2]; fTDC=h[3]; fADC=h[4]; */
-/*       fLab[0]=l[0]; fLab[1]=l[1]; fLab[2]=l[2]; */
-/*       fIdx=idx; */
-/*       fdetIndex[0]=ind[0]; */
-/*       fdetIndex[1]=ind[1]; */
-/*       fdetIndex[2]=ind[2]; */
-/*       fdetIndex[3]=ind[3]; */
-/*       fdetIndex[4]=ind[4]; */
-/*       fQuality    = -100; */
-/*     } */
-/*     void Use() {fADC=-fADC;} */
-
-/*     Double_t GetR() const {return fR;}  // Cluster Radius */
-/*     Double_t GetPhi() const {return fPhi;} // Cluster Phi */
-/*     Double_t GetZ()   const {return fZ;} // Cluster Z */
-/*     Double_t GetTDC() const {return fTDC;} // Cluster ToF */
-/*     Double_t GetADC() const {return TMath::Abs(fADC);} // Cluster Charge */
-/*     Int_t IsUsed() const {return (fADC<0) ? 1 : 0;} // Flagging */
-/*     Int_t GetLabel(Int_t n) const {return fLab[n];} // Labels of tracks in Cluster */
-/*     Int_t GetDetInd(Int_t n) const {return fdetIndex[n];} //Cluster Det Indeces */
-/*     Int_t GetIndex() const {return fIdx;} // Cluster Index */
-
-/*   private: */
-
-/*     Int_t fLab[3]; //track labels */
-/*     Int_t fIdx;    //index of this cluster */
-/*     Int_t fdetIndex[5]; //Cluster detector Indeces (plate,strip,..) */
-/*     Double_t fR;   //r-coordinate */
-/*     Double_t fPhi; //phi-coordinate */
-/*     Double_t fZ;   //z-coordinate */
-/*     Double_t fTDC; //TDC count */
-/*     Double_t fADC; //ADC count */
-/*     Double_t fQuality;  // quality of the best track */
-/*   }; */
+ void FillClusterArray(TObjArray* arr) const;
 
 private:
 
index 3af97d1..7918507 100644 (file)
@@ -36,7 +36,6 @@
 #include <TH2F.h>
 #include <TSeqCollection.h>
 
-//#include "AliAlignObj.h"
 #include "AliESDtrack.h"
 #include "AliESDEvent.h"
 #include "AliLog.h"
@@ -798,3 +797,17 @@ Float_t AliTOFtrackerV1::GetTimeZerofromTOF(AliESDEvent * /*event*/) const {
   }
   return 0.;
 }
+//_________________________________________________________________________
+
+void AliTOFtrackerV1::FillClusterArray(TObjArray* arr) const
+{
+  //
+  // Returns the TOF cluster array
+  //
+
+  if (fN==0)
+    arr = 0x0;
+  else
+    for (Int_t i=0; i<fN; ++i) arr->Add(fClusters[i]);
+
+}
index 7b381b4..fb68ab7 100644 (file)
@@ -20,7 +20,6 @@
 //----------------------------------------------------------------------//
 
 #include "AliTracker.h"
-//#include "AliTOFpidESD.h"
 
 class TClonesArray;
 class TH1F;
@@ -52,6 +51,7 @@ public:
  Bool_t GetTrackPoint(Int_t index, AliTrackPoint& p) const;
  void InitCheckHists();
  void SaveCheckHists();
+ void FillClusterArray(TObjArray* arr) const;
 
 private: