#include <Riostream.h>
#include <TMath.h>
#include <TObjArray.h>
#include <TArrayI.h>
#include "AliPMDcludata.h"
#include "AliPMDcluster.h"
#include "AliPMDClustering.h"
#include "AliPMDClusteringV2.h"
#include "AliLog.h"
ClassImp(AliPMDClusteringV2)
const Double_t AliPMDClusteringV2::fgkSqroot3by2=0.8660254;
AliPMDClusteringV2::AliPMDClusteringV2():
fPMDclucont(new TObjArray()),
fCutoff(0.0),
fClusParam(0)
{
for(int i = 0; i < kNDIMX; i++)
{
for(int j = 0; j < kNDIMY; j++)
{
fCoord[0][i][j] = i+j/2.;
fCoord[1][i][j] = fgkSqroot3by2*j;
}
}
}
AliPMDClusteringV2::AliPMDClusteringV2(const AliPMDClusteringV2& pmdclv2):
AliPMDClustering(pmdclv2),
fPMDclucont(0),
fCutoff(0),
fClusParam(0)
{
AliError("Copy constructor not allowed ");
}
AliPMDClusteringV2 &AliPMDClusteringV2::operator=(const AliPMDClusteringV2& )
{
AliError("Assignment operator not allowed ");
return *this;
}
AliPMDClusteringV2::~AliPMDClusteringV2()
{
delete fPMDclucont;
}
void AliPMDClusteringV2::DoClust(Int_t idet, Int_t ismn,
Int_t celltrack[48][96],
Int_t cellpid[48][96],
Double_t celladc[48][96],
TObjArray *pmdcont)
{
AliPMDcluster *pmdcl = 0;
const Float_t ktwobysqrt3 = 1.1547;
const Int_t kNmaxCell = 19;
Int_t i = 0, j = 0, nmx1 = 0;
Int_t incr = 0, id = 0, jd = 0;
Int_t ndimXr = 0;
Int_t ndimYr = 0;
Int_t celldataX[kNmaxCell], celldataY[kNmaxCell];
Int_t celldataTr[kNmaxCell], celldataPid[kNmaxCell];
Float_t celldataAdc[kNmaxCell];
Float_t clusdata[6] = {0.,0.,0.,0.,0.,0.};
Double_t cutoff = 0., ave = 0.;
Double_t edepcell[kNMX];
if (ismn < 12)
{
ndimXr = 96;
ndimYr = 48;
}
else if (ismn >= 12 && ismn <= 23)
{
ndimXr = 48;
ndimYr = 96;
}
for (i =0; i < kNMX; i++)
{
edepcell[i] = 0.;
}
for (id = 0; id < ndimXr; id++)
{
for (jd = 0; jd < ndimYr; jd++)
{
j = jd;
i = id + (ndimYr/2-1) - (jd/2);
Int_t ij = i + j*kNDIMX;
if (ismn < 12)
{
edepcell[ij] = celladc[jd][id];
}
else if (ismn >= 12 && ismn <= 23)
{
edepcell[ij] = celladc[id][jd];
}
}
}
Int_t iord1[2*kNMX];
TMath::Sort((Int_t)kNMX,edepcell,iord1);
cutoff = fCutoff;
ave = 0.;
nmx1 = -1;
for(i = 0;i < kNMX; i++)
{
if(edepcell[i] > 0.)
{
ave += edepcell[i];
}
if(edepcell[i] > cutoff )
{
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));
AliDebug(1,Form("Total number of clusters/module = %d",nentries1));
for (Int_t ient1 = 0; ient1 < nentries1; ient1++)
{
AliPMDcludata *pmdcludata =
(AliPMDcludata*)fPMDclucont->UncheckedAt(ient1);
Float_t cluXC = pmdcludata->GetClusX();
Float_t cluYC = pmdcludata->GetClusY();
Float_t cluADC = pmdcludata->GetClusADC();
Float_t cluCELLS = pmdcludata->GetClusCells();
Float_t cluSIGX = pmdcludata->GetClusSigmaX();
Float_t cluSIGY = pmdcludata->GetClusSigmaY();
Float_t cluY0 = ktwobysqrt3*cluYC;
Float_t cluX0 = cluXC - cluY0/2.;
if (ismn < 12)
{
clusdata[0] = cluX0 - (24-1) + cluY0/2.;
}
else if (ismn >= 12 && ismn <= 23)
{
clusdata[0] = cluX0 - (48-1) + cluY0/2.;
}
clusdata[1] = cluY0;
clusdata[2] = cluADC;
clusdata[3] = cluCELLS;
clusdata[4] = cluSIGX;
clusdata[5] = cluSIGY;
for (Int_t ihit = 0; ihit < kNmaxCell; ihit++)
{
Int_t dummyXY = pmdcludata->GetCellXY(ihit);
Int_t celldumY = dummyXY%10000;
Int_t celldumX = dummyXY/10000;
Float_t cellY = (Float_t) celldumY/10;
Float_t cellX = (Float_t) celldumX/10;
if (ismn < 12)
{
celldataX[ihit] = (Int_t) ((cellX - (24-1) + cellY/2.) + 0.5);
}
else if (ismn >= 12 && ismn <= 23)
{
celldataX[ihit] = (Int_t) ((cellX - (48-1) + cellY/2.) + 0.5 );
}
celldataY[ihit] = (Int_t) (cellY + 0.5);
Int_t irow = celldataX[ihit];
Int_t icol = celldataY[ihit];
if ((irow >= 0 && irow < 48) && (icol >= 0 && icol < 96))
{
celldataTr[ihit] = celltrack[irow][icol];
celldataPid[ihit] = cellpid[irow][icol];
celldataAdc[ihit] = (Float_t) celladc[irow][icol];
}
else
{
celldataTr[ihit] = -1;
celldataPid[ihit] = -1;
celldataAdc[ihit] = -1;
}
}
pmdcl = new AliPMDcluster(idet, ismn, clusdata, celldataX, celldataY,
celldataTr, celldataPid, celldataAdc);
pmdcont->Add(pmdcl);
}
fPMDclucont->Delete();
}
Int_t AliPMDClusteringV2::CrClust(Double_t ave, Double_t cutoff, Int_t nmx1,
Int_t iord1[], Double_t edepcell[])
{
Int_t i = 0, j = 0, k = 0, id1 =0, id2 = 0, icl = 0, numcell = 0;
Int_t jd1 = 0, jd2 = 0, icell = 0, cellcount = 0;
Int_t clust[2][5000];
static Int_t neibx[6] = {1,0,-1,-1,0,1}, neiby[6] = {0,1,1,0,-1,-1};
AliDebug(1,Form("kNMX = %d nmx1 = %d kNDIMX = %d kNDIMY = %d ave = %f cutoff = %f",kNMX,nmx1,kNDIMX,kNDIMY,ave,cutoff));
for (j=0; j < kNDIMX; j++)
{
for(k=0; k < kNDIMY; k++)
{
fInfocl[0][j][k] = 0;
fInfocl[1][j][k] = 0;
}
}
for(i=0; i < kNMX; i++)
{
fInfcl[0][i] = -1;
j = iord1[i];
id2 = j/kNDIMX;
id1 = j-id2*kNDIMX;
if(edepcell[j] <= cutoff)
{
fInfocl[0][id1][id2] = -1;
}
}
icl = -1;
cellcount = -1;
for(icell=0; icell <= nmx1; icell++)
{
j = iord1[icell];
id2 = j/kNDIMX;
id1 = j-id2*kNDIMX;
if(fInfocl[0][id1][id2] == 0 )
{
icl++;
numcell = 0;
cellcount++;
fInfocl[0][id1][id2] = 1;
fInfocl[1][id1][id2] = icl;
fInfcl[0][cellcount] = icl;
fInfcl[1][cellcount] = id1;
fInfcl[2][cellcount] = id2;
clust[0][numcell] = id1;
clust[1][numcell] = id2;
for(i = 1; i < 5000; i++)
{
clust[0][i] = -1;
}
for(i = 0; i < 6; i++)
{
jd1 = id1 + neibx[i];
jd2 = id2 + neiby[i];
if( (jd1 >= 0 && jd1 < kNDIMX) && (jd2 >= 0 && jd2 < kNDIMY) &&
fInfocl[0][jd1][jd2] == 0)
{
numcell++;
fInfocl[0][jd1][jd2] = 2;
fInfocl[1][jd1][jd2] = icl;
clust[0][numcell] = jd1;
clust[1][numcell] = jd2;
cellcount++;
fInfcl[0][cellcount] = icl;
fInfcl[1][cellcount] = jd1;
fInfcl[2][cellcount] = jd2;
}
}
for(i = 1;i < 5000; i++)
{
if(clust[0][i] != -1)
{
id1 = clust[0][i];
id2 = clust[1][i];
for(j = 0; j < 6 ; j++)
{
jd1 = id1 + neibx[j];
jd2 = id2 + neiby[j];
if( (jd1 >= 0 && jd1 < kNDIMX) &&
(jd2 >= 0 && jd2 < kNDIMY)
&& fInfocl[0][jd1][jd2] == 0 )
{
fInfocl[0][jd1][jd2] = 2;
fInfocl[1][jd1][jd2] = icl;
numcell++;
clust[0][numcell] = jd1;
clust[1][numcell] = jd2;
cellcount++;
fInfcl[0][cellcount] = icl;
fInfcl[1][cellcount] = jd1;
fInfcl[2][cellcount] = jd2;
}
}
}
}
}
}
return cellcount;
}
void AliPMDClusteringV2::RefClust(Int_t incr, Double_t edepcell[])
{
const Float_t ktwobysqrt3 = 1.1547;
const Int_t kNmaxCell = 19;
AliPMDcludata *pmdcludata = 0;
Int_t i12 = 0;
Int_t i = 0, j = 0, k = 0;
Int_t i1 = 0, i2 = 0, id = 0, icl = 0, itest = 0, ihld = 0;
Int_t ig = 0, nsupcl = 0, clno = 0, clX = 0, clY = 0;
Int_t clxy[kNmaxCell];
Float_t clusdata[6] = {0.,0.,0.,0.,0.,0.};
Double_t x1 = 0., y1 = 0., z1 = 0., x2 = 0., y2 = 0., z2 = 0., rr = 0.;
Int_t kndim = incr + 1;
TArrayI testncl;
TArrayI testindex;
Int_t *ncl, *iord;
Double_t *x, *y, *z, *xc, *yc, *zc, *cells, *rcl, *rcs;
ncl = new Int_t [kndim];
iord = new Int_t [kndim];
x = new Double_t [kndim];
y = new Double_t [kndim];
z = new Double_t [kndim];
xc = new Double_t [kndim];
yc = new Double_t [kndim];
zc = new Double_t [kndim];
cells = new Double_t [kndim];
rcl = new Double_t [kndim];
rcs = new Double_t [kndim];
for(Int_t kk = 0; kk < 15; kk++)
{
if( kk < 6 )clusdata[kk] = 0.;
}
clno = -1;
nsupcl = -1;
for(i = 0; i < kndim; i++)
{
ncl[i] = -1;
}
for(i = 0; i <= incr; i++)
{
if(fInfcl[0][i] != nsupcl)
{
nsupcl++;
}
if (nsupcl > 4500)
{
AliWarning("RefClust: Too many superclusters!");
nsupcl = 4500;
break;
}
ncl[nsupcl]++;
}
AliDebug(1,Form("Number of cells = %d Number of Superclusters = %d",
incr+1,nsupcl+1));
id = -1;
icl = -1;
for(i = 0; i <= nsupcl; i++)
{
if(ncl[i] == 0)
{
id++;
icl++;
if (clno >= 5000)
{
AliWarning("RefClust: Too many clusters! more than 5000");
return;
}
clno++;
i1 = fInfcl[1][id];
i2 = fInfcl[2][id];
i12 = i1 + i2*kNDIMX;
clusdata[0] = fCoord[0][i1][i2];
clusdata[1] = fCoord[1][i1][i2];
clusdata[2] = edepcell[i12];
clusdata[3] = 1.;
clusdata[4] = 0.0;
clusdata[5] = 0.0;
clY = (Int_t)((ktwobysqrt3*fCoord[1][i1][i2])*10);
clX = (Int_t)((fCoord[0][i1][i2] - clY/20.)*10);
clxy[0] = clX*10000 + clY ;
for(Int_t icltr = 1; icltr < kNmaxCell; icltr++)
{
clxy[icltr] = -1;
}
pmdcludata = new AliPMDcludata(clusdata,clxy);
fPMDclucont->Add(pmdcludata);
}
else if(ncl[i] == 1)
{
id++;
icl++;
if (clno >= 5000)
{
AliWarning("RefClust: Too many clusters! more than 5000");
return;
}
clno++;
i1 = fInfcl[1][id];
i2 = fInfcl[2][id];
i12 = i1 + i2*kNDIMX;
x1 = fCoord[0][i1][i2];
y1 = fCoord[1][i1][i2];
z1 = edepcell[i12];
id++;
i1 = fInfcl[1][id];
i2 = fInfcl[2][id];
i12 = i1 + i2*kNDIMX;
x2 = fCoord[0][i1][i2];
y2 = fCoord[1][i1][i2];
z2 = edepcell[i12];
clusdata[0] = (x1*z1+x2*z2)/(z1+z2);
clusdata[1] = (y1*z1+y2*z2)/(z1+z2);
clusdata[2] = z1+z2;
clusdata[3] = 2.;
clusdata[4] = (TMath::Sqrt(z1*z2))/(z1+z2);
clusdata[5] = 0.0;
clY = (Int_t)((ktwobysqrt3*y1)*10);
clX = (Int_t)((x1 - clY/20.)*10);
clxy[0] = clX*10000 + clY ;
clY = (Int_t)((ktwobysqrt3*y2)*10);
clX = (Int_t)((x2 - clY/20.)*10);
clxy[1] = clX*10000 + clY ;
for(Int_t icltr = 2; icltr < kNmaxCell; icltr++)
{
clxy[icltr] = -1;
}
pmdcludata = new AliPMDcludata(clusdata, clxy);
fPMDclucont->Add(pmdcludata);
}
else{
id++;
iord[0] = 0;
i1 = fInfcl[1][id];
i2 = fInfcl[2][id];
i12 = i1 + i2*kNDIMX;
x[0] = fCoord[0][i1][i2];
y[0] = fCoord[1][i1][i2];
z[0] = edepcell[i12];
iord[0] = 0;
for(j = 1; j <= ncl[i]; j++)
{
id++;
i1 = fInfcl[1][id];
i2 = fInfcl[2][id];
i12 = i1 + i2*kNDIMX;
iord[j] = j;
x[j] = fCoord[0][i1][i2];
y[j] = fCoord[1][i1][i2];
z[j] = edepcell[i12];
}
for(j = 1; j <= ncl[i];j++)
{
itest = 0;
ihld = iord[j];
for(i1 = 0; i1 < j; i1++)
{
if(itest == 0 && z[iord[i1]] < z[ihld])
{
itest = 1;
for(i2 = j-1;i2 >= i1;i2--)
{
iord[i2+1] = iord[i2];
}
iord[i1] = ihld;
}
}
}
ig = 0;
xc[ig] = x[iord[0]];
yc[ig] = y[iord[0]];
zc[ig] = z[iord[0]];
for(j = 1; j <= ncl[i]; j++)
{
itest = -1;
x1 = x[iord[j]];
y1 = y[iord[j]];
for(k = 0; k <= ig; k++)
{
x2 = xc[k];
y2 = yc[k];
rr = Distance(x1,y1,x2,y2);
if( rr >= 1.1 && rr < 1.8 && z[iord[j]] > zc[k]/4.) itest++;
if( rr >= 1.8 && rr < 2.1 && z[iord[j]] > zc[k]/10.) itest++;
if( rr >= 2.1)itest++;
}
if(itest == ig)
{
ig++;
xc[ig] = x1;
yc[ig] = y1;
zc[ig] = z[iord[j]];
}
}
ClustDetails(ncl[i], ig, x, y ,z, xc, yc, zc, rcl, rcs, cells,
testncl, testindex);
Int_t pp = 0;
for(j = 0; j <= ig; j++)
{
clno++;
if (clno >= 5000)
{
AliWarning("RefClust: Too many clusters! more than 5000");
return;
}
clusdata[0] = xc[j];
clusdata[1] = yc[j];
clusdata[2] = zc[j];
clusdata[4] = rcl[j];
clusdata[5] = rcs[j];
if(ig == 0)
{
clusdata[3] = ncl[i] + 1;
}
else
{
clusdata[3] = cells[j];
}
Int_t ncellcls = testncl[j];
if( ncellcls < kNmaxCell )
{
for(Int_t kk = 1; kk <= ncellcls; kk++)
{
Int_t ll = testindex[pp];
clY = (Int_t)((ktwobysqrt3*y[ll])*10);
clX = (Int_t)((x[ll] - clY/20.)*10);
clxy[kk-1] = clX*10000 + clY ;
pp++;
}
for(Int_t icltr = ncellcls ; icltr < kNmaxCell; icltr++)
{
clxy[icltr] = -1;
}
}
pmdcludata = new AliPMDcludata(clusdata, clxy);
fPMDclucont->Add(pmdcludata);
}
testncl.Set(0);
testindex.Set(0);
}
}
delete [] ncl;
delete [] iord;
delete [] x;
delete [] y;
delete [] z;
delete [] xc;
delete [] yc;
delete [] zc;
delete [] cells;
delete [] rcl;
delete [] rcs;
}
void AliPMDClusteringV2::ClustDetails(Int_t ncell, Int_t nclust, Double_t x[],
Double_t y[], Double_t z[],Double_t xc[],
Double_t yc[], Double_t zc[],
Double_t rcl[], Double_t rcs[],
Double_t cells[], TArrayI &testncl,
TArrayI &testindex)
{
Int_t kndim1 = ncell + 1;
Int_t kndim2 = 20;
Int_t kndim3 = nclust + 1;
Int_t i = 0, j = 0, k = 0, i1 = 0, i2 = 0;
Double_t x1 = 0., y1 = 0., x2 = 0., y2 = 0.;
Double_t rr = 0., b = 0., c = 0., r1 = 0., r2 = 0.;
Double_t sumx = 0., sumy = 0., sumxy = 0.;
Double_t sumxx = 0., sum = 0., sum1 = 0., sumyy = 0.;
Double_t *str, *str1, *xcl, *ycl, *cln;
Int_t **cell;
Int_t ** cluster;
Double_t **clustcell;
str = new Double_t [kndim3];
str1 = new Double_t [kndim3];
xcl = new Double_t [kndim3];
ycl = new Double_t [kndim3];
cln = new Double_t [kndim3];
clustcell = new Double_t *[kndim3];
cell = new Int_t *[kndim3];
cluster = new Int_t *[kndim1];
for(i = 0; i < kndim1; i++)
{
cluster[i] = new Int_t [kndim2];
}
for(i = 0; i < kndim3; i++)
{
str[i] = 0;
str1[i] = 0;
xcl[i] = 0;
ycl[i] = 0;
cln[i] = 0;
cell[i] = new Int_t [kndim2];
clustcell[i] = new Double_t [kndim1];
for(j = 0; j < kndim1; j++)
{
clustcell[i][j] = 0;
}
for(j = 0; j < kndim2; j++)
{
cluster[i][j] = 0;
cell[i][j] = 0;
}
}
if(nclust > 0)
{
for (i = 0; i <= ncell; i++)
{
x1 = x[i];
y1 = y[i];
cluster[i][0] = 0;
for(j = 0; j <= nclust; j++)
{
x2 = xc[j];
y2 = yc[j];
rr = Distance(x1, y1, x2, y2);
if(rr <= 1.)
{
cluster[i][0]++;
i1 = cluster[i][0];
cluster[i][i1] = j;
}
}
if(cluster[i][0] == 0)
{
for(j=0; j<=nclust; j++)
{
x2 = xc[j];
y2 = yc[j];
rr = Distance(x1, y1, x2, y2);
if(rr <= TMath::Sqrt(3.))
{
cluster[i][0]++;
i1 = cluster[i][0];
cluster[i][i1] = j;
}
}
}
if(cluster[i][0] == 0)
{
for(j=0; j<=nclust; j++)
{
x2 = xc[j];
y2 = yc[j];
rr = Distance(x1, y1, x2, y2);
if(rr <= 2.)
{
cluster[i][0]++;
i1 = cluster[i][0];
cluster[i][i1] = j;
}
}
}
if(cluster[i][0] == 0)
{
for(j = 0; j <= nclust; j++)
{
x2 = xc[j];
y2 = yc[j];
rr = Distance(x1, y1, x2, y2);
if(rr <= 2.7)
{
cluster[i][0]++;
i1 = cluster[i][0];
cluster[i][i1] = j;
}
}
}
}
for(i = 0; i <= ncell; i++)
{
if(cluster[i][0] != 0)
{
i1 = cluster[i][0];
for(j = 1; j <= i1; j++)
{
i2 = cluster[i][j];
str[i2] += z[i]/i1;
}
}
}
for(k = 0; k < 5; k++)
{
for(i = 0; i <= ncell; i++)
{
if(cluster[i][0] != 0)
{
i1=cluster[i][0];
sum=0.;
for(j = 1; j <= i1; j++)
{
sum += str[cluster[i][j]];
}
for(j = 1; j <= i1; j++)
{
i2 = cluster[i][j];
str1[i2] += z[i]*str[i2]/sum;
clustcell[i2][i] = z[i]*str[i2]/sum;
}
}
}
for(j = 0; j <= nclust; j++)
{
str[j] = str1[j];
str1[j] = 0.;
}
}
for(i = 0; i <= nclust; i++)
{
sumx = 0.;
sumy = 0.;
sum = 0.;
sum1 = 0.;
for(j = 0; j <= ncell; j++)
{
if(clustcell[i][j] != 0)
{
sumx += clustcell[i][j]*x[j];
sumy += clustcell[i][j]*y[j];
sum += clustcell[i][j];
sum1 += clustcell[i][j]/z[j];
}
}
xcl[i] = sumx/sum;
ycl[i] = sumy/sum;
cln[i] = sum1;
sumxx = 0.;
sumyy = 0.;
sumxy = 0.;
for(j = 0; j <= ncell; j++)
{
sumxx += clustcell[i][j]*(x[j]-xcl[i])*(x[j]-xcl[i])/sum;
sumyy += clustcell[i][j]*(y[j]-ycl[i])*(y[j]-ycl[i])/sum;
sumxy += clustcell[i][j]*(x[j]-xcl[i])*(y[j]-ycl[i])/sum;
}
b = sumxx+sumyy;
c = sumxx*sumyy-sumxy*sumxy;
r1 = b/2.+TMath::Sqrt(b*b/4.-c);
r2 = b/2.-TMath::Sqrt(b*b/4.-c);
xc[i] = xcl[i];
yc[i] = ycl[i];
zc[i] = str[i];
cells[i] = cln[i];
rcl[i] = r1;
rcs[i] = r2;
}
for(Int_t ii=0; ii<= ncell; ii++)
{
Int_t jj = cluster[ii][0];
for(Int_t kk=1; kk<= jj; kk++)
{
Int_t ll = cluster[ii][kk];
cell[ll][0]++;
cell[ll][cell[ll][0]] = ii;
}
}
testncl.Set(nclust+1);
Int_t counter = 0;
for(Int_t ii=0; ii <= nclust; ii++)
{
testncl[ii] = cell[ii][0];
counter += testncl[ii];
}
testindex.Set(counter);
Int_t ll = 0;
for(Int_t ii=0; ii<= nclust; ii++)
{
for(Int_t jj = 1; jj<= testncl[ii]; jj++)
{
Int_t kk = cell[ii][jj];
testindex[ll] = kk;
ll++;
}
}
}
else if(nclust == 0)
{
sumx = 0.;
sumy = 0.;
sum = 0.;
sum1 = 0.;
i = 0;
for(j = 0; j <= ncell; j++)
{
sumx += z[j]*x[j];
sumy += z[j]*y[j];
sum += z[j];
sum1++;
}
xcl[i] = sumx/sum;
ycl[i] = sumy/sum;
cln[i] = sum1;
sumxx = 0.;
sumyy = 0.;
sumxy = 0.;
for(j = 0; j <= ncell; j++)
{
sumxx += clustcell[i][j]*(x[j]-xcl[i])*(x[j]-xcl[i])/sum;
sumyy += clustcell[i][j]*(y[j]-ycl[i])*(y[j]-ycl[i])/sum;
sumxy += clustcell[i][j]*(x[j]-xcl[i])*(y[j]-ycl[i])/sum;
}
b = sumxx+sumyy;
c = sumxx*sumyy-sumxy*sumxy;
r1 = b/2.+ TMath::Sqrt(b*b/4.-c);
r2 = b/2.- TMath::Sqrt(b*b/4.-c);
testncl.Set(nclust+1);
testindex.Set(ncell+1);
cell[0][0] = ncell + 1;
testncl[0] = cell[0][0];
Int_t ll = 0;
for(Int_t ii = 1; ii <= ncell; ii++)
{
cell[0][ii]=ii;
Int_t kk = cell[0][ii];
testindex[ll] = kk;
ll++;
}
xc[i] = xcl[i];
yc[i] = ycl[i];
zc[i] = sum;
cells[i] = cln[i];
rcl[i] = r1;
rcs[i] = r2;
}
for(i = 0; i < kndim3; i++)
{
delete [] clustcell[i];
delete [] cell[i];
}
delete [] clustcell;
delete [] cell;
for(i = 0; i <kndim1 ; i++)
{
delete [] cluster[i];
}
delete [] cluster;
delete [] str;
delete [] str1;
delete [] xcl;
delete [] ycl;
delete [] cln;
}
Double_t AliPMDClusteringV2::Distance(Double_t x1, Double_t y1,
Double_t x2, Double_t y2)
{
return TMath::Sqrt((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2));
}
void AliPMDClusteringV2::SetEdepCut(Float_t decut)
{
fCutoff = decut;
}
void AliPMDClusteringV2::SetClusteringParam(Int_t cluspar)
{
fClusParam = cluspar;
}
AliPMDClusteringV2.cxx:10 AliPMDClusteringV2.cxx:11 AliPMDClusteringV2.cxx:12 AliPMDClusteringV2.cxx:13 AliPMDClusteringV2.cxx:14 AliPMDClusteringV2.cxx:15 AliPMDClusteringV2.cxx:16 AliPMDClusteringV2.cxx:17 AliPMDClusteringV2.cxx:18 AliPMDClusteringV2.cxx:19 AliPMDClusteringV2.cxx:20 AliPMDClusteringV2.cxx:21 AliPMDClusteringV2.cxx:22 AliPMDClusteringV2.cxx:23 AliPMDClusteringV2.cxx:24 AliPMDClusteringV2.cxx:25 AliPMDClusteringV2.cxx:26 AliPMDClusteringV2.cxx:27 AliPMDClusteringV2.cxx:28 AliPMDClusteringV2.cxx:29 AliPMDClusteringV2.cxx:30 AliPMDClusteringV2.cxx:31 AliPMDClusteringV2.cxx:32 AliPMDClusteringV2.cxx:33 AliPMDClusteringV2.cxx:34 AliPMDClusteringV2.cxx:35 AliPMDClusteringV2.cxx:36 AliPMDClusteringV2.cxx:37 AliPMDClusteringV2.cxx:38 AliPMDClusteringV2.cxx:39 AliPMDClusteringV2.cxx:40 AliPMDClusteringV2.cxx:41 AliPMDClusteringV2.cxx:42 AliPMDClusteringV2.cxx:43 AliPMDClusteringV2.cxx:44 AliPMDClusteringV2.cxx:45 AliPMDClusteringV2.cxx:46 AliPMDClusteringV2.cxx:47 AliPMDClusteringV2.cxx:48 AliPMDClusteringV2.cxx:49 AliPMDClusteringV2.cxx:50 AliPMDClusteringV2.cxx:51 AliPMDClusteringV2.cxx:52 AliPMDClusteringV2.cxx:53 AliPMDClusteringV2.cxx:54 AliPMDClusteringV2.cxx:55 AliPMDClusteringV2.cxx:56 AliPMDClusteringV2.cxx:57 AliPMDClusteringV2.cxx:58 AliPMDClusteringV2.cxx:59 AliPMDClusteringV2.cxx:60 AliPMDClusteringV2.cxx:61 AliPMDClusteringV2.cxx:62 AliPMDClusteringV2.cxx:63 AliPMDClusteringV2.cxx:64 AliPMDClusteringV2.cxx:65 AliPMDClusteringV2.cxx:66 AliPMDClusteringV2.cxx:67 AliPMDClusteringV2.cxx:68 AliPMDClusteringV2.cxx:69 AliPMDClusteringV2.cxx:70 AliPMDClusteringV2.cxx:71 AliPMDClusteringV2.cxx:72 AliPMDClusteringV2.cxx:73 AliPMDClusteringV2.cxx:74 AliPMDClusteringV2.cxx:75 AliPMDClusteringV2.cxx:76 AliPMDClusteringV2.cxx:77 AliPMDClusteringV2.cxx:78 AliPMDClusteringV2.cxx:79 AliPMDClusteringV2.cxx:80 AliPMDClusteringV2.cxx:81 AliPMDClusteringV2.cxx:82 AliPMDClusteringV2.cxx:83 AliPMDClusteringV2.cxx:84 AliPMDClusteringV2.cxx:85 AliPMDClusteringV2.cxx:86 AliPMDClusteringV2.cxx:87 AliPMDClusteringV2.cxx:88 AliPMDClusteringV2.cxx:89 AliPMDClusteringV2.cxx:90 AliPMDClusteringV2.cxx:91 AliPMDClusteringV2.cxx:92 AliPMDClusteringV2.cxx:93 AliPMDClusteringV2.cxx:94 AliPMDClusteringV2.cxx:95 AliPMDClusteringV2.cxx:96 AliPMDClusteringV2.cxx:97 AliPMDClusteringV2.cxx:98 AliPMDClusteringV2.cxx:99 AliPMDClusteringV2.cxx:100 AliPMDClusteringV2.cxx:101 AliPMDClusteringV2.cxx:102 AliPMDClusteringV2.cxx:103 AliPMDClusteringV2.cxx:104 AliPMDClusteringV2.cxx:105 AliPMDClusteringV2.cxx:106 AliPMDClusteringV2.cxx:107 AliPMDClusteringV2.cxx:108 AliPMDClusteringV2.cxx:109 AliPMDClusteringV2.cxx:110 AliPMDClusteringV2.cxx:111 AliPMDClusteringV2.cxx:112 AliPMDClusteringV2.cxx:113 AliPMDClusteringV2.cxx:114 AliPMDClusteringV2.cxx:115 AliPMDClusteringV2.cxx:116 AliPMDClusteringV2.cxx:117 AliPMDClusteringV2.cxx:118 AliPMDClusteringV2.cxx:119 AliPMDClusteringV2.cxx:120 AliPMDClusteringV2.cxx:121 AliPMDClusteringV2.cxx:122 AliPMDClusteringV2.cxx:123 AliPMDClusteringV2.cxx:124 AliPMDClusteringV2.cxx:125 AliPMDClusteringV2.cxx:126 AliPMDClusteringV2.cxx:127 AliPMDClusteringV2.cxx:128 AliPMDClusteringV2.cxx:129 AliPMDClusteringV2.cxx:130 AliPMDClusteringV2.cxx:131 AliPMDClusteringV2.cxx:132 AliPMDClusteringV2.cxx:133 AliPMDClusteringV2.cxx:134 AliPMDClusteringV2.cxx:135 AliPMDClusteringV2.cxx:136 AliPMDClusteringV2.cxx:137 AliPMDClusteringV2.cxx:138 AliPMDClusteringV2.cxx:139 AliPMDClusteringV2.cxx:140 AliPMDClusteringV2.cxx:141 AliPMDClusteringV2.cxx:142 AliPMDClusteringV2.cxx:143 AliPMDClusteringV2.cxx:144 AliPMDClusteringV2.cxx:145 AliPMDClusteringV2.cxx:146 AliPMDClusteringV2.cxx:147 AliPMDClusteringV2.cxx:148 AliPMDClusteringV2.cxx:149 AliPMDClusteringV2.cxx:150 AliPMDClusteringV2.cxx:151 AliPMDClusteringV2.cxx:152 AliPMDClusteringV2.cxx:153 AliPMDClusteringV2.cxx:154 AliPMDClusteringV2.cxx:155 AliPMDClusteringV2.cxx:156 AliPMDClusteringV2.cxx:157 AliPMDClusteringV2.cxx:158 AliPMDClusteringV2.cxx:159 AliPMDClusteringV2.cxx:160 AliPMDClusteringV2.cxx:161 AliPMDClusteringV2.cxx:162 AliPMDClusteringV2.cxx:163 AliPMDClusteringV2.cxx:164 AliPMDClusteringV2.cxx:165 AliPMDClusteringV2.cxx:166 AliPMDClusteringV2.cxx:167 AliPMDClusteringV2.cxx:168 AliPMDClusteringV2.cxx:169 AliPMDClusteringV2.cxx:170 AliPMDClusteringV2.cxx:171 AliPMDClusteringV2.cxx:172 AliPMDClusteringV2.cxx:173 AliPMDClusteringV2.cxx:174 AliPMDClusteringV2.cxx:175 AliPMDClusteringV2.cxx:176 AliPMDClusteringV2.cxx:177 AliPMDClusteringV2.cxx:178 AliPMDClusteringV2.cxx:179 AliPMDClusteringV2.cxx:180 AliPMDClusteringV2.cxx:181 AliPMDClusteringV2.cxx:182 AliPMDClusteringV2.cxx:183 AliPMDClusteringV2.cxx:184 AliPMDClusteringV2.cxx:185 AliPMDClusteringV2.cxx:186 AliPMDClusteringV2.cxx:187 AliPMDClusteringV2.cxx:188 AliPMDClusteringV2.cxx:189 AliPMDClusteringV2.cxx:190 AliPMDClusteringV2.cxx:191 AliPMDClusteringV2.cxx:192 AliPMDClusteringV2.cxx:193 AliPMDClusteringV2.cxx:194 AliPMDClusteringV2.cxx:195 AliPMDClusteringV2.cxx:196 AliPMDClusteringV2.cxx:197 AliPMDClusteringV2.cxx:198 AliPMDClusteringV2.cxx:199 AliPMDClusteringV2.cxx:200 AliPMDClusteringV2.cxx:201 AliPMDClusteringV2.cxx:202 AliPMDClusteringV2.cxx:203 AliPMDClusteringV2.cxx:204 AliPMDClusteringV2.cxx:205 AliPMDClusteringV2.cxx:206 AliPMDClusteringV2.cxx:207 AliPMDClusteringV2.cxx:208 AliPMDClusteringV2.cxx:209 AliPMDClusteringV2.cxx:210 AliPMDClusteringV2.cxx:211 AliPMDClusteringV2.cxx:212 AliPMDClusteringV2.cxx:213 AliPMDClusteringV2.cxx:214 AliPMDClusteringV2.cxx:215 AliPMDClusteringV2.cxx:216 AliPMDClusteringV2.cxx:217 AliPMDClusteringV2.cxx:218 AliPMDClusteringV2.cxx:219 AliPMDClusteringV2.cxx:220 AliPMDClusteringV2.cxx:221 AliPMDClusteringV2.cxx:222 AliPMDClusteringV2.cxx:223 AliPMDClusteringV2.cxx:224 AliPMDClusteringV2.cxx:225 AliPMDClusteringV2.cxx:226 AliPMDClusteringV2.cxx:227 AliPMDClusteringV2.cxx:228 AliPMDClusteringV2.cxx:229 AliPMDClusteringV2.cxx:230 AliPMDClusteringV2.cxx:231 AliPMDClusteringV2.cxx:232 AliPMDClusteringV2.cxx:233 AliPMDClusteringV2.cxx:234 AliPMDClusteringV2.cxx:235 AliPMDClusteringV2.cxx:236 AliPMDClusteringV2.cxx:237 AliPMDClusteringV2.cxx:238 AliPMDClusteringV2.cxx:239 AliPMDClusteringV2.cxx:240 AliPMDClusteringV2.cxx:241 AliPMDClusteringV2.cxx:242 AliPMDClusteringV2.cxx:243 AliPMDClusteringV2.cxx:244 AliPMDClusteringV2.cxx:245 AliPMDClusteringV2.cxx:246 AliPMDClusteringV2.cxx:247 AliPMDClusteringV2.cxx:248 AliPMDClusteringV2.cxx:249 AliPMDClusteringV2.cxx:250 AliPMDClusteringV2.cxx:251 AliPMDClusteringV2.cxx:252 AliPMDClusteringV2.cxx:253 AliPMDClusteringV2.cxx:254 AliPMDClusteringV2.cxx:255 AliPMDClusteringV2.cxx:256 AliPMDClusteringV2.cxx:257 AliPMDClusteringV2.cxx:258 AliPMDClusteringV2.cxx:259 AliPMDClusteringV2.cxx:260 AliPMDClusteringV2.cxx:261 AliPMDClusteringV2.cxx:262 AliPMDClusteringV2.cxx:263 AliPMDClusteringV2.cxx:264 AliPMDClusteringV2.cxx:265 AliPMDClusteringV2.cxx:266 AliPMDClusteringV2.cxx:267 AliPMDClusteringV2.cxx:268 AliPMDClusteringV2.cxx:269 AliPMDClusteringV2.cxx:270 AliPMDClusteringV2.cxx:271 AliPMDClusteringV2.cxx:272 AliPMDClusteringV2.cxx:273 AliPMDClusteringV2.cxx:274 AliPMDClusteringV2.cxx:275 AliPMDClusteringV2.cxx:276 AliPMDClusteringV2.cxx:277 AliPMDClusteringV2.cxx:278 AliPMDClusteringV2.cxx:279 AliPMDClusteringV2.cxx:280 AliPMDClusteringV2.cxx:281 AliPMDClusteringV2.cxx:282 AliPMDClusteringV2.cxx:283 AliPMDClusteringV2.cxx:284 AliPMDClusteringV2.cxx:285 AliPMDClusteringV2.cxx:286 AliPMDClusteringV2.cxx:287 AliPMDClusteringV2.cxx:288 AliPMDClusteringV2.cxx:289 AliPMDClusteringV2.cxx:290 AliPMDClusteringV2.cxx:291 AliPMDClusteringV2.cxx:292 AliPMDClusteringV2.cxx:293 AliPMDClusteringV2.cxx:294 AliPMDClusteringV2.cxx:295 AliPMDClusteringV2.cxx:296 AliPMDClusteringV2.cxx:297 AliPMDClusteringV2.cxx:298 AliPMDClusteringV2.cxx:299 AliPMDClusteringV2.cxx:300 AliPMDClusteringV2.cxx:301 AliPMDClusteringV2.cxx:302 AliPMDClusteringV2.cxx:303 AliPMDClusteringV2.cxx:304 AliPMDClusteringV2.cxx:305 AliPMDClusteringV2.cxx:306 AliPMDClusteringV2.cxx:307 AliPMDClusteringV2.cxx:308 AliPMDClusteringV2.cxx:309 AliPMDClusteringV2.cxx:310 AliPMDClusteringV2.cxx:311 AliPMDClusteringV2.cxx:312 AliPMDClusteringV2.cxx:313 AliPMDClusteringV2.cxx:314 AliPMDClusteringV2.cxx:315 AliPMDClusteringV2.cxx:316 AliPMDClusteringV2.cxx:317 AliPMDClusteringV2.cxx:318 AliPMDClusteringV2.cxx:319 AliPMDClusteringV2.cxx:320 AliPMDClusteringV2.cxx:321 AliPMDClusteringV2.cxx:322 AliPMDClusteringV2.cxx:323 AliPMDClusteringV2.cxx:324 AliPMDClusteringV2.cxx:325 AliPMDClusteringV2.cxx:326 AliPMDClusteringV2.cxx:327 AliPMDClusteringV2.cxx:328 AliPMDClusteringV2.cxx:329 AliPMDClusteringV2.cxx:330 AliPMDClusteringV2.cxx:331 AliPMDClusteringV2.cxx:332 AliPMDClusteringV2.cxx:333 AliPMDClusteringV2.cxx:334 AliPMDClusteringV2.cxx:335 AliPMDClusteringV2.cxx:336 AliPMDClusteringV2.cxx:337 AliPMDClusteringV2.cxx:338 AliPMDClusteringV2.cxx:339 AliPMDClusteringV2.cxx:340 AliPMDClusteringV2.cxx:341 AliPMDClusteringV2.cxx:342 AliPMDClusteringV2.cxx:343 AliPMDClusteringV2.cxx:344 AliPMDClusteringV2.cxx:345 AliPMDClusteringV2.cxx:346 AliPMDClusteringV2.cxx:347 AliPMDClusteringV2.cxx:348 AliPMDClusteringV2.cxx:349 AliPMDClusteringV2.cxx:350 AliPMDClusteringV2.cxx:351 AliPMDClusteringV2.cxx:352 AliPMDClusteringV2.cxx:353 AliPMDClusteringV2.cxx:354 AliPMDClusteringV2.cxx:355 AliPMDClusteringV2.cxx:356 AliPMDClusteringV2.cxx:357 AliPMDClusteringV2.cxx:358 AliPMDClusteringV2.cxx:359 AliPMDClusteringV2.cxx:360 AliPMDClusteringV2.cxx:361 AliPMDClusteringV2.cxx:362 AliPMDClusteringV2.cxx:363 AliPMDClusteringV2.cxx:364 AliPMDClusteringV2.cxx:365 AliPMDClusteringV2.cxx:366 AliPMDClusteringV2.cxx:367 AliPMDClusteringV2.cxx:368 AliPMDClusteringV2.cxx:369 AliPMDClusteringV2.cxx:370 AliPMDClusteringV2.cxx:371 AliPMDClusteringV2.cxx:372 AliPMDClusteringV2.cxx:373 AliPMDClusteringV2.cxx:374 AliPMDClusteringV2.cxx:375 AliPMDClusteringV2.cxx:376 AliPMDClusteringV2.cxx:377 AliPMDClusteringV2.cxx:378 AliPMDClusteringV2.cxx:379 AliPMDClusteringV2.cxx:380 AliPMDClusteringV2.cxx:381 AliPMDClusteringV2.cxx:382 AliPMDClusteringV2.cxx:383 AliPMDClusteringV2.cxx:384 AliPMDClusteringV2.cxx:385 AliPMDClusteringV2.cxx:386 AliPMDClusteringV2.cxx:387 AliPMDClusteringV2.cxx:388 AliPMDClusteringV2.cxx:389 AliPMDClusteringV2.cxx:390 AliPMDClusteringV2.cxx:391 AliPMDClusteringV2.cxx:392 AliPMDClusteringV2.cxx:393 AliPMDClusteringV2.cxx:394 AliPMDClusteringV2.cxx:395 AliPMDClusteringV2.cxx:396 AliPMDClusteringV2.cxx:397 AliPMDClusteringV2.cxx:398 AliPMDClusteringV2.cxx:399 AliPMDClusteringV2.cxx:400 AliPMDClusteringV2.cxx:401 AliPMDClusteringV2.cxx:402 AliPMDClusteringV2.cxx:403 AliPMDClusteringV2.cxx:404 AliPMDClusteringV2.cxx:405 AliPMDClusteringV2.cxx:406 AliPMDClusteringV2.cxx:407 AliPMDClusteringV2.cxx:408 AliPMDClusteringV2.cxx:409 AliPMDClusteringV2.cxx:410 AliPMDClusteringV2.cxx:411 AliPMDClusteringV2.cxx:412 AliPMDClusteringV2.cxx:413 AliPMDClusteringV2.cxx:414 AliPMDClusteringV2.cxx:415 AliPMDClusteringV2.cxx:416 AliPMDClusteringV2.cxx:417 AliPMDClusteringV2.cxx:418 AliPMDClusteringV2.cxx:419 AliPMDClusteringV2.cxx:420 AliPMDClusteringV2.cxx:421 AliPMDClusteringV2.cxx:422 AliPMDClusteringV2.cxx:423 AliPMDClusteringV2.cxx:424 AliPMDClusteringV2.cxx:425 AliPMDClusteringV2.cxx:426 AliPMDClusteringV2.cxx:427 AliPMDClusteringV2.cxx:428 AliPMDClusteringV2.cxx:429 AliPMDClusteringV2.cxx:430 AliPMDClusteringV2.cxx:431 AliPMDClusteringV2.cxx:432 AliPMDClusteringV2.cxx:433 AliPMDClusteringV2.cxx:434 AliPMDClusteringV2.cxx:435 AliPMDClusteringV2.cxx:436 AliPMDClusteringV2.cxx:437 AliPMDClusteringV2.cxx:438 AliPMDClusteringV2.cxx:439 AliPMDClusteringV2.cxx:440 AliPMDClusteringV2.cxx:441 AliPMDClusteringV2.cxx:442 AliPMDClusteringV2.cxx:443 AliPMDClusteringV2.cxx:444 AliPMDClusteringV2.cxx:445 AliPMDClusteringV2.cxx:446 AliPMDClusteringV2.cxx:447 AliPMDClusteringV2.cxx:448 AliPMDClusteringV2.cxx:449 AliPMDClusteringV2.cxx:450 AliPMDClusteringV2.cxx:451 AliPMDClusteringV2.cxx:452 AliPMDClusteringV2.cxx:453 AliPMDClusteringV2.cxx:454 AliPMDClusteringV2.cxx:455 AliPMDClusteringV2.cxx:456 AliPMDClusteringV2.cxx:457 AliPMDClusteringV2.cxx:458 AliPMDClusteringV2.cxx:459 AliPMDClusteringV2.cxx:460 AliPMDClusteringV2.cxx:461 AliPMDClusteringV2.cxx:462 AliPMDClusteringV2.cxx:463 AliPMDClusteringV2.cxx:464 AliPMDClusteringV2.cxx:465 AliPMDClusteringV2.cxx:466 AliPMDClusteringV2.cxx:467 AliPMDClusteringV2.cxx:468 AliPMDClusteringV2.cxx:469 AliPMDClusteringV2.cxx:470 AliPMDClusteringV2.cxx:471 AliPMDClusteringV2.cxx:472 AliPMDClusteringV2.cxx:473 AliPMDClusteringV2.cxx:474 AliPMDClusteringV2.cxx:475 AliPMDClusteringV2.cxx:476 AliPMDClusteringV2.cxx:477 AliPMDClusteringV2.cxx:478 AliPMDClusteringV2.cxx:479 AliPMDClusteringV2.cxx:480 AliPMDClusteringV2.cxx:481 AliPMDClusteringV2.cxx:482 AliPMDClusteringV2.cxx:483 AliPMDClusteringV2.cxx:484 AliPMDClusteringV2.cxx:485 AliPMDClusteringV2.cxx:486 AliPMDClusteringV2.cxx:487 AliPMDClusteringV2.cxx:488 AliPMDClusteringV2.cxx:489 AliPMDClusteringV2.cxx:490 AliPMDClusteringV2.cxx:491 AliPMDClusteringV2.cxx:492 AliPMDClusteringV2.cxx:493 AliPMDClusteringV2.cxx:494 AliPMDClusteringV2.cxx:495 AliPMDClusteringV2.cxx:496 AliPMDClusteringV2.cxx:497 AliPMDClusteringV2.cxx:498 AliPMDClusteringV2.cxx:499 AliPMDClusteringV2.cxx:500 AliPMDClusteringV2.cxx:501 AliPMDClusteringV2.cxx:502 AliPMDClusteringV2.cxx:503 AliPMDClusteringV2.cxx:504 AliPMDClusteringV2.cxx:505 AliPMDClusteringV2.cxx:506 AliPMDClusteringV2.cxx:507 AliPMDClusteringV2.cxx:508 AliPMDClusteringV2.cxx:509 AliPMDClusteringV2.cxx:510 AliPMDClusteringV2.cxx:511 AliPMDClusteringV2.cxx:512 AliPMDClusteringV2.cxx:513 AliPMDClusteringV2.cxx:514 AliPMDClusteringV2.cxx:515 AliPMDClusteringV2.cxx:516 AliPMDClusteringV2.cxx:517 AliPMDClusteringV2.cxx:518 AliPMDClusteringV2.cxx:519 AliPMDClusteringV2.cxx:520 AliPMDClusteringV2.cxx:521 AliPMDClusteringV2.cxx:522 AliPMDClusteringV2.cxx:523 AliPMDClusteringV2.cxx:524 AliPMDClusteringV2.cxx:525 AliPMDClusteringV2.cxx:526 AliPMDClusteringV2.cxx:527 AliPMDClusteringV2.cxx:528 AliPMDClusteringV2.cxx:529 AliPMDClusteringV2.cxx:530 AliPMDClusteringV2.cxx:531 AliPMDClusteringV2.cxx:532 AliPMDClusteringV2.cxx:533 AliPMDClusteringV2.cxx:534 AliPMDClusteringV2.cxx:535 AliPMDClusteringV2.cxx:536 AliPMDClusteringV2.cxx:537 AliPMDClusteringV2.cxx:538 AliPMDClusteringV2.cxx:539 AliPMDClusteringV2.cxx:540 AliPMDClusteringV2.cxx:541 AliPMDClusteringV2.cxx:542 AliPMDClusteringV2.cxx:543 AliPMDClusteringV2.cxx:544 AliPMDClusteringV2.cxx:545 AliPMDClusteringV2.cxx:546 AliPMDClusteringV2.cxx:547 AliPMDClusteringV2.cxx:548 AliPMDClusteringV2.cxx:549 AliPMDClusteringV2.cxx:550 AliPMDClusteringV2.cxx:551 AliPMDClusteringV2.cxx:552 AliPMDClusteringV2.cxx:553 AliPMDClusteringV2.cxx:554 AliPMDClusteringV2.cxx:555 AliPMDClusteringV2.cxx:556 AliPMDClusteringV2.cxx:557 AliPMDClusteringV2.cxx:558 AliPMDClusteringV2.cxx:559 AliPMDClusteringV2.cxx:560 AliPMDClusteringV2.cxx:561 AliPMDClusteringV2.cxx:562 AliPMDClusteringV2.cxx:563 AliPMDClusteringV2.cxx:564 AliPMDClusteringV2.cxx:565 AliPMDClusteringV2.cxx:566 AliPMDClusteringV2.cxx:567 AliPMDClusteringV2.cxx:568 AliPMDClusteringV2.cxx:569 AliPMDClusteringV2.cxx:570 AliPMDClusteringV2.cxx:571 AliPMDClusteringV2.cxx:572 AliPMDClusteringV2.cxx:573 AliPMDClusteringV2.cxx:574 AliPMDClusteringV2.cxx:575 AliPMDClusteringV2.cxx:576 AliPMDClusteringV2.cxx:577 AliPMDClusteringV2.cxx:578 AliPMDClusteringV2.cxx:579 AliPMDClusteringV2.cxx:580 AliPMDClusteringV2.cxx:581 AliPMDClusteringV2.cxx:582 AliPMDClusteringV2.cxx:583 AliPMDClusteringV2.cxx:584 AliPMDClusteringV2.cxx:585 AliPMDClusteringV2.cxx:586 AliPMDClusteringV2.cxx:587 AliPMDClusteringV2.cxx:588 AliPMDClusteringV2.cxx:589 AliPMDClusteringV2.cxx:590 AliPMDClusteringV2.cxx:591 AliPMDClusteringV2.cxx:592 AliPMDClusteringV2.cxx:593 AliPMDClusteringV2.cxx:594 AliPMDClusteringV2.cxx:595 AliPMDClusteringV2.cxx:596 AliPMDClusteringV2.cxx:597 AliPMDClusteringV2.cxx:598 AliPMDClusteringV2.cxx:599 AliPMDClusteringV2.cxx:600 AliPMDClusteringV2.cxx:601 AliPMDClusteringV2.cxx:602 AliPMDClusteringV2.cxx:603 AliPMDClusteringV2.cxx:604 AliPMDClusteringV2.cxx:605 AliPMDClusteringV2.cxx:606 AliPMDClusteringV2.cxx:607 AliPMDClusteringV2.cxx:608 AliPMDClusteringV2.cxx:609 AliPMDClusteringV2.cxx:610 AliPMDClusteringV2.cxx:611 AliPMDClusteringV2.cxx:612 AliPMDClusteringV2.cxx:613 AliPMDClusteringV2.cxx:614 AliPMDClusteringV2.cxx:615 AliPMDClusteringV2.cxx:616 AliPMDClusteringV2.cxx:617 AliPMDClusteringV2.cxx:618 AliPMDClusteringV2.cxx:619 AliPMDClusteringV2.cxx:620 AliPMDClusteringV2.cxx:621 AliPMDClusteringV2.cxx:622 AliPMDClusteringV2.cxx:623 AliPMDClusteringV2.cxx:624 AliPMDClusteringV2.cxx:625 AliPMDClusteringV2.cxx:626 AliPMDClusteringV2.cxx:627 AliPMDClusteringV2.cxx:628 AliPMDClusteringV2.cxx:629 AliPMDClusteringV2.cxx:630 AliPMDClusteringV2.cxx:631 AliPMDClusteringV2.cxx:632 AliPMDClusteringV2.cxx:633 AliPMDClusteringV2.cxx:634 AliPMDClusteringV2.cxx:635 AliPMDClusteringV2.cxx:636 AliPMDClusteringV2.cxx:637 AliPMDClusteringV2.cxx:638 AliPMDClusteringV2.cxx:639 AliPMDClusteringV2.cxx:640 AliPMDClusteringV2.cxx:641 AliPMDClusteringV2.cxx:642 AliPMDClusteringV2.cxx:643 AliPMDClusteringV2.cxx:644 AliPMDClusteringV2.cxx:645 AliPMDClusteringV2.cxx:646 AliPMDClusteringV2.cxx:647 AliPMDClusteringV2.cxx:648 AliPMDClusteringV2.cxx:649 AliPMDClusteringV2.cxx:650 AliPMDClusteringV2.cxx:651 AliPMDClusteringV2.cxx:652 AliPMDClusteringV2.cxx:653 AliPMDClusteringV2.cxx:654 AliPMDClusteringV2.cxx:655 AliPMDClusteringV2.cxx:656 AliPMDClusteringV2.cxx:657 AliPMDClusteringV2.cxx:658 AliPMDClusteringV2.cxx:659 AliPMDClusteringV2.cxx:660 AliPMDClusteringV2.cxx:661 AliPMDClusteringV2.cxx:662 AliPMDClusteringV2.cxx:663 AliPMDClusteringV2.cxx:664 AliPMDClusteringV2.cxx:665 AliPMDClusteringV2.cxx:666 AliPMDClusteringV2.cxx:667 AliPMDClusteringV2.cxx:668 AliPMDClusteringV2.cxx:669 AliPMDClusteringV2.cxx:670 AliPMDClusteringV2.cxx:671 AliPMDClusteringV2.cxx:672 AliPMDClusteringV2.cxx:673 AliPMDClusteringV2.cxx:674 AliPMDClusteringV2.cxx:675 AliPMDClusteringV2.cxx:676 AliPMDClusteringV2.cxx:677 AliPMDClusteringV2.cxx:678 AliPMDClusteringV2.cxx:679 AliPMDClusteringV2.cxx:680 AliPMDClusteringV2.cxx:681 AliPMDClusteringV2.cxx:682 AliPMDClusteringV2.cxx:683 AliPMDClusteringV2.cxx:684 AliPMDClusteringV2.cxx:685 AliPMDClusteringV2.cxx:686 AliPMDClusteringV2.cxx:687 AliPMDClusteringV2.cxx:688 AliPMDClusteringV2.cxx:689 AliPMDClusteringV2.cxx:690 AliPMDClusteringV2.cxx:691 AliPMDClusteringV2.cxx:692 AliPMDClusteringV2.cxx:693 AliPMDClusteringV2.cxx:694 AliPMDClusteringV2.cxx:695 AliPMDClusteringV2.cxx:696 AliPMDClusteringV2.cxx:697 AliPMDClusteringV2.cxx:698 AliPMDClusteringV2.cxx:699 AliPMDClusteringV2.cxx:700 AliPMDClusteringV2.cxx:701 AliPMDClusteringV2.cxx:702 AliPMDClusteringV2.cxx:703 AliPMDClusteringV2.cxx:704 AliPMDClusteringV2.cxx:705 AliPMDClusteringV2.cxx:706 AliPMDClusteringV2.cxx:707 AliPMDClusteringV2.cxx:708 AliPMDClusteringV2.cxx:709 AliPMDClusteringV2.cxx:710 AliPMDClusteringV2.cxx:711 AliPMDClusteringV2.cxx:712 AliPMDClusteringV2.cxx:713 AliPMDClusteringV2.cxx:714 AliPMDClusteringV2.cxx:715 AliPMDClusteringV2.cxx:716 AliPMDClusteringV2.cxx:717 AliPMDClusteringV2.cxx:718 AliPMDClusteringV2.cxx:719 AliPMDClusteringV2.cxx:720 AliPMDClusteringV2.cxx:721 AliPMDClusteringV2.cxx:722 AliPMDClusteringV2.cxx:723 AliPMDClusteringV2.cxx:724 AliPMDClusteringV2.cxx:725 AliPMDClusteringV2.cxx:726 AliPMDClusteringV2.cxx:727 AliPMDClusteringV2.cxx:728 AliPMDClusteringV2.cxx:729 AliPMDClusteringV2.cxx:730 AliPMDClusteringV2.cxx:731 AliPMDClusteringV2.cxx:732 AliPMDClusteringV2.cxx:733 AliPMDClusteringV2.cxx:734 AliPMDClusteringV2.cxx:735 AliPMDClusteringV2.cxx:736 AliPMDClusteringV2.cxx:737 AliPMDClusteringV2.cxx:738 AliPMDClusteringV2.cxx:739 AliPMDClusteringV2.cxx:740 AliPMDClusteringV2.cxx:741 AliPMDClusteringV2.cxx:742 AliPMDClusteringV2.cxx:743 AliPMDClusteringV2.cxx:744 AliPMDClusteringV2.cxx:745 AliPMDClusteringV2.cxx:746 AliPMDClusteringV2.cxx:747 AliPMDClusteringV2.cxx:748 AliPMDClusteringV2.cxx:749 AliPMDClusteringV2.cxx:750 AliPMDClusteringV2.cxx:751 AliPMDClusteringV2.cxx:752 AliPMDClusteringV2.cxx:753 AliPMDClusteringV2.cxx:754 AliPMDClusteringV2.cxx:755 AliPMDClusteringV2.cxx:756 AliPMDClusteringV2.cxx:757 AliPMDClusteringV2.cxx:758 AliPMDClusteringV2.cxx:759 AliPMDClusteringV2.cxx:760 AliPMDClusteringV2.cxx:761 AliPMDClusteringV2.cxx:762 AliPMDClusteringV2.cxx:763 AliPMDClusteringV2.cxx:764 AliPMDClusteringV2.cxx:765 AliPMDClusteringV2.cxx:766 AliPMDClusteringV2.cxx:767 AliPMDClusteringV2.cxx:768 AliPMDClusteringV2.cxx:769 AliPMDClusteringV2.cxx:770 AliPMDClusteringV2.cxx:771 AliPMDClusteringV2.cxx:772 AliPMDClusteringV2.cxx:773 AliPMDClusteringV2.cxx:774 AliPMDClusteringV2.cxx:775 AliPMDClusteringV2.cxx:776 AliPMDClusteringV2.cxx:777 AliPMDClusteringV2.cxx:778 AliPMDClusteringV2.cxx:779 AliPMDClusteringV2.cxx:780 AliPMDClusteringV2.cxx:781 AliPMDClusteringV2.cxx:782 AliPMDClusteringV2.cxx:783 AliPMDClusteringV2.cxx:784 AliPMDClusteringV2.cxx:785 AliPMDClusteringV2.cxx:786 AliPMDClusteringV2.cxx:787 AliPMDClusteringV2.cxx:788 AliPMDClusteringV2.cxx:789 AliPMDClusteringV2.cxx:790 AliPMDClusteringV2.cxx:791 AliPMDClusteringV2.cxx:792 AliPMDClusteringV2.cxx:793 AliPMDClusteringV2.cxx:794 AliPMDClusteringV2.cxx:795 AliPMDClusteringV2.cxx:796 AliPMDClusteringV2.cxx:797 AliPMDClusteringV2.cxx:798 AliPMDClusteringV2.cxx:799 AliPMDClusteringV2.cxx:800 AliPMDClusteringV2.cxx:801 AliPMDClusteringV2.cxx:802 AliPMDClusteringV2.cxx:803 AliPMDClusteringV2.cxx:804 AliPMDClusteringV2.cxx:805 AliPMDClusteringV2.cxx:806 AliPMDClusteringV2.cxx:807 AliPMDClusteringV2.cxx:808 AliPMDClusteringV2.cxx:809 AliPMDClusteringV2.cxx:810 AliPMDClusteringV2.cxx:811 AliPMDClusteringV2.cxx:812 AliPMDClusteringV2.cxx:813 AliPMDClusteringV2.cxx:814 AliPMDClusteringV2.cxx:815 AliPMDClusteringV2.cxx:816 AliPMDClusteringV2.cxx:817 AliPMDClusteringV2.cxx:818 AliPMDClusteringV2.cxx:819 AliPMDClusteringV2.cxx:820 AliPMDClusteringV2.cxx:821 AliPMDClusteringV2.cxx:822 AliPMDClusteringV2.cxx:823 AliPMDClusteringV2.cxx:824 AliPMDClusteringV2.cxx:825 AliPMDClusteringV2.cxx:826 AliPMDClusteringV2.cxx:827 AliPMDClusteringV2.cxx:828 AliPMDClusteringV2.cxx:829 AliPMDClusteringV2.cxx:830 AliPMDClusteringV2.cxx:831 AliPMDClusteringV2.cxx:832 AliPMDClusteringV2.cxx:833 AliPMDClusteringV2.cxx:834 AliPMDClusteringV2.cxx:835 AliPMDClusteringV2.cxx:836 AliPMDClusteringV2.cxx:837 AliPMDClusteringV2.cxx:838 AliPMDClusteringV2.cxx:839 AliPMDClusteringV2.cxx:840 AliPMDClusteringV2.cxx:841 AliPMDClusteringV2.cxx:842 AliPMDClusteringV2.cxx:843 AliPMDClusteringV2.cxx:844 AliPMDClusteringV2.cxx:845 AliPMDClusteringV2.cxx:846 AliPMDClusteringV2.cxx:847 AliPMDClusteringV2.cxx:848 AliPMDClusteringV2.cxx:849 AliPMDClusteringV2.cxx:850 AliPMDClusteringV2.cxx:851 AliPMDClusteringV2.cxx:852 AliPMDClusteringV2.cxx:853 AliPMDClusteringV2.cxx:854 AliPMDClusteringV2.cxx:855 AliPMDClusteringV2.cxx:856 AliPMDClusteringV2.cxx:857 AliPMDClusteringV2.cxx:858 AliPMDClusteringV2.cxx:859 AliPMDClusteringV2.cxx:860 AliPMDClusteringV2.cxx:861 AliPMDClusteringV2.cxx:862 AliPMDClusteringV2.cxx:863 AliPMDClusteringV2.cxx:864 AliPMDClusteringV2.cxx:865 AliPMDClusteringV2.cxx:866 AliPMDClusteringV2.cxx:867 AliPMDClusteringV2.cxx:868 AliPMDClusteringV2.cxx:869 AliPMDClusteringV2.cxx:870 AliPMDClusteringV2.cxx:871 AliPMDClusteringV2.cxx:872 AliPMDClusteringV2.cxx:873 AliPMDClusteringV2.cxx:874 AliPMDClusteringV2.cxx:875 AliPMDClusteringV2.cxx:876 AliPMDClusteringV2.cxx:877 AliPMDClusteringV2.cxx:878 AliPMDClusteringV2.cxx:879 AliPMDClusteringV2.cxx:880 AliPMDClusteringV2.cxx:881 AliPMDClusteringV2.cxx:882 AliPMDClusteringV2.cxx:883 AliPMDClusteringV2.cxx:884 AliPMDClusteringV2.cxx:885 AliPMDClusteringV2.cxx:886 AliPMDClusteringV2.cxx:887 AliPMDClusteringV2.cxx:888 AliPMDClusteringV2.cxx:889 AliPMDClusteringV2.cxx:890 AliPMDClusteringV2.cxx:891 AliPMDClusteringV2.cxx:892 AliPMDClusteringV2.cxx:893 AliPMDClusteringV2.cxx:894 AliPMDClusteringV2.cxx:895 AliPMDClusteringV2.cxx:896 AliPMDClusteringV2.cxx:897 AliPMDClusteringV2.cxx:898 AliPMDClusteringV2.cxx:899 AliPMDClusteringV2.cxx:900 AliPMDClusteringV2.cxx:901 AliPMDClusteringV2.cxx:902 AliPMDClusteringV2.cxx:903 AliPMDClusteringV2.cxx:904 AliPMDClusteringV2.cxx:905 AliPMDClusteringV2.cxx:906 AliPMDClusteringV2.cxx:907 AliPMDClusteringV2.cxx:908 AliPMDClusteringV2.cxx:909 AliPMDClusteringV2.cxx:910 AliPMDClusteringV2.cxx:911 AliPMDClusteringV2.cxx:912 AliPMDClusteringV2.cxx:913 AliPMDClusteringV2.cxx:914 AliPMDClusteringV2.cxx:915 AliPMDClusteringV2.cxx:916 AliPMDClusteringV2.cxx:917 AliPMDClusteringV2.cxx:918 AliPMDClusteringV2.cxx:919 AliPMDClusteringV2.cxx:920 AliPMDClusteringV2.cxx:921 AliPMDClusteringV2.cxx:922 AliPMDClusteringV2.cxx:923 AliPMDClusteringV2.cxx:924 AliPMDClusteringV2.cxx:925 AliPMDClusteringV2.cxx:926 AliPMDClusteringV2.cxx:927 AliPMDClusteringV2.cxx:928 AliPMDClusteringV2.cxx:929 AliPMDClusteringV2.cxx:930 AliPMDClusteringV2.cxx:931 AliPMDClusteringV2.cxx:932 AliPMDClusteringV2.cxx:933 AliPMDClusteringV2.cxx:934 AliPMDClusteringV2.cxx:935 AliPMDClusteringV2.cxx:936 AliPMDClusteringV2.cxx:937 AliPMDClusteringV2.cxx:938 AliPMDClusteringV2.cxx:939 AliPMDClusteringV2.cxx:940 AliPMDClusteringV2.cxx:941 AliPMDClusteringV2.cxx:942 AliPMDClusteringV2.cxx:943 AliPMDClusteringV2.cxx:944 AliPMDClusteringV2.cxx:945 AliPMDClusteringV2.cxx:946 AliPMDClusteringV2.cxx:947 AliPMDClusteringV2.cxx:948 AliPMDClusteringV2.cxx:949 AliPMDClusteringV2.cxx:950 AliPMDClusteringV2.cxx:951 AliPMDClusteringV2.cxx:952 AliPMDClusteringV2.cxx:953 AliPMDClusteringV2.cxx:954 AliPMDClusteringV2.cxx:955 AliPMDClusteringV2.cxx:956 AliPMDClusteringV2.cxx:957 AliPMDClusteringV2.cxx:958 AliPMDClusteringV2.cxx:959 AliPMDClusteringV2.cxx:960 AliPMDClusteringV2.cxx:961 AliPMDClusteringV2.cxx:962 AliPMDClusteringV2.cxx:963 AliPMDClusteringV2.cxx:964 AliPMDClusteringV2.cxx:965 AliPMDClusteringV2.cxx:966 AliPMDClusteringV2.cxx:967 AliPMDClusteringV2.cxx:968 AliPMDClusteringV2.cxx:969 AliPMDClusteringV2.cxx:970 AliPMDClusteringV2.cxx:971 AliPMDClusteringV2.cxx:972 AliPMDClusteringV2.cxx:973 AliPMDClusteringV2.cxx:974 AliPMDClusteringV2.cxx:975 AliPMDClusteringV2.cxx:976 AliPMDClusteringV2.cxx:977 AliPMDClusteringV2.cxx:978 AliPMDClusteringV2.cxx:979 AliPMDClusteringV2.cxx:980 AliPMDClusteringV2.cxx:981 AliPMDClusteringV2.cxx:982 AliPMDClusteringV2.cxx:983 AliPMDClusteringV2.cxx:984 AliPMDClusteringV2.cxx:985 AliPMDClusteringV2.cxx:986 AliPMDClusteringV2.cxx:987 AliPMDClusteringV2.cxx:988 AliPMDClusteringV2.cxx:989 AliPMDClusteringV2.cxx:990 AliPMDClusteringV2.cxx:991 AliPMDClusteringV2.cxx:992 AliPMDClusteringV2.cxx:993 AliPMDClusteringV2.cxx:994 AliPMDClusteringV2.cxx:995 AliPMDClusteringV2.cxx:996 AliPMDClusteringV2.cxx:997 AliPMDClusteringV2.cxx:998 AliPMDClusteringV2.cxx:999 AliPMDClusteringV2.cxx:1000 AliPMDClusteringV2.cxx:1001 AliPMDClusteringV2.cxx:1002 AliPMDClusteringV2.cxx:1003 AliPMDClusteringV2.cxx:1004 AliPMDClusteringV2.cxx:1005 AliPMDClusteringV2.cxx:1006 AliPMDClusteringV2.cxx:1007 AliPMDClusteringV2.cxx:1008 AliPMDClusteringV2.cxx:1009 AliPMDClusteringV2.cxx:1010 AliPMDClusteringV2.cxx:1011 AliPMDClusteringV2.cxx:1012 AliPMDClusteringV2.cxx:1013 AliPMDClusteringV2.cxx:1014 AliPMDClusteringV2.cxx:1015 AliPMDClusteringV2.cxx:1016 AliPMDClusteringV2.cxx:1017 AliPMDClusteringV2.cxx:1018 AliPMDClusteringV2.cxx:1019 AliPMDClusteringV2.cxx:1020 AliPMDClusteringV2.cxx:1021 AliPMDClusteringV2.cxx:1022 AliPMDClusteringV2.cxx:1023 AliPMDClusteringV2.cxx:1024 AliPMDClusteringV2.cxx:1025 AliPMDClusteringV2.cxx:1026 AliPMDClusteringV2.cxx:1027 AliPMDClusteringV2.cxx:1028 AliPMDClusteringV2.cxx:1029 AliPMDClusteringV2.cxx:1030 AliPMDClusteringV2.cxx:1031 AliPMDClusteringV2.cxx:1032 AliPMDClusteringV2.cxx:1033 AliPMDClusteringV2.cxx:1034 AliPMDClusteringV2.cxx:1035 AliPMDClusteringV2.cxx:1036 AliPMDClusteringV2.cxx:1037 AliPMDClusteringV2.cxx:1038 AliPMDClusteringV2.cxx:1039 AliPMDClusteringV2.cxx:1040 AliPMDClusteringV2.cxx:1041 AliPMDClusteringV2.cxx:1042 AliPMDClusteringV2.cxx:1043 AliPMDClusteringV2.cxx:1044 AliPMDClusteringV2.cxx:1045 AliPMDClusteringV2.cxx:1046 AliPMDClusteringV2.cxx:1047 AliPMDClusteringV2.cxx:1048 AliPMDClusteringV2.cxx:1049 AliPMDClusteringV2.cxx:1050 AliPMDClusteringV2.cxx:1051 AliPMDClusteringV2.cxx:1052 AliPMDClusteringV2.cxx:1053 AliPMDClusteringV2.cxx:1054 AliPMDClusteringV2.cxx:1055 AliPMDClusteringV2.cxx:1056 AliPMDClusteringV2.cxx:1057 AliPMDClusteringV2.cxx:1058 AliPMDClusteringV2.cxx:1059 AliPMDClusteringV2.cxx:1060 AliPMDClusteringV2.cxx:1061 AliPMDClusteringV2.cxx:1062 AliPMDClusteringV2.cxx:1063 AliPMDClusteringV2.cxx:1064 AliPMDClusteringV2.cxx:1065 AliPMDClusteringV2.cxx:1066 AliPMDClusteringV2.cxx:1067 AliPMDClusteringV2.cxx:1068 AliPMDClusteringV2.cxx:1069 AliPMDClusteringV2.cxx:1070 AliPMDClusteringV2.cxx:1071 AliPMDClusteringV2.cxx:1072 AliPMDClusteringV2.cxx:1073 AliPMDClusteringV2.cxx:1074 AliPMDClusteringV2.cxx:1075 AliPMDClusteringV2.cxx:1076 AliPMDClusteringV2.cxx:1077 AliPMDClusteringV2.cxx:1078 AliPMDClusteringV2.cxx:1079 AliPMDClusteringV2.cxx:1080 AliPMDClusteringV2.cxx:1081