#include "AliMUONESDInterface.h"
#include "AliMUONTrack.h"
#include "AliMUONVTrackStore.h"
#include "AliMUONVCluster.h"
#include "AliMUONVClusterStore.h"
#include "AliMUONVDigit.h"
#include "AliMUONVDigitStore.h"
#include "AliMUONLocalTrigger.h"
#include "AliMUONTriggerTrack.h"
#include "AliMUONVTriggerStore.h"
#include "AliMUONVTriggerTrackStore.h"
#include "AliMUON2DMapIterator.h"
#include "AliMUONTrackParam.h"
#include "AliMUONTrackExtrap.h"
#include "AliMUONConstants.h"
#include "AliMUONTracker.h"
#include "AliMUONRecoParam.h"
#include "AliMUONVTrackReconstructor.h"
#include "AliMUONCDB.h"
#include "AliMpExMapIterator.h"
#include "AliMpVSegmentation.h"
#include "AliMpSegmentation.h"
#include "AliMpPad.h"
#include "AliESDEvent.h"
#include "AliESDMuonTrack.h"
#include "AliESDMuonCluster.h"
#include "AliESDMuonPad.h"
#include "AliLog.h"
#include <TROOT.h>
#include <TClass.h>
#include <TIterator.h>
#include <TMath.h>
#include <TMatrixD.h>
#include <Riostream.h>
#include <TGeoGlobalMagField.h>
#include <TVirtualMagField.h>
using std::endl;
using std::cout;
ClassImp(AliMUONESDInterface)
AliMUONRecoParam* AliMUONESDInterface::fgRecoParam = 0x0;
AliMUONVTrackReconstructor* AliMUONESDInterface::fgTracker = 0x0;
TString AliMUONESDInterface::fgTrackStoreName = "AliMUONTrackStoreV1";
TString AliMUONESDInterface::fgClusterStoreName = "AliMUONClusterStoreV2";
TString AliMUONESDInterface::fgDigitStoreName = "AliMUONDigitStoreV2R";
TString AliMUONESDInterface::fgTriggerStoreName = "AliMUONTriggerStoreV1";
TString AliMUONESDInterface::fgTriggerTrackStoreName = "AliMUONTriggerTrackStoreV1";
AliMUONESDInterface::AliMUONESDInterface()
: TObject(),
fTracks(0x0),
fDigits(0x0),
fTriggers(0x0),
fClusterMap(0x0),
fDigitMap(0x0)
{
}
AliMUONESDInterface::~AliMUONESDInterface()
{
delete fTracks;
delete fDigits;
delete fTriggers;
delete fClusterMap;
delete fDigitMap;
}
void AliMUONESDInterface::Clear(Option_t*)
{
delete fTracks; fTracks = 0x0;
delete fDigits; fDigits = 0x0;
delete fTriggers; fTriggers = 0x0;
delete fClusterMap; fClusterMap = 0x0;
delete fDigitMap; fDigitMap = 0x0;
}
void AliMUONESDInterface::Reset()
{
if (fTracks) fTracks->Clear("C");
else fTracks = NewTrackStore();
if (fDigits) fDigits->Clear("C");
else fDigits = NewDigitStore();
if (fTriggers) fTriggers->Clear("C");
else fTriggers = NewTriggerStore();
if (fClusterMap) fClusterMap->Clear();
else fClusterMap = new AliMpExMap;
fClusterMap->SetOwner(kTRUE);
if (fDigitMap) fDigitMap->Clear();
else fDigitMap = new AliMpExMap;
fDigitMap->SetOwner(kTRUE);
}
void AliMUONESDInterface::LoadEvent(AliESDEvent& esdEvent, Bool_t refit)
{
Reset();
for (Int_t iPad = 0; iPad < esdEvent.GetNumberOfMuonPads(); iPad++)
Add(*(esdEvent.GetMuonPad(iPad)), *fDigits);
for (Int_t iTrack = 0; iTrack < esdEvent.GetNumberOfMuonTracks(); iTrack++) {
AliESDMuonTrack* esdTrack = esdEvent.GetMuonTrack(iTrack);
if (esdTrack->ContainTriggerData()) Add(*esdTrack, *fTriggers);
if (!esdTrack->ContainTrackerData()) continue;
AliMUONTrack* track = Add(*esdTrack, *fTracks, refit);
AliMpExMap* cMap = new AliMpExMap;
cMap->SetOwner(kFALSE);
fClusterMap->Add(esdTrack->GetUniqueID(), cMap);
AliMpExMap* dMaps = new AliMpExMap;
dMaps->SetOwner(kTRUE);
fDigitMap->Add(esdTrack->GetUniqueID(), dMaps);
for (Int_t iCluster = 0; iCluster < track->GetNClusters(); iCluster++) {
AliMUONVCluster* cluster = ((AliMUONTrackParam*)track->GetTrackParamAtCluster()->UncheckedAt(iCluster))->GetClusterPtr();
cMap->Add(cluster->GetUniqueID(), cluster);
AliMpExMap* dMap =new AliMpExMap;
dMap->SetOwner(kFALSE);
dMaps->Add(cluster->GetUniqueID(), dMap);
for (Int_t iDigit = 0; iDigit < cluster->GetNDigits(); iDigit++) {
AliMUONVDigit* digit = fDigits->FindObject(cluster->GetDigitId(iDigit));
if (digit) dMap->Add(digit->GetUniqueID(), digit);
else AliError("a digit is missing");
}
}
}
}
Int_t AliMUONESDInterface::GetNTracks() const
{
return fTracks ? fTracks->GetSize() : 0;
}
Int_t AliMUONESDInterface::GetNClusters() const
{
Int_t nClusters = 0;
AliMUONTrack *track;
TIter next(CreateTrackIterator());
while ((track = static_cast<AliMUONTrack*>(next()))) nClusters += track->GetNClusters();
return nClusters;
}
Int_t AliMUONESDInterface::GetNClusters(UInt_t trackId) const
{
AliMUONTrack* track = FindTrack(trackId);
return track ? track->GetNClusters() : 0;
}
Int_t AliMUONESDInterface::GetNDigits() const
{
return fDigits ? fDigits->GetSize() : 0;
}
Int_t AliMUONESDInterface::GetNDigits(UInt_t trackId) const
{
Int_t nDigits = 0;
AliMUONVCluster *cluster;
TIter next(CreateClusterIterator(trackId));
while ((cluster = static_cast<AliMUONVCluster*>(next()))) nDigits += cluster->GetNDigits();
return nDigits;
}
Int_t AliMUONESDInterface::GetNDigits(UInt_t trackId, UInt_t clusterId) const
{
AliMUONVCluster* cluster = FindCluster(trackId, clusterId);
return cluster ? cluster->GetNDigits() : 0;
}
Int_t AliMUONESDInterface::GetNDigitsInCluster(UInt_t clusterId) const
{
AliMUONVCluster* cluster = FindCluster(clusterId);
return cluster ? cluster->GetNDigits() : 0;
}
Int_t AliMUONESDInterface::GetNTriggers() const
{
return fTriggers ? fTriggers->GetSize() : 0;
}
Bool_t AliMUONESDInterface::DigitsStored(UInt_t trackId) const
{
AliMUONVCluster *cluster;
TIter next(CreateClusterIterator(trackId));
while ((cluster = static_cast<AliMUONVCluster*>(next())))
if (cluster->GetNDigits() == 0) return kFALSE;
return kTRUE;
}
AliMUONTrack* AliMUONESDInterface::FindTrack(UInt_t trackId) const
{
AliMUONTrack *track = fTracks ? static_cast<AliMUONTrack*>(fTracks->FindObject(trackId)) : 0x0;
if (!track) AliWarning(Form("track %d does not exist",trackId));
return track;
}
AliMUONVCluster* AliMUONESDInterface::FindCluster(UInt_t clusterId) const
{
AliMpExMap *cMap;
AliMUONVCluster* cluster = 0x0;
if (fClusterMap) {
TIter next(fClusterMap->CreateIterator());
while ((cMap = static_cast<AliMpExMap*>(next()))) {
cluster = static_cast<AliMUONVCluster*>(cMap->GetValue(clusterId));
if (cluster) return cluster;
}
}
if (!cluster) AliWarning(Form("cluster %d does not exist",clusterId));
return 0x0;
}
AliMUONVCluster* AliMUONESDInterface::FindCluster(UInt_t trackId, UInt_t clusterId) const
{
AliMpExMap *cMap = fClusterMap ? static_cast<AliMpExMap*>(fClusterMap->GetValue(trackId)) : 0x0;
AliMUONVCluster* cluster = cMap ? static_cast<AliMUONVCluster*>(cMap->GetValue(clusterId)) : 0x0;
if (!cluster) AliWarning(Form("cluster %d does not exist in track %d", clusterId, trackId));
return cluster;
}
AliMUONVDigit* AliMUONESDInterface::FindDigit(UInt_t digitId) const
{
AliMUONVDigit *digit = fDigits ? fDigits->FindObject(digitId) : 0x0;
if (!digit) AliWarning(Form("digit %d does not exist",digitId));
return digit;
}
AliMUONLocalTrigger* AliMUONESDInterface::FindLocalTrigger(Int_t boardNumber) const
{
return (fTriggers) ? fTriggers->FindLocal(boardNumber) : 0x0;
}
TIterator* AliMUONESDInterface::CreateTrackIterator() const
{
return fTracks ? fTracks->CreateIterator() : 0x0;
}
TIterator* AliMUONESDInterface::CreateClusterIterator() const
{
return fClusterMap ? new AliMUON2DMapIterator(*fClusterMap) : 0x0;
}
TIterator* AliMUONESDInterface::CreateClusterIterator(UInt_t trackId) const
{
AliMpExMap *cMap = fClusterMap ? static_cast<AliMpExMap*>(fClusterMap->GetValue(trackId)) : 0x0;
return cMap ? cMap->CreateIterator() : 0x0;
}
TIterator* AliMUONESDInterface::CreateDigitIterator() const
{
return fDigits ? fDigits->CreateIterator() : 0x0;
}
TIterator* AliMUONESDInterface::CreateDigitIterator(UInt_t trackId) const
{
AliMpExMap* dMaps = fDigitMap ? static_cast<AliMpExMap*>(fDigitMap->GetValue(trackId)) : 0x0;
return dMaps ? new AliMUON2DMapIterator(*dMaps) : 0x0;
}
TIterator* AliMUONESDInterface::CreateDigitIterator(UInt_t trackId, UInt_t clusterId) const
{
AliMpExMap* dMaps = fDigitMap ? static_cast<AliMpExMap*>(fDigitMap->GetValue(trackId)) : 0x0;
AliMpExMap* dMap = dMaps ? static_cast<AliMpExMap*>(dMaps->GetValue(clusterId)) : 0x0;
return dMap ? dMap->CreateIterator() : 0x0;
}
TIterator* AliMUONESDInterface::CreateDigitIteratorInCluster(UInt_t clusterId) const
{
AliMpExMap *dMaps;
AliMpExMap* dMap = 0x0;
if (fDigitMap) {
TIter next(fDigitMap->CreateIterator());
while ((dMaps = static_cast<AliMpExMap*>(next()))) {
dMap = static_cast<AliMpExMap*>(dMaps->GetValue(clusterId));
if (dMap) return dMap->CreateIterator();
}
}
return 0x0;
}
TIterator* AliMUONESDInterface::CreateLocalTriggerIterator() const
{
return fTriggers ? fTriggers->CreateLocalIterator() : 0x0;
}
void AliMUONESDInterface::ResetTracker(const AliMUONRecoParam* recoParam, Bool_t info)
{
delete fgTracker;
delete fgRecoParam;
if (recoParam) {
fgRecoParam = new AliMUONRecoParam(*recoParam);
if (info) AliInfoClass("will refit tracks with provided RecoParam:");
} else {
fgRecoParam = AliMUONCDB::LoadRecoParam();
if (!fgRecoParam) AliFatalClass("RecoParam have not been set!");
}
if (info) {
cout<<" --> Tracking mode = "<<fgRecoParam->GetTrackingMode()<<endl;
if (fgRecoParam->UseSmoother()) cout<<" --> Use Smoother"<<endl;
else cout<<" --> Do not use smoother"<<endl;
cout<<" --> Vertex dispersion in bending direction = "
<<fgRecoParam->GetBendingVertexDispersion()<<" cm"<<endl;
}
if (!TGeoGlobalMagField::Instance()->GetField() && !AliMUONCDB::LoadField())
AliFatalClass("Magnetic field has not been set!");
fgTracker = AliMUONTracker::CreateTrackReconstructor(fgRecoParam,0x0,0x0);
}
AliMUONVTrackStore* AliMUONESDInterface::NewTrackStore()
{
TClass* classPtr = TClass::GetClass(fgTrackStoreName);
if (!classPtr || !classPtr->InheritsFrom("AliMUONVTrackStore")) {
AliErrorClass(Form("Unable to create store of type %s", fgTrackStoreName.Data()));
return 0x0;
}
return reinterpret_cast<AliMUONVTrackStore*>(gROOT->ProcessLineFast(Form("new %s()",fgTrackStoreName.Data())));
}
AliMUONVClusterStore* AliMUONESDInterface::NewClusterStore()
{
TClass* classPtr = TClass::GetClass(fgClusterStoreName);
if (!classPtr || !classPtr->InheritsFrom("AliMUONVClusterStore")) {
AliErrorClass(Form("Unable to create store of type %s", fgClusterStoreName.Data()));
return 0x0;
}
return reinterpret_cast<AliMUONVClusterStore*>(gROOT->ProcessLineFast(Form("new %s()",fgClusterStoreName.Data())));
}
AliMUONVCluster* AliMUONESDInterface::NewCluster()
{
TClass* classPtr = TClass::GetClass(fgClusterStoreName);
if (!classPtr || !classPtr->InheritsFrom("AliMUONVClusterStore")) {
AliErrorClass(Form("Unable to create store of type %s", fgClusterStoreName.Data()));
return 0x0;
}
AliMUONVClusterStore* cStore = reinterpret_cast<AliMUONVClusterStore*>(classPtr->New());
AliMUONVCluster* cluster = cStore->CreateCluster(0,0,0);
delete cStore;
return cluster;
}
AliMUONVDigitStore* AliMUONESDInterface::NewDigitStore()
{
TClass* classPtr = TClass::GetClass(fgDigitStoreName);
if (!classPtr || !classPtr->InheritsFrom("AliMUONVDigitStore")) {
AliErrorClass(Form("Unable to create store of type %s", fgDigitStoreName.Data()));
return 0x0;
}
return reinterpret_cast<AliMUONVDigitStore*>(gROOT->ProcessLineFast(Form("new %s()",fgDigitStoreName.Data())));
}
AliMUONVDigit* AliMUONESDInterface::NewDigit()
{
TClass* classPtr = TClass::GetClass(fgDigitStoreName);
if (!classPtr || !classPtr->InheritsFrom("AliMUONVDigitStore")) {
AliErrorClass(Form("Unable to create store of type %s", fgDigitStoreName.Data()));
return 0x0;
}
AliMUONVDigitStore* dStore = reinterpret_cast<AliMUONVDigitStore*>(classPtr->New());
AliMUONVDigit* digit = dStore->CreateDigit(0,0,0,0);
delete dStore;
return digit;
}
AliMUONVTriggerStore* AliMUONESDInterface::NewTriggerStore()
{
TClass* classPtr = TClass::GetClass(fgTriggerStoreName);
if (!classPtr || !classPtr->InheritsFrom("AliMUONVTriggerStore")) {
AliErrorClass(Form("Unable to create store of type %s", fgTriggerStoreName.Data()));
return 0x0;
}
return reinterpret_cast<AliMUONVTriggerStore*>(gROOT->ProcessLineFast(Form("new %s()",fgTriggerStoreName.Data())));
}
AliMUONVTriggerTrackStore* AliMUONESDInterface::NewTriggerTrackStore()
{
TClass* classPtr = TClass::GetClass(fgTriggerTrackStoreName);
if (!classPtr || !classPtr->InheritsFrom("AliMUONVTriggerTrackStore")) {
AliErrorClass(Form("Unable to create store of type %s", fgTriggerTrackStoreName.Data()));
return 0x0;
}
return reinterpret_cast<AliMUONVTriggerTrackStore*>(gROOT->ProcessLineFast(Form("new %s()",fgTriggerTrackStoreName.Data())));
}
void AliMUONESDInterface::GetParamAtVertex(const AliESDMuonTrack& esdTrack, AliMUONTrackParam& trackParam)
{
trackParam.SetZ(esdTrack.GetZ());
trackParam.SetNonBendingCoor(esdTrack.GetNonBendingCoor());
trackParam.SetNonBendingSlope(TMath::Tan(esdTrack.GetThetaX()));
trackParam.SetBendingCoor(esdTrack.GetBendingCoor());
trackParam.SetBendingSlope(TMath::Tan(esdTrack.GetThetaY()));
trackParam.SetInverseBendingMomentum(esdTrack.GetInverseBendingMomentum());
}
void AliMUONESDInterface::GetParamAtDCA(const AliESDMuonTrack& esdTrack, AliMUONTrackParam& trackParam)
{
trackParam.SetZ(esdTrack.GetZ());
trackParam.SetNonBendingCoor(esdTrack.GetNonBendingCoorAtDCA());
trackParam.SetNonBendingSlope(TMath::Tan(esdTrack.GetThetaXAtDCA()));
trackParam.SetBendingCoor(esdTrack.GetBendingCoorAtDCA());
trackParam.SetBendingSlope(TMath::Tan(esdTrack.GetThetaYAtDCA()));
trackParam.SetInverseBendingMomentum(esdTrack.GetInverseBendingMomentumAtDCA());
}
void AliMUONESDInterface::GetParamAtFirstCluster(const AliESDMuonTrack& esdTrack, AliMUONTrackParam& trackParam)
{
trackParam.SetZ(esdTrack.GetZUncorrected());
trackParam.SetNonBendingCoor(esdTrack.GetNonBendingCoorUncorrected());
trackParam.SetNonBendingSlope(TMath::Tan(esdTrack.GetThetaXUncorrected()));
trackParam.SetBendingCoor(esdTrack.GetBendingCoorUncorrected());
trackParam.SetBendingSlope(TMath::Tan(esdTrack.GetThetaYUncorrected()));
trackParam.SetInverseBendingMomentum(esdTrack.GetInverseBendingMomentumUncorrected());
}
void AliMUONESDInterface::GetParamCov(const AliESDMuonTrack& esdTrack, AliMUONTrackParam& trackParam)
{
TMatrixD covariances(5,5);
esdTrack.GetCovariances(covariances);
Double_t cosThetaX = TMath::Cos(esdTrack.GetThetaXUncorrected());
Double_t cosThetaY = TMath::Cos(esdTrack.GetThetaYUncorrected());
TMatrixD jacob(5,5);
jacob.Zero();
jacob(0,0) = 1.;
jacob(1,1) = 1. / cosThetaX / cosThetaX;
jacob(2,2) = 1.;
jacob(3,3) = 1. / cosThetaY / cosThetaY;
jacob(4,4) = 1.;
TMatrixD tmp(covariances,TMatrixD::kMultTranspose,jacob);
trackParam.SetCovariances(TMatrixD(jacob,TMatrixD::kMult,tmp));
}
void AliMUONESDInterface::SetParamAtVertex(const AliMUONTrackParam& trackParam, AliESDMuonTrack& esdTrack)
{
esdTrack.SetZ(trackParam.GetZ());
esdTrack.SetNonBendingCoor(trackParam.GetNonBendingCoor());
esdTrack.SetThetaX(TMath::ATan(trackParam.GetNonBendingSlope()));
esdTrack.SetBendingCoor(trackParam.GetBendingCoor());
esdTrack.SetThetaY(TMath::ATan(trackParam.GetBendingSlope()));
esdTrack.SetInverseBendingMomentum(trackParam.GetInverseBendingMomentum());
}
void AliMUONESDInterface::SetParamAtDCA(const AliMUONTrackParam& trackParam, AliESDMuonTrack& esdTrack)
{
esdTrack.SetNonBendingCoorAtDCA(trackParam.GetNonBendingCoor());
esdTrack.SetThetaXAtDCA(TMath::ATan(trackParam.GetNonBendingSlope()));
esdTrack.SetBendingCoorAtDCA(trackParam.GetBendingCoor());
esdTrack.SetThetaYAtDCA(TMath::ATan(trackParam.GetBendingSlope()));
esdTrack.SetInverseBendingMomentumAtDCA(trackParam.GetInverseBendingMomentum());
}
void AliMUONESDInterface::SetParamAtFirstCluster(const AliMUONTrackParam& trackParam, AliESDMuonTrack& esdTrack)
{
esdTrack.SetZUncorrected(trackParam.GetZ());
esdTrack.SetNonBendingCoorUncorrected(trackParam.GetNonBendingCoor());
esdTrack.SetThetaXUncorrected(TMath::ATan(trackParam.GetNonBendingSlope()));
esdTrack.SetBendingCoorUncorrected(trackParam.GetBendingCoor());
esdTrack.SetThetaYUncorrected(TMath::ATan(trackParam.GetBendingSlope()));
esdTrack.SetInverseBendingMomentumUncorrected(trackParam.GetInverseBendingMomentum());
}
void AliMUONESDInterface::SetParamCov(const AliMUONTrackParam& trackParam, AliESDMuonTrack& esdTrack)
{
if (!trackParam.CovariancesExist()) {
TMatrixD tmp(5,5);
tmp.Zero();
esdTrack.SetCovariances(tmp);
return;
}
Double_t cosThetaX = TMath::Cos(TMath::ATan(trackParam.GetNonBendingSlope()));
Double_t cosThetaY = TMath::Cos(TMath::ATan(trackParam.GetBendingSlope()));
TMatrixD jacob(5,5);
jacob.Zero();
jacob(0,0) = 1.;
jacob(1,1) = cosThetaX * cosThetaX;
jacob(2,2) = 1.;
jacob(3,3) = cosThetaY * cosThetaY;
jacob(4,4) = 1.;
TMatrixD tmp(trackParam.GetCovariances(),TMatrixD::kMultTranspose,jacob);
esdTrack.SetCovariances(TMatrixD(jacob,TMatrixD::kMult,tmp));
}
void AliMUONESDInterface::ESDToMUON(const AliESDMuonTrack& esdTrack, AliMUONTrack& track, Bool_t refit)
{
if (!esdTrack.ContainTrackerData()) {
track.Reset();
track.SetUniqueID(esdTrack.GetUniqueID());
return;
}
track.Clear("C");
track.SetUniqueID(esdTrack.GetUniqueID());
track.FitWithVertex(kFALSE);
track.FitWithMCS(kFALSE);
track.SetImproved(kFALSE);
track.SetVertexErrXY2(0.,0.);
track.SetGlobalChi2(esdTrack.GetChi2());
track.SetMatchTrigger(esdTrack.GetMatchTrigger());
track.SetChi2MatchTrigger(esdTrack.GetChi2MatchTrigger());
track.SetHitsPatternInTrigCh(esdTrack.GetHitsPatternInTrigCh());
track.SetHitsPatternInTrigChTrk(esdTrack.GetHitsPatternInTrigChTrk());
track.SetLocalTrigger(esdTrack.LoCircuit(), esdTrack.LoStripX(), esdTrack.LoStripY(),
esdTrack.LoDev(), esdTrack.LoLpt(), esdTrack.LoHpt(),
esdTrack.GetTriggerWithoutChamber());
track.Connected(esdTrack.IsConnected());
AliMUONTrackParam paramAtVertex;
GetParamAtVertex(esdTrack, paramAtVertex);
track.SetTrackParamAtVertex(¶mAtVertex);
AliMUONTrackParam param;
GetParamAtFirstCluster(esdTrack, param);
GetParamCov(esdTrack, param);
AliMUONVCluster* cluster = NewCluster();
Bool_t clusterFound = kFALSE;
if(esdTrack.GetESDEvent()) {
for (Int_t i = 0; i < esdTrack.GetNClusters(); i++) {
AliESDMuonCluster *esdCluster = esdTrack.GetESDEvent()->FindMuonCluster(esdTrack.GetClusterId(i));
if (esdCluster) clusterFound = kTRUE;
else {
AliErrorClass("a cluster is missing in ESD");
continue;
}
ESDToMUON(*esdCluster, *cluster);
param.SetZ(cluster->GetZ());
track.AddTrackParamAtCluster(param, *cluster, kTRUE);
}
if (clusterFound && refit) {
AliMUONTrackParam *firstTrackParam = (AliMUONTrackParam*) track.GetTrackParamAtCluster()->First();
AliMUONTrackParam paramSave(*firstTrackParam);
if (!fgTracker) ResetTracker();
if (!fgTracker->RefitTrack(track, kFALSE) && track.GetGlobalChi2() < AliMUONTrack::MaxChi2()) {
*firstTrackParam = paramSave;
track.UpdateCovTrackParamAtCluster();
}
}
}
if (!clusterFound) {
Int_t firstCh = 0;
while (firstCh < 10 && !esdTrack.IsInMuonClusterMap(firstCh)) firstCh++;
cluster->SetUniqueID(AliMUONVCluster::BuildUniqueID(firstCh, 0, 0));
cluster->SetXYZ(param.GetNonBendingCoor(), param.GetBendingCoor(), param.GetZ());
cluster->SetErrXY(0., 0.);
track.AddTrackParamAtCluster(param, *cluster, kTRUE);
}
track.SetMCLabel(esdTrack.GetLabel());
delete cluster;
}
void AliMUONESDInterface::ESDToMUON(const AliESDMuonTrack& esdTrack, AliMUONLocalTrigger& locTrg)
{
AliMUONLocalTrigger emptyLocTrg;
locTrg = emptyLocTrg;
if (!esdTrack.ContainTriggerData()) return;
locTrg.SetUniqueID(esdTrack.GetUniqueID());
locTrg.SetLoCircuit(esdTrack.LoCircuit());
locTrg.SetLoStripX(esdTrack.LoStripX());
locTrg.SetLoStripY(esdTrack.LoStripY());
locTrg.SetDeviation(esdTrack.LoDev());
locTrg.SetLoLpt(esdTrack.LoLpt());
locTrg.SetLoHpt(esdTrack.LoHpt());
for (Int_t ich = 0; ich < 4; ich++)
if (esdTrack.TriggerFiredWithoutChamber(ich))
locTrg.SetTriggerWithoutChamber(ich);
locTrg.SetLoTrigY(0);
locTrg.SetX1Pattern(esdTrack.GetTriggerX1Pattern());
locTrg.SetX2Pattern(esdTrack.GetTriggerX2Pattern());
locTrg.SetX3Pattern(esdTrack.GetTriggerX3Pattern());
locTrg.SetX4Pattern(esdTrack.GetTriggerX4Pattern());
locTrg.SetY1Pattern(esdTrack.GetTriggerY1Pattern());
locTrg.SetY2Pattern(esdTrack.GetTriggerY2Pattern());
locTrg.SetY3Pattern(esdTrack.GetTriggerY3Pattern());
locTrg.SetY4Pattern(esdTrack.GetTriggerY4Pattern());
}
void AliMUONESDInterface::ESDToMUON(const AliESDMuonCluster& esdCluster, AliMUONVCluster& cluster)
{
cluster.Clear("C");
cluster.SetUniqueID(esdCluster.GetUniqueID());
cluster.SetXYZ(esdCluster.GetX(), esdCluster.GetY(), esdCluster.GetZ());
cluster.SetErrXY(esdCluster.GetErrX(),esdCluster.GetErrY());
cluster.SetCharge(esdCluster.GetCharge());
cluster.SetChi2(esdCluster.GetChi2());
cluster.SetMCLabel(esdCluster.GetLabel());
cluster.SetDigitsId(esdCluster.GetNPads(), esdCluster.GetPadsId());
}
void AliMUONESDInterface::ESDToMUON(const AliESDMuonPad& esdPad, AliMUONVDigit& digit)
{
if (!AliMpSegmentation::Instance(kFALSE) && !AliMUONCDB::LoadMapping(kTRUE))
AliFatalClass("mapping segmentation has not been set!");
const AliMpVSegmentation* seg = AliMpSegmentation::Instance()->GetMpSegmentationByElectronics(esdPad.GetDetElemId(), esdPad.GetManuId());
AliMpPad pad = seg->PadByLocation(esdPad.GetManuId(), esdPad.GetManuChannel(), kFALSE);
digit.Saturated(esdPad.IsSaturated());
digit.Used(kFALSE);
digit.Calibrated(esdPad.IsCalibrated());
digit.SetUniqueID(esdPad.GetUniqueID());
digit.SetCharge(esdPad.GetCharge());
digit.SetADC(esdPad.GetADC());
digit.SetPadXY(pad.GetIx(), pad.GetIy());
}
void AliMUONESDInterface::MUONToESD(const AliMUONTrack& track, AliESDEvent& esd, const Double_t vertex[3],
const AliMUONVDigitStore* digits, const AliMUONLocalTrigger* locTrg)
{
AliESDMuonTrack *esdTrack = esd.NewMuonTrack();
MUONToESD(track, *esdTrack, vertex, locTrg);
for (Int_t i = 0; i < track.GetNClusters(); i++) {
AliMUONTrackParam *param = static_cast<AliMUONTrackParam*>(track.GetTrackParamAtCluster()->UncheckedAt(i));
MUONToESD(*(param->GetClusterPtr()), esd, digits);
}
}
void AliMUONESDInterface::MUONToESD(const AliMUONTrack& track, AliESDMuonTrack& esdTrack,
const Double_t vertex[3], const AliMUONLocalTrigger* locTrg)
{
if (track.GetNClusters() == 0) {
if (locTrg) MUONToESD(*locTrg, esdTrack, track.GetUniqueID());
else {
cout<<"W-AliMUONESDInterface::MUONToESD: will produce an empty ESDMuon track"<<endl;
esdTrack.Reset();
esdTrack.SetUniqueID(0xFFFFFFFF);
}
return;
}
esdTrack.Clear("C");
esdTrack.SetUniqueID(track.GetUniqueID());
esdTrack.SetChi2(track.GetGlobalChi2());
esdTrack.SetLabel(track.GetMCLabel());
AliMUONTrackParam* trackParam = static_cast<AliMUONTrackParam*>((track.GetTrackParamAtCluster())->First());
SetParamAtFirstCluster(*trackParam, esdTrack);
SetParamCov(*trackParam, esdTrack);
AliMUONTrackParam trackParamAtAbsEnd(*trackParam);
AliMUONTrackExtrap::ExtrapToZ(&trackParamAtAbsEnd, AliMUONConstants::AbsZEnd());
Double_t xAbs = trackParamAtAbsEnd.GetNonBendingCoor();
Double_t yAbs = trackParamAtAbsEnd.GetBendingCoor();
esdTrack.SetRAtAbsorberEnd(TMath::Sqrt(xAbs*xAbs + yAbs*yAbs));
AliMUONTrackParam trackParamAtVtx(*trackParam);
AliMUONTrackExtrap::ExtrapToVertex(&trackParamAtVtx, vertex[0], vertex[1], vertex[2], 0., 0.);
SetParamAtVertex(trackParamAtVtx, esdTrack);
AliMUONTrackParam trackParamAtDCA(*trackParam);
AliMUONTrackExtrap::ExtrapToVertexWithoutBranson(&trackParamAtDCA, vertex[2]);
SetParamAtDCA(trackParamAtDCA, esdTrack);
esdTrack.SetMuonClusterMap(0);
while (trackParam) {
AliMUONVCluster *cluster = trackParam->GetClusterPtr();
esdTrack.AddClusterId(cluster->GetUniqueID());
esdTrack.AddInMuonClusterMap(cluster->GetChamberId());
trackParam = static_cast<AliMUONTrackParam*>(track.GetTrackParamAtCluster()->After(trackParam));
}
esdTrack.Connected(track.IsConnected());
esdTrack.SetLocalTrigger(track.GetLocalTrigger());
esdTrack.SetChi2MatchTrigger(track.GetChi2MatchTrigger());
esdTrack.SetHitsPatternInTrigCh(track.GetHitsPatternInTrigCh());
esdTrack.SetHitsPatternInTrigChTrk(track.GetHitsPatternInTrigChTrk());
if (locTrg) {
esdTrack.SetTriggerX1Pattern(locTrg->GetX1Pattern());
esdTrack.SetTriggerY1Pattern(locTrg->GetY1Pattern());
esdTrack.SetTriggerX2Pattern(locTrg->GetX2Pattern());
esdTrack.SetTriggerY2Pattern(locTrg->GetY2Pattern());
esdTrack.SetTriggerX3Pattern(locTrg->GetX3Pattern());
esdTrack.SetTriggerY3Pattern(locTrg->GetY3Pattern());
esdTrack.SetTriggerX4Pattern(locTrg->GetX4Pattern());
esdTrack.SetTriggerY4Pattern(locTrg->GetY4Pattern());
} else {
esdTrack.SetTriggerX1Pattern(0);
esdTrack.SetTriggerY1Pattern(0);
esdTrack.SetTriggerX2Pattern(0);
esdTrack.SetTriggerY2Pattern(0);
esdTrack.SetTriggerX3Pattern(0);
esdTrack.SetTriggerY3Pattern(0);
esdTrack.SetTriggerX4Pattern(0);
esdTrack.SetTriggerY4Pattern(0);
}
}
void AliMUONESDInterface::MUONToESD(const AliMUONLocalTrigger& locTrg, AliESDEvent& esd,
UInt_t trackId, const AliMUONTriggerTrack* triggerTrack)
{
AliESDMuonTrack *esdTrack = esd.NewMuonTrack();
MUONToESD(locTrg, *esdTrack, trackId, triggerTrack);
}
void AliMUONESDInterface::MUONToESD(const AliMUONLocalTrigger& locTrg, AliESDMuonTrack& esdTrack,
UInt_t trackId, const AliMUONTriggerTrack* triggerTrack)
{
esdTrack.Reset();
esdTrack.SetUniqueID(trackId);
AliMUONTrack muonTrack;
muonTrack.SetLocalTrigger(locTrg.LoCircuit(),
locTrg.LoStripX(),
locTrg.LoStripY(),
locTrg.GetDeviation(),
locTrg.LoLpt(),
locTrg.LoHpt(),
locTrg.GetTriggerWithoutChamber());
esdTrack.SetLocalTrigger(muonTrack.GetLocalTrigger());
esdTrack.SetChi2MatchTrigger(0.);
esdTrack.SetTriggerX1Pattern(locTrg.GetX1Pattern());
esdTrack.SetTriggerY1Pattern(locTrg.GetY1Pattern());
esdTrack.SetTriggerX2Pattern(locTrg.GetX2Pattern());
esdTrack.SetTriggerY2Pattern(locTrg.GetY2Pattern());
esdTrack.SetTriggerX3Pattern(locTrg.GetX3Pattern());
esdTrack.SetTriggerY3Pattern(locTrg.GetY3Pattern());
esdTrack.SetTriggerX4Pattern(locTrg.GetX4Pattern());
esdTrack.SetTriggerY4Pattern(locTrg.GetY4Pattern());
UShort_t hitPattern = 0;
esdTrack.SetHitsPatternInTrigChTrk(hitPattern);
if(triggerTrack){
hitPattern = triggerTrack->GetHitsPatternInTrigCh();
esdTrack.SetHitsPatternInTrigCh(hitPattern);
esdTrack.SetThetaXUncorrected(triggerTrack->GetThetax());
esdTrack.SetThetaYUncorrected(triggerTrack->GetThetay());
esdTrack.SetNonBendingCoorUncorrected(triggerTrack->GetX11());
esdTrack.SetBendingCoorUncorrected(triggerTrack->GetY11());
esdTrack.SetZUncorrected(triggerTrack->GetZ11());
}
}
void AliMUONESDInterface::MUONToESD(const AliMUONVCluster& cluster, AliESDEvent& esd, const AliMUONVDigitStore* digits)
{
AliESDMuonCluster *esdCluster = esd.FindMuonCluster(cluster.GetUniqueID());
if (!esdCluster) esdCluster = esd.NewMuonCluster();
else if (!digits || esdCluster->GetNPads() > 0) return;
if (digits) {
MUONToESD(cluster, *esdCluster, kTRUE);
for (Int_t i=0; i<cluster.GetNDigits(); i++) {
AliMUONVDigit* digit = digits->FindObject(cluster.GetDigitId(i));
if (!digit) {
AliErrorClass(Form("digit %u not found", cluster.GetDigitId(i)));
continue;
}
MUONToESD(*digit, esd);
}
} else {
MUONToESD(cluster, *esdCluster, kFALSE);
}
}
void AliMUONESDInterface::MUONToESD(const AliMUONVCluster& cluster, AliESDMuonCluster& esdCluster, Bool_t copyPadsId)
{
esdCluster.Clear("C");
esdCluster.SetUniqueID(cluster.GetUniqueID());
esdCluster.SetXYZ(cluster.GetX(), cluster.GetY(), cluster.GetZ());
esdCluster.SetErrXY(cluster.GetErrX(), cluster.GetErrY());
esdCluster.SetCharge(cluster.GetCharge());
esdCluster.SetChi2(cluster.GetChi2());
esdCluster.SetLabel(cluster.GetMCLabel());
if (copyPadsId) esdCluster.SetPadsId(cluster.GetNDigits(), cluster.GetDigitsId());
}
void AliMUONESDInterface::MUONToESD(const AliMUONVDigit& digit, AliESDEvent& esd)
{
if (esd.FindMuonPad(digit.GetUniqueID())) return;
AliESDMuonPad *esdPad = esd.NewMuonPad();
MUONToESD(digit, *esdPad);
}
void AliMUONESDInterface::MUONToESD(const AliMUONVDigit& digit, AliESDMuonPad& esdPad)
{
esdPad.SetUniqueID(digit.GetUniqueID());
esdPad.SetADC(digit.ADC());
esdPad.SetCharge(digit.Charge());
esdPad.SetCalibrated(digit.IsCalibrated());
esdPad.SetSaturated(digit.IsSaturated());
}
AliMUONTrack* AliMUONESDInterface::Add(const AliESDMuonTrack& esdTrack, AliMUONVTrackStore& trackStore, Bool_t refit)
{
if(trackStore.FindObject(esdTrack.GetUniqueID())) return 0x0;
AliMUONTrack* track = trackStore.Add(AliMUONTrack());
ESDToMUON(esdTrack, *track, refit);
return track;
}
void AliMUONESDInterface::Add(const AliESDMuonTrack& esdTrack, AliMUONVTriggerStore& triggerStore)
{
if (!triggerStore.FindLocal(esdTrack.LoCircuit())->IsNull()) return;
AliMUONLocalTrigger locTrg;
ESDToMUON(esdTrack, locTrg);
triggerStore.Add(locTrg);
}
AliMUONVCluster* AliMUONESDInterface::Add(const AliESDMuonCluster& esdCluster, AliMUONVClusterStore& clusterStore)
{
AliMUONVCluster* cluster = clusterStore.Add(esdCluster.GetChamberId(), esdCluster.GetDetElemId(), esdCluster.GetClusterIndex());
if (cluster) ESDToMUON(esdCluster, *cluster);
return cluster;
}
AliMUONVDigit* AliMUONESDInterface::Add(const AliESDMuonPad& esdPad, AliMUONVDigitStore& digitStore)
{
AliMUONVDigit* digit = digitStore.Add(esdPad.GetDetElemId(), esdPad.GetManuId(), esdPad.GetManuChannel(), esdPad.GetCathode(), AliMUONVDigitStore::kDeny);
if (digit) ESDToMUON(esdPad, *digit);
return digit;
}
AliMUONESDInterface.cxx:1 AliMUONESDInterface.cxx:2 AliMUONESDInterface.cxx:3 AliMUONESDInterface.cxx:4 AliMUONESDInterface.cxx:5 AliMUONESDInterface.cxx:6 AliMUONESDInterface.cxx:7 AliMUONESDInterface.cxx:8 AliMUONESDInterface.cxx:9 AliMUONESDInterface.cxx:10 AliMUONESDInterface.cxx:11 AliMUONESDInterface.cxx:12 AliMUONESDInterface.cxx:13 AliMUONESDInterface.cxx:14 AliMUONESDInterface.cxx:15 AliMUONESDInterface.cxx:16 AliMUONESDInterface.cxx:17 AliMUONESDInterface.cxx:18 AliMUONESDInterface.cxx:19 AliMUONESDInterface.cxx:20 AliMUONESDInterface.cxx:21 AliMUONESDInterface.cxx:22 AliMUONESDInterface.cxx:23 AliMUONESDInterface.cxx:24 AliMUONESDInterface.cxx:25 AliMUONESDInterface.cxx:26 AliMUONESDInterface.cxx:27 AliMUONESDInterface.cxx:28 AliMUONESDInterface.cxx:29 AliMUONESDInterface.cxx:30 AliMUONESDInterface.cxx:31 AliMUONESDInterface.cxx:32 AliMUONESDInterface.cxx:33 AliMUONESDInterface.cxx:34 AliMUONESDInterface.cxx:35 AliMUONESDInterface.cxx:36 AliMUONESDInterface.cxx:37 AliMUONESDInterface.cxx:38 AliMUONESDInterface.cxx:39 AliMUONESDInterface.cxx:40 AliMUONESDInterface.cxx:41 AliMUONESDInterface.cxx:42 AliMUONESDInterface.cxx:43 AliMUONESDInterface.cxx:44 AliMUONESDInterface.cxx:45 AliMUONESDInterface.cxx:46 AliMUONESDInterface.cxx:47 AliMUONESDInterface.cxx:48 AliMUONESDInterface.cxx:49 AliMUONESDInterface.cxx:50 AliMUONESDInterface.cxx:51 AliMUONESDInterface.cxx:52 AliMUONESDInterface.cxx:53 AliMUONESDInterface.cxx:54 AliMUONESDInterface.cxx:55 AliMUONESDInterface.cxx:56 AliMUONESDInterface.cxx:57 AliMUONESDInterface.cxx:58 AliMUONESDInterface.cxx:59 AliMUONESDInterface.cxx:60 AliMUONESDInterface.cxx:61 AliMUONESDInterface.cxx:62 AliMUONESDInterface.cxx:63 AliMUONESDInterface.cxx:64 AliMUONESDInterface.cxx:65 AliMUONESDInterface.cxx:66 AliMUONESDInterface.cxx:67 AliMUONESDInterface.cxx:68 AliMUONESDInterface.cxx:69 AliMUONESDInterface.cxx:70 AliMUONESDInterface.cxx:71 AliMUONESDInterface.cxx:72 AliMUONESDInterface.cxx:73 AliMUONESDInterface.cxx:74 AliMUONESDInterface.cxx:75 AliMUONESDInterface.cxx:76 AliMUONESDInterface.cxx:77 AliMUONESDInterface.cxx:78 AliMUONESDInterface.cxx:79 AliMUONESDInterface.cxx:80 AliMUONESDInterface.cxx:81 AliMUONESDInterface.cxx:82 AliMUONESDInterface.cxx:83 AliMUONESDInterface.cxx:84 AliMUONESDInterface.cxx:85 AliMUONESDInterface.cxx:86 AliMUONESDInterface.cxx:87 AliMUONESDInterface.cxx:88 AliMUONESDInterface.cxx:89 AliMUONESDInterface.cxx:90 AliMUONESDInterface.cxx:91 AliMUONESDInterface.cxx:92 AliMUONESDInterface.cxx:93 AliMUONESDInterface.cxx:94 AliMUONESDInterface.cxx:95 AliMUONESDInterface.cxx:96 AliMUONESDInterface.cxx:97 AliMUONESDInterface.cxx:98 AliMUONESDInterface.cxx:99 AliMUONESDInterface.cxx:100 AliMUONESDInterface.cxx:101 AliMUONESDInterface.cxx:102 AliMUONESDInterface.cxx:103 AliMUONESDInterface.cxx:104 AliMUONESDInterface.cxx:105 AliMUONESDInterface.cxx:106 AliMUONESDInterface.cxx:107 AliMUONESDInterface.cxx:108 AliMUONESDInterface.cxx:109 AliMUONESDInterface.cxx:110 AliMUONESDInterface.cxx:111 AliMUONESDInterface.cxx:112 AliMUONESDInterface.cxx:113 AliMUONESDInterface.cxx:114 AliMUONESDInterface.cxx:115 AliMUONESDInterface.cxx:116 AliMUONESDInterface.cxx:117 AliMUONESDInterface.cxx:118 AliMUONESDInterface.cxx:119 AliMUONESDInterface.cxx:120 AliMUONESDInterface.cxx:121 AliMUONESDInterface.cxx:122 AliMUONESDInterface.cxx:123 AliMUONESDInterface.cxx:124 AliMUONESDInterface.cxx:125 AliMUONESDInterface.cxx:126 AliMUONESDInterface.cxx:127 AliMUONESDInterface.cxx:128 AliMUONESDInterface.cxx:129 AliMUONESDInterface.cxx:130 AliMUONESDInterface.cxx:131 AliMUONESDInterface.cxx:132 AliMUONESDInterface.cxx:133 AliMUONESDInterface.cxx:134 AliMUONESDInterface.cxx:135 AliMUONESDInterface.cxx:136 AliMUONESDInterface.cxx:137 AliMUONESDInterface.cxx:138 AliMUONESDInterface.cxx:139 AliMUONESDInterface.cxx:140 AliMUONESDInterface.cxx:141 AliMUONESDInterface.cxx:142 AliMUONESDInterface.cxx:143 AliMUONESDInterface.cxx:144 AliMUONESDInterface.cxx:145 AliMUONESDInterface.cxx:146 AliMUONESDInterface.cxx:147 AliMUONESDInterface.cxx:148 AliMUONESDInterface.cxx:149 AliMUONESDInterface.cxx:150 AliMUONESDInterface.cxx:151 AliMUONESDInterface.cxx:152 AliMUONESDInterface.cxx:153 AliMUONESDInterface.cxx:154 AliMUONESDInterface.cxx:155 AliMUONESDInterface.cxx:156 AliMUONESDInterface.cxx:157 AliMUONESDInterface.cxx:158 AliMUONESDInterface.cxx:159 AliMUONESDInterface.cxx:160 AliMUONESDInterface.cxx:161 AliMUONESDInterface.cxx:162 AliMUONESDInterface.cxx:163 AliMUONESDInterface.cxx:164 AliMUONESDInterface.cxx:165 AliMUONESDInterface.cxx:166 AliMUONESDInterface.cxx:167 AliMUONESDInterface.cxx:168 AliMUONESDInterface.cxx:169 AliMUONESDInterface.cxx:170 AliMUONESDInterface.cxx:171 AliMUONESDInterface.cxx:172 AliMUONESDInterface.cxx:173 AliMUONESDInterface.cxx:174 AliMUONESDInterface.cxx:175 AliMUONESDInterface.cxx:176 AliMUONESDInterface.cxx:177 AliMUONESDInterface.cxx:178 AliMUONESDInterface.cxx:179 AliMUONESDInterface.cxx:180 AliMUONESDInterface.cxx:181 AliMUONESDInterface.cxx:182 AliMUONESDInterface.cxx:183 AliMUONESDInterface.cxx:184 AliMUONESDInterface.cxx:185 AliMUONESDInterface.cxx:186 AliMUONESDInterface.cxx:187 AliMUONESDInterface.cxx:188 AliMUONESDInterface.cxx:189 AliMUONESDInterface.cxx:190 AliMUONESDInterface.cxx:191 AliMUONESDInterface.cxx:192 AliMUONESDInterface.cxx:193 AliMUONESDInterface.cxx:194 AliMUONESDInterface.cxx:195 AliMUONESDInterface.cxx:196 AliMUONESDInterface.cxx:197 AliMUONESDInterface.cxx:198 AliMUONESDInterface.cxx:199 AliMUONESDInterface.cxx:200 AliMUONESDInterface.cxx:201 AliMUONESDInterface.cxx:202 AliMUONESDInterface.cxx:203 AliMUONESDInterface.cxx:204 AliMUONESDInterface.cxx:205 AliMUONESDInterface.cxx:206 AliMUONESDInterface.cxx:207 AliMUONESDInterface.cxx:208 AliMUONESDInterface.cxx:209 AliMUONESDInterface.cxx:210 AliMUONESDInterface.cxx:211 AliMUONESDInterface.cxx:212 AliMUONESDInterface.cxx:213 AliMUONESDInterface.cxx:214 AliMUONESDInterface.cxx:215 AliMUONESDInterface.cxx:216 AliMUONESDInterface.cxx:217 AliMUONESDInterface.cxx:218 AliMUONESDInterface.cxx:219 AliMUONESDInterface.cxx:220 AliMUONESDInterface.cxx:221 AliMUONESDInterface.cxx:222 AliMUONESDInterface.cxx:223 AliMUONESDInterface.cxx:224 AliMUONESDInterface.cxx:225 AliMUONESDInterface.cxx:226 AliMUONESDInterface.cxx:227 AliMUONESDInterface.cxx:228 AliMUONESDInterface.cxx:229 AliMUONESDInterface.cxx:230 AliMUONESDInterface.cxx:231 AliMUONESDInterface.cxx:232 AliMUONESDInterface.cxx:233 AliMUONESDInterface.cxx:234 AliMUONESDInterface.cxx:235 AliMUONESDInterface.cxx:236 AliMUONESDInterface.cxx:237 AliMUONESDInterface.cxx:238 AliMUONESDInterface.cxx:239 AliMUONESDInterface.cxx:240 AliMUONESDInterface.cxx:241 AliMUONESDInterface.cxx:242 AliMUONESDInterface.cxx:243 AliMUONESDInterface.cxx:244 AliMUONESDInterface.cxx:245 AliMUONESDInterface.cxx:246 AliMUONESDInterface.cxx:247 AliMUONESDInterface.cxx:248 AliMUONESDInterface.cxx:249 AliMUONESDInterface.cxx:250 AliMUONESDInterface.cxx:251 AliMUONESDInterface.cxx:252 AliMUONESDInterface.cxx:253 AliMUONESDInterface.cxx:254 AliMUONESDInterface.cxx:255 AliMUONESDInterface.cxx:256 AliMUONESDInterface.cxx:257 AliMUONESDInterface.cxx:258 AliMUONESDInterface.cxx:259 AliMUONESDInterface.cxx:260 AliMUONESDInterface.cxx:261 AliMUONESDInterface.cxx:262 AliMUONESDInterface.cxx:263 AliMUONESDInterface.cxx:264 AliMUONESDInterface.cxx:265 AliMUONESDInterface.cxx:266 AliMUONESDInterface.cxx:267 AliMUONESDInterface.cxx:268 AliMUONESDInterface.cxx:269 AliMUONESDInterface.cxx:270 AliMUONESDInterface.cxx:271 AliMUONESDInterface.cxx:272 AliMUONESDInterface.cxx:273 AliMUONESDInterface.cxx:274 AliMUONESDInterface.cxx:275 AliMUONESDInterface.cxx:276 AliMUONESDInterface.cxx:277 AliMUONESDInterface.cxx:278 AliMUONESDInterface.cxx:279 AliMUONESDInterface.cxx:280 AliMUONESDInterface.cxx:281 AliMUONESDInterface.cxx:282 AliMUONESDInterface.cxx:283 AliMUONESDInterface.cxx:284 AliMUONESDInterface.cxx:285 AliMUONESDInterface.cxx:286 AliMUONESDInterface.cxx:287 AliMUONESDInterface.cxx:288 AliMUONESDInterface.cxx:289 AliMUONESDInterface.cxx:290 AliMUONESDInterface.cxx:291 AliMUONESDInterface.cxx:292 AliMUONESDInterface.cxx:293 AliMUONESDInterface.cxx:294 AliMUONESDInterface.cxx:295 AliMUONESDInterface.cxx:296 AliMUONESDInterface.cxx:297 AliMUONESDInterface.cxx:298 AliMUONESDInterface.cxx:299 AliMUONESDInterface.cxx:300 AliMUONESDInterface.cxx:301 AliMUONESDInterface.cxx:302 AliMUONESDInterface.cxx:303 AliMUONESDInterface.cxx:304 AliMUONESDInterface.cxx:305 AliMUONESDInterface.cxx:306 AliMUONESDInterface.cxx:307 AliMUONESDInterface.cxx:308 AliMUONESDInterface.cxx:309 AliMUONESDInterface.cxx:310 AliMUONESDInterface.cxx:311 AliMUONESDInterface.cxx:312 AliMUONESDInterface.cxx:313 AliMUONESDInterface.cxx:314 AliMUONESDInterface.cxx:315 AliMUONESDInterface.cxx:316 AliMUONESDInterface.cxx:317 AliMUONESDInterface.cxx:318 AliMUONESDInterface.cxx:319 AliMUONESDInterface.cxx:320 AliMUONESDInterface.cxx:321 AliMUONESDInterface.cxx:322 AliMUONESDInterface.cxx:323 AliMUONESDInterface.cxx:324 AliMUONESDInterface.cxx:325 AliMUONESDInterface.cxx:326 AliMUONESDInterface.cxx:327 AliMUONESDInterface.cxx:328 AliMUONESDInterface.cxx:329 AliMUONESDInterface.cxx:330 AliMUONESDInterface.cxx:331 AliMUONESDInterface.cxx:332 AliMUONESDInterface.cxx:333 AliMUONESDInterface.cxx:334 AliMUONESDInterface.cxx:335 AliMUONESDInterface.cxx:336 AliMUONESDInterface.cxx:337 AliMUONESDInterface.cxx:338 AliMUONESDInterface.cxx:339 AliMUONESDInterface.cxx:340 AliMUONESDInterface.cxx:341 AliMUONESDInterface.cxx:342 AliMUONESDInterface.cxx:343 AliMUONESDInterface.cxx:344 AliMUONESDInterface.cxx:345 AliMUONESDInterface.cxx:346 AliMUONESDInterface.cxx:347 AliMUONESDInterface.cxx:348 AliMUONESDInterface.cxx:349 AliMUONESDInterface.cxx:350 AliMUONESDInterface.cxx:351 AliMUONESDInterface.cxx:352 AliMUONESDInterface.cxx:353 AliMUONESDInterface.cxx:354 AliMUONESDInterface.cxx:355 AliMUONESDInterface.cxx:356 AliMUONESDInterface.cxx:357 AliMUONESDInterface.cxx:358 AliMUONESDInterface.cxx:359 AliMUONESDInterface.cxx:360 AliMUONESDInterface.cxx:361 AliMUONESDInterface.cxx:362 AliMUONESDInterface.cxx:363 AliMUONESDInterface.cxx:364 AliMUONESDInterface.cxx:365 AliMUONESDInterface.cxx:366 AliMUONESDInterface.cxx:367 AliMUONESDInterface.cxx:368 AliMUONESDInterface.cxx:369 AliMUONESDInterface.cxx:370 AliMUONESDInterface.cxx:371 AliMUONESDInterface.cxx:372 AliMUONESDInterface.cxx:373 AliMUONESDInterface.cxx:374 AliMUONESDInterface.cxx:375 AliMUONESDInterface.cxx:376 AliMUONESDInterface.cxx:377 AliMUONESDInterface.cxx:378 AliMUONESDInterface.cxx:379 AliMUONESDInterface.cxx:380 AliMUONESDInterface.cxx:381 AliMUONESDInterface.cxx:382 AliMUONESDInterface.cxx:383 AliMUONESDInterface.cxx:384 AliMUONESDInterface.cxx:385 AliMUONESDInterface.cxx:386 AliMUONESDInterface.cxx:387 AliMUONESDInterface.cxx:388 AliMUONESDInterface.cxx:389 AliMUONESDInterface.cxx:390 AliMUONESDInterface.cxx:391 AliMUONESDInterface.cxx:392 AliMUONESDInterface.cxx:393 AliMUONESDInterface.cxx:394 AliMUONESDInterface.cxx:395 AliMUONESDInterface.cxx:396 AliMUONESDInterface.cxx:397 AliMUONESDInterface.cxx:398 AliMUONESDInterface.cxx:399 AliMUONESDInterface.cxx:400 AliMUONESDInterface.cxx:401 AliMUONESDInterface.cxx:402 AliMUONESDInterface.cxx:403 AliMUONESDInterface.cxx:404 AliMUONESDInterface.cxx:405 AliMUONESDInterface.cxx:406 AliMUONESDInterface.cxx:407 AliMUONESDInterface.cxx:408 AliMUONESDInterface.cxx:409 AliMUONESDInterface.cxx:410 AliMUONESDInterface.cxx:411 AliMUONESDInterface.cxx:412 AliMUONESDInterface.cxx:413 AliMUONESDInterface.cxx:414 AliMUONESDInterface.cxx:415 AliMUONESDInterface.cxx:416 AliMUONESDInterface.cxx:417 AliMUONESDInterface.cxx:418 AliMUONESDInterface.cxx:419 AliMUONESDInterface.cxx:420 AliMUONESDInterface.cxx:421 AliMUONESDInterface.cxx:422 AliMUONESDInterface.cxx:423 AliMUONESDInterface.cxx:424 AliMUONESDInterface.cxx:425 AliMUONESDInterface.cxx:426 AliMUONESDInterface.cxx:427 AliMUONESDInterface.cxx:428 AliMUONESDInterface.cxx:429 AliMUONESDInterface.cxx:430 AliMUONESDInterface.cxx:431 AliMUONESDInterface.cxx:432 AliMUONESDInterface.cxx:433 AliMUONESDInterface.cxx:434 AliMUONESDInterface.cxx:435 AliMUONESDInterface.cxx:436 AliMUONESDInterface.cxx:437 AliMUONESDInterface.cxx:438 AliMUONESDInterface.cxx:439 AliMUONESDInterface.cxx:440 AliMUONESDInterface.cxx:441 AliMUONESDInterface.cxx:442 AliMUONESDInterface.cxx:443 AliMUONESDInterface.cxx:444 AliMUONESDInterface.cxx:445 AliMUONESDInterface.cxx:446 AliMUONESDInterface.cxx:447 AliMUONESDInterface.cxx:448 AliMUONESDInterface.cxx:449 AliMUONESDInterface.cxx:450 AliMUONESDInterface.cxx:451 AliMUONESDInterface.cxx:452 AliMUONESDInterface.cxx:453 AliMUONESDInterface.cxx:454 AliMUONESDInterface.cxx:455 AliMUONESDInterface.cxx:456 AliMUONESDInterface.cxx:457 AliMUONESDInterface.cxx:458 AliMUONESDInterface.cxx:459 AliMUONESDInterface.cxx:460 AliMUONESDInterface.cxx:461 AliMUONESDInterface.cxx:462 AliMUONESDInterface.cxx:463 AliMUONESDInterface.cxx:464 AliMUONESDInterface.cxx:465 AliMUONESDInterface.cxx:466 AliMUONESDInterface.cxx:467 AliMUONESDInterface.cxx:468 AliMUONESDInterface.cxx:469 AliMUONESDInterface.cxx:470 AliMUONESDInterface.cxx:471 AliMUONESDInterface.cxx:472 AliMUONESDInterface.cxx:473 AliMUONESDInterface.cxx:474 AliMUONESDInterface.cxx:475 AliMUONESDInterface.cxx:476 AliMUONESDInterface.cxx:477 AliMUONESDInterface.cxx:478 AliMUONESDInterface.cxx:479 AliMUONESDInterface.cxx:480 AliMUONESDInterface.cxx:481 AliMUONESDInterface.cxx:482 AliMUONESDInterface.cxx:483 AliMUONESDInterface.cxx:484 AliMUONESDInterface.cxx:485 AliMUONESDInterface.cxx:486 AliMUONESDInterface.cxx:487 AliMUONESDInterface.cxx:488 AliMUONESDInterface.cxx:489 AliMUONESDInterface.cxx:490 AliMUONESDInterface.cxx:491 AliMUONESDInterface.cxx:492 AliMUONESDInterface.cxx:493 AliMUONESDInterface.cxx:494 AliMUONESDInterface.cxx:495 AliMUONESDInterface.cxx:496 AliMUONESDInterface.cxx:497 AliMUONESDInterface.cxx:498 AliMUONESDInterface.cxx:499 AliMUONESDInterface.cxx:500 AliMUONESDInterface.cxx:501 AliMUONESDInterface.cxx:502 AliMUONESDInterface.cxx:503 AliMUONESDInterface.cxx:504 AliMUONESDInterface.cxx:505 AliMUONESDInterface.cxx:506 AliMUONESDInterface.cxx:507 AliMUONESDInterface.cxx:508 AliMUONESDInterface.cxx:509 AliMUONESDInterface.cxx:510 AliMUONESDInterface.cxx:511 AliMUONESDInterface.cxx:512 AliMUONESDInterface.cxx:513 AliMUONESDInterface.cxx:514 AliMUONESDInterface.cxx:515 AliMUONESDInterface.cxx:516 AliMUONESDInterface.cxx:517 AliMUONESDInterface.cxx:518 AliMUONESDInterface.cxx:519 AliMUONESDInterface.cxx:520 AliMUONESDInterface.cxx:521 AliMUONESDInterface.cxx:522 AliMUONESDInterface.cxx:523 AliMUONESDInterface.cxx:524 AliMUONESDInterface.cxx:525 AliMUONESDInterface.cxx:526 AliMUONESDInterface.cxx:527 AliMUONESDInterface.cxx:528 AliMUONESDInterface.cxx:529 AliMUONESDInterface.cxx:530 AliMUONESDInterface.cxx:531 AliMUONESDInterface.cxx:532 AliMUONESDInterface.cxx:533 AliMUONESDInterface.cxx:534 AliMUONESDInterface.cxx:535 AliMUONESDInterface.cxx:536 AliMUONESDInterface.cxx:537 AliMUONESDInterface.cxx:538 AliMUONESDInterface.cxx:539 AliMUONESDInterface.cxx:540 AliMUONESDInterface.cxx:541 AliMUONESDInterface.cxx:542 AliMUONESDInterface.cxx:543 AliMUONESDInterface.cxx:544 AliMUONESDInterface.cxx:545 AliMUONESDInterface.cxx:546 AliMUONESDInterface.cxx:547 AliMUONESDInterface.cxx:548 AliMUONESDInterface.cxx:549 AliMUONESDInterface.cxx:550 AliMUONESDInterface.cxx:551 AliMUONESDInterface.cxx:552 AliMUONESDInterface.cxx:553 AliMUONESDInterface.cxx:554 AliMUONESDInterface.cxx:555 AliMUONESDInterface.cxx:556 AliMUONESDInterface.cxx:557 AliMUONESDInterface.cxx:558 AliMUONESDInterface.cxx:559 AliMUONESDInterface.cxx:560 AliMUONESDInterface.cxx:561 AliMUONESDInterface.cxx:562 AliMUONESDInterface.cxx:563 AliMUONESDInterface.cxx:564 AliMUONESDInterface.cxx:565 AliMUONESDInterface.cxx:566 AliMUONESDInterface.cxx:567 AliMUONESDInterface.cxx:568 AliMUONESDInterface.cxx:569 AliMUONESDInterface.cxx:570 AliMUONESDInterface.cxx:571 AliMUONESDInterface.cxx:572 AliMUONESDInterface.cxx:573 AliMUONESDInterface.cxx:574 AliMUONESDInterface.cxx:575 AliMUONESDInterface.cxx:576 AliMUONESDInterface.cxx:577 AliMUONESDInterface.cxx:578 AliMUONESDInterface.cxx:579 AliMUONESDInterface.cxx:580 AliMUONESDInterface.cxx:581 AliMUONESDInterface.cxx:582 AliMUONESDInterface.cxx:583 AliMUONESDInterface.cxx:584 AliMUONESDInterface.cxx:585 AliMUONESDInterface.cxx:586 AliMUONESDInterface.cxx:587 AliMUONESDInterface.cxx:588 AliMUONESDInterface.cxx:589 AliMUONESDInterface.cxx:590 AliMUONESDInterface.cxx:591 AliMUONESDInterface.cxx:592 AliMUONESDInterface.cxx:593 AliMUONESDInterface.cxx:594 AliMUONESDInterface.cxx:595 AliMUONESDInterface.cxx:596 AliMUONESDInterface.cxx:597 AliMUONESDInterface.cxx:598 AliMUONESDInterface.cxx:599 AliMUONESDInterface.cxx:600 AliMUONESDInterface.cxx:601 AliMUONESDInterface.cxx:602 AliMUONESDInterface.cxx:603 AliMUONESDInterface.cxx:604 AliMUONESDInterface.cxx:605 AliMUONESDInterface.cxx:606 AliMUONESDInterface.cxx:607 AliMUONESDInterface.cxx:608 AliMUONESDInterface.cxx:609 AliMUONESDInterface.cxx:610 AliMUONESDInterface.cxx:611 AliMUONESDInterface.cxx:612 AliMUONESDInterface.cxx:613 AliMUONESDInterface.cxx:614 AliMUONESDInterface.cxx:615 AliMUONESDInterface.cxx:616 AliMUONESDInterface.cxx:617 AliMUONESDInterface.cxx:618 AliMUONESDInterface.cxx:619 AliMUONESDInterface.cxx:620 AliMUONESDInterface.cxx:621 AliMUONESDInterface.cxx:622 AliMUONESDInterface.cxx:623 AliMUONESDInterface.cxx:624 AliMUONESDInterface.cxx:625 AliMUONESDInterface.cxx:626 AliMUONESDInterface.cxx:627 AliMUONESDInterface.cxx:628 AliMUONESDInterface.cxx:629 AliMUONESDInterface.cxx:630 AliMUONESDInterface.cxx:631 AliMUONESDInterface.cxx:632 AliMUONESDInterface.cxx:633 AliMUONESDInterface.cxx:634 AliMUONESDInterface.cxx:635 AliMUONESDInterface.cxx:636 AliMUONESDInterface.cxx:637 AliMUONESDInterface.cxx:638 AliMUONESDInterface.cxx:639 AliMUONESDInterface.cxx:640 AliMUONESDInterface.cxx:641 AliMUONESDInterface.cxx:642 AliMUONESDInterface.cxx:643 AliMUONESDInterface.cxx:644 AliMUONESDInterface.cxx:645 AliMUONESDInterface.cxx:646 AliMUONESDInterface.cxx:647 AliMUONESDInterface.cxx:648 AliMUONESDInterface.cxx:649 AliMUONESDInterface.cxx:650 AliMUONESDInterface.cxx:651 AliMUONESDInterface.cxx:652 AliMUONESDInterface.cxx:653 AliMUONESDInterface.cxx:654 AliMUONESDInterface.cxx:655 AliMUONESDInterface.cxx:656 AliMUONESDInterface.cxx:657 AliMUONESDInterface.cxx:658 AliMUONESDInterface.cxx:659 AliMUONESDInterface.cxx:660 AliMUONESDInterface.cxx:661 AliMUONESDInterface.cxx:662 AliMUONESDInterface.cxx:663 AliMUONESDInterface.cxx:664 AliMUONESDInterface.cxx:665 AliMUONESDInterface.cxx:666 AliMUONESDInterface.cxx:667 AliMUONESDInterface.cxx:668 AliMUONESDInterface.cxx:669 AliMUONESDInterface.cxx:670 AliMUONESDInterface.cxx:671 AliMUONESDInterface.cxx:672 AliMUONESDInterface.cxx:673 AliMUONESDInterface.cxx:674 AliMUONESDInterface.cxx:675 AliMUONESDInterface.cxx:676 AliMUONESDInterface.cxx:677 AliMUONESDInterface.cxx:678 AliMUONESDInterface.cxx:679 AliMUONESDInterface.cxx:680 AliMUONESDInterface.cxx:681 AliMUONESDInterface.cxx:682 AliMUONESDInterface.cxx:683 AliMUONESDInterface.cxx:684 AliMUONESDInterface.cxx:685 AliMUONESDInterface.cxx:686 AliMUONESDInterface.cxx:687 AliMUONESDInterface.cxx:688 AliMUONESDInterface.cxx:689 AliMUONESDInterface.cxx:690 AliMUONESDInterface.cxx:691 AliMUONESDInterface.cxx:692 AliMUONESDInterface.cxx:693 AliMUONESDInterface.cxx:694 AliMUONESDInterface.cxx:695 AliMUONESDInterface.cxx:696 AliMUONESDInterface.cxx:697 AliMUONESDInterface.cxx:698 AliMUONESDInterface.cxx:699 AliMUONESDInterface.cxx:700 AliMUONESDInterface.cxx:701 AliMUONESDInterface.cxx:702 AliMUONESDInterface.cxx:703 AliMUONESDInterface.cxx:704 AliMUONESDInterface.cxx:705 AliMUONESDInterface.cxx:706 AliMUONESDInterface.cxx:707 AliMUONESDInterface.cxx:708 AliMUONESDInterface.cxx:709 AliMUONESDInterface.cxx:710 AliMUONESDInterface.cxx:711 AliMUONESDInterface.cxx:712 AliMUONESDInterface.cxx:713 AliMUONESDInterface.cxx:714 AliMUONESDInterface.cxx:715 AliMUONESDInterface.cxx:716 AliMUONESDInterface.cxx:717 AliMUONESDInterface.cxx:718 AliMUONESDInterface.cxx:719 AliMUONESDInterface.cxx:720 AliMUONESDInterface.cxx:721 AliMUONESDInterface.cxx:722 AliMUONESDInterface.cxx:723 AliMUONESDInterface.cxx:724 AliMUONESDInterface.cxx:725 AliMUONESDInterface.cxx:726 AliMUONESDInterface.cxx:727 AliMUONESDInterface.cxx:728 AliMUONESDInterface.cxx:729 AliMUONESDInterface.cxx:730 AliMUONESDInterface.cxx:731 AliMUONESDInterface.cxx:732 AliMUONESDInterface.cxx:733 AliMUONESDInterface.cxx:734 AliMUONESDInterface.cxx:735 AliMUONESDInterface.cxx:736 AliMUONESDInterface.cxx:737 AliMUONESDInterface.cxx:738 AliMUONESDInterface.cxx:739 AliMUONESDInterface.cxx:740 AliMUONESDInterface.cxx:741 AliMUONESDInterface.cxx:742 AliMUONESDInterface.cxx:743 AliMUONESDInterface.cxx:744 AliMUONESDInterface.cxx:745 AliMUONESDInterface.cxx:746 AliMUONESDInterface.cxx:747 AliMUONESDInterface.cxx:748 AliMUONESDInterface.cxx:749 AliMUONESDInterface.cxx:750 AliMUONESDInterface.cxx:751 AliMUONESDInterface.cxx:752 AliMUONESDInterface.cxx:753 AliMUONESDInterface.cxx:754 AliMUONESDInterface.cxx:755 AliMUONESDInterface.cxx:756 AliMUONESDInterface.cxx:757 AliMUONESDInterface.cxx:758 AliMUONESDInterface.cxx:759 AliMUONESDInterface.cxx:760 AliMUONESDInterface.cxx:761 AliMUONESDInterface.cxx:762 AliMUONESDInterface.cxx:763 AliMUONESDInterface.cxx:764 AliMUONESDInterface.cxx:765 AliMUONESDInterface.cxx:766 AliMUONESDInterface.cxx:767 AliMUONESDInterface.cxx:768 AliMUONESDInterface.cxx:769 AliMUONESDInterface.cxx:770 AliMUONESDInterface.cxx:771 AliMUONESDInterface.cxx:772 AliMUONESDInterface.cxx:773 AliMUONESDInterface.cxx:774 AliMUONESDInterface.cxx:775 AliMUONESDInterface.cxx:776 AliMUONESDInterface.cxx:777 AliMUONESDInterface.cxx:778 AliMUONESDInterface.cxx:779 AliMUONESDInterface.cxx:780 AliMUONESDInterface.cxx:781 AliMUONESDInterface.cxx:782 AliMUONESDInterface.cxx:783 AliMUONESDInterface.cxx:784 AliMUONESDInterface.cxx:785 AliMUONESDInterface.cxx:786 AliMUONESDInterface.cxx:787 AliMUONESDInterface.cxx:788 AliMUONESDInterface.cxx:789 AliMUONESDInterface.cxx:790 AliMUONESDInterface.cxx:791 AliMUONESDInterface.cxx:792 AliMUONESDInterface.cxx:793 AliMUONESDInterface.cxx:794 AliMUONESDInterface.cxx:795 AliMUONESDInterface.cxx:796 AliMUONESDInterface.cxx:797 AliMUONESDInterface.cxx:798 AliMUONESDInterface.cxx:799 AliMUONESDInterface.cxx:800 AliMUONESDInterface.cxx:801 AliMUONESDInterface.cxx:802 AliMUONESDInterface.cxx:803 AliMUONESDInterface.cxx:804 AliMUONESDInterface.cxx:805 AliMUONESDInterface.cxx:806 AliMUONESDInterface.cxx:807 AliMUONESDInterface.cxx:808 AliMUONESDInterface.cxx:809 AliMUONESDInterface.cxx:810 AliMUONESDInterface.cxx:811 AliMUONESDInterface.cxx:812 AliMUONESDInterface.cxx:813 AliMUONESDInterface.cxx:814 AliMUONESDInterface.cxx:815 AliMUONESDInterface.cxx:816 AliMUONESDInterface.cxx:817 AliMUONESDInterface.cxx:818 AliMUONESDInterface.cxx:819 AliMUONESDInterface.cxx:820 AliMUONESDInterface.cxx:821 AliMUONESDInterface.cxx:822 AliMUONESDInterface.cxx:823 AliMUONESDInterface.cxx:824 AliMUONESDInterface.cxx:825 AliMUONESDInterface.cxx:826 AliMUONESDInterface.cxx:827 AliMUONESDInterface.cxx:828 AliMUONESDInterface.cxx:829 AliMUONESDInterface.cxx:830 AliMUONESDInterface.cxx:831 AliMUONESDInterface.cxx:832 AliMUONESDInterface.cxx:833 AliMUONESDInterface.cxx:834 AliMUONESDInterface.cxx:835 AliMUONESDInterface.cxx:836 AliMUONESDInterface.cxx:837 AliMUONESDInterface.cxx:838 AliMUONESDInterface.cxx:839 AliMUONESDInterface.cxx:840 AliMUONESDInterface.cxx:841 AliMUONESDInterface.cxx:842 AliMUONESDInterface.cxx:843 AliMUONESDInterface.cxx:844 AliMUONESDInterface.cxx:845 AliMUONESDInterface.cxx:846 AliMUONESDInterface.cxx:847 AliMUONESDInterface.cxx:848 AliMUONESDInterface.cxx:849 AliMUONESDInterface.cxx:850 AliMUONESDInterface.cxx:851 AliMUONESDInterface.cxx:852 AliMUONESDInterface.cxx:853 AliMUONESDInterface.cxx:854 AliMUONESDInterface.cxx:855 AliMUONESDInterface.cxx:856 AliMUONESDInterface.cxx:857 AliMUONESDInterface.cxx:858 AliMUONESDInterface.cxx:859 AliMUONESDInterface.cxx:860 AliMUONESDInterface.cxx:861 AliMUONESDInterface.cxx:862 AliMUONESDInterface.cxx:863 AliMUONESDInterface.cxx:864 AliMUONESDInterface.cxx:865 AliMUONESDInterface.cxx:866 AliMUONESDInterface.cxx:867 AliMUONESDInterface.cxx:868 AliMUONESDInterface.cxx:869 AliMUONESDInterface.cxx:870 AliMUONESDInterface.cxx:871 AliMUONESDInterface.cxx:872 AliMUONESDInterface.cxx:873 AliMUONESDInterface.cxx:874 AliMUONESDInterface.cxx:875 AliMUONESDInterface.cxx:876 AliMUONESDInterface.cxx:877 AliMUONESDInterface.cxx:878 AliMUONESDInterface.cxx:879 AliMUONESDInterface.cxx:880 AliMUONESDInterface.cxx:881 AliMUONESDInterface.cxx:882 AliMUONESDInterface.cxx:883 AliMUONESDInterface.cxx:884 AliMUONESDInterface.cxx:885 AliMUONESDInterface.cxx:886 AliMUONESDInterface.cxx:887 AliMUONESDInterface.cxx:888 AliMUONESDInterface.cxx:889 AliMUONESDInterface.cxx:890 AliMUONESDInterface.cxx:891 AliMUONESDInterface.cxx:892 AliMUONESDInterface.cxx:893 AliMUONESDInterface.cxx:894 AliMUONESDInterface.cxx:895 AliMUONESDInterface.cxx:896 AliMUONESDInterface.cxx:897 AliMUONESDInterface.cxx:898 AliMUONESDInterface.cxx:899 AliMUONESDInterface.cxx:900 AliMUONESDInterface.cxx:901 AliMUONESDInterface.cxx:902 AliMUONESDInterface.cxx:903 AliMUONESDInterface.cxx:904 AliMUONESDInterface.cxx:905 AliMUONESDInterface.cxx:906 AliMUONESDInterface.cxx:907 AliMUONESDInterface.cxx:908 AliMUONESDInterface.cxx:909 AliMUONESDInterface.cxx:910 AliMUONESDInterface.cxx:911 AliMUONESDInterface.cxx:912 AliMUONESDInterface.cxx:913 AliMUONESDInterface.cxx:914 AliMUONESDInterface.cxx:915 AliMUONESDInterface.cxx:916 AliMUONESDInterface.cxx:917 AliMUONESDInterface.cxx:918 AliMUONESDInterface.cxx:919 AliMUONESDInterface.cxx:920 AliMUONESDInterface.cxx:921 AliMUONESDInterface.cxx:922 AliMUONESDInterface.cxx:923 AliMUONESDInterface.cxx:924 AliMUONESDInterface.cxx:925 AliMUONESDInterface.cxx:926 AliMUONESDInterface.cxx:927 AliMUONESDInterface.cxx:928 AliMUONESDInterface.cxx:929 AliMUONESDInterface.cxx:930 AliMUONESDInterface.cxx:931 AliMUONESDInterface.cxx:932 AliMUONESDInterface.cxx:933 AliMUONESDInterface.cxx:934 AliMUONESDInterface.cxx:935 AliMUONESDInterface.cxx:936 AliMUONESDInterface.cxx:937 AliMUONESDInterface.cxx:938 AliMUONESDInterface.cxx:939 AliMUONESDInterface.cxx:940 AliMUONESDInterface.cxx:941 AliMUONESDInterface.cxx:942 AliMUONESDInterface.cxx:943 AliMUONESDInterface.cxx:944 AliMUONESDInterface.cxx:945 AliMUONESDInterface.cxx:946 AliMUONESDInterface.cxx:947 AliMUONESDInterface.cxx:948 AliMUONESDInterface.cxx:949 AliMUONESDInterface.cxx:950 AliMUONESDInterface.cxx:951 AliMUONESDInterface.cxx:952 AliMUONESDInterface.cxx:953 AliMUONESDInterface.cxx:954 AliMUONESDInterface.cxx:955 AliMUONESDInterface.cxx:956 AliMUONESDInterface.cxx:957 AliMUONESDInterface.cxx:958 AliMUONESDInterface.cxx:959 AliMUONESDInterface.cxx:960 AliMUONESDInterface.cxx:961 AliMUONESDInterface.cxx:962 AliMUONESDInterface.cxx:963 AliMUONESDInterface.cxx:964 AliMUONESDInterface.cxx:965 AliMUONESDInterface.cxx:966 AliMUONESDInterface.cxx:967 AliMUONESDInterface.cxx:968 AliMUONESDInterface.cxx:969 AliMUONESDInterface.cxx:970 AliMUONESDInterface.cxx:971 AliMUONESDInterface.cxx:972 AliMUONESDInterface.cxx:973 AliMUONESDInterface.cxx:974 AliMUONESDInterface.cxx:975 AliMUONESDInterface.cxx:976 AliMUONESDInterface.cxx:977 AliMUONESDInterface.cxx:978 AliMUONESDInterface.cxx:979 AliMUONESDInterface.cxx:980 AliMUONESDInterface.cxx:981 AliMUONESDInterface.cxx:982 AliMUONESDInterface.cxx:983 AliMUONESDInterface.cxx:984 AliMUONESDInterface.cxx:985 AliMUONESDInterface.cxx:986 AliMUONESDInterface.cxx:987 AliMUONESDInterface.cxx:988 AliMUONESDInterface.cxx:989 AliMUONESDInterface.cxx:990 AliMUONESDInterface.cxx:991 AliMUONESDInterface.cxx:992 AliMUONESDInterface.cxx:993 AliMUONESDInterface.cxx:994 AliMUONESDInterface.cxx:995 AliMUONESDInterface.cxx:996 AliMUONESDInterface.cxx:997 AliMUONESDInterface.cxx:998 AliMUONESDInterface.cxx:999 AliMUONESDInterface.cxx:1000 AliMUONESDInterface.cxx:1001 AliMUONESDInterface.cxx:1002 AliMUONESDInterface.cxx:1003 AliMUONESDInterface.cxx:1004 AliMUONESDInterface.cxx:1005 AliMUONESDInterface.cxx:1006 AliMUONESDInterface.cxx:1007 AliMUONESDInterface.cxx:1008 AliMUONESDInterface.cxx:1009 AliMUONESDInterface.cxx:1010 AliMUONESDInterface.cxx:1011 AliMUONESDInterface.cxx:1012 AliMUONESDInterface.cxx:1013 AliMUONESDInterface.cxx:1014 AliMUONESDInterface.cxx:1015 AliMUONESDInterface.cxx:1016 AliMUONESDInterface.cxx:1017 AliMUONESDInterface.cxx:1018 AliMUONESDInterface.cxx:1019 AliMUONESDInterface.cxx:1020 AliMUONESDInterface.cxx:1021 AliMUONESDInterface.cxx:1022 AliMUONESDInterface.cxx:1023 AliMUONESDInterface.cxx:1024 AliMUONESDInterface.cxx:1025 AliMUONESDInterface.cxx:1026 AliMUONESDInterface.cxx:1027 AliMUONESDInterface.cxx:1028 AliMUONESDInterface.cxx:1029 AliMUONESDInterface.cxx:1030 AliMUONESDInterface.cxx:1031 AliMUONESDInterface.cxx:1032 AliMUONESDInterface.cxx:1033 AliMUONESDInterface.cxx:1034 AliMUONESDInterface.cxx:1035 AliMUONESDInterface.cxx:1036 AliMUONESDInterface.cxx:1037 AliMUONESDInterface.cxx:1038 AliMUONESDInterface.cxx:1039 AliMUONESDInterface.cxx:1040 AliMUONESDInterface.cxx:1041 AliMUONESDInterface.cxx:1042 AliMUONESDInterface.cxx:1043 AliMUONESDInterface.cxx:1044 AliMUONESDInterface.cxx:1045 AliMUONESDInterface.cxx:1046 AliMUONESDInterface.cxx:1047 AliMUONESDInterface.cxx:1048 AliMUONESDInterface.cxx:1049 AliMUONESDInterface.cxx:1050 AliMUONESDInterface.cxx:1051 AliMUONESDInterface.cxx:1052 AliMUONESDInterface.cxx:1053 AliMUONESDInterface.cxx:1054 AliMUONESDInterface.cxx:1055 AliMUONESDInterface.cxx:1056 AliMUONESDInterface.cxx:1057 AliMUONESDInterface.cxx:1058 AliMUONESDInterface.cxx:1059 AliMUONESDInterface.cxx:1060 AliMUONESDInterface.cxx:1061 AliMUONESDInterface.cxx:1062 AliMUONESDInterface.cxx:1063 AliMUONESDInterface.cxx:1064 AliMUONESDInterface.cxx:1065 AliMUONESDInterface.cxx:1066 AliMUONESDInterface.cxx:1067 AliMUONESDInterface.cxx:1068 AliMUONESDInterface.cxx:1069 AliMUONESDInterface.cxx:1070 AliMUONESDInterface.cxx:1071 AliMUONESDInterface.cxx:1072 AliMUONESDInterface.cxx:1073 AliMUONESDInterface.cxx:1074 AliMUONESDInterface.cxx:1075 AliMUONESDInterface.cxx:1076 AliMUONESDInterface.cxx:1077 AliMUONESDInterface.cxx:1078 AliMUONESDInterface.cxx:1079 AliMUONESDInterface.cxx:1080 AliMUONESDInterface.cxx:1081 AliMUONESDInterface.cxx:1082 AliMUONESDInterface.cxx:1083 AliMUONESDInterface.cxx:1084 AliMUONESDInterface.cxx:1085 AliMUONESDInterface.cxx:1086 AliMUONESDInterface.cxx:1087 AliMUONESDInterface.cxx:1088 AliMUONESDInterface.cxx:1089 AliMUONESDInterface.cxx:1090 AliMUONESDInterface.cxx:1091 AliMUONESDInterface.cxx:1092 AliMUONESDInterface.cxx:1093 AliMUONESDInterface.cxx:1094 AliMUONESDInterface.cxx:1095 AliMUONESDInterface.cxx:1096 AliMUONESDInterface.cxx:1097 AliMUONESDInterface.cxx:1098 AliMUONESDInterface.cxx:1099 AliMUONESDInterface.cxx:1100 AliMUONESDInterface.cxx:1101 AliMUONESDInterface.cxx:1102 AliMUONESDInterface.cxx:1103 AliMUONESDInterface.cxx:1104 AliMUONESDInterface.cxx:1105 AliMUONESDInterface.cxx:1106 AliMUONESDInterface.cxx:1107 AliMUONESDInterface.cxx:1108 AliMUONESDInterface.cxx:1109 AliMUONESDInterface.cxx:1110 AliMUONESDInterface.cxx:1111 AliMUONESDInterface.cxx:1112 AliMUONESDInterface.cxx:1113 AliMUONESDInterface.cxx:1114 AliMUONESDInterface.cxx:1115 AliMUONESDInterface.cxx:1116 AliMUONESDInterface.cxx:1117 AliMUONESDInterface.cxx:1118 AliMUONESDInterface.cxx:1119 AliMUONESDInterface.cxx:1120 AliMUONESDInterface.cxx:1121 AliMUONESDInterface.cxx:1122 AliMUONESDInterface.cxx:1123 AliMUONESDInterface.cxx:1124 AliMUONESDInterface.cxx:1125 AliMUONESDInterface.cxx:1126 AliMUONESDInterface.cxx:1127 AliMUONESDInterface.cxx:1128 AliMUONESDInterface.cxx:1129 AliMUONESDInterface.cxx:1130 AliMUONESDInterface.cxx:1131 AliMUONESDInterface.cxx:1132 AliMUONESDInterface.cxx:1133 AliMUONESDInterface.cxx:1134 AliMUONESDInterface.cxx:1135 AliMUONESDInterface.cxx:1136 AliMUONESDInterface.cxx:1137 AliMUONESDInterface.cxx:1138 AliMUONESDInterface.cxx:1139 AliMUONESDInterface.cxx:1140 AliMUONESDInterface.cxx:1141 AliMUONESDInterface.cxx:1142 AliMUONESDInterface.cxx:1143 AliMUONESDInterface.cxx:1144 AliMUONESDInterface.cxx:1145 AliMUONESDInterface.cxx:1146 AliMUONESDInterface.cxx:1147 AliMUONESDInterface.cxx:1148 AliMUONESDInterface.cxx:1149 AliMUONESDInterface.cxx:1150 AliMUONESDInterface.cxx:1151 AliMUONESDInterface.cxx:1152 AliMUONESDInterface.cxx:1153 AliMUONESDInterface.cxx:1154