#include <vector>
#include <TClonesArray.h>
#include <TBits.h>
#include <TMath.h>
#include <TH2F.h>
#include <TFile.h>
#include "AliITSClusterFinderSDDfast.h"
#include "AliITSRecPoint.h"
#include "AliITSRecPointContainer.h"
#include "AliITSDetTypeRec.h"
#include "AliRawReader.h"
#include "AliITSRawStreamSDD.h"
#include "AliITSRawStreamSDDCompressed.h"
#include "AliITSCalibrationSDD.h"
#include "AliITSresponseSDD.h"
#include "AliITSDetTypeRec.h"
#include "AliITSReconstructor.h"
#include "AliITSsegmentationSDD.h"
#include "AliITSdigitSDD.h"
#include "AliITSgeomTGeo.h"
ClassImp(AliITSClusterFinderSDDfast)
AliITSClusterFinderSDDfast::AliITSClusterFinderSDDfast(AliITSDetTypeRec* dettyp):AliITSClusterFinder(dettyp),
fNAnodes(0),
fNTimeBins(0),
fNZbins(0),
fNXbins(0),
fDDLBins(),
fCutOnPeakLoose(0.),
fCutOnPeakTight(0.),
fMaxDrTimeForTightCut(0.)
{
fNAnodes = GetSeg()->NpzHalf();
fNZbins = fNAnodes+2;
fNTimeBins = GetSeg()->Npx();
fNXbins = fNTimeBins+2;
AliDebug(2,Form("Cells in SDD cluster finder: Andoes=%d TimeBins=%d",fNAnodes,fNTimeBins));
SetPeakSelection(15.,30.,2000.);
fDDLBins.resize(kHybridsPerDDL);
}
AliITSClusterFinderSDDfast::~AliITSClusterFinderSDDfast()
{
}
void AliITSClusterFinderSDDfast::FindRawClusters(Int_t mod){
SetModule(mod);
FindClustersSDD(fDigits);
}
void AliITSClusterFinderSDDfast::FindClustersSDD(TClonesArray *digits){
std::vector<int> bins0;
std::vector<int> bins1;
const Int_t kMapDim=fNZbins*fNXbins/32;
Int_t map0[kMapDim];
Int_t map1[kMapDim];
for(Int_t j=0;j<kMapDim;++j){
map0[j]=map1[j]=0;
}
AliITSCalibrationSDD* cal = (AliITSCalibrationSDD*)GetResp(fModule);
if(cal==0){
AliError(Form("Calibration object not present for SDD module %d\n",fModule));
return;
}
AliITSdigitSDD *d=0;
Int_t i, ndigits=digits->GetEntriesFast();
for (i=0; i<ndigits; i++){
d=(AliITSdigitSDD*)digits->UncheckedAt(i);
Int_t ian=d->GetCoord1();
Int_t itb=d->GetCoord2();
Float_t gain=cal->GetChannelGain(ian)/fDetTypeRec->GetAverageGainSDD();
Float_t charge=d->GetSignal();
Float_t baseline = cal->GetBaseline(ian);
if(charge>baseline) charge-=baseline;
else charge=0;
if(gain>0.){
charge/=gain;
if(charge<cal->GetThresholdAnode(ian)) continue;
Int_t q=(Int_t)(charge+0.5);
Int_t y=itb+1;
Int_t z=ian+1;
Int_t iindex=y*fNZbins+z;
Float_t noise=cal->GetNoiseAfterElectronics(ian)*2.2;
if (z<=fNAnodes){
if(q>noise){
bins0.push_back(iindex);
bins0.push_back(q);
bins0.push_back(0);
bins0.push_back(i);
map0[iindex/32]|=(1<<(iindex%32));
}
}
else{
z-=fNAnodes;
if(q>noise){
iindex=y*fNZbins+z;
bins1.push_back(iindex);
bins1.push_back(q);
bins1.push_back(0);
bins1.push_back(i);
map1[iindex/32]|=(1<<(iindex%32));
}
}
}
}
FindClustersSDD(bins0, bins1, map0, map1, digits);
}
void AliITSClusterFinderSDDfast::FindClustersSDD(std::vector<int>& bins0, std::vector<int>& bins1, const Int_t map0[], const Int_t map1[], TClonesArray *digits, TClonesArray *clusters, Int_t jitter){
static AliITSRecoParam *repa = NULL;
if(!repa){
repa = (AliITSRecoParam*) AliITSReconstructor::GetRecoParam();
if(!repa){
repa = AliITSRecoParam::GetHighFluxParam();
AliWarning("Using default AliITSRecoParam class");
}
}
const TGeoHMatrix *mT2L=AliITSgeomTGeo::GetTracking2LocalMatrix(fModule);
AliITSCalibrationSDD* cal = (AliITSCalibrationSDD*)GetResp(fModule);
if(cal==0){
AliError(Form("Calibration object not present for SDD module %d\n",fModule));
return;
}
TClonesArray &cl=*clusters;
Int_t nrp=0;
for (Int_t s=0; s<2; s++){
Int_t *bins;
unsigned int binssize;
const Int_t* map;
if(s==0){
binssize=bins0.size();
bins = &bins0[0];
map=map0;
}
if(s==1){
binssize=bins1.size();
bins=&bins1[0];
map=map1;
}
const Int_t rresto=fNZbins-1;
Int_t cid=0;
for(std::vector<int>::size_type i=0;i<binssize;i+=4){
if(!bins[i+2])
bins[i+2]=++cid;
Int_t me=bins[i];
Int_t resto=me%fNZbins;
if(resto==rresto){
Int_t idxs[1]={me+fNZbins};
for(Int_t k=0;k<1;++k)
if(map[idxs[k]/32]&(1<<(idxs[k]%32)))
for(std::vector<int>::size_type j=i+4;j<binssize;j+=4)
if(bins[j]==idxs[k]){
bins[j+2]=bins[i+2];
break;
}
}
else{
Int_t idxs[2]={me+1,me+fNZbins};
for(int k=0;k<2;++k)
if(map[idxs[k]/32]&(1<<(idxs[k]%32)))
for(std::vector<int>::size_type j=i+4;j<binssize;j+=4)
if(bins[j]==idxs[k]){
bins[j+2]=bins[i+2];
break;
}
}
}
for(std::vector<int>::size_type i=0;i<binssize;i+=4){
Int_t me=bins[i];
Int_t resto=me%fNZbins;
if(resto==fNZbins-1){
Int_t idxs[1]={me+fNZbins};
Int_t myid=bins[i+2];
for(Int_t l=0;l<1;++l){
if(map[idxs[l]/32]&(1<<(idxs[l]%32)))
for(std::vector<int>::size_type j=i+4;j<binssize;j+=4){
if(bins[j]==idxs[l]){
Int_t hisid=bins[j+2];
if(myid!=hisid){
for(std::vector<int>::size_type k=2;k<binssize;k+=4)
if(bins[k]==hisid)
bins[k]=myid;
}
break;
}
}
}
}
else{
Int_t idxs[2]={me+1,me+fNZbins};
Int_t myid=bins[i+2];
for(Int_t l=0;l<2;++l){
if(map[idxs[l]/32]&(1<<(idxs[l]%32)))
for(std::vector<int>::size_type j=i+4;j<binssize;j+=4){
if(bins[j]==idxs[l]){
Int_t hisid=bins[j+2];
if(myid!=hisid){
for(std::vector<int>::size_type k=2;k<binssize;k+=4)
if(bins[k]==hisid)
bins[k]=myid;
}
break;
}
}
}
}
}
Int_t recp[cid][12];
for(Int_t i=0;i<cid;++i)
for(Int_t j=0;j<12;++j)
recp[i][j]=0;
Int_t kplab[cid][10];
for(Int_t i=0;i<cid;++i)
for(Int_t j=0;j<10;++j)
kplab[i][j]=-2;
for(std::vector<int>::size_type i=0;i<binssize;i+=4){
Int_t q=bins[i+1];
Int_t me=bins[i+2]-1;
Int_t z=bins[i]%fNZbins;
Int_t x=bins[i]/fNZbins;
recp[me][0]+=q;
recp[me][1]+=z*q;
recp[me][2]+=x*q;
#ifdef CSBASEDERROR
recp[me][3]+=z*z*q;
recp[me][4]+=x*x*q;
#endif
if(recp[me][5]==0){
recp[me][6]=z;
recp[me][7]=z;
recp[me][8]=x;
recp[me][9]=x;
recp[me][10]=q;
recp[me][11]=bins[i];
}
else{
if(recp[me][6]<z) recp[me][6]=z;
if(recp[me][7]>z) recp[me][7]=z;
if(recp[me][8]<x) recp[me][8]=x;
if(recp[me][9]>x) recp[me][9]=x;
if(recp[me][10]<q){
recp[me][10]=q;
recp[me][11]=bins[i];
}
}
if(digits){
Int_t kplab2[10];
for(Int_t ilab=0;ilab<10;++ilab)
kplab2[ilab]=kplab[me][ilab];
AliITSdigitSDD* d=(AliITSdigitSDD*)digits->UncheckedAt(bins[i+3]);
for (Int_t itrack=0;itrack<10;itrack++){
Int_t track = (d->GetTracks())[itrack];
if (track>=0) {
AddLabel(kplab2, track);
}
}
for(Int_t ilab=0;ilab<10;++ilab)
kplab[me][ilab]=kplab2[ilab];
}
++recp[me][5];
}
for(Int_t i=0;i<cid;++i){
if(recp[i][5]==0) continue;
if(recp[i][5]==1) continue;
Float_t q=recp[i][0];
Int_t clSizAnode=recp[i][6]-recp[i][7]+1;
Int_t clSizTb=recp[i][8]-recp[i][9]+1;
if(repa->GetUseSDDClusterSizeSelection()){
if(clSizTb==1) continue;
if(clSizAnode>5) continue;
if(clSizTb>10) continue;
if(cal->IsAMAt20MHz() && clSizTb>8) continue;
}
Float_t zz=(Float_t)recp[i][1]/q;
Float_t xx=(Float_t)recp[i][2]/q;
AliITSresponseSDD* rsdd = fDetTypeRec->GetResponseSDD();
Float_t zAnode=zz-0.5;
Float_t timebin=xx-0.5;
if(s==1) zAnode+=fNAnodes;
Float_t zdet=GetSeg()->GetLocalZFromAnode(zAnode);
Float_t driftTimeUncorr=GetSeg()->GetDriftTimeFromTb(timebin)+jitter*rsdd->GetCarlosRXClockPeriod();
Float_t driftTime=driftTimeUncorr-rsdd->GetTimeZero(fModule);
if(driftTime<fMaxDrTimeForTightCut && recp[i][10]<fCutOnPeakTight) continue;
if(recp[i][10]<fCutOnPeakLoose) continue;
Float_t driftSpeed=cal->GetDriftSpeedAtAnode(zAnode) + rsdd->GetDeltaVDrift(fModule,zAnode>255);
Float_t driftPathMicron=driftTime*driftSpeed;
const Double_t kMicronTocm=1.0e-4;
Float_t xdet=(driftPathMicron-GetSeg()->Dx())*kMicronTocm;
if(s==0) xdet=-xdet;
if(repa->GetUseSDDCorrectionMaps()){
Float_t corrx=0, corrz=0;
cal->GetCorrections(zdet,xdet,corrz,corrx,GetSeg());
zdet+=corrz;
xdet+=corrx;
}
Double_t loc[3]={xdet,0.,zdet},trk[3]={0.,0.,0.};
mT2L->MasterToLocal(loc,trk);
xx=trk[1];
zz=trk[2];
q+=(driftTime*rsdd->GetADCvsDriftTime(fModule));
q/=rsdd->GetADCtokeV(fModule);
if(cal-> IsAMAt20MHz()) q*=2.;
if(q<repa->GetMinClusterChargeSDD()) continue;
#ifdef CSBASEDERROR
Float_t hit[6]={xx,zz,recp[i][3],recp[i][4],q,0.};
#else
Float_t hit[6]={xx, zz, 0.0030*0.0030, 0.0020*0.0020, q, 0.};
#endif
Int_t info[3]={clSizTb, clSizAnode, fNlayer[fModule]};
Int_t kplab2[10];
if(digits){
for(Int_t ilab=0;ilab<10;++ilab)
if(kplab[i][ilab]!=-2)
kplab2[ilab]=kplab[i][ilab];
else
kplab2[ilab]=-2;
}
else{
if(fRawID2ClusID) kplab2[0]=fNClusters+1;
for(Int_t ilab=1;ilab<10;++ilab)
kplab2[ilab]=-2;
}
if(digits) CheckLabels2(kplab2);
kplab2[3]=fNdet[fModule];
AliITSRecPoint cc(kplab2,hit,info);
cc.SetType(101);
cc.SetDriftTime(driftTimeUncorr);
cc.SetDriftSide(s);
cc.SetChargeRatio(recp[i][10]);
if(clusters) new (cl[nrp]) AliITSRecPoint(cc);
else {
fDetTypeRec->AddRecPoint(cc);
}
++nrp;
++fNClusters;
}
}
AliDebug(2,Form("Clusters found on SDD module %d (unfolding %d) = %d\n",fModule,repa->GetUseUnfoldingInClusterFinderSDD(),nrp));
}
void AliITSClusterFinderSDDfast::RawdataToClusters(AliRawReader* rawReader){
fNClusters = 0;
AliITSRawStream* inputSDD=AliITSRawStreamSDD::CreateRawStreamSDD(rawReader);
AliDebug(1,Form("%s is used",inputSDD->ClassName()));
AliITSDDLModuleMapSDD *ddlmap=(AliITSDDLModuleMapSDD*)fDetTypeRec->GetDDLModuleMapSDD();
inputSDD->SetDDLModuleMap(ddlmap);
for(Int_t iddl=0; iddl<AliITSDDLModuleMapSDD::GetNDDLs(); iddl++){
for(Int_t icar=0; icar<AliITSDDLModuleMapSDD::GetNModPerDDL();icar++){
Int_t iMod=ddlmap->GetModuleNumber(iddl,icar);
if(iMod==-1) continue;
AliITSCalibrationSDD* cal = (AliITSCalibrationSDD*)GetResp(iMod);
if(cal==0){
AliError(Form("Calibration object not present for SDD module %d\n",iMod));
continue;
}
Bool_t isZeroSupp=cal->GetZeroSupp();
if(isZeroSupp){
for(Int_t iSid=0; iSid<2; iSid++) inputSDD->SetZeroSuppLowThreshold(iMod-240,iSid,cal->GetZSLowThreshold(iSid));
}else{
for(Int_t iSid=0; iSid<2; iSid++) inputSDD->SetZeroSuppLowThreshold(iMod-240,iSid,0);
}
}
}
FindClustersSDD(inputSDD);
delete inputSDD;
}
void AliITSClusterFinderSDDfast::FindClustersSDD(AliITSRawStream* input){
AliITSRecPointContainer* rpc = AliITSRecPointContainer::Instance();
Int_t nClustersSDD=0;
const Int_t kMapDim=fNZbins*fNXbins/32;
Int_t mapsDDL[kHybridsPerDDL][kMapDim];
for(Int_t i=0;i<kHybridsPerDDL;++i)
for(Int_t j=0;j<kMapDim;++j)
mapsDDL[i][j]=0;
Int_t vectModId[kModulesPerDDL];
for(Int_t iMod=0; iMod<kModulesPerDDL; iMod++) vectModId[iMod]=-1;
int countRW = 0;
if (fRawID2ClusID) fRawID2ClusID->Reset();
while (input->Next()) {
Int_t iModule = input->GetModuleID();
if(iModule<0){
AliWarning(Form("Invalid SDD module number %d\n", iModule));
continue;
}
Int_t iCarlos=input->GetCarlosId();
Int_t iSide=input->GetChannel();
Int_t iHybrid=iCarlos*2+iSide;
if(input->IsCompletedModule()){
vectModId[iCarlos]=iModule;
}
else if(input->IsCompletedDDL()){
Int_t jitter=input->GetJitter();
for(Int_t iMod=0;iMod<kModulesPerDDL;iMod++){
if(vectModId[iMod]>=0){
fModule = vectModId[iMod];
TClonesArray* clusters=rpc->UncheckedGetClusters(fModule);
std::vector<int> bins0;
std::vector<int> bins1;
bins0=fDDLBins[iMod*2];
bins1=fDDLBins[iMod*2+1];
Int_t map0[kMapDim];
Int_t map1[kMapDim];
for(Int_t j=0;j<kMapDim;++j){
map0[j]=map1[j]=0;
}
for(Int_t i=0;i<kMapDim;++i){
map0[i]=mapsDDL[iMod*2][i];
map1[i]=mapsDDL[iMod*2+1][i];
}
FindClustersSDD(bins0, bins1, map0, map1, NULL, clusters,jitter);
Int_t nClusters = clusters->GetEntriesFast();
nClustersSDD += nClusters;
vectModId[iMod]=-1;
}
for (Int_t s=0; s<2; s++){
Int_t indexHyb=iMod*2+s;
for(std::vector<int>::size_type i=0;i<fDDLBins[indexHyb].size();++i)
fDDLBins[indexHyb].erase(fDDLBins[indexHyb].begin(),fDDLBins[indexHyb].end());
for(Int_t j=0;j<kMapDim;++j)
mapsDDL[indexHyb][j]=0;
}
}
}
else{
if(iHybrid<0 || iHybrid>=kHybridsPerDDL){
AliWarning(Form("Invalid SDD hybrid number %d on module %d\n", iHybrid,iModule));
continue;
}
AliITSCalibrationSDD* cal=(AliITSCalibrationSDD*)GetResp(iModule);
if(cal==0){
AliError(Form("Calibration object not present for SDD module %d\n",iModule));
continue;
}
Float_t charge=input->GetSignal();
Int_t chan=input->GetCoord1()+fNAnodes*iSide;
Float_t gain=cal->GetChannelGain(chan)/fDetTypeRec->GetAverageGainSDD();;
Float_t baseline=cal->GetBaseline(chan);
if(charge>baseline) charge-=baseline;
else charge=0;
if(gain>0.){
charge/=gain;
if(charge>=cal->GetThresholdAnode(chan)){
Int_t q=(Int_t)(charge+0.5);
Int_t iz = input->GetCoord1();
Int_t itb = input->GetCoord2();
Int_t ian=iz;
if(iSide==1)
ian+=256;
Float_t noise=cal->GetNoiseAfterElectronics(ian)*2.2;
Int_t index=(itb+1)*fNZbins+(iz+1);
if((itb<fNTimeBins) && (iz<fNAnodes)){
if(q<noise) continue;
fDDLBins[iHybrid].push_back(index);
fDDLBins[iHybrid].push_back(q);
fDDLBins[iHybrid].push_back(0);
fDDLBins[iHybrid].push_back(countRW);
mapsDDL[iHybrid][index/32]|=(1<<(index%32));
}
else{
AliWarning(Form("Invalid SDD cell: Anode=%d TimeBin=%d",iz,itb));
}
}
}
}
countRW++;
}
AliDebug(1,Form("found clusters in ITS SDD: %d", nClustersSDD));
}
AliITSClusterFinderSDDfast.cxx:1 AliITSClusterFinderSDDfast.cxx:2 AliITSClusterFinderSDDfast.cxx:3 AliITSClusterFinderSDDfast.cxx:4 AliITSClusterFinderSDDfast.cxx:5 AliITSClusterFinderSDDfast.cxx:6 AliITSClusterFinderSDDfast.cxx:7 AliITSClusterFinderSDDfast.cxx:8 AliITSClusterFinderSDDfast.cxx:9 AliITSClusterFinderSDDfast.cxx:10 AliITSClusterFinderSDDfast.cxx:11 AliITSClusterFinderSDDfast.cxx:12 AliITSClusterFinderSDDfast.cxx:13 AliITSClusterFinderSDDfast.cxx:14 AliITSClusterFinderSDDfast.cxx:15 AliITSClusterFinderSDDfast.cxx:16 AliITSClusterFinderSDDfast.cxx:17 AliITSClusterFinderSDDfast.cxx:18 AliITSClusterFinderSDDfast.cxx:19 AliITSClusterFinderSDDfast.cxx:20 AliITSClusterFinderSDDfast.cxx:21 AliITSClusterFinderSDDfast.cxx:22 AliITSClusterFinderSDDfast.cxx:23 AliITSClusterFinderSDDfast.cxx:24 AliITSClusterFinderSDDfast.cxx:25 AliITSClusterFinderSDDfast.cxx:26 AliITSClusterFinderSDDfast.cxx:27 AliITSClusterFinderSDDfast.cxx:28 AliITSClusterFinderSDDfast.cxx:29 AliITSClusterFinderSDDfast.cxx:30 AliITSClusterFinderSDDfast.cxx:31 AliITSClusterFinderSDDfast.cxx:32 AliITSClusterFinderSDDfast.cxx:33 AliITSClusterFinderSDDfast.cxx:34 AliITSClusterFinderSDDfast.cxx:35 AliITSClusterFinderSDDfast.cxx:36 AliITSClusterFinderSDDfast.cxx:37 AliITSClusterFinderSDDfast.cxx:38 AliITSClusterFinderSDDfast.cxx:39 AliITSClusterFinderSDDfast.cxx:40 AliITSClusterFinderSDDfast.cxx:41 AliITSClusterFinderSDDfast.cxx:42 AliITSClusterFinderSDDfast.cxx:43 AliITSClusterFinderSDDfast.cxx:44 AliITSClusterFinderSDDfast.cxx:45 AliITSClusterFinderSDDfast.cxx:46 AliITSClusterFinderSDDfast.cxx:47 AliITSClusterFinderSDDfast.cxx:48 AliITSClusterFinderSDDfast.cxx:49 AliITSClusterFinderSDDfast.cxx:50 AliITSClusterFinderSDDfast.cxx:51 AliITSClusterFinderSDDfast.cxx:52 AliITSClusterFinderSDDfast.cxx:53 AliITSClusterFinderSDDfast.cxx:54 AliITSClusterFinderSDDfast.cxx:55 AliITSClusterFinderSDDfast.cxx:56 AliITSClusterFinderSDDfast.cxx:57 AliITSClusterFinderSDDfast.cxx:58 AliITSClusterFinderSDDfast.cxx:59 AliITSClusterFinderSDDfast.cxx:60 AliITSClusterFinderSDDfast.cxx:61 AliITSClusterFinderSDDfast.cxx:62 AliITSClusterFinderSDDfast.cxx:63 AliITSClusterFinderSDDfast.cxx:64 AliITSClusterFinderSDDfast.cxx:65 AliITSClusterFinderSDDfast.cxx:66 AliITSClusterFinderSDDfast.cxx:67 AliITSClusterFinderSDDfast.cxx:68 AliITSClusterFinderSDDfast.cxx:69 AliITSClusterFinderSDDfast.cxx:70 AliITSClusterFinderSDDfast.cxx:71 AliITSClusterFinderSDDfast.cxx:72 AliITSClusterFinderSDDfast.cxx:73 AliITSClusterFinderSDDfast.cxx:74 AliITSClusterFinderSDDfast.cxx:75 AliITSClusterFinderSDDfast.cxx:76 AliITSClusterFinderSDDfast.cxx:77 AliITSClusterFinderSDDfast.cxx:78 AliITSClusterFinderSDDfast.cxx:79 AliITSClusterFinderSDDfast.cxx:80 AliITSClusterFinderSDDfast.cxx:81 AliITSClusterFinderSDDfast.cxx:82 AliITSClusterFinderSDDfast.cxx:83 AliITSClusterFinderSDDfast.cxx:84 AliITSClusterFinderSDDfast.cxx:85 AliITSClusterFinderSDDfast.cxx:86 AliITSClusterFinderSDDfast.cxx:87 AliITSClusterFinderSDDfast.cxx:88 AliITSClusterFinderSDDfast.cxx:89 AliITSClusterFinderSDDfast.cxx:90 AliITSClusterFinderSDDfast.cxx:91 AliITSClusterFinderSDDfast.cxx:92 AliITSClusterFinderSDDfast.cxx:93 AliITSClusterFinderSDDfast.cxx:94 AliITSClusterFinderSDDfast.cxx:95 AliITSClusterFinderSDDfast.cxx:96 AliITSClusterFinderSDDfast.cxx:97 AliITSClusterFinderSDDfast.cxx:98 AliITSClusterFinderSDDfast.cxx:99 AliITSClusterFinderSDDfast.cxx:100 AliITSClusterFinderSDDfast.cxx:101 AliITSClusterFinderSDDfast.cxx:102 AliITSClusterFinderSDDfast.cxx:103 AliITSClusterFinderSDDfast.cxx:104 AliITSClusterFinderSDDfast.cxx:105 AliITSClusterFinderSDDfast.cxx:106 AliITSClusterFinderSDDfast.cxx:107 AliITSClusterFinderSDDfast.cxx:108 AliITSClusterFinderSDDfast.cxx:109 AliITSClusterFinderSDDfast.cxx:110 AliITSClusterFinderSDDfast.cxx:111 AliITSClusterFinderSDDfast.cxx:112 AliITSClusterFinderSDDfast.cxx:113 AliITSClusterFinderSDDfast.cxx:114 AliITSClusterFinderSDDfast.cxx:115 AliITSClusterFinderSDDfast.cxx:116 AliITSClusterFinderSDDfast.cxx:117 AliITSClusterFinderSDDfast.cxx:118 AliITSClusterFinderSDDfast.cxx:119 AliITSClusterFinderSDDfast.cxx:120 AliITSClusterFinderSDDfast.cxx:121 AliITSClusterFinderSDDfast.cxx:122 AliITSClusterFinderSDDfast.cxx:123 AliITSClusterFinderSDDfast.cxx:124 AliITSClusterFinderSDDfast.cxx:125 AliITSClusterFinderSDDfast.cxx:126 AliITSClusterFinderSDDfast.cxx:127 AliITSClusterFinderSDDfast.cxx:128 AliITSClusterFinderSDDfast.cxx:129 AliITSClusterFinderSDDfast.cxx:130 AliITSClusterFinderSDDfast.cxx:131 AliITSClusterFinderSDDfast.cxx:132 AliITSClusterFinderSDDfast.cxx:133 AliITSClusterFinderSDDfast.cxx:134 AliITSClusterFinderSDDfast.cxx:135 AliITSClusterFinderSDDfast.cxx:136 AliITSClusterFinderSDDfast.cxx:137 AliITSClusterFinderSDDfast.cxx:138 AliITSClusterFinderSDDfast.cxx:139 AliITSClusterFinderSDDfast.cxx:140 AliITSClusterFinderSDDfast.cxx:141 AliITSClusterFinderSDDfast.cxx:142 AliITSClusterFinderSDDfast.cxx:143 AliITSClusterFinderSDDfast.cxx:144 AliITSClusterFinderSDDfast.cxx:145 AliITSClusterFinderSDDfast.cxx:146 AliITSClusterFinderSDDfast.cxx:147 AliITSClusterFinderSDDfast.cxx:148 AliITSClusterFinderSDDfast.cxx:149 AliITSClusterFinderSDDfast.cxx:150 AliITSClusterFinderSDDfast.cxx:151 AliITSClusterFinderSDDfast.cxx:152 AliITSClusterFinderSDDfast.cxx:153 AliITSClusterFinderSDDfast.cxx:154 AliITSClusterFinderSDDfast.cxx:155 AliITSClusterFinderSDDfast.cxx:156 AliITSClusterFinderSDDfast.cxx:157 AliITSClusterFinderSDDfast.cxx:158 AliITSClusterFinderSDDfast.cxx:159 AliITSClusterFinderSDDfast.cxx:160 AliITSClusterFinderSDDfast.cxx:161 AliITSClusterFinderSDDfast.cxx:162 AliITSClusterFinderSDDfast.cxx:163 AliITSClusterFinderSDDfast.cxx:164 AliITSClusterFinderSDDfast.cxx:165 AliITSClusterFinderSDDfast.cxx:166 AliITSClusterFinderSDDfast.cxx:167 AliITSClusterFinderSDDfast.cxx:168 AliITSClusterFinderSDDfast.cxx:169 AliITSClusterFinderSDDfast.cxx:170 AliITSClusterFinderSDDfast.cxx:171 AliITSClusterFinderSDDfast.cxx:172 AliITSClusterFinderSDDfast.cxx:173 AliITSClusterFinderSDDfast.cxx:174 AliITSClusterFinderSDDfast.cxx:175 AliITSClusterFinderSDDfast.cxx:176 AliITSClusterFinderSDDfast.cxx:177 AliITSClusterFinderSDDfast.cxx:178 AliITSClusterFinderSDDfast.cxx:179 AliITSClusterFinderSDDfast.cxx:180 AliITSClusterFinderSDDfast.cxx:181 AliITSClusterFinderSDDfast.cxx:182 AliITSClusterFinderSDDfast.cxx:183 AliITSClusterFinderSDDfast.cxx:184 AliITSClusterFinderSDDfast.cxx:185 AliITSClusterFinderSDDfast.cxx:186 AliITSClusterFinderSDDfast.cxx:187 AliITSClusterFinderSDDfast.cxx:188 AliITSClusterFinderSDDfast.cxx:189 AliITSClusterFinderSDDfast.cxx:190 AliITSClusterFinderSDDfast.cxx:191 AliITSClusterFinderSDDfast.cxx:192 AliITSClusterFinderSDDfast.cxx:193 AliITSClusterFinderSDDfast.cxx:194 AliITSClusterFinderSDDfast.cxx:195 AliITSClusterFinderSDDfast.cxx:196 AliITSClusterFinderSDDfast.cxx:197 AliITSClusterFinderSDDfast.cxx:198 AliITSClusterFinderSDDfast.cxx:199 AliITSClusterFinderSDDfast.cxx:200 AliITSClusterFinderSDDfast.cxx:201 AliITSClusterFinderSDDfast.cxx:202 AliITSClusterFinderSDDfast.cxx:203 AliITSClusterFinderSDDfast.cxx:204 AliITSClusterFinderSDDfast.cxx:205 AliITSClusterFinderSDDfast.cxx:206 AliITSClusterFinderSDDfast.cxx:207 AliITSClusterFinderSDDfast.cxx:208 AliITSClusterFinderSDDfast.cxx:209 AliITSClusterFinderSDDfast.cxx:210 AliITSClusterFinderSDDfast.cxx:211 AliITSClusterFinderSDDfast.cxx:212 AliITSClusterFinderSDDfast.cxx:213 AliITSClusterFinderSDDfast.cxx:214 AliITSClusterFinderSDDfast.cxx:215 AliITSClusterFinderSDDfast.cxx:216 AliITSClusterFinderSDDfast.cxx:217 AliITSClusterFinderSDDfast.cxx:218 AliITSClusterFinderSDDfast.cxx:219 AliITSClusterFinderSDDfast.cxx:220 AliITSClusterFinderSDDfast.cxx:221 AliITSClusterFinderSDDfast.cxx:222 AliITSClusterFinderSDDfast.cxx:223 AliITSClusterFinderSDDfast.cxx:224 AliITSClusterFinderSDDfast.cxx:225 AliITSClusterFinderSDDfast.cxx:226 AliITSClusterFinderSDDfast.cxx:227 AliITSClusterFinderSDDfast.cxx:228 AliITSClusterFinderSDDfast.cxx:229 AliITSClusterFinderSDDfast.cxx:230 AliITSClusterFinderSDDfast.cxx:231 AliITSClusterFinderSDDfast.cxx:232 AliITSClusterFinderSDDfast.cxx:233 AliITSClusterFinderSDDfast.cxx:234 AliITSClusterFinderSDDfast.cxx:235 AliITSClusterFinderSDDfast.cxx:236 AliITSClusterFinderSDDfast.cxx:237 AliITSClusterFinderSDDfast.cxx:238 AliITSClusterFinderSDDfast.cxx:239 AliITSClusterFinderSDDfast.cxx:240 AliITSClusterFinderSDDfast.cxx:241 AliITSClusterFinderSDDfast.cxx:242 AliITSClusterFinderSDDfast.cxx:243 AliITSClusterFinderSDDfast.cxx:244 AliITSClusterFinderSDDfast.cxx:245 AliITSClusterFinderSDDfast.cxx:246 AliITSClusterFinderSDDfast.cxx:247 AliITSClusterFinderSDDfast.cxx:248 AliITSClusterFinderSDDfast.cxx:249 AliITSClusterFinderSDDfast.cxx:250 AliITSClusterFinderSDDfast.cxx:251 AliITSClusterFinderSDDfast.cxx:252 AliITSClusterFinderSDDfast.cxx:253 AliITSClusterFinderSDDfast.cxx:254 AliITSClusterFinderSDDfast.cxx:255 AliITSClusterFinderSDDfast.cxx:256 AliITSClusterFinderSDDfast.cxx:257 AliITSClusterFinderSDDfast.cxx:258 AliITSClusterFinderSDDfast.cxx:259 AliITSClusterFinderSDDfast.cxx:260 AliITSClusterFinderSDDfast.cxx:261 AliITSClusterFinderSDDfast.cxx:262 AliITSClusterFinderSDDfast.cxx:263 AliITSClusterFinderSDDfast.cxx:264 AliITSClusterFinderSDDfast.cxx:265 AliITSClusterFinderSDDfast.cxx:266 AliITSClusterFinderSDDfast.cxx:267 AliITSClusterFinderSDDfast.cxx:268 AliITSClusterFinderSDDfast.cxx:269 AliITSClusterFinderSDDfast.cxx:270 AliITSClusterFinderSDDfast.cxx:271 AliITSClusterFinderSDDfast.cxx:272 AliITSClusterFinderSDDfast.cxx:273 AliITSClusterFinderSDDfast.cxx:274 AliITSClusterFinderSDDfast.cxx:275 AliITSClusterFinderSDDfast.cxx:276 AliITSClusterFinderSDDfast.cxx:277 AliITSClusterFinderSDDfast.cxx:278 AliITSClusterFinderSDDfast.cxx:279 AliITSClusterFinderSDDfast.cxx:280 AliITSClusterFinderSDDfast.cxx:281 AliITSClusterFinderSDDfast.cxx:282 AliITSClusterFinderSDDfast.cxx:283 AliITSClusterFinderSDDfast.cxx:284 AliITSClusterFinderSDDfast.cxx:285 AliITSClusterFinderSDDfast.cxx:286 AliITSClusterFinderSDDfast.cxx:287 AliITSClusterFinderSDDfast.cxx:288 AliITSClusterFinderSDDfast.cxx:289 AliITSClusterFinderSDDfast.cxx:290 AliITSClusterFinderSDDfast.cxx:291 AliITSClusterFinderSDDfast.cxx:292 AliITSClusterFinderSDDfast.cxx:293 AliITSClusterFinderSDDfast.cxx:294 AliITSClusterFinderSDDfast.cxx:295 AliITSClusterFinderSDDfast.cxx:296 AliITSClusterFinderSDDfast.cxx:297 AliITSClusterFinderSDDfast.cxx:298 AliITSClusterFinderSDDfast.cxx:299 AliITSClusterFinderSDDfast.cxx:300 AliITSClusterFinderSDDfast.cxx:301 AliITSClusterFinderSDDfast.cxx:302 AliITSClusterFinderSDDfast.cxx:303 AliITSClusterFinderSDDfast.cxx:304 AliITSClusterFinderSDDfast.cxx:305 AliITSClusterFinderSDDfast.cxx:306 AliITSClusterFinderSDDfast.cxx:307 AliITSClusterFinderSDDfast.cxx:308 AliITSClusterFinderSDDfast.cxx:309 AliITSClusterFinderSDDfast.cxx:310 AliITSClusterFinderSDDfast.cxx:311 AliITSClusterFinderSDDfast.cxx:312 AliITSClusterFinderSDDfast.cxx:313 AliITSClusterFinderSDDfast.cxx:314 AliITSClusterFinderSDDfast.cxx:315 AliITSClusterFinderSDDfast.cxx:316 AliITSClusterFinderSDDfast.cxx:317 AliITSClusterFinderSDDfast.cxx:318 AliITSClusterFinderSDDfast.cxx:319 AliITSClusterFinderSDDfast.cxx:320 AliITSClusterFinderSDDfast.cxx:321 AliITSClusterFinderSDDfast.cxx:322 AliITSClusterFinderSDDfast.cxx:323 AliITSClusterFinderSDDfast.cxx:324 AliITSClusterFinderSDDfast.cxx:325 AliITSClusterFinderSDDfast.cxx:326 AliITSClusterFinderSDDfast.cxx:327 AliITSClusterFinderSDDfast.cxx:328 AliITSClusterFinderSDDfast.cxx:329 AliITSClusterFinderSDDfast.cxx:330 AliITSClusterFinderSDDfast.cxx:331 AliITSClusterFinderSDDfast.cxx:332 AliITSClusterFinderSDDfast.cxx:333 AliITSClusterFinderSDDfast.cxx:334 AliITSClusterFinderSDDfast.cxx:335 AliITSClusterFinderSDDfast.cxx:336 AliITSClusterFinderSDDfast.cxx:337 AliITSClusterFinderSDDfast.cxx:338 AliITSClusterFinderSDDfast.cxx:339 AliITSClusterFinderSDDfast.cxx:340 AliITSClusterFinderSDDfast.cxx:341 AliITSClusterFinderSDDfast.cxx:342 AliITSClusterFinderSDDfast.cxx:343 AliITSClusterFinderSDDfast.cxx:344 AliITSClusterFinderSDDfast.cxx:345 AliITSClusterFinderSDDfast.cxx:346 AliITSClusterFinderSDDfast.cxx:347 AliITSClusterFinderSDDfast.cxx:348 AliITSClusterFinderSDDfast.cxx:349 AliITSClusterFinderSDDfast.cxx:350 AliITSClusterFinderSDDfast.cxx:351 AliITSClusterFinderSDDfast.cxx:352 AliITSClusterFinderSDDfast.cxx:353 AliITSClusterFinderSDDfast.cxx:354 AliITSClusterFinderSDDfast.cxx:355 AliITSClusterFinderSDDfast.cxx:356 AliITSClusterFinderSDDfast.cxx:357 AliITSClusterFinderSDDfast.cxx:358 AliITSClusterFinderSDDfast.cxx:359 AliITSClusterFinderSDDfast.cxx:360 AliITSClusterFinderSDDfast.cxx:361 AliITSClusterFinderSDDfast.cxx:362 AliITSClusterFinderSDDfast.cxx:363 AliITSClusterFinderSDDfast.cxx:364 AliITSClusterFinderSDDfast.cxx:365 AliITSClusterFinderSDDfast.cxx:366 AliITSClusterFinderSDDfast.cxx:367 AliITSClusterFinderSDDfast.cxx:368 AliITSClusterFinderSDDfast.cxx:369 AliITSClusterFinderSDDfast.cxx:370 AliITSClusterFinderSDDfast.cxx:371 AliITSClusterFinderSDDfast.cxx:372 AliITSClusterFinderSDDfast.cxx:373 AliITSClusterFinderSDDfast.cxx:374 AliITSClusterFinderSDDfast.cxx:375 AliITSClusterFinderSDDfast.cxx:376 AliITSClusterFinderSDDfast.cxx:377 AliITSClusterFinderSDDfast.cxx:378 AliITSClusterFinderSDDfast.cxx:379 AliITSClusterFinderSDDfast.cxx:380 AliITSClusterFinderSDDfast.cxx:381 AliITSClusterFinderSDDfast.cxx:382 AliITSClusterFinderSDDfast.cxx:383 AliITSClusterFinderSDDfast.cxx:384 AliITSClusterFinderSDDfast.cxx:385 AliITSClusterFinderSDDfast.cxx:386 AliITSClusterFinderSDDfast.cxx:387 AliITSClusterFinderSDDfast.cxx:388 AliITSClusterFinderSDDfast.cxx:389 AliITSClusterFinderSDDfast.cxx:390 AliITSClusterFinderSDDfast.cxx:391 AliITSClusterFinderSDDfast.cxx:392 AliITSClusterFinderSDDfast.cxx:393 AliITSClusterFinderSDDfast.cxx:394 AliITSClusterFinderSDDfast.cxx:395 AliITSClusterFinderSDDfast.cxx:396 AliITSClusterFinderSDDfast.cxx:397 AliITSClusterFinderSDDfast.cxx:398 AliITSClusterFinderSDDfast.cxx:399 AliITSClusterFinderSDDfast.cxx:400 AliITSClusterFinderSDDfast.cxx:401 AliITSClusterFinderSDDfast.cxx:402 AliITSClusterFinderSDDfast.cxx:403 AliITSClusterFinderSDDfast.cxx:404 AliITSClusterFinderSDDfast.cxx:405 AliITSClusterFinderSDDfast.cxx:406 AliITSClusterFinderSDDfast.cxx:407 AliITSClusterFinderSDDfast.cxx:408 AliITSClusterFinderSDDfast.cxx:409 AliITSClusterFinderSDDfast.cxx:410 AliITSClusterFinderSDDfast.cxx:411 AliITSClusterFinderSDDfast.cxx:412 AliITSClusterFinderSDDfast.cxx:413 AliITSClusterFinderSDDfast.cxx:414 AliITSClusterFinderSDDfast.cxx:415 AliITSClusterFinderSDDfast.cxx:416 AliITSClusterFinderSDDfast.cxx:417 AliITSClusterFinderSDDfast.cxx:418 AliITSClusterFinderSDDfast.cxx:419 AliITSClusterFinderSDDfast.cxx:420 AliITSClusterFinderSDDfast.cxx:421 AliITSClusterFinderSDDfast.cxx:422 AliITSClusterFinderSDDfast.cxx:423 AliITSClusterFinderSDDfast.cxx:424 AliITSClusterFinderSDDfast.cxx:425 AliITSClusterFinderSDDfast.cxx:426 AliITSClusterFinderSDDfast.cxx:427 AliITSClusterFinderSDDfast.cxx:428 AliITSClusterFinderSDDfast.cxx:429 AliITSClusterFinderSDDfast.cxx:430 AliITSClusterFinderSDDfast.cxx:431 AliITSClusterFinderSDDfast.cxx:432 AliITSClusterFinderSDDfast.cxx:433 AliITSClusterFinderSDDfast.cxx:434 AliITSClusterFinderSDDfast.cxx:435 AliITSClusterFinderSDDfast.cxx:436 AliITSClusterFinderSDDfast.cxx:437 AliITSClusterFinderSDDfast.cxx:438 AliITSClusterFinderSDDfast.cxx:439 AliITSClusterFinderSDDfast.cxx:440 AliITSClusterFinderSDDfast.cxx:441 AliITSClusterFinderSDDfast.cxx:442 AliITSClusterFinderSDDfast.cxx:443 AliITSClusterFinderSDDfast.cxx:444 AliITSClusterFinderSDDfast.cxx:445 AliITSClusterFinderSDDfast.cxx:446 AliITSClusterFinderSDDfast.cxx:447 AliITSClusterFinderSDDfast.cxx:448 AliITSClusterFinderSDDfast.cxx:449 AliITSClusterFinderSDDfast.cxx:450 AliITSClusterFinderSDDfast.cxx:451 AliITSClusterFinderSDDfast.cxx:452 AliITSClusterFinderSDDfast.cxx:453 AliITSClusterFinderSDDfast.cxx:454 AliITSClusterFinderSDDfast.cxx:455 AliITSClusterFinderSDDfast.cxx:456 AliITSClusterFinderSDDfast.cxx:457 AliITSClusterFinderSDDfast.cxx:458 AliITSClusterFinderSDDfast.cxx:459 AliITSClusterFinderSDDfast.cxx:460 AliITSClusterFinderSDDfast.cxx:461 AliITSClusterFinderSDDfast.cxx:462 AliITSClusterFinderSDDfast.cxx:463 AliITSClusterFinderSDDfast.cxx:464 AliITSClusterFinderSDDfast.cxx:465 AliITSClusterFinderSDDfast.cxx:466 AliITSClusterFinderSDDfast.cxx:467 AliITSClusterFinderSDDfast.cxx:468 AliITSClusterFinderSDDfast.cxx:469 AliITSClusterFinderSDDfast.cxx:470 AliITSClusterFinderSDDfast.cxx:471 AliITSClusterFinderSDDfast.cxx:472 AliITSClusterFinderSDDfast.cxx:473 AliITSClusterFinderSDDfast.cxx:474 AliITSClusterFinderSDDfast.cxx:475 AliITSClusterFinderSDDfast.cxx:476 AliITSClusterFinderSDDfast.cxx:477 AliITSClusterFinderSDDfast.cxx:478 AliITSClusterFinderSDDfast.cxx:479 AliITSClusterFinderSDDfast.cxx:480 AliITSClusterFinderSDDfast.cxx:481 AliITSClusterFinderSDDfast.cxx:482 AliITSClusterFinderSDDfast.cxx:483 AliITSClusterFinderSDDfast.cxx:484 AliITSClusterFinderSDDfast.cxx:485 AliITSClusterFinderSDDfast.cxx:486 AliITSClusterFinderSDDfast.cxx:487 AliITSClusterFinderSDDfast.cxx:488 AliITSClusterFinderSDDfast.cxx:489 AliITSClusterFinderSDDfast.cxx:490 AliITSClusterFinderSDDfast.cxx:491 AliITSClusterFinderSDDfast.cxx:492 AliITSClusterFinderSDDfast.cxx:493 AliITSClusterFinderSDDfast.cxx:494 AliITSClusterFinderSDDfast.cxx:495 AliITSClusterFinderSDDfast.cxx:496 AliITSClusterFinderSDDfast.cxx:497 AliITSClusterFinderSDDfast.cxx:498 AliITSClusterFinderSDDfast.cxx:499 AliITSClusterFinderSDDfast.cxx:500 AliITSClusterFinderSDDfast.cxx:501 AliITSClusterFinderSDDfast.cxx:502 AliITSClusterFinderSDDfast.cxx:503 AliITSClusterFinderSDDfast.cxx:504 AliITSClusterFinderSDDfast.cxx:505 AliITSClusterFinderSDDfast.cxx:506 AliITSClusterFinderSDDfast.cxx:507 AliITSClusterFinderSDDfast.cxx:508 AliITSClusterFinderSDDfast.cxx:509 AliITSClusterFinderSDDfast.cxx:510 AliITSClusterFinderSDDfast.cxx:511 AliITSClusterFinderSDDfast.cxx:512 AliITSClusterFinderSDDfast.cxx:513 AliITSClusterFinderSDDfast.cxx:514 AliITSClusterFinderSDDfast.cxx:515 AliITSClusterFinderSDDfast.cxx:516 AliITSClusterFinderSDDfast.cxx:517 AliITSClusterFinderSDDfast.cxx:518 AliITSClusterFinderSDDfast.cxx:519 AliITSClusterFinderSDDfast.cxx:520 AliITSClusterFinderSDDfast.cxx:521 AliITSClusterFinderSDDfast.cxx:522 AliITSClusterFinderSDDfast.cxx:523 AliITSClusterFinderSDDfast.cxx:524 AliITSClusterFinderSDDfast.cxx:525 AliITSClusterFinderSDDfast.cxx:526 AliITSClusterFinderSDDfast.cxx:527 AliITSClusterFinderSDDfast.cxx:528 AliITSClusterFinderSDDfast.cxx:529 AliITSClusterFinderSDDfast.cxx:530 AliITSClusterFinderSDDfast.cxx:531 AliITSClusterFinderSDDfast.cxx:532 AliITSClusterFinderSDDfast.cxx:533 AliITSClusterFinderSDDfast.cxx:534 AliITSClusterFinderSDDfast.cxx:535 AliITSClusterFinderSDDfast.cxx:536 AliITSClusterFinderSDDfast.cxx:537 AliITSClusterFinderSDDfast.cxx:538 AliITSClusterFinderSDDfast.cxx:539 AliITSClusterFinderSDDfast.cxx:540 AliITSClusterFinderSDDfast.cxx:541 AliITSClusterFinderSDDfast.cxx:542 AliITSClusterFinderSDDfast.cxx:543 AliITSClusterFinderSDDfast.cxx:544 AliITSClusterFinderSDDfast.cxx:545 AliITSClusterFinderSDDfast.cxx:546 AliITSClusterFinderSDDfast.cxx:547