#include "AliMUONClusterSplitterMLEM.h"
#include "AliMUONClusterFinderMLEM.h"
#include "AliMUONCluster.h"
#include "AliMUONPad.h"
#include "AliMUONPad.h"
#include "AliMUONConstants.h"
#include "AliMpDEManager.h"
#include "AliMUONMathieson.h"
#include "AliMpEncodePair.h"
#include "AliLog.h"
#include <TClonesArray.h>
#include <TH2.h>
#include <TMath.h>
#include <TMatrixD.h>
#include <TObjArray.h>
#include <TRandom.h>
#include <Riostream.h>
using std::endl;
using std::cout;
ClassImp(AliMUONClusterSplitterMLEM)
const Double_t AliMUONClusterSplitterMLEM::fgkCouplMin = 1.e-2;
AliMUONClusterSplitterMLEM::AliMUONClusterSplitterMLEM(Int_t detElemId,
TObjArray* pixArray,
Double_t lowestPixelCharge,
Double_t lowestPadCharge,
Double_t lowestClusterCharge)
: TObject(),
fPixArray(pixArray),
fMathieson(0x0),
fDetElemId(detElemId),
fNpar(0),
fQtot(0),
fnCoupled(0),
fDebug(0),
fLowestPixelCharge(lowestPixelCharge),
fLowestPadCharge(lowestPadCharge),
fLowestClusterCharge(lowestClusterCharge)
{
AliMq::Station12Type stationType = AliMpDEManager::GetStation12Type(fDetElemId);
Float_t kx3 = AliMUONConstants::SqrtKx3();
Float_t ky3 = AliMUONConstants::SqrtKy3();
Float_t pitch = AliMUONConstants::Pitch();
if ( stationType == AliMq::kStation1 )
{
kx3 = AliMUONConstants::SqrtKx3St1();
ky3 = AliMUONConstants::SqrtKy3St1();
pitch = AliMUONConstants::PitchSt1();
}
fMathieson = new AliMUONMathieson;
fMathieson->SetPitch(pitch);
fMathieson->SetSqrtKx3AndDeriveKx2Kx4(kx3);
fMathieson->SetSqrtKy3AndDeriveKy2Ky4(ky3);
}
AliMUONClusterSplitterMLEM::~AliMUONClusterSplitterMLEM()
{
delete fMathieson;
}
void
AliMUONClusterSplitterMLEM::AddBin(TH2 *mlem,
Int_t ic, Int_t jc, Int_t mode,
Bool_t *used, TObjArray *pix)
{
Int_t nx = mlem->GetNbinsX();
Int_t ny = mlem->GetNbinsY();
Double_t cont1, cont = mlem->GetBinContent(mlem->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) {
if (i != ic && j != jc) continue;
if (used[(i-1)*nx+j-1]) continue;
cont1 = mlem->GetBinContent(mlem->GetBin(j,i));
if (mode && cont1 > cont) continue;
used[(i-1)*nx+j-1] = kTRUE;
if (cont1 < fLowestPixelCharge) continue;
if (pix) pix->Add(BinToPix(mlem,j,i));
else {
pixPtr = new AliMUONPad (mlem->GetXaxis()->GetBinCenter(j),
mlem->GetYaxis()->GetBinCenter(i), 0, 0, cont1);
fPixArray->Add(pixPtr);
}
AddBin(mlem, i, j, mode, used, pix);
}
}
}
void
AliMUONClusterSplitterMLEM::AddCluster(Int_t ic, Int_t nclust,
TMatrixD& aijcluclu,
Bool_t *used, Int_t *clustNumb, Int_t &nCoupled)
{
for (Int_t i = 0; i < nclust; ++i) {
if (used[i]) continue;
if (aijcluclu(i,ic) < fgkCouplMin) continue;
used[i] = kTRUE;
clustNumb[nCoupled++] = i;
AddCluster(i, nclust, aijcluclu, used, clustNumb, nCoupled);
}
}
TObject*
AliMUONClusterSplitterMLEM::BinToPix(TH2 *mlem,
Int_t jc, Int_t ic)
{
Double_t yc = mlem->GetYaxis()->GetBinCenter(ic);
Double_t xc = mlem->GetXaxis()->GetBinCenter(jc);
Int_t nPix = fPixArray->GetEntriesFast();
AliMUONPad *pixPtr = NULL;
for (Int_t i = 0; i < nPix; ++i) {
pixPtr = (AliMUONPad*) fPixArray->UncheckedAt(i);
if (pixPtr->Charge() < fLowestPixelCharge) continue;
if (TMath::Abs(pixPtr->Coord(0)-xc)<1.e-4 && TMath::Abs(pixPtr->Coord(1)-yc)<1.e-4)
{
return pixPtr;
}
}
AliError(Form(" Something wrong ??? %f %f ", xc, yc));
return NULL;
}
Float_t
AliMUONClusterSplitterMLEM::ChargeIntegration(Double_t x, Double_t y,
const AliMUONPad& pad)
{
TVector2 lowerLeft(TVector2(x,y)-pad.Position()-pad.Dimensions());
TVector2 upperRight(lowerLeft + pad.Dimensions()*2.0);
return fMathieson->IntXY(lowerLeft.X(),lowerLeft.Y(),
upperRight.X(),upperRight.Y());
}
void
AliMUONClusterSplitterMLEM::Fcn1(const AliMUONCluster& cluster,
Int_t & , Double_t * ,
Double_t &f, Double_t *par, Int_t iflag)
{
Int_t indx, npads=0;
Double_t charge, delta, coef=0, chi2=0, qTot = 0;
static Double_t qAver = 0;
Int_t mult = cluster.Multiplicity(), iend = fNpar / 3;
for (Int_t j = 0; j < mult; ++j)
{
AliMUONPad* pad = cluster.Pad(j);
if ( pad->Status() != AliMUONClusterFinderMLEM::GetUseForFitFlag() ||
pad->Charge() == 0 ) continue;
if (iflag == 0) {
if ( pad->IsReal() ) npads++;
qTot += pad->Charge();
}
charge = 0;
for (Int_t i = 0; i <= iend; ++i)
{
indx = 3 * i;
coef = Param2Coef(i, coef, par);
charge += ChargeIntegration(par[indx],par[indx+1],*pad) * coef;
}
charge *= fQtot;
delta = charge - pad->Charge();
delta *= delta;
delta /= pad->Charge();
chi2 += delta;
}
if (iflag == 0 && npads) qAver = qTot / npads;
if (!npads && iflag==0)
{
AliError(Form("Got npads=0. Please check"));
}
f = chi2 / qAver;
}
Double_t AliMUONClusterSplitterMLEM::Param2Coef(Int_t icand, Double_t coef, Double_t *par) const
{
if (fNpar == 2) return 1.;
if (fNpar == 5) return icand==0 ? par[2] : TMath::Max(1.-par[2],0.);
if (icand == 0) return par[2];
if (icand == 1) return TMath::Max((1.-par[2])*par[5], 0.);
return TMath::Max(1.-par[2]-coef,0.);
}
Int_t
AliMUONClusterSplitterMLEM::Fit(const AliMUONCluster& cluster,
Int_t iSimple, Int_t nfit,
const Int_t *clustFit, TObjArray **clusters,
Double_t *parOk,
TObjArray& clusterList, TH2 *mlem)
{
Double_t xmin = mlem->GetXaxis()->GetXmin() - mlem->GetXaxis()->GetBinWidth(1);
Double_t xmax = mlem->GetXaxis()->GetXmax() + mlem->GetXaxis()->GetBinWidth(1);
Double_t ymin = mlem->GetYaxis()->GetXmin() - mlem->GetYaxis()->GetBinWidth(1);
Double_t ymax = mlem->GetYaxis()->GetXmax() + mlem->GetYaxis()->GetBinWidth(1);
Int_t npads = 0, nVirtual = 0, nfit0 = nfit;
Int_t mult = cluster.Multiplicity();
for (Int_t i = 0; i < mult; ++i )
{
AliMUONPad* pad = cluster.Pad(i);
if ( !pad->IsReal() ) ++nVirtual;
if ( pad->Status() != AliMUONClusterFinderMLEM::GetUseForFitFlag() ) continue;
if ( pad->IsReal() )
{
++npads;
}
}
fNpar = 0;
fQtot = 0;
if (npads < 2) return 0;
const Int_t kStatusToTest(AliMUONClusterFinderMLEM::GetUseForFitFlag());
Long_t nofPads = cluster.NofPads(kStatusToTest);
Int_t nInX = AliMp::PairFirst(nofPads);
Int_t nInY = AliMp::PairSecond(nofPads);
if (fDebug) {
Int_t npadOK = 0;
for (Int_t j = 0; j < cluster.Multiplicity(); ++j) {
AliMUONPad *pad = cluster.Pad(j);
if (pad->Status() == AliMUONClusterFinderMLEM::GetUseForFitFlag() && !pad->IsSaturated()) npadOK++;
}
cout << " Number of pads to fit: " << npadOK << endl;
cout << " nInX and Y: " << nInX << " " << nInY << endl;
}
Int_t nfitMax = 3;
nfitMax = TMath::Min (nfitMax, (npads + 1) / 3);
if (nfitMax > 1) {
if (((nInX < 3) && (nInY < 3)) || ((nInX == 3) && (nInY < 3)) || ((nInX < 3) && (nInY == 3))) nfitMax = 1;
}
if (nfit > nfitMax) nfit = nfitMax;
TObjArray *pix;
AliMUONPad *pixPtr;
Int_t npxclu;
Double_t cont, cmax = 0, xseed = 0, yseed = 0, errOk[8], qq = 0;
for ( int i = 0; i < 8; ++i ) errOk[i]=0.0;
Double_t xyseed[3][2], qseed[3], xyCand[3][2] = {{0},{0}}, sigCand[3][2] = {{0},{0}};
for (Int_t ifit = 1; ifit <= nfit0; ++ifit)
{
cmax = 0;
pix = clusters[clustFit[ifit-1]];
npxclu = pix->GetEntriesFast();
for (Int_t clu = 0; clu < npxclu; ++clu)
{
pixPtr = (AliMUONPad*) pix->UncheckedAt(clu);
cont = pixPtr->Charge();
fQtot += cont;
if (cont > cmax)
{
cmax = cont;
xseed = pixPtr->Coord(0);
yseed = pixPtr->Coord(1);
}
qq += cont;
xyCand[0][0] += pixPtr->Coord(0) * cont;
xyCand[0][1] += pixPtr->Coord(1) * cont;
sigCand[0][0] += pixPtr->Coord(0) * pixPtr->Coord(0) * cont;
sigCand[0][1] += pixPtr->Coord(1) * pixPtr->Coord(1) * cont;
}
xyseed[ifit-1][0] = xseed;
xyseed[ifit-1][1] = yseed;
qseed[ifit-1] = cmax;
}
xyCand[0][0] /= qq;
xyCand[0][1] /= qq;
sigCand[0][0] = sigCand[0][0]/qq - xyCand[0][0]*xyCand[0][0];
sigCand[0][0] = sigCand[0][0] > 0 ? TMath::Sqrt (sigCand[0][0]) : 0;
sigCand[0][1] = sigCand[0][1]/qq - xyCand[0][1]*xyCand[0][1];
sigCand[0][1] = sigCand[0][1] > 0 ? TMath::Sqrt (sigCand[0][1]) : 0;
if (fDebug) cout << xyCand[0][0] << " " << xyCand[0][1] << " " << sigCand[0][0] << " " << sigCand[0][1] << endl;
Int_t nDof, maxSeed[3];
if ( nfit0 < 0 || nfit0 > 3 ) {
AliErrorStream() << "Wrong nfit0 value: " << nfit0 << endl;
return nfit;
}
TMath::Sort(nfit0, qseed, maxSeed, kTRUE);
Double_t step[3]={0.01,0.002,0.02}, fmin, chi2o = 9999, chi2n;
Double_t *gin = 0, func0, func1, param[8]={0}, step0[8]={0};
Double_t param0[2][8]={{0},{0}}, deriv[2][8]={{0},{0}};
Double_t shift[8]={0}, stepMax, derMax, parmin[8]={0}, parmax[8]={0}, func2[2]={0}, shift0;
Double_t delta[8]={0}, scMax, dder[8], estim, shiftSave = 0;
Int_t min, max, nCall = 0, nLoop, idMax = 0, nFail;
Double_t rad, dist[3] = {0};
Int_t iflag = 0;
for (Int_t iseed = 0; iseed < nfit; ++iseed)
{
Int_t memory[8] = {0};
if (iseed)
{
for (Int_t j = 0; j < fNpar; ++j)
{
param[j] = parOk[j];
}
param[fNpar] = 0.6;
parmin[fNpar] = 1E-9;
parmax[fNpar++] = 1;
}
if (nfit == 1)
{
param[fNpar] = xyCand[0][0];
}
else
{
param[fNpar] = xyseed[maxSeed[iseed]][0];
}
parmin[fNpar] = xmin;
parmax[fNpar++] = xmax;
if (nfit == 1)
{
param[fNpar] = xyCand[0][1];
}
else
{
param[fNpar] = xyseed[maxSeed[iseed]][1];
}
parmin[fNpar] = ymin;
parmax[fNpar++] = ymax;
for (Int_t j = 0; j < fNpar; ++j)
{
step0[j] = shift[j] = step[j%3];
}
if (iseed)
{
for (Int_t j = 0; j < fNpar; ++j)
{
param0[1][j] = 0;
}
}
if (fDebug) {
for (Int_t j = 0; j < fNpar; ++j) cout << param[j] << " ";
cout << endl;
}
min = nLoop = 1; stepMax = func2[1] = derMax = 999999; nFail = 0;
while (1)
{
max = !min;
Fcn1(cluster,fNpar, gin, func0, param, iflag); nCall++;
iflag = 1;
func2[max] = func0;
for (Int_t j = 0; j < fNpar; ++j)
{
param0[max][j] = param[j];
delta[j] = step0[j];
param[j] += delta[j] / 10;
if (j > 0) param[j-1] -= delta[j-1] / 10;
Fcn1(cluster,fNpar, gin, func1, param, iflag); nCall++;
deriv[max][j] = (func1 - func0) / delta[j] * 10;
dder[j] = param0[0][j] != param0[1][j] ? (deriv[0][j] - deriv[1][j]) /
(param0[0][j] - param0[1][j]) : 0;
}
param[fNpar-1] -= delta[fNpar-1] / 10;
if (nCall > 2000) break;
min = func2[0] < func2[1] ? 0 : 1;
nFail = min == max ? 0 : nFail + 1;
stepMax = derMax = estim = 0;
for (Int_t j = 0; j < fNpar; ++j)
{
shift0 = shift[j];
if (nLoop == 1)
{
shift[j] = TMath::Sign (step0[j], -deriv[max][j]);
}
else if (TMath::Abs(deriv[0][j]) < 1.e-3 && TMath::Abs(deriv[1][j]) < 1.e-3)
{
shift[j] = 0;
}
else if (((deriv[min][j]*deriv[!min][j] > 0) && (TMath::Abs(deriv[min][j]) > TMath::Abs(deriv[!min][j])))
|| (TMath::Abs(deriv[0][j]-deriv[1][j]) < 1.e-3) || (TMath::Abs(dder[j]) < 1.e-6))
{
shift[j] = -TMath::Sign (shift[j], (func2[0]-func2[1]) * (param0[0][j]-param0[1][j]));
if (min == max)
{
if (memory[j] > 1)
{
shift[j] *= 2;
}
memory[j]++;
}
}
else
{
shift[j] = dder[j] != 0 ? -deriv[min][j] / dder[j] : 0;
memory[j] = 0;
}
Double_t es = TMath::Abs(shift[j]) / step0[j];
if (es > estim)
{
estim = es;
}
if (TMath::Abs(shift[j])/step0[j] > 10) shift[j] = TMath::Sign(10.,shift[j]) * step0[j];
if (min != max)
{
memory[j] = 0;
param[j] = param0[min][j];
if (TMath::Abs(shift[j]+shift0) > 0.1*step0[j])
{
shift[j] = (shift[j] + shift0) / 2;
}
else
{
shift[j] /= -2;
}
}
if (TMath::Abs(shift[j]*deriv[min][j]) > func2[min])
{
shift[j] = TMath::Sign (func2[min]/deriv[min][j], shift[j]);
}
if (memory[j] < 3)
{
scMax = 1 + 4 / TMath::Max(nLoop/2.,1.);
if (TMath::Abs(shift0) > 0 && TMath::Abs(shift[j]/shift0) > scMax)
{
shift[j] = TMath::Sign (shift0*scMax, shift[j]);
}
}
param[j] += shift[j];
if (param[j] < parmin[j])
{
shift[j] = parmin[j] - param[j];
param[j] = parmin[j];
}
else if (param[j] > parmax[j])
{
shift[j] = parmax[j] - param[j];
param[j] = parmax[j];
}
stepMax = TMath::Max (stepMax, TMath::Abs(shift[j]/step0[j]));
if (TMath::Abs(deriv[min][j]) > derMax)
{
idMax = j;
derMax = TMath::Abs (deriv[min][j]);
}
}
if (((estim < 1) && (derMax < 2)) || nLoop > 150) break;
nLoop++;
if (shift[idMax] == 0)
{
shift[idMax] = step0[idMax]/10;
param[idMax] += shift[idMax];
continue;
}
if (!memory[idMax] && derMax > 0.5 && nLoop > 10)
{
if (dder[idMax] != 0 && TMath::Abs(deriv[min][idMax]/dder[idMax]/shift[idMax]) > 10)
{
if (min == max) dder[idMax] = -dder[idMax];
shift[idMax] = -deriv[min][idMax] / dder[idMax] / 10;
param[idMax] += shift[idMax];
stepMax = TMath::Max (stepMax, TMath::Abs(shift[idMax])/step0[idMax]);
if (min == max) shiftSave = shift[idMax];
}
if (nFail > 10)
{
param[idMax] -= shift[idMax];
shift[idMax] = 4 * shiftSave * (gRandom->Rndm(0) - 0.5);
param[idMax] += shift[idMax];
}
}
}
fmin = func2[min];
nDof = npads - fNpar + nVirtual;
if (!nDof) nDof++;
chi2n = fmin / nDof;
if (fDebug) cout << " Chi2 " << chi2n << " " << fNpar << endl;
if (fNpar > 2 && (chi2n > chi2o || ((iseed == nfit-1)
&& (chi2n * (1+TMath::Min(1-param0[min][fNpar-3],0.25)) > chi2o))))
{ fNpar -= 3; break; }
if (nInX == 1) {
for (Int_t i=0; i<fNpar; ++i) if (i == 0 || i == 2 || i == 5)
param0[min][i] = xyCand[0][0];
}
if (nInY == 1) {
for (Int_t i=0; i<fNpar; ++i) if (i == 1 || i == 3 || i == 6)
param0[min][i] = xyCand[0][1];
}
for (Int_t i = 0; i < fNpar; ++i) {
parOk[i] = param0[min][i];
errOk[i] = chi2n;
parOk[i] = TMath::Max (parOk[i], parmin[i]);
parOk[i] = TMath::Min (parOk[i], parmax[i]);
}
chi2o = chi2n;
if (fmin < 0.1) break;
}
if (fDebug) {
for (Int_t i=0; i<fNpar; ++i) {
if (i == 4 || i == 7) {
if ((i == 7) || ((i == 4) && (fNpar < 7))) cout << parOk[i] << endl;
else cout << parOk[i] * (1-parOk[7]) << endl;
continue;
}
cout << parOk[i] << " " << errOk[i] << endl;
}
}
nfit = (fNpar + 1) / 3;
dist[0] = dist[1] = dist[2] = 0;
if (nfit > 1) {
dist[0] = dist[1] = TMath::Sqrt ((parOk[0]-parOk[2])*
(parOk[0]-parOk[2])
+(parOk[1]-parOk[3])*
(parOk[1]-parOk[3]));
if (nfit > 2) {
dist[2] = TMath::Sqrt ((parOk[0]-parOk[5])*
(parOk[0]-parOk[5])
+(parOk[1]-parOk[6])*
(parOk[1]-parOk[6]));
rad = TMath::Sqrt ((parOk[2]-parOk[5])*
(parOk[2]-parOk[5])
+(parOk[3]-parOk[6])*
(parOk[3]-parOk[6]));
if (dist[2] < dist[0]) dist[0] = dist[2];
if (rad < dist[1]) dist[1] = rad;
if (rad < dist[2]) dist[2] = rad;
}
}
Int_t indx;
Double_t coef = 0;
if (iSimple) fnCoupled = 0;
for (Int_t j = 0; j < nfit; ++j) {
indx = 3 * j;
coef = Param2Coef(j, coef, parOk);
if ( coef*fQtot >= fLowestClusterCharge )
{
AliMUONCluster* cluster1 = new AliMUONCluster(cluster);
cluster1->SetCharge(coef*fQtot,coef*fQtot);
cluster1->SetPosition(TVector2(parOk[indx],parOk[indx+1]),TVector2(sigCand[0][0],sigCand[0][1]));
Int_t idx = TMath::LocMin(nfit,dist);
if ( idx < 0 || idx > 2 ) {
AliErrorStream() << "Wrong index value: " << idx << endl;
return nfit;
}
cluster1->SetChi2(dist[idx]);
AliDebug(2,Form("Adding RawCluster detElemId %4d mult %2d charge %5d (xl,yl)=(%9.6g,%9.6g)",
fDetElemId,cluster1->Multiplicity(),(Int_t)cluster1->Charge(),
cluster1->Position().X(),cluster1->Position().Y()));
clusterList.Add(cluster1);
}
}
return nfit;
}
void
AliMUONClusterSplitterMLEM::Split(const AliMUONCluster& cluster,
TH2 *mlem, Double_t *coef,
TObjArray& clusterList)
{
Int_t nx = mlem->GetNbinsX();
Int_t ny = mlem->GetNbinsY();
Int_t nPix = fPixArray->GetEntriesFast();
Double_t cont;
Int_t nclust = 0, indx, indx1, nxy = ny * nx;
Bool_t *used = new Bool_t[nxy];
for (Int_t j = 0; j < nxy; ++j) used[j] = kFALSE;
TObjArray *clusters[200]={0};
TObjArray *pix;
for (Int_t i = 1; i <= ny; ++i)
{
for (Int_t j = 1; j <= nx; ++j)
{
indx = (i-1)*nx + j - 1;
if (used[indx]) continue;
cont = mlem->GetBinContent(mlem->GetBin(j,i));
if (cont < fLowestPixelCharge) continue;
pix = new TObjArray(20);
used[indx] = 1;
pix->Add(BinToPix(mlem,j,i));
AddBin(mlem, i, j, 0, used, pix);
if (nclust >= 200) AliFatal(" Too many clusters !!!");
clusters[nclust++] = pix;
}
}
if (fDebug) cout << nclust << endl;
delete [] used;
Int_t npad = cluster.Multiplicity();
TMatrixD aijclupad(nclust,npad);
aijclupad = 0;
Int_t npxclu;
for (Int_t iclust = 0; iclust < nclust; ++iclust)
{
pix = clusters[iclust];
npxclu = pix->GetEntriesFast();
for (Int_t i = 0; i < npxclu; ++i)
{
indx = fPixArray->IndexOf(pix->UncheckedAt(i));
for (Int_t j = 0; j < npad; ++j)
{
if (coef[j*nPix+indx] < fgkCouplMin) continue;
aijclupad(iclust,j) += coef[j*nPix+indx];
}
}
}
TMatrixD aijcluclu(nclust,nclust);
aijcluclu = 0;
for (Int_t iclust = 0; iclust < nclust; ++iclust)
{
for (Int_t j = 0; j < npad; ++j)
{
if ( cluster.Pad(j)->IsSaturated()) continue;
if (aijclupad(iclust,j) < fgkCouplMin) continue;
for (Int_t iclust1=iclust+1; iclust1<nclust; iclust1++)
{
if (aijclupad(iclust1,j) < fgkCouplMin) continue;
aijcluclu(iclust,iclust1) +=
TMath::Sqrt (aijclupad(iclust,j)*aijclupad(iclust1,j));
}
}
}
for (Int_t iclust = 0; iclust < nclust; ++iclust)
{
for (Int_t iclust1 = iclust+1; iclust1 < nclust; ++iclust1)
{
aijcluclu(iclust1,iclust) = aijcluclu(iclust,iclust1);
}
}
if (fDebug && nclust > 1) aijcluclu.Print();
used = new Bool_t[nclust];
for (Int_t j = 0; j < nclust; ++j) used[j] = kFALSE;
Int_t *clustNumb = new Int_t[nclust];
Int_t nCoupled, nForFit, minGroup[3], clustFit[3], nfit = 0;
Double_t parOk[8] = {0};
for (Int_t igroup = 0; igroup < nclust; ++igroup)
{
if (used[igroup]) continue;
used[igroup] = kTRUE;
clustNumb[0] = igroup;
nCoupled = 1;
AddCluster(igroup, nclust, aijcluclu, used, clustNumb, nCoupled);
if (fDebug) {
cout << " nCoupled: " << nCoupled << endl;
for (Int_t i=0; i<nCoupled; ++i) cout << clustNumb[i] << " "; cout << endl;
}
fnCoupled = nCoupled;
while (nCoupled > 0)
{
if (nCoupled < 4)
{
nForFit = nCoupled;
for (Int_t i = 0; i < nCoupled; ++i) clustFit[i] = clustNumb[i];
}
else
{
for (Int_t j = 0; j < 3; ++j) minGroup[j] = -1;
Double_t coupl = MinGroupCoupl(nCoupled, clustNumb, aijcluclu, minGroup);
nForFit = 0;
while (nForFit < 3 && minGroup[nForFit] >= 0)
{
if (fDebug) cout << clustNumb[minGroup[nForFit]] << " ";
clustFit[nForFit] = clustNumb[minGroup[nForFit]];
clustNumb[minGroup[nForFit]] -= 999;
nForFit++;
}
if (fDebug) cout << " nForFit " << nForFit << " " << coupl << endl;
}
if (SelectPad(cluster,nCoupled, nForFit, clustNumb, clustFit, aijclupad) < 3 && nCoupled > 1)
{
for (Int_t j = 0; j < npad; ++j)
{
AliMUONPad* pad = cluster.Pad(j);
if ( pad->Status() == AliMUONClusterFinderMLEM::GetUseForFitFlag() ||
pad->Status() == AliMUONClusterFinderMLEM::GetCoupledFlag())
pad->SetStatus(AliMUONClusterFinderMLEM::GetZeroFlag());
}
Merge(cluster,nForFit, nCoupled, clustNumb, clustFit, clusters, aijcluclu, aijclupad);
}
else
{
nfit = Fit(cluster,0, nForFit, clustFit, clusters, parOk, clusterList, mlem);
if (nfit == 0) {
fNpar = 0;
}
}
UpdatePads(cluster,nfit, parOk);
for (Int_t j = 0; j < npad; ++j)
{
AliMUONPad* pad = cluster.Pad(j);
if ( pad->Status() == AliMUONClusterFinderMLEM::GetUseForFitFlag() )
pad->SetStatus(AliMUONClusterFinderMLEM::GetModifiedFlag());
}
Int_t beg = 0, end = nCoupled - 1;
while (beg < end)
{
if (clustNumb[beg] >= 0) { ++beg; continue; }
for (Int_t j = end; j > beg; --j)
{
if (clustNumb[j] < 0) continue;
end = j - 1;
indx = clustNumb[beg];
clustNumb[beg] = clustNumb[j];
clustNumb[j] = indx;
break;
}
++beg;
}
nCoupled -= nForFit;
if (nCoupled > 3)
{
for (Int_t iclust = nCoupled; iclust < nCoupled+nForFit; ++iclust)
{
indx = clustNumb[iclust] + 999;
for (Int_t iclust1 = 0; iclust1 < nCoupled; ++iclust1)
{
indx1 = clustNumb[iclust1];
aijcluclu(indx,indx1) = aijcluclu(indx1,indx) = 0;
}
}
for (Int_t j = 0; j < npad; ++j)
{
AliMUONPad* pad = cluster.Pad(j);
if ( pad->Status() != AliMUONClusterFinderMLEM::GetModifiedFlag()) continue;
for (Int_t iclust=0; iclust<nCoupled; ++iclust)
{
indx = clustNumb[iclust];
if (aijclupad(indx,j) < fgkCouplMin) continue;
for (Int_t iclust1 = iclust+1; iclust1 < nCoupled; ++iclust1)
{
indx1 = clustNumb[iclust1];
if (aijclupad(indx1,j) < fgkCouplMin) continue;
aijcluclu(indx,indx1) -=
TMath::Sqrt (aijclupad(indx,j)*aijclupad(indx1,j));
aijcluclu(indx1,indx) = aijcluclu(indx,indx1);
}
}
pad->SetStatus(AliMUONClusterFinderMLEM::GetOverFlag());
}
}
}
}
for (Int_t iclust = 0; iclust < nclust; ++iclust)
{
pix = clusters[iclust];
pix->Clear();
delete pix;
}
delete [] clustNumb;
delete [] used;
}
void
AliMUONClusterSplitterMLEM::Merge(const AliMUONCluster& cluster,
Int_t nForFit, Int_t nCoupled,
const Int_t *clustNumb, const Int_t *clustFit,
TObjArray **clusters,
TMatrixD& aijcluclu, TMatrixD& aijclupad)
{
Int_t indx, indx1, npxclu, imax=0;
TObjArray *pix, *pix1;
Double_t couplMax;
for (Int_t icl = 0; icl < nForFit; ++icl)
{
indx = clustFit[icl];
pix = clusters[indx];
npxclu = pix->GetEntriesFast();
couplMax = -1;
for (Int_t icl1 = 0; icl1 < nCoupled; ++icl1)
{
indx1 = clustNumb[icl1];
if (indx1 < 0) continue;
if ( aijcluclu(indx,indx1) > couplMax)
{
couplMax = aijcluclu(indx,indx1);
imax = indx1;
}
}
pix1 = clusters[imax];
for (Int_t i = 0; i < npxclu; ++i)
{
pix1->Add(pix->UncheckedAt(i));
pix->RemoveAt(i);
}
for (Int_t icl1 = 0; icl1 < nCoupled; ++icl1)
{
indx1 = clustNumb[icl1];
if (indx1 < 0 || indx1 == imax) continue;
aijcluclu(indx1,imax) += aijcluclu(indx,indx1);
aijcluclu(imax,indx1) = aijcluclu(indx1,imax);
}
aijcluclu(indx,imax) = aijcluclu(imax,indx) = 0;
Int_t mult = cluster.Multiplicity();
for (Int_t j = 0; j < mult; ++j)
{
AliMUONPad* pad = cluster.Pad(j);
if ( pad->Status() != AliMUONClusterFinderMLEM::GetZeroFlag()) continue;
aijclupad(imax,j) += aijclupad(indx,j);
aijclupad(indx,j) = 0;
}
}
}
Double_t
AliMUONClusterSplitterMLEM::MinGroupCoupl(Int_t nCoupled, const Int_t *clustNumb,
const TMatrixD& aijcluclu, Int_t *minGroup)
{
Int_t i123max = TMath::Min(3,nCoupled/2);
Int_t indx, indx1, indx2, indx3, nTot = 0;
Double_t *coupl1 = 0, *coupl2 = 0, *coupl3 = 0;
for (Int_t i123 = 1; i123 <= i123max; ++i123) {
if (i123 == 1) {
coupl1 = new Double_t [nCoupled];
for (Int_t i = 0; i < nCoupled; ++i) coupl1[i] = 0;
}
else if (i123 == 2) {
nTot = nCoupled*nCoupled;
coupl2 = new Double_t [nTot];
for (Int_t i = 0; i < nTot; ++i) coupl2[i] = 9999;
} else {
nTot = nTot*nCoupled;
coupl3 = new Double_t [nTot];
for (Int_t i = 0; i < nTot; ++i) coupl3[i] = 9999;
}
for (Int_t i = 0; i < nCoupled; ++i) {
indx1 = clustNumb[i];
for (Int_t j = i+1; j < nCoupled; ++j) {
indx2 = clustNumb[j];
if (i123 == 1) {
coupl1[i] += aijcluclu(indx1,indx2);
coupl1[j] += aijcluclu(indx1,indx2);
}
else if (i123 == 2) {
indx = i*nCoupled + j;
coupl2[indx] = coupl1[i] + coupl1[j];
coupl2[indx] -= 2 * (aijcluclu(indx1,indx2));
} else {
for (Int_t k = j+1; k < nCoupled; ++k) {
indx3 = clustNumb[k];
indx = i*nCoupled*nCoupled + j*nCoupled + k;
coupl3[indx] = coupl2[i*nCoupled+j] + coupl1[k];
coupl3[indx] -= 2 * (aijcluclu(indx1,indx3)+aijcluclu(indx2,indx3));
}
}
}
}
}
Double_t couplMin = 9999;
Int_t locMin = 0;
for (Int_t i123 = 1; i123 <= i123max; ++i123) {
if (i123 == 1) {
locMin = TMath::LocMin(nCoupled, coupl1);
couplMin = coupl1[locMin];
minGroup[0] = locMin;
delete [] coupl1;
}
else if (i123 == 2) {
locMin = TMath::LocMin(nCoupled*nCoupled, coupl2);
if (coupl2[locMin] < couplMin) {
couplMin = coupl2[locMin];
minGroup[0] = locMin/nCoupled;
minGroup[1] = locMin%nCoupled;
}
delete [] coupl2;
} else {
locMin = TMath::LocMin(nTot, coupl3);
if (coupl3[locMin] < couplMin) {
couplMin = coupl3[locMin];
minGroup[0] = locMin/nCoupled/nCoupled;
minGroup[1] = locMin%(nCoupled*nCoupled)/nCoupled;
minGroup[2] = locMin%nCoupled;
}
delete [] coupl3;
}
}
return couplMin;
}
Int_t
AliMUONClusterSplitterMLEM::SelectPad(const AliMUONCluster& cluster,
Int_t nCoupled, Int_t nForFit,
const Int_t *clustNumb, const Int_t *clustFit,
const TMatrixD& aijclupad)
{
Int_t npad = cluster.Multiplicity();
Double_t *padpix = 0;
if (nCoupled > 3)
{
padpix = new Double_t[npad];
for (Int_t i = 0; i < npad; ++i) padpix[i] = 0.;
}
Int_t nOK = 0, indx, indx1;
for (Int_t iclust = 0; iclust < nForFit; ++iclust)
{
indx = clustFit[iclust];
for (Int_t j = 0; j < npad; ++j)
{
if ( aijclupad(indx,j) < fgkCouplMin) continue;
AliMUONPad* pad = cluster.Pad(j);
if ( pad->Status() != AliMUONClusterFinderMLEM::GetZeroFlag()
|| pad->IsSaturated() ) continue;
pad->SetStatus(AliMUONClusterFinderMLEM::GetUseForFitFlag());
++nOK;
if (nCoupled > 3)
{
for (Int_t iclust1 = 0; iclust1 < nCoupled; ++iclust1)
{
indx1 = clustNumb[iclust1];
if (indx1 < 0) continue;
if ( aijclupad(indx1,j) < fgkCouplMin ) continue;
padpix[j] += aijclupad(indx1,j);
}
}
}
}
if (nCoupled < 4) return nOK;
Double_t aaa = 0;
for (Int_t j = 0; j < npad; ++j)
{
if (padpix[j] < fgkCouplMin) continue;
aaa += padpix[j];
cluster.Pad(j)->SetStatus(AliMUONClusterFinderMLEM::GetCoupledFlag());
nOK--;
}
delete [] padpix;
return nOK;
}
void
AliMUONClusterSplitterMLEM::UpdatePads(const AliMUONCluster& cluster,
Int_t , Double_t *par)
{
Int_t indx, mult = cluster.Multiplicity(), iend = fNpar/3;
Double_t charge, coef=0;
for (Int_t j = 0; j < mult; ++j)
{
AliMUONPad* pad = cluster.Pad(j);
if ( pad->Status() != AliMUONClusterFinderMLEM::GetCoupledFlag() ) continue;
if (fNpar != 0)
{
charge = 0;
for (Int_t i = 0; i <= iend; ++i)
{
indx = 3 * i;
coef = Param2Coef(i, coef, par);
charge += ChargeIntegration(par[indx],par[indx+1],*pad) * coef;
}
charge *= fQtot;
pad->SetCharge(pad->Charge()-charge);
}
if (pad->Charge() > fLowestPadCharge) pad->SetStatus(AliMUONClusterFinderMLEM::GetZeroFlag());
else pad->SetStatus(AliMUONClusterFinderMLEM::GetOverFlag());
}
}
AliMUONClusterSplitterMLEM.cxx:1 AliMUONClusterSplitterMLEM.cxx:2 AliMUONClusterSplitterMLEM.cxx:3 AliMUONClusterSplitterMLEM.cxx:4 AliMUONClusterSplitterMLEM.cxx:5 AliMUONClusterSplitterMLEM.cxx:6 AliMUONClusterSplitterMLEM.cxx:7 AliMUONClusterSplitterMLEM.cxx:8 AliMUONClusterSplitterMLEM.cxx:9 AliMUONClusterSplitterMLEM.cxx:10 AliMUONClusterSplitterMLEM.cxx:11 AliMUONClusterSplitterMLEM.cxx:12 AliMUONClusterSplitterMLEM.cxx:13 AliMUONClusterSplitterMLEM.cxx:14 AliMUONClusterSplitterMLEM.cxx:15 AliMUONClusterSplitterMLEM.cxx:16 AliMUONClusterSplitterMLEM.cxx:17 AliMUONClusterSplitterMLEM.cxx:18 AliMUONClusterSplitterMLEM.cxx:19 AliMUONClusterSplitterMLEM.cxx:20 AliMUONClusterSplitterMLEM.cxx:21 AliMUONClusterSplitterMLEM.cxx:22 AliMUONClusterSplitterMLEM.cxx:23 AliMUONClusterSplitterMLEM.cxx:24 AliMUONClusterSplitterMLEM.cxx:25 AliMUONClusterSplitterMLEM.cxx:26 AliMUONClusterSplitterMLEM.cxx:27 AliMUONClusterSplitterMLEM.cxx:28 AliMUONClusterSplitterMLEM.cxx:29 AliMUONClusterSplitterMLEM.cxx:30 AliMUONClusterSplitterMLEM.cxx:31 AliMUONClusterSplitterMLEM.cxx:32 AliMUONClusterSplitterMLEM.cxx:33 AliMUONClusterSplitterMLEM.cxx:34 AliMUONClusterSplitterMLEM.cxx:35 AliMUONClusterSplitterMLEM.cxx:36 AliMUONClusterSplitterMLEM.cxx:37 AliMUONClusterSplitterMLEM.cxx:38 AliMUONClusterSplitterMLEM.cxx:39 AliMUONClusterSplitterMLEM.cxx:40 AliMUONClusterSplitterMLEM.cxx:41 AliMUONClusterSplitterMLEM.cxx:42 AliMUONClusterSplitterMLEM.cxx:43 AliMUONClusterSplitterMLEM.cxx:44 AliMUONClusterSplitterMLEM.cxx:45 AliMUONClusterSplitterMLEM.cxx:46 AliMUONClusterSplitterMLEM.cxx:47 AliMUONClusterSplitterMLEM.cxx:48 AliMUONClusterSplitterMLEM.cxx:49 AliMUONClusterSplitterMLEM.cxx:50 AliMUONClusterSplitterMLEM.cxx:51 AliMUONClusterSplitterMLEM.cxx:52 AliMUONClusterSplitterMLEM.cxx:53 AliMUONClusterSplitterMLEM.cxx:54 AliMUONClusterSplitterMLEM.cxx:55 AliMUONClusterSplitterMLEM.cxx:56 AliMUONClusterSplitterMLEM.cxx:57 AliMUONClusterSplitterMLEM.cxx:58 AliMUONClusterSplitterMLEM.cxx:59 AliMUONClusterSplitterMLEM.cxx:60 AliMUONClusterSplitterMLEM.cxx:61 AliMUONClusterSplitterMLEM.cxx:62 AliMUONClusterSplitterMLEM.cxx:63 AliMUONClusterSplitterMLEM.cxx:64 AliMUONClusterSplitterMLEM.cxx:65 AliMUONClusterSplitterMLEM.cxx:66 AliMUONClusterSplitterMLEM.cxx:67 AliMUONClusterSplitterMLEM.cxx:68 AliMUONClusterSplitterMLEM.cxx:69 AliMUONClusterSplitterMLEM.cxx:70 AliMUONClusterSplitterMLEM.cxx:71 AliMUONClusterSplitterMLEM.cxx:72 AliMUONClusterSplitterMLEM.cxx:73 AliMUONClusterSplitterMLEM.cxx:74 AliMUONClusterSplitterMLEM.cxx:75 AliMUONClusterSplitterMLEM.cxx:76 AliMUONClusterSplitterMLEM.cxx:77 AliMUONClusterSplitterMLEM.cxx:78 AliMUONClusterSplitterMLEM.cxx:79 AliMUONClusterSplitterMLEM.cxx:80 AliMUONClusterSplitterMLEM.cxx:81 AliMUONClusterSplitterMLEM.cxx:82 AliMUONClusterSplitterMLEM.cxx:83 AliMUONClusterSplitterMLEM.cxx:84 AliMUONClusterSplitterMLEM.cxx:85 AliMUONClusterSplitterMLEM.cxx:86 AliMUONClusterSplitterMLEM.cxx:87 AliMUONClusterSplitterMLEM.cxx:88 AliMUONClusterSplitterMLEM.cxx:89 AliMUONClusterSplitterMLEM.cxx:90 AliMUONClusterSplitterMLEM.cxx:91 AliMUONClusterSplitterMLEM.cxx:92 AliMUONClusterSplitterMLEM.cxx:93 AliMUONClusterSplitterMLEM.cxx:94 AliMUONClusterSplitterMLEM.cxx:95 AliMUONClusterSplitterMLEM.cxx:96 AliMUONClusterSplitterMLEM.cxx:97 AliMUONClusterSplitterMLEM.cxx:98 AliMUONClusterSplitterMLEM.cxx:99 AliMUONClusterSplitterMLEM.cxx:100 AliMUONClusterSplitterMLEM.cxx:101 AliMUONClusterSplitterMLEM.cxx:102 AliMUONClusterSplitterMLEM.cxx:103 AliMUONClusterSplitterMLEM.cxx:104 AliMUONClusterSplitterMLEM.cxx:105 AliMUONClusterSplitterMLEM.cxx:106 AliMUONClusterSplitterMLEM.cxx:107 AliMUONClusterSplitterMLEM.cxx:108 AliMUONClusterSplitterMLEM.cxx:109 AliMUONClusterSplitterMLEM.cxx:110 AliMUONClusterSplitterMLEM.cxx:111 AliMUONClusterSplitterMLEM.cxx:112 AliMUONClusterSplitterMLEM.cxx:113 AliMUONClusterSplitterMLEM.cxx:114 AliMUONClusterSplitterMLEM.cxx:115 AliMUONClusterSplitterMLEM.cxx:116 AliMUONClusterSplitterMLEM.cxx:117 AliMUONClusterSplitterMLEM.cxx:118 AliMUONClusterSplitterMLEM.cxx:119 AliMUONClusterSplitterMLEM.cxx:120 AliMUONClusterSplitterMLEM.cxx:121 AliMUONClusterSplitterMLEM.cxx:122 AliMUONClusterSplitterMLEM.cxx:123 AliMUONClusterSplitterMLEM.cxx:124 AliMUONClusterSplitterMLEM.cxx:125 AliMUONClusterSplitterMLEM.cxx:126 AliMUONClusterSplitterMLEM.cxx:127 AliMUONClusterSplitterMLEM.cxx:128 AliMUONClusterSplitterMLEM.cxx:129 AliMUONClusterSplitterMLEM.cxx:130 AliMUONClusterSplitterMLEM.cxx:131 AliMUONClusterSplitterMLEM.cxx:132 AliMUONClusterSplitterMLEM.cxx:133 AliMUONClusterSplitterMLEM.cxx:134 AliMUONClusterSplitterMLEM.cxx:135 AliMUONClusterSplitterMLEM.cxx:136 AliMUONClusterSplitterMLEM.cxx:137 AliMUONClusterSplitterMLEM.cxx:138 AliMUONClusterSplitterMLEM.cxx:139 AliMUONClusterSplitterMLEM.cxx:140 AliMUONClusterSplitterMLEM.cxx:141 AliMUONClusterSplitterMLEM.cxx:142 AliMUONClusterSplitterMLEM.cxx:143 AliMUONClusterSplitterMLEM.cxx:144 AliMUONClusterSplitterMLEM.cxx:145 AliMUONClusterSplitterMLEM.cxx:146 AliMUONClusterSplitterMLEM.cxx:147 AliMUONClusterSplitterMLEM.cxx:148 AliMUONClusterSplitterMLEM.cxx:149 AliMUONClusterSplitterMLEM.cxx:150 AliMUONClusterSplitterMLEM.cxx:151 AliMUONClusterSplitterMLEM.cxx:152 AliMUONClusterSplitterMLEM.cxx:153 AliMUONClusterSplitterMLEM.cxx:154 AliMUONClusterSplitterMLEM.cxx:155 AliMUONClusterSplitterMLEM.cxx:156 AliMUONClusterSplitterMLEM.cxx:157 AliMUONClusterSplitterMLEM.cxx:158 AliMUONClusterSplitterMLEM.cxx:159 AliMUONClusterSplitterMLEM.cxx:160 AliMUONClusterSplitterMLEM.cxx:161 AliMUONClusterSplitterMLEM.cxx:162 AliMUONClusterSplitterMLEM.cxx:163 AliMUONClusterSplitterMLEM.cxx:164 AliMUONClusterSplitterMLEM.cxx:165 AliMUONClusterSplitterMLEM.cxx:166 AliMUONClusterSplitterMLEM.cxx:167 AliMUONClusterSplitterMLEM.cxx:168 AliMUONClusterSplitterMLEM.cxx:169 AliMUONClusterSplitterMLEM.cxx:170 AliMUONClusterSplitterMLEM.cxx:171 AliMUONClusterSplitterMLEM.cxx:172 AliMUONClusterSplitterMLEM.cxx:173 AliMUONClusterSplitterMLEM.cxx:174 AliMUONClusterSplitterMLEM.cxx:175 AliMUONClusterSplitterMLEM.cxx:176 AliMUONClusterSplitterMLEM.cxx:177 AliMUONClusterSplitterMLEM.cxx:178 AliMUONClusterSplitterMLEM.cxx:179 AliMUONClusterSplitterMLEM.cxx:180 AliMUONClusterSplitterMLEM.cxx:181 AliMUONClusterSplitterMLEM.cxx:182 AliMUONClusterSplitterMLEM.cxx:183 AliMUONClusterSplitterMLEM.cxx:184 AliMUONClusterSplitterMLEM.cxx:185 AliMUONClusterSplitterMLEM.cxx:186 AliMUONClusterSplitterMLEM.cxx:187 AliMUONClusterSplitterMLEM.cxx:188 AliMUONClusterSplitterMLEM.cxx:189 AliMUONClusterSplitterMLEM.cxx:190 AliMUONClusterSplitterMLEM.cxx:191 AliMUONClusterSplitterMLEM.cxx:192 AliMUONClusterSplitterMLEM.cxx:193 AliMUONClusterSplitterMLEM.cxx:194 AliMUONClusterSplitterMLEM.cxx:195 AliMUONClusterSplitterMLEM.cxx:196 AliMUONClusterSplitterMLEM.cxx:197 AliMUONClusterSplitterMLEM.cxx:198 AliMUONClusterSplitterMLEM.cxx:199 AliMUONClusterSplitterMLEM.cxx:200 AliMUONClusterSplitterMLEM.cxx:201 AliMUONClusterSplitterMLEM.cxx:202 AliMUONClusterSplitterMLEM.cxx:203 AliMUONClusterSplitterMLEM.cxx:204 AliMUONClusterSplitterMLEM.cxx:205 AliMUONClusterSplitterMLEM.cxx:206 AliMUONClusterSplitterMLEM.cxx:207 AliMUONClusterSplitterMLEM.cxx:208 AliMUONClusterSplitterMLEM.cxx:209 AliMUONClusterSplitterMLEM.cxx:210 AliMUONClusterSplitterMLEM.cxx:211 AliMUONClusterSplitterMLEM.cxx:212 AliMUONClusterSplitterMLEM.cxx:213 AliMUONClusterSplitterMLEM.cxx:214 AliMUONClusterSplitterMLEM.cxx:215 AliMUONClusterSplitterMLEM.cxx:216 AliMUONClusterSplitterMLEM.cxx:217 AliMUONClusterSplitterMLEM.cxx:218 AliMUONClusterSplitterMLEM.cxx:219 AliMUONClusterSplitterMLEM.cxx:220 AliMUONClusterSplitterMLEM.cxx:221 AliMUONClusterSplitterMLEM.cxx:222 AliMUONClusterSplitterMLEM.cxx:223 AliMUONClusterSplitterMLEM.cxx:224 AliMUONClusterSplitterMLEM.cxx:225 AliMUONClusterSplitterMLEM.cxx:226 AliMUONClusterSplitterMLEM.cxx:227 AliMUONClusterSplitterMLEM.cxx:228 AliMUONClusterSplitterMLEM.cxx:229 AliMUONClusterSplitterMLEM.cxx:230 AliMUONClusterSplitterMLEM.cxx:231 AliMUONClusterSplitterMLEM.cxx:232 AliMUONClusterSplitterMLEM.cxx:233 AliMUONClusterSplitterMLEM.cxx:234 AliMUONClusterSplitterMLEM.cxx:235 AliMUONClusterSplitterMLEM.cxx:236 AliMUONClusterSplitterMLEM.cxx:237 AliMUONClusterSplitterMLEM.cxx:238 AliMUONClusterSplitterMLEM.cxx:239 AliMUONClusterSplitterMLEM.cxx:240 AliMUONClusterSplitterMLEM.cxx:241 AliMUONClusterSplitterMLEM.cxx:242 AliMUONClusterSplitterMLEM.cxx:243 AliMUONClusterSplitterMLEM.cxx:244 AliMUONClusterSplitterMLEM.cxx:245 AliMUONClusterSplitterMLEM.cxx:246 AliMUONClusterSplitterMLEM.cxx:247 AliMUONClusterSplitterMLEM.cxx:248 AliMUONClusterSplitterMLEM.cxx:249 AliMUONClusterSplitterMLEM.cxx:250 AliMUONClusterSplitterMLEM.cxx:251 AliMUONClusterSplitterMLEM.cxx:252 AliMUONClusterSplitterMLEM.cxx:253 AliMUONClusterSplitterMLEM.cxx:254 AliMUONClusterSplitterMLEM.cxx:255 AliMUONClusterSplitterMLEM.cxx:256 AliMUONClusterSplitterMLEM.cxx:257 AliMUONClusterSplitterMLEM.cxx:258 AliMUONClusterSplitterMLEM.cxx:259 AliMUONClusterSplitterMLEM.cxx:260 AliMUONClusterSplitterMLEM.cxx:261 AliMUONClusterSplitterMLEM.cxx:262 AliMUONClusterSplitterMLEM.cxx:263 AliMUONClusterSplitterMLEM.cxx:264 AliMUONClusterSplitterMLEM.cxx:265 AliMUONClusterSplitterMLEM.cxx:266 AliMUONClusterSplitterMLEM.cxx:267 AliMUONClusterSplitterMLEM.cxx:268 AliMUONClusterSplitterMLEM.cxx:269 AliMUONClusterSplitterMLEM.cxx:270 AliMUONClusterSplitterMLEM.cxx:271 AliMUONClusterSplitterMLEM.cxx:272 AliMUONClusterSplitterMLEM.cxx:273 AliMUONClusterSplitterMLEM.cxx:274 AliMUONClusterSplitterMLEM.cxx:275 AliMUONClusterSplitterMLEM.cxx:276 AliMUONClusterSplitterMLEM.cxx:277 AliMUONClusterSplitterMLEM.cxx:278 AliMUONClusterSplitterMLEM.cxx:279 AliMUONClusterSplitterMLEM.cxx:280 AliMUONClusterSplitterMLEM.cxx:281 AliMUONClusterSplitterMLEM.cxx:282 AliMUONClusterSplitterMLEM.cxx:283 AliMUONClusterSplitterMLEM.cxx:284 AliMUONClusterSplitterMLEM.cxx:285 AliMUONClusterSplitterMLEM.cxx:286 AliMUONClusterSplitterMLEM.cxx:287 AliMUONClusterSplitterMLEM.cxx:288 AliMUONClusterSplitterMLEM.cxx:289 AliMUONClusterSplitterMLEM.cxx:290 AliMUONClusterSplitterMLEM.cxx:291 AliMUONClusterSplitterMLEM.cxx:292 AliMUONClusterSplitterMLEM.cxx:293 AliMUONClusterSplitterMLEM.cxx:294 AliMUONClusterSplitterMLEM.cxx:295 AliMUONClusterSplitterMLEM.cxx:296 AliMUONClusterSplitterMLEM.cxx:297 AliMUONClusterSplitterMLEM.cxx:298 AliMUONClusterSplitterMLEM.cxx:299 AliMUONClusterSplitterMLEM.cxx:300 AliMUONClusterSplitterMLEM.cxx:301 AliMUONClusterSplitterMLEM.cxx:302 AliMUONClusterSplitterMLEM.cxx:303 AliMUONClusterSplitterMLEM.cxx:304 AliMUONClusterSplitterMLEM.cxx:305 AliMUONClusterSplitterMLEM.cxx:306 AliMUONClusterSplitterMLEM.cxx:307 AliMUONClusterSplitterMLEM.cxx:308 AliMUONClusterSplitterMLEM.cxx:309 AliMUONClusterSplitterMLEM.cxx:310 AliMUONClusterSplitterMLEM.cxx:311 AliMUONClusterSplitterMLEM.cxx:312 AliMUONClusterSplitterMLEM.cxx:313 AliMUONClusterSplitterMLEM.cxx:314 AliMUONClusterSplitterMLEM.cxx:315 AliMUONClusterSplitterMLEM.cxx:316 AliMUONClusterSplitterMLEM.cxx:317 AliMUONClusterSplitterMLEM.cxx:318 AliMUONClusterSplitterMLEM.cxx:319 AliMUONClusterSplitterMLEM.cxx:320 AliMUONClusterSplitterMLEM.cxx:321 AliMUONClusterSplitterMLEM.cxx:322 AliMUONClusterSplitterMLEM.cxx:323 AliMUONClusterSplitterMLEM.cxx:324 AliMUONClusterSplitterMLEM.cxx:325 AliMUONClusterSplitterMLEM.cxx:326 AliMUONClusterSplitterMLEM.cxx:327 AliMUONClusterSplitterMLEM.cxx:328 AliMUONClusterSplitterMLEM.cxx:329 AliMUONClusterSplitterMLEM.cxx:330 AliMUONClusterSplitterMLEM.cxx:331 AliMUONClusterSplitterMLEM.cxx:332 AliMUONClusterSplitterMLEM.cxx:333 AliMUONClusterSplitterMLEM.cxx:334 AliMUONClusterSplitterMLEM.cxx:335 AliMUONClusterSplitterMLEM.cxx:336 AliMUONClusterSplitterMLEM.cxx:337 AliMUONClusterSplitterMLEM.cxx:338 AliMUONClusterSplitterMLEM.cxx:339 AliMUONClusterSplitterMLEM.cxx:340 AliMUONClusterSplitterMLEM.cxx:341 AliMUONClusterSplitterMLEM.cxx:342 AliMUONClusterSplitterMLEM.cxx:343 AliMUONClusterSplitterMLEM.cxx:344 AliMUONClusterSplitterMLEM.cxx:345 AliMUONClusterSplitterMLEM.cxx:346 AliMUONClusterSplitterMLEM.cxx:347 AliMUONClusterSplitterMLEM.cxx:348 AliMUONClusterSplitterMLEM.cxx:349 AliMUONClusterSplitterMLEM.cxx:350 AliMUONClusterSplitterMLEM.cxx:351 AliMUONClusterSplitterMLEM.cxx:352 AliMUONClusterSplitterMLEM.cxx:353 AliMUONClusterSplitterMLEM.cxx:354 AliMUONClusterSplitterMLEM.cxx:355 AliMUONClusterSplitterMLEM.cxx:356 AliMUONClusterSplitterMLEM.cxx:357 AliMUONClusterSplitterMLEM.cxx:358 AliMUONClusterSplitterMLEM.cxx:359 AliMUONClusterSplitterMLEM.cxx:360 AliMUONClusterSplitterMLEM.cxx:361 AliMUONClusterSplitterMLEM.cxx:362 AliMUONClusterSplitterMLEM.cxx:363 AliMUONClusterSplitterMLEM.cxx:364 AliMUONClusterSplitterMLEM.cxx:365 AliMUONClusterSplitterMLEM.cxx:366 AliMUONClusterSplitterMLEM.cxx:367 AliMUONClusterSplitterMLEM.cxx:368 AliMUONClusterSplitterMLEM.cxx:369 AliMUONClusterSplitterMLEM.cxx:370 AliMUONClusterSplitterMLEM.cxx:371 AliMUONClusterSplitterMLEM.cxx:372 AliMUONClusterSplitterMLEM.cxx:373 AliMUONClusterSplitterMLEM.cxx:374 AliMUONClusterSplitterMLEM.cxx:375 AliMUONClusterSplitterMLEM.cxx:376 AliMUONClusterSplitterMLEM.cxx:377 AliMUONClusterSplitterMLEM.cxx:378 AliMUONClusterSplitterMLEM.cxx:379 AliMUONClusterSplitterMLEM.cxx:380 AliMUONClusterSplitterMLEM.cxx:381 AliMUONClusterSplitterMLEM.cxx:382 AliMUONClusterSplitterMLEM.cxx:383 AliMUONClusterSplitterMLEM.cxx:384 AliMUONClusterSplitterMLEM.cxx:385 AliMUONClusterSplitterMLEM.cxx:386 AliMUONClusterSplitterMLEM.cxx:387 AliMUONClusterSplitterMLEM.cxx:388 AliMUONClusterSplitterMLEM.cxx:389 AliMUONClusterSplitterMLEM.cxx:390 AliMUONClusterSplitterMLEM.cxx:391 AliMUONClusterSplitterMLEM.cxx:392 AliMUONClusterSplitterMLEM.cxx:393 AliMUONClusterSplitterMLEM.cxx:394 AliMUONClusterSplitterMLEM.cxx:395 AliMUONClusterSplitterMLEM.cxx:396 AliMUONClusterSplitterMLEM.cxx:397 AliMUONClusterSplitterMLEM.cxx:398 AliMUONClusterSplitterMLEM.cxx:399 AliMUONClusterSplitterMLEM.cxx:400 AliMUONClusterSplitterMLEM.cxx:401 AliMUONClusterSplitterMLEM.cxx:402 AliMUONClusterSplitterMLEM.cxx:403 AliMUONClusterSplitterMLEM.cxx:404 AliMUONClusterSplitterMLEM.cxx:405 AliMUONClusterSplitterMLEM.cxx:406 AliMUONClusterSplitterMLEM.cxx:407 AliMUONClusterSplitterMLEM.cxx:408 AliMUONClusterSplitterMLEM.cxx:409 AliMUONClusterSplitterMLEM.cxx:410 AliMUONClusterSplitterMLEM.cxx:411 AliMUONClusterSplitterMLEM.cxx:412 AliMUONClusterSplitterMLEM.cxx:413 AliMUONClusterSplitterMLEM.cxx:414 AliMUONClusterSplitterMLEM.cxx:415 AliMUONClusterSplitterMLEM.cxx:416 AliMUONClusterSplitterMLEM.cxx:417 AliMUONClusterSplitterMLEM.cxx:418 AliMUONClusterSplitterMLEM.cxx:419 AliMUONClusterSplitterMLEM.cxx:420 AliMUONClusterSplitterMLEM.cxx:421 AliMUONClusterSplitterMLEM.cxx:422 AliMUONClusterSplitterMLEM.cxx:423 AliMUONClusterSplitterMLEM.cxx:424 AliMUONClusterSplitterMLEM.cxx:425 AliMUONClusterSplitterMLEM.cxx:426 AliMUONClusterSplitterMLEM.cxx:427 AliMUONClusterSplitterMLEM.cxx:428 AliMUONClusterSplitterMLEM.cxx:429 AliMUONClusterSplitterMLEM.cxx:430 AliMUONClusterSplitterMLEM.cxx:431 AliMUONClusterSplitterMLEM.cxx:432 AliMUONClusterSplitterMLEM.cxx:433 AliMUONClusterSplitterMLEM.cxx:434 AliMUONClusterSplitterMLEM.cxx:435 AliMUONClusterSplitterMLEM.cxx:436 AliMUONClusterSplitterMLEM.cxx:437 AliMUONClusterSplitterMLEM.cxx:438 AliMUONClusterSplitterMLEM.cxx:439 AliMUONClusterSplitterMLEM.cxx:440 AliMUONClusterSplitterMLEM.cxx:441 AliMUONClusterSplitterMLEM.cxx:442 AliMUONClusterSplitterMLEM.cxx:443 AliMUONClusterSplitterMLEM.cxx:444 AliMUONClusterSplitterMLEM.cxx:445 AliMUONClusterSplitterMLEM.cxx:446 AliMUONClusterSplitterMLEM.cxx:447 AliMUONClusterSplitterMLEM.cxx:448 AliMUONClusterSplitterMLEM.cxx:449 AliMUONClusterSplitterMLEM.cxx:450 AliMUONClusterSplitterMLEM.cxx:451 AliMUONClusterSplitterMLEM.cxx:452 AliMUONClusterSplitterMLEM.cxx:453 AliMUONClusterSplitterMLEM.cxx:454 AliMUONClusterSplitterMLEM.cxx:455 AliMUONClusterSplitterMLEM.cxx:456 AliMUONClusterSplitterMLEM.cxx:457 AliMUONClusterSplitterMLEM.cxx:458 AliMUONClusterSplitterMLEM.cxx:459 AliMUONClusterSplitterMLEM.cxx:460 AliMUONClusterSplitterMLEM.cxx:461 AliMUONClusterSplitterMLEM.cxx:462 AliMUONClusterSplitterMLEM.cxx:463 AliMUONClusterSplitterMLEM.cxx:464 AliMUONClusterSplitterMLEM.cxx:465 AliMUONClusterSplitterMLEM.cxx:466 AliMUONClusterSplitterMLEM.cxx:467 AliMUONClusterSplitterMLEM.cxx:468 AliMUONClusterSplitterMLEM.cxx:469 AliMUONClusterSplitterMLEM.cxx:470 AliMUONClusterSplitterMLEM.cxx:471 AliMUONClusterSplitterMLEM.cxx:472 AliMUONClusterSplitterMLEM.cxx:473 AliMUONClusterSplitterMLEM.cxx:474 AliMUONClusterSplitterMLEM.cxx:475 AliMUONClusterSplitterMLEM.cxx:476 AliMUONClusterSplitterMLEM.cxx:477 AliMUONClusterSplitterMLEM.cxx:478 AliMUONClusterSplitterMLEM.cxx:479 AliMUONClusterSplitterMLEM.cxx:480 AliMUONClusterSplitterMLEM.cxx:481 AliMUONClusterSplitterMLEM.cxx:482 AliMUONClusterSplitterMLEM.cxx:483 AliMUONClusterSplitterMLEM.cxx:484 AliMUONClusterSplitterMLEM.cxx:485 AliMUONClusterSplitterMLEM.cxx:486 AliMUONClusterSplitterMLEM.cxx:487 AliMUONClusterSplitterMLEM.cxx:488 AliMUONClusterSplitterMLEM.cxx:489 AliMUONClusterSplitterMLEM.cxx:490 AliMUONClusterSplitterMLEM.cxx:491 AliMUONClusterSplitterMLEM.cxx:492 AliMUONClusterSplitterMLEM.cxx:493 AliMUONClusterSplitterMLEM.cxx:494 AliMUONClusterSplitterMLEM.cxx:495 AliMUONClusterSplitterMLEM.cxx:496 AliMUONClusterSplitterMLEM.cxx:497 AliMUONClusterSplitterMLEM.cxx:498 AliMUONClusterSplitterMLEM.cxx:499 AliMUONClusterSplitterMLEM.cxx:500 AliMUONClusterSplitterMLEM.cxx:501 AliMUONClusterSplitterMLEM.cxx:502 AliMUONClusterSplitterMLEM.cxx:503 AliMUONClusterSplitterMLEM.cxx:504 AliMUONClusterSplitterMLEM.cxx:505 AliMUONClusterSplitterMLEM.cxx:506 AliMUONClusterSplitterMLEM.cxx:507 AliMUONClusterSplitterMLEM.cxx:508 AliMUONClusterSplitterMLEM.cxx:509 AliMUONClusterSplitterMLEM.cxx:510 AliMUONClusterSplitterMLEM.cxx:511 AliMUONClusterSplitterMLEM.cxx:512 AliMUONClusterSplitterMLEM.cxx:513 AliMUONClusterSplitterMLEM.cxx:514 AliMUONClusterSplitterMLEM.cxx:515 AliMUONClusterSplitterMLEM.cxx:516 AliMUONClusterSplitterMLEM.cxx:517 AliMUONClusterSplitterMLEM.cxx:518 AliMUONClusterSplitterMLEM.cxx:519 AliMUONClusterSplitterMLEM.cxx:520 AliMUONClusterSplitterMLEM.cxx:521 AliMUONClusterSplitterMLEM.cxx:522 AliMUONClusterSplitterMLEM.cxx:523 AliMUONClusterSplitterMLEM.cxx:524 AliMUONClusterSplitterMLEM.cxx:525 AliMUONClusterSplitterMLEM.cxx:526 AliMUONClusterSplitterMLEM.cxx:527 AliMUONClusterSplitterMLEM.cxx:528 AliMUONClusterSplitterMLEM.cxx:529 AliMUONClusterSplitterMLEM.cxx:530 AliMUONClusterSplitterMLEM.cxx:531 AliMUONClusterSplitterMLEM.cxx:532 AliMUONClusterSplitterMLEM.cxx:533 AliMUONClusterSplitterMLEM.cxx:534 AliMUONClusterSplitterMLEM.cxx:535 AliMUONClusterSplitterMLEM.cxx:536 AliMUONClusterSplitterMLEM.cxx:537 AliMUONClusterSplitterMLEM.cxx:538 AliMUONClusterSplitterMLEM.cxx:539 AliMUONClusterSplitterMLEM.cxx:540 AliMUONClusterSplitterMLEM.cxx:541 AliMUONClusterSplitterMLEM.cxx:542 AliMUONClusterSplitterMLEM.cxx:543 AliMUONClusterSplitterMLEM.cxx:544 AliMUONClusterSplitterMLEM.cxx:545 AliMUONClusterSplitterMLEM.cxx:546 AliMUONClusterSplitterMLEM.cxx:547 AliMUONClusterSplitterMLEM.cxx:548 AliMUONClusterSplitterMLEM.cxx:549 AliMUONClusterSplitterMLEM.cxx:550 AliMUONClusterSplitterMLEM.cxx:551 AliMUONClusterSplitterMLEM.cxx:552 AliMUONClusterSplitterMLEM.cxx:553 AliMUONClusterSplitterMLEM.cxx:554 AliMUONClusterSplitterMLEM.cxx:555 AliMUONClusterSplitterMLEM.cxx:556 AliMUONClusterSplitterMLEM.cxx:557 AliMUONClusterSplitterMLEM.cxx:558 AliMUONClusterSplitterMLEM.cxx:559 AliMUONClusterSplitterMLEM.cxx:560 AliMUONClusterSplitterMLEM.cxx:561 AliMUONClusterSplitterMLEM.cxx:562 AliMUONClusterSplitterMLEM.cxx:563 AliMUONClusterSplitterMLEM.cxx:564 AliMUONClusterSplitterMLEM.cxx:565 AliMUONClusterSplitterMLEM.cxx:566 AliMUONClusterSplitterMLEM.cxx:567 AliMUONClusterSplitterMLEM.cxx:568 AliMUONClusterSplitterMLEM.cxx:569 AliMUONClusterSplitterMLEM.cxx:570 AliMUONClusterSplitterMLEM.cxx:571 AliMUONClusterSplitterMLEM.cxx:572 AliMUONClusterSplitterMLEM.cxx:573 AliMUONClusterSplitterMLEM.cxx:574 AliMUONClusterSplitterMLEM.cxx:575 AliMUONClusterSplitterMLEM.cxx:576 AliMUONClusterSplitterMLEM.cxx:577 AliMUONClusterSplitterMLEM.cxx:578 AliMUONClusterSplitterMLEM.cxx:579 AliMUONClusterSplitterMLEM.cxx:580 AliMUONClusterSplitterMLEM.cxx:581 AliMUONClusterSplitterMLEM.cxx:582 AliMUONClusterSplitterMLEM.cxx:583 AliMUONClusterSplitterMLEM.cxx:584 AliMUONClusterSplitterMLEM.cxx:585 AliMUONClusterSplitterMLEM.cxx:586 AliMUONClusterSplitterMLEM.cxx:587 AliMUONClusterSplitterMLEM.cxx:588 AliMUONClusterSplitterMLEM.cxx:589 AliMUONClusterSplitterMLEM.cxx:590 AliMUONClusterSplitterMLEM.cxx:591 AliMUONClusterSplitterMLEM.cxx:592 AliMUONClusterSplitterMLEM.cxx:593 AliMUONClusterSplitterMLEM.cxx:594 AliMUONClusterSplitterMLEM.cxx:595 AliMUONClusterSplitterMLEM.cxx:596 AliMUONClusterSplitterMLEM.cxx:597 AliMUONClusterSplitterMLEM.cxx:598 AliMUONClusterSplitterMLEM.cxx:599 AliMUONClusterSplitterMLEM.cxx:600 AliMUONClusterSplitterMLEM.cxx:601 AliMUONClusterSplitterMLEM.cxx:602 AliMUONClusterSplitterMLEM.cxx:603 AliMUONClusterSplitterMLEM.cxx:604 AliMUONClusterSplitterMLEM.cxx:605 AliMUONClusterSplitterMLEM.cxx:606 AliMUONClusterSplitterMLEM.cxx:607 AliMUONClusterSplitterMLEM.cxx:608 AliMUONClusterSplitterMLEM.cxx:609 AliMUONClusterSplitterMLEM.cxx:610 AliMUONClusterSplitterMLEM.cxx:611 AliMUONClusterSplitterMLEM.cxx:612 AliMUONClusterSplitterMLEM.cxx:613 AliMUONClusterSplitterMLEM.cxx:614 AliMUONClusterSplitterMLEM.cxx:615 AliMUONClusterSplitterMLEM.cxx:616 AliMUONClusterSplitterMLEM.cxx:617 AliMUONClusterSplitterMLEM.cxx:618 AliMUONClusterSplitterMLEM.cxx:619 AliMUONClusterSplitterMLEM.cxx:620 AliMUONClusterSplitterMLEM.cxx:621 AliMUONClusterSplitterMLEM.cxx:622 AliMUONClusterSplitterMLEM.cxx:623 AliMUONClusterSplitterMLEM.cxx:624 AliMUONClusterSplitterMLEM.cxx:625 AliMUONClusterSplitterMLEM.cxx:626 AliMUONClusterSplitterMLEM.cxx:627 AliMUONClusterSplitterMLEM.cxx:628 AliMUONClusterSplitterMLEM.cxx:629 AliMUONClusterSplitterMLEM.cxx:630 AliMUONClusterSplitterMLEM.cxx:631 AliMUONClusterSplitterMLEM.cxx:632 AliMUONClusterSplitterMLEM.cxx:633 AliMUONClusterSplitterMLEM.cxx:634 AliMUONClusterSplitterMLEM.cxx:635 AliMUONClusterSplitterMLEM.cxx:636 AliMUONClusterSplitterMLEM.cxx:637 AliMUONClusterSplitterMLEM.cxx:638 AliMUONClusterSplitterMLEM.cxx:639 AliMUONClusterSplitterMLEM.cxx:640 AliMUONClusterSplitterMLEM.cxx:641 AliMUONClusterSplitterMLEM.cxx:642 AliMUONClusterSplitterMLEM.cxx:643 AliMUONClusterSplitterMLEM.cxx:644 AliMUONClusterSplitterMLEM.cxx:645 AliMUONClusterSplitterMLEM.cxx:646 AliMUONClusterSplitterMLEM.cxx:647 AliMUONClusterSplitterMLEM.cxx:648 AliMUONClusterSplitterMLEM.cxx:649 AliMUONClusterSplitterMLEM.cxx:650 AliMUONClusterSplitterMLEM.cxx:651 AliMUONClusterSplitterMLEM.cxx:652 AliMUONClusterSplitterMLEM.cxx:653 AliMUONClusterSplitterMLEM.cxx:654 AliMUONClusterSplitterMLEM.cxx:655 AliMUONClusterSplitterMLEM.cxx:656 AliMUONClusterSplitterMLEM.cxx:657 AliMUONClusterSplitterMLEM.cxx:658 AliMUONClusterSplitterMLEM.cxx:659 AliMUONClusterSplitterMLEM.cxx:660 AliMUONClusterSplitterMLEM.cxx:661 AliMUONClusterSplitterMLEM.cxx:662 AliMUONClusterSplitterMLEM.cxx:663 AliMUONClusterSplitterMLEM.cxx:664 AliMUONClusterSplitterMLEM.cxx:665 AliMUONClusterSplitterMLEM.cxx:666 AliMUONClusterSplitterMLEM.cxx:667 AliMUONClusterSplitterMLEM.cxx:668 AliMUONClusterSplitterMLEM.cxx:669 AliMUONClusterSplitterMLEM.cxx:670 AliMUONClusterSplitterMLEM.cxx:671 AliMUONClusterSplitterMLEM.cxx:672 AliMUONClusterSplitterMLEM.cxx:673 AliMUONClusterSplitterMLEM.cxx:674 AliMUONClusterSplitterMLEM.cxx:675 AliMUONClusterSplitterMLEM.cxx:676 AliMUONClusterSplitterMLEM.cxx:677 AliMUONClusterSplitterMLEM.cxx:678 AliMUONClusterSplitterMLEM.cxx:679 AliMUONClusterSplitterMLEM.cxx:680 AliMUONClusterSplitterMLEM.cxx:681 AliMUONClusterSplitterMLEM.cxx:682 AliMUONClusterSplitterMLEM.cxx:683 AliMUONClusterSplitterMLEM.cxx:684 AliMUONClusterSplitterMLEM.cxx:685 AliMUONClusterSplitterMLEM.cxx:686 AliMUONClusterSplitterMLEM.cxx:687 AliMUONClusterSplitterMLEM.cxx:688 AliMUONClusterSplitterMLEM.cxx:689 AliMUONClusterSplitterMLEM.cxx:690 AliMUONClusterSplitterMLEM.cxx:691 AliMUONClusterSplitterMLEM.cxx:692 AliMUONClusterSplitterMLEM.cxx:693 AliMUONClusterSplitterMLEM.cxx:694 AliMUONClusterSplitterMLEM.cxx:695 AliMUONClusterSplitterMLEM.cxx:696 AliMUONClusterSplitterMLEM.cxx:697 AliMUONClusterSplitterMLEM.cxx:698 AliMUONClusterSplitterMLEM.cxx:699 AliMUONClusterSplitterMLEM.cxx:700 AliMUONClusterSplitterMLEM.cxx:701 AliMUONClusterSplitterMLEM.cxx:702 AliMUONClusterSplitterMLEM.cxx:703 AliMUONClusterSplitterMLEM.cxx:704 AliMUONClusterSplitterMLEM.cxx:705 AliMUONClusterSplitterMLEM.cxx:706 AliMUONClusterSplitterMLEM.cxx:707 AliMUONClusterSplitterMLEM.cxx:708 AliMUONClusterSplitterMLEM.cxx:709 AliMUONClusterSplitterMLEM.cxx:710 AliMUONClusterSplitterMLEM.cxx:711 AliMUONClusterSplitterMLEM.cxx:712 AliMUONClusterSplitterMLEM.cxx:713 AliMUONClusterSplitterMLEM.cxx:714 AliMUONClusterSplitterMLEM.cxx:715 AliMUONClusterSplitterMLEM.cxx:716 AliMUONClusterSplitterMLEM.cxx:717 AliMUONClusterSplitterMLEM.cxx:718 AliMUONClusterSplitterMLEM.cxx:719 AliMUONClusterSplitterMLEM.cxx:720 AliMUONClusterSplitterMLEM.cxx:721 AliMUONClusterSplitterMLEM.cxx:722 AliMUONClusterSplitterMLEM.cxx:723 AliMUONClusterSplitterMLEM.cxx:724 AliMUONClusterSplitterMLEM.cxx:725 AliMUONClusterSplitterMLEM.cxx:726 AliMUONClusterSplitterMLEM.cxx:727 AliMUONClusterSplitterMLEM.cxx:728 AliMUONClusterSplitterMLEM.cxx:729 AliMUONClusterSplitterMLEM.cxx:730 AliMUONClusterSplitterMLEM.cxx:731 AliMUONClusterSplitterMLEM.cxx:732 AliMUONClusterSplitterMLEM.cxx:733 AliMUONClusterSplitterMLEM.cxx:734 AliMUONClusterSplitterMLEM.cxx:735 AliMUONClusterSplitterMLEM.cxx:736 AliMUONClusterSplitterMLEM.cxx:737 AliMUONClusterSplitterMLEM.cxx:738 AliMUONClusterSplitterMLEM.cxx:739 AliMUONClusterSplitterMLEM.cxx:740 AliMUONClusterSplitterMLEM.cxx:741 AliMUONClusterSplitterMLEM.cxx:742 AliMUONClusterSplitterMLEM.cxx:743 AliMUONClusterSplitterMLEM.cxx:744 AliMUONClusterSplitterMLEM.cxx:745 AliMUONClusterSplitterMLEM.cxx:746 AliMUONClusterSplitterMLEM.cxx:747 AliMUONClusterSplitterMLEM.cxx:748 AliMUONClusterSplitterMLEM.cxx:749 AliMUONClusterSplitterMLEM.cxx:750 AliMUONClusterSplitterMLEM.cxx:751 AliMUONClusterSplitterMLEM.cxx:752 AliMUONClusterSplitterMLEM.cxx:753 AliMUONClusterSplitterMLEM.cxx:754 AliMUONClusterSplitterMLEM.cxx:755 AliMUONClusterSplitterMLEM.cxx:756 AliMUONClusterSplitterMLEM.cxx:757 AliMUONClusterSplitterMLEM.cxx:758 AliMUONClusterSplitterMLEM.cxx:759 AliMUONClusterSplitterMLEM.cxx:760 AliMUONClusterSplitterMLEM.cxx:761 AliMUONClusterSplitterMLEM.cxx:762 AliMUONClusterSplitterMLEM.cxx:763 AliMUONClusterSplitterMLEM.cxx:764 AliMUONClusterSplitterMLEM.cxx:765 AliMUONClusterSplitterMLEM.cxx:766 AliMUONClusterSplitterMLEM.cxx:767 AliMUONClusterSplitterMLEM.cxx:768 AliMUONClusterSplitterMLEM.cxx:769 AliMUONClusterSplitterMLEM.cxx:770 AliMUONClusterSplitterMLEM.cxx:771 AliMUONClusterSplitterMLEM.cxx:772 AliMUONClusterSplitterMLEM.cxx:773 AliMUONClusterSplitterMLEM.cxx:774 AliMUONClusterSplitterMLEM.cxx:775 AliMUONClusterSplitterMLEM.cxx:776 AliMUONClusterSplitterMLEM.cxx:777 AliMUONClusterSplitterMLEM.cxx:778 AliMUONClusterSplitterMLEM.cxx:779 AliMUONClusterSplitterMLEM.cxx:780 AliMUONClusterSplitterMLEM.cxx:781 AliMUONClusterSplitterMLEM.cxx:782 AliMUONClusterSplitterMLEM.cxx:783 AliMUONClusterSplitterMLEM.cxx:784 AliMUONClusterSplitterMLEM.cxx:785 AliMUONClusterSplitterMLEM.cxx:786 AliMUONClusterSplitterMLEM.cxx:787 AliMUONClusterSplitterMLEM.cxx:788 AliMUONClusterSplitterMLEM.cxx:789 AliMUONClusterSplitterMLEM.cxx:790 AliMUONClusterSplitterMLEM.cxx:791 AliMUONClusterSplitterMLEM.cxx:792 AliMUONClusterSplitterMLEM.cxx:793 AliMUONClusterSplitterMLEM.cxx:794 AliMUONClusterSplitterMLEM.cxx:795 AliMUONClusterSplitterMLEM.cxx:796 AliMUONClusterSplitterMLEM.cxx:797 AliMUONClusterSplitterMLEM.cxx:798 AliMUONClusterSplitterMLEM.cxx:799 AliMUONClusterSplitterMLEM.cxx:800 AliMUONClusterSplitterMLEM.cxx:801 AliMUONClusterSplitterMLEM.cxx:802 AliMUONClusterSplitterMLEM.cxx:803 AliMUONClusterSplitterMLEM.cxx:804 AliMUONClusterSplitterMLEM.cxx:805 AliMUONClusterSplitterMLEM.cxx:806 AliMUONClusterSplitterMLEM.cxx:807 AliMUONClusterSplitterMLEM.cxx:808 AliMUONClusterSplitterMLEM.cxx:809 AliMUONClusterSplitterMLEM.cxx:810 AliMUONClusterSplitterMLEM.cxx:811 AliMUONClusterSplitterMLEM.cxx:812 AliMUONClusterSplitterMLEM.cxx:813 AliMUONClusterSplitterMLEM.cxx:814 AliMUONClusterSplitterMLEM.cxx:815 AliMUONClusterSplitterMLEM.cxx:816 AliMUONClusterSplitterMLEM.cxx:817 AliMUONClusterSplitterMLEM.cxx:818 AliMUONClusterSplitterMLEM.cxx:819 AliMUONClusterSplitterMLEM.cxx:820 AliMUONClusterSplitterMLEM.cxx:821 AliMUONClusterSplitterMLEM.cxx:822 AliMUONClusterSplitterMLEM.cxx:823 AliMUONClusterSplitterMLEM.cxx:824 AliMUONClusterSplitterMLEM.cxx:825 AliMUONClusterSplitterMLEM.cxx:826 AliMUONClusterSplitterMLEM.cxx:827 AliMUONClusterSplitterMLEM.cxx:828 AliMUONClusterSplitterMLEM.cxx:829 AliMUONClusterSplitterMLEM.cxx:830 AliMUONClusterSplitterMLEM.cxx:831 AliMUONClusterSplitterMLEM.cxx:832 AliMUONClusterSplitterMLEM.cxx:833 AliMUONClusterSplitterMLEM.cxx:834 AliMUONClusterSplitterMLEM.cxx:835 AliMUONClusterSplitterMLEM.cxx:836 AliMUONClusterSplitterMLEM.cxx:837 AliMUONClusterSplitterMLEM.cxx:838 AliMUONClusterSplitterMLEM.cxx:839 AliMUONClusterSplitterMLEM.cxx:840 AliMUONClusterSplitterMLEM.cxx:841 AliMUONClusterSplitterMLEM.cxx:842 AliMUONClusterSplitterMLEM.cxx:843 AliMUONClusterSplitterMLEM.cxx:844 AliMUONClusterSplitterMLEM.cxx:845 AliMUONClusterSplitterMLEM.cxx:846 AliMUONClusterSplitterMLEM.cxx:847 AliMUONClusterSplitterMLEM.cxx:848 AliMUONClusterSplitterMLEM.cxx:849 AliMUONClusterSplitterMLEM.cxx:850 AliMUONClusterSplitterMLEM.cxx:851 AliMUONClusterSplitterMLEM.cxx:852 AliMUONClusterSplitterMLEM.cxx:853 AliMUONClusterSplitterMLEM.cxx:854 AliMUONClusterSplitterMLEM.cxx:855 AliMUONClusterSplitterMLEM.cxx:856 AliMUONClusterSplitterMLEM.cxx:857 AliMUONClusterSplitterMLEM.cxx:858 AliMUONClusterSplitterMLEM.cxx:859 AliMUONClusterSplitterMLEM.cxx:860 AliMUONClusterSplitterMLEM.cxx:861 AliMUONClusterSplitterMLEM.cxx:862 AliMUONClusterSplitterMLEM.cxx:863 AliMUONClusterSplitterMLEM.cxx:864 AliMUONClusterSplitterMLEM.cxx:865 AliMUONClusterSplitterMLEM.cxx:866 AliMUONClusterSplitterMLEM.cxx:867 AliMUONClusterSplitterMLEM.cxx:868 AliMUONClusterSplitterMLEM.cxx:869 AliMUONClusterSplitterMLEM.cxx:870 AliMUONClusterSplitterMLEM.cxx:871 AliMUONClusterSplitterMLEM.cxx:872 AliMUONClusterSplitterMLEM.cxx:873 AliMUONClusterSplitterMLEM.cxx:874 AliMUONClusterSplitterMLEM.cxx:875 AliMUONClusterSplitterMLEM.cxx:876 AliMUONClusterSplitterMLEM.cxx:877 AliMUONClusterSplitterMLEM.cxx:878 AliMUONClusterSplitterMLEM.cxx:879 AliMUONClusterSplitterMLEM.cxx:880 AliMUONClusterSplitterMLEM.cxx:881 AliMUONClusterSplitterMLEM.cxx:882 AliMUONClusterSplitterMLEM.cxx:883 AliMUONClusterSplitterMLEM.cxx:884 AliMUONClusterSplitterMLEM.cxx:885 AliMUONClusterSplitterMLEM.cxx:886 AliMUONClusterSplitterMLEM.cxx:887 AliMUONClusterSplitterMLEM.cxx:888 AliMUONClusterSplitterMLEM.cxx:889 AliMUONClusterSplitterMLEM.cxx:890 AliMUONClusterSplitterMLEM.cxx:891 AliMUONClusterSplitterMLEM.cxx:892 AliMUONClusterSplitterMLEM.cxx:893 AliMUONClusterSplitterMLEM.cxx:894 AliMUONClusterSplitterMLEM.cxx:895 AliMUONClusterSplitterMLEM.cxx:896 AliMUONClusterSplitterMLEM.cxx:897 AliMUONClusterSplitterMLEM.cxx:898 AliMUONClusterSplitterMLEM.cxx:899 AliMUONClusterSplitterMLEM.cxx:900 AliMUONClusterSplitterMLEM.cxx:901 AliMUONClusterSplitterMLEM.cxx:902 AliMUONClusterSplitterMLEM.cxx:903 AliMUONClusterSplitterMLEM.cxx:904 AliMUONClusterSplitterMLEM.cxx:905 AliMUONClusterSplitterMLEM.cxx:906 AliMUONClusterSplitterMLEM.cxx:907 AliMUONClusterSplitterMLEM.cxx:908 AliMUONClusterSplitterMLEM.cxx:909 AliMUONClusterSplitterMLEM.cxx:910 AliMUONClusterSplitterMLEM.cxx:911 AliMUONClusterSplitterMLEM.cxx:912 AliMUONClusterSplitterMLEM.cxx:913 AliMUONClusterSplitterMLEM.cxx:914 AliMUONClusterSplitterMLEM.cxx:915 AliMUONClusterSplitterMLEM.cxx:916 AliMUONClusterSplitterMLEM.cxx:917 AliMUONClusterSplitterMLEM.cxx:918 AliMUONClusterSplitterMLEM.cxx:919 AliMUONClusterSplitterMLEM.cxx:920 AliMUONClusterSplitterMLEM.cxx:921 AliMUONClusterSplitterMLEM.cxx:922 AliMUONClusterSplitterMLEM.cxx:923 AliMUONClusterSplitterMLEM.cxx:924 AliMUONClusterSplitterMLEM.cxx:925 AliMUONClusterSplitterMLEM.cxx:926 AliMUONClusterSplitterMLEM.cxx:927 AliMUONClusterSplitterMLEM.cxx:928 AliMUONClusterSplitterMLEM.cxx:929 AliMUONClusterSplitterMLEM.cxx:930 AliMUONClusterSplitterMLEM.cxx:931 AliMUONClusterSplitterMLEM.cxx:932 AliMUONClusterSplitterMLEM.cxx:933 AliMUONClusterSplitterMLEM.cxx:934 AliMUONClusterSplitterMLEM.cxx:935 AliMUONClusterSplitterMLEM.cxx:936 AliMUONClusterSplitterMLEM.cxx:937 AliMUONClusterSplitterMLEM.cxx:938 AliMUONClusterSplitterMLEM.cxx:939 AliMUONClusterSplitterMLEM.cxx:940 AliMUONClusterSplitterMLEM.cxx:941 AliMUONClusterSplitterMLEM.cxx:942 AliMUONClusterSplitterMLEM.cxx:943 AliMUONClusterSplitterMLEM.cxx:944 AliMUONClusterSplitterMLEM.cxx:945 AliMUONClusterSplitterMLEM.cxx:946 AliMUONClusterSplitterMLEM.cxx:947 AliMUONClusterSplitterMLEM.cxx:948 AliMUONClusterSplitterMLEM.cxx:949 AliMUONClusterSplitterMLEM.cxx:950 AliMUONClusterSplitterMLEM.cxx:951 AliMUONClusterSplitterMLEM.cxx:952 AliMUONClusterSplitterMLEM.cxx:953 AliMUONClusterSplitterMLEM.cxx:954 AliMUONClusterSplitterMLEM.cxx:955 AliMUONClusterSplitterMLEM.cxx:956 AliMUONClusterSplitterMLEM.cxx:957 AliMUONClusterSplitterMLEM.cxx:958 AliMUONClusterSplitterMLEM.cxx:959 AliMUONClusterSplitterMLEM.cxx:960 AliMUONClusterSplitterMLEM.cxx:961 AliMUONClusterSplitterMLEM.cxx:962 AliMUONClusterSplitterMLEM.cxx:963 AliMUONClusterSplitterMLEM.cxx:964 AliMUONClusterSplitterMLEM.cxx:965 AliMUONClusterSplitterMLEM.cxx:966 AliMUONClusterSplitterMLEM.cxx:967 AliMUONClusterSplitterMLEM.cxx:968 AliMUONClusterSplitterMLEM.cxx:969 AliMUONClusterSplitterMLEM.cxx:970 AliMUONClusterSplitterMLEM.cxx:971 AliMUONClusterSplitterMLEM.cxx:972 AliMUONClusterSplitterMLEM.cxx:973 AliMUONClusterSplitterMLEM.cxx:974 AliMUONClusterSplitterMLEM.cxx:975 AliMUONClusterSplitterMLEM.cxx:976 AliMUONClusterSplitterMLEM.cxx:977 AliMUONClusterSplitterMLEM.cxx:978 AliMUONClusterSplitterMLEM.cxx:979 AliMUONClusterSplitterMLEM.cxx:980 AliMUONClusterSplitterMLEM.cxx:981 AliMUONClusterSplitterMLEM.cxx:982 AliMUONClusterSplitterMLEM.cxx:983 AliMUONClusterSplitterMLEM.cxx:984 AliMUONClusterSplitterMLEM.cxx:985 AliMUONClusterSplitterMLEM.cxx:986 AliMUONClusterSplitterMLEM.cxx:987 AliMUONClusterSplitterMLEM.cxx:988 AliMUONClusterSplitterMLEM.cxx:989 AliMUONClusterSplitterMLEM.cxx:990 AliMUONClusterSplitterMLEM.cxx:991 AliMUONClusterSplitterMLEM.cxx:992 AliMUONClusterSplitterMLEM.cxx:993 AliMUONClusterSplitterMLEM.cxx:994 AliMUONClusterSplitterMLEM.cxx:995 AliMUONClusterSplitterMLEM.cxx:996 AliMUONClusterSplitterMLEM.cxx:997 AliMUONClusterSplitterMLEM.cxx:998 AliMUONClusterSplitterMLEM.cxx:999 AliMUONClusterSplitterMLEM.cxx:1000 AliMUONClusterSplitterMLEM.cxx:1001 AliMUONClusterSplitterMLEM.cxx:1002 AliMUONClusterSplitterMLEM.cxx:1003 AliMUONClusterSplitterMLEM.cxx:1004 AliMUONClusterSplitterMLEM.cxx:1005 AliMUONClusterSplitterMLEM.cxx:1006 AliMUONClusterSplitterMLEM.cxx:1007 AliMUONClusterSplitterMLEM.cxx:1008 AliMUONClusterSplitterMLEM.cxx:1009 AliMUONClusterSplitterMLEM.cxx:1010 AliMUONClusterSplitterMLEM.cxx:1011 AliMUONClusterSplitterMLEM.cxx:1012 AliMUONClusterSplitterMLEM.cxx:1013 AliMUONClusterSplitterMLEM.cxx:1014 AliMUONClusterSplitterMLEM.cxx:1015 AliMUONClusterSplitterMLEM.cxx:1016 AliMUONClusterSplitterMLEM.cxx:1017 AliMUONClusterSplitterMLEM.cxx:1018 AliMUONClusterSplitterMLEM.cxx:1019 AliMUONClusterSplitterMLEM.cxx:1020 AliMUONClusterSplitterMLEM.cxx:1021 AliMUONClusterSplitterMLEM.cxx:1022 AliMUONClusterSplitterMLEM.cxx:1023 AliMUONClusterSplitterMLEM.cxx:1024 AliMUONClusterSplitterMLEM.cxx:1025 AliMUONClusterSplitterMLEM.cxx:1026 AliMUONClusterSplitterMLEM.cxx:1027 AliMUONClusterSplitterMLEM.cxx:1028 AliMUONClusterSplitterMLEM.cxx:1029 AliMUONClusterSplitterMLEM.cxx:1030 AliMUONClusterSplitterMLEM.cxx:1031 AliMUONClusterSplitterMLEM.cxx:1032 AliMUONClusterSplitterMLEM.cxx:1033 AliMUONClusterSplitterMLEM.cxx:1034 AliMUONClusterSplitterMLEM.cxx:1035 AliMUONClusterSplitterMLEM.cxx:1036 AliMUONClusterSplitterMLEM.cxx:1037 AliMUONClusterSplitterMLEM.cxx:1038 AliMUONClusterSplitterMLEM.cxx:1039 AliMUONClusterSplitterMLEM.cxx:1040 AliMUONClusterSplitterMLEM.cxx:1041 AliMUONClusterSplitterMLEM.cxx:1042 AliMUONClusterSplitterMLEM.cxx:1043 AliMUONClusterSplitterMLEM.cxx:1044 AliMUONClusterSplitterMLEM.cxx:1045 AliMUONClusterSplitterMLEM.cxx:1046 AliMUONClusterSplitterMLEM.cxx:1047 AliMUONClusterSplitterMLEM.cxx:1048 AliMUONClusterSplitterMLEM.cxx:1049 AliMUONClusterSplitterMLEM.cxx:1050 AliMUONClusterSplitterMLEM.cxx:1051 AliMUONClusterSplitterMLEM.cxx:1052 AliMUONClusterSplitterMLEM.cxx:1053 AliMUONClusterSplitterMLEM.cxx:1054 AliMUONClusterSplitterMLEM.cxx:1055 AliMUONClusterSplitterMLEM.cxx:1056 AliMUONClusterSplitterMLEM.cxx:1057 AliMUONClusterSplitterMLEM.cxx:1058 AliMUONClusterSplitterMLEM.cxx:1059 AliMUONClusterSplitterMLEM.cxx:1060 AliMUONClusterSplitterMLEM.cxx:1061 AliMUONClusterSplitterMLEM.cxx:1062 AliMUONClusterSplitterMLEM.cxx:1063 AliMUONClusterSplitterMLEM.cxx:1064 AliMUONClusterSplitterMLEM.cxx:1065 AliMUONClusterSplitterMLEM.cxx:1066 AliMUONClusterSplitterMLEM.cxx:1067 AliMUONClusterSplitterMLEM.cxx:1068 AliMUONClusterSplitterMLEM.cxx:1069 AliMUONClusterSplitterMLEM.cxx:1070 AliMUONClusterSplitterMLEM.cxx:1071 AliMUONClusterSplitterMLEM.cxx:1072 AliMUONClusterSplitterMLEM.cxx:1073 AliMUONClusterSplitterMLEM.cxx:1074 AliMUONClusterSplitterMLEM.cxx:1075 AliMUONClusterSplitterMLEM.cxx:1076 AliMUONClusterSplitterMLEM.cxx:1077 AliMUONClusterSplitterMLEM.cxx:1078 AliMUONClusterSplitterMLEM.cxx:1079 AliMUONClusterSplitterMLEM.cxx:1080 AliMUONClusterSplitterMLEM.cxx:1081 AliMUONClusterSplitterMLEM.cxx:1082 AliMUONClusterSplitterMLEM.cxx:1083 AliMUONClusterSplitterMLEM.cxx:1084 AliMUONClusterSplitterMLEM.cxx:1085 AliMUONClusterSplitterMLEM.cxx:1086 AliMUONClusterSplitterMLEM.cxx:1087 AliMUONClusterSplitterMLEM.cxx:1088 AliMUONClusterSplitterMLEM.cxx:1089 AliMUONClusterSplitterMLEM.cxx:1090 AliMUONClusterSplitterMLEM.cxx:1091 AliMUONClusterSplitterMLEM.cxx:1092 AliMUONClusterSplitterMLEM.cxx:1093 AliMUONClusterSplitterMLEM.cxx:1094 AliMUONClusterSplitterMLEM.cxx:1095 AliMUONClusterSplitterMLEM.cxx:1096 AliMUONClusterSplitterMLEM.cxx:1097 AliMUONClusterSplitterMLEM.cxx:1098 AliMUONClusterSplitterMLEM.cxx:1099 AliMUONClusterSplitterMLEM.cxx:1100 AliMUONClusterSplitterMLEM.cxx:1101 AliMUONClusterSplitterMLEM.cxx:1102 AliMUONClusterSplitterMLEM.cxx:1103 AliMUONClusterSplitterMLEM.cxx:1104 AliMUONClusterSplitterMLEM.cxx:1105 AliMUONClusterSplitterMLEM.cxx:1106 AliMUONClusterSplitterMLEM.cxx:1107 AliMUONClusterSplitterMLEM.cxx:1108 AliMUONClusterSplitterMLEM.cxx:1109 AliMUONClusterSplitterMLEM.cxx:1110 AliMUONClusterSplitterMLEM.cxx:1111 AliMUONClusterSplitterMLEM.cxx:1112 AliMUONClusterSplitterMLEM.cxx:1113 AliMUONClusterSplitterMLEM.cxx:1114 AliMUONClusterSplitterMLEM.cxx:1115 AliMUONClusterSplitterMLEM.cxx:1116 AliMUONClusterSplitterMLEM.cxx:1117 AliMUONClusterSplitterMLEM.cxx:1118 AliMUONClusterSplitterMLEM.cxx:1119 AliMUONClusterSplitterMLEM.cxx:1120 AliMUONClusterSplitterMLEM.cxx:1121 AliMUONClusterSplitterMLEM.cxx:1122 AliMUONClusterSplitterMLEM.cxx:1123 AliMUONClusterSplitterMLEM.cxx:1124 AliMUONClusterSplitterMLEM.cxx:1125 AliMUONClusterSplitterMLEM.cxx:1126 AliMUONClusterSplitterMLEM.cxx:1127 AliMUONClusterSplitterMLEM.cxx:1128 AliMUONClusterSplitterMLEM.cxx:1129 AliMUONClusterSplitterMLEM.cxx:1130 AliMUONClusterSplitterMLEM.cxx:1131 AliMUONClusterSplitterMLEM.cxx:1132 AliMUONClusterSplitterMLEM.cxx:1133 AliMUONClusterSplitterMLEM.cxx:1134 AliMUONClusterSplitterMLEM.cxx:1135 AliMUONClusterSplitterMLEM.cxx:1136 AliMUONClusterSplitterMLEM.cxx:1137 AliMUONClusterSplitterMLEM.cxx:1138 AliMUONClusterSplitterMLEM.cxx:1139 AliMUONClusterSplitterMLEM.cxx:1140 AliMUONClusterSplitterMLEM.cxx:1141 AliMUONClusterSplitterMLEM.cxx:1142 AliMUONClusterSplitterMLEM.cxx:1143 AliMUONClusterSplitterMLEM.cxx:1144 AliMUONClusterSplitterMLEM.cxx:1145 AliMUONClusterSplitterMLEM.cxx:1146 AliMUONClusterSplitterMLEM.cxx:1147 AliMUONClusterSplitterMLEM.cxx:1148 AliMUONClusterSplitterMLEM.cxx:1149 AliMUONClusterSplitterMLEM.cxx:1150 AliMUONClusterSplitterMLEM.cxx:1151 AliMUONClusterSplitterMLEM.cxx:1152 AliMUONClusterSplitterMLEM.cxx:1153 AliMUONClusterSplitterMLEM.cxx:1154 AliMUONClusterSplitterMLEM.cxx:1155 AliMUONClusterSplitterMLEM.cxx:1156 AliMUONClusterSplitterMLEM.cxx:1157 AliMUONClusterSplitterMLEM.cxx:1158 AliMUONClusterSplitterMLEM.cxx:1159 AliMUONClusterSplitterMLEM.cxx:1160 AliMUONClusterSplitterMLEM.cxx:1161 AliMUONClusterSplitterMLEM.cxx:1162 AliMUONClusterSplitterMLEM.cxx:1163 AliMUONClusterSplitterMLEM.cxx:1164 AliMUONClusterSplitterMLEM.cxx:1165 AliMUONClusterSplitterMLEM.cxx:1166 AliMUONClusterSplitterMLEM.cxx:1167 AliMUONClusterSplitterMLEM.cxx:1168 AliMUONClusterSplitterMLEM.cxx:1169 AliMUONClusterSplitterMLEM.cxx:1170 AliMUONClusterSplitterMLEM.cxx:1171 AliMUONClusterSplitterMLEM.cxx:1172 AliMUONClusterSplitterMLEM.cxx:1173 AliMUONClusterSplitterMLEM.cxx:1174 AliMUONClusterSplitterMLEM.cxx:1175 AliMUONClusterSplitterMLEM.cxx:1176 AliMUONClusterSplitterMLEM.cxx:1177 AliMUONClusterSplitterMLEM.cxx:1178 AliMUONClusterSplitterMLEM.cxx:1179 AliMUONClusterSplitterMLEM.cxx:1180 AliMUONClusterSplitterMLEM.cxx:1181 AliMUONClusterSplitterMLEM.cxx:1182 AliMUONClusterSplitterMLEM.cxx:1183 AliMUONClusterSplitterMLEM.cxx:1184 AliMUONClusterSplitterMLEM.cxx:1185 AliMUONClusterSplitterMLEM.cxx:1186 AliMUONClusterSplitterMLEM.cxx:1187 AliMUONClusterSplitterMLEM.cxx:1188 AliMUONClusterSplitterMLEM.cxx:1189 AliMUONClusterSplitterMLEM.cxx:1190 AliMUONClusterSplitterMLEM.cxx:1191 AliMUONClusterSplitterMLEM.cxx:1192 AliMUONClusterSplitterMLEM.cxx:1193 AliMUONClusterSplitterMLEM.cxx:1194 AliMUONClusterSplitterMLEM.cxx:1195 AliMUONClusterSplitterMLEM.cxx:1196 AliMUONClusterSplitterMLEM.cxx:1197 AliMUONClusterSplitterMLEM.cxx:1198 AliMUONClusterSplitterMLEM.cxx:1199 AliMUONClusterSplitterMLEM.cxx:1200 AliMUONClusterSplitterMLEM.cxx:1201 AliMUONClusterSplitterMLEM.cxx:1202 AliMUONClusterSplitterMLEM.cxx:1203 AliMUONClusterSplitterMLEM.cxx:1204 AliMUONClusterSplitterMLEM.cxx:1205 AliMUONClusterSplitterMLEM.cxx:1206 AliMUONClusterSplitterMLEM.cxx:1207 AliMUONClusterSplitterMLEM.cxx:1208 AliMUONClusterSplitterMLEM.cxx:1209 AliMUONClusterSplitterMLEM.cxx:1210 AliMUONClusterSplitterMLEM.cxx:1211 AliMUONClusterSplitterMLEM.cxx:1212 AliMUONClusterSplitterMLEM.cxx:1213 AliMUONClusterSplitterMLEM.cxx:1214 AliMUONClusterSplitterMLEM.cxx:1215 AliMUONClusterSplitterMLEM.cxx:1216 AliMUONClusterSplitterMLEM.cxx:1217 AliMUONClusterSplitterMLEM.cxx:1218 AliMUONClusterSplitterMLEM.cxx:1219 AliMUONClusterSplitterMLEM.cxx:1220 AliMUONClusterSplitterMLEM.cxx:1221 AliMUONClusterSplitterMLEM.cxx:1222 AliMUONClusterSplitterMLEM.cxx:1223 AliMUONClusterSplitterMLEM.cxx:1224 AliMUONClusterSplitterMLEM.cxx:1225 AliMUONClusterSplitterMLEM.cxx:1226 AliMUONClusterSplitterMLEM.cxx:1227 AliMUONClusterSplitterMLEM.cxx:1228 AliMUONClusterSplitterMLEM.cxx:1229 AliMUONClusterSplitterMLEM.cxx:1230 AliMUONClusterSplitterMLEM.cxx:1231 AliMUONClusterSplitterMLEM.cxx:1232 AliMUONClusterSplitterMLEM.cxx:1233 AliMUONClusterSplitterMLEM.cxx:1234 AliMUONClusterSplitterMLEM.cxx:1235 AliMUONClusterSplitterMLEM.cxx:1236 AliMUONClusterSplitterMLEM.cxx:1237 AliMUONClusterSplitterMLEM.cxx:1238 AliMUONClusterSplitterMLEM.cxx:1239 AliMUONClusterSplitterMLEM.cxx:1240 AliMUONClusterSplitterMLEM.cxx:1241 AliMUONClusterSplitterMLEM.cxx:1242 AliMUONClusterSplitterMLEM.cxx:1243 AliMUONClusterSplitterMLEM.cxx:1244 AliMUONClusterSplitterMLEM.cxx:1245 AliMUONClusterSplitterMLEM.cxx:1246 AliMUONClusterSplitterMLEM.cxx:1247 AliMUONClusterSplitterMLEM.cxx:1248 AliMUONClusterSplitterMLEM.cxx:1249 AliMUONClusterSplitterMLEM.cxx:1250 AliMUONClusterSplitterMLEM.cxx:1251 AliMUONClusterSplitterMLEM.cxx:1252 AliMUONClusterSplitterMLEM.cxx:1253 AliMUONClusterSplitterMLEM.cxx:1254 AliMUONClusterSplitterMLEM.cxx:1255 AliMUONClusterSplitterMLEM.cxx:1256 AliMUONClusterSplitterMLEM.cxx:1257 AliMUONClusterSplitterMLEM.cxx:1258 AliMUONClusterSplitterMLEM.cxx:1259 AliMUONClusterSplitterMLEM.cxx:1260 AliMUONClusterSplitterMLEM.cxx:1261 AliMUONClusterSplitterMLEM.cxx:1262 AliMUONClusterSplitterMLEM.cxx:1263 AliMUONClusterSplitterMLEM.cxx:1264 AliMUONClusterSplitterMLEM.cxx:1265 AliMUONClusterSplitterMLEM.cxx:1266 AliMUONClusterSplitterMLEM.cxx:1267 AliMUONClusterSplitterMLEM.cxx:1268 AliMUONClusterSplitterMLEM.cxx:1269 AliMUONClusterSplitterMLEM.cxx:1270 AliMUONClusterSplitterMLEM.cxx:1271 AliMUONClusterSplitterMLEM.cxx:1272 AliMUONClusterSplitterMLEM.cxx:1273 AliMUONClusterSplitterMLEM.cxx:1274 AliMUONClusterSplitterMLEM.cxx:1275 AliMUONClusterSplitterMLEM.cxx:1276 AliMUONClusterSplitterMLEM.cxx:1277 AliMUONClusterSplitterMLEM.cxx:1278 AliMUONClusterSplitterMLEM.cxx:1279 AliMUONClusterSplitterMLEM.cxx:1280 AliMUONClusterSplitterMLEM.cxx:1281 AliMUONClusterSplitterMLEM.cxx:1282 AliMUONClusterSplitterMLEM.cxx:1283 AliMUONClusterSplitterMLEM.cxx:1284 AliMUONClusterSplitterMLEM.cxx:1285 AliMUONClusterSplitterMLEM.cxx:1286 AliMUONClusterSplitterMLEM.cxx:1287 AliMUONClusterSplitterMLEM.cxx:1288 AliMUONClusterSplitterMLEM.cxx:1289 AliMUONClusterSplitterMLEM.cxx:1290 AliMUONClusterSplitterMLEM.cxx:1291 AliMUONClusterSplitterMLEM.cxx:1292 AliMUONClusterSplitterMLEM.cxx:1293 AliMUONClusterSplitterMLEM.cxx:1294 AliMUONClusterSplitterMLEM.cxx:1295 AliMUONClusterSplitterMLEM.cxx:1296 AliMUONClusterSplitterMLEM.cxx:1297 AliMUONClusterSplitterMLEM.cxx:1298 AliMUONClusterSplitterMLEM.cxx:1299 AliMUONClusterSplitterMLEM.cxx:1300 AliMUONClusterSplitterMLEM.cxx:1301 AliMUONClusterSplitterMLEM.cxx:1302 AliMUONClusterSplitterMLEM.cxx:1303 AliMUONClusterSplitterMLEM.cxx:1304 AliMUONClusterSplitterMLEM.cxx:1305 AliMUONClusterSplitterMLEM.cxx:1306 AliMUONClusterSplitterMLEM.cxx:1307 AliMUONClusterSplitterMLEM.cxx:1308 AliMUONClusterSplitterMLEM.cxx:1309 AliMUONClusterSplitterMLEM.cxx:1310