#include "AliMUONSimpleClusterServer.h"
#include "AliCodeTimer.h"
#include "AliLog.h"
#include "AliMUONCluster.h"
#include "AliMUONConstants.h"
#include "AliMUONGeometryTransformer.h"
#include "AliMUONPad.h"
#include "AliMUONTriggerTrackToTrackerClusters.h"
#include "AliMUONVCluster.h"
#include "AliMUONVClusterFinder.h"
#include "AliMUONVClusterStore.h"
#include "AliMUONVDigitStore.h"
#include "AliMUONRecoParam.h"
#include "AliMpArea.h"
#include "AliMpDEIterator.h"
#include "AliMpDEManager.h"
#include "AliMpExMap.h"
#include "AliMpExMapIterator.h"
#include "AliMpPad.h"
#include "AliMpSegmentation.h"
#include "AliMpVSegmentation.h"
#include <Riostream.h>
#include <TObjArray.h>
#include <TString.h>
#include <float.h>
using std::endl;
using std::cout;
ClassImp(AliMUONSimpleClusterServer)
namespace
{
TString AsString(const AliMpArea& area)
{
return Form("(X,Y)=(%7.3f,%7.3f) (DX,DY)=(%7.3f,%7.3f)",
area.GetPositionX(),
area.GetPositionY(),
area.GetDimensionX(),
area.GetDimensionY());
}
}
AliMUONSimpleClusterServer::AliMUONSimpleClusterServer(AliMUONVClusterFinder* clusterFinder,
const AliMUONGeometryTransformer& transformer)
: AliMUONVClusterServer(),
fDigitStore(0x0),
fClusterFinder(clusterFinder),
fkTransformer(transformer),
fPads(),
fTriggerTrackStore(0x0),
fBypass(0x0)
{
fPads[0] = new AliMpExMap;
fPads[1] = new AliMpExMap;
fPadsIterator[0] = fPads[0]->CreateIterator();
fPadsIterator[1] = fPads[1]->CreateIterator();
}
AliMUONSimpleClusterServer::~AliMUONSimpleClusterServer()
{
delete fClusterFinder;
delete fPads[0];
delete fPads[1];
delete fPadsIterator[0];
delete fPadsIterator[1];
delete fBypass;
}
Int_t
AliMUONSimpleClusterServer::Clusterize(Int_t chamberId,
AliMUONVClusterStore& clusterStore,
const AliMpArea& area,
const AliMUONRecoParam* recoParam)
{
AliCodeTimerAuto(Form("Chamber %d",chamberId),0);
if ( fTriggerTrackStore && chamberId >= 6 )
{
return fBypass->GenerateClusters(chamberId,clusterStore);
}
if (!recoParam) {
AliError("Reconstruction parameters are missing: unable to clusterize");
return 0;
}
AliMpDEIterator it;
it.First(chamberId);
Int_t nofAddedClusters(0);
Int_t fNCluster = clusterStore.GetSize();
AliDebug(1,Form("chamberId = %2d NofClusters before = %d searchArea=%s",
chamberId,fNCluster,AsString(area).Data()));
while ( !it.IsDone() )
{
Int_t detElemId = it.CurrentDEId();
TObjArray* pads[2] =
{
static_cast<TObjArray*>(fPads[0]->GetValue(detElemId)),
static_cast<TObjArray*>(fPads[1]->GetValue(detElemId))
};
if ( ( pads[0] && pads[0]->GetLast()>=0 ) ||
( pads[1] && pads[1]->GetLast()>=0 ) )
{
AliMpArea deArea;
Bool_t ok(kTRUE);
if ( area.IsValid() )
{
ok = Overlap(detElemId,area,deArea);
}
if ( ok )
{
const AliMpVSegmentation* seg[2] =
{ AliMpSegmentation::Instance()->GetMpSegmentation(detElemId,AliMp::kCath0),
AliMpSegmentation::Instance()->GetMpSegmentation(detElemId,AliMp::kCath1)
};
fClusterFinder->SetChargeHints(recoParam->LowestPadCharge(),
recoParam->LowestClusterCharge());
if ( fClusterFinder->NeedSegmentation() )
{
fClusterFinder->Prepare(detElemId,pads,deArea,seg);
}
else
{
fClusterFinder->Prepare(detElemId,pads,deArea);
}
AliDebug(1,Form("Clusterizing DE %04d with %3d pads (cath0) and %3d pads (cath1)",
detElemId,
(pads[0] ? pads[0]->GetLast()+1 : 0),
(pads[1] ? pads[1]->GetLast()+1 : 0)));
AliMUONCluster* cluster;
while ( ( cluster = fClusterFinder->NextCluster() ) )
{
AliMUONVCluster* rawCluster = clusterStore.Add(chamberId, detElemId, fNCluster++);
++nofAddedClusters;
Int_t nPad = cluster->Multiplicity();
if (nPad < 1) AliWarning("no pad attached to the cluster");
for (Int_t iPad=0; iPad<nPad; iPad++)
{
AliMUONPad *pad = cluster->Pad(iPad);
if (!pad->IsReal()) continue;
rawCluster->AddDigitId(pad->GetUniqueID());
}
rawCluster->SetCharge(cluster->Charge());
rawCluster->SetChi2(cluster->Chi2());
Double_t xg, yg, zg;
fkTransformer.Local2Global(detElemId,
cluster->Position().X(), cluster->Position().Y(),
0, xg, yg, zg);
rawCluster->SetXYZ(xg, yg, zg);
rawCluster->SetErrXY(recoParam->GetDefaultNonBendingReso(chamberId),recoParam->GetDefaultBendingReso(chamberId));
if (fDigitStore && fDigitStore->HasMCInformation())
{
rawCluster->SetMCLabel(FindMCLabel(*cluster, detElemId, seg));
}
AliDebug(1,Form("Adding RawCluster detElemId %4d mult %2d charge %e (xl,yl,zl)=(%e,%e,%e) (xg,yg,zg)=(%e,%e,%e) label %d",
detElemId,rawCluster->GetNDigits(),rawCluster->GetCharge(),
cluster->Position().X(),cluster->Position().Y(),0.0,
xg,yg,zg,rawCluster->GetMCLabel()));
}
}
}
it.Next();
}
AliDebug(1,Form("chamberId = %2d NofClusters after = %d",chamberId,fNCluster));
return nofAddedClusters;
}
void
AliMUONSimpleClusterServer::Global2Local(Int_t detElemId, const AliMpArea& globalArea,
AliMpArea& localArea) const
{
Double_t xl,yl,zl;
Int_t chamberId = AliMpDEManager::GetChamberId(detElemId);
if ( chamberId < 0 ) {
AliErrorStream() << "Cannot get chamberId from detElemId=" << detElemId << endl;
return;
}
Double_t zg = AliMUONConstants::DefaultChamberZ(chamberId);
fkTransformer.Global2Local(detElemId,
globalArea.GetPositionX(),globalArea.GetPositionY(),zg,
xl,yl,zl);
localArea = AliMpArea(xl,yl, globalArea.GetDimensionX(), globalArea.GetDimensionY());
}
Bool_t
AliMUONSimpleClusterServer::Overlap(Int_t detElemId,
const AliMpArea& area,
AliMpArea& deArea) const
{
Bool_t overlap(kFALSE);
AliMpArea* globalDEArea = fkTransformer.GetDEArea(detElemId);
if (!globalDEArea) return kFALSE;
AliMpArea overlapArea;
if ( area.Overlap(*globalDEArea) )
{
overlapArea = area.Intersect(*globalDEArea);
Global2Local(detElemId,overlapArea,deArea);
overlap = kTRUE;
}
else
{
deArea = AliMpArea();
}
AliDebug(1,Form("DE %04d area %s globalDEArea %s overlapArea %s deArea %s overlap=%d",
detElemId,
AsString(area).Data(),
AsString(*globalDEArea).Data(),
AsString(overlapArea).Data(),
AsString(deArea).Data(),
overlap));
return overlap;
}
TObjArray*
AliMUONSimpleClusterServer::PadArray(Int_t detElemId, Int_t cathode) const
{
return static_cast<TObjArray*>(fPads[cathode]->GetValue(detElemId));
}
Bool_t
AliMUONSimpleClusterServer::UseTriggerTrackStore(AliMUONVTriggerTrackStore* trackStore)
{
fTriggerTrackStore = trackStore;
delete fBypass;
fBypass = new AliMUONTriggerTrackToTrackerClusters(fkTransformer,fTriggerTrackStore);
return kTRUE;
}
void
AliMUONSimpleClusterServer::UseDigits(TIter& next, AliMUONVDigitStore* digitStore)
{
fDigitStore = digitStore;
for ( Int_t i=0; i<2; i++ ) {
fPadsIterator[i]->Reset();
Int_t key; TObject* obj;
while ( ( obj = fPadsIterator[i]->Next(key) ) ) {
obj->Clear();
}
}
AliMUONVDigit* d;
while ( ( d = static_cast<AliMUONVDigit*>(next()) ) )
{
if ( ! d->Charge() > 0 ) continue;
if ( ! d->IsTracker() ) continue;
Int_t ix = d->PadX();
Int_t iy = d->PadY();
Int_t cathode = d->Cathode();
Int_t detElemId = d->DetElemId();
const AliMpVSegmentation* seg = AliMpSegmentation::Instance()->
GetMpSegmentation(detElemId,AliMp::GetCathodType(cathode));
AliMpPad pad = seg->PadByIndices(ix,iy);
TObjArray* padArray = PadArray(detElemId,cathode);
if (!padArray)
{
padArray = new TObjArray(100);
padArray->SetOwner(kTRUE);
fPads[cathode]->Add(detElemId,padArray);
}
AliMUONPad* mpad = new AliMUONPad(detElemId,cathode,
ix,iy,pad.GetPositionX(),pad.GetPositionY(),
pad.GetDimensionX(),pad.GetDimensionY(),
d->Charge());
if ( d->IsSaturated() ) mpad->SetSaturated(kTRUE);
mpad->SetUniqueID(d->GetUniqueID());
padArray->Add(mpad);
}
}
Int_t
AliMUONSimpleClusterServer::FindMCLabel(const AliMUONCluster& cluster, Int_t detElemId, const AliMpVSegmentation* seg[2]) const
{
Int_t nTracks[2] = {0, 0};
AliMUONVDigit* digit[2] = {0x0, 0x0};
for (Int_t iCath = 0; iCath < 2; iCath++) {
AliMpPad pad
= seg[AliMp::GetCathodType(iCath)]->PadByPosition(cluster.Position().X(), cluster.Position().Y(),kFALSE);
if (pad.IsValid()) {
digit[iCath] = fDigitStore->FindObject(detElemId, pad.GetManuId(), pad.GetManuChannel(), iCath);
if (digit[iCath]) nTracks[iCath] = digit[iCath]->Ntracks();
}
}
if (nTracks[0] + nTracks[1] == 0) return -1;
Int_t* trackId = new Int_t[nTracks[0] + nTracks[1]];
Float_t* trackCharge = new Float_t[nTracks[0] + nTracks[1]];
Int_t nTracksTot = 0;
for (Int_t iTrack1 = 0; iTrack1 < nTracks[0]; iTrack1++) {
trackId[iTrack1] = digit[0]->Track(iTrack1);
trackCharge[iTrack1] = digit[0]->TrackCharge(iTrack1);
}
nTracksTot = nTracks[0];
for (Int_t iTrack2 = 0; iTrack2 < nTracks[1]; iTrack2++) {
Int_t trackId2 = digit[1]->Track(iTrack2);
Bool_t trackExist = kFALSE;
for (Int_t iTrack1 = 0; iTrack1 < nTracks[0]; iTrack1++) {
if (trackId2 == trackId[iTrack1]) {
trackCharge[iTrack1] += digit[1]->TrackCharge(iTrack2);
trackExist = kTRUE;
break;
}
}
if (!trackExist) {
trackId[nTracksTot] = trackId2;
trackCharge[nTracksTot] = digit[1]->TrackCharge(iTrack2);
nTracksTot++;
}
}
Int_t mainTrackId = -1;
Float_t maxCharge = 0.;
for (Int_t iTrack = 0; iTrack < nTracksTot; iTrack++) {
if (trackCharge[iTrack] > maxCharge) {
mainTrackId = trackId[iTrack];
maxCharge = trackCharge[iTrack];
}
}
delete[] trackId;
delete[] trackCharge;
return mainTrackId;
}
void
AliMUONSimpleClusterServer::Print(Option_t*) const
{
AliMpDEIterator it;
it.First();
while ( !it.IsDone() )
{
Int_t detElemId = it.CurrentDEId();
if ( ( PadArray(detElemId,0) && PadArray(detElemId,0)->GetLast() >= 0 ) ||
( PadArray(detElemId,1) && PadArray(detElemId,1)->GetLast() >= 0 ) )
{
cout << Form("---- DE %04d",detElemId) << endl;
for ( Int_t cathode = 0; cathode < 2; ++cathode )
{
cout << Form(" -- Cathode %1d",cathode) << endl;
TObjArray* padArray = PadArray(detElemId,cathode);
if (!padArray)
{
cout << "no pad array" << endl;
}
else if ( padArray->GetLast() < 0 )
{
cout << "no pads" << endl;
}
else
{
TIter next(padArray);
AliMUONPad* pad;
while ( ( pad = static_cast<AliMUONPad*>(next()) ) )
{
pad->Print("full");
}
}
}
}
it.Next();
}
}
AliMUONSimpleClusterServer.cxx:1 AliMUONSimpleClusterServer.cxx:2 AliMUONSimpleClusterServer.cxx:3 AliMUONSimpleClusterServer.cxx:4 AliMUONSimpleClusterServer.cxx:5 AliMUONSimpleClusterServer.cxx:6 AliMUONSimpleClusterServer.cxx:7 AliMUONSimpleClusterServer.cxx:8 AliMUONSimpleClusterServer.cxx:9 AliMUONSimpleClusterServer.cxx:10 AliMUONSimpleClusterServer.cxx:11 AliMUONSimpleClusterServer.cxx:12 AliMUONSimpleClusterServer.cxx:13 AliMUONSimpleClusterServer.cxx:14 AliMUONSimpleClusterServer.cxx:15 AliMUONSimpleClusterServer.cxx:16 AliMUONSimpleClusterServer.cxx:17 AliMUONSimpleClusterServer.cxx:18 AliMUONSimpleClusterServer.cxx:19 AliMUONSimpleClusterServer.cxx:20 AliMUONSimpleClusterServer.cxx:21 AliMUONSimpleClusterServer.cxx:22 AliMUONSimpleClusterServer.cxx:23 AliMUONSimpleClusterServer.cxx:24 AliMUONSimpleClusterServer.cxx:25 AliMUONSimpleClusterServer.cxx:26 AliMUONSimpleClusterServer.cxx:27 AliMUONSimpleClusterServer.cxx:28 AliMUONSimpleClusterServer.cxx:29 AliMUONSimpleClusterServer.cxx:30 AliMUONSimpleClusterServer.cxx:31 AliMUONSimpleClusterServer.cxx:32 AliMUONSimpleClusterServer.cxx:33 AliMUONSimpleClusterServer.cxx:34 AliMUONSimpleClusterServer.cxx:35 AliMUONSimpleClusterServer.cxx:36 AliMUONSimpleClusterServer.cxx:37 AliMUONSimpleClusterServer.cxx:38 AliMUONSimpleClusterServer.cxx:39 AliMUONSimpleClusterServer.cxx:40 AliMUONSimpleClusterServer.cxx:41 AliMUONSimpleClusterServer.cxx:42 AliMUONSimpleClusterServer.cxx:43 AliMUONSimpleClusterServer.cxx:44 AliMUONSimpleClusterServer.cxx:45 AliMUONSimpleClusterServer.cxx:46 AliMUONSimpleClusterServer.cxx:47 AliMUONSimpleClusterServer.cxx:48 AliMUONSimpleClusterServer.cxx:49 AliMUONSimpleClusterServer.cxx:50 AliMUONSimpleClusterServer.cxx:51 AliMUONSimpleClusterServer.cxx:52 AliMUONSimpleClusterServer.cxx:53 AliMUONSimpleClusterServer.cxx:54 AliMUONSimpleClusterServer.cxx:55 AliMUONSimpleClusterServer.cxx:56 AliMUONSimpleClusterServer.cxx:57 AliMUONSimpleClusterServer.cxx:58 AliMUONSimpleClusterServer.cxx:59 AliMUONSimpleClusterServer.cxx:60 AliMUONSimpleClusterServer.cxx:61 AliMUONSimpleClusterServer.cxx:62 AliMUONSimpleClusterServer.cxx:63 AliMUONSimpleClusterServer.cxx:64 AliMUONSimpleClusterServer.cxx:65 AliMUONSimpleClusterServer.cxx:66 AliMUONSimpleClusterServer.cxx:67 AliMUONSimpleClusterServer.cxx:68 AliMUONSimpleClusterServer.cxx:69 AliMUONSimpleClusterServer.cxx:70 AliMUONSimpleClusterServer.cxx:71 AliMUONSimpleClusterServer.cxx:72 AliMUONSimpleClusterServer.cxx:73 AliMUONSimpleClusterServer.cxx:74 AliMUONSimpleClusterServer.cxx:75 AliMUONSimpleClusterServer.cxx:76 AliMUONSimpleClusterServer.cxx:77 AliMUONSimpleClusterServer.cxx:78 AliMUONSimpleClusterServer.cxx:79 AliMUONSimpleClusterServer.cxx:80 AliMUONSimpleClusterServer.cxx:81 AliMUONSimpleClusterServer.cxx:82 AliMUONSimpleClusterServer.cxx:83 AliMUONSimpleClusterServer.cxx:84 AliMUONSimpleClusterServer.cxx:85 AliMUONSimpleClusterServer.cxx:86 AliMUONSimpleClusterServer.cxx:87 AliMUONSimpleClusterServer.cxx:88 AliMUONSimpleClusterServer.cxx:89 AliMUONSimpleClusterServer.cxx:90 AliMUONSimpleClusterServer.cxx:91 AliMUONSimpleClusterServer.cxx:92 AliMUONSimpleClusterServer.cxx:93 AliMUONSimpleClusterServer.cxx:94 AliMUONSimpleClusterServer.cxx:95 AliMUONSimpleClusterServer.cxx:96 AliMUONSimpleClusterServer.cxx:97 AliMUONSimpleClusterServer.cxx:98 AliMUONSimpleClusterServer.cxx:99 AliMUONSimpleClusterServer.cxx:100 AliMUONSimpleClusterServer.cxx:101 AliMUONSimpleClusterServer.cxx:102 AliMUONSimpleClusterServer.cxx:103 AliMUONSimpleClusterServer.cxx:104 AliMUONSimpleClusterServer.cxx:105 AliMUONSimpleClusterServer.cxx:106 AliMUONSimpleClusterServer.cxx:107 AliMUONSimpleClusterServer.cxx:108 AliMUONSimpleClusterServer.cxx:109 AliMUONSimpleClusterServer.cxx:110 AliMUONSimpleClusterServer.cxx:111 AliMUONSimpleClusterServer.cxx:112 AliMUONSimpleClusterServer.cxx:113 AliMUONSimpleClusterServer.cxx:114 AliMUONSimpleClusterServer.cxx:115 AliMUONSimpleClusterServer.cxx:116 AliMUONSimpleClusterServer.cxx:117 AliMUONSimpleClusterServer.cxx:118 AliMUONSimpleClusterServer.cxx:119 AliMUONSimpleClusterServer.cxx:120 AliMUONSimpleClusterServer.cxx:121 AliMUONSimpleClusterServer.cxx:122 AliMUONSimpleClusterServer.cxx:123 AliMUONSimpleClusterServer.cxx:124 AliMUONSimpleClusterServer.cxx:125 AliMUONSimpleClusterServer.cxx:126 AliMUONSimpleClusterServer.cxx:127 AliMUONSimpleClusterServer.cxx:128 AliMUONSimpleClusterServer.cxx:129 AliMUONSimpleClusterServer.cxx:130 AliMUONSimpleClusterServer.cxx:131 AliMUONSimpleClusterServer.cxx:132 AliMUONSimpleClusterServer.cxx:133 AliMUONSimpleClusterServer.cxx:134 AliMUONSimpleClusterServer.cxx:135 AliMUONSimpleClusterServer.cxx:136 AliMUONSimpleClusterServer.cxx:137 AliMUONSimpleClusterServer.cxx:138 AliMUONSimpleClusterServer.cxx:139 AliMUONSimpleClusterServer.cxx:140 AliMUONSimpleClusterServer.cxx:141 AliMUONSimpleClusterServer.cxx:142 AliMUONSimpleClusterServer.cxx:143 AliMUONSimpleClusterServer.cxx:144 AliMUONSimpleClusterServer.cxx:145 AliMUONSimpleClusterServer.cxx:146 AliMUONSimpleClusterServer.cxx:147 AliMUONSimpleClusterServer.cxx:148 AliMUONSimpleClusterServer.cxx:149 AliMUONSimpleClusterServer.cxx:150 AliMUONSimpleClusterServer.cxx:151 AliMUONSimpleClusterServer.cxx:152 AliMUONSimpleClusterServer.cxx:153 AliMUONSimpleClusterServer.cxx:154 AliMUONSimpleClusterServer.cxx:155 AliMUONSimpleClusterServer.cxx:156 AliMUONSimpleClusterServer.cxx:157 AliMUONSimpleClusterServer.cxx:158 AliMUONSimpleClusterServer.cxx:159 AliMUONSimpleClusterServer.cxx:160 AliMUONSimpleClusterServer.cxx:161 AliMUONSimpleClusterServer.cxx:162 AliMUONSimpleClusterServer.cxx:163 AliMUONSimpleClusterServer.cxx:164 AliMUONSimpleClusterServer.cxx:165 AliMUONSimpleClusterServer.cxx:166 AliMUONSimpleClusterServer.cxx:167 AliMUONSimpleClusterServer.cxx:168 AliMUONSimpleClusterServer.cxx:169 AliMUONSimpleClusterServer.cxx:170 AliMUONSimpleClusterServer.cxx:171 AliMUONSimpleClusterServer.cxx:172 AliMUONSimpleClusterServer.cxx:173 AliMUONSimpleClusterServer.cxx:174 AliMUONSimpleClusterServer.cxx:175 AliMUONSimpleClusterServer.cxx:176 AliMUONSimpleClusterServer.cxx:177 AliMUONSimpleClusterServer.cxx:178 AliMUONSimpleClusterServer.cxx:179 AliMUONSimpleClusterServer.cxx:180 AliMUONSimpleClusterServer.cxx:181 AliMUONSimpleClusterServer.cxx:182 AliMUONSimpleClusterServer.cxx:183 AliMUONSimpleClusterServer.cxx:184 AliMUONSimpleClusterServer.cxx:185 AliMUONSimpleClusterServer.cxx:186 AliMUONSimpleClusterServer.cxx:187 AliMUONSimpleClusterServer.cxx:188 AliMUONSimpleClusterServer.cxx:189 AliMUONSimpleClusterServer.cxx:190 AliMUONSimpleClusterServer.cxx:191 AliMUONSimpleClusterServer.cxx:192 AliMUONSimpleClusterServer.cxx:193 AliMUONSimpleClusterServer.cxx:194 AliMUONSimpleClusterServer.cxx:195 AliMUONSimpleClusterServer.cxx:196 AliMUONSimpleClusterServer.cxx:197 AliMUONSimpleClusterServer.cxx:198 AliMUONSimpleClusterServer.cxx:199 AliMUONSimpleClusterServer.cxx:200 AliMUONSimpleClusterServer.cxx:201 AliMUONSimpleClusterServer.cxx:202 AliMUONSimpleClusterServer.cxx:203 AliMUONSimpleClusterServer.cxx:204 AliMUONSimpleClusterServer.cxx:205 AliMUONSimpleClusterServer.cxx:206 AliMUONSimpleClusterServer.cxx:207 AliMUONSimpleClusterServer.cxx:208 AliMUONSimpleClusterServer.cxx:209 AliMUONSimpleClusterServer.cxx:210 AliMUONSimpleClusterServer.cxx:211 AliMUONSimpleClusterServer.cxx:212 AliMUONSimpleClusterServer.cxx:213 AliMUONSimpleClusterServer.cxx:214 AliMUONSimpleClusterServer.cxx:215 AliMUONSimpleClusterServer.cxx:216 AliMUONSimpleClusterServer.cxx:217 AliMUONSimpleClusterServer.cxx:218 AliMUONSimpleClusterServer.cxx:219 AliMUONSimpleClusterServer.cxx:220 AliMUONSimpleClusterServer.cxx:221 AliMUONSimpleClusterServer.cxx:222 AliMUONSimpleClusterServer.cxx:223 AliMUONSimpleClusterServer.cxx:224 AliMUONSimpleClusterServer.cxx:225 AliMUONSimpleClusterServer.cxx:226 AliMUONSimpleClusterServer.cxx:227 AliMUONSimpleClusterServer.cxx:228 AliMUONSimpleClusterServer.cxx:229 AliMUONSimpleClusterServer.cxx:230 AliMUONSimpleClusterServer.cxx:231 AliMUONSimpleClusterServer.cxx:232 AliMUONSimpleClusterServer.cxx:233 AliMUONSimpleClusterServer.cxx:234 AliMUONSimpleClusterServer.cxx:235 AliMUONSimpleClusterServer.cxx:236 AliMUONSimpleClusterServer.cxx:237 AliMUONSimpleClusterServer.cxx:238 AliMUONSimpleClusterServer.cxx:239 AliMUONSimpleClusterServer.cxx:240 AliMUONSimpleClusterServer.cxx:241 AliMUONSimpleClusterServer.cxx:242 AliMUONSimpleClusterServer.cxx:243 AliMUONSimpleClusterServer.cxx:244 AliMUONSimpleClusterServer.cxx:245 AliMUONSimpleClusterServer.cxx:246 AliMUONSimpleClusterServer.cxx:247 AliMUONSimpleClusterServer.cxx:248 AliMUONSimpleClusterServer.cxx:249 AliMUONSimpleClusterServer.cxx:250 AliMUONSimpleClusterServer.cxx:251 AliMUONSimpleClusterServer.cxx:252 AliMUONSimpleClusterServer.cxx:253 AliMUONSimpleClusterServer.cxx:254 AliMUONSimpleClusterServer.cxx:255 AliMUONSimpleClusterServer.cxx:256 AliMUONSimpleClusterServer.cxx:257 AliMUONSimpleClusterServer.cxx:258 AliMUONSimpleClusterServer.cxx:259 AliMUONSimpleClusterServer.cxx:260 AliMUONSimpleClusterServer.cxx:261 AliMUONSimpleClusterServer.cxx:262 AliMUONSimpleClusterServer.cxx:263 AliMUONSimpleClusterServer.cxx:264 AliMUONSimpleClusterServer.cxx:265 AliMUONSimpleClusterServer.cxx:266 AliMUONSimpleClusterServer.cxx:267 AliMUONSimpleClusterServer.cxx:268 AliMUONSimpleClusterServer.cxx:269 AliMUONSimpleClusterServer.cxx:270 AliMUONSimpleClusterServer.cxx:271 AliMUONSimpleClusterServer.cxx:272 AliMUONSimpleClusterServer.cxx:273 AliMUONSimpleClusterServer.cxx:274 AliMUONSimpleClusterServer.cxx:275 AliMUONSimpleClusterServer.cxx:276 AliMUONSimpleClusterServer.cxx:277 AliMUONSimpleClusterServer.cxx:278 AliMUONSimpleClusterServer.cxx:279 AliMUONSimpleClusterServer.cxx:280 AliMUONSimpleClusterServer.cxx:281 AliMUONSimpleClusterServer.cxx:282 AliMUONSimpleClusterServer.cxx:283 AliMUONSimpleClusterServer.cxx:284 AliMUONSimpleClusterServer.cxx:285 AliMUONSimpleClusterServer.cxx:286 AliMUONSimpleClusterServer.cxx:287 AliMUONSimpleClusterServer.cxx:288 AliMUONSimpleClusterServer.cxx:289 AliMUONSimpleClusterServer.cxx:290 AliMUONSimpleClusterServer.cxx:291 AliMUONSimpleClusterServer.cxx:292 AliMUONSimpleClusterServer.cxx:293 AliMUONSimpleClusterServer.cxx:294 AliMUONSimpleClusterServer.cxx:295 AliMUONSimpleClusterServer.cxx:296 AliMUONSimpleClusterServer.cxx:297 AliMUONSimpleClusterServer.cxx:298 AliMUONSimpleClusterServer.cxx:299 AliMUONSimpleClusterServer.cxx:300 AliMUONSimpleClusterServer.cxx:301 AliMUONSimpleClusterServer.cxx:302 AliMUONSimpleClusterServer.cxx:303 AliMUONSimpleClusterServer.cxx:304 AliMUONSimpleClusterServer.cxx:305 AliMUONSimpleClusterServer.cxx:306 AliMUONSimpleClusterServer.cxx:307 AliMUONSimpleClusterServer.cxx:308 AliMUONSimpleClusterServer.cxx:309 AliMUONSimpleClusterServer.cxx:310 AliMUONSimpleClusterServer.cxx:311 AliMUONSimpleClusterServer.cxx:312 AliMUONSimpleClusterServer.cxx:313 AliMUONSimpleClusterServer.cxx:314 AliMUONSimpleClusterServer.cxx:315 AliMUONSimpleClusterServer.cxx:316 AliMUONSimpleClusterServer.cxx:317 AliMUONSimpleClusterServer.cxx:318 AliMUONSimpleClusterServer.cxx:319 AliMUONSimpleClusterServer.cxx:320 AliMUONSimpleClusterServer.cxx:321 AliMUONSimpleClusterServer.cxx:322 AliMUONSimpleClusterServer.cxx:323 AliMUONSimpleClusterServer.cxx:324 AliMUONSimpleClusterServer.cxx:325 AliMUONSimpleClusterServer.cxx:326 AliMUONSimpleClusterServer.cxx:327 AliMUONSimpleClusterServer.cxx:328 AliMUONSimpleClusterServer.cxx:329 AliMUONSimpleClusterServer.cxx:330 AliMUONSimpleClusterServer.cxx:331 AliMUONSimpleClusterServer.cxx:332 AliMUONSimpleClusterServer.cxx:333 AliMUONSimpleClusterServer.cxx:334 AliMUONSimpleClusterServer.cxx:335 AliMUONSimpleClusterServer.cxx:336 AliMUONSimpleClusterServer.cxx:337 AliMUONSimpleClusterServer.cxx:338 AliMUONSimpleClusterServer.cxx:339 AliMUONSimpleClusterServer.cxx:340 AliMUONSimpleClusterServer.cxx:341 AliMUONSimpleClusterServer.cxx:342 AliMUONSimpleClusterServer.cxx:343 AliMUONSimpleClusterServer.cxx:344 AliMUONSimpleClusterServer.cxx:345 AliMUONSimpleClusterServer.cxx:346 AliMUONSimpleClusterServer.cxx:347 AliMUONSimpleClusterServer.cxx:348 AliMUONSimpleClusterServer.cxx:349 AliMUONSimpleClusterServer.cxx:350 AliMUONSimpleClusterServer.cxx:351 AliMUONSimpleClusterServer.cxx:352 AliMUONSimpleClusterServer.cxx:353 AliMUONSimpleClusterServer.cxx:354 AliMUONSimpleClusterServer.cxx:355 AliMUONSimpleClusterServer.cxx:356 AliMUONSimpleClusterServer.cxx:357 AliMUONSimpleClusterServer.cxx:358 AliMUONSimpleClusterServer.cxx:359 AliMUONSimpleClusterServer.cxx:360 AliMUONSimpleClusterServer.cxx:361 AliMUONSimpleClusterServer.cxx:362 AliMUONSimpleClusterServer.cxx:363 AliMUONSimpleClusterServer.cxx:364 AliMUONSimpleClusterServer.cxx:365 AliMUONSimpleClusterServer.cxx:366 AliMUONSimpleClusterServer.cxx:367 AliMUONSimpleClusterServer.cxx:368 AliMUONSimpleClusterServer.cxx:369 AliMUONSimpleClusterServer.cxx:370 AliMUONSimpleClusterServer.cxx:371 AliMUONSimpleClusterServer.cxx:372 AliMUONSimpleClusterServer.cxx:373 AliMUONSimpleClusterServer.cxx:374 AliMUONSimpleClusterServer.cxx:375 AliMUONSimpleClusterServer.cxx:376 AliMUONSimpleClusterServer.cxx:377 AliMUONSimpleClusterServer.cxx:378 AliMUONSimpleClusterServer.cxx:379 AliMUONSimpleClusterServer.cxx:380 AliMUONSimpleClusterServer.cxx:381 AliMUONSimpleClusterServer.cxx:382 AliMUONSimpleClusterServer.cxx:383 AliMUONSimpleClusterServer.cxx:384 AliMUONSimpleClusterServer.cxx:385 AliMUONSimpleClusterServer.cxx:386 AliMUONSimpleClusterServer.cxx:387 AliMUONSimpleClusterServer.cxx:388 AliMUONSimpleClusterServer.cxx:389 AliMUONSimpleClusterServer.cxx:390 AliMUONSimpleClusterServer.cxx:391 AliMUONSimpleClusterServer.cxx:392 AliMUONSimpleClusterServer.cxx:393 AliMUONSimpleClusterServer.cxx:394 AliMUONSimpleClusterServer.cxx:395 AliMUONSimpleClusterServer.cxx:396 AliMUONSimpleClusterServer.cxx:397 AliMUONSimpleClusterServer.cxx:398 AliMUONSimpleClusterServer.cxx:399 AliMUONSimpleClusterServer.cxx:400 AliMUONSimpleClusterServer.cxx:401 AliMUONSimpleClusterServer.cxx:402 AliMUONSimpleClusterServer.cxx:403 AliMUONSimpleClusterServer.cxx:404 AliMUONSimpleClusterServer.cxx:405 AliMUONSimpleClusterServer.cxx:406 AliMUONSimpleClusterServer.cxx:407 AliMUONSimpleClusterServer.cxx:408 AliMUONSimpleClusterServer.cxx:409 AliMUONSimpleClusterServer.cxx:410 AliMUONSimpleClusterServer.cxx:411 AliMUONSimpleClusterServer.cxx:412 AliMUONSimpleClusterServer.cxx:413 AliMUONSimpleClusterServer.cxx:414 AliMUONSimpleClusterServer.cxx:415 AliMUONSimpleClusterServer.cxx:416 AliMUONSimpleClusterServer.cxx:417 AliMUONSimpleClusterServer.cxx:418 AliMUONSimpleClusterServer.cxx:419 AliMUONSimpleClusterServer.cxx:420 AliMUONSimpleClusterServer.cxx:421 AliMUONSimpleClusterServer.cxx:422 AliMUONSimpleClusterServer.cxx:423 AliMUONSimpleClusterServer.cxx:424 AliMUONSimpleClusterServer.cxx:425 AliMUONSimpleClusterServer.cxx:426 AliMUONSimpleClusterServer.cxx:427 AliMUONSimpleClusterServer.cxx:428 AliMUONSimpleClusterServer.cxx:429 AliMUONSimpleClusterServer.cxx:430 AliMUONSimpleClusterServer.cxx:431 AliMUONSimpleClusterServer.cxx:432 AliMUONSimpleClusterServer.cxx:433 AliMUONSimpleClusterServer.cxx:434 AliMUONSimpleClusterServer.cxx:435 AliMUONSimpleClusterServer.cxx:436 AliMUONSimpleClusterServer.cxx:437 AliMUONSimpleClusterServer.cxx:438 AliMUONSimpleClusterServer.cxx:439 AliMUONSimpleClusterServer.cxx:440 AliMUONSimpleClusterServer.cxx:441 AliMUONSimpleClusterServer.cxx:442 AliMUONSimpleClusterServer.cxx:443 AliMUONSimpleClusterServer.cxx:444 AliMUONSimpleClusterServer.cxx:445 AliMUONSimpleClusterServer.cxx:446 AliMUONSimpleClusterServer.cxx:447 AliMUONSimpleClusterServer.cxx:448 AliMUONSimpleClusterServer.cxx:449 AliMUONSimpleClusterServer.cxx:450 AliMUONSimpleClusterServer.cxx:451 AliMUONSimpleClusterServer.cxx:452 AliMUONSimpleClusterServer.cxx:453 AliMUONSimpleClusterServer.cxx:454 AliMUONSimpleClusterServer.cxx:455 AliMUONSimpleClusterServer.cxx:456 AliMUONSimpleClusterServer.cxx:457 AliMUONSimpleClusterServer.cxx:458 AliMUONSimpleClusterServer.cxx:459 AliMUONSimpleClusterServer.cxx:460 AliMUONSimpleClusterServer.cxx:461 AliMUONSimpleClusterServer.cxx:462 AliMUONSimpleClusterServer.cxx:463 AliMUONSimpleClusterServer.cxx:464 AliMUONSimpleClusterServer.cxx:465 AliMUONSimpleClusterServer.cxx:466 AliMUONSimpleClusterServer.cxx:467 AliMUONSimpleClusterServer.cxx:468 AliMUONSimpleClusterServer.cxx:469 AliMUONSimpleClusterServer.cxx:470 AliMUONSimpleClusterServer.cxx:471 AliMUONSimpleClusterServer.cxx:472 AliMUONSimpleClusterServer.cxx:473 AliMUONSimpleClusterServer.cxx:474 AliMUONSimpleClusterServer.cxx:475 AliMUONSimpleClusterServer.cxx:476 AliMUONSimpleClusterServer.cxx:477 AliMUONSimpleClusterServer.cxx:478 AliMUONSimpleClusterServer.cxx:479 AliMUONSimpleClusterServer.cxx:480 AliMUONSimpleClusterServer.cxx:481 AliMUONSimpleClusterServer.cxx:482 AliMUONSimpleClusterServer.cxx:483 AliMUONSimpleClusterServer.cxx:484 AliMUONSimpleClusterServer.cxx:485 AliMUONSimpleClusterServer.cxx:486 AliMUONSimpleClusterServer.cxx:487 AliMUONSimpleClusterServer.cxx:488 AliMUONSimpleClusterServer.cxx:489 AliMUONSimpleClusterServer.cxx:490 AliMUONSimpleClusterServer.cxx:491 AliMUONSimpleClusterServer.cxx:492