// Implementation of the ITS clusterer V2 class
//
// Origin: Iouri Belikov, CERN, Jouri.Belikov@cern.ch
// Implementation of the ITS clusterer V2 class
//
// Origin: Iouri Belikov, CERN, Jouri.Belikov@cern.ch
AliITSclustererV2::AliITSclustererV2(const Char_t *geom):
fNModules(AliITSgeomTGeo::GetNModules()),
fEvent(0),
AliITSclustererV2::AliITSclustererV2(const Char_t *geom):
fNModules(AliITSgeomTGeo::GetNModules()),
fEvent(0),
//------------------------------------------------------------
// This function creates ITS clusters from raw data
//------------------------------------------------------------
//------------------------------------------------------------
// This function creates ITS clusters from raw data
//------------------------------------------------------------
for (Int_t iModule = 0; iModule < fNModules; iModule++) {
array = clusters[iModule];
if (!array) {
Error("Digits2Clusters", "data for module %d missing!", iModule);
for (Int_t iModule = 0; iModule < fNModules; iModule++) {
array = clusters[iModule];
if (!array) {
Error("Digits2Clusters", "data for module %d missing!", iModule);
}
cTree->SetBranchAddress("Clusters", &array);
cTree->Fill();
nClusters += array->GetEntriesFast();
}
cTree->SetBranchAddress("Clusters", &array);
cTree->Fill();
nClusters += array->GetEntriesFast();
//------------------------------------------------------------
// Tries to find mother's labels
//------------------------------------------------------------
//------------------------------------------------------------
// Tries to find mother's labels
//------------------------------------------------------------
//------------------------------------------------------------
// Tries to find mother's labels
//------------------------------------------------------------
//------------------------------------------------------------
// Tries to find mother's labels
//------------------------------------------------------------
static void AddLabel(Int_t lab[10], Int_t label) {
// add label of the particle in the kine tree which originates this cluster
// (used for reconstruction of MC data only, for comparison purposes)
static void AddLabel(Int_t lab[10], Int_t label) {
// add label of the particle in the kine tree which originates this cluster
// (used for reconstruction of MC data only, for comparison purposes)
if (TMath::Abs( d->GetCoord2()-iy)>0.75*idy) continue;
if (TMath::Abs( d->GetCoord1()-iz)>0.75*idz) continue;
}
if (TMath::Abs( d->GetCoord2()-iy)>0.75*idy) continue;
if (TMath::Abs( d->GetCoord1()-iz)>0.75*idz) continue;
}
Int_t info[3] = {ymax-ymin+1,zmax-zmin+1,fNlayer[fI]};
new (cl[n]) AliITSclusterV2(milab,lp,info); n++;
}
Int_t info[3] = {ymax-ymin+1,zmax-zmin+1,fNlayer[fI]};
new (cl[n]) AliITSclusterV2(milab,lp,info); n++;
}
- Int_t index = (input->GetCoord2()+1) * kNzBins + (input->GetCoord1()+1);
- bins[index].SetIndex(index);
- bins[index].SetMask(1);
- bins[index].SetQ(1);
+ if(bins){
+ Int_t index = (input->GetCoord2()+1) * kNzBins + (input->GetCoord1()+1);
+ bins[index].SetIndex(index);
+ bins[index].SetMask(1);
+ bins[index].SetQ(1);
+ }
Float_t y=0., q=0., qmax=0.;
Int_t lab[4]={-2,-2,-2,-2};
Float_t y=0., q=0., qmax=0.;
Int_t lab[4]={-2,-2,-2,-2};
// Actual SSD cluster finder for raw data
//------------------------------------------------------------
Int_t nClustersSSD = 0;
// Actual SSD cluster finder for raw data
//------------------------------------------------------------
Int_t nClustersSSD = 0;
fI = iModule;
FindClustersSSD(&clusters1D[0][0], nClusters[0],
&clusters1D[1][0], nClusters[1], clusters[iModule]);
fI = iModule;
FindClustersSSD(&clusters1D[0][0], nClusters[0],
&clusters1D[1][0], nClusters[1], clusters[iModule]);