]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PMD/AliPMDClusteringV1.cxx
reconstruction for both cases: cosmic and PDC08
[u/mrichter/AliRoot.git] / PMD / AliPMDClusteringV1.cxx
index 0c75b7c98fa042cb81b33ed9fbb98198d1d9b31a..555f2ef1777dc78fd3e429b899100985ec6ee444 100644 (file)
@@ -107,7 +107,10 @@ void AliPMDClusteringV1::DoClust(Int_t idet, Int_t ismn,
   Float_t  clusdata[6];
   Double_t cutoff, ave;
   Double_t edepcell[kNMX];
-
+  
+  
+  Double_t *cellenergy = new Double_t [11424];// Ajay
+  
   const float ktwobysqrt3 = 1.1547; // 2./sqrt(3.)
 
   // ndimXr and ndimYr are different because of different module size
@@ -126,6 +129,12 @@ void AliPMDClusteringV1::DoClust(Int_t idet, Int_t ismn,
       ndimYr = 96;
     }
 
+  for (Int_t i =0; i < 11424; i++)
+  {
+      cellenergy[i] = 0.;
+  }
+
+
   Int_t kk = 0;
   for (Int_t i = 0; i < kNDIMX; i++)
     {
@@ -145,21 +154,31 @@ void AliPMDClusteringV1::DoClust(Int_t idet, Int_t ismn,
          i = id+(ndimYr/2-1)-(jd/2);
 
          Int_t ij = i + j*kNDIMX;
-
+         // BKN Int_t ij = i + j*ndimXr;
+         
          if (ismn < 12)
            {
-             edepcell[ij]    = celladc[jd][id];
+             //edepcell[ij]    = celladc[jd][id];
+             cellenergy[ij]    = celladc[jd][id];//Ajay
              fCellTrNo[i][j] = jd*10000+id;  // for association 
            }
          else if (ismn >= 12 && ismn <= 23)
            {
-             edepcell[ij]    = celladc[id][jd];
+             //edepcell[ij]    = celladc[id][jd];
+             cellenergy[ij]    = celladc[id][jd];//Ajay
              fCellTrNo[i][j] = id*10000+jd;  // for association 
            }
-
        }
     }
   
+  //Ajay
+  for (Int_t i = 0; i < kNMX; i++)
+  {
+    edepcell[i] = cellenergy[i];
+  }
+
+  delete [] cellenergy;
+
   Int_t iord1[kNMX];
   TMath::Sort(kNMX,edepcell,iord1);// order the data
   cutoff = fCutoff;                // cutoff to discard cells
@@ -176,17 +195,15 @@ void AliPMDClusteringV1::DoClust(Int_t idet, Int_t ismn,
          nmx1++;
        }
     }
-
+  
   AliDebug(1,Form("Number of cells having energy >= %f are %d",cutoff,nmx1));
 
   if (nmx1 == 0) nmx1 = 1;
   ave = ave/nmx1;
-
   AliDebug(1,Form("Number of cells in a SuperM = %d and Average = %f",
                  kNMX,ave));
   
   incr = CrClust(ave, cutoff, nmx1,iord1, edepcell );
-  
   RefClust(incr,edepcell);
   Int_t nentries1 = fPMDclucont->GetEntries();
   AliDebug(1,Form("Detector Plane = %d  Serial Module No = %d Number of clusters = %d",idet, ismn, nentries1));
@@ -379,24 +396,23 @@ void AliPMDClusteringV1::RefClust(Int_t incr, Double_t edepcell[])
   // Takes the big patch and does gaussian fitting and
   // finds out the more refined clusters
   //
+  
+
 
   AliPMDcludata *pmdcludata = 0;
 
+  Int_t *cellCount = 0x0;
+  Int_t **cellXY = 0x0;
   const Int_t kdim = 4500;
 
-  Int_t i, j, k, i1, i2, id, icl,  itest,ihld, ig, nsupcl,clno;
-  Int_t lev1[20], lev2[20];
-  Int_t ncl[kdim], iord[kdim], t[kdim];
-  Int_t clxy[15];
-
-  Int_t *cellCount;
-  Int_t **cellXY;
-
+  Int_t    i, j, k, i1, i2, id, icl,  itest,ihld, ig, nsupcl,clno;
+  Int_t    t[kdim];
+  Int_t    ncl[kdim], iord[kdim], lev1[kdim], lev2[kdim];
+  Int_t    clxy[15];
   Float_t  clusdata[6];
   Double_t x1, y1, z1, x2, y2, z2, dist,rr,sum;
   Double_t x[kdim], y[kdim], z[kdim];
   Double_t xc[kdim], yc[kdim], zc[kdim], cells[kdim], rc[kdim];
-  
 
   // Initialisation  
   for(i = 0; i<kdim; i++)