#include "AliMUONClusterFinderMLEM.h"
#include "AliLog.h"
#include "AliMUONCluster.h"
#include "AliMUONClusterSplitterMLEM.h"
#include "AliMUONVDigit.h"
#include "AliMUONPad.h"
#include "AliMUONPreClusterFinder.h"
#include "AliMpPad.h"
#include "AliMpVPadIterator.h"
#include "AliMpVSegmentation.h"
#include "AliRunLoader.h"
#include "AliMUONVDigitStore.h"
#include <Riostream.h>
#include <TH2.h>
#include <TMinuit.h>
#include <TCanvas.h>
#include <TMath.h>
#include "AliCodeTimer.h"
using std::endl;
using std::cout;
ClassImp(AliMUONClusterFinderMLEM)
const Double_t AliMUONClusterFinderMLEM::fgkDistancePrecision = 1e-3;
const TVector2 AliMUONClusterFinderMLEM::fgkIncreaseSize(-AliMUONClusterFinderMLEM::fgkDistancePrecision,-AliMUONClusterFinderMLEM::fgkDistancePrecision);
const TVector2 AliMUONClusterFinderMLEM::fgkDecreaseSize(AliMUONClusterFinderMLEM::fgkDistancePrecision,AliMUONClusterFinderMLEM::fgkDistancePrecision);
const Int_t AliMUONClusterFinderMLEM::fgkZero = 0x0;
const Int_t AliMUONClusterFinderMLEM::fgkMustKeep = 0x1;
const Int_t AliMUONClusterFinderMLEM::fgkUseForFit = 0x10;
const Int_t AliMUONClusterFinderMLEM::fgkOver = 0x100;
const Int_t AliMUONClusterFinderMLEM::fgkModified = 0x1000;
const Int_t AliMUONClusterFinderMLEM::fgkCoupled = 0x10000;
AliMUONClusterFinderMLEM::AliMUONClusterFinderMLEM(Bool_t plot, AliMUONVClusterFinder* clusterFinder)
: AliMUONVClusterFinder(),
fPreClusterFinder(clusterFinder),
fPreCluster(0x0),
fClusterList(),
fEventNumber(0),
fDetElemId(-1),
fClusterNumber(0),
fHistMlem(0x0),
fHistAnode(0x0),
fPixArray(new TObjArray(20)),
fDebug(0),
fPlot(plot),
fSplitter(0x0),
fNClusters(0),
fNAddVirtualPads(0),
fLowestPixelCharge(0),
fLowestPadCharge(0),
fLowestClusterCharge(0)
{
fkSegmentation[1] = fkSegmentation[0] = 0x0;
if (fPlot) fDebug = 1;
}
AliMUONClusterFinderMLEM::~AliMUONClusterFinderMLEM()
{
delete fPixArray; fPixArray = 0;
delete fPreClusterFinder;
delete fSplitter;
AliInfo(Form("Total clusters %d AddVirtualPad needed %d",
fNClusters,fNAddVirtualPads));
}
Bool_t
AliMUONClusterFinderMLEM::Prepare(Int_t detElemId,
TObjArray* pads[2],
const AliMpArea& area,
const AliMpVSegmentation* seg[2])
{
for ( Int_t i = 0; i < 2; ++i )
{
fkSegmentation[i] = seg[i];
}
fDetElemId = detElemId;
delete fSplitter;
fSplitter = new AliMUONClusterSplitterMLEM(fDetElemId,
fPixArray,
fLowestPixelCharge,
fLowestPadCharge,
fLowestClusterCharge);
fSplitter->SetDebug(fDebug);
AliRunLoader *runLoader = AliRunLoader::Instance();
fEventNumber = runLoader ? runLoader->GetEventNumber() : 0;
fClusterNumber = -1;
fClusterList.Delete();
fPixArray->Delete();
AliDebug(3,Form("EVT %d DE %d",fEventNumber,fDetElemId));
if ( fPreClusterFinder->NeedSegmentation() )
{
return fPreClusterFinder->Prepare(detElemId,pads,area,seg);
}
else
{
return fPreClusterFinder->Prepare(detElemId,pads,area);
}
}
AliMUONCluster*
AliMUONClusterFinderMLEM::NextCluster()
{
TObject* o(0x0);
if ( fClusterNumber < fClusterList.GetLast() )
{
o = fClusterList.At(++fClusterNumber);
}
if ( o != 0x0 ) return static_cast<AliMUONCluster*>(o);
fPreCluster = fPreClusterFinder->NextCluster();
fPixArray->Delete();
fClusterList.Delete();
fClusterNumber = -1;
if (!fPreCluster)
{
return 0x0;
}
WorkOnPreCluster();
Int_t mult = fPreCluster->Multiplicity();
for ( Int_t i = 0; i < mult; ++i )
{
AliMUONPad* pad = fPreCluster->Pad(i);
if ( !pad->IsUsed() )
{
fPreClusterFinder->UsePad(*pad);
}
}
return NextCluster();
}
Bool_t
AliMUONClusterFinderMLEM::WorkOnPreCluster()
{
if (fDebug) {
cout << " *** Event # " << fEventNumber
<< " det. elem.: " << fDetElemId << endl;
for (Int_t j = 0; j < fPreCluster->Multiplicity(); ++j) {
AliMUONPad* pad = fPreCluster->Pad(j);
printf(" bbb %3d %1d %8.4f %8.4f %8.4f %8.4f %6.1f %3d %3d %2d %1d %1d \n",
j, pad->Cathode(), pad->Coord(0), pad->Coord(1), pad->DX()*2, pad->DY()*2,
pad->Charge(), pad->Ix(), pad->Iy(), pad->Status(), pad->IsReal(), pad->IsSaturated());
}
}
AliMUONCluster* cluster = CheckPrecluster(*fPreCluster);
if (!cluster) return kFALSE;
BuildPixArray(*cluster);
if ( fPixArray->GetLast() < 0 )
{
AliDebug(1,"No pixel for the above cluster");
delete cluster;
return kFALSE;
}
Int_t nMax = 1, localMax[100], maxPos[100];
Double_t maxVal[100];
Int_t iSimple = 0, nInX = -1, nInY;
PadsInXandY(*cluster,nInX, nInY);
if (nInX < 4 && nInY < 4)
{
iSimple = 1;
}
else
{
nMax = FindLocalMaxima(fPixArray, localMax, maxVal);
if (nMax > 1) {
if (cluster->Multiplicity() <= 50) nMax = 1;
if (nMax > 1) TMath::Sort(nMax, maxVal, maxPos, kTRUE);
}
}
for (Int_t i = 0; i < nMax; ++i)
{
if (nMax > 1)
{
FindCluster(*cluster,localMax, maxPos[i]);
}
MainLoop(*cluster,iSimple);
if (i < nMax-1)
{
Int_t mult = cluster->Multiplicity();
for (Int_t j = 0; j < mult; ++j)
{
AliMUONPad* pad = cluster->Pad(j);
if ( pad->Status() != fgkOver ) continue;
pad->SetStatus(fgkZero);
pad->RevertCharge();
}
}
}
delete fHistMlem;
delete fHistAnode;
fHistMlem = fHistAnode = 0x0;
delete cluster;
return kTRUE;
}
Bool_t
AliMUONClusterFinderMLEM::Overlap(const AliMUONPad& pad, const AliMUONPad& pixel)
{
AliMUONPad tmp(pad.DetElemId(),pad.Cathode(),pad.Ix(),pad.Iy(),
pixel.Coord(0),pixel.Coord(1),
pixel.Size(0),pixel.Size(1),0);
return AliMUONPad::AreOverlapping(pad,tmp,fgkDecreaseSize);
}
AliMUONCluster*
AliMUONClusterFinderMLEM::CheckPrecluster(const AliMUONCluster& origCluster)
{
AliCodeTimerAuto("",0)
if ((origCluster.Multiplicity()==1 || origCluster.Multiplicity()==2) &&
origCluster.Charge(0)+origCluster.Charge(1) < fLowestClusterCharge )
{
return 0x0;
}
AliMUONCluster* cluster = new AliMUONCluster(origCluster);
AliDebug(2,"Start of CheckPreCluster=");
AliMUONCluster* rv(0x0);
if (cluster->Multiplicity(0) && cluster->Multiplicity(1))
{
rv = CheckPreclusterTwoCathodes(cluster);
}
else
{
rv = cluster;
}
return rv;
}
AliMUONCluster*
AliMUONClusterFinderMLEM::CheckPreclusterTwoCathodes(AliMUONCluster* cluster)
{
Int_t npad = cluster->Multiplicity();
Int_t* flags = new Int_t[npad];
for (Int_t j = 0; j < npad; ++j) flags[j] = 0;
for ( Int_t i = 0; i < npad; ++i)
{
AliMUONPad* padi = cluster->Pad(i);
if ( padi->Cathode() != 0 ) continue;
for (Int_t j = i+1; j < npad; ++j)
{
AliMUONPad* padj = cluster->Pad(j);
if ( padj->Cathode() != 1 ) continue;
if ( !AliMUONPad::AreOverlapping(*padi,*padj,fgkDecreaseSize) ) continue;
flags[i] = flags[j] = 1;
}
}
Int_t nFlags=0;
for (Int_t i = 0; i < npad; ++i)
{
if (!flags[i]) ++nFlags;
}
if (nFlags > 0)
{
if (fDebug) cout << " nFlags: " << nFlags << endl;
TObjArray toBeRemoved;
for (Int_t i = 0; i < npad; ++i)
{
AliMUONPad* pad = cluster->Pad(i);
if (flags[i]) continue;
Int_t cath = pad->Cathode();
Int_t cath1 = TMath::Even(cath);
AliMpPad mpPad =
fkSegmentation[cath1]->PadByPosition(pad->Position().X(),
pad->Position().Y(),kFALSE);
if (!mpPad.IsValid()) continue;
if (nFlags == 1 && pad->Charge() < fLowestPadCharge) continue;
AliDebug(2,Form("Releasing the following pad : de,cath,ix,iy %d,%d,%d,%d charge %e",
fDetElemId,pad->Cathode(),pad->Ix(),pad->Iy(),pad->Charge()));
toBeRemoved.AddLast(pad);
fPreCluster->Pad(i)->Release();
}
Int_t nRemove = toBeRemoved.GetEntriesFast();
for ( Int_t i = 0; i < nRemove; ++i )
{
cluster->RemovePad(static_cast<AliMUONPad*>(toBeRemoved.UncheckedAt(i)));
}
}
if ( !cluster->IsSaturated() && cluster->ChargeAsymmetry() > 1 )
{
Int_t cathode = cluster->MaxRawChargeCathode();
Int_t imin(-1);
Int_t imax(-1);
Double_t cmax(0);
Double_t cmin(1E9);
Int_t mult = cluster->Multiplicity();
for ( Int_t i = 0; i < mult; ++i )
{
AliMUONPad* pad = cluster->Pad(i);
if ( pad->Cathode() != cathode || !pad->IsReal() )
{
continue;
}
if ( pad->Charge() < cmin )
{
cmin = pad->Charge();
imin = i;
if (imax < 0) {
imax = imin;
cmax = cmin;
}
}
else if ( pad->Charge() > cmax )
{
cmax = pad->Charge();
imax = i;
}
}
AliDebug(2,Form("Pad imin,imax %d,%d cmin,cmax %e,%e",
imin,imax,cmin,cmax));
Double_t* dist = new Double_t[mult];
Double_t dxMin(1E9);
Double_t dyMin(1E9);
Double_t dmin(0);
AliMUONPad* padmax = cluster->Pad(imax);
for ( Int_t i = 0; i < mult; ++i )
{
dist[i] = 0.0;
if ( i == imax) continue;
AliMUONPad* pad = cluster->Pad(i);
if ( pad->Cathode() != cathode || !pad->IsReal() ) continue;
Double_t dx = (pad->X()-padmax->X())/padmax->DX()/2.0;
Double_t dy = (pad->Y()-padmax->Y())/padmax->DY()/2.0;
dist[i] = TMath::Sqrt(dx*dx+dy*dy);
if ( i == imin )
{
dmin = dist[i] + 1E-3;
dxMin = dx;
dyMin = dy;
}
}
TMath::Sort(mult,dist,flags,kFALSE);
Double_t xmax(-1), distPrev(999);
TObjArray toBeRemoved;
for ( Int_t i = 0; i < mult; ++i )
{
Int_t indx = flags[i];
AliMUONPad* pad = cluster->Pad(indx);
if ( pad->Cathode() != cathode || !pad->IsReal() ) continue;
if ( dist[indx] > dmin )
{
Double_t dx = (pad->X()-padmax->X())/padmax->DX()/2.0;
Double_t dy = (pad->Y()-padmax->Y())/padmax->DY()/2.0;
dx *= dxMin;
dy *= dyMin;
if (dx >= 0 && dy >= 0) continue;
if (TMath::Abs(dx) > TMath::Abs(dy) && dx >= 0) continue;
if (TMath::Abs(dy) > TMath::Abs(dx) && dy >= 0) continue;
}
if (dist[indx] > distPrev + 1) break;
if ( pad->Charge() <= cmax || TMath::Abs(dist[indx]-xmax) < 1E-3 )
{
if (TMath::Abs(dist[indx]-xmax) < 1.e-3)
{
cmax = TMath::Max(pad->Charge(),cmax);
}
else
{
cmax = pad->Charge();
}
xmax = dist[indx];
distPrev = dist[indx];
AliDebug(2,Form("Releasing the following pad : de,cath,ix,iy %d,%d,%d,%d charge %e",
fDetElemId,pad->Cathode(),pad->Ix(),pad->Iy(),
pad->Charge()));
toBeRemoved.AddLast(pad);
fPreCluster->Pad(indx)->Release();
}
}
Int_t nRemove = toBeRemoved.GetEntriesFast();
for ( Int_t i = 0; i < nRemove; ++i )
{
cluster->RemovePad(static_cast<AliMUONPad*>(toBeRemoved.UncheckedAt(i)));
}
delete[] dist;
}
delete[] flags;
AliDebug(2,"End of CheckPreClusterTwoCathodes=");
return cluster;
}
void
AliMUONClusterFinderMLEM::CheckOverlaps()
{
Int_t nPix = fPixArray->GetLast()+1;
Int_t dummy(0);
for ( Int_t i = 0; i < nPix; ++i )
{
AliMUONPad* pixelI = Pixel(i);
AliMUONPad pi(dummy,dummy,dummy,dummy,
pixelI->Coord(0),pixelI->Coord(1),
pixelI->Size(0),pixelI->Size(1),0.0);
for ( Int_t j = i+1; j < nPix; ++j )
{
AliMUONPad* pixelJ = Pixel(j);
AliMUONPad pj(dummy,dummy,dummy,dummy,
pixelJ->Coord(0),pixelJ->Coord(1),
pixelJ->Size(0),pixelJ->Size(1),0.0);
AliMpArea area;
if ( AliMUONPad::AreOverlapping(pi,pj,fgkDecreaseSize,area) )
{
AliInfo(Form("The following 2 pixels (%d and %d) overlap !",i,j));
}
}
}
}
void AliMUONClusterFinderMLEM::BuildPixArray(AliMUONCluster& cluster)
{
Int_t npad = cluster.Multiplicity();
if (npad<=0)
{
AliWarning("Got no pad at all ?!");
}
fPixArray->Delete();
BuildPixArrayOneCathode(cluster);
Int_t nPix = fPixArray->GetLast()+1;
if ( nPix > npad )
{
fPixArray->Sort();
for ( Int_t i = npad; i < nPix; ++i )
{
RemovePixel(i);
}
fPixArray->Compress();
}
}
void AliMUONClusterFinderMLEM::BuildPixArrayOneCathode(AliMUONCluster& cluster)
{
TVector2 dim = cluster.MinPadDimensions (-1, kFALSE);
Double_t width[2] = {dim.X(), dim.Y()}, xy0[2]={99999,99999};
Int_t found[2] = {0,0}, mult = cluster.Multiplicity();
for ( Int_t i = 0; i < mult; ++i) {
AliMUONPad* pad = cluster.Pad(i);
for (Int_t j = 0; j < 2; ++j) {
if (found[j] == 0 && TMath::Abs(pad->Size(j)-width[j]) < fgkDistancePrecision) {
xy0[j] = pad->Coord(j);
found[j] = 1;
}
}
if (found[0] && found[1]) break;
}
Double_t min[2], max[2];
Int_t cath0 = 0, cath1 = 1;
if (cluster.Multiplicity(0) == 0) cath0 = 1;
else if (cluster.Multiplicity(1) == 0) cath1 = 0;
Double_t leftDownX, leftDownY;
cluster.Area(cath0).LeftDownCorner(leftDownX, leftDownY);
Double_t rightUpX, rightUpY;
cluster.Area(cath0).RightUpCorner(rightUpX, rightUpY);
min[0] = leftDownX;
min[1] = leftDownY;
max[0] = rightUpX;
max[1] = rightUpY;;
if (cath1 != cath0) {
cluster.Area(cath1).LeftDownCorner(leftDownX, leftDownY);
cluster.Area(cath1).RightUpCorner(rightUpX, rightUpY);
min[0] = TMath::Max (min[0], leftDownX);
min[1] = TMath::Max (min[1], leftDownY);
max[0] = TMath::Min (max[0], rightUpX);
max[1] = TMath::Min (max[1], rightUpY);
}
Int_t nbins[2]={0,0};
for (Int_t i = 0; i < 2; ++i) {
Double_t dist = (min[i] - xy0[i]) / width[i] / 2;
if (TMath::Abs(dist) < 1.e-6) dist = -1.e-6;
min[i] = xy0[i] + (TMath::Nint(dist-TMath::Sign(1.e-6,dist))
+ TMath::Sign(0.5,dist)) * width[i] * 2;
nbins[i] = TMath::Nint ((max[i] - min[i]) / width[i] / 2);
if (nbins[i] == 0) ++nbins[i];
max[i] = min[i] + nbins[i] * width[i] * 2;
}
TH2D *hist1 = new TH2D ("Grid", "", nbins[0], min[0], max[0], nbins[1], min[1], max[1]);
TH2D *hist2 = new TH2D ("Entries", "", nbins[0], min[0], max[0], nbins[1], min[1], max[1]);
TAxis *xaxis = hist1->GetXaxis();
TAxis *yaxis = hist1->GetYaxis();
for ( Int_t i = 0; i < mult; ++i) {
AliMUONPad* pad = cluster.Pad(i);
Int_t ix0 = xaxis->FindBin(pad->X());
Int_t iy0 = yaxis->FindBin(pad->Y());
PadOverHist(0, ix0, iy0, pad, hist1, hist2);
}
for (Int_t i = 1; i <= nbins[0]; ++i) {
Double_t x = xaxis->GetBinCenter(i);
for (Int_t j = 1; j <= nbins[1]; ++j) {
if (hist2->GetBinContent(hist2->GetBin(i,j)) < 0.1) continue;
if (cath0 != cath1) {
Double_t cont = hist2->GetBinContent(hist2->GetBin(i,j));
if (cont < 999.) continue;
if (cont-Int_t(cont/1000.)*1000. < 0.5) continue;
}
Double_t y = yaxis->GetBinCenter(j);
Double_t charge = hist1->GetBinContent(hist1->GetBin(i,j));
AliMUONPad* pixPtr = new AliMUONPad(x, y, width[0], width[1], charge);
fPixArray->Add(pixPtr);
}
}
if (fPixArray->GetEntriesFast() == 1) {
AliMUONPad* pixPtr = static_cast<AliMUONPad*> (fPixArray->UncheckedAt(0));
pixPtr->SetSize(0,width[0]/2.);
pixPtr->Shift(0,-width[0]/4.);
pixPtr = new AliMUONPad(pixPtr->X()+width[0], pixPtr->Y(), width[0]/2., width[1], pixPtr->Charge());
fPixArray->Add(pixPtr);
}
delete hist1;
delete hist2;
}
void AliMUONClusterFinderMLEM::PadOverHist(Int_t idir, Int_t ix0, Int_t iy0, AliMUONPad *pad,
TH2D *hist1, TH2D *hist2)
{
TAxis *axis = idir == 0 ? hist1->GetXaxis() : hist1->GetYaxis();
Int_t nbins = axis->GetNbins(), cath = pad->Cathode();
Double_t bin = axis->GetBinWidth(1), amask = TMath::Power(1000.,cath*1.);
Int_t nbinPad = (Int_t)(pad->Size(idir)/bin*2+fgkDistancePrecision) + 1;
for (Int_t i = 0; i < nbinPad; ++i) {
Int_t ixy = idir == 0 ? ix0 + i : iy0 + i;
if (ixy > nbins) break;
Double_t lowEdge = axis->GetBinLowEdge(ixy);
if (lowEdge + fgkDistancePrecision > pad->Coord(idir) + pad->Size(idir)) break;
if (idir == 0) PadOverHist(1, ixy, iy0, pad, hist1, hist2);
else {
Double_t cont = pad->Charge();
if (hist2->GetBinContent(hist2->GetBin(ix0, ixy)) > 0.1)
cont = TMath::Min (hist1->GetBinContent(hist1->GetBin(ix0, ixy)), cont);
hist1->SetBinContent(hist1->GetBin(ix0, ixy), cont);
hist2->SetBinContent(hist2->GetBin(ix0, ixy), hist2->GetBinContent(hist2->GetBin(ix0, ixy))+amask);
}
}
for (Int_t i = -1; i > -nbinPad; --i) {
Int_t ixy = idir == 0 ? ix0 + i : iy0 + i;
if (ixy < 1) break;
Double_t upEdge = axis->GetBinUpEdge(ixy);
if (upEdge - fgkDistancePrecision < pad->Coord(idir) - pad->Size(idir)) break;
if (idir == 0) PadOverHist(1, ixy, iy0, pad, hist1, hist2);
else {
Double_t cont = pad->Charge();
if (hist2->GetBinContent(hist2->GetBin(ix0, ixy)) > 0.1)
cont = TMath::Min (hist1->GetBinContent(hist1->GetBin(ix0, ixy)), cont);
hist1->SetBinContent(hist1->GetBin(ix0, ixy), cont);
hist2->SetBinContent(hist2->GetBin(ix0, ixy), hist2->GetBinContent(hist2->GetBin(ix0, ixy))+amask);
}
}
}
void
AliMUONClusterFinderMLEM::Plot(const char* )
{
return;
}
void
AliMUONClusterFinderMLEM::ComputeCoefficients(AliMUONCluster& cluster,
Double_t* coef,
Double_t* probi)
{
Int_t npadTot = cluster.Multiplicity();
Int_t nPix = fPixArray->GetLast()+1;
for (Int_t j = 0; j < npadTot*nPix; ++j) coef[j] = 0.;
for (Int_t j = 0; j < nPix; ++j) probi[j] = 0.;
Int_t mult = cluster.Multiplicity();
for ( Int_t j = 0; j < mult; ++j )
{
AliMUONPad* pad = cluster.Pad(j);
Int_t indx = j*nPix;
for ( Int_t ipix = 0; ipix < nPix; ++ipix )
{
Int_t indx1 = indx + ipix;
if (pad->Status() != fgkZero)
{
coef[indx1] = 0;
continue;
}
AliMUONPad* pixPtr = Pixel(ipix);
coef[indx1] = fSplitter->ChargeIntegration(pixPtr->Coord(0), pixPtr->Coord(1), *pad);
probi[ipix] += coef[indx1];
}
}
}
Bool_t AliMUONClusterFinderMLEM::MainLoop(AliMUONCluster& cluster, Int_t iSimple)
{
Int_t nPix = fPixArray->GetLast()+1;
AliDebug(2,Form("nPix=%d iSimple=%d, precluster=",nPix,iSimple));
if ( nPix < 0 )
{
AliDebug(1,"No pixels, why am I here then ?");
}
AddVirtualPad(cluster);
Int_t npadTot = cluster.Multiplicity();
Int_t npadOK = 0;
for (Int_t i = 0; i < npadTot; ++i)
{
if (cluster.Pad(i)->Status() == fgkZero) ++npadOK;
}
Double_t* coef(0x0);
Double_t* probi(0x0);
Int_t lc(0);
AliMUONPad* pixPtr = Pixel(0);
Double_t xylim[4] = {pixPtr->X(), -pixPtr->X(), pixPtr->Y(), -pixPtr->Y()};
while (1)
{
++lc;
delete fHistMlem;
fHistMlem = 0x0;
AliDebug(2,Form("lc %d nPix %d(%d) npadTot %d npadOK %d",lc,nPix,fPixArray->GetLast()+1,npadTot,npadOK));
AliDebug(2,Form("EVT%d PixArray=",fEventNumber));
coef = new Double_t [npadTot*nPix];
probi = new Double_t [nPix];
ComputeCoefficients(cluster,coef,probi);
for (Int_t ipix = 0; ipix < nPix; ++ipix)
{
if (probi[ipix] < 0.01)
{
AliMUONPad* pixel = Pixel(ipix);
AliDebug(2,Form("Setting the following pixel to invisible as its probi<0.01:"));
pixel->SetCharge(0);
}
}
Mlem(cluster,coef, probi, 15);
if (lc == 1) {
for ( Int_t ipix = 1; ipix < nPix; ++ipix )
{
pixPtr = Pixel(ipix);
for ( Int_t i = 0; i < 2; ++i )
{
Int_t indx = i * 2;
if (pixPtr->Coord(i) < xylim[indx]) xylim[indx] = pixPtr->Coord(i);
else if (-pixPtr->Coord(i) < xylim[indx+1]) xylim[indx+1] = -pixPtr->Coord(i);
}
}
} else pixPtr = Pixel(0);
for (Int_t i = 0; i < 4; i++)
{
xylim[i] -= pixPtr->Size(i/2);
}
Int_t nx = TMath::Nint ((-xylim[1]-xylim[0])/pixPtr->Size(0)/2);
Int_t ny = TMath::Nint ((-xylim[3]-xylim[2])/pixPtr->Size(1)/2);
AliDebug(2,Form("lc %d pixPtr size = %e,%e nx,ny=%d,%d xylim=%e,%e,%e,%e",
lc,pixPtr->Size(0),pixPtr->Size(1),nx,ny,
xylim[0],-xylim[1],xylim[2],-xylim[3]
));
AliDebug(2,Form("LowestPadCharge=%e",fLowestPadCharge));
delete fHistMlem;
fHistMlem = new TH2D("mlem","mlem",nx,xylim[0],-xylim[1],ny,xylim[2],-xylim[3]);
for (Int_t ipix = 0; ipix < nPix; ++ipix)
{
AliMUONPad* pixPtr2 = Pixel(ipix);
fHistMlem->Fill(pixPtr2->Coord(0),pixPtr2->Coord(1),pixPtr2->Charge());
}
Double_t qTot = 0;
for ( Int_t i = 0; i < nPix; ++i)
{
qTot += Pixel(i)->Charge();
}
if ( qTot < 1.e-4 || ( npadOK < 3 && qTot < fLowestClusterCharge ) )
{
AliDebug(1,Form("Deleting the above cluster (charge %e too low, npadOK=%d)",qTot,npadOK));
delete [] coef;
delete [] probi;
fPixArray->Delete();
for ( Int_t i = 0; i < npadTot; ++i)
{
AliMUONPad* pad = cluster.Pad(i);
if ( pad->Status() == fgkZero) pad->SetStatus(fgkOver);
}
return kFALSE;
}
if (iSimple)
{
Simple(cluster);
delete [] coef;
delete [] probi;
fPixArray->Delete();
return kTRUE;
}
Double_t xyCOG[2];
FindCOG(xyCOG);
if (TMath::Min(pixPtr->Size(0),pixPtr->Size(1)) < 0.07 &&
pixPtr->Size(0) > pixPtr->Size(1)) break;
MaskPeaks(1);
fPixArray->Sort();
MaskPeaks(0);
Double_t pixMin = 0.01*Pixel(0)->Charge();
pixMin = TMath::Min(pixMin,100*fLowestPixelCharge);
Int_t indx = (pixPtr->Size(0)>pixPtr->Size(1)) ? 0 : 1;
Int_t ix(1);
Double_t width = 0;
Double_t shift[2] = { 0.0, 0.0 };
for (Int_t i = 0; i < 4; ++i) xylim[i] = 999;
Int_t nPix1 = nPix;
nPix = 0;
for (Int_t ipix = 0; ipix < nPix1; ++ipix)
{
AliMUONPad* pixPtr2 = Pixel(ipix);
if ( nPix >= npadOK
||
((pixPtr2->Charge() < pixMin) && (pixPtr2->Status() != fgkMustKeep))
)
{
RemovePixel(ipix);
continue;
}
for (Int_t i = 0; i < 2; ++i)
{
if (!i)
{
pixPtr2->SetCharge(fLowestPadCharge);
pixPtr2->SetSize(indx, pixPtr2->Size(indx)/2);
width = -pixPtr2->Size(indx);
pixPtr2->Shift(indx, width);
if (ix)
{
ix = 0;
for (Int_t j = 0; j < 2; ++j)
{
shift[j] = pixPtr2->Coord(j) - xyCOG[j];
shift[j] -= ((Int_t)(shift[j]/pixPtr2->Size(j)/2))*pixPtr2->Size(j)*2;
}
}
pixPtr2->Shift(0, -shift[0]);
pixPtr2->Shift(1, -shift[1]);
++nPix;
}
else if (nPix < npadOK)
{
pixPtr2 = new AliMUONPad(*pixPtr2);
pixPtr2->Shift(indx, -2*width);
pixPtr2->SetStatus(fgkZero);
fPixArray->Add(pixPtr2);
++nPix;
}
else continue;
for (Int_t j = 0; j < 4; ++j)
{
xylim[j] = TMath::Min (xylim[j], (j%2 ? -1 : 1)*pixPtr2->Coord(j/2));
}
}
}
fPixArray->Compress();
AliDebug(2,Form("After shift:"));
AliDebug(2,Form(" xyCOG=%9.6f %9.6f xylim=%9.6f,%9.6f,%9.6f,%9.6f",
xyCOG[0],xyCOG[1],
xylim[0],xylim[1],
xylim[2],xylim[3]));
if (nPix < npadOK)
{
AliMUONPad* pixPtr2 = Pixel(0);
Int_t j = 0;
for (Int_t i = 3; i > -1; --i)
{
if (nPix < npadOK &&
TMath::Abs((i%2 ? -1 : 1)*xylim[i]-xyCOG[i/2]) < pixPtr2->Size(i/2))
{
AliMUONPad* p = new AliMUONPad(*pixPtr2);
p->SetCoord(i/2, xyCOG[i/2]+(i%2 ? 2:-2)*pixPtr2->Size(i/2));
xylim[i] = p->Coord(i/2) * (i%2 ? -1 : 1);
j = TMath::Even (i/2);
p->SetCoord(j, xyCOG[j]);
AliDebug(2,Form("Adding pixel on the edge (i=%d) ",i));
fPixArray->Add(p);
++nPix;
}
}
}
nPix = fPixArray->GetEntriesFast();
delete [] coef;
delete [] probi;
}
AliDebug(2,Form("At the end of while loop nPix=%d : ",fPixArray->GetLast()+1));
Double_t thresh = TMath::Max (fHistMlem->GetMaximum()/100.,2.0*fLowestPixelCharge);
thresh = TMath::Min (thresh,100.0*fLowestPixelCharge);
Double_t charge = 0;
for (Int_t i = 0; i < nPix; ++i)
{
AliMUONPad* pixPtr2 = Pixel(i);
charge = pixPtr2->Charge();
if (charge < thresh)
{
pixPtr2->SetCharge(-charge);
}
}
Int_t near = 0;
for (Int_t i = 0; i < nPix; ++i)
{
AliMUONPad* pixPtr2 = Pixel(i);
charge = pixPtr2->Charge();
if (charge > 0) continue;
near = FindNearest(pixPtr2);
pixPtr2->SetCharge(0);
probi[i] = 0;
AliMUONPad* pnear = Pixel(near);
pnear->SetCharge(pnear->Charge() + (-charge));
}
Mlem(cluster,coef,probi,2);
AliDebug(2,Form("Before splitting nPix=%d EVT %d DE %d",fPixArray->GetLast()+1,fEventNumber,fDetElemId));
for (Int_t i = 0; i < nPix; ++i)
{
AliMUONPad* pixPtr2 = Pixel(i);
Int_t ix = fHistMlem->GetXaxis()->FindBin(pixPtr2->Coord(0));
Int_t iy = fHistMlem->GetYaxis()->FindBin(pixPtr2->Coord(1));
fHistMlem->SetBinContent(ix, iy, pixPtr2->Charge());
}
Bool_t ok = kTRUE;
if (fHistMlem->GetSum() < 2.0*fLowestPixelCharge)
{
ok = kFALSE;
}
else
{
fSplitter->Split(cluster,fHistMlem,coef,fClusterList);
}
delete [] coef;
delete [] probi;
fPixArray->Delete();
return ok;
}
void AliMUONClusterFinderMLEM::MaskPeaks(Int_t mask)
{
for (Int_t i = 0; i < fPixArray->GetEntriesFast(); ++i) {
AliMUONPad* pix = Pixel(i);
if (pix->Status() == fgkMustKeep) {
if (mask == 1) pix->SetCharge(pix->Charge()+10000.);
else pix->SetCharge(pix->Charge()-10000.);
}
}
}
void AliMUONClusterFinderMLEM::Mlem(AliMUONCluster& cluster,
const Double_t* coef, Double_t* probi,
Int_t nIter)
{
Int_t nPix = fPixArray->GetEntriesFast();
Int_t npad = cluster.Multiplicity();
Double_t* probi1 = new Double_t[nPix];
Double_t probMax = TMath::MaxElement(nPix,probi);
for (Int_t iter = 0; iter < nIter; ++iter)
{
for (Int_t ipix = 0; ipix < nPix; ++ipix)
{
Pixel(ipix)->SetChargeBackup(0);
probi1[ipix] = 0;
if (probi[ipix] < 0.01) continue;
Double_t sum = 0;
probi1[ipix] = probMax;
for (Int_t j = 0; j < npad; ++j)
{
AliMUONPad* pad = cluster.Pad(j);
if (pad->Status() != fgkZero) continue;
Double_t sum1 = 0;
Int_t indx1 = j*nPix;
Int_t indx = indx1 + ipix;
for (Int_t i = 0; i < nPix; ++i)
{
sum1 += Pixel(i)->Charge()*coef[indx1+i];
}
if ( pad->IsSaturated() && sum1 > pad->Charge() )
{
probi1[ipix] -= coef[indx];
continue;
}
if (sum1 > 1.e-6) sum += pad->Charge()*coef[indx]/sum1;
}
AliMUONPad* pixPtr = Pixel(ipix);
if (probi1[ipix] > 1.e-6)
{
pixPtr->SetChargeBackup(pixPtr->Charge()*sum/probi1[ipix]);
}
}
Double_t qTot = 0;
for (Int_t i = 0; i < nPix; ++i) {
AliMUONPad* pixPtr = Pixel(i);
pixPtr->RevertCharge();
qTot += pixPtr->Charge();
}
if (qTot < 1.e-6) {
delete [] probi1;
return;
}
}
delete [] probi1;
}
void AliMUONClusterFinderMLEM::FindCOG(Double_t *xyc)
{
Int_t ixmax, iymax, ix, nsumx=0, nsumy=0, nsum=0;
Int_t i1 = -9, j1 = -9;
fHistMlem->GetMaximumBin(ixmax,iymax,ix);
Int_t nx = fHistMlem->GetNbinsX();
Int_t ny = fHistMlem->GetNbinsY();
Double_t thresh = fHistMlem->GetMaximum()/10;
Double_t x, y, cont, xq=0, yq=0, qq=0;
Int_t ie = TMath::Min(ny,iymax+1), je = TMath::Min(nx,ixmax+1);
for (Int_t i = TMath::Max(1,iymax-1); i <= ie; ++i) {
y = fHistMlem->GetYaxis()->GetBinCenter(i);
for (Int_t j = TMath::Max(1,ixmax-1); j <= je; ++j) {
cont = fHistMlem->GetBinContent(fHistMlem->GetBin(j,i));
if (cont < thresh) continue;
if (i != i1) {i1 = i; nsumy++;}
if (j != j1) {j1 = j; nsumx++;}
x = fHistMlem->GetXaxis()->GetBinCenter(j);
xq += x*cont;
yq += y*cont;
qq += cont;
nsum++;
}
}
Double_t cmax = 0;
Int_t i2 = 0, j2 = 0;
x = y = 0;
if (nsumy == 1) {
for (Int_t i = TMath::Max(1,iymax-1); i <= ie; ++i) {
if (i == iymax) continue;
for (Int_t j = TMath::Max(1,ixmax-1); j <= je; ++j) {
cont = fHistMlem->GetBinContent(fHistMlem->GetBin(j,i));
if (cont > cmax) {
cmax = cont;
x = fHistMlem->GetXaxis()->GetBinCenter(j);
y = fHistMlem->GetYaxis()->GetBinCenter(i);
i2 = i;
j2 = j;
}
}
}
xq += x*cmax;
yq += y*cmax;
qq += cmax;
if (i2 != i1) nsumy++;
if (j2 != j1) nsumx++;
nsum++;
}
if (nsumx == 1) {
cmax = x = y = 0;
for (Int_t j = TMath::Max(1,ixmax-1); j <= je; ++j) {
if (j == ixmax) continue;
for (Int_t i = TMath::Max(1,iymax-1); i <= ie; ++i) {
cont = fHistMlem->GetBinContent(fHistMlem->GetBin(j,i));
if (cont > cmax) {
cmax = cont;
x = fHistMlem->GetXaxis()->GetBinCenter(j);
y = fHistMlem->GetYaxis()->GetBinCenter(i);
i2 = i;
j2 = j;
}
}
}
xq += x*cmax;
yq += y*cmax;
qq += cmax;
if (i2 != i1) nsumy++;
if (j2 != j1) nsumx++;
nsum++;
}
xyc[0] = xq/qq; xyc[1] = yq/qq;
AliDebug(2,Form("x,y COG = %e,%e",xyc[0],xyc[1]));
}
Int_t AliMUONClusterFinderMLEM::FindNearest(const AliMUONPad *pixPtr0)
{
Int_t nPix = fPixArray->GetEntriesFast(), imin = 0;
Double_t rmin = 99999, dx = 0, dy = 0, r = 0;
Double_t xc = pixPtr0->Coord(0), yc = pixPtr0->Coord(1);
AliMUONPad *pixPtr;
for (Int_t i = 0; i < nPix; ++i) {
pixPtr = (AliMUONPad*) fPixArray->UncheckedAt(i);
if (pixPtr == pixPtr0 || pixPtr->Charge() < fLowestPixelCharge) continue;
dx = (xc - pixPtr->Coord(0)) / pixPtr->Size(0);
dy = (yc - pixPtr->Coord(1)) / pixPtr->Size(1);
r = dx *dx + dy * dy;
if (r < rmin) { rmin = r; imin = i; }
}
return imin;
}
void
AliMUONClusterFinderMLEM::Paint(Option_t*)
{
AliMpArea area(fPreCluster->Area());
gPad->Range(area.LeftBorder(),area.DownBorder(),area.RightBorder(),area.UpBorder());
gVirtualX->SetFillStyle(1001);
gVirtualX->SetFillColor(3);
gVirtualX->SetLineColor(3);
Double_t s(1.0);
for ( Int_t i = 0; i <= fPixArray->GetLast(); ++i)
{
AliMUONPad* pixel = Pixel(i);
gPad->PaintBox(pixel->Coord(0)-pixel->Size(0)*s,
pixel->Coord(1)-pixel->Size(1)*s,
pixel->Coord(0)+pixel->Size(0)*s,
pixel->Coord(1)+pixel->Size(1)*s);
}
gVirtualX->SetFillStyle(0);
fPreCluster->Paint();
gVirtualX->SetLineColor(1);
gVirtualX->SetLineWidth(2);
gVirtualX->SetFillStyle(0);
gVirtualX->SetTextColor(1);
gVirtualX->SetTextAlign(22);
for ( Int_t i = 0; i <= fPixArray->GetLast(); ++i)
{
AliMUONPad* pixel = Pixel(i);
gPad->PaintBox(pixel->Coord(0)-pixel->Size(0),
pixel->Coord(1)-pixel->Size(1),
pixel->Coord(0)+pixel->Size(0),
pixel->Coord(1)+pixel->Size(1));
gVirtualX->SetTextSize(pixel->Size(0)*60);
gPad->PaintText(pixel->Coord(0),pixel->Coord(1),Form("%d",(Int_t)(pixel->Charge())));
}
}
Int_t AliMUONClusterFinderMLEM::FindLocalMaxima(TObjArray *pixArray, Int_t *localMax, Double_t *maxVal)
{
AliDebug(1,Form("nPix=%d",pixArray->GetLast()+1));
Double_t xylim[4] = {999, 999, 999, 999};
Int_t nPix = pixArray->GetEntriesFast();
if ( nPix <= 0 ) return 0;
AliMUONPad *pixPtr = 0;
for (Int_t ipix = 0; ipix < nPix; ++ipix) {
pixPtr = (AliMUONPad*) pixArray->UncheckedAt(ipix);
for (Int_t i = 0; i < 4; ++i)
xylim[i] = TMath::Min (xylim[i], (i%2 ? -1 : 1)*pixPtr->Coord(i/2));
}
for (Int_t i = 0; i < 4; ++i) xylim[i] -= pixPtr->Size(i/2);
Int_t nx = TMath::Nint ((-xylim[1]-xylim[0])/pixPtr->Size(0)/2);
Int_t ny = TMath::Nint ((-xylim[3]-xylim[2])/pixPtr->Size(1)/2);
if (pixArray == fPixArray) fHistAnode = new TH2D("anode","anode",nx,xylim[0],-xylim[1],ny,xylim[2],-xylim[3]);
else fHistAnode = new TH2D("anode1","anode1",nx,xylim[0],-xylim[1],ny,xylim[2],-xylim[3]);
for (Int_t ipix = 0; ipix < nPix; ++ipix) {
pixPtr = (AliMUONPad*) pixArray->UncheckedAt(ipix);
fHistAnode->Fill(pixPtr->Coord(0), pixPtr->Coord(1), pixPtr->Charge());
}
Int_t nMax = 0, indx, nxy = ny * nx;
Int_t *isLocalMax = new Int_t[nxy];
for (Int_t i = 0; i < nxy; ++i) isLocalMax[i] = 0;
for (Int_t i = 1; i <= ny; ++i) {
indx = (i-1) * nx;
for (Int_t j = 1; j <= nx; ++j) {
if (fHistAnode->GetBinContent(fHistAnode->GetBin(j,i)) < fLowestPixelCharge) continue;
if (isLocalMax[indx+j-1] != 0) continue;
FlagLocalMax(fHistAnode, i, j, isLocalMax);
}
}
for (Int_t i = 1; i <= ny; ++i) {
indx = (i-1) * nx;
for (Int_t j = 1; j <= nx; ++j) {
if (isLocalMax[indx+j-1] > 0) {
localMax[nMax] = indx + j - 1;
maxVal[nMax++] = fHistAnode->GetBinContent(fHistAnode->GetBin(j,i));
((AliMUONPad*)fSplitter->BinToPix(fHistAnode, j, i))->SetStatus(fgkMustKeep);
if (nMax > 99) break;
}
}
if (nMax > 99) {
AliError(" Too many local maxima !!!");
break;
}
}
if (fDebug) cout << " Local max: " << nMax << endl;
delete [] isLocalMax;
return nMax;
}
void AliMUONClusterFinderMLEM::FlagLocalMax(TH2D *hist, Int_t i, Int_t j, Int_t *isLocalMax)
{
Int_t nx = hist->GetNbinsX();
Int_t ny = hist->GetNbinsY();
Int_t cont = TMath::Nint (hist->GetBinContent(hist->GetBin(j,i)));
Int_t cont1 = 0, indx = (i-1)*nx+j-1, indx1 = 0, indx2 = 0;
Int_t ie = i + 2, je = j + 2;
for (Int_t i1 = i-1; i1 < ie; ++i1) {
if (i1 < 1 || i1 > ny) continue;
indx1 = (i1 - 1) * nx;
for (Int_t j1 = j-1; j1 < je; ++j1) {
if (j1 < 1 || j1 > nx) continue;
if (i == i1 && j == j1) continue;
indx2 = indx1 + j1 - 1;
cont1 = TMath::Nint (hist->GetBinContent(hist->GetBin(j1,i1)));
if (cont < cont1) { isLocalMax[indx] = -1; return; }
else if (cont > cont1) isLocalMax[indx2] = -1;
else {
isLocalMax[indx] = 1;
if (isLocalMax[indx2] == 0) {
FlagLocalMax(hist, i1, j1, isLocalMax);
if (isLocalMax[indx2] < 0) { isLocalMax[indx] = -1; return; }
else isLocalMax[indx2] = -1;
}
}
}
}
isLocalMax[indx] = 1;
}
void AliMUONClusterFinderMLEM::FindCluster(AliMUONCluster& cluster,
const Int_t *localMax, Int_t iMax)
{
Int_t nx = fHistAnode->GetNbinsX();
Int_t ny = fHistAnode->GetNbinsY();
Int_t ic = localMax[iMax] / nx + 1;
Int_t jc = localMax[iMax] % nx + 1;
Int_t nxy = ny * nx;
Bool_t *used = new Bool_t[nxy];
for (Int_t i = 0; i < nxy; ++i) used[i] = kFALSE;
fPixArray->Delete();
Double_t wx = fHistAnode->GetXaxis()->GetBinWidth(1)/2;
Double_t wy = fHistAnode->GetYaxis()->GetBinWidth(1)/2;
Double_t yc = fHistAnode->GetYaxis()->GetBinCenter(ic);
Double_t xc = fHistAnode->GetXaxis()->GetBinCenter(jc);
Double_t cont = fHistAnode->GetBinContent( fHistAnode->GetBin(jc,ic));
fPixArray->Add(new AliMUONPad (xc, yc, wx, wy, cont));
used[(ic-1)*nx+jc-1] = kTRUE;
AddBinSimple(fHistAnode, ic, jc);
Int_t nPix = fPixArray->GetEntriesFast();
Int_t npad = cluster.Multiplicity();
for (Int_t i = 0; i < nPix; ++i)
{
AliMUONPad* pixPtr = Pixel(i);
pixPtr->SetSize(0,wx);
pixPtr->SetSize(1,wy);
}
for (Int_t i = 0; i < npad; ++i)
{
cluster.Pad(i)->SetStatus(fgkOver);
}
for (Int_t i = 0; i < nPix; ++i)
{
AliMUONPad* pixPtr = Pixel(i);
for (Int_t j = 0; j < npad; ++j)
{
AliMUONPad* pad = cluster.Pad(j);
if (pad->Status() == fgkZero) continue;
if ( Overlap(*pad,*pixPtr) )
{
pad->SetStatus(fgkZero);
if (fDebug) { cout << j << " "; pad->Print("full"); }
}
}
}
delete [] used;
}
void
AliMUONClusterFinderMLEM::AddBinSimple(TH2D *hist, Int_t ic, Int_t jc)
{
Int_t nx = hist->GetNbinsX();
Int_t ny = hist->GetNbinsY();
Double_t cont1, cont = hist->GetBinContent(hist->GetBin(jc,ic));
AliMUONPad *pixPtr = 0;
Int_t ie = TMath::Min(ic+1,ny), je = TMath::Min(jc+1,nx);
for (Int_t i = TMath::Max(ic-1,1); i <= ie; ++i) {
for (Int_t j = TMath::Max(jc-1,1); j <= je; ++j) {
cont1 = hist->GetBinContent(hist->GetBin(j,i));
if (cont1 > cont) continue;
if (cont1 < fLowestPixelCharge) continue;
pixPtr = new AliMUONPad (hist->GetXaxis()->GetBinCenter(j),
hist->GetYaxis()->GetBinCenter(i), 0, 0, cont1);
fPixArray->Add(pixPtr);
}
}
}
AliMUONClusterFinderMLEM&
AliMUONClusterFinderMLEM::operator=(const AliMUONClusterFinderMLEM& rhs)
{
if (this == &rhs) return *this;
AliFatal("Not implemented.");
return *this;
}
void AliMUONClusterFinderMLEM::AddVirtualPad(AliMUONCluster& cluster)
{
Int_t nonb[2] = {1, 0};
TVector2 dim0 = cluster.MinPadDimensions(0, 0, kTRUE);
TVector2 dim1 = cluster.MinPadDimensions(1, 0, kTRUE);
if (dim0.X() < dim1.X() - fgkDistancePrecision) {
nonb[0] = 0;
nonb[1] = 1;
}
Bool_t same = kFALSE;
if (TMath::Abs(dim0.Y()-dim1.Y()) < fgkDistancePrecision) same = kTRUE;
Long_t cn;
Bool_t check[2] = {kFALSE, kFALSE};
Int_t nxy[2];
nxy[0] = nxy[1] = 0;
for (Int_t inb = 0; inb < 2; ++inb) {
cn = cluster.NofPads(nonb[inb], 0, kTRUE);
if (inb == 0 && AliMp::PairFirst(cn) == 2) check[inb] = kTRUE;
else if (inb == 1 && AliMp::PairSecond(cn) == 2) check[inb] = kTRUE;
if (same) {
nxy[0] = TMath::Max (nxy[0], AliMp::PairFirst(cn));
nxy[1] = TMath::Max (nxy[1], AliMp::PairSecond(cn));
if (inb == 0 && nxy[0] < 2) nonb[inb] = !nonb[inb];
else if (inb == 1 && AliMp::PairSecond(cn) < 2) nonb[inb] = !nonb[inb];
}
}
if (same) {
if (nxy[0] > 2) check[0] = kFALSE;
if (nxy[1] > 2) check[1] = kFALSE;
}
if (!check[0] && !check[1]) return;
for (Int_t inb = 0; inb < 2; ++inb) {
if (!check[inb]) continue;
Int_t maxPads[2] = {-1, -1};
Double_t amax[2] = {0};
Int_t mult = cluster.Multiplicity();
for (Int_t j = 0; j < mult; ++j) {
AliMUONPad *pad = cluster.Pad(j);
if (pad->Cathode() != nonb[inb]) continue;
for (Int_t j2 = 0; j2 < 2; ++j2) {
if (pad->Charge() > amax[j2]) {
if (j2 == 0) { amax[1] = amax[0]; maxPads[1] = maxPads[0]; }
amax[j2] = pad->Charge();
maxPads[j2] = j;
break;
}
}
}
Double_t limits[2] = {9999, -9999};
for (Int_t j = 0; j < mult; ++j) {
AliMUONPad *pad = cluster.Pad(j);
if (pad->Cathode() != nonb[inb]) continue;
if (pad->Coord(inb) < limits[0]) limits[0] = pad->Coord(inb);
if (pad->Coord(inb) > limits[1]) limits[1] = pad->Coord(inb);
}
Bool_t add = kFALSE;
Int_t idirAdd = 0;
for (Int_t j = 0; j < 2; ++j) {
if (j == 1) {
if (maxPads[j] < 0) continue;
if (!add) break;
if (amax[1] / amax[0] < 0.5) break;
}
AliMUONPad *pad = cluster.Pad(maxPads[j]);
Int_t idir = 0;
if (TMath::Abs(pad->Coord(inb)-limits[0]) < fgkDistancePrecision) idir = -1;
else if (TMath::Abs(pad->Coord(inb)-limits[1]) < fgkDistancePrecision) idir = 1;
else {
break;
}
if (j == 1 && idir == idirAdd) break;
TVector2 pos;
if (inb == 0) pos.Set (pad->X() + idir * (pad->DX()+fgkDistancePrecision), pad->Y());
else pos.Set (pad->X(), pad->Y() + idir * (pad->DY()+fgkDistancePrecision));
AliMpPad mppad = fkSegmentation[nonb[inb]]->PadByPosition(pos.X(), pos.Y(),kFALSE);
if (!mppad.IsValid()) continue;
AliMUONPad muonPad(fDetElemId, nonb[inb], mppad.GetIx(), mppad.GetIy(),
mppad.GetPositionX(), mppad.GetPositionY(),
mppad.GetDimensionX(), mppad.GetDimensionY(), 0);
if (inb == 0) muonPad.SetCharge(TMath::Min (amax[j]/100, fLowestPadCharge));
else muonPad.SetCharge(TMath::Min (amax[j]/15, fLowestPadCharge));
if (muonPad.Charge() < 2.0*fLowestPixelCharge) muonPad.SetCharge(2.0*fLowestPixelCharge);
muonPad.SetReal(kFALSE);
if (fDebug) printf(" ***** Add virtual pad in %d direction ***** %f %f %f %3d %3d %f %f \n",
inb, muonPad.Charge(), muonPad.X(), muonPad.Y(), muonPad.Ix(),
muonPad.Iy(), muonPad.DX(), muonPad.DY());
cluster.AddPad(muonPad);
add = kTRUE;
idirAdd = idir;
}
}
}
void AliMUONClusterFinderMLEM::PadsInXandY(AliMUONCluster& cluster,
Int_t &nInX, Int_t &nInY) const
{
Int_t statusToTest = fgkUseForFit;
if ( nInX < 0 ) statusToTest = fgkZero;
Bool_t mustMatch(kTRUE);
Long_t cn = cluster.NofPads(statusToTest,mustMatch);
nInX = AliMp::PairFirst(cn);
nInY = AliMp::PairSecond(cn);
}
void AliMUONClusterFinderMLEM::RemovePixel(Int_t i)
{
AliMUONPad* pixPtr = Pixel(i);
fPixArray->RemoveAt(i);
delete pixPtr;
}
void AliMUONClusterFinderMLEM::Simple(AliMUONCluster& cluster)
{
Int_t nForFit = 1, clustFit[1] = {0};
Double_t parOk[3] = {0.};
TObjArray *clusters[1];
clusters[0] = fPixArray;
AliDebug(1,Form("nPix=%d",fPixArray->GetLast()+1));
Int_t mult = cluster.Multiplicity();
for (Int_t i = 0; i < mult; ++i)
{
AliMUONPad* pad = cluster.Pad(i);
if (!pad->IsSaturated()) pad->SetStatus(fgkUseForFit);
}
fSplitter->Fit(cluster,1, nForFit, clustFit, clusters, parOk, fClusterList, fHistMlem);
}
AliMUONPad*
AliMUONClusterFinderMLEM::Pixel(Int_t i) const
{
return static_cast<AliMUONPad*>(fPixArray->UncheckedAt(i));
}
void
AliMUONClusterFinderMLEM::Print(Option_t* what) const
{
TString swhat(what);
swhat.ToLower();
if ( swhat.Contains("precluster") )
{
if ( fPreCluster) fPreCluster->Print();
}
}
void
AliMUONClusterFinderMLEM::SetChargeHints(Double_t lowestPadCharge, Double_t lowestClusterCharge)
{
fLowestPadCharge=lowestPadCharge;
fLowestClusterCharge=lowestClusterCharge;
fLowestPixelCharge=fLowestPadCharge/12.0;
}
AliMUONClusterFinderMLEM.cxx:1 AliMUONClusterFinderMLEM.cxx:2 AliMUONClusterFinderMLEM.cxx:3 AliMUONClusterFinderMLEM.cxx:4 AliMUONClusterFinderMLEM.cxx:5 AliMUONClusterFinderMLEM.cxx:6 AliMUONClusterFinderMLEM.cxx:7 AliMUONClusterFinderMLEM.cxx:8 AliMUONClusterFinderMLEM.cxx:9 AliMUONClusterFinderMLEM.cxx:10 AliMUONClusterFinderMLEM.cxx:11 AliMUONClusterFinderMLEM.cxx:12 AliMUONClusterFinderMLEM.cxx:13 AliMUONClusterFinderMLEM.cxx:14 AliMUONClusterFinderMLEM.cxx:15 AliMUONClusterFinderMLEM.cxx:16 AliMUONClusterFinderMLEM.cxx:17 AliMUONClusterFinderMLEM.cxx:18 AliMUONClusterFinderMLEM.cxx:19 AliMUONClusterFinderMLEM.cxx:20 AliMUONClusterFinderMLEM.cxx:21 AliMUONClusterFinderMLEM.cxx:22 AliMUONClusterFinderMLEM.cxx:23 AliMUONClusterFinderMLEM.cxx:24 AliMUONClusterFinderMLEM.cxx:25 AliMUONClusterFinderMLEM.cxx:26 AliMUONClusterFinderMLEM.cxx:27 AliMUONClusterFinderMLEM.cxx:28 AliMUONClusterFinderMLEM.cxx:29 AliMUONClusterFinderMLEM.cxx:30 AliMUONClusterFinderMLEM.cxx:31 AliMUONClusterFinderMLEM.cxx:32 AliMUONClusterFinderMLEM.cxx:33 AliMUONClusterFinderMLEM.cxx:34 AliMUONClusterFinderMLEM.cxx:35 AliMUONClusterFinderMLEM.cxx:36 AliMUONClusterFinderMLEM.cxx:37 AliMUONClusterFinderMLEM.cxx:38 AliMUONClusterFinderMLEM.cxx:39 AliMUONClusterFinderMLEM.cxx:40 AliMUONClusterFinderMLEM.cxx:41 AliMUONClusterFinderMLEM.cxx:42 AliMUONClusterFinderMLEM.cxx:43 AliMUONClusterFinderMLEM.cxx:44 AliMUONClusterFinderMLEM.cxx:45 AliMUONClusterFinderMLEM.cxx:46 AliMUONClusterFinderMLEM.cxx:47 AliMUONClusterFinderMLEM.cxx:48 AliMUONClusterFinderMLEM.cxx:49 AliMUONClusterFinderMLEM.cxx:50 AliMUONClusterFinderMLEM.cxx:51 AliMUONClusterFinderMLEM.cxx:52 AliMUONClusterFinderMLEM.cxx:53 AliMUONClusterFinderMLEM.cxx:54 AliMUONClusterFinderMLEM.cxx:55 AliMUONClusterFinderMLEM.cxx:56 AliMUONClusterFinderMLEM.cxx:57 AliMUONClusterFinderMLEM.cxx:58 AliMUONClusterFinderMLEM.cxx:59 AliMUONClusterFinderMLEM.cxx:60 AliMUONClusterFinderMLEM.cxx:61 AliMUONClusterFinderMLEM.cxx:62 AliMUONClusterFinderMLEM.cxx:63 AliMUONClusterFinderMLEM.cxx:64 AliMUONClusterFinderMLEM.cxx:65 AliMUONClusterFinderMLEM.cxx:66 AliMUONClusterFinderMLEM.cxx:67 AliMUONClusterFinderMLEM.cxx:68 AliMUONClusterFinderMLEM.cxx:69 AliMUONClusterFinderMLEM.cxx:70 AliMUONClusterFinderMLEM.cxx:71 AliMUONClusterFinderMLEM.cxx:72 AliMUONClusterFinderMLEM.cxx:73 AliMUONClusterFinderMLEM.cxx:74 AliMUONClusterFinderMLEM.cxx:75 AliMUONClusterFinderMLEM.cxx:76 AliMUONClusterFinderMLEM.cxx:77 AliMUONClusterFinderMLEM.cxx:78 AliMUONClusterFinderMLEM.cxx:79 AliMUONClusterFinderMLEM.cxx:80 AliMUONClusterFinderMLEM.cxx:81 AliMUONClusterFinderMLEM.cxx:82 AliMUONClusterFinderMLEM.cxx:83 AliMUONClusterFinderMLEM.cxx:84 AliMUONClusterFinderMLEM.cxx:85 AliMUONClusterFinderMLEM.cxx:86 AliMUONClusterFinderMLEM.cxx:87 AliMUONClusterFinderMLEM.cxx:88 AliMUONClusterFinderMLEM.cxx:89 AliMUONClusterFinderMLEM.cxx:90 AliMUONClusterFinderMLEM.cxx:91 AliMUONClusterFinderMLEM.cxx:92 AliMUONClusterFinderMLEM.cxx:93 AliMUONClusterFinderMLEM.cxx:94 AliMUONClusterFinderMLEM.cxx:95 AliMUONClusterFinderMLEM.cxx:96 AliMUONClusterFinderMLEM.cxx:97 AliMUONClusterFinderMLEM.cxx:98 AliMUONClusterFinderMLEM.cxx:99 AliMUONClusterFinderMLEM.cxx:100 AliMUONClusterFinderMLEM.cxx:101 AliMUONClusterFinderMLEM.cxx:102 AliMUONClusterFinderMLEM.cxx:103 AliMUONClusterFinderMLEM.cxx:104 AliMUONClusterFinderMLEM.cxx:105 AliMUONClusterFinderMLEM.cxx:106 AliMUONClusterFinderMLEM.cxx:107 AliMUONClusterFinderMLEM.cxx:108 AliMUONClusterFinderMLEM.cxx:109 AliMUONClusterFinderMLEM.cxx:110 AliMUONClusterFinderMLEM.cxx:111 AliMUONClusterFinderMLEM.cxx:112 AliMUONClusterFinderMLEM.cxx:113 AliMUONClusterFinderMLEM.cxx:114 AliMUONClusterFinderMLEM.cxx:115 AliMUONClusterFinderMLEM.cxx:116 AliMUONClusterFinderMLEM.cxx:117 AliMUONClusterFinderMLEM.cxx:118 AliMUONClusterFinderMLEM.cxx:119 AliMUONClusterFinderMLEM.cxx:120 AliMUONClusterFinderMLEM.cxx:121 AliMUONClusterFinderMLEM.cxx:122 AliMUONClusterFinderMLEM.cxx:123 AliMUONClusterFinderMLEM.cxx:124 AliMUONClusterFinderMLEM.cxx:125 AliMUONClusterFinderMLEM.cxx:126 AliMUONClusterFinderMLEM.cxx:127 AliMUONClusterFinderMLEM.cxx:128 AliMUONClusterFinderMLEM.cxx:129 AliMUONClusterFinderMLEM.cxx:130 AliMUONClusterFinderMLEM.cxx:131 AliMUONClusterFinderMLEM.cxx:132 AliMUONClusterFinderMLEM.cxx:133 AliMUONClusterFinderMLEM.cxx:134 AliMUONClusterFinderMLEM.cxx:135 AliMUONClusterFinderMLEM.cxx:136 AliMUONClusterFinderMLEM.cxx:137 AliMUONClusterFinderMLEM.cxx:138 AliMUONClusterFinderMLEM.cxx:139 AliMUONClusterFinderMLEM.cxx:140 AliMUONClusterFinderMLEM.cxx:141 AliMUONClusterFinderMLEM.cxx:142 AliMUONClusterFinderMLEM.cxx:143 AliMUONClusterFinderMLEM.cxx:144 AliMUONClusterFinderMLEM.cxx:145 AliMUONClusterFinderMLEM.cxx:146 AliMUONClusterFinderMLEM.cxx:147 AliMUONClusterFinderMLEM.cxx:148 AliMUONClusterFinderMLEM.cxx:149 AliMUONClusterFinderMLEM.cxx:150 AliMUONClusterFinderMLEM.cxx:151 AliMUONClusterFinderMLEM.cxx:152 AliMUONClusterFinderMLEM.cxx:153 AliMUONClusterFinderMLEM.cxx:154 AliMUONClusterFinderMLEM.cxx:155 AliMUONClusterFinderMLEM.cxx:156 AliMUONClusterFinderMLEM.cxx:157 AliMUONClusterFinderMLEM.cxx:158 AliMUONClusterFinderMLEM.cxx:159 AliMUONClusterFinderMLEM.cxx:160 AliMUONClusterFinderMLEM.cxx:161 AliMUONClusterFinderMLEM.cxx:162 AliMUONClusterFinderMLEM.cxx:163 AliMUONClusterFinderMLEM.cxx:164 AliMUONClusterFinderMLEM.cxx:165 AliMUONClusterFinderMLEM.cxx:166 AliMUONClusterFinderMLEM.cxx:167 AliMUONClusterFinderMLEM.cxx:168 AliMUONClusterFinderMLEM.cxx:169 AliMUONClusterFinderMLEM.cxx:170 AliMUONClusterFinderMLEM.cxx:171 AliMUONClusterFinderMLEM.cxx:172 AliMUONClusterFinderMLEM.cxx:173 AliMUONClusterFinderMLEM.cxx:174 AliMUONClusterFinderMLEM.cxx:175 AliMUONClusterFinderMLEM.cxx:176 AliMUONClusterFinderMLEM.cxx:177 AliMUONClusterFinderMLEM.cxx:178 AliMUONClusterFinderMLEM.cxx:179 AliMUONClusterFinderMLEM.cxx:180 AliMUONClusterFinderMLEM.cxx:181 AliMUONClusterFinderMLEM.cxx:182 AliMUONClusterFinderMLEM.cxx:183 AliMUONClusterFinderMLEM.cxx:184 AliMUONClusterFinderMLEM.cxx:185 AliMUONClusterFinderMLEM.cxx:186 AliMUONClusterFinderMLEM.cxx:187 AliMUONClusterFinderMLEM.cxx:188 AliMUONClusterFinderMLEM.cxx:189 AliMUONClusterFinderMLEM.cxx:190 AliMUONClusterFinderMLEM.cxx:191 AliMUONClusterFinderMLEM.cxx:192 AliMUONClusterFinderMLEM.cxx:193 AliMUONClusterFinderMLEM.cxx:194 AliMUONClusterFinderMLEM.cxx:195 AliMUONClusterFinderMLEM.cxx:196 AliMUONClusterFinderMLEM.cxx:197 AliMUONClusterFinderMLEM.cxx:198 AliMUONClusterFinderMLEM.cxx:199 AliMUONClusterFinderMLEM.cxx:200 AliMUONClusterFinderMLEM.cxx:201 AliMUONClusterFinderMLEM.cxx:202 AliMUONClusterFinderMLEM.cxx:203 AliMUONClusterFinderMLEM.cxx:204 AliMUONClusterFinderMLEM.cxx:205 AliMUONClusterFinderMLEM.cxx:206 AliMUONClusterFinderMLEM.cxx:207 AliMUONClusterFinderMLEM.cxx:208 AliMUONClusterFinderMLEM.cxx:209 AliMUONClusterFinderMLEM.cxx:210 AliMUONClusterFinderMLEM.cxx:211 AliMUONClusterFinderMLEM.cxx:212 AliMUONClusterFinderMLEM.cxx:213 AliMUONClusterFinderMLEM.cxx:214 AliMUONClusterFinderMLEM.cxx:215 AliMUONClusterFinderMLEM.cxx:216 AliMUONClusterFinderMLEM.cxx:217 AliMUONClusterFinderMLEM.cxx:218 AliMUONClusterFinderMLEM.cxx:219 AliMUONClusterFinderMLEM.cxx:220 AliMUONClusterFinderMLEM.cxx:221 AliMUONClusterFinderMLEM.cxx:222 AliMUONClusterFinderMLEM.cxx:223 AliMUONClusterFinderMLEM.cxx:224 AliMUONClusterFinderMLEM.cxx:225 AliMUONClusterFinderMLEM.cxx:226 AliMUONClusterFinderMLEM.cxx:227 AliMUONClusterFinderMLEM.cxx:228 AliMUONClusterFinderMLEM.cxx:229 AliMUONClusterFinderMLEM.cxx:230 AliMUONClusterFinderMLEM.cxx:231 AliMUONClusterFinderMLEM.cxx:232 AliMUONClusterFinderMLEM.cxx:233 AliMUONClusterFinderMLEM.cxx:234 AliMUONClusterFinderMLEM.cxx:235 AliMUONClusterFinderMLEM.cxx:236 AliMUONClusterFinderMLEM.cxx:237 AliMUONClusterFinderMLEM.cxx:238 AliMUONClusterFinderMLEM.cxx:239 AliMUONClusterFinderMLEM.cxx:240 AliMUONClusterFinderMLEM.cxx:241 AliMUONClusterFinderMLEM.cxx:242 AliMUONClusterFinderMLEM.cxx:243 AliMUONClusterFinderMLEM.cxx:244 AliMUONClusterFinderMLEM.cxx:245 AliMUONClusterFinderMLEM.cxx:246 AliMUONClusterFinderMLEM.cxx:247 AliMUONClusterFinderMLEM.cxx:248 AliMUONClusterFinderMLEM.cxx:249 AliMUONClusterFinderMLEM.cxx:250 AliMUONClusterFinderMLEM.cxx:251 AliMUONClusterFinderMLEM.cxx:252 AliMUONClusterFinderMLEM.cxx:253 AliMUONClusterFinderMLEM.cxx:254 AliMUONClusterFinderMLEM.cxx:255 AliMUONClusterFinderMLEM.cxx:256 AliMUONClusterFinderMLEM.cxx:257 AliMUONClusterFinderMLEM.cxx:258 AliMUONClusterFinderMLEM.cxx:259 AliMUONClusterFinderMLEM.cxx:260 AliMUONClusterFinderMLEM.cxx:261 AliMUONClusterFinderMLEM.cxx:262 AliMUONClusterFinderMLEM.cxx:263 AliMUONClusterFinderMLEM.cxx:264 AliMUONClusterFinderMLEM.cxx:265 AliMUONClusterFinderMLEM.cxx:266 AliMUONClusterFinderMLEM.cxx:267 AliMUONClusterFinderMLEM.cxx:268 AliMUONClusterFinderMLEM.cxx:269 AliMUONClusterFinderMLEM.cxx:270 AliMUONClusterFinderMLEM.cxx:271 AliMUONClusterFinderMLEM.cxx:272 AliMUONClusterFinderMLEM.cxx:273 AliMUONClusterFinderMLEM.cxx:274 AliMUONClusterFinderMLEM.cxx:275 AliMUONClusterFinderMLEM.cxx:276 AliMUONClusterFinderMLEM.cxx:277 AliMUONClusterFinderMLEM.cxx:278 AliMUONClusterFinderMLEM.cxx:279 AliMUONClusterFinderMLEM.cxx:280 AliMUONClusterFinderMLEM.cxx:281 AliMUONClusterFinderMLEM.cxx:282 AliMUONClusterFinderMLEM.cxx:283 AliMUONClusterFinderMLEM.cxx:284 AliMUONClusterFinderMLEM.cxx:285 AliMUONClusterFinderMLEM.cxx:286 AliMUONClusterFinderMLEM.cxx:287 AliMUONClusterFinderMLEM.cxx:288 AliMUONClusterFinderMLEM.cxx:289 AliMUONClusterFinderMLEM.cxx:290 AliMUONClusterFinderMLEM.cxx:291 AliMUONClusterFinderMLEM.cxx:292 AliMUONClusterFinderMLEM.cxx:293 AliMUONClusterFinderMLEM.cxx:294 AliMUONClusterFinderMLEM.cxx:295 AliMUONClusterFinderMLEM.cxx:296 AliMUONClusterFinderMLEM.cxx:297 AliMUONClusterFinderMLEM.cxx:298 AliMUONClusterFinderMLEM.cxx:299 AliMUONClusterFinderMLEM.cxx:300 AliMUONClusterFinderMLEM.cxx:301 AliMUONClusterFinderMLEM.cxx:302 AliMUONClusterFinderMLEM.cxx:303 AliMUONClusterFinderMLEM.cxx:304 AliMUONClusterFinderMLEM.cxx:305 AliMUONClusterFinderMLEM.cxx:306 AliMUONClusterFinderMLEM.cxx:307 AliMUONClusterFinderMLEM.cxx:308 AliMUONClusterFinderMLEM.cxx:309 AliMUONClusterFinderMLEM.cxx:310 AliMUONClusterFinderMLEM.cxx:311 AliMUONClusterFinderMLEM.cxx:312 AliMUONClusterFinderMLEM.cxx:313 AliMUONClusterFinderMLEM.cxx:314 AliMUONClusterFinderMLEM.cxx:315 AliMUONClusterFinderMLEM.cxx:316 AliMUONClusterFinderMLEM.cxx:317 AliMUONClusterFinderMLEM.cxx:318 AliMUONClusterFinderMLEM.cxx:319 AliMUONClusterFinderMLEM.cxx:320 AliMUONClusterFinderMLEM.cxx:321 AliMUONClusterFinderMLEM.cxx:322 AliMUONClusterFinderMLEM.cxx:323 AliMUONClusterFinderMLEM.cxx:324 AliMUONClusterFinderMLEM.cxx:325 AliMUONClusterFinderMLEM.cxx:326 AliMUONClusterFinderMLEM.cxx:327 AliMUONClusterFinderMLEM.cxx:328 AliMUONClusterFinderMLEM.cxx:329 AliMUONClusterFinderMLEM.cxx:330 AliMUONClusterFinderMLEM.cxx:331 AliMUONClusterFinderMLEM.cxx:332 AliMUONClusterFinderMLEM.cxx:333 AliMUONClusterFinderMLEM.cxx:334 AliMUONClusterFinderMLEM.cxx:335 AliMUONClusterFinderMLEM.cxx:336 AliMUONClusterFinderMLEM.cxx:337 AliMUONClusterFinderMLEM.cxx:338 AliMUONClusterFinderMLEM.cxx:339 AliMUONClusterFinderMLEM.cxx:340 AliMUONClusterFinderMLEM.cxx:341 AliMUONClusterFinderMLEM.cxx:342 AliMUONClusterFinderMLEM.cxx:343 AliMUONClusterFinderMLEM.cxx:344 AliMUONClusterFinderMLEM.cxx:345 AliMUONClusterFinderMLEM.cxx:346 AliMUONClusterFinderMLEM.cxx:347 AliMUONClusterFinderMLEM.cxx:348 AliMUONClusterFinderMLEM.cxx:349 AliMUONClusterFinderMLEM.cxx:350 AliMUONClusterFinderMLEM.cxx:351 AliMUONClusterFinderMLEM.cxx:352 AliMUONClusterFinderMLEM.cxx:353 AliMUONClusterFinderMLEM.cxx:354 AliMUONClusterFinderMLEM.cxx:355 AliMUONClusterFinderMLEM.cxx:356 AliMUONClusterFinderMLEM.cxx:357 AliMUONClusterFinderMLEM.cxx:358 AliMUONClusterFinderMLEM.cxx:359 AliMUONClusterFinderMLEM.cxx:360 AliMUONClusterFinderMLEM.cxx:361 AliMUONClusterFinderMLEM.cxx:362 AliMUONClusterFinderMLEM.cxx:363 AliMUONClusterFinderMLEM.cxx:364 AliMUONClusterFinderMLEM.cxx:365 AliMUONClusterFinderMLEM.cxx:366 AliMUONClusterFinderMLEM.cxx:367 AliMUONClusterFinderMLEM.cxx:368 AliMUONClusterFinderMLEM.cxx:369 AliMUONClusterFinderMLEM.cxx:370 AliMUONClusterFinderMLEM.cxx:371 AliMUONClusterFinderMLEM.cxx:372 AliMUONClusterFinderMLEM.cxx:373 AliMUONClusterFinderMLEM.cxx:374 AliMUONClusterFinderMLEM.cxx:375 AliMUONClusterFinderMLEM.cxx:376 AliMUONClusterFinderMLEM.cxx:377 AliMUONClusterFinderMLEM.cxx:378 AliMUONClusterFinderMLEM.cxx:379 AliMUONClusterFinderMLEM.cxx:380 AliMUONClusterFinderMLEM.cxx:381 AliMUONClusterFinderMLEM.cxx:382 AliMUONClusterFinderMLEM.cxx:383 AliMUONClusterFinderMLEM.cxx:384 AliMUONClusterFinderMLEM.cxx:385 AliMUONClusterFinderMLEM.cxx:386 AliMUONClusterFinderMLEM.cxx:387 AliMUONClusterFinderMLEM.cxx:388 AliMUONClusterFinderMLEM.cxx:389 AliMUONClusterFinderMLEM.cxx:390 AliMUONClusterFinderMLEM.cxx:391 AliMUONClusterFinderMLEM.cxx:392 AliMUONClusterFinderMLEM.cxx:393 AliMUONClusterFinderMLEM.cxx:394 AliMUONClusterFinderMLEM.cxx:395 AliMUONClusterFinderMLEM.cxx:396 AliMUONClusterFinderMLEM.cxx:397 AliMUONClusterFinderMLEM.cxx:398 AliMUONClusterFinderMLEM.cxx:399 AliMUONClusterFinderMLEM.cxx:400 AliMUONClusterFinderMLEM.cxx:401 AliMUONClusterFinderMLEM.cxx:402 AliMUONClusterFinderMLEM.cxx:403 AliMUONClusterFinderMLEM.cxx:404 AliMUONClusterFinderMLEM.cxx:405 AliMUONClusterFinderMLEM.cxx:406 AliMUONClusterFinderMLEM.cxx:407 AliMUONClusterFinderMLEM.cxx:408 AliMUONClusterFinderMLEM.cxx:409 AliMUONClusterFinderMLEM.cxx:410 AliMUONClusterFinderMLEM.cxx:411 AliMUONClusterFinderMLEM.cxx:412 AliMUONClusterFinderMLEM.cxx:413 AliMUONClusterFinderMLEM.cxx:414 AliMUONClusterFinderMLEM.cxx:415 AliMUONClusterFinderMLEM.cxx:416 AliMUONClusterFinderMLEM.cxx:417 AliMUONClusterFinderMLEM.cxx:418 AliMUONClusterFinderMLEM.cxx:419 AliMUONClusterFinderMLEM.cxx:420 AliMUONClusterFinderMLEM.cxx:421 AliMUONClusterFinderMLEM.cxx:422 AliMUONClusterFinderMLEM.cxx:423 AliMUONClusterFinderMLEM.cxx:424 AliMUONClusterFinderMLEM.cxx:425 AliMUONClusterFinderMLEM.cxx:426 AliMUONClusterFinderMLEM.cxx:427 AliMUONClusterFinderMLEM.cxx:428 AliMUONClusterFinderMLEM.cxx:429 AliMUONClusterFinderMLEM.cxx:430 AliMUONClusterFinderMLEM.cxx:431 AliMUONClusterFinderMLEM.cxx:432 AliMUONClusterFinderMLEM.cxx:433 AliMUONClusterFinderMLEM.cxx:434 AliMUONClusterFinderMLEM.cxx:435 AliMUONClusterFinderMLEM.cxx:436 AliMUONClusterFinderMLEM.cxx:437 AliMUONClusterFinderMLEM.cxx:438 AliMUONClusterFinderMLEM.cxx:439 AliMUONClusterFinderMLEM.cxx:440 AliMUONClusterFinderMLEM.cxx:441 AliMUONClusterFinderMLEM.cxx:442 AliMUONClusterFinderMLEM.cxx:443 AliMUONClusterFinderMLEM.cxx:444 AliMUONClusterFinderMLEM.cxx:445 AliMUONClusterFinderMLEM.cxx:446 AliMUONClusterFinderMLEM.cxx:447 AliMUONClusterFinderMLEM.cxx:448 AliMUONClusterFinderMLEM.cxx:449 AliMUONClusterFinderMLEM.cxx:450 AliMUONClusterFinderMLEM.cxx:451 AliMUONClusterFinderMLEM.cxx:452 AliMUONClusterFinderMLEM.cxx:453 AliMUONClusterFinderMLEM.cxx:454 AliMUONClusterFinderMLEM.cxx:455 AliMUONClusterFinderMLEM.cxx:456 AliMUONClusterFinderMLEM.cxx:457 AliMUONClusterFinderMLEM.cxx:458 AliMUONClusterFinderMLEM.cxx:459 AliMUONClusterFinderMLEM.cxx:460 AliMUONClusterFinderMLEM.cxx:461 AliMUONClusterFinderMLEM.cxx:462 AliMUONClusterFinderMLEM.cxx:463 AliMUONClusterFinderMLEM.cxx:464 AliMUONClusterFinderMLEM.cxx:465 AliMUONClusterFinderMLEM.cxx:466 AliMUONClusterFinderMLEM.cxx:467 AliMUONClusterFinderMLEM.cxx:468 AliMUONClusterFinderMLEM.cxx:469 AliMUONClusterFinderMLEM.cxx:470 AliMUONClusterFinderMLEM.cxx:471 AliMUONClusterFinderMLEM.cxx:472 AliMUONClusterFinderMLEM.cxx:473 AliMUONClusterFinderMLEM.cxx:474 AliMUONClusterFinderMLEM.cxx:475 AliMUONClusterFinderMLEM.cxx:476 AliMUONClusterFinderMLEM.cxx:477 AliMUONClusterFinderMLEM.cxx:478 AliMUONClusterFinderMLEM.cxx:479 AliMUONClusterFinderMLEM.cxx:480 AliMUONClusterFinderMLEM.cxx:481 AliMUONClusterFinderMLEM.cxx:482 AliMUONClusterFinderMLEM.cxx:483 AliMUONClusterFinderMLEM.cxx:484 AliMUONClusterFinderMLEM.cxx:485 AliMUONClusterFinderMLEM.cxx:486 AliMUONClusterFinderMLEM.cxx:487 AliMUONClusterFinderMLEM.cxx:488 AliMUONClusterFinderMLEM.cxx:489 AliMUONClusterFinderMLEM.cxx:490 AliMUONClusterFinderMLEM.cxx:491 AliMUONClusterFinderMLEM.cxx:492 AliMUONClusterFinderMLEM.cxx:493 AliMUONClusterFinderMLEM.cxx:494 AliMUONClusterFinderMLEM.cxx:495 AliMUONClusterFinderMLEM.cxx:496 AliMUONClusterFinderMLEM.cxx:497 AliMUONClusterFinderMLEM.cxx:498 AliMUONClusterFinderMLEM.cxx:499 AliMUONClusterFinderMLEM.cxx:500 AliMUONClusterFinderMLEM.cxx:501 AliMUONClusterFinderMLEM.cxx:502 AliMUONClusterFinderMLEM.cxx:503 AliMUONClusterFinderMLEM.cxx:504 AliMUONClusterFinderMLEM.cxx:505 AliMUONClusterFinderMLEM.cxx:506 AliMUONClusterFinderMLEM.cxx:507 AliMUONClusterFinderMLEM.cxx:508 AliMUONClusterFinderMLEM.cxx:509 AliMUONClusterFinderMLEM.cxx:510 AliMUONClusterFinderMLEM.cxx:511 AliMUONClusterFinderMLEM.cxx:512 AliMUONClusterFinderMLEM.cxx:513 AliMUONClusterFinderMLEM.cxx:514 AliMUONClusterFinderMLEM.cxx:515 AliMUONClusterFinderMLEM.cxx:516 AliMUONClusterFinderMLEM.cxx:517 AliMUONClusterFinderMLEM.cxx:518 AliMUONClusterFinderMLEM.cxx:519 AliMUONClusterFinderMLEM.cxx:520 AliMUONClusterFinderMLEM.cxx:521 AliMUONClusterFinderMLEM.cxx:522 AliMUONClusterFinderMLEM.cxx:523 AliMUONClusterFinderMLEM.cxx:524 AliMUONClusterFinderMLEM.cxx:525 AliMUONClusterFinderMLEM.cxx:526 AliMUONClusterFinderMLEM.cxx:527 AliMUONClusterFinderMLEM.cxx:528 AliMUONClusterFinderMLEM.cxx:529 AliMUONClusterFinderMLEM.cxx:530 AliMUONClusterFinderMLEM.cxx:531 AliMUONClusterFinderMLEM.cxx:532 AliMUONClusterFinderMLEM.cxx:533 AliMUONClusterFinderMLEM.cxx:534 AliMUONClusterFinderMLEM.cxx:535 AliMUONClusterFinderMLEM.cxx:536 AliMUONClusterFinderMLEM.cxx:537 AliMUONClusterFinderMLEM.cxx:538 AliMUONClusterFinderMLEM.cxx:539 AliMUONClusterFinderMLEM.cxx:540 AliMUONClusterFinderMLEM.cxx:541 AliMUONClusterFinderMLEM.cxx:542 AliMUONClusterFinderMLEM.cxx:543 AliMUONClusterFinderMLEM.cxx:544 AliMUONClusterFinderMLEM.cxx:545 AliMUONClusterFinderMLEM.cxx:546 AliMUONClusterFinderMLEM.cxx:547 AliMUONClusterFinderMLEM.cxx:548 AliMUONClusterFinderMLEM.cxx:549 AliMUONClusterFinderMLEM.cxx:550 AliMUONClusterFinderMLEM.cxx:551 AliMUONClusterFinderMLEM.cxx:552 AliMUONClusterFinderMLEM.cxx:553 AliMUONClusterFinderMLEM.cxx:554 AliMUONClusterFinderMLEM.cxx:555 AliMUONClusterFinderMLEM.cxx:556 AliMUONClusterFinderMLEM.cxx:557 AliMUONClusterFinderMLEM.cxx:558 AliMUONClusterFinderMLEM.cxx:559 AliMUONClusterFinderMLEM.cxx:560 AliMUONClusterFinderMLEM.cxx:561 AliMUONClusterFinderMLEM.cxx:562 AliMUONClusterFinderMLEM.cxx:563 AliMUONClusterFinderMLEM.cxx:564 AliMUONClusterFinderMLEM.cxx:565 AliMUONClusterFinderMLEM.cxx:566 AliMUONClusterFinderMLEM.cxx:567 AliMUONClusterFinderMLEM.cxx:568 AliMUONClusterFinderMLEM.cxx:569 AliMUONClusterFinderMLEM.cxx:570 AliMUONClusterFinderMLEM.cxx:571 AliMUONClusterFinderMLEM.cxx:572 AliMUONClusterFinderMLEM.cxx:573 AliMUONClusterFinderMLEM.cxx:574 AliMUONClusterFinderMLEM.cxx:575 AliMUONClusterFinderMLEM.cxx:576 AliMUONClusterFinderMLEM.cxx:577 AliMUONClusterFinderMLEM.cxx:578 AliMUONClusterFinderMLEM.cxx:579 AliMUONClusterFinderMLEM.cxx:580 AliMUONClusterFinderMLEM.cxx:581 AliMUONClusterFinderMLEM.cxx:582 AliMUONClusterFinderMLEM.cxx:583 AliMUONClusterFinderMLEM.cxx:584 AliMUONClusterFinderMLEM.cxx:585 AliMUONClusterFinderMLEM.cxx:586 AliMUONClusterFinderMLEM.cxx:587 AliMUONClusterFinderMLEM.cxx:588 AliMUONClusterFinderMLEM.cxx:589 AliMUONClusterFinderMLEM.cxx:590 AliMUONClusterFinderMLEM.cxx:591 AliMUONClusterFinderMLEM.cxx:592 AliMUONClusterFinderMLEM.cxx:593 AliMUONClusterFinderMLEM.cxx:594 AliMUONClusterFinderMLEM.cxx:595 AliMUONClusterFinderMLEM.cxx:596 AliMUONClusterFinderMLEM.cxx:597 AliMUONClusterFinderMLEM.cxx:598 AliMUONClusterFinderMLEM.cxx:599 AliMUONClusterFinderMLEM.cxx:600 AliMUONClusterFinderMLEM.cxx:601 AliMUONClusterFinderMLEM.cxx:602 AliMUONClusterFinderMLEM.cxx:603 AliMUONClusterFinderMLEM.cxx:604 AliMUONClusterFinderMLEM.cxx:605 AliMUONClusterFinderMLEM.cxx:606 AliMUONClusterFinderMLEM.cxx:607 AliMUONClusterFinderMLEM.cxx:608 AliMUONClusterFinderMLEM.cxx:609 AliMUONClusterFinderMLEM.cxx:610 AliMUONClusterFinderMLEM.cxx:611 AliMUONClusterFinderMLEM.cxx:612 AliMUONClusterFinderMLEM.cxx:613 AliMUONClusterFinderMLEM.cxx:614 AliMUONClusterFinderMLEM.cxx:615 AliMUONClusterFinderMLEM.cxx:616 AliMUONClusterFinderMLEM.cxx:617 AliMUONClusterFinderMLEM.cxx:618 AliMUONClusterFinderMLEM.cxx:619 AliMUONClusterFinderMLEM.cxx:620 AliMUONClusterFinderMLEM.cxx:621 AliMUONClusterFinderMLEM.cxx:622 AliMUONClusterFinderMLEM.cxx:623 AliMUONClusterFinderMLEM.cxx:624 AliMUONClusterFinderMLEM.cxx:625 AliMUONClusterFinderMLEM.cxx:626 AliMUONClusterFinderMLEM.cxx:627 AliMUONClusterFinderMLEM.cxx:628 AliMUONClusterFinderMLEM.cxx:629 AliMUONClusterFinderMLEM.cxx:630 AliMUONClusterFinderMLEM.cxx:631 AliMUONClusterFinderMLEM.cxx:632 AliMUONClusterFinderMLEM.cxx:633 AliMUONClusterFinderMLEM.cxx:634 AliMUONClusterFinderMLEM.cxx:635 AliMUONClusterFinderMLEM.cxx:636 AliMUONClusterFinderMLEM.cxx:637 AliMUONClusterFinderMLEM.cxx:638 AliMUONClusterFinderMLEM.cxx:639 AliMUONClusterFinderMLEM.cxx:640 AliMUONClusterFinderMLEM.cxx:641 AliMUONClusterFinderMLEM.cxx:642 AliMUONClusterFinderMLEM.cxx:643 AliMUONClusterFinderMLEM.cxx:644 AliMUONClusterFinderMLEM.cxx:645 AliMUONClusterFinderMLEM.cxx:646 AliMUONClusterFinderMLEM.cxx:647 AliMUONClusterFinderMLEM.cxx:648 AliMUONClusterFinderMLEM.cxx:649 AliMUONClusterFinderMLEM.cxx:650 AliMUONClusterFinderMLEM.cxx:651 AliMUONClusterFinderMLEM.cxx:652 AliMUONClusterFinderMLEM.cxx:653 AliMUONClusterFinderMLEM.cxx:654 AliMUONClusterFinderMLEM.cxx:655 AliMUONClusterFinderMLEM.cxx:656 AliMUONClusterFinderMLEM.cxx:657 AliMUONClusterFinderMLEM.cxx:658 AliMUONClusterFinderMLEM.cxx:659 AliMUONClusterFinderMLEM.cxx:660 AliMUONClusterFinderMLEM.cxx:661 AliMUONClusterFinderMLEM.cxx:662 AliMUONClusterFinderMLEM.cxx:663 AliMUONClusterFinderMLEM.cxx:664 AliMUONClusterFinderMLEM.cxx:665 AliMUONClusterFinderMLEM.cxx:666 AliMUONClusterFinderMLEM.cxx:667 AliMUONClusterFinderMLEM.cxx:668 AliMUONClusterFinderMLEM.cxx:669 AliMUONClusterFinderMLEM.cxx:670 AliMUONClusterFinderMLEM.cxx:671 AliMUONClusterFinderMLEM.cxx:672 AliMUONClusterFinderMLEM.cxx:673 AliMUONClusterFinderMLEM.cxx:674 AliMUONClusterFinderMLEM.cxx:675 AliMUONClusterFinderMLEM.cxx:676 AliMUONClusterFinderMLEM.cxx:677 AliMUONClusterFinderMLEM.cxx:678 AliMUONClusterFinderMLEM.cxx:679 AliMUONClusterFinderMLEM.cxx:680 AliMUONClusterFinderMLEM.cxx:681 AliMUONClusterFinderMLEM.cxx:682 AliMUONClusterFinderMLEM.cxx:683 AliMUONClusterFinderMLEM.cxx:684 AliMUONClusterFinderMLEM.cxx:685 AliMUONClusterFinderMLEM.cxx:686 AliMUONClusterFinderMLEM.cxx:687 AliMUONClusterFinderMLEM.cxx:688 AliMUONClusterFinderMLEM.cxx:689 AliMUONClusterFinderMLEM.cxx:690 AliMUONClusterFinderMLEM.cxx:691 AliMUONClusterFinderMLEM.cxx:692 AliMUONClusterFinderMLEM.cxx:693 AliMUONClusterFinderMLEM.cxx:694 AliMUONClusterFinderMLEM.cxx:695 AliMUONClusterFinderMLEM.cxx:696 AliMUONClusterFinderMLEM.cxx:697 AliMUONClusterFinderMLEM.cxx:698 AliMUONClusterFinderMLEM.cxx:699 AliMUONClusterFinderMLEM.cxx:700 AliMUONClusterFinderMLEM.cxx:701 AliMUONClusterFinderMLEM.cxx:702 AliMUONClusterFinderMLEM.cxx:703 AliMUONClusterFinderMLEM.cxx:704 AliMUONClusterFinderMLEM.cxx:705 AliMUONClusterFinderMLEM.cxx:706 AliMUONClusterFinderMLEM.cxx:707 AliMUONClusterFinderMLEM.cxx:708 AliMUONClusterFinderMLEM.cxx:709 AliMUONClusterFinderMLEM.cxx:710 AliMUONClusterFinderMLEM.cxx:711 AliMUONClusterFinderMLEM.cxx:712 AliMUONClusterFinderMLEM.cxx:713 AliMUONClusterFinderMLEM.cxx:714 AliMUONClusterFinderMLEM.cxx:715 AliMUONClusterFinderMLEM.cxx:716 AliMUONClusterFinderMLEM.cxx:717 AliMUONClusterFinderMLEM.cxx:718 AliMUONClusterFinderMLEM.cxx:719 AliMUONClusterFinderMLEM.cxx:720 AliMUONClusterFinderMLEM.cxx:721 AliMUONClusterFinderMLEM.cxx:722 AliMUONClusterFinderMLEM.cxx:723 AliMUONClusterFinderMLEM.cxx:724 AliMUONClusterFinderMLEM.cxx:725 AliMUONClusterFinderMLEM.cxx:726 AliMUONClusterFinderMLEM.cxx:727 AliMUONClusterFinderMLEM.cxx:728 AliMUONClusterFinderMLEM.cxx:729 AliMUONClusterFinderMLEM.cxx:730 AliMUONClusterFinderMLEM.cxx:731 AliMUONClusterFinderMLEM.cxx:732 AliMUONClusterFinderMLEM.cxx:733 AliMUONClusterFinderMLEM.cxx:734 AliMUONClusterFinderMLEM.cxx:735 AliMUONClusterFinderMLEM.cxx:736 AliMUONClusterFinderMLEM.cxx:737 AliMUONClusterFinderMLEM.cxx:738 AliMUONClusterFinderMLEM.cxx:739 AliMUONClusterFinderMLEM.cxx:740 AliMUONClusterFinderMLEM.cxx:741 AliMUONClusterFinderMLEM.cxx:742 AliMUONClusterFinderMLEM.cxx:743 AliMUONClusterFinderMLEM.cxx:744 AliMUONClusterFinderMLEM.cxx:745 AliMUONClusterFinderMLEM.cxx:746 AliMUONClusterFinderMLEM.cxx:747 AliMUONClusterFinderMLEM.cxx:748 AliMUONClusterFinderMLEM.cxx:749 AliMUONClusterFinderMLEM.cxx:750 AliMUONClusterFinderMLEM.cxx:751 AliMUONClusterFinderMLEM.cxx:752 AliMUONClusterFinderMLEM.cxx:753 AliMUONClusterFinderMLEM.cxx:754 AliMUONClusterFinderMLEM.cxx:755 AliMUONClusterFinderMLEM.cxx:756 AliMUONClusterFinderMLEM.cxx:757 AliMUONClusterFinderMLEM.cxx:758 AliMUONClusterFinderMLEM.cxx:759 AliMUONClusterFinderMLEM.cxx:760 AliMUONClusterFinderMLEM.cxx:761 AliMUONClusterFinderMLEM.cxx:762 AliMUONClusterFinderMLEM.cxx:763 AliMUONClusterFinderMLEM.cxx:764 AliMUONClusterFinderMLEM.cxx:765 AliMUONClusterFinderMLEM.cxx:766 AliMUONClusterFinderMLEM.cxx:767 AliMUONClusterFinderMLEM.cxx:768 AliMUONClusterFinderMLEM.cxx:769 AliMUONClusterFinderMLEM.cxx:770 AliMUONClusterFinderMLEM.cxx:771 AliMUONClusterFinderMLEM.cxx:772 AliMUONClusterFinderMLEM.cxx:773 AliMUONClusterFinderMLEM.cxx:774 AliMUONClusterFinderMLEM.cxx:775 AliMUONClusterFinderMLEM.cxx:776 AliMUONClusterFinderMLEM.cxx:777 AliMUONClusterFinderMLEM.cxx:778 AliMUONClusterFinderMLEM.cxx:779 AliMUONClusterFinderMLEM.cxx:780 AliMUONClusterFinderMLEM.cxx:781 AliMUONClusterFinderMLEM.cxx:782 AliMUONClusterFinderMLEM.cxx:783 AliMUONClusterFinderMLEM.cxx:784 AliMUONClusterFinderMLEM.cxx:785 AliMUONClusterFinderMLEM.cxx:786 AliMUONClusterFinderMLEM.cxx:787 AliMUONClusterFinderMLEM.cxx:788 AliMUONClusterFinderMLEM.cxx:789 AliMUONClusterFinderMLEM.cxx:790 AliMUONClusterFinderMLEM.cxx:791 AliMUONClusterFinderMLEM.cxx:792 AliMUONClusterFinderMLEM.cxx:793 AliMUONClusterFinderMLEM.cxx:794 AliMUONClusterFinderMLEM.cxx:795 AliMUONClusterFinderMLEM.cxx:796 AliMUONClusterFinderMLEM.cxx:797 AliMUONClusterFinderMLEM.cxx:798 AliMUONClusterFinderMLEM.cxx:799 AliMUONClusterFinderMLEM.cxx:800 AliMUONClusterFinderMLEM.cxx:801 AliMUONClusterFinderMLEM.cxx:802 AliMUONClusterFinderMLEM.cxx:803 AliMUONClusterFinderMLEM.cxx:804 AliMUONClusterFinderMLEM.cxx:805 AliMUONClusterFinderMLEM.cxx:806 AliMUONClusterFinderMLEM.cxx:807 AliMUONClusterFinderMLEM.cxx:808 AliMUONClusterFinderMLEM.cxx:809 AliMUONClusterFinderMLEM.cxx:810 AliMUONClusterFinderMLEM.cxx:811 AliMUONClusterFinderMLEM.cxx:812 AliMUONClusterFinderMLEM.cxx:813 AliMUONClusterFinderMLEM.cxx:814 AliMUONClusterFinderMLEM.cxx:815 AliMUONClusterFinderMLEM.cxx:816 AliMUONClusterFinderMLEM.cxx:817 AliMUONClusterFinderMLEM.cxx:818 AliMUONClusterFinderMLEM.cxx:819 AliMUONClusterFinderMLEM.cxx:820 AliMUONClusterFinderMLEM.cxx:821 AliMUONClusterFinderMLEM.cxx:822 AliMUONClusterFinderMLEM.cxx:823 AliMUONClusterFinderMLEM.cxx:824 AliMUONClusterFinderMLEM.cxx:825 AliMUONClusterFinderMLEM.cxx:826 AliMUONClusterFinderMLEM.cxx:827 AliMUONClusterFinderMLEM.cxx:828 AliMUONClusterFinderMLEM.cxx:829 AliMUONClusterFinderMLEM.cxx:830 AliMUONClusterFinderMLEM.cxx:831 AliMUONClusterFinderMLEM.cxx:832 AliMUONClusterFinderMLEM.cxx:833 AliMUONClusterFinderMLEM.cxx:834 AliMUONClusterFinderMLEM.cxx:835 AliMUONClusterFinderMLEM.cxx:836 AliMUONClusterFinderMLEM.cxx:837 AliMUONClusterFinderMLEM.cxx:838 AliMUONClusterFinderMLEM.cxx:839 AliMUONClusterFinderMLEM.cxx:840 AliMUONClusterFinderMLEM.cxx:841 AliMUONClusterFinderMLEM.cxx:842 AliMUONClusterFinderMLEM.cxx:843 AliMUONClusterFinderMLEM.cxx:844 AliMUONClusterFinderMLEM.cxx:845 AliMUONClusterFinderMLEM.cxx:846 AliMUONClusterFinderMLEM.cxx:847 AliMUONClusterFinderMLEM.cxx:848 AliMUONClusterFinderMLEM.cxx:849 AliMUONClusterFinderMLEM.cxx:850 AliMUONClusterFinderMLEM.cxx:851 AliMUONClusterFinderMLEM.cxx:852 AliMUONClusterFinderMLEM.cxx:853 AliMUONClusterFinderMLEM.cxx:854 AliMUONClusterFinderMLEM.cxx:855 AliMUONClusterFinderMLEM.cxx:856 AliMUONClusterFinderMLEM.cxx:857 AliMUONClusterFinderMLEM.cxx:858 AliMUONClusterFinderMLEM.cxx:859 AliMUONClusterFinderMLEM.cxx:860 AliMUONClusterFinderMLEM.cxx:861 AliMUONClusterFinderMLEM.cxx:862 AliMUONClusterFinderMLEM.cxx:863 AliMUONClusterFinderMLEM.cxx:864 AliMUONClusterFinderMLEM.cxx:865 AliMUONClusterFinderMLEM.cxx:866 AliMUONClusterFinderMLEM.cxx:867 AliMUONClusterFinderMLEM.cxx:868 AliMUONClusterFinderMLEM.cxx:869 AliMUONClusterFinderMLEM.cxx:870 AliMUONClusterFinderMLEM.cxx:871 AliMUONClusterFinderMLEM.cxx:872 AliMUONClusterFinderMLEM.cxx:873 AliMUONClusterFinderMLEM.cxx:874 AliMUONClusterFinderMLEM.cxx:875 AliMUONClusterFinderMLEM.cxx:876 AliMUONClusterFinderMLEM.cxx:877 AliMUONClusterFinderMLEM.cxx:878 AliMUONClusterFinderMLEM.cxx:879 AliMUONClusterFinderMLEM.cxx:880 AliMUONClusterFinderMLEM.cxx:881 AliMUONClusterFinderMLEM.cxx:882 AliMUONClusterFinderMLEM.cxx:883 AliMUONClusterFinderMLEM.cxx:884 AliMUONClusterFinderMLEM.cxx:885 AliMUONClusterFinderMLEM.cxx:886 AliMUONClusterFinderMLEM.cxx:887 AliMUONClusterFinderMLEM.cxx:888 AliMUONClusterFinderMLEM.cxx:889 AliMUONClusterFinderMLEM.cxx:890 AliMUONClusterFinderMLEM.cxx:891 AliMUONClusterFinderMLEM.cxx:892 AliMUONClusterFinderMLEM.cxx:893 AliMUONClusterFinderMLEM.cxx:894 AliMUONClusterFinderMLEM.cxx:895 AliMUONClusterFinderMLEM.cxx:896 AliMUONClusterFinderMLEM.cxx:897 AliMUONClusterFinderMLEM.cxx:898 AliMUONClusterFinderMLEM.cxx:899 AliMUONClusterFinderMLEM.cxx:900 AliMUONClusterFinderMLEM.cxx:901 AliMUONClusterFinderMLEM.cxx:902 AliMUONClusterFinderMLEM.cxx:903 AliMUONClusterFinderMLEM.cxx:904 AliMUONClusterFinderMLEM.cxx:905 AliMUONClusterFinderMLEM.cxx:906 AliMUONClusterFinderMLEM.cxx:907 AliMUONClusterFinderMLEM.cxx:908 AliMUONClusterFinderMLEM.cxx:909 AliMUONClusterFinderMLEM.cxx:910 AliMUONClusterFinderMLEM.cxx:911 AliMUONClusterFinderMLEM.cxx:912 AliMUONClusterFinderMLEM.cxx:913 AliMUONClusterFinderMLEM.cxx:914 AliMUONClusterFinderMLEM.cxx:915 AliMUONClusterFinderMLEM.cxx:916 AliMUONClusterFinderMLEM.cxx:917 AliMUONClusterFinderMLEM.cxx:918 AliMUONClusterFinderMLEM.cxx:919 AliMUONClusterFinderMLEM.cxx:920 AliMUONClusterFinderMLEM.cxx:921 AliMUONClusterFinderMLEM.cxx:922 AliMUONClusterFinderMLEM.cxx:923 AliMUONClusterFinderMLEM.cxx:924 AliMUONClusterFinderMLEM.cxx:925 AliMUONClusterFinderMLEM.cxx:926 AliMUONClusterFinderMLEM.cxx:927 AliMUONClusterFinderMLEM.cxx:928 AliMUONClusterFinderMLEM.cxx:929 AliMUONClusterFinderMLEM.cxx:930 AliMUONClusterFinderMLEM.cxx:931 AliMUONClusterFinderMLEM.cxx:932 AliMUONClusterFinderMLEM.cxx:933 AliMUONClusterFinderMLEM.cxx:934 AliMUONClusterFinderMLEM.cxx:935 AliMUONClusterFinderMLEM.cxx:936 AliMUONClusterFinderMLEM.cxx:937 AliMUONClusterFinderMLEM.cxx:938 AliMUONClusterFinderMLEM.cxx:939 AliMUONClusterFinderMLEM.cxx:940 AliMUONClusterFinderMLEM.cxx:941 AliMUONClusterFinderMLEM.cxx:942 AliMUONClusterFinderMLEM.cxx:943 AliMUONClusterFinderMLEM.cxx:944 AliMUONClusterFinderMLEM.cxx:945 AliMUONClusterFinderMLEM.cxx:946 AliMUONClusterFinderMLEM.cxx:947 AliMUONClusterFinderMLEM.cxx:948 AliMUONClusterFinderMLEM.cxx:949 AliMUONClusterFinderMLEM.cxx:950 AliMUONClusterFinderMLEM.cxx:951 AliMUONClusterFinderMLEM.cxx:952 AliMUONClusterFinderMLEM.cxx:953 AliMUONClusterFinderMLEM.cxx:954 AliMUONClusterFinderMLEM.cxx:955 AliMUONClusterFinderMLEM.cxx:956 AliMUONClusterFinderMLEM.cxx:957 AliMUONClusterFinderMLEM.cxx:958 AliMUONClusterFinderMLEM.cxx:959 AliMUONClusterFinderMLEM.cxx:960 AliMUONClusterFinderMLEM.cxx:961 AliMUONClusterFinderMLEM.cxx:962 AliMUONClusterFinderMLEM.cxx:963 AliMUONClusterFinderMLEM.cxx:964 AliMUONClusterFinderMLEM.cxx:965 AliMUONClusterFinderMLEM.cxx:966 AliMUONClusterFinderMLEM.cxx:967 AliMUONClusterFinderMLEM.cxx:968 AliMUONClusterFinderMLEM.cxx:969 AliMUONClusterFinderMLEM.cxx:970 AliMUONClusterFinderMLEM.cxx:971 AliMUONClusterFinderMLEM.cxx:972 AliMUONClusterFinderMLEM.cxx:973 AliMUONClusterFinderMLEM.cxx:974 AliMUONClusterFinderMLEM.cxx:975 AliMUONClusterFinderMLEM.cxx:976 AliMUONClusterFinderMLEM.cxx:977 AliMUONClusterFinderMLEM.cxx:978 AliMUONClusterFinderMLEM.cxx:979 AliMUONClusterFinderMLEM.cxx:980 AliMUONClusterFinderMLEM.cxx:981 AliMUONClusterFinderMLEM.cxx:982 AliMUONClusterFinderMLEM.cxx:983 AliMUONClusterFinderMLEM.cxx:984 AliMUONClusterFinderMLEM.cxx:985 AliMUONClusterFinderMLEM.cxx:986 AliMUONClusterFinderMLEM.cxx:987 AliMUONClusterFinderMLEM.cxx:988 AliMUONClusterFinderMLEM.cxx:989 AliMUONClusterFinderMLEM.cxx:990 AliMUONClusterFinderMLEM.cxx:991 AliMUONClusterFinderMLEM.cxx:992 AliMUONClusterFinderMLEM.cxx:993 AliMUONClusterFinderMLEM.cxx:994 AliMUONClusterFinderMLEM.cxx:995 AliMUONClusterFinderMLEM.cxx:996 AliMUONClusterFinderMLEM.cxx:997 AliMUONClusterFinderMLEM.cxx:998 AliMUONClusterFinderMLEM.cxx:999 AliMUONClusterFinderMLEM.cxx:1000 AliMUONClusterFinderMLEM.cxx:1001 AliMUONClusterFinderMLEM.cxx:1002 AliMUONClusterFinderMLEM.cxx:1003 AliMUONClusterFinderMLEM.cxx:1004 AliMUONClusterFinderMLEM.cxx:1005 AliMUONClusterFinderMLEM.cxx:1006 AliMUONClusterFinderMLEM.cxx:1007 AliMUONClusterFinderMLEM.cxx:1008 AliMUONClusterFinderMLEM.cxx:1009 AliMUONClusterFinderMLEM.cxx:1010 AliMUONClusterFinderMLEM.cxx:1011 AliMUONClusterFinderMLEM.cxx:1012 AliMUONClusterFinderMLEM.cxx:1013 AliMUONClusterFinderMLEM.cxx:1014 AliMUONClusterFinderMLEM.cxx:1015 AliMUONClusterFinderMLEM.cxx:1016 AliMUONClusterFinderMLEM.cxx:1017 AliMUONClusterFinderMLEM.cxx:1018 AliMUONClusterFinderMLEM.cxx:1019 AliMUONClusterFinderMLEM.cxx:1020 AliMUONClusterFinderMLEM.cxx:1021 AliMUONClusterFinderMLEM.cxx:1022 AliMUONClusterFinderMLEM.cxx:1023 AliMUONClusterFinderMLEM.cxx:1024 AliMUONClusterFinderMLEM.cxx:1025 AliMUONClusterFinderMLEM.cxx:1026 AliMUONClusterFinderMLEM.cxx:1027 AliMUONClusterFinderMLEM.cxx:1028 AliMUONClusterFinderMLEM.cxx:1029 AliMUONClusterFinderMLEM.cxx:1030 AliMUONClusterFinderMLEM.cxx:1031 AliMUONClusterFinderMLEM.cxx:1032 AliMUONClusterFinderMLEM.cxx:1033 AliMUONClusterFinderMLEM.cxx:1034 AliMUONClusterFinderMLEM.cxx:1035 AliMUONClusterFinderMLEM.cxx:1036 AliMUONClusterFinderMLEM.cxx:1037 AliMUONClusterFinderMLEM.cxx:1038 AliMUONClusterFinderMLEM.cxx:1039 AliMUONClusterFinderMLEM.cxx:1040 AliMUONClusterFinderMLEM.cxx:1041 AliMUONClusterFinderMLEM.cxx:1042 AliMUONClusterFinderMLEM.cxx:1043 AliMUONClusterFinderMLEM.cxx:1044 AliMUONClusterFinderMLEM.cxx:1045 AliMUONClusterFinderMLEM.cxx:1046 AliMUONClusterFinderMLEM.cxx:1047 AliMUONClusterFinderMLEM.cxx:1048 AliMUONClusterFinderMLEM.cxx:1049 AliMUONClusterFinderMLEM.cxx:1050 AliMUONClusterFinderMLEM.cxx:1051 AliMUONClusterFinderMLEM.cxx:1052 AliMUONClusterFinderMLEM.cxx:1053 AliMUONClusterFinderMLEM.cxx:1054 AliMUONClusterFinderMLEM.cxx:1055 AliMUONClusterFinderMLEM.cxx:1056 AliMUONClusterFinderMLEM.cxx:1057 AliMUONClusterFinderMLEM.cxx:1058 AliMUONClusterFinderMLEM.cxx:1059 AliMUONClusterFinderMLEM.cxx:1060 AliMUONClusterFinderMLEM.cxx:1061 AliMUONClusterFinderMLEM.cxx:1062 AliMUONClusterFinderMLEM.cxx:1063 AliMUONClusterFinderMLEM.cxx:1064 AliMUONClusterFinderMLEM.cxx:1065 AliMUONClusterFinderMLEM.cxx:1066 AliMUONClusterFinderMLEM.cxx:1067 AliMUONClusterFinderMLEM.cxx:1068 AliMUONClusterFinderMLEM.cxx:1069 AliMUONClusterFinderMLEM.cxx:1070 AliMUONClusterFinderMLEM.cxx:1071 AliMUONClusterFinderMLEM.cxx:1072 AliMUONClusterFinderMLEM.cxx:1073 AliMUONClusterFinderMLEM.cxx:1074 AliMUONClusterFinderMLEM.cxx:1075 AliMUONClusterFinderMLEM.cxx:1076 AliMUONClusterFinderMLEM.cxx:1077 AliMUONClusterFinderMLEM.cxx:1078 AliMUONClusterFinderMLEM.cxx:1079 AliMUONClusterFinderMLEM.cxx:1080 AliMUONClusterFinderMLEM.cxx:1081 AliMUONClusterFinderMLEM.cxx:1082 AliMUONClusterFinderMLEM.cxx:1083 AliMUONClusterFinderMLEM.cxx:1084 AliMUONClusterFinderMLEM.cxx:1085 AliMUONClusterFinderMLEM.cxx:1086 AliMUONClusterFinderMLEM.cxx:1087 AliMUONClusterFinderMLEM.cxx:1088 AliMUONClusterFinderMLEM.cxx:1089 AliMUONClusterFinderMLEM.cxx:1090 AliMUONClusterFinderMLEM.cxx:1091 AliMUONClusterFinderMLEM.cxx:1092 AliMUONClusterFinderMLEM.cxx:1093 AliMUONClusterFinderMLEM.cxx:1094 AliMUONClusterFinderMLEM.cxx:1095 AliMUONClusterFinderMLEM.cxx:1096 AliMUONClusterFinderMLEM.cxx:1097 AliMUONClusterFinderMLEM.cxx:1098 AliMUONClusterFinderMLEM.cxx:1099 AliMUONClusterFinderMLEM.cxx:1100 AliMUONClusterFinderMLEM.cxx:1101 AliMUONClusterFinderMLEM.cxx:1102 AliMUONClusterFinderMLEM.cxx:1103 AliMUONClusterFinderMLEM.cxx:1104 AliMUONClusterFinderMLEM.cxx:1105 AliMUONClusterFinderMLEM.cxx:1106 AliMUONClusterFinderMLEM.cxx:1107 AliMUONClusterFinderMLEM.cxx:1108 AliMUONClusterFinderMLEM.cxx:1109 AliMUONClusterFinderMLEM.cxx:1110 AliMUONClusterFinderMLEM.cxx:1111 AliMUONClusterFinderMLEM.cxx:1112 AliMUONClusterFinderMLEM.cxx:1113 AliMUONClusterFinderMLEM.cxx:1114 AliMUONClusterFinderMLEM.cxx:1115 AliMUONClusterFinderMLEM.cxx:1116 AliMUONClusterFinderMLEM.cxx:1117 AliMUONClusterFinderMLEM.cxx:1118 AliMUONClusterFinderMLEM.cxx:1119 AliMUONClusterFinderMLEM.cxx:1120 AliMUONClusterFinderMLEM.cxx:1121 AliMUONClusterFinderMLEM.cxx:1122 AliMUONClusterFinderMLEM.cxx:1123 AliMUONClusterFinderMLEM.cxx:1124 AliMUONClusterFinderMLEM.cxx:1125 AliMUONClusterFinderMLEM.cxx:1126 AliMUONClusterFinderMLEM.cxx:1127 AliMUONClusterFinderMLEM.cxx:1128 AliMUONClusterFinderMLEM.cxx:1129 AliMUONClusterFinderMLEM.cxx:1130 AliMUONClusterFinderMLEM.cxx:1131 AliMUONClusterFinderMLEM.cxx:1132 AliMUONClusterFinderMLEM.cxx:1133 AliMUONClusterFinderMLEM.cxx:1134 AliMUONClusterFinderMLEM.cxx:1135 AliMUONClusterFinderMLEM.cxx:1136 AliMUONClusterFinderMLEM.cxx:1137 AliMUONClusterFinderMLEM.cxx:1138 AliMUONClusterFinderMLEM.cxx:1139 AliMUONClusterFinderMLEM.cxx:1140 AliMUONClusterFinderMLEM.cxx:1141 AliMUONClusterFinderMLEM.cxx:1142 AliMUONClusterFinderMLEM.cxx:1143 AliMUONClusterFinderMLEM.cxx:1144 AliMUONClusterFinderMLEM.cxx:1145 AliMUONClusterFinderMLEM.cxx:1146 AliMUONClusterFinderMLEM.cxx:1147 AliMUONClusterFinderMLEM.cxx:1148 AliMUONClusterFinderMLEM.cxx:1149 AliMUONClusterFinderMLEM.cxx:1150 AliMUONClusterFinderMLEM.cxx:1151 AliMUONClusterFinderMLEM.cxx:1152 AliMUONClusterFinderMLEM.cxx:1153 AliMUONClusterFinderMLEM.cxx:1154 AliMUONClusterFinderMLEM.cxx:1155 AliMUONClusterFinderMLEM.cxx:1156 AliMUONClusterFinderMLEM.cxx:1157 AliMUONClusterFinderMLEM.cxx:1158 AliMUONClusterFinderMLEM.cxx:1159 AliMUONClusterFinderMLEM.cxx:1160 AliMUONClusterFinderMLEM.cxx:1161 AliMUONClusterFinderMLEM.cxx:1162 AliMUONClusterFinderMLEM.cxx:1163 AliMUONClusterFinderMLEM.cxx:1164 AliMUONClusterFinderMLEM.cxx:1165 AliMUONClusterFinderMLEM.cxx:1166 AliMUONClusterFinderMLEM.cxx:1167 AliMUONClusterFinderMLEM.cxx:1168 AliMUONClusterFinderMLEM.cxx:1169 AliMUONClusterFinderMLEM.cxx:1170 AliMUONClusterFinderMLEM.cxx:1171 AliMUONClusterFinderMLEM.cxx:1172 AliMUONClusterFinderMLEM.cxx:1173 AliMUONClusterFinderMLEM.cxx:1174 AliMUONClusterFinderMLEM.cxx:1175 AliMUONClusterFinderMLEM.cxx:1176 AliMUONClusterFinderMLEM.cxx:1177 AliMUONClusterFinderMLEM.cxx:1178 AliMUONClusterFinderMLEM.cxx:1179 AliMUONClusterFinderMLEM.cxx:1180 AliMUONClusterFinderMLEM.cxx:1181 AliMUONClusterFinderMLEM.cxx:1182 AliMUONClusterFinderMLEM.cxx:1183 AliMUONClusterFinderMLEM.cxx:1184 AliMUONClusterFinderMLEM.cxx:1185 AliMUONClusterFinderMLEM.cxx:1186 AliMUONClusterFinderMLEM.cxx:1187 AliMUONClusterFinderMLEM.cxx:1188 AliMUONClusterFinderMLEM.cxx:1189 AliMUONClusterFinderMLEM.cxx:1190 AliMUONClusterFinderMLEM.cxx:1191 AliMUONClusterFinderMLEM.cxx:1192 AliMUONClusterFinderMLEM.cxx:1193 AliMUONClusterFinderMLEM.cxx:1194 AliMUONClusterFinderMLEM.cxx:1195 AliMUONClusterFinderMLEM.cxx:1196 AliMUONClusterFinderMLEM.cxx:1197 AliMUONClusterFinderMLEM.cxx:1198 AliMUONClusterFinderMLEM.cxx:1199 AliMUONClusterFinderMLEM.cxx:1200 AliMUONClusterFinderMLEM.cxx:1201 AliMUONClusterFinderMLEM.cxx:1202 AliMUONClusterFinderMLEM.cxx:1203 AliMUONClusterFinderMLEM.cxx:1204 AliMUONClusterFinderMLEM.cxx:1205 AliMUONClusterFinderMLEM.cxx:1206 AliMUONClusterFinderMLEM.cxx:1207 AliMUONClusterFinderMLEM.cxx:1208 AliMUONClusterFinderMLEM.cxx:1209 AliMUONClusterFinderMLEM.cxx:1210 AliMUONClusterFinderMLEM.cxx:1211 AliMUONClusterFinderMLEM.cxx:1212 AliMUONClusterFinderMLEM.cxx:1213 AliMUONClusterFinderMLEM.cxx:1214 AliMUONClusterFinderMLEM.cxx:1215 AliMUONClusterFinderMLEM.cxx:1216 AliMUONClusterFinderMLEM.cxx:1217 AliMUONClusterFinderMLEM.cxx:1218 AliMUONClusterFinderMLEM.cxx:1219 AliMUONClusterFinderMLEM.cxx:1220 AliMUONClusterFinderMLEM.cxx:1221 AliMUONClusterFinderMLEM.cxx:1222 AliMUONClusterFinderMLEM.cxx:1223 AliMUONClusterFinderMLEM.cxx:1224 AliMUONClusterFinderMLEM.cxx:1225 AliMUONClusterFinderMLEM.cxx:1226 AliMUONClusterFinderMLEM.cxx:1227 AliMUONClusterFinderMLEM.cxx:1228 AliMUONClusterFinderMLEM.cxx:1229 AliMUONClusterFinderMLEM.cxx:1230 AliMUONClusterFinderMLEM.cxx:1231 AliMUONClusterFinderMLEM.cxx:1232 AliMUONClusterFinderMLEM.cxx:1233 AliMUONClusterFinderMLEM.cxx:1234 AliMUONClusterFinderMLEM.cxx:1235 AliMUONClusterFinderMLEM.cxx:1236 AliMUONClusterFinderMLEM.cxx:1237 AliMUONClusterFinderMLEM.cxx:1238 AliMUONClusterFinderMLEM.cxx:1239 AliMUONClusterFinderMLEM.cxx:1240 AliMUONClusterFinderMLEM.cxx:1241 AliMUONClusterFinderMLEM.cxx:1242 AliMUONClusterFinderMLEM.cxx:1243 AliMUONClusterFinderMLEM.cxx:1244 AliMUONClusterFinderMLEM.cxx:1245 AliMUONClusterFinderMLEM.cxx:1246 AliMUONClusterFinderMLEM.cxx:1247 AliMUONClusterFinderMLEM.cxx:1248 AliMUONClusterFinderMLEM.cxx:1249 AliMUONClusterFinderMLEM.cxx:1250 AliMUONClusterFinderMLEM.cxx:1251 AliMUONClusterFinderMLEM.cxx:1252 AliMUONClusterFinderMLEM.cxx:1253 AliMUONClusterFinderMLEM.cxx:1254 AliMUONClusterFinderMLEM.cxx:1255 AliMUONClusterFinderMLEM.cxx:1256 AliMUONClusterFinderMLEM.cxx:1257 AliMUONClusterFinderMLEM.cxx:1258 AliMUONClusterFinderMLEM.cxx:1259 AliMUONClusterFinderMLEM.cxx:1260 AliMUONClusterFinderMLEM.cxx:1261 AliMUONClusterFinderMLEM.cxx:1262 AliMUONClusterFinderMLEM.cxx:1263 AliMUONClusterFinderMLEM.cxx:1264 AliMUONClusterFinderMLEM.cxx:1265 AliMUONClusterFinderMLEM.cxx:1266 AliMUONClusterFinderMLEM.cxx:1267 AliMUONClusterFinderMLEM.cxx:1268 AliMUONClusterFinderMLEM.cxx:1269 AliMUONClusterFinderMLEM.cxx:1270 AliMUONClusterFinderMLEM.cxx:1271 AliMUONClusterFinderMLEM.cxx:1272 AliMUONClusterFinderMLEM.cxx:1273 AliMUONClusterFinderMLEM.cxx:1274 AliMUONClusterFinderMLEM.cxx:1275 AliMUONClusterFinderMLEM.cxx:1276 AliMUONClusterFinderMLEM.cxx:1277 AliMUONClusterFinderMLEM.cxx:1278 AliMUONClusterFinderMLEM.cxx:1279 AliMUONClusterFinderMLEM.cxx:1280 AliMUONClusterFinderMLEM.cxx:1281 AliMUONClusterFinderMLEM.cxx:1282 AliMUONClusterFinderMLEM.cxx:1283 AliMUONClusterFinderMLEM.cxx:1284 AliMUONClusterFinderMLEM.cxx:1285 AliMUONClusterFinderMLEM.cxx:1286 AliMUONClusterFinderMLEM.cxx:1287 AliMUONClusterFinderMLEM.cxx:1288 AliMUONClusterFinderMLEM.cxx:1289 AliMUONClusterFinderMLEM.cxx:1290 AliMUONClusterFinderMLEM.cxx:1291 AliMUONClusterFinderMLEM.cxx:1292 AliMUONClusterFinderMLEM.cxx:1293 AliMUONClusterFinderMLEM.cxx:1294 AliMUONClusterFinderMLEM.cxx:1295 AliMUONClusterFinderMLEM.cxx:1296 AliMUONClusterFinderMLEM.cxx:1297 AliMUONClusterFinderMLEM.cxx:1298 AliMUONClusterFinderMLEM.cxx:1299 AliMUONClusterFinderMLEM.cxx:1300 AliMUONClusterFinderMLEM.cxx:1301 AliMUONClusterFinderMLEM.cxx:1302 AliMUONClusterFinderMLEM.cxx:1303 AliMUONClusterFinderMLEM.cxx:1304 AliMUONClusterFinderMLEM.cxx:1305 AliMUONClusterFinderMLEM.cxx:1306 AliMUONClusterFinderMLEM.cxx:1307 AliMUONClusterFinderMLEM.cxx:1308 AliMUONClusterFinderMLEM.cxx:1309 AliMUONClusterFinderMLEM.cxx:1310 AliMUONClusterFinderMLEM.cxx:1311 AliMUONClusterFinderMLEM.cxx:1312 AliMUONClusterFinderMLEM.cxx:1313 AliMUONClusterFinderMLEM.cxx:1314 AliMUONClusterFinderMLEM.cxx:1315 AliMUONClusterFinderMLEM.cxx:1316 AliMUONClusterFinderMLEM.cxx:1317 AliMUONClusterFinderMLEM.cxx:1318 AliMUONClusterFinderMLEM.cxx:1319 AliMUONClusterFinderMLEM.cxx:1320 AliMUONClusterFinderMLEM.cxx:1321 AliMUONClusterFinderMLEM.cxx:1322 AliMUONClusterFinderMLEM.cxx:1323 AliMUONClusterFinderMLEM.cxx:1324 AliMUONClusterFinderMLEM.cxx:1325 AliMUONClusterFinderMLEM.cxx:1326 AliMUONClusterFinderMLEM.cxx:1327 AliMUONClusterFinderMLEM.cxx:1328 AliMUONClusterFinderMLEM.cxx:1329 AliMUONClusterFinderMLEM.cxx:1330 AliMUONClusterFinderMLEM.cxx:1331 AliMUONClusterFinderMLEM.cxx:1332 AliMUONClusterFinderMLEM.cxx:1333 AliMUONClusterFinderMLEM.cxx:1334 AliMUONClusterFinderMLEM.cxx:1335 AliMUONClusterFinderMLEM.cxx:1336 AliMUONClusterFinderMLEM.cxx:1337 AliMUONClusterFinderMLEM.cxx:1338 AliMUONClusterFinderMLEM.cxx:1339 AliMUONClusterFinderMLEM.cxx:1340 AliMUONClusterFinderMLEM.cxx:1341 AliMUONClusterFinderMLEM.cxx:1342 AliMUONClusterFinderMLEM.cxx:1343 AliMUONClusterFinderMLEM.cxx:1344 AliMUONClusterFinderMLEM.cxx:1345 AliMUONClusterFinderMLEM.cxx:1346 AliMUONClusterFinderMLEM.cxx:1347 AliMUONClusterFinderMLEM.cxx:1348 AliMUONClusterFinderMLEM.cxx:1349 AliMUONClusterFinderMLEM.cxx:1350 AliMUONClusterFinderMLEM.cxx:1351 AliMUONClusterFinderMLEM.cxx:1352 AliMUONClusterFinderMLEM.cxx:1353 AliMUONClusterFinderMLEM.cxx:1354 AliMUONClusterFinderMLEM.cxx:1355 AliMUONClusterFinderMLEM.cxx:1356 AliMUONClusterFinderMLEM.cxx:1357 AliMUONClusterFinderMLEM.cxx:1358 AliMUONClusterFinderMLEM.cxx:1359 AliMUONClusterFinderMLEM.cxx:1360 AliMUONClusterFinderMLEM.cxx:1361 AliMUONClusterFinderMLEM.cxx:1362 AliMUONClusterFinderMLEM.cxx:1363 AliMUONClusterFinderMLEM.cxx:1364 AliMUONClusterFinderMLEM.cxx:1365 AliMUONClusterFinderMLEM.cxx:1366 AliMUONClusterFinderMLEM.cxx:1367 AliMUONClusterFinderMLEM.cxx:1368 AliMUONClusterFinderMLEM.cxx:1369 AliMUONClusterFinderMLEM.cxx:1370 AliMUONClusterFinderMLEM.cxx:1371 AliMUONClusterFinderMLEM.cxx:1372 AliMUONClusterFinderMLEM.cxx:1373 AliMUONClusterFinderMLEM.cxx:1374 AliMUONClusterFinderMLEM.cxx:1375 AliMUONClusterFinderMLEM.cxx:1376 AliMUONClusterFinderMLEM.cxx:1377 AliMUONClusterFinderMLEM.cxx:1378 AliMUONClusterFinderMLEM.cxx:1379 AliMUONClusterFinderMLEM.cxx:1380 AliMUONClusterFinderMLEM.cxx:1381 AliMUONClusterFinderMLEM.cxx:1382 AliMUONClusterFinderMLEM.cxx:1383 AliMUONClusterFinderMLEM.cxx:1384 AliMUONClusterFinderMLEM.cxx:1385 AliMUONClusterFinderMLEM.cxx:1386 AliMUONClusterFinderMLEM.cxx:1387 AliMUONClusterFinderMLEM.cxx:1388 AliMUONClusterFinderMLEM.cxx:1389 AliMUONClusterFinderMLEM.cxx:1390 AliMUONClusterFinderMLEM.cxx:1391 AliMUONClusterFinderMLEM.cxx:1392 AliMUONClusterFinderMLEM.cxx:1393 AliMUONClusterFinderMLEM.cxx:1394 AliMUONClusterFinderMLEM.cxx:1395 AliMUONClusterFinderMLEM.cxx:1396 AliMUONClusterFinderMLEM.cxx:1397 AliMUONClusterFinderMLEM.cxx:1398 AliMUONClusterFinderMLEM.cxx:1399 AliMUONClusterFinderMLEM.cxx:1400 AliMUONClusterFinderMLEM.cxx:1401 AliMUONClusterFinderMLEM.cxx:1402 AliMUONClusterFinderMLEM.cxx:1403 AliMUONClusterFinderMLEM.cxx:1404 AliMUONClusterFinderMLEM.cxx:1405 AliMUONClusterFinderMLEM.cxx:1406 AliMUONClusterFinderMLEM.cxx:1407 AliMUONClusterFinderMLEM.cxx:1408 AliMUONClusterFinderMLEM.cxx:1409 AliMUONClusterFinderMLEM.cxx:1410 AliMUONClusterFinderMLEM.cxx:1411 AliMUONClusterFinderMLEM.cxx:1412 AliMUONClusterFinderMLEM.cxx:1413 AliMUONClusterFinderMLEM.cxx:1414 AliMUONClusterFinderMLEM.cxx:1415 AliMUONClusterFinderMLEM.cxx:1416 AliMUONClusterFinderMLEM.cxx:1417 AliMUONClusterFinderMLEM.cxx:1418 AliMUONClusterFinderMLEM.cxx:1419 AliMUONClusterFinderMLEM.cxx:1420 AliMUONClusterFinderMLEM.cxx:1421 AliMUONClusterFinderMLEM.cxx:1422 AliMUONClusterFinderMLEM.cxx:1423 AliMUONClusterFinderMLEM.cxx:1424 AliMUONClusterFinderMLEM.cxx:1425 AliMUONClusterFinderMLEM.cxx:1426 AliMUONClusterFinderMLEM.cxx:1427 AliMUONClusterFinderMLEM.cxx:1428 AliMUONClusterFinderMLEM.cxx:1429 AliMUONClusterFinderMLEM.cxx:1430 AliMUONClusterFinderMLEM.cxx:1431 AliMUONClusterFinderMLEM.cxx:1432 AliMUONClusterFinderMLEM.cxx:1433 AliMUONClusterFinderMLEM.cxx:1434 AliMUONClusterFinderMLEM.cxx:1435 AliMUONClusterFinderMLEM.cxx:1436 AliMUONClusterFinderMLEM.cxx:1437 AliMUONClusterFinderMLEM.cxx:1438 AliMUONClusterFinderMLEM.cxx:1439 AliMUONClusterFinderMLEM.cxx:1440 AliMUONClusterFinderMLEM.cxx:1441 AliMUONClusterFinderMLEM.cxx:1442 AliMUONClusterFinderMLEM.cxx:1443 AliMUONClusterFinderMLEM.cxx:1444 AliMUONClusterFinderMLEM.cxx:1445 AliMUONClusterFinderMLEM.cxx:1446 AliMUONClusterFinderMLEM.cxx:1447 AliMUONClusterFinderMLEM.cxx:1448 AliMUONClusterFinderMLEM.cxx:1449 AliMUONClusterFinderMLEM.cxx:1450 AliMUONClusterFinderMLEM.cxx:1451 AliMUONClusterFinderMLEM.cxx:1452 AliMUONClusterFinderMLEM.cxx:1453 AliMUONClusterFinderMLEM.cxx:1454 AliMUONClusterFinderMLEM.cxx:1455 AliMUONClusterFinderMLEM.cxx:1456 AliMUONClusterFinderMLEM.cxx:1457 AliMUONClusterFinderMLEM.cxx:1458 AliMUONClusterFinderMLEM.cxx:1459 AliMUONClusterFinderMLEM.cxx:1460 AliMUONClusterFinderMLEM.cxx:1461 AliMUONClusterFinderMLEM.cxx:1462 AliMUONClusterFinderMLEM.cxx:1463 AliMUONClusterFinderMLEM.cxx:1464 AliMUONClusterFinderMLEM.cxx:1465 AliMUONClusterFinderMLEM.cxx:1466 AliMUONClusterFinderMLEM.cxx:1467 AliMUONClusterFinderMLEM.cxx:1468 AliMUONClusterFinderMLEM.cxx:1469 AliMUONClusterFinderMLEM.cxx:1470 AliMUONClusterFinderMLEM.cxx:1471 AliMUONClusterFinderMLEM.cxx:1472 AliMUONClusterFinderMLEM.cxx:1473 AliMUONClusterFinderMLEM.cxx:1474 AliMUONClusterFinderMLEM.cxx:1475 AliMUONClusterFinderMLEM.cxx:1476 AliMUONClusterFinderMLEM.cxx:1477 AliMUONClusterFinderMLEM.cxx:1478 AliMUONClusterFinderMLEM.cxx:1479 AliMUONClusterFinderMLEM.cxx:1480 AliMUONClusterFinderMLEM.cxx:1481 AliMUONClusterFinderMLEM.cxx:1482 AliMUONClusterFinderMLEM.cxx:1483 AliMUONClusterFinderMLEM.cxx:1484 AliMUONClusterFinderMLEM.cxx:1485 AliMUONClusterFinderMLEM.cxx:1486 AliMUONClusterFinderMLEM.cxx:1487 AliMUONClusterFinderMLEM.cxx:1488 AliMUONClusterFinderMLEM.cxx:1489 AliMUONClusterFinderMLEM.cxx:1490 AliMUONClusterFinderMLEM.cxx:1491 AliMUONClusterFinderMLEM.cxx:1492 AliMUONClusterFinderMLEM.cxx:1493 AliMUONClusterFinderMLEM.cxx:1494 AliMUONClusterFinderMLEM.cxx:1495 AliMUONClusterFinderMLEM.cxx:1496 AliMUONClusterFinderMLEM.cxx:1497 AliMUONClusterFinderMLEM.cxx:1498 AliMUONClusterFinderMLEM.cxx:1499 AliMUONClusterFinderMLEM.cxx:1500 AliMUONClusterFinderMLEM.cxx:1501 AliMUONClusterFinderMLEM.cxx:1502 AliMUONClusterFinderMLEM.cxx:1503 AliMUONClusterFinderMLEM.cxx:1504 AliMUONClusterFinderMLEM.cxx:1505 AliMUONClusterFinderMLEM.cxx:1506 AliMUONClusterFinderMLEM.cxx:1507 AliMUONClusterFinderMLEM.cxx:1508 AliMUONClusterFinderMLEM.cxx:1509 AliMUONClusterFinderMLEM.cxx:1510 AliMUONClusterFinderMLEM.cxx:1511 AliMUONClusterFinderMLEM.cxx:1512 AliMUONClusterFinderMLEM.cxx:1513 AliMUONClusterFinderMLEM.cxx:1514 AliMUONClusterFinderMLEM.cxx:1515 AliMUONClusterFinderMLEM.cxx:1516 AliMUONClusterFinderMLEM.cxx:1517 AliMUONClusterFinderMLEM.cxx:1518 AliMUONClusterFinderMLEM.cxx:1519 AliMUONClusterFinderMLEM.cxx:1520 AliMUONClusterFinderMLEM.cxx:1521 AliMUONClusterFinderMLEM.cxx:1522 AliMUONClusterFinderMLEM.cxx:1523 AliMUONClusterFinderMLEM.cxx:1524 AliMUONClusterFinderMLEM.cxx:1525 AliMUONClusterFinderMLEM.cxx:1526 AliMUONClusterFinderMLEM.cxx:1527 AliMUONClusterFinderMLEM.cxx:1528 AliMUONClusterFinderMLEM.cxx:1529 AliMUONClusterFinderMLEM.cxx:1530 AliMUONClusterFinderMLEM.cxx:1531 AliMUONClusterFinderMLEM.cxx:1532 AliMUONClusterFinderMLEM.cxx:1533 AliMUONClusterFinderMLEM.cxx:1534 AliMUONClusterFinderMLEM.cxx:1535 AliMUONClusterFinderMLEM.cxx:1536 AliMUONClusterFinderMLEM.cxx:1537 AliMUONClusterFinderMLEM.cxx:1538 AliMUONClusterFinderMLEM.cxx:1539 AliMUONClusterFinderMLEM.cxx:1540 AliMUONClusterFinderMLEM.cxx:1541 AliMUONClusterFinderMLEM.cxx:1542 AliMUONClusterFinderMLEM.cxx:1543 AliMUONClusterFinderMLEM.cxx:1544 AliMUONClusterFinderMLEM.cxx:1545 AliMUONClusterFinderMLEM.cxx:1546 AliMUONClusterFinderMLEM.cxx:1547 AliMUONClusterFinderMLEM.cxx:1548 AliMUONClusterFinderMLEM.cxx:1549 AliMUONClusterFinderMLEM.cxx:1550 AliMUONClusterFinderMLEM.cxx:1551 AliMUONClusterFinderMLEM.cxx:1552 AliMUONClusterFinderMLEM.cxx:1553 AliMUONClusterFinderMLEM.cxx:1554 AliMUONClusterFinderMLEM.cxx:1555 AliMUONClusterFinderMLEM.cxx:1556 AliMUONClusterFinderMLEM.cxx:1557 AliMUONClusterFinderMLEM.cxx:1558 AliMUONClusterFinderMLEM.cxx:1559 AliMUONClusterFinderMLEM.cxx:1560 AliMUONClusterFinderMLEM.cxx:1561 AliMUONClusterFinderMLEM.cxx:1562 AliMUONClusterFinderMLEM.cxx:1563 AliMUONClusterFinderMLEM.cxx:1564 AliMUONClusterFinderMLEM.cxx:1565 AliMUONClusterFinderMLEM.cxx:1566 AliMUONClusterFinderMLEM.cxx:1567 AliMUONClusterFinderMLEM.cxx:1568 AliMUONClusterFinderMLEM.cxx:1569 AliMUONClusterFinderMLEM.cxx:1570 AliMUONClusterFinderMLEM.cxx:1571 AliMUONClusterFinderMLEM.cxx:1572 AliMUONClusterFinderMLEM.cxx:1573 AliMUONClusterFinderMLEM.cxx:1574 AliMUONClusterFinderMLEM.cxx:1575 AliMUONClusterFinderMLEM.cxx:1576 AliMUONClusterFinderMLEM.cxx:1577 AliMUONClusterFinderMLEM.cxx:1578 AliMUONClusterFinderMLEM.cxx:1579 AliMUONClusterFinderMLEM.cxx:1580 AliMUONClusterFinderMLEM.cxx:1581 AliMUONClusterFinderMLEM.cxx:1582 AliMUONClusterFinderMLEM.cxx:1583 AliMUONClusterFinderMLEM.cxx:1584 AliMUONClusterFinderMLEM.cxx:1585 AliMUONClusterFinderMLEM.cxx:1586 AliMUONClusterFinderMLEM.cxx:1587 AliMUONClusterFinderMLEM.cxx:1588 AliMUONClusterFinderMLEM.cxx:1589 AliMUONClusterFinderMLEM.cxx:1590 AliMUONClusterFinderMLEM.cxx:1591 AliMUONClusterFinderMLEM.cxx:1592 AliMUONClusterFinderMLEM.cxx:1593 AliMUONClusterFinderMLEM.cxx:1594 AliMUONClusterFinderMLEM.cxx:1595 AliMUONClusterFinderMLEM.cxx:1596 AliMUONClusterFinderMLEM.cxx:1597 AliMUONClusterFinderMLEM.cxx:1598 AliMUONClusterFinderMLEM.cxx:1599 AliMUONClusterFinderMLEM.cxx:1600 AliMUONClusterFinderMLEM.cxx:1601 AliMUONClusterFinderMLEM.cxx:1602 AliMUONClusterFinderMLEM.cxx:1603 AliMUONClusterFinderMLEM.cxx:1604 AliMUONClusterFinderMLEM.cxx:1605 AliMUONClusterFinderMLEM.cxx:1606 AliMUONClusterFinderMLEM.cxx:1607 AliMUONClusterFinderMLEM.cxx:1608 AliMUONClusterFinderMLEM.cxx:1609 AliMUONClusterFinderMLEM.cxx:1610 AliMUONClusterFinderMLEM.cxx:1611 AliMUONClusterFinderMLEM.cxx:1612 AliMUONClusterFinderMLEM.cxx:1613 AliMUONClusterFinderMLEM.cxx:1614 AliMUONClusterFinderMLEM.cxx:1615 AliMUONClusterFinderMLEM.cxx:1616 AliMUONClusterFinderMLEM.cxx:1617 AliMUONClusterFinderMLEM.cxx:1618 AliMUONClusterFinderMLEM.cxx:1619 AliMUONClusterFinderMLEM.cxx:1620 AliMUONClusterFinderMLEM.cxx:1621 AliMUONClusterFinderMLEM.cxx:1622 AliMUONClusterFinderMLEM.cxx:1623 AliMUONClusterFinderMLEM.cxx:1624 AliMUONClusterFinderMLEM.cxx:1625 AliMUONClusterFinderMLEM.cxx:1626 AliMUONClusterFinderMLEM.cxx:1627 AliMUONClusterFinderMLEM.cxx:1628 AliMUONClusterFinderMLEM.cxx:1629 AliMUONClusterFinderMLEM.cxx:1630 AliMUONClusterFinderMLEM.cxx:1631 AliMUONClusterFinderMLEM.cxx:1632 AliMUONClusterFinderMLEM.cxx:1633 AliMUONClusterFinderMLEM.cxx:1634 AliMUONClusterFinderMLEM.cxx:1635 AliMUONClusterFinderMLEM.cxx:1636 AliMUONClusterFinderMLEM.cxx:1637 AliMUONClusterFinderMLEM.cxx:1638 AliMUONClusterFinderMLEM.cxx:1639 AliMUONClusterFinderMLEM.cxx:1640 AliMUONClusterFinderMLEM.cxx:1641 AliMUONClusterFinderMLEM.cxx:1642 AliMUONClusterFinderMLEM.cxx:1643 AliMUONClusterFinderMLEM.cxx:1644 AliMUONClusterFinderMLEM.cxx:1645 AliMUONClusterFinderMLEM.cxx:1646 AliMUONClusterFinderMLEM.cxx:1647 AliMUONClusterFinderMLEM.cxx:1648 AliMUONClusterFinderMLEM.cxx:1649 AliMUONClusterFinderMLEM.cxx:1650 AliMUONClusterFinderMLEM.cxx:1651 AliMUONClusterFinderMLEM.cxx:1652 AliMUONClusterFinderMLEM.cxx:1653 AliMUONClusterFinderMLEM.cxx:1654 AliMUONClusterFinderMLEM.cxx:1655 AliMUONClusterFinderMLEM.cxx:1656 AliMUONClusterFinderMLEM.cxx:1657 AliMUONClusterFinderMLEM.cxx:1658 AliMUONClusterFinderMLEM.cxx:1659 AliMUONClusterFinderMLEM.cxx:1660 AliMUONClusterFinderMLEM.cxx:1661 AliMUONClusterFinderMLEM.cxx:1662 AliMUONClusterFinderMLEM.cxx:1663 AliMUONClusterFinderMLEM.cxx:1664 AliMUONClusterFinderMLEM.cxx:1665 AliMUONClusterFinderMLEM.cxx:1666 AliMUONClusterFinderMLEM.cxx:1667 AliMUONClusterFinderMLEM.cxx:1668 AliMUONClusterFinderMLEM.cxx:1669 AliMUONClusterFinderMLEM.cxx:1670 AliMUONClusterFinderMLEM.cxx:1671 AliMUONClusterFinderMLEM.cxx:1672 AliMUONClusterFinderMLEM.cxx:1673 AliMUONClusterFinderMLEM.cxx:1674 AliMUONClusterFinderMLEM.cxx:1675 AliMUONClusterFinderMLEM.cxx:1676 AliMUONClusterFinderMLEM.cxx:1677 AliMUONClusterFinderMLEM.cxx:1678 AliMUONClusterFinderMLEM.cxx:1679 AliMUONClusterFinderMLEM.cxx:1680 AliMUONClusterFinderMLEM.cxx:1681 AliMUONClusterFinderMLEM.cxx:1682 AliMUONClusterFinderMLEM.cxx:1683 AliMUONClusterFinderMLEM.cxx:1684 AliMUONClusterFinderMLEM.cxx:1685 AliMUONClusterFinderMLEM.cxx:1686 AliMUONClusterFinderMLEM.cxx:1687 AliMUONClusterFinderMLEM.cxx:1688 AliMUONClusterFinderMLEM.cxx:1689 AliMUONClusterFinderMLEM.cxx:1690 AliMUONClusterFinderMLEM.cxx:1691 AliMUONClusterFinderMLEM.cxx:1692 AliMUONClusterFinderMLEM.cxx:1693 AliMUONClusterFinderMLEM.cxx:1694 AliMUONClusterFinderMLEM.cxx:1695 AliMUONClusterFinderMLEM.cxx:1696 AliMUONClusterFinderMLEM.cxx:1697 AliMUONClusterFinderMLEM.cxx:1698 AliMUONClusterFinderMLEM.cxx:1699 AliMUONClusterFinderMLEM.cxx:1700 AliMUONClusterFinderMLEM.cxx:1701 AliMUONClusterFinderMLEM.cxx:1702 AliMUONClusterFinderMLEM.cxx:1703 AliMUONClusterFinderMLEM.cxx:1704 AliMUONClusterFinderMLEM.cxx:1705 AliMUONClusterFinderMLEM.cxx:1706 AliMUONClusterFinderMLEM.cxx:1707 AliMUONClusterFinderMLEM.cxx:1708 AliMUONClusterFinderMLEM.cxx:1709 AliMUONClusterFinderMLEM.cxx:1710 AliMUONClusterFinderMLEM.cxx:1711 AliMUONClusterFinderMLEM.cxx:1712 AliMUONClusterFinderMLEM.cxx:1713 AliMUONClusterFinderMLEM.cxx:1714 AliMUONClusterFinderMLEM.cxx:1715 AliMUONClusterFinderMLEM.cxx:1716 AliMUONClusterFinderMLEM.cxx:1717 AliMUONClusterFinderMLEM.cxx:1718 AliMUONClusterFinderMLEM.cxx:1719 AliMUONClusterFinderMLEM.cxx:1720 AliMUONClusterFinderMLEM.cxx:1721 AliMUONClusterFinderMLEM.cxx:1722 AliMUONClusterFinderMLEM.cxx:1723 AliMUONClusterFinderMLEM.cxx:1724 AliMUONClusterFinderMLEM.cxx:1725 AliMUONClusterFinderMLEM.cxx:1726 AliMUONClusterFinderMLEM.cxx:1727 AliMUONClusterFinderMLEM.cxx:1728 AliMUONClusterFinderMLEM.cxx:1729 AliMUONClusterFinderMLEM.cxx:1730 AliMUONClusterFinderMLEM.cxx:1731 AliMUONClusterFinderMLEM.cxx:1732 AliMUONClusterFinderMLEM.cxx:1733 AliMUONClusterFinderMLEM.cxx:1734 AliMUONClusterFinderMLEM.cxx:1735 AliMUONClusterFinderMLEM.cxx:1736 AliMUONClusterFinderMLEM.cxx:1737 AliMUONClusterFinderMLEM.cxx:1738 AliMUONClusterFinderMLEM.cxx:1739 AliMUONClusterFinderMLEM.cxx:1740 AliMUONClusterFinderMLEM.cxx:1741 AliMUONClusterFinderMLEM.cxx:1742 AliMUONClusterFinderMLEM.cxx:1743 AliMUONClusterFinderMLEM.cxx:1744 AliMUONClusterFinderMLEM.cxx:1745 AliMUONClusterFinderMLEM.cxx:1746 AliMUONClusterFinderMLEM.cxx:1747 AliMUONClusterFinderMLEM.cxx:1748 AliMUONClusterFinderMLEM.cxx:1749 AliMUONClusterFinderMLEM.cxx:1750 AliMUONClusterFinderMLEM.cxx:1751 AliMUONClusterFinderMLEM.cxx:1752 AliMUONClusterFinderMLEM.cxx:1753 AliMUONClusterFinderMLEM.cxx:1754 AliMUONClusterFinderMLEM.cxx:1755 AliMUONClusterFinderMLEM.cxx:1756 AliMUONClusterFinderMLEM.cxx:1757 AliMUONClusterFinderMLEM.cxx:1758 AliMUONClusterFinderMLEM.cxx:1759 AliMUONClusterFinderMLEM.cxx:1760 AliMUONClusterFinderMLEM.cxx:1761 AliMUONClusterFinderMLEM.cxx:1762 AliMUONClusterFinderMLEM.cxx:1763 AliMUONClusterFinderMLEM.cxx:1764 AliMUONClusterFinderMLEM.cxx:1765 AliMUONClusterFinderMLEM.cxx:1766 AliMUONClusterFinderMLEM.cxx:1767 AliMUONClusterFinderMLEM.cxx:1768 AliMUONClusterFinderMLEM.cxx:1769 AliMUONClusterFinderMLEM.cxx:1770 AliMUONClusterFinderMLEM.cxx:1771 AliMUONClusterFinderMLEM.cxx:1772 AliMUONClusterFinderMLEM.cxx:1773 AliMUONClusterFinderMLEM.cxx:1774 AliMUONClusterFinderMLEM.cxx:1775 AliMUONClusterFinderMLEM.cxx:1776 AliMUONClusterFinderMLEM.cxx:1777 AliMUONClusterFinderMLEM.cxx:1778 AliMUONClusterFinderMLEM.cxx:1779 AliMUONClusterFinderMLEM.cxx:1780 AliMUONClusterFinderMLEM.cxx:1781 AliMUONClusterFinderMLEM.cxx:1782 AliMUONClusterFinderMLEM.cxx:1783 AliMUONClusterFinderMLEM.cxx:1784 AliMUONClusterFinderMLEM.cxx:1785 AliMUONClusterFinderMLEM.cxx:1786 AliMUONClusterFinderMLEM.cxx:1787 AliMUONClusterFinderMLEM.cxx:1788 AliMUONClusterFinderMLEM.cxx:1789 AliMUONClusterFinderMLEM.cxx:1790 AliMUONClusterFinderMLEM.cxx:1791 AliMUONClusterFinderMLEM.cxx:1792 AliMUONClusterFinderMLEM.cxx:1793 AliMUONClusterFinderMLEM.cxx:1794 AliMUONClusterFinderMLEM.cxx:1795 AliMUONClusterFinderMLEM.cxx:1796 AliMUONClusterFinderMLEM.cxx:1797 AliMUONClusterFinderMLEM.cxx:1798 AliMUONClusterFinderMLEM.cxx:1799 AliMUONClusterFinderMLEM.cxx:1800 AliMUONClusterFinderMLEM.cxx:1801 AliMUONClusterFinderMLEM.cxx:1802 AliMUONClusterFinderMLEM.cxx:1803 AliMUONClusterFinderMLEM.cxx:1804