#include <TClonesArray.h>
#include <TBits.h>
#include "AliITSClusterFinderV2SDD.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(AliITSClusterFinderV2SDD)
AliITSClusterFinderV2SDD::AliITSClusterFinderV2SDD(AliITSDetTypeRec* dettyp):AliITSClusterFinder(dettyp),
fNAnodes(0),
fNTimeBins(0),
fNZbins(0),
fNXbins(0),
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));
const Int_t kMaxBin=fNZbins*fNXbins;
for(Int_t iHyb=0;iHyb<kHybridsPerDDL;iHyb++){
fDDLBins[iHyb]=new AliBin[kMaxBin];
}
SetPeakSelection(15.,30.,2000.);
}
AliITSClusterFinderV2SDD::~AliITSClusterFinderV2SDD()
{
for(Int_t iHyb=0;iHyb<kHybridsPerDDL;iHyb++){
delete [] fDDLBins[iHyb];
}
}
void AliITSClusterFinderV2SDD::FindRawClusters(Int_t mod){
SetModule(mod);
FindClustersSDD(fDigits);
}
void AliITSClusterFinderV2SDD::FindClustersSDD(TClonesArray *digits) {
const Int_t kMaxBin=fNZbins*fNXbins;
AliBin *bins[2];
bins[0]=new AliBin[kMaxBin];
bins[1]=new AliBin[kMaxBin];
TBits *anodeFired[2];
anodeFired[0]=new TBits(fNAnodes);
anodeFired[1]=new TBits(fNAnodes);
anodeFired[0]->ResetAllBits();
anodeFired[1]->ResetAllBits();
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;
if (z <= fNAnodes){
bins[0][y*fNZbins+z].SetQ(q);
bins[0][y*fNZbins+z].SetMask(1);
bins[0][y*fNZbins+z].SetIndex(i);
anodeFired[0]->SetBitNumber(ian);
} else {
z-=fNAnodes;
bins[1][y*fNZbins+z].SetQ(q);
bins[1][y*fNZbins+z].SetMask(1);
bins[1][y*fNZbins+z].SetIndex(i);
anodeFired[1]->SetBitNumber(ian-fNAnodes);
}
}
}
FindClustersSDD(bins, anodeFired, digits);
delete[] bins[0];
delete[] bins[1];
delete anodeFired[0];
delete anodeFired[1];
}
void AliITSClusterFinderV2SDD::
FindClustersSDD(AliBin* bins[2], TBits* anodeFired[2],
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;
}
const Int_t kMaxBin=fNZbins*fNXbins;
Int_t ncl=0;
TClonesArray &cl=*clusters;
for (Int_t s=0; s<2; s++){
for(Int_t iAnode=0; iAnode<GetSeg()->NpzHalf(); iAnode++){
if(anodeFired[s]->TestBitNumber(iAnode)==kFALSE) continue;
for(Int_t iTimeBin=0; iTimeBin<GetSeg()->Npx(); iTimeBin++){
Int_t index=(iTimeBin+1)*fNZbins+(iAnode+1);
if (bins[s][index].IsUsed()) continue;
if(NoiseSuppress(index,s,bins[s],cal)) continue;
Int_t idx[32]; UInt_t msk[32]; Int_t npeaks=0;
FindPeaks(index, fNZbins, bins[s], idx, msk, npeaks);
if (npeaks>30) continue;
if (npeaks==0) continue;
Int_t k,l;
Int_t nClust;
if(repa->GetUseUnfoldingInClusterFinderSDD()){
for (k=0; k<npeaks-1; k++){
if (idx[k] < 0) continue;
for (l=k+1; l<npeaks; l++) {
if (idx[l] < 0) continue;
Int_t ki=idx[k]/fNZbins, kj=idx[k] - ki*fNZbins;
Int_t li=idx[l]/fNZbins, lj=idx[l] - li*fNZbins;
Int_t di=TMath::Abs(ki - li);
Int_t dj=TMath::Abs(kj - lj);
if (di>1 || dj>1) continue;
if (bins[s][idx[k]].GetQ() > bins[s][idx[l]].GetQ()) {
msk[l]=msk[k];
idx[l]*=-1;
} else {
msk[k]=msk[l];
idx[k]*=-1;
break;
}
}
}
nClust=npeaks;
}else{
for (k=1; k<npeaks; k++) msk[k]=msk[0];
nClust=1;
}
Float_t maxADC=0;
for (k=0; k<npeaks; k++) {
if(idx[k]>0. && bins[s][idx[k]].GetQ() > maxADC) maxADC=bins[s][idx[k]].GetQ();
MarkPeak(TMath::Abs(idx[k]), fNZbins, bins[s], msk[k]);
}
if(maxADC<fCutOnPeakLoose) continue;
for (k=0; k<nClust; k++) {
if (idx[k] < 0) continue;
AliITSRecPoint c;
MakeCluster(idx[k], fNZbins, bins[s], msk[k], c);
Int_t milab[10];
for (Int_t ilab=0;ilab<10;ilab++){
milab[ilab]=-2;
}
if(digits) {
for (Int_t di=-2; di<=2;di++){
for (Int_t dj=-2;dj<=2;dj++){
index = idx[k]+di+dj*fNZbins;
if (index<0) continue;
if (index>=kMaxBin) continue;
AliBin *b=&bins[s][index];
if(b->GetQ()<0.1) continue;
AliITSdigitSDD* d=(AliITSdigitSDD*)digits->UncheckedAt(b->GetIndex());
for (Int_t itrack=0;itrack<10;itrack++){
Int_t track = (d->GetTracks())[itrack];
if (track>=0) {
AddLabel(milab, track);
}
}
}
}
}
else {
if (fRawID2ClusID) milab[0] = fNClusters+1;
}
Int_t clSizAnode=fZmax-fZmin+1;
Int_t clSizTb=fXmax-fXmin+1;
if(repa->GetUseSDDClusterSizeSelection()){
if(clSizTb==1) continue;
if(clSizAnode>5) continue;
if(clSizTb>10) continue;
if(cal-> IsAMAt20MHz() && clSizTb>8) continue;
}
AliITSresponseSDD* rsdd = fDetTypeRec->GetResponseSDD();
Float_t y=c.GetY(),z=c.GetZ(), q=c.GetQ();
y/=q; z/=q;
Float_t zAnode=z-0.5;
Float_t timebin=y-0.5;
if(s==1) zAnode += GetSeg()->NpzHalf();
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 && maxADC<fCutOnPeakTight) 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);
y=trk[1];
z=trk[2];
q+=(driftTime*rsdd->GetADCvsDriftTime(fModule));
q/=rsdd->GetADCtokeV(fModule);
if(cal-> IsAMAt20MHz()) q*=2.;
if(q<repa->GetMinClusterChargeSDD()) continue;
Float_t hit[6] = {y, z, 0.0030*0.0030, 0.0020*0.0020, q, 0.};
Int_t info[3] = {clSizTb, clSizAnode, fNlayer[fModule]};
if (digits) CheckLabels2(milab);
milab[3]=fNdet[fModule];
AliITSRecPoint cc(milab,hit,info);
cc.SetType(nClust*100+npeaks);
cc.SetDriftTime(driftTimeUncorr);
cc.SetDriftSide(s);
cc.SetChargeRatio(maxADC);
if(clusters) new (cl[ncl]) AliITSRecPoint(cc);
else {
fDetTypeRec->AddRecPoint(cc);
}
fNClusters++;
ncl++;
}
}
}
}
AliDebug(2,Form("Clusters found on SDD module %d (unfolding %d) = %d\n",fModule,repa->GetUseUnfoldingInClusterFinderSDD(),ncl));
}
void AliITSClusterFinderV2SDD::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 AliITSClusterFinderV2SDD::FindClustersSDD(AliITSRawStream* input)
{
AliITSRecPointContainer* rpc = AliITSRecPointContainer::Instance();
Int_t nClustersSDD = 0;
AliBin *bins[2];
TBits* anodeFired[2];
TBits* ddlAnodeFired[kHybridsPerDDL];
for(Int_t iHyb=0;iHyb<kHybridsPerDDL;iHyb++){
ddlAnodeFired[iHyb]=new TBits(fNAnodes);
ddlAnodeFired[iHyb]->ResetAllBits();
}
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);
bins[0]=fDDLBins[iMod*2];
bins[1]=fDDLBins[iMod*2+1];
anodeFired[0]=ddlAnodeFired[iMod*2];
anodeFired[1]=ddlAnodeFired[iMod*2+1];
FindClustersSDD(bins, anodeFired, 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(Int_t iAnode=0; iAnode<GetSeg()->NpzHalf(); iAnode++){
if(ddlAnodeFired[indexHyb]->TestBitNumber(iAnode)==kFALSE) continue;
for(Int_t iTimeBin=0; iTimeBin<GetSeg()->Npx(); iTimeBin++){
Int_t index=(iTimeBin+1)*fNZbins+(iAnode+1);
fDDLBins[indexHyb][index].Reset();
}
}
}
ddlAnodeFired[iMod*2]->ResetAllBits();
ddlAnodeFired[iMod*2+1]->ResetAllBits();
}
}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 index = (itb+1) * fNZbins + (iz+1);
if((itb < fNTimeBins) && (iz < fNAnodes)) {
fDDLBins[iHybrid][index].SetQ(q);
fDDLBins[iHybrid][index].SetMask(1);
fDDLBins[iHybrid][index].SetIndex(index);
fDDLBins[iHybrid][index].SetRawID(countRW);
ddlAnodeFired[iHybrid]->SetBitNumber(iz);
}else{
AliWarning(Form("Invalid SDD cell: Anode=%d TimeBin=%d",iz,itb));
}
}
}
}
countRW++;
}
for(Int_t iHyb=0;iHyb<kHybridsPerDDL;iHyb++){
delete ddlAnodeFired[iHyb];
}
AliDebug(1,Form("found clusters in ITS SDD: %d", nClustersSDD));
}
Bool_t AliITSClusterFinderV2SDD::NoiseSuppress(Int_t k, Int_t sid, AliBin* bins, const AliITSCalibrationSDD* cal) const {
Float_t xfactL=2.2;
Float_t xfactH=4.0;
Int_t iAn=(k%fNZbins)-1;
if(iAn<0 || iAn>255) return kTRUE;
if(sid==1) iAn+=256;
Int_t nLow=0, nHigh=0;
Float_t noise=cal->GetNoiseAfterElectronics(iAn);
Float_t noisem1=noise;
if(iAn>1) noisem1=cal->GetNoiseAfterElectronics(iAn-1);
Float_t noisep1=noise;
if(iAn<511) noisep1=cal->GetNoiseAfterElectronics(iAn+1);
Float_t tL=noise*xfactL;
Float_t tH=noise*xfactH;
Float_t tLp1=noisep1*xfactL;
Float_t tHp1=noisep1*xfactH;
Float_t tLm1=noisem1*xfactL;
Float_t tHm1=noisem1*xfactH;
Int_t cC=bins[k].GetQ();
if(cC<=tL){
bins[k].SetQ(0);
bins[k].SetMask(0xFFFFFFFE);
return kTRUE;;
}
nLow++;
if(cC>tH) nHigh++;
Int_t sS=bins[k-1].GetQ();
if(sS>tLm1) nLow++;
if(sS>tHm1) nHigh++;
Int_t nN=bins[k+1].GetQ();
if(nN>tLp1) nLow++;
if(nN>tHp1) nHigh++;
Int_t eE=bins[k-fNZbins].GetQ();
if(eE>tL) nLow++;
if(eE>tH) nHigh++;
Int_t wW=bins[k+fNZbins].GetQ();
if(wW>tL) nLow++;
if(wW>tH) nHigh++;
if(nLow<2 || nHigh<1) return kTRUE;
else return kFALSE;
}
AliITSClusterFinderV2SDD.cxx:1 AliITSClusterFinderV2SDD.cxx:2 AliITSClusterFinderV2SDD.cxx:3 AliITSClusterFinderV2SDD.cxx:4 AliITSClusterFinderV2SDD.cxx:5 AliITSClusterFinderV2SDD.cxx:6 AliITSClusterFinderV2SDD.cxx:7 AliITSClusterFinderV2SDD.cxx:8 AliITSClusterFinderV2SDD.cxx:9 AliITSClusterFinderV2SDD.cxx:10 AliITSClusterFinderV2SDD.cxx:11 AliITSClusterFinderV2SDD.cxx:12 AliITSClusterFinderV2SDD.cxx:13 AliITSClusterFinderV2SDD.cxx:14 AliITSClusterFinderV2SDD.cxx:15 AliITSClusterFinderV2SDD.cxx:16 AliITSClusterFinderV2SDD.cxx:17 AliITSClusterFinderV2SDD.cxx:18 AliITSClusterFinderV2SDD.cxx:19 AliITSClusterFinderV2SDD.cxx:20 AliITSClusterFinderV2SDD.cxx:21 AliITSClusterFinderV2SDD.cxx:22 AliITSClusterFinderV2SDD.cxx:23 AliITSClusterFinderV2SDD.cxx:24 AliITSClusterFinderV2SDD.cxx:25 AliITSClusterFinderV2SDD.cxx:26 AliITSClusterFinderV2SDD.cxx:27 AliITSClusterFinderV2SDD.cxx:28 AliITSClusterFinderV2SDD.cxx:29 AliITSClusterFinderV2SDD.cxx:30 AliITSClusterFinderV2SDD.cxx:31 AliITSClusterFinderV2SDD.cxx:32 AliITSClusterFinderV2SDD.cxx:33 AliITSClusterFinderV2SDD.cxx:34 AliITSClusterFinderV2SDD.cxx:35 AliITSClusterFinderV2SDD.cxx:36 AliITSClusterFinderV2SDD.cxx:37 AliITSClusterFinderV2SDD.cxx:38 AliITSClusterFinderV2SDD.cxx:39 AliITSClusterFinderV2SDD.cxx:40 AliITSClusterFinderV2SDD.cxx:41 AliITSClusterFinderV2SDD.cxx:42 AliITSClusterFinderV2SDD.cxx:43 AliITSClusterFinderV2SDD.cxx:44 AliITSClusterFinderV2SDD.cxx:45 AliITSClusterFinderV2SDD.cxx:46 AliITSClusterFinderV2SDD.cxx:47 AliITSClusterFinderV2SDD.cxx:48 AliITSClusterFinderV2SDD.cxx:49 AliITSClusterFinderV2SDD.cxx:50 AliITSClusterFinderV2SDD.cxx:51 AliITSClusterFinderV2SDD.cxx:52 AliITSClusterFinderV2SDD.cxx:53 AliITSClusterFinderV2SDD.cxx:54 AliITSClusterFinderV2SDD.cxx:55 AliITSClusterFinderV2SDD.cxx:56 AliITSClusterFinderV2SDD.cxx:57 AliITSClusterFinderV2SDD.cxx:58 AliITSClusterFinderV2SDD.cxx:59 AliITSClusterFinderV2SDD.cxx:60 AliITSClusterFinderV2SDD.cxx:61 AliITSClusterFinderV2SDD.cxx:62 AliITSClusterFinderV2SDD.cxx:63 AliITSClusterFinderV2SDD.cxx:64 AliITSClusterFinderV2SDD.cxx:65 AliITSClusterFinderV2SDD.cxx:66 AliITSClusterFinderV2SDD.cxx:67 AliITSClusterFinderV2SDD.cxx:68 AliITSClusterFinderV2SDD.cxx:69 AliITSClusterFinderV2SDD.cxx:70 AliITSClusterFinderV2SDD.cxx:71 AliITSClusterFinderV2SDD.cxx:72 AliITSClusterFinderV2SDD.cxx:73 AliITSClusterFinderV2SDD.cxx:74 AliITSClusterFinderV2SDD.cxx:75 AliITSClusterFinderV2SDD.cxx:76 AliITSClusterFinderV2SDD.cxx:77 AliITSClusterFinderV2SDD.cxx:78 AliITSClusterFinderV2SDD.cxx:79 AliITSClusterFinderV2SDD.cxx:80 AliITSClusterFinderV2SDD.cxx:81 AliITSClusterFinderV2SDD.cxx:82 AliITSClusterFinderV2SDD.cxx:83 AliITSClusterFinderV2SDD.cxx:84 AliITSClusterFinderV2SDD.cxx:85 AliITSClusterFinderV2SDD.cxx:86 AliITSClusterFinderV2SDD.cxx:87 AliITSClusterFinderV2SDD.cxx:88 AliITSClusterFinderV2SDD.cxx:89 AliITSClusterFinderV2SDD.cxx:90 AliITSClusterFinderV2SDD.cxx:91 AliITSClusterFinderV2SDD.cxx:92 AliITSClusterFinderV2SDD.cxx:93 AliITSClusterFinderV2SDD.cxx:94 AliITSClusterFinderV2SDD.cxx:95 AliITSClusterFinderV2SDD.cxx:96 AliITSClusterFinderV2SDD.cxx:97 AliITSClusterFinderV2SDD.cxx:98 AliITSClusterFinderV2SDD.cxx:99 AliITSClusterFinderV2SDD.cxx:100 AliITSClusterFinderV2SDD.cxx:101 AliITSClusterFinderV2SDD.cxx:102 AliITSClusterFinderV2SDD.cxx:103 AliITSClusterFinderV2SDD.cxx:104 AliITSClusterFinderV2SDD.cxx:105 AliITSClusterFinderV2SDD.cxx:106 AliITSClusterFinderV2SDD.cxx:107 AliITSClusterFinderV2SDD.cxx:108 AliITSClusterFinderV2SDD.cxx:109 AliITSClusterFinderV2SDD.cxx:110 AliITSClusterFinderV2SDD.cxx:111 AliITSClusterFinderV2SDD.cxx:112 AliITSClusterFinderV2SDD.cxx:113 AliITSClusterFinderV2SDD.cxx:114 AliITSClusterFinderV2SDD.cxx:115 AliITSClusterFinderV2SDD.cxx:116 AliITSClusterFinderV2SDD.cxx:117 AliITSClusterFinderV2SDD.cxx:118 AliITSClusterFinderV2SDD.cxx:119 AliITSClusterFinderV2SDD.cxx:120 AliITSClusterFinderV2SDD.cxx:121 AliITSClusterFinderV2SDD.cxx:122 AliITSClusterFinderV2SDD.cxx:123 AliITSClusterFinderV2SDD.cxx:124 AliITSClusterFinderV2SDD.cxx:125 AliITSClusterFinderV2SDD.cxx:126 AliITSClusterFinderV2SDD.cxx:127 AliITSClusterFinderV2SDD.cxx:128 AliITSClusterFinderV2SDD.cxx:129 AliITSClusterFinderV2SDD.cxx:130 AliITSClusterFinderV2SDD.cxx:131 AliITSClusterFinderV2SDD.cxx:132 AliITSClusterFinderV2SDD.cxx:133 AliITSClusterFinderV2SDD.cxx:134 AliITSClusterFinderV2SDD.cxx:135 AliITSClusterFinderV2SDD.cxx:136 AliITSClusterFinderV2SDD.cxx:137 AliITSClusterFinderV2SDD.cxx:138 AliITSClusterFinderV2SDD.cxx:139 AliITSClusterFinderV2SDD.cxx:140 AliITSClusterFinderV2SDD.cxx:141 AliITSClusterFinderV2SDD.cxx:142 AliITSClusterFinderV2SDD.cxx:143 AliITSClusterFinderV2SDD.cxx:144 AliITSClusterFinderV2SDD.cxx:145 AliITSClusterFinderV2SDD.cxx:146 AliITSClusterFinderV2SDD.cxx:147 AliITSClusterFinderV2SDD.cxx:148 AliITSClusterFinderV2SDD.cxx:149 AliITSClusterFinderV2SDD.cxx:150 AliITSClusterFinderV2SDD.cxx:151 AliITSClusterFinderV2SDD.cxx:152 AliITSClusterFinderV2SDD.cxx:153 AliITSClusterFinderV2SDD.cxx:154 AliITSClusterFinderV2SDD.cxx:155 AliITSClusterFinderV2SDD.cxx:156 AliITSClusterFinderV2SDD.cxx:157 AliITSClusterFinderV2SDD.cxx:158 AliITSClusterFinderV2SDD.cxx:159 AliITSClusterFinderV2SDD.cxx:160 AliITSClusterFinderV2SDD.cxx:161 AliITSClusterFinderV2SDD.cxx:162 AliITSClusterFinderV2SDD.cxx:163 AliITSClusterFinderV2SDD.cxx:164 AliITSClusterFinderV2SDD.cxx:165 AliITSClusterFinderV2SDD.cxx:166 AliITSClusterFinderV2SDD.cxx:167 AliITSClusterFinderV2SDD.cxx:168 AliITSClusterFinderV2SDD.cxx:169 AliITSClusterFinderV2SDD.cxx:170 AliITSClusterFinderV2SDD.cxx:171 AliITSClusterFinderV2SDD.cxx:172 AliITSClusterFinderV2SDD.cxx:173 AliITSClusterFinderV2SDD.cxx:174 AliITSClusterFinderV2SDD.cxx:175 AliITSClusterFinderV2SDD.cxx:176 AliITSClusterFinderV2SDD.cxx:177 AliITSClusterFinderV2SDD.cxx:178 AliITSClusterFinderV2SDD.cxx:179 AliITSClusterFinderV2SDD.cxx:180 AliITSClusterFinderV2SDD.cxx:181 AliITSClusterFinderV2SDD.cxx:182 AliITSClusterFinderV2SDD.cxx:183 AliITSClusterFinderV2SDD.cxx:184 AliITSClusterFinderV2SDD.cxx:185 AliITSClusterFinderV2SDD.cxx:186 AliITSClusterFinderV2SDD.cxx:187 AliITSClusterFinderV2SDD.cxx:188 AliITSClusterFinderV2SDD.cxx:189 AliITSClusterFinderV2SDD.cxx:190 AliITSClusterFinderV2SDD.cxx:191 AliITSClusterFinderV2SDD.cxx:192 AliITSClusterFinderV2SDD.cxx:193 AliITSClusterFinderV2SDD.cxx:194 AliITSClusterFinderV2SDD.cxx:195 AliITSClusterFinderV2SDD.cxx:196 AliITSClusterFinderV2SDD.cxx:197 AliITSClusterFinderV2SDD.cxx:198 AliITSClusterFinderV2SDD.cxx:199 AliITSClusterFinderV2SDD.cxx:200 AliITSClusterFinderV2SDD.cxx:201 AliITSClusterFinderV2SDD.cxx:202 AliITSClusterFinderV2SDD.cxx:203 AliITSClusterFinderV2SDD.cxx:204 AliITSClusterFinderV2SDD.cxx:205 AliITSClusterFinderV2SDD.cxx:206 AliITSClusterFinderV2SDD.cxx:207 AliITSClusterFinderV2SDD.cxx:208 AliITSClusterFinderV2SDD.cxx:209 AliITSClusterFinderV2SDD.cxx:210 AliITSClusterFinderV2SDD.cxx:211 AliITSClusterFinderV2SDD.cxx:212 AliITSClusterFinderV2SDD.cxx:213 AliITSClusterFinderV2SDD.cxx:214 AliITSClusterFinderV2SDD.cxx:215 AliITSClusterFinderV2SDD.cxx:216 AliITSClusterFinderV2SDD.cxx:217 AliITSClusterFinderV2SDD.cxx:218 AliITSClusterFinderV2SDD.cxx:219 AliITSClusterFinderV2SDD.cxx:220 AliITSClusterFinderV2SDD.cxx:221 AliITSClusterFinderV2SDD.cxx:222 AliITSClusterFinderV2SDD.cxx:223 AliITSClusterFinderV2SDD.cxx:224 AliITSClusterFinderV2SDD.cxx:225 AliITSClusterFinderV2SDD.cxx:226 AliITSClusterFinderV2SDD.cxx:227 AliITSClusterFinderV2SDD.cxx:228 AliITSClusterFinderV2SDD.cxx:229 AliITSClusterFinderV2SDD.cxx:230 AliITSClusterFinderV2SDD.cxx:231 AliITSClusterFinderV2SDD.cxx:232 AliITSClusterFinderV2SDD.cxx:233 AliITSClusterFinderV2SDD.cxx:234 AliITSClusterFinderV2SDD.cxx:235 AliITSClusterFinderV2SDD.cxx:236 AliITSClusterFinderV2SDD.cxx:237 AliITSClusterFinderV2SDD.cxx:238 AliITSClusterFinderV2SDD.cxx:239 AliITSClusterFinderV2SDD.cxx:240 AliITSClusterFinderV2SDD.cxx:241 AliITSClusterFinderV2SDD.cxx:242 AliITSClusterFinderV2SDD.cxx:243 AliITSClusterFinderV2SDD.cxx:244 AliITSClusterFinderV2SDD.cxx:245 AliITSClusterFinderV2SDD.cxx:246 AliITSClusterFinderV2SDD.cxx:247 AliITSClusterFinderV2SDD.cxx:248 AliITSClusterFinderV2SDD.cxx:249 AliITSClusterFinderV2SDD.cxx:250 AliITSClusterFinderV2SDD.cxx:251 AliITSClusterFinderV2SDD.cxx:252 AliITSClusterFinderV2SDD.cxx:253 AliITSClusterFinderV2SDD.cxx:254 AliITSClusterFinderV2SDD.cxx:255 AliITSClusterFinderV2SDD.cxx:256 AliITSClusterFinderV2SDD.cxx:257 AliITSClusterFinderV2SDD.cxx:258 AliITSClusterFinderV2SDD.cxx:259 AliITSClusterFinderV2SDD.cxx:260 AliITSClusterFinderV2SDD.cxx:261 AliITSClusterFinderV2SDD.cxx:262 AliITSClusterFinderV2SDD.cxx:263 AliITSClusterFinderV2SDD.cxx:264 AliITSClusterFinderV2SDD.cxx:265 AliITSClusterFinderV2SDD.cxx:266 AliITSClusterFinderV2SDD.cxx:267 AliITSClusterFinderV2SDD.cxx:268 AliITSClusterFinderV2SDD.cxx:269 AliITSClusterFinderV2SDD.cxx:270 AliITSClusterFinderV2SDD.cxx:271 AliITSClusterFinderV2SDD.cxx:272 AliITSClusterFinderV2SDD.cxx:273 AliITSClusterFinderV2SDD.cxx:274 AliITSClusterFinderV2SDD.cxx:275 AliITSClusterFinderV2SDD.cxx:276 AliITSClusterFinderV2SDD.cxx:277 AliITSClusterFinderV2SDD.cxx:278 AliITSClusterFinderV2SDD.cxx:279 AliITSClusterFinderV2SDD.cxx:280 AliITSClusterFinderV2SDD.cxx:281 AliITSClusterFinderV2SDD.cxx:282 AliITSClusterFinderV2SDD.cxx:283 AliITSClusterFinderV2SDD.cxx:284 AliITSClusterFinderV2SDD.cxx:285 AliITSClusterFinderV2SDD.cxx:286 AliITSClusterFinderV2SDD.cxx:287 AliITSClusterFinderV2SDD.cxx:288 AliITSClusterFinderV2SDD.cxx:289 AliITSClusterFinderV2SDD.cxx:290 AliITSClusterFinderV2SDD.cxx:291 AliITSClusterFinderV2SDD.cxx:292 AliITSClusterFinderV2SDD.cxx:293 AliITSClusterFinderV2SDD.cxx:294 AliITSClusterFinderV2SDD.cxx:295 AliITSClusterFinderV2SDD.cxx:296 AliITSClusterFinderV2SDD.cxx:297 AliITSClusterFinderV2SDD.cxx:298 AliITSClusterFinderV2SDD.cxx:299 AliITSClusterFinderV2SDD.cxx:300 AliITSClusterFinderV2SDD.cxx:301 AliITSClusterFinderV2SDD.cxx:302 AliITSClusterFinderV2SDD.cxx:303 AliITSClusterFinderV2SDD.cxx:304 AliITSClusterFinderV2SDD.cxx:305 AliITSClusterFinderV2SDD.cxx:306 AliITSClusterFinderV2SDD.cxx:307 AliITSClusterFinderV2SDD.cxx:308 AliITSClusterFinderV2SDD.cxx:309 AliITSClusterFinderV2SDD.cxx:310 AliITSClusterFinderV2SDD.cxx:311 AliITSClusterFinderV2SDD.cxx:312 AliITSClusterFinderV2SDD.cxx:313 AliITSClusterFinderV2SDD.cxx:314 AliITSClusterFinderV2SDD.cxx:315 AliITSClusterFinderV2SDD.cxx:316 AliITSClusterFinderV2SDD.cxx:317 AliITSClusterFinderV2SDD.cxx:318 AliITSClusterFinderV2SDD.cxx:319 AliITSClusterFinderV2SDD.cxx:320 AliITSClusterFinderV2SDD.cxx:321 AliITSClusterFinderV2SDD.cxx:322 AliITSClusterFinderV2SDD.cxx:323 AliITSClusterFinderV2SDD.cxx:324 AliITSClusterFinderV2SDD.cxx:325 AliITSClusterFinderV2SDD.cxx:326 AliITSClusterFinderV2SDD.cxx:327 AliITSClusterFinderV2SDD.cxx:328 AliITSClusterFinderV2SDD.cxx:329 AliITSClusterFinderV2SDD.cxx:330 AliITSClusterFinderV2SDD.cxx:331 AliITSClusterFinderV2SDD.cxx:332 AliITSClusterFinderV2SDD.cxx:333 AliITSClusterFinderV2SDD.cxx:334 AliITSClusterFinderV2SDD.cxx:335 AliITSClusterFinderV2SDD.cxx:336 AliITSClusterFinderV2SDD.cxx:337 AliITSClusterFinderV2SDD.cxx:338 AliITSClusterFinderV2SDD.cxx:339 AliITSClusterFinderV2SDD.cxx:340 AliITSClusterFinderV2SDD.cxx:341 AliITSClusterFinderV2SDD.cxx:342 AliITSClusterFinderV2SDD.cxx:343 AliITSClusterFinderV2SDD.cxx:344 AliITSClusterFinderV2SDD.cxx:345 AliITSClusterFinderV2SDD.cxx:346 AliITSClusterFinderV2SDD.cxx:347 AliITSClusterFinderV2SDD.cxx:348 AliITSClusterFinderV2SDD.cxx:349 AliITSClusterFinderV2SDD.cxx:350 AliITSClusterFinderV2SDD.cxx:351 AliITSClusterFinderV2SDD.cxx:352 AliITSClusterFinderV2SDD.cxx:353 AliITSClusterFinderV2SDD.cxx:354 AliITSClusterFinderV2SDD.cxx:355 AliITSClusterFinderV2SDD.cxx:356 AliITSClusterFinderV2SDD.cxx:357 AliITSClusterFinderV2SDD.cxx:358 AliITSClusterFinderV2SDD.cxx:359 AliITSClusterFinderV2SDD.cxx:360 AliITSClusterFinderV2SDD.cxx:361 AliITSClusterFinderV2SDD.cxx:362 AliITSClusterFinderV2SDD.cxx:363 AliITSClusterFinderV2SDD.cxx:364 AliITSClusterFinderV2SDD.cxx:365 AliITSClusterFinderV2SDD.cxx:366 AliITSClusterFinderV2SDD.cxx:367 AliITSClusterFinderV2SDD.cxx:368 AliITSClusterFinderV2SDD.cxx:369 AliITSClusterFinderV2SDD.cxx:370 AliITSClusterFinderV2SDD.cxx:371 AliITSClusterFinderV2SDD.cxx:372 AliITSClusterFinderV2SDD.cxx:373 AliITSClusterFinderV2SDD.cxx:374 AliITSClusterFinderV2SDD.cxx:375 AliITSClusterFinderV2SDD.cxx:376 AliITSClusterFinderV2SDD.cxx:377 AliITSClusterFinderV2SDD.cxx:378 AliITSClusterFinderV2SDD.cxx:379 AliITSClusterFinderV2SDD.cxx:380 AliITSClusterFinderV2SDD.cxx:381 AliITSClusterFinderV2SDD.cxx:382 AliITSClusterFinderV2SDD.cxx:383 AliITSClusterFinderV2SDD.cxx:384 AliITSClusterFinderV2SDD.cxx:385 AliITSClusterFinderV2SDD.cxx:386 AliITSClusterFinderV2SDD.cxx:387 AliITSClusterFinderV2SDD.cxx:388 AliITSClusterFinderV2SDD.cxx:389 AliITSClusterFinderV2SDD.cxx:390 AliITSClusterFinderV2SDD.cxx:391 AliITSClusterFinderV2SDD.cxx:392 AliITSClusterFinderV2SDD.cxx:393 AliITSClusterFinderV2SDD.cxx:394 AliITSClusterFinderV2SDD.cxx:395 AliITSClusterFinderV2SDD.cxx:396 AliITSClusterFinderV2SDD.cxx:397 AliITSClusterFinderV2SDD.cxx:398 AliITSClusterFinderV2SDD.cxx:399 AliITSClusterFinderV2SDD.cxx:400 AliITSClusterFinderV2SDD.cxx:401 AliITSClusterFinderV2SDD.cxx:402 AliITSClusterFinderV2SDD.cxx:403 AliITSClusterFinderV2SDD.cxx:404 AliITSClusterFinderV2SDD.cxx:405 AliITSClusterFinderV2SDD.cxx:406 AliITSClusterFinderV2SDD.cxx:407 AliITSClusterFinderV2SDD.cxx:408 AliITSClusterFinderV2SDD.cxx:409 AliITSClusterFinderV2SDD.cxx:410 AliITSClusterFinderV2SDD.cxx:411 AliITSClusterFinderV2SDD.cxx:412 AliITSClusterFinderV2SDD.cxx:413 AliITSClusterFinderV2SDD.cxx:414 AliITSClusterFinderV2SDD.cxx:415 AliITSClusterFinderV2SDD.cxx:416 AliITSClusterFinderV2SDD.cxx:417 AliITSClusterFinderV2SDD.cxx:418 AliITSClusterFinderV2SDD.cxx:419 AliITSClusterFinderV2SDD.cxx:420 AliITSClusterFinderV2SDD.cxx:421 AliITSClusterFinderV2SDD.cxx:422 AliITSClusterFinderV2SDD.cxx:423 AliITSClusterFinderV2SDD.cxx:424 AliITSClusterFinderV2SDD.cxx:425 AliITSClusterFinderV2SDD.cxx:426 AliITSClusterFinderV2SDD.cxx:427 AliITSClusterFinderV2SDD.cxx:428 AliITSClusterFinderV2SDD.cxx:429 AliITSClusterFinderV2SDD.cxx:430 AliITSClusterFinderV2SDD.cxx:431 AliITSClusterFinderV2SDD.cxx:432 AliITSClusterFinderV2SDD.cxx:433 AliITSClusterFinderV2SDD.cxx:434 AliITSClusterFinderV2SDD.cxx:435 AliITSClusterFinderV2SDD.cxx:436 AliITSClusterFinderV2SDD.cxx:437 AliITSClusterFinderV2SDD.cxx:438 AliITSClusterFinderV2SDD.cxx:439 AliITSClusterFinderV2SDD.cxx:440 AliITSClusterFinderV2SDD.cxx:441 AliITSClusterFinderV2SDD.cxx:442 AliITSClusterFinderV2SDD.cxx:443 AliITSClusterFinderV2SDD.cxx:444 AliITSClusterFinderV2SDD.cxx:445 AliITSClusterFinderV2SDD.cxx:446 AliITSClusterFinderV2SDD.cxx:447 AliITSClusterFinderV2SDD.cxx:448 AliITSClusterFinderV2SDD.cxx:449 AliITSClusterFinderV2SDD.cxx:450 AliITSClusterFinderV2SDD.cxx:451 AliITSClusterFinderV2SDD.cxx:452 AliITSClusterFinderV2SDD.cxx:453 AliITSClusterFinderV2SDD.cxx:454 AliITSClusterFinderV2SDD.cxx:455 AliITSClusterFinderV2SDD.cxx:456 AliITSClusterFinderV2SDD.cxx:457 AliITSClusterFinderV2SDD.cxx:458 AliITSClusterFinderV2SDD.cxx:459 AliITSClusterFinderV2SDD.cxx:460 AliITSClusterFinderV2SDD.cxx:461 AliITSClusterFinderV2SDD.cxx:462 AliITSClusterFinderV2SDD.cxx:463 AliITSClusterFinderV2SDD.cxx:464 AliITSClusterFinderV2SDD.cxx:465 AliITSClusterFinderV2SDD.cxx:466 AliITSClusterFinderV2SDD.cxx:467 AliITSClusterFinderV2SDD.cxx:468 AliITSClusterFinderV2SDD.cxx:469 AliITSClusterFinderV2SDD.cxx:470 AliITSClusterFinderV2SDD.cxx:471 AliITSClusterFinderV2SDD.cxx:472 AliITSClusterFinderV2SDD.cxx:473 AliITSClusterFinderV2SDD.cxx:474 AliITSClusterFinderV2SDD.cxx:475 AliITSClusterFinderV2SDD.cxx:476 AliITSClusterFinderV2SDD.cxx:477 AliITSClusterFinderV2SDD.cxx:478 AliITSClusterFinderV2SDD.cxx:479 AliITSClusterFinderV2SDD.cxx:480 AliITSClusterFinderV2SDD.cxx:481 AliITSClusterFinderV2SDD.cxx:482 AliITSClusterFinderV2SDD.cxx:483 AliITSClusterFinderV2SDD.cxx:484 AliITSClusterFinderV2SDD.cxx:485 AliITSClusterFinderV2SDD.cxx:486 AliITSClusterFinderV2SDD.cxx:487 AliITSClusterFinderV2SDD.cxx:488 AliITSClusterFinderV2SDD.cxx:489 AliITSClusterFinderV2SDD.cxx:490 AliITSClusterFinderV2SDD.cxx:491 AliITSClusterFinderV2SDD.cxx:492 AliITSClusterFinderV2SDD.cxx:493 AliITSClusterFinderV2SDD.cxx:494 AliITSClusterFinderV2SDD.cxx:495 AliITSClusterFinderV2SDD.cxx:496 AliITSClusterFinderV2SDD.cxx:497 AliITSClusterFinderV2SDD.cxx:498 AliITSClusterFinderV2SDD.cxx:499 AliITSClusterFinderV2SDD.cxx:500 AliITSClusterFinderV2SDD.cxx:501 AliITSClusterFinderV2SDD.cxx:502 AliITSClusterFinderV2SDD.cxx:503 AliITSClusterFinderV2SDD.cxx:504 AliITSClusterFinderV2SDD.cxx:505 AliITSClusterFinderV2SDD.cxx:506 AliITSClusterFinderV2SDD.cxx:507 AliITSClusterFinderV2SDD.cxx:508 AliITSClusterFinderV2SDD.cxx:509 AliITSClusterFinderV2SDD.cxx:510 AliITSClusterFinderV2SDD.cxx:511 AliITSClusterFinderV2SDD.cxx:512 AliITSClusterFinderV2SDD.cxx:513