#include <TROOT.h>
#include <TList.h>
#include <THnSparse.h>
#include <TObjArray.h>
#include <TObjString.h>
#include <TGeoGlobalMagField.h>
#include <TVectorD.h>
#include <TH1F.h>
#include <TH2F.h>
#include <TH2D.h>
#include <TFile.h>
#include "AliESDEvent.h"
#include "AliESDMuonTrack.h"
#include "AliGeomManager.h"
#include "AliCDBManager.h"
#include "AliInputEventHandler.h"
#include "AliCounterCollection.h"
#include "AliAnalysisDataSlot.h"
#include "AliAnalysisDataContainer.h"
#include "AliAnalysisManager.h"
#include "AliCentrality.h"
#include "AliAnalysisTaskMuonTrackingEff.h"
#include "AliMUONCDB.h"
#include "AliMUONESDInterface.h"
#include "AliMUONVTrackReconstructor.h"
#include "AliMUONRecoParam.h"
#include "AliMUONGeometryTransformer.h"
#include "AliMUONTrack.h"
#include "AliMUONTrackParam.h"
#include "AliMUONTrackExtrap.h"
#include "AliMUONVCluster.h"
#include "AliMUONConstants.h"
#include "AliMUON2DMap.h"
#include "AliMUONVCalibParam.h"
#include "AliMUONCalibParamNI.h"
#include "AliMUONTrackerData.h"
#include "AliMpDEManager.h"
#include "AliMpSegmentation.h"
#include "AliMpVSegmentation.h"
#include "AliMpPad.h"
#include "AliMpArea.h"
#include "AliMpDEIterator.h"
#include "AliMpConstants.h"
#include "AliMpDDLStore.h"
ClassImp(AliAnalysisTaskMuonTrackingEff)
const Int_t AliAnalysisTaskMuonTrackingEff::fgkNofDE[11] = {4, 4, 4, 4, 18, 18, 26, 26, 26, 26, 156};
const Int_t AliAnalysisTaskMuonTrackingEff::fgkNofBusPath = 888;
const Int_t AliAnalysisTaskMuonTrackingEff::fgkNofManu = 16828;
AliAnalysisTaskMuonTrackingEff::AliAnalysisTaskMuonTrackingEff() :
AliAnalysisTaskSE(),
fOCDBLoaded(kFALSE),
fOCDBpath(""),
fAlignOCDBpath(""),
fRecoParamOCDBpath(""),
fCentMin(-FLT_MAX),
fCentMax(FLT_MAX),
fMuonTrackCuts(0x0),
fPtCut(-1.),
fUseMCLabel(kFALSE),
fEnableDisplay(kFALSE),
fTransformer(0x0),
fDEPlanes(0x0),
fClusters(0x0),
fChamberTDHistList(0x0),
fChamberTTHistList(0x0),
fChamberSDHistList(0x0),
fExtraHistList(0x0)
{
}
AliAnalysisTaskMuonTrackingEff::AliAnalysisTaskMuonTrackingEff(TString name) :
AliAnalysisTaskSE(name),
fOCDBLoaded(kFALSE),
fOCDBpath("raw://"),
fAlignOCDBpath(""),
fRecoParamOCDBpath(""),
fCentMin(-FLT_MAX),
fCentMax(FLT_MAX),
fMuonTrackCuts(0x0),
fPtCut(-1.),
fUseMCLabel(kFALSE),
fEnableDisplay(kFALSE),
fTransformer(0x0),
fDEPlanes(0x0),
fClusters(0x0),
fChamberTDHistList(0x0),
fChamberTTHistList(0x0),
fChamberSDHistList(0x0),
fExtraHistList(0x0)
{
DefineOutput(1, AliCounterCollection::Class());
DefineOutput(2, TList::Class());
DefineOutput(3, TList::Class());
DefineOutput(4, TList::Class());
DefineOutput(5, TList::Class());
}
AliAnalysisTaskMuonTrackingEff::~AliAnalysisTaskMuonTrackingEff()
{
if (!AliAnalysisManager::GetAnalysisManager()->IsProofMode()) {
delete fMuonTrackCuts;
delete fClusters;
delete fChamberTDHistList;
delete fChamberTTHistList;
delete fChamberSDHistList;
delete fExtraHistList;
}
delete fTransformer;
delete fDEPlanes;
}
void AliAnalysisTaskMuonTrackingEff::NotifyRun()
{
if (fOCDBLoaded) return;
AliCDBManager* man = AliCDBManager::Instance();
if (man->IsDefaultStorageSet()) printf("EfficiencyTask: CDB default storage already set!\n");
else {
man->SetDefaultStorage(fOCDBpath.Data());
if (!fAlignOCDBpath.IsNull()) man->SetSpecificStorage("MUON/Align/Data",fAlignOCDBpath.Data());
if (!fRecoParamOCDBpath.IsNull()) man->SetSpecificStorage("MUON/Calib/RecoParam",fRecoParamOCDBpath.Data());
}
if (man->GetRun() > -1) printf("EfficiencyTask: run number already set!\n");
else man->SetRun(fCurrentRunNumber);
if (!AliGeomManager::GetGeometry()) {
AliGeomManager::LoadGeometry();
if (!AliGeomManager::GetGeometry()) return;
if (!AliGeomManager::ApplyAlignObjsFromCDB("MUON")) return;
}
fTransformer = new AliMUONGeometryTransformer();
fTransformer->LoadGeometryData();
if (!AliMpSegmentation::Instance(kFALSE) || !AliMpDDLStore::Instance(kFALSE)) {
if (!AliMUONCDB::LoadMapping()) return;
}
Double_t pl0[3] = {0., 0., 0.};
Double_t pl1[3] = {0., 0., 1.};
Double_t pg0[3], pg1[3];
fDEPlanes = new TObjArray(1026);
fDEPlanes->SetOwner(kTRUE);
for (Int_t i = 0; i < AliMUONConstants::NTrackingCh(); i++) {
AliMpDEIterator it;
it.First(i);
while (!it.IsDone()) {
Int_t deId = it.CurrentDEId();
fTransformer->Local2Global(deId, pl0[0], pl0[1], pl0[2], pg0[0], pg0[1], pg0[2]);
fTransformer->Local2Global(deId, pl1[0], pl1[1], pl1[2], pg1[0], pg1[1], pg1[2]);
TVectorD *plane = new TVectorD(6);
(*plane)[0] = pg0[0];
(*plane)[1] = pg0[1];
(*plane)[2] = pg0[2];
(*plane)[3] = pg1[0] - pg0[0];
(*plane)[4] = pg1[1] - pg0[1];
(*plane)[5] = pg1[2] - pg0[2];
fDEPlanes->AddAt(plane, deId);
it.Next();
}
}
if (!AliMUONESDInterface::GetTracker()) AliMUONESDInterface::ResetTracker();
if (!fMuonTrackCuts) AliFatal("You must specify the requested selections (AliMuonTrackCut obj is missing)");
fMuonTrackCuts->SetRun(fInputHandler);
fMuonTrackCuts->Print();
fOCDBLoaded = kTRUE;
}
void AliAnalysisTaskMuonTrackingEff::UserCreateOutputObjects()
{
fClusters = new AliCounterCollection(GetOutputSlot(1)->GetContainer()->GetName());
fClusters->AddRubric("Cluster", "Detected/Accepted/Expected");
fClusters->AddRubric("Chamber", AliMpConstants::NofTrackingChambers());
fClusters->AddRubric("DE", fgkNofDE[10]);
fClusters->AddRubric("BusPatch", fgkNofBusPath);
fClusters->AddRubric("Manu", fgkNofManu);
fClusters->AddRubric("Channel", AliMpConstants::ManuNofChannels());
fClusters->Init();
fChamberTDHistList = new TList();
fChamberTDHistList->SetOwner();
fChamberTTHistList = new TList();
fChamberTTHistList->SetOwner();
fChamberSDHistList = new TList();
fChamberSDHistList->SetOwner();
fExtraHistList = new TList();
fExtraHistList->SetOwner();
THnSparse *hn = 0x0;
TString histName, histTitle;
Int_t nCentBins = 22;
Double_t centRange[2] = {-5., 105.};
const Int_t nDims = 6;
Int_t nBins[nDims] = {0, nCentBins, 20, 15, 15, 2};
Double_t xMin[nDims] = {0., centRange[0], 0., -4., 0., -2.};
Double_t xMax[nDims] = {0., centRange[1], 20., -2.5, TMath::TwoPi(), 2.};
for (Int_t iCh = 0; iCh < 10; iCh++)
{
nBins[0] = fgkNofDE[iCh];
xMin[0] = 0.; xMax[0] = static_cast<Double_t>(fgkNofDE[iCh]);
histTitle.Form("ChamberNbr %d", iCh+1);
histName.Form("TD_ChamberNbr%d", iCh+1);
hn = new THnSparseT<TArrayF>(histName, histTitle, nDims, nBins, xMin, xMax);
fChamberTDHistList->AddAt(hn, iCh);
histName.Form("TT_ChamberNbr%d",iCh+1);
hn = new THnSparseT<TArrayF>(histName, histTitle, nDims, nBins, xMin, xMax);
fChamberTTHistList->AddAt(hn, iCh);
histName.Form("SD_ChamberNbr%d", iCh+1);
hn = new THnSparseT<TArrayF>(histName, histTitle, nDims, nBins, xMin, xMax);
fChamberSDHistList->AddAt(hn, iCh);
}
nBins[0] = 10;
xMin[0] = 0.5; xMax[0] = 10.5;
hn = new THnSparseT<TArrayF>("TD_Chambers 11", "Chambers 11", nDims, nBins, xMin, xMax);
fChamberTDHistList->AddAt(hn, 10);
hn = new THnSparseT<TArrayF>("TT_Chambers 11", "Chambers 11", nDims, nBins, xMin, xMax);
fChamberTTHistList->AddAt(hn, 10);
hn = new THnSparseT<TArrayF>("SD_Chambers 11", "Chambers 11", nDims, nBins, xMin, xMax);
fChamberSDHistList->AddAt(hn, 10);
TH1F *fHistCent = new TH1F("fHistCent", "centrality distribution", nCentBins, centRange[0], centRange[1]);
fExtraHistList->AddAt(fHistCent,0);
TH1F *fHistPt = new TH1F("fHistPt", "pt distribution", 250, 0., 50.);
fExtraHistList->AddAt(fHistPt,1);
TH1F *fHistY = new TH1F("fHistY", "y distribution", 60, -4., -2.5);
fExtraHistList->AddAt(fHistY,2);
TH1F *fHistTheta = new TH1F("fHistTheta", "theta distribution", 120, 2.8, 3.2);
fExtraHistList->AddAt(fHistTheta,3);
TH1F *fHistP = new TH1F("fHistP", "momentum distribution", 250, 0., 500.);
fExtraHistList->AddAt(fHistP,4);
TH1F *fHistZ = new TH1F("fHistZ", "Z distribution", 200, -100., 100.);
fExtraHistList->AddAt(fHistZ,5);
TH1F *fHistPhi = new TH1F("fHistPhi", "phi distribution", 60, 0., TMath::TwoPi());
fExtraHistList->AddAt(fHistPhi,6);
TH1F *fHistPtRap2p5To2p75 = new TH1F("fHistPtRap2p5To2p75", "2.5 < y < 2.75", 250, 0., 50.);
fExtraHistList->AddAt(fHistPtRap2p5To2p75,7);
TH1F *fHistPtRap2p75To3p0 = new TH1F("fHistPtRap2p75To3p0", "2.75 < y < 3.0", 250, 0., 50.);
fExtraHistList->AddAt(fHistPtRap2p75To3p0,8);
TH1F *fHistPtRap3p0To3p25 = new TH1F("fHistPtRap3p0To3p25", "3.0 < y < 3.25", 250, 0., 50.);
fExtraHistList->AddAt(fHistPtRap3p0To3p25,9);
TH1F *fHistPtRap3p25To3p5 = new TH1F("fHistPtRap3p25To3p5", "3.25 < y < 3.5", 250, 0., 50.);
fExtraHistList->AddAt(fHistPtRap3p25To3p5,10);
TH1F *fHistPtRap3p5To3p75 = new TH1F("fHistPtRap3p5To3p75", "3.5 < y < 3.75", 250, 0., 50.);
fExtraHistList->AddAt(fHistPtRap3p5To3p75,11);
TH1F *fHistPtRap3p75To4p0 = new TH1F("fHistPtRap3p75To4p0", "3.75 < y < 4.0", 250, 0., 50.);
fExtraHistList->AddAt(fHistPtRap3p75To4p0,12);
TH1F *fHistRapPt1p0To2p0 = new TH1F("fHistRapPt1p0To2p0", "1.0 < pT < 2.0", 60, -4., -2.5);
fExtraHistList->AddAt(fHistRapPt1p0To2p0,13);
TH1F *fHistRapPt2p0To5p0 = new TH1F("fHistRapPt2p0To5p0", "2.0 < pT < 5.0", 60, -4., -2.5);
fExtraHistList->AddAt(fHistRapPt2p0To5p0,14);
TH1F *fHistRapPt5p0To8p0 = new TH1F("fHistRapPt5p0To8p0", "5.0 < pT < 8.0", 60, -4., -2.5);
fExtraHistList->AddAt(fHistRapPt5p0To8p0,15);
TH1F *fHistRapPt2p0To4p0 = new TH1F("fHistRapPt2p0To4p0", "2.0 < pT < 4.0", 60, -4., -2.5);
fExtraHistList->AddAt(fHistRapPt2p0To4p0,16);
TH1F *fHistRapPt4p0To8p0 = new TH1F("fHistRapPt4p0To8p0", "4.0 < pT < 8.0", 60, -4., -2.5);
fExtraHistList->AddAt(fHistRapPt4p0To8p0,17);
TH2D *hDXYOverDXYMax = new TH2D("hDXYOverDXYMax", "DXY / DXYMax;DX / DXMax;DY / DYMax", 100, -1., 1., 100, -1., 1.);
fExtraHistList->AddAt(hDXYOverDXYMax,18);
TH2D *hDXOverDXMax = new TH2D("hDXOverDXMax", "DX / DXMax vs pXZ;pXZ;DX / DXMax", 50, 0., 500., 100, -1., 1.);
fExtraHistList->AddAt(hDXOverDXMax,19);
TH2D *hDYOverDYMax = new TH2D("hDYOverDYMax", "DY / DYMax vs pYZ;pYZ;DY / DYMax", 50, 0., 500., 100, -1., 1.);
fExtraHistList->AddAt(hDYOverDYMax,20);
PostData(1, fClusters);
PostData(2, fChamberTDHistList);
PostData(3, fChamberTTHistList);
PostData(4, fChamberSDHistList);
PostData(5, fExtraHistList);
}
void AliAnalysisTaskMuonTrackingEff::UserExec(Option_t *)
{
if (!fOCDBLoaded) AliFatal("Problem occur while loading OCDB objects");
AliESDEvent* esd = dynamic_cast<AliESDEvent*>(InputEvent());
if (!esd) return;
Double_t cent = esd->GetCentrality()->GetCentralityPercentileUnchecked("V0M");
if (cent <= fCentMin || cent > fCentMax) return;
static_cast<TH1F*>(fExtraHistList->At(0))->Fill(cent);
AliMUONTrack track;
Int_t nTracks = (Int_t)esd->GetNumberOfMuonTracks();
for (Int_t iTrack = 0; iTrack < nTracks; iTrack++) {
AliESDMuonTrack *esdTrack = esd->GetMuonTrack(iTrack);
Double_t pT = esdTrack->Pt();
if (!esdTrack->ContainTrackerData() || !fMuonTrackCuts->IsSelected(esdTrack) || (fPtCut > 0. && pT < fPtCut) ||
(fUseMCLabel && (esdTrack->GetLabel() < 0 || esdTrack->TestBit(BIT(22))))) continue;
Double_t y = esdTrack->Y();
Double_t phi = esdTrack->Phi();
static_cast<TH1F*>(fExtraHistList->At(1))->Fill(pT);
static_cast<TH1F*>(fExtraHistList->At(2))->Fill(y);
static_cast<TH1F*>(fExtraHistList->At(3))->Fill(esdTrack->Theta());
static_cast<TH1F*>(fExtraHistList->At(4))->Fill(esdTrack->P());
static_cast<TH1F*>(fExtraHistList->At(5))->Fill(esdTrack->GetZ());
static_cast<TH1F*>(fExtraHistList->At(6))->Fill(phi);
if ( (y < -2.5) && (y > -2.75) ) static_cast<TH1F*>(fExtraHistList->At(7))->Fill(pT);
if ( (y < -2.75) && (y > -3.0) ) static_cast<TH1F*>(fExtraHistList->At(8))->Fill(pT);
if ( (y < -3.0) && (y > -3.25) ) static_cast<TH1F*>(fExtraHistList->At(9))->Fill(pT);
if ( (y < -3.25) && (y > -3.5) ) static_cast<TH1F*>(fExtraHistList->At(10))->Fill(pT);
if ( (y < -3.5) && (y > -3.75) ) static_cast<TH1F*>(fExtraHistList->At(11))->Fill(pT);
if ( (y < -3.75) && (y > -4.0) ) static_cast<TH1F*>(fExtraHistList->At(12))->Fill(pT);
if ( (pT > 1.0) && (pT < 2.0) ) static_cast<TH1F*>(fExtraHistList->At(13))->Fill(y);
if ( (pT > 2.0) && (pT < 5.0) ) static_cast<TH1F*>(fExtraHistList->At(14))->Fill(y);
if ( (pT > 5.0) && (pT < 8.0) ) static_cast<TH1F*>(fExtraHistList->At(15))->Fill(y);
if ( (pT > 2.0) && (pT < 4.0) ) static_cast<TH1F*>(fExtraHistList->At(16))->Fill(y);
if ( (pT > 4.0) && (pT < 8.0) ) static_cast<TH1F*>(fExtraHistList->At(17))->Fill(y);
AliMUONESDInterface::ESDToMUON(*esdTrack, track);
Double_t trackInfo[6] = {0., cent, pT, y, phi, static_cast<Double_t>(esdTrack->Charge())};
Bool_t removableChambers[10];
Bool_t isValidTrack = TagRemovableClusters(track, removableChambers);
Int_t previousCh = -1;
TObjArray *trackParams = track.GetTrackParamAtCluster();
AliMUONTrackParam *trackParam = static_cast<AliMUONTrackParam*>(trackParams->First());
while (trackParam) {
AliMUONVCluster* cluster = trackParam->GetClusterPtr();
Int_t currentCh = cluster->GetChamberId();
Int_t currentDE = cluster->GetDetElemId();
Double_t pos[3] = {cluster->GetX(), cluster->GetY(), cluster->GetZ()};
AliMpPad pad[2];
FindPads(currentDE, pos, pad);
AliMUONTrackParam *nextTrackParam = static_cast<AliMUONTrackParam*>(trackParams->After(trackParam));
Int_t nextCh = nextTrackParam ? nextTrackParam->GetClusterPtr()->GetChamberId() : 10;
RecordCluster(currentCh, currentDE, pad, trackInfo, "Detected", fChamberSDHistList, (currentCh != nextCh));
if (trackParam->IsRemovable()) {
Bool_t recordChamber = (removableChambers[currentCh] && currentCh != nextCh);
RecordCluster(currentCh, currentDE, pad, trackInfo, "Accepted", fChamberTDHistList, recordChamber);
RecordCluster(currentCh, currentDE, pad, trackInfo, "Expected", fChamberTTHistList, recordChamber);
}
while (previousCh < currentCh-1 && (isValidTrack || previousCh < 5))
FindAndRecordMissingClusters(*trackParam, ++previousCh, trackInfo);
if (!isValidTrack && currentCh > 5) break;
if (currentCh != previousCh && currentCh != nextCh)
FindAndRecordMissingClusters(*trackParam, currentCh, trackInfo);
if (nextTrackParam) {
previousCh = currentCh;
trackParam = nextTrackParam;
} else {
while (++currentCh < 10 && (isValidTrack || currentCh < 6))
FindAndRecordMissingClusters(*trackParam, currentCh, trackInfo);
break;
}
}
}
PostData(1, fClusters);
PostData(2, fChamberTDHistList);
PostData(3, fChamberTTHistList);
PostData(4, fChamberSDHistList);
PostData(5, fExtraHistList);
}
void AliAnalysisTaskMuonTrackingEff::Terminate(Option_t *)
{
if (!fEnableDisplay) return;
fClusters = static_cast<AliCounterCollection*>(GetOutputData(1));
if (!fClusters) return;
AliCDBManager* man = AliCDBManager::Instance();
if (!man->IsDefaultStorageSet()) {
if (gROOT->IsBatch()) man->SetDefaultStorage("alien://folder=/alice/simulation/2008/v4-15-Release/Ideal");
else man->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
}
if (man->GetRun() < 0) man->SetRun(0);
if (!AliMpSegmentation::Instance(kFALSE) || !AliMpDDLStore::Instance(kFALSE)) {
if (!AliMUONCDB::LoadMapping()) return;
}
TString clusterKey[3] = {"Detected", "Accepted", "Expected"};
TObjArray *deKeys = fClusters->GetKeyWords("DE").Tokenize(",");
Int_t nDEs = deKeys->GetEntriesFast();
for (Int_t iKey = 0; iKey < 3; iKey++) {
AliMUON2DMap clustersStore(kTRUE);
for (Int_t iDE = 0; iDE < nDEs; iDE++) {
TString deKey = static_cast<TObjString*>(deKeys->UncheckedAt(iDE))->GetString();
Int_t deId = deKey.Atoi();
TH2D *channelVsManu = fClusters->Get("channel", "Manu",
Form("Cluster:%s/DE:%s", clusterKey[iKey].Data(), deKey.Data()));
Int_t nManus = channelVsManu->GetNbinsX();
Int_t nChannels = channelVsManu->GetNbinsY();
for (Int_t iManu = 1; iManu <= nManus; iManu++) {
TString manuKey = channelVsManu->GetXaxis()->GetBinLabel(iManu);
Int_t manuId = manuKey.Atoi();
for (Int_t iChannel = 1; iChannel <= nChannels; iChannel++) {
TString channelKey = channelVsManu->GetYaxis()->GetBinLabel(iChannel);
Int_t channelId = channelKey.Atoi();
Int_t nClusters = static_cast<Int_t>(channelVsManu->GetBinContent(iManu, iChannel));
if (nClusters < 1) continue;
AliMUONVCalibParam* c = static_cast<AliMUONVCalibParam*>(clustersStore.FindObject(deId, manuId));
if (!c) {
c = new AliMUONCalibParamNI(1, AliMpConstants::ManuNofChannels(), deId, manuId);
clustersStore.Add(c);
}
c->SetValueAsInt(channelId, 0, nClusters);
}
}
delete channelVsManu;
}
TString suffix = GetName();
suffix.ReplaceAll("MuonTrackingEfficiency","");
AliMUONTrackerData clustersData(Form("%sClusters%s", clusterKey[iKey].Data(), suffix.Data()),
Form("%s clusters %s", clusterKey[iKey].Data(), suffix.Data()), 1, kFALSE);
clustersData.SetDimensionName(0, "count");
clustersData.Add(clustersStore);
TFile *outFile = TFile::Open("DisplayResults.root", "UPDATE");
if (outFile && outFile->IsOpen()) {
clustersData.Write(0x0, TObject::kOverwrite);
outFile->Close();
}
}
delete deKeys;
}
Bool_t AliAnalysisTaskMuonTrackingEff::TagRemovableClusters(AliMUONTrack &track, Bool_t removableChambers[10])
{
for (Int_t i = 0; i < 10; i++) removableChambers[i] = kFALSE;
UInt_t requestedStationMask = AliMUONESDInterface::GetTracker()->GetRecoParam()->RequestedStationMask();
Bool_t request2ChInSameSt45 = !AliMUONESDInterface::GetTracker()->GetRecoParam()->MakeMoreTrackCandidates();
Bool_t isValidTrack = track.IsValid(requestedStationMask, request2ChInSameSt45);
Int_t nClInCh[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
Int_t nChInSt[5] = {0, 0, 0, 0, 0};
Int_t previousCh = -1;
Int_t nClusters = track.GetNClusters();
for (Int_t i = 0; i < nClusters; i++) {
AliMUONTrackParam *trackParam = static_cast<AliMUONTrackParam*>(track.GetTrackParamAtCluster()->UncheckedAt(i));
Int_t currentCh = trackParam->GetClusterPtr()->GetChamberId();
Int_t currentSt = currentCh/2;
nClInCh[currentCh]++;
if (currentCh != previousCh) {
previousCh = currentCh;
nChInSt[currentSt]++;
}
}
for (Int_t i = 0; i < nClusters; i++) {
AliMUONTrackParam *trackParam = static_cast<AliMUONTrackParam*>(track.GetTrackParamAtCluster()->UncheckedAt(i));
Int_t currentCh = trackParam->GetClusterPtr()->GetChamberId();
Int_t currentSt = currentCh/2;
if (currentSt < 3) {
if (!((1 << currentSt) & requestedStationMask) ||
nChInSt[currentSt] == 2) {
removableChambers[currentCh] = kTRUE;
trackParam->SetRemovable(kTRUE);
} else if (nClInCh[currentCh] == 2) {
trackParam->SetRemovable(kTRUE);
}
} else {
if (!isValidTrack) continue;
if (((request2ChInSameSt45 &&
nChInSt[4-currentSt/4] == 2) ||
(!request2ChInSameSt45 &&
nChInSt[3]+nChInSt[4] >= 3)) &&
(!((1 << currentSt) & requestedStationMask) ||
nChInSt[currentSt] == 2)) {
removableChambers[currentCh] = kTRUE;
trackParam->SetRemovable(kTRUE);
} else if (nClInCh[currentCh] == 2) {
trackParam->SetRemovable(kTRUE);
}
}
}
return isValidTrack;
}
void AliAnalysisTaskMuonTrackingEff::FindAndRecordMissingClusters(AliMUONTrackParam ¶m, Int_t chamber,
Double_t trackInfo[6])
{
static const Double_t maxDZ = 0.01;
static const Double_t maxDevX = 0.01;
static const Double_t maxDevY = 0.1;
static const Double_t minDXY = 1.;
Bool_t missingChamber = (chamber != param.GetClusterPtr()->GetChamberId());
Int_t startDE = param.GetClusterPtr()->GetDetElemId();
Double_t pos[3], maxDX, maxDY, dZ = 0.;
AliMUONTrackParam param1, param2;
AliMpPad pad[2];
param1.SetParameters(param.GetParameters());
param1.SetZ(param.GetZ());
if (missingChamber && !AliMUONTrackExtrap::ExtrapToZ(¶m1, AliMUONConstants::DefaultChamberZ(chamber))) return;
Double_t pX = param1.Px();
Double_t pY = param1.Py();
Double_t pZ = param1.Pz();
Double_t pXZ = TMath::Sqrt(pX*pX + pZ*pZ);
Double_t pYZ = TMath::Sqrt(pY*pY + pZ*pZ);
AliMpDEIterator it;
it.First(chamber);
while (!it.IsDone()) {
Int_t deId = it.CurrentDEId();
if (deId == startDE) {
it.Next();
continue;
}
param2.SetParameters(param1.GetParameters());
param2.SetZ(param1.GetZ());
Int_t nStep = 0;
Bool_t crossDE = kFALSE;
Bool_t extrapOk = kTRUE;
do {
if (nStep >= 1) {
Double_t dX = pos[0]-param2.GetNonBendingCoor();
Double_t dY = pos[1]-param2.GetBendingCoor();
Double_t dXOverDXMax = (dZ > 0.) ? dX*pXZ/(maxDevX*dZ) : 0.;
Double_t dYOverDYMax = (dZ > 0.) ? dY*pYZ/(maxDevY*dZ) : 0.;
static_cast<TH2D*>(fExtraHistList->At(18))->Fill(dXOverDXMax, dYOverDYMax);
static_cast<TH2D*>(fExtraHistList->At(19))->Fill(pXZ, dXOverDXMax);
static_cast<TH2D*>(fExtraHistList->At(20))->Fill(pYZ, dYOverDYMax);
if (dXOverDXMax >= 1.) printf("st = %d; pXZ = %f; dZ = %f; dX = %f; dX*PXZ/(dZ*maxDevX) = %f\n",
chamber/2, pXZ, dZ, dX, dXOverDXMax);
if (dYOverDYMax >= 1.) printf("st = %d; pYZ = %f; dZ = %f; dY = %f; dY*PYZ/(dZ*maxDevY) = %f\n",
chamber/2, pYZ, dZ, dY, dYOverDYMax);
}
nStep++;
Intersect(param2, deId, pos);
dZ = TMath::Abs(pos[2]-param2.GetZ());
maxDX = minDXY + maxDevX*dZ/pXZ;
maxDY = minDXY + maxDevY*dZ/pYZ;
AliMpArea area(pos[0], pos[1], maxDX, maxDY);
crossDE = OverlapDE(area, deId);
} while(crossDE && dZ > maxDZ && (extrapOk = AliMUONTrackExtrap::ExtrapToZ(¶m2, pos[2])));
if (crossDE && extrapOk && FindPads(deId, pos, pad)) {
RecordCluster(chamber, deId, pad, trackInfo, "Expected", fChamberTTHistList, missingChamber);
missingChamber = kFALSE;
}
it.Next();
}
}
void AliAnalysisTaskMuonTrackingEff::Intersect(AliMUONTrackParam ¶m, Int_t deId, Double_t p[3])
{
Double_t pos[3] = {param.GetNonBendingCoor(), param.GetBendingCoor(), param.GetZ()};
Double_t slope[2] = {param.GetNonBendingSlope(), param.GetBendingSlope()};
TVectorD &plane = *(static_cast<TVectorD*>(fDEPlanes->UncheckedAt(deId)));
p[2] = (plane[3]*(slope[0]*pos[2]-pos[0]+plane[0]) + plane[4]*(slope[1]*pos[2]-pos[1]+plane[1]) + plane[5]*plane[2]) /
(plane[3]*slope[0] + plane[4]*slope[1] + plane[5]);
p[0] = slope[0]*(p[2]-pos[2]) + pos[0];
p[1] = slope[1]*(p[2]-pos[2]) + pos[1];
}
Bool_t AliAnalysisTaskMuonTrackingEff::OverlapDE(AliMpArea &area, Int_t deId)
{
AliMpArea* globalDEArea = fTransformer->GetDEArea(deId);
if (!globalDEArea) return kFALSE;
return area.Overlap(*globalDEArea);
}
void AliAnalysisTaskMuonTrackingEff::RecordCluster(Int_t chamber, Int_t deId, AliMpPad pad[2], Double_t trackInfo[6],
TString clusterKey, TList *chamberHistList, Bool_t recordChamber)
{
for (Int_t iCath = 0; iCath < 2; iCath++) if (pad[iCath].IsValid()) {
Int_t manuId = pad[iCath].GetManuId();
Int_t busPatchId = AliMpDDLStore::Instance()->GetBusPatchId(deId,manuId);
fClusters->Count(Form("Cluster:%s/Chamber:%d/DE:%d/BusPatch:%d/Manu:%d/Channel:%d",
clusterKey.Data(), chamber, deId, busPatchId, manuId, pad[iCath].GetManuChannel()));
}
trackInfo[0] = static_cast<Double_t>(deId%100);
static_cast<THnSparse*>(chamberHistList->At(chamber))->Fill(trackInfo);
if (recordChamber) {
trackInfo[0] = static_cast<Double_t>(chamber+1);
static_cast<THnSparse*>(chamberHistList->At(10))->Fill(trackInfo);
}
}
Bool_t AliAnalysisTaskMuonTrackingEff::FindPads(Int_t deId, Double_t pos[3], AliMpPad pad[2])
{
static const AliMpPad emptyPad;
Double_t localPos[3];
fTransformer->Global2Local(deId, pos[0], pos[1], pos[2], localPos[0], localPos[1], localPos[2]);
for (Int_t iCath = 0; iCath < 2; iCath++) {
const AliMpVSegmentation* seg = AliMpSegmentation::Instance()->GetMpSegmentation(deId, AliMp::GetCathodType(iCath));
if (seg) pad[iCath] = seg->PadByPosition(localPos[0], localPos[1], kFALSE);
else pad[iCath] = emptyPad;
}
return (pad[0].IsValid() || pad[1].IsValid());
}
AliAnalysisTaskMuonTrackingEff.cxx:1 AliAnalysisTaskMuonTrackingEff.cxx:2 AliAnalysisTaskMuonTrackingEff.cxx:3 AliAnalysisTaskMuonTrackingEff.cxx:4 AliAnalysisTaskMuonTrackingEff.cxx:5 AliAnalysisTaskMuonTrackingEff.cxx:6 AliAnalysisTaskMuonTrackingEff.cxx:7 AliAnalysisTaskMuonTrackingEff.cxx:8 AliAnalysisTaskMuonTrackingEff.cxx:9 AliAnalysisTaskMuonTrackingEff.cxx:10 AliAnalysisTaskMuonTrackingEff.cxx:11 AliAnalysisTaskMuonTrackingEff.cxx:12 AliAnalysisTaskMuonTrackingEff.cxx:13 AliAnalysisTaskMuonTrackingEff.cxx:14 AliAnalysisTaskMuonTrackingEff.cxx:15 AliAnalysisTaskMuonTrackingEff.cxx:16 AliAnalysisTaskMuonTrackingEff.cxx:17 AliAnalysisTaskMuonTrackingEff.cxx:18 AliAnalysisTaskMuonTrackingEff.cxx:19 AliAnalysisTaskMuonTrackingEff.cxx:20 AliAnalysisTaskMuonTrackingEff.cxx:21 AliAnalysisTaskMuonTrackingEff.cxx:22 AliAnalysisTaskMuonTrackingEff.cxx:23 AliAnalysisTaskMuonTrackingEff.cxx:24 AliAnalysisTaskMuonTrackingEff.cxx:25 AliAnalysisTaskMuonTrackingEff.cxx:26 AliAnalysisTaskMuonTrackingEff.cxx:27 AliAnalysisTaskMuonTrackingEff.cxx:28 AliAnalysisTaskMuonTrackingEff.cxx:29 AliAnalysisTaskMuonTrackingEff.cxx:30 AliAnalysisTaskMuonTrackingEff.cxx:31 AliAnalysisTaskMuonTrackingEff.cxx:32 AliAnalysisTaskMuonTrackingEff.cxx:33 AliAnalysisTaskMuonTrackingEff.cxx:34 AliAnalysisTaskMuonTrackingEff.cxx:35 AliAnalysisTaskMuonTrackingEff.cxx:36 AliAnalysisTaskMuonTrackingEff.cxx:37 AliAnalysisTaskMuonTrackingEff.cxx:38 AliAnalysisTaskMuonTrackingEff.cxx:39 AliAnalysisTaskMuonTrackingEff.cxx:40 AliAnalysisTaskMuonTrackingEff.cxx:41 AliAnalysisTaskMuonTrackingEff.cxx:42 AliAnalysisTaskMuonTrackingEff.cxx:43 AliAnalysisTaskMuonTrackingEff.cxx:44 AliAnalysisTaskMuonTrackingEff.cxx:45 AliAnalysisTaskMuonTrackingEff.cxx:46 AliAnalysisTaskMuonTrackingEff.cxx:47 AliAnalysisTaskMuonTrackingEff.cxx:48 AliAnalysisTaskMuonTrackingEff.cxx:49 AliAnalysisTaskMuonTrackingEff.cxx:50 AliAnalysisTaskMuonTrackingEff.cxx:51 AliAnalysisTaskMuonTrackingEff.cxx:52 AliAnalysisTaskMuonTrackingEff.cxx:53 AliAnalysisTaskMuonTrackingEff.cxx:54 AliAnalysisTaskMuonTrackingEff.cxx:55 AliAnalysisTaskMuonTrackingEff.cxx:56 AliAnalysisTaskMuonTrackingEff.cxx:57 AliAnalysisTaskMuonTrackingEff.cxx:58 AliAnalysisTaskMuonTrackingEff.cxx:59 AliAnalysisTaskMuonTrackingEff.cxx:60 AliAnalysisTaskMuonTrackingEff.cxx:61 AliAnalysisTaskMuonTrackingEff.cxx:62 AliAnalysisTaskMuonTrackingEff.cxx:63 AliAnalysisTaskMuonTrackingEff.cxx:64 AliAnalysisTaskMuonTrackingEff.cxx:65 AliAnalysisTaskMuonTrackingEff.cxx:66 AliAnalysisTaskMuonTrackingEff.cxx:67 AliAnalysisTaskMuonTrackingEff.cxx:68 AliAnalysisTaskMuonTrackingEff.cxx:69 AliAnalysisTaskMuonTrackingEff.cxx:70 AliAnalysisTaskMuonTrackingEff.cxx:71 AliAnalysisTaskMuonTrackingEff.cxx:72 AliAnalysisTaskMuonTrackingEff.cxx:73 AliAnalysisTaskMuonTrackingEff.cxx:74 AliAnalysisTaskMuonTrackingEff.cxx:75 AliAnalysisTaskMuonTrackingEff.cxx:76 AliAnalysisTaskMuonTrackingEff.cxx:77 AliAnalysisTaskMuonTrackingEff.cxx:78 AliAnalysisTaskMuonTrackingEff.cxx:79 AliAnalysisTaskMuonTrackingEff.cxx:80 AliAnalysisTaskMuonTrackingEff.cxx:81 AliAnalysisTaskMuonTrackingEff.cxx:82 AliAnalysisTaskMuonTrackingEff.cxx:83 AliAnalysisTaskMuonTrackingEff.cxx:84 AliAnalysisTaskMuonTrackingEff.cxx:85 AliAnalysisTaskMuonTrackingEff.cxx:86 AliAnalysisTaskMuonTrackingEff.cxx:87 AliAnalysisTaskMuonTrackingEff.cxx:88 AliAnalysisTaskMuonTrackingEff.cxx:89 AliAnalysisTaskMuonTrackingEff.cxx:90 AliAnalysisTaskMuonTrackingEff.cxx:91 AliAnalysisTaskMuonTrackingEff.cxx:92 AliAnalysisTaskMuonTrackingEff.cxx:93 AliAnalysisTaskMuonTrackingEff.cxx:94 AliAnalysisTaskMuonTrackingEff.cxx:95 AliAnalysisTaskMuonTrackingEff.cxx:96 AliAnalysisTaskMuonTrackingEff.cxx:97 AliAnalysisTaskMuonTrackingEff.cxx:98 AliAnalysisTaskMuonTrackingEff.cxx:99 AliAnalysisTaskMuonTrackingEff.cxx:100 AliAnalysisTaskMuonTrackingEff.cxx:101 AliAnalysisTaskMuonTrackingEff.cxx:102 AliAnalysisTaskMuonTrackingEff.cxx:103 AliAnalysisTaskMuonTrackingEff.cxx:104 AliAnalysisTaskMuonTrackingEff.cxx:105 AliAnalysisTaskMuonTrackingEff.cxx:106 AliAnalysisTaskMuonTrackingEff.cxx:107 AliAnalysisTaskMuonTrackingEff.cxx:108 AliAnalysisTaskMuonTrackingEff.cxx:109 AliAnalysisTaskMuonTrackingEff.cxx:110 AliAnalysisTaskMuonTrackingEff.cxx:111 AliAnalysisTaskMuonTrackingEff.cxx:112 AliAnalysisTaskMuonTrackingEff.cxx:113 AliAnalysisTaskMuonTrackingEff.cxx:114 AliAnalysisTaskMuonTrackingEff.cxx:115 AliAnalysisTaskMuonTrackingEff.cxx:116 AliAnalysisTaskMuonTrackingEff.cxx:117 AliAnalysisTaskMuonTrackingEff.cxx:118 AliAnalysisTaskMuonTrackingEff.cxx:119 AliAnalysisTaskMuonTrackingEff.cxx:120 AliAnalysisTaskMuonTrackingEff.cxx:121 AliAnalysisTaskMuonTrackingEff.cxx:122 AliAnalysisTaskMuonTrackingEff.cxx:123 AliAnalysisTaskMuonTrackingEff.cxx:124 AliAnalysisTaskMuonTrackingEff.cxx:125 AliAnalysisTaskMuonTrackingEff.cxx:126 AliAnalysisTaskMuonTrackingEff.cxx:127 AliAnalysisTaskMuonTrackingEff.cxx:128 AliAnalysisTaskMuonTrackingEff.cxx:129 AliAnalysisTaskMuonTrackingEff.cxx:130 AliAnalysisTaskMuonTrackingEff.cxx:131 AliAnalysisTaskMuonTrackingEff.cxx:132 AliAnalysisTaskMuonTrackingEff.cxx:133 AliAnalysisTaskMuonTrackingEff.cxx:134 AliAnalysisTaskMuonTrackingEff.cxx:135 AliAnalysisTaskMuonTrackingEff.cxx:136 AliAnalysisTaskMuonTrackingEff.cxx:137 AliAnalysisTaskMuonTrackingEff.cxx:138 AliAnalysisTaskMuonTrackingEff.cxx:139 AliAnalysisTaskMuonTrackingEff.cxx:140 AliAnalysisTaskMuonTrackingEff.cxx:141 AliAnalysisTaskMuonTrackingEff.cxx:142 AliAnalysisTaskMuonTrackingEff.cxx:143 AliAnalysisTaskMuonTrackingEff.cxx:144 AliAnalysisTaskMuonTrackingEff.cxx:145 AliAnalysisTaskMuonTrackingEff.cxx:146 AliAnalysisTaskMuonTrackingEff.cxx:147 AliAnalysisTaskMuonTrackingEff.cxx:148 AliAnalysisTaskMuonTrackingEff.cxx:149 AliAnalysisTaskMuonTrackingEff.cxx:150 AliAnalysisTaskMuonTrackingEff.cxx:151 AliAnalysisTaskMuonTrackingEff.cxx:152 AliAnalysisTaskMuonTrackingEff.cxx:153 AliAnalysisTaskMuonTrackingEff.cxx:154 AliAnalysisTaskMuonTrackingEff.cxx:155 AliAnalysisTaskMuonTrackingEff.cxx:156 AliAnalysisTaskMuonTrackingEff.cxx:157 AliAnalysisTaskMuonTrackingEff.cxx:158 AliAnalysisTaskMuonTrackingEff.cxx:159 AliAnalysisTaskMuonTrackingEff.cxx:160 AliAnalysisTaskMuonTrackingEff.cxx:161 AliAnalysisTaskMuonTrackingEff.cxx:162 AliAnalysisTaskMuonTrackingEff.cxx:163 AliAnalysisTaskMuonTrackingEff.cxx:164 AliAnalysisTaskMuonTrackingEff.cxx:165 AliAnalysisTaskMuonTrackingEff.cxx:166 AliAnalysisTaskMuonTrackingEff.cxx:167 AliAnalysisTaskMuonTrackingEff.cxx:168 AliAnalysisTaskMuonTrackingEff.cxx:169 AliAnalysisTaskMuonTrackingEff.cxx:170 AliAnalysisTaskMuonTrackingEff.cxx:171 AliAnalysisTaskMuonTrackingEff.cxx:172 AliAnalysisTaskMuonTrackingEff.cxx:173 AliAnalysisTaskMuonTrackingEff.cxx:174 AliAnalysisTaskMuonTrackingEff.cxx:175 AliAnalysisTaskMuonTrackingEff.cxx:176 AliAnalysisTaskMuonTrackingEff.cxx:177 AliAnalysisTaskMuonTrackingEff.cxx:178 AliAnalysisTaskMuonTrackingEff.cxx:179 AliAnalysisTaskMuonTrackingEff.cxx:180 AliAnalysisTaskMuonTrackingEff.cxx:181 AliAnalysisTaskMuonTrackingEff.cxx:182 AliAnalysisTaskMuonTrackingEff.cxx:183 AliAnalysisTaskMuonTrackingEff.cxx:184 AliAnalysisTaskMuonTrackingEff.cxx:185 AliAnalysisTaskMuonTrackingEff.cxx:186 AliAnalysisTaskMuonTrackingEff.cxx:187 AliAnalysisTaskMuonTrackingEff.cxx:188 AliAnalysisTaskMuonTrackingEff.cxx:189 AliAnalysisTaskMuonTrackingEff.cxx:190 AliAnalysisTaskMuonTrackingEff.cxx:191 AliAnalysisTaskMuonTrackingEff.cxx:192 AliAnalysisTaskMuonTrackingEff.cxx:193 AliAnalysisTaskMuonTrackingEff.cxx:194 AliAnalysisTaskMuonTrackingEff.cxx:195 AliAnalysisTaskMuonTrackingEff.cxx:196 AliAnalysisTaskMuonTrackingEff.cxx:197 AliAnalysisTaskMuonTrackingEff.cxx:198 AliAnalysisTaskMuonTrackingEff.cxx:199 AliAnalysisTaskMuonTrackingEff.cxx:200 AliAnalysisTaskMuonTrackingEff.cxx:201 AliAnalysisTaskMuonTrackingEff.cxx:202 AliAnalysisTaskMuonTrackingEff.cxx:203 AliAnalysisTaskMuonTrackingEff.cxx:204 AliAnalysisTaskMuonTrackingEff.cxx:205 AliAnalysisTaskMuonTrackingEff.cxx:206 AliAnalysisTaskMuonTrackingEff.cxx:207 AliAnalysisTaskMuonTrackingEff.cxx:208 AliAnalysisTaskMuonTrackingEff.cxx:209 AliAnalysisTaskMuonTrackingEff.cxx:210 AliAnalysisTaskMuonTrackingEff.cxx:211 AliAnalysisTaskMuonTrackingEff.cxx:212 AliAnalysisTaskMuonTrackingEff.cxx:213 AliAnalysisTaskMuonTrackingEff.cxx:214 AliAnalysisTaskMuonTrackingEff.cxx:215 AliAnalysisTaskMuonTrackingEff.cxx:216 AliAnalysisTaskMuonTrackingEff.cxx:217 AliAnalysisTaskMuonTrackingEff.cxx:218 AliAnalysisTaskMuonTrackingEff.cxx:219 AliAnalysisTaskMuonTrackingEff.cxx:220 AliAnalysisTaskMuonTrackingEff.cxx:221 AliAnalysisTaskMuonTrackingEff.cxx:222 AliAnalysisTaskMuonTrackingEff.cxx:223 AliAnalysisTaskMuonTrackingEff.cxx:224 AliAnalysisTaskMuonTrackingEff.cxx:225 AliAnalysisTaskMuonTrackingEff.cxx:226 AliAnalysisTaskMuonTrackingEff.cxx:227 AliAnalysisTaskMuonTrackingEff.cxx:228 AliAnalysisTaskMuonTrackingEff.cxx:229 AliAnalysisTaskMuonTrackingEff.cxx:230 AliAnalysisTaskMuonTrackingEff.cxx:231 AliAnalysisTaskMuonTrackingEff.cxx:232 AliAnalysisTaskMuonTrackingEff.cxx:233 AliAnalysisTaskMuonTrackingEff.cxx:234 AliAnalysisTaskMuonTrackingEff.cxx:235 AliAnalysisTaskMuonTrackingEff.cxx:236 AliAnalysisTaskMuonTrackingEff.cxx:237 AliAnalysisTaskMuonTrackingEff.cxx:238 AliAnalysisTaskMuonTrackingEff.cxx:239 AliAnalysisTaskMuonTrackingEff.cxx:240 AliAnalysisTaskMuonTrackingEff.cxx:241 AliAnalysisTaskMuonTrackingEff.cxx:242 AliAnalysisTaskMuonTrackingEff.cxx:243 AliAnalysisTaskMuonTrackingEff.cxx:244 AliAnalysisTaskMuonTrackingEff.cxx:245 AliAnalysisTaskMuonTrackingEff.cxx:246 AliAnalysisTaskMuonTrackingEff.cxx:247 AliAnalysisTaskMuonTrackingEff.cxx:248 AliAnalysisTaskMuonTrackingEff.cxx:249 AliAnalysisTaskMuonTrackingEff.cxx:250 AliAnalysisTaskMuonTrackingEff.cxx:251 AliAnalysisTaskMuonTrackingEff.cxx:252 AliAnalysisTaskMuonTrackingEff.cxx:253 AliAnalysisTaskMuonTrackingEff.cxx:254 AliAnalysisTaskMuonTrackingEff.cxx:255 AliAnalysisTaskMuonTrackingEff.cxx:256 AliAnalysisTaskMuonTrackingEff.cxx:257 AliAnalysisTaskMuonTrackingEff.cxx:258 AliAnalysisTaskMuonTrackingEff.cxx:259 AliAnalysisTaskMuonTrackingEff.cxx:260 AliAnalysisTaskMuonTrackingEff.cxx:261 AliAnalysisTaskMuonTrackingEff.cxx:262 AliAnalysisTaskMuonTrackingEff.cxx:263 AliAnalysisTaskMuonTrackingEff.cxx:264 AliAnalysisTaskMuonTrackingEff.cxx:265 AliAnalysisTaskMuonTrackingEff.cxx:266 AliAnalysisTaskMuonTrackingEff.cxx:267 AliAnalysisTaskMuonTrackingEff.cxx:268 AliAnalysisTaskMuonTrackingEff.cxx:269 AliAnalysisTaskMuonTrackingEff.cxx:270 AliAnalysisTaskMuonTrackingEff.cxx:271 AliAnalysisTaskMuonTrackingEff.cxx:272 AliAnalysisTaskMuonTrackingEff.cxx:273 AliAnalysisTaskMuonTrackingEff.cxx:274 AliAnalysisTaskMuonTrackingEff.cxx:275 AliAnalysisTaskMuonTrackingEff.cxx:276 AliAnalysisTaskMuonTrackingEff.cxx:277 AliAnalysisTaskMuonTrackingEff.cxx:278 AliAnalysisTaskMuonTrackingEff.cxx:279 AliAnalysisTaskMuonTrackingEff.cxx:280 AliAnalysisTaskMuonTrackingEff.cxx:281 AliAnalysisTaskMuonTrackingEff.cxx:282 AliAnalysisTaskMuonTrackingEff.cxx:283 AliAnalysisTaskMuonTrackingEff.cxx:284 AliAnalysisTaskMuonTrackingEff.cxx:285 AliAnalysisTaskMuonTrackingEff.cxx:286 AliAnalysisTaskMuonTrackingEff.cxx:287 AliAnalysisTaskMuonTrackingEff.cxx:288 AliAnalysisTaskMuonTrackingEff.cxx:289 AliAnalysisTaskMuonTrackingEff.cxx:290 AliAnalysisTaskMuonTrackingEff.cxx:291 AliAnalysisTaskMuonTrackingEff.cxx:292 AliAnalysisTaskMuonTrackingEff.cxx:293 AliAnalysisTaskMuonTrackingEff.cxx:294 AliAnalysisTaskMuonTrackingEff.cxx:295 AliAnalysisTaskMuonTrackingEff.cxx:296 AliAnalysisTaskMuonTrackingEff.cxx:297 AliAnalysisTaskMuonTrackingEff.cxx:298 AliAnalysisTaskMuonTrackingEff.cxx:299 AliAnalysisTaskMuonTrackingEff.cxx:300 AliAnalysisTaskMuonTrackingEff.cxx:301 AliAnalysisTaskMuonTrackingEff.cxx:302 AliAnalysisTaskMuonTrackingEff.cxx:303 AliAnalysisTaskMuonTrackingEff.cxx:304 AliAnalysisTaskMuonTrackingEff.cxx:305 AliAnalysisTaskMuonTrackingEff.cxx:306 AliAnalysisTaskMuonTrackingEff.cxx:307 AliAnalysisTaskMuonTrackingEff.cxx:308 AliAnalysisTaskMuonTrackingEff.cxx:309 AliAnalysisTaskMuonTrackingEff.cxx:310 AliAnalysisTaskMuonTrackingEff.cxx:311 AliAnalysisTaskMuonTrackingEff.cxx:312 AliAnalysisTaskMuonTrackingEff.cxx:313 AliAnalysisTaskMuonTrackingEff.cxx:314 AliAnalysisTaskMuonTrackingEff.cxx:315 AliAnalysisTaskMuonTrackingEff.cxx:316 AliAnalysisTaskMuonTrackingEff.cxx:317 AliAnalysisTaskMuonTrackingEff.cxx:318 AliAnalysisTaskMuonTrackingEff.cxx:319 AliAnalysisTaskMuonTrackingEff.cxx:320 AliAnalysisTaskMuonTrackingEff.cxx:321 AliAnalysisTaskMuonTrackingEff.cxx:322 AliAnalysisTaskMuonTrackingEff.cxx:323 AliAnalysisTaskMuonTrackingEff.cxx:324 AliAnalysisTaskMuonTrackingEff.cxx:325 AliAnalysisTaskMuonTrackingEff.cxx:326 AliAnalysisTaskMuonTrackingEff.cxx:327 AliAnalysisTaskMuonTrackingEff.cxx:328 AliAnalysisTaskMuonTrackingEff.cxx:329 AliAnalysisTaskMuonTrackingEff.cxx:330 AliAnalysisTaskMuonTrackingEff.cxx:331 AliAnalysisTaskMuonTrackingEff.cxx:332 AliAnalysisTaskMuonTrackingEff.cxx:333 AliAnalysisTaskMuonTrackingEff.cxx:334 AliAnalysisTaskMuonTrackingEff.cxx:335 AliAnalysisTaskMuonTrackingEff.cxx:336 AliAnalysisTaskMuonTrackingEff.cxx:337 AliAnalysisTaskMuonTrackingEff.cxx:338 AliAnalysisTaskMuonTrackingEff.cxx:339 AliAnalysisTaskMuonTrackingEff.cxx:340 AliAnalysisTaskMuonTrackingEff.cxx:341 AliAnalysisTaskMuonTrackingEff.cxx:342 AliAnalysisTaskMuonTrackingEff.cxx:343 AliAnalysisTaskMuonTrackingEff.cxx:344 AliAnalysisTaskMuonTrackingEff.cxx:345 AliAnalysisTaskMuonTrackingEff.cxx:346 AliAnalysisTaskMuonTrackingEff.cxx:347 AliAnalysisTaskMuonTrackingEff.cxx:348 AliAnalysisTaskMuonTrackingEff.cxx:349 AliAnalysisTaskMuonTrackingEff.cxx:350 AliAnalysisTaskMuonTrackingEff.cxx:351 AliAnalysisTaskMuonTrackingEff.cxx:352 AliAnalysisTaskMuonTrackingEff.cxx:353 AliAnalysisTaskMuonTrackingEff.cxx:354 AliAnalysisTaskMuonTrackingEff.cxx:355 AliAnalysisTaskMuonTrackingEff.cxx:356 AliAnalysisTaskMuonTrackingEff.cxx:357 AliAnalysisTaskMuonTrackingEff.cxx:358 AliAnalysisTaskMuonTrackingEff.cxx:359 AliAnalysisTaskMuonTrackingEff.cxx:360 AliAnalysisTaskMuonTrackingEff.cxx:361 AliAnalysisTaskMuonTrackingEff.cxx:362 AliAnalysisTaskMuonTrackingEff.cxx:363 AliAnalysisTaskMuonTrackingEff.cxx:364 AliAnalysisTaskMuonTrackingEff.cxx:365 AliAnalysisTaskMuonTrackingEff.cxx:366 AliAnalysisTaskMuonTrackingEff.cxx:367 AliAnalysisTaskMuonTrackingEff.cxx:368 AliAnalysisTaskMuonTrackingEff.cxx:369 AliAnalysisTaskMuonTrackingEff.cxx:370 AliAnalysisTaskMuonTrackingEff.cxx:371 AliAnalysisTaskMuonTrackingEff.cxx:372 AliAnalysisTaskMuonTrackingEff.cxx:373 AliAnalysisTaskMuonTrackingEff.cxx:374 AliAnalysisTaskMuonTrackingEff.cxx:375 AliAnalysisTaskMuonTrackingEff.cxx:376 AliAnalysisTaskMuonTrackingEff.cxx:377 AliAnalysisTaskMuonTrackingEff.cxx:378 AliAnalysisTaskMuonTrackingEff.cxx:379 AliAnalysisTaskMuonTrackingEff.cxx:380 AliAnalysisTaskMuonTrackingEff.cxx:381 AliAnalysisTaskMuonTrackingEff.cxx:382 AliAnalysisTaskMuonTrackingEff.cxx:383 AliAnalysisTaskMuonTrackingEff.cxx:384 AliAnalysisTaskMuonTrackingEff.cxx:385 AliAnalysisTaskMuonTrackingEff.cxx:386 AliAnalysisTaskMuonTrackingEff.cxx:387 AliAnalysisTaskMuonTrackingEff.cxx:388 AliAnalysisTaskMuonTrackingEff.cxx:389 AliAnalysisTaskMuonTrackingEff.cxx:390 AliAnalysisTaskMuonTrackingEff.cxx:391 AliAnalysisTaskMuonTrackingEff.cxx:392 AliAnalysisTaskMuonTrackingEff.cxx:393 AliAnalysisTaskMuonTrackingEff.cxx:394 AliAnalysisTaskMuonTrackingEff.cxx:395 AliAnalysisTaskMuonTrackingEff.cxx:396 AliAnalysisTaskMuonTrackingEff.cxx:397 AliAnalysisTaskMuonTrackingEff.cxx:398 AliAnalysisTaskMuonTrackingEff.cxx:399 AliAnalysisTaskMuonTrackingEff.cxx:400 AliAnalysisTaskMuonTrackingEff.cxx:401 AliAnalysisTaskMuonTrackingEff.cxx:402 AliAnalysisTaskMuonTrackingEff.cxx:403 AliAnalysisTaskMuonTrackingEff.cxx:404 AliAnalysisTaskMuonTrackingEff.cxx:405 AliAnalysisTaskMuonTrackingEff.cxx:406 AliAnalysisTaskMuonTrackingEff.cxx:407 AliAnalysisTaskMuonTrackingEff.cxx:408 AliAnalysisTaskMuonTrackingEff.cxx:409 AliAnalysisTaskMuonTrackingEff.cxx:410 AliAnalysisTaskMuonTrackingEff.cxx:411 AliAnalysisTaskMuonTrackingEff.cxx:412 AliAnalysisTaskMuonTrackingEff.cxx:413 AliAnalysisTaskMuonTrackingEff.cxx:414 AliAnalysisTaskMuonTrackingEff.cxx:415 AliAnalysisTaskMuonTrackingEff.cxx:416 AliAnalysisTaskMuonTrackingEff.cxx:417 AliAnalysisTaskMuonTrackingEff.cxx:418 AliAnalysisTaskMuonTrackingEff.cxx:419 AliAnalysisTaskMuonTrackingEff.cxx:420 AliAnalysisTaskMuonTrackingEff.cxx:421 AliAnalysisTaskMuonTrackingEff.cxx:422 AliAnalysisTaskMuonTrackingEff.cxx:423 AliAnalysisTaskMuonTrackingEff.cxx:424 AliAnalysisTaskMuonTrackingEff.cxx:425 AliAnalysisTaskMuonTrackingEff.cxx:426 AliAnalysisTaskMuonTrackingEff.cxx:427 AliAnalysisTaskMuonTrackingEff.cxx:428 AliAnalysisTaskMuonTrackingEff.cxx:429 AliAnalysisTaskMuonTrackingEff.cxx:430 AliAnalysisTaskMuonTrackingEff.cxx:431 AliAnalysisTaskMuonTrackingEff.cxx:432 AliAnalysisTaskMuonTrackingEff.cxx:433 AliAnalysisTaskMuonTrackingEff.cxx:434 AliAnalysisTaskMuonTrackingEff.cxx:435 AliAnalysisTaskMuonTrackingEff.cxx:436 AliAnalysisTaskMuonTrackingEff.cxx:437 AliAnalysisTaskMuonTrackingEff.cxx:438 AliAnalysisTaskMuonTrackingEff.cxx:439 AliAnalysisTaskMuonTrackingEff.cxx:440 AliAnalysisTaskMuonTrackingEff.cxx:441 AliAnalysisTaskMuonTrackingEff.cxx:442 AliAnalysisTaskMuonTrackingEff.cxx:443 AliAnalysisTaskMuonTrackingEff.cxx:444 AliAnalysisTaskMuonTrackingEff.cxx:445 AliAnalysisTaskMuonTrackingEff.cxx:446 AliAnalysisTaskMuonTrackingEff.cxx:447 AliAnalysisTaskMuonTrackingEff.cxx:448 AliAnalysisTaskMuonTrackingEff.cxx:449 AliAnalysisTaskMuonTrackingEff.cxx:450 AliAnalysisTaskMuonTrackingEff.cxx:451 AliAnalysisTaskMuonTrackingEff.cxx:452 AliAnalysisTaskMuonTrackingEff.cxx:453 AliAnalysisTaskMuonTrackingEff.cxx:454 AliAnalysisTaskMuonTrackingEff.cxx:455 AliAnalysisTaskMuonTrackingEff.cxx:456 AliAnalysisTaskMuonTrackingEff.cxx:457 AliAnalysisTaskMuonTrackingEff.cxx:458 AliAnalysisTaskMuonTrackingEff.cxx:459 AliAnalysisTaskMuonTrackingEff.cxx:460 AliAnalysisTaskMuonTrackingEff.cxx:461 AliAnalysisTaskMuonTrackingEff.cxx:462 AliAnalysisTaskMuonTrackingEff.cxx:463 AliAnalysisTaskMuonTrackingEff.cxx:464 AliAnalysisTaskMuonTrackingEff.cxx:465 AliAnalysisTaskMuonTrackingEff.cxx:466 AliAnalysisTaskMuonTrackingEff.cxx:467 AliAnalysisTaskMuonTrackingEff.cxx:468 AliAnalysisTaskMuonTrackingEff.cxx:469 AliAnalysisTaskMuonTrackingEff.cxx:470 AliAnalysisTaskMuonTrackingEff.cxx:471 AliAnalysisTaskMuonTrackingEff.cxx:472 AliAnalysisTaskMuonTrackingEff.cxx:473 AliAnalysisTaskMuonTrackingEff.cxx:474 AliAnalysisTaskMuonTrackingEff.cxx:475 AliAnalysisTaskMuonTrackingEff.cxx:476 AliAnalysisTaskMuonTrackingEff.cxx:477 AliAnalysisTaskMuonTrackingEff.cxx:478 AliAnalysisTaskMuonTrackingEff.cxx:479 AliAnalysisTaskMuonTrackingEff.cxx:480 AliAnalysisTaskMuonTrackingEff.cxx:481 AliAnalysisTaskMuonTrackingEff.cxx:482 AliAnalysisTaskMuonTrackingEff.cxx:483 AliAnalysisTaskMuonTrackingEff.cxx:484 AliAnalysisTaskMuonTrackingEff.cxx:485 AliAnalysisTaskMuonTrackingEff.cxx:486 AliAnalysisTaskMuonTrackingEff.cxx:487 AliAnalysisTaskMuonTrackingEff.cxx:488 AliAnalysisTaskMuonTrackingEff.cxx:489 AliAnalysisTaskMuonTrackingEff.cxx:490 AliAnalysisTaskMuonTrackingEff.cxx:491 AliAnalysisTaskMuonTrackingEff.cxx:492 AliAnalysisTaskMuonTrackingEff.cxx:493 AliAnalysisTaskMuonTrackingEff.cxx:494 AliAnalysisTaskMuonTrackingEff.cxx:495 AliAnalysisTaskMuonTrackingEff.cxx:496 AliAnalysisTaskMuonTrackingEff.cxx:497 AliAnalysisTaskMuonTrackingEff.cxx:498 AliAnalysisTaskMuonTrackingEff.cxx:499 AliAnalysisTaskMuonTrackingEff.cxx:500 AliAnalysisTaskMuonTrackingEff.cxx:501 AliAnalysisTaskMuonTrackingEff.cxx:502 AliAnalysisTaskMuonTrackingEff.cxx:503 AliAnalysisTaskMuonTrackingEff.cxx:504 AliAnalysisTaskMuonTrackingEff.cxx:505 AliAnalysisTaskMuonTrackingEff.cxx:506 AliAnalysisTaskMuonTrackingEff.cxx:507 AliAnalysisTaskMuonTrackingEff.cxx:508 AliAnalysisTaskMuonTrackingEff.cxx:509 AliAnalysisTaskMuonTrackingEff.cxx:510 AliAnalysisTaskMuonTrackingEff.cxx:511 AliAnalysisTaskMuonTrackingEff.cxx:512 AliAnalysisTaskMuonTrackingEff.cxx:513 AliAnalysisTaskMuonTrackingEff.cxx:514 AliAnalysisTaskMuonTrackingEff.cxx:515 AliAnalysisTaskMuonTrackingEff.cxx:516 AliAnalysisTaskMuonTrackingEff.cxx:517 AliAnalysisTaskMuonTrackingEff.cxx:518 AliAnalysisTaskMuonTrackingEff.cxx:519 AliAnalysisTaskMuonTrackingEff.cxx:520 AliAnalysisTaskMuonTrackingEff.cxx:521 AliAnalysisTaskMuonTrackingEff.cxx:522 AliAnalysisTaskMuonTrackingEff.cxx:523 AliAnalysisTaskMuonTrackingEff.cxx:524 AliAnalysisTaskMuonTrackingEff.cxx:525 AliAnalysisTaskMuonTrackingEff.cxx:526 AliAnalysisTaskMuonTrackingEff.cxx:527 AliAnalysisTaskMuonTrackingEff.cxx:528 AliAnalysisTaskMuonTrackingEff.cxx:529 AliAnalysisTaskMuonTrackingEff.cxx:530 AliAnalysisTaskMuonTrackingEff.cxx:531 AliAnalysisTaskMuonTrackingEff.cxx:532 AliAnalysisTaskMuonTrackingEff.cxx:533 AliAnalysisTaskMuonTrackingEff.cxx:534 AliAnalysisTaskMuonTrackingEff.cxx:535 AliAnalysisTaskMuonTrackingEff.cxx:536 AliAnalysisTaskMuonTrackingEff.cxx:537 AliAnalysisTaskMuonTrackingEff.cxx:538 AliAnalysisTaskMuonTrackingEff.cxx:539 AliAnalysisTaskMuonTrackingEff.cxx:540 AliAnalysisTaskMuonTrackingEff.cxx:541 AliAnalysisTaskMuonTrackingEff.cxx:542 AliAnalysisTaskMuonTrackingEff.cxx:543 AliAnalysisTaskMuonTrackingEff.cxx:544 AliAnalysisTaskMuonTrackingEff.cxx:545 AliAnalysisTaskMuonTrackingEff.cxx:546 AliAnalysisTaskMuonTrackingEff.cxx:547 AliAnalysisTaskMuonTrackingEff.cxx:548 AliAnalysisTaskMuonTrackingEff.cxx:549 AliAnalysisTaskMuonTrackingEff.cxx:550 AliAnalysisTaskMuonTrackingEff.cxx:551 AliAnalysisTaskMuonTrackingEff.cxx:552 AliAnalysisTaskMuonTrackingEff.cxx:553 AliAnalysisTaskMuonTrackingEff.cxx:554 AliAnalysisTaskMuonTrackingEff.cxx:555 AliAnalysisTaskMuonTrackingEff.cxx:556 AliAnalysisTaskMuonTrackingEff.cxx:557 AliAnalysisTaskMuonTrackingEff.cxx:558 AliAnalysisTaskMuonTrackingEff.cxx:559 AliAnalysisTaskMuonTrackingEff.cxx:560 AliAnalysisTaskMuonTrackingEff.cxx:561 AliAnalysisTaskMuonTrackingEff.cxx:562 AliAnalysisTaskMuonTrackingEff.cxx:563 AliAnalysisTaskMuonTrackingEff.cxx:564 AliAnalysisTaskMuonTrackingEff.cxx:565 AliAnalysisTaskMuonTrackingEff.cxx:566 AliAnalysisTaskMuonTrackingEff.cxx:567 AliAnalysisTaskMuonTrackingEff.cxx:568 AliAnalysisTaskMuonTrackingEff.cxx:569 AliAnalysisTaskMuonTrackingEff.cxx:570 AliAnalysisTaskMuonTrackingEff.cxx:571 AliAnalysisTaskMuonTrackingEff.cxx:572 AliAnalysisTaskMuonTrackingEff.cxx:573 AliAnalysisTaskMuonTrackingEff.cxx:574 AliAnalysisTaskMuonTrackingEff.cxx:575 AliAnalysisTaskMuonTrackingEff.cxx:576 AliAnalysisTaskMuonTrackingEff.cxx:577 AliAnalysisTaskMuonTrackingEff.cxx:578 AliAnalysisTaskMuonTrackingEff.cxx:579 AliAnalysisTaskMuonTrackingEff.cxx:580 AliAnalysisTaskMuonTrackingEff.cxx:581 AliAnalysisTaskMuonTrackingEff.cxx:582 AliAnalysisTaskMuonTrackingEff.cxx:583 AliAnalysisTaskMuonTrackingEff.cxx:584 AliAnalysisTaskMuonTrackingEff.cxx:585 AliAnalysisTaskMuonTrackingEff.cxx:586 AliAnalysisTaskMuonTrackingEff.cxx:587 AliAnalysisTaskMuonTrackingEff.cxx:588 AliAnalysisTaskMuonTrackingEff.cxx:589 AliAnalysisTaskMuonTrackingEff.cxx:590 AliAnalysisTaskMuonTrackingEff.cxx:591 AliAnalysisTaskMuonTrackingEff.cxx:592 AliAnalysisTaskMuonTrackingEff.cxx:593 AliAnalysisTaskMuonTrackingEff.cxx:594 AliAnalysisTaskMuonTrackingEff.cxx:595 AliAnalysisTaskMuonTrackingEff.cxx:596 AliAnalysisTaskMuonTrackingEff.cxx:597 AliAnalysisTaskMuonTrackingEff.cxx:598 AliAnalysisTaskMuonTrackingEff.cxx:599 AliAnalysisTaskMuonTrackingEff.cxx:600 AliAnalysisTaskMuonTrackingEff.cxx:601 AliAnalysisTaskMuonTrackingEff.cxx:602 AliAnalysisTaskMuonTrackingEff.cxx:603 AliAnalysisTaskMuonTrackingEff.cxx:604 AliAnalysisTaskMuonTrackingEff.cxx:605 AliAnalysisTaskMuonTrackingEff.cxx:606 AliAnalysisTaskMuonTrackingEff.cxx:607 AliAnalysisTaskMuonTrackingEff.cxx:608 AliAnalysisTaskMuonTrackingEff.cxx:609 AliAnalysisTaskMuonTrackingEff.cxx:610 AliAnalysisTaskMuonTrackingEff.cxx:611 AliAnalysisTaskMuonTrackingEff.cxx:612 AliAnalysisTaskMuonTrackingEff.cxx:613 AliAnalysisTaskMuonTrackingEff.cxx:614 AliAnalysisTaskMuonTrackingEff.cxx:615 AliAnalysisTaskMuonTrackingEff.cxx:616 AliAnalysisTaskMuonTrackingEff.cxx:617 AliAnalysisTaskMuonTrackingEff.cxx:618 AliAnalysisTaskMuonTrackingEff.cxx:619 AliAnalysisTaskMuonTrackingEff.cxx:620 AliAnalysisTaskMuonTrackingEff.cxx:621 AliAnalysisTaskMuonTrackingEff.cxx:622 AliAnalysisTaskMuonTrackingEff.cxx:623 AliAnalysisTaskMuonTrackingEff.cxx:624 AliAnalysisTaskMuonTrackingEff.cxx:625 AliAnalysisTaskMuonTrackingEff.cxx:626 AliAnalysisTaskMuonTrackingEff.cxx:627 AliAnalysisTaskMuonTrackingEff.cxx:628 AliAnalysisTaskMuonTrackingEff.cxx:629 AliAnalysisTaskMuonTrackingEff.cxx:630 AliAnalysisTaskMuonTrackingEff.cxx:631 AliAnalysisTaskMuonTrackingEff.cxx:632 AliAnalysisTaskMuonTrackingEff.cxx:633 AliAnalysisTaskMuonTrackingEff.cxx:634 AliAnalysisTaskMuonTrackingEff.cxx:635 AliAnalysisTaskMuonTrackingEff.cxx:636 AliAnalysisTaskMuonTrackingEff.cxx:637 AliAnalysisTaskMuonTrackingEff.cxx:638 AliAnalysisTaskMuonTrackingEff.cxx:639 AliAnalysisTaskMuonTrackingEff.cxx:640 AliAnalysisTaskMuonTrackingEff.cxx:641 AliAnalysisTaskMuonTrackingEff.cxx:642 AliAnalysisTaskMuonTrackingEff.cxx:643 AliAnalysisTaskMuonTrackingEff.cxx:644 AliAnalysisTaskMuonTrackingEff.cxx:645 AliAnalysisTaskMuonTrackingEff.cxx:646 AliAnalysisTaskMuonTrackingEff.cxx:647 AliAnalysisTaskMuonTrackingEff.cxx:648 AliAnalysisTaskMuonTrackingEff.cxx:649 AliAnalysisTaskMuonTrackingEff.cxx:650 AliAnalysisTaskMuonTrackingEff.cxx:651 AliAnalysisTaskMuonTrackingEff.cxx:652 AliAnalysisTaskMuonTrackingEff.cxx:653 AliAnalysisTaskMuonTrackingEff.cxx:654 AliAnalysisTaskMuonTrackingEff.cxx:655 AliAnalysisTaskMuonTrackingEff.cxx:656 AliAnalysisTaskMuonTrackingEff.cxx:657 AliAnalysisTaskMuonTrackingEff.cxx:658 AliAnalysisTaskMuonTrackingEff.cxx:659 AliAnalysisTaskMuonTrackingEff.cxx:660 AliAnalysisTaskMuonTrackingEff.cxx:661 AliAnalysisTaskMuonTrackingEff.cxx:662 AliAnalysisTaskMuonTrackingEff.cxx:663 AliAnalysisTaskMuonTrackingEff.cxx:664 AliAnalysisTaskMuonTrackingEff.cxx:665 AliAnalysisTaskMuonTrackingEff.cxx:666 AliAnalysisTaskMuonTrackingEff.cxx:667 AliAnalysisTaskMuonTrackingEff.cxx:668 AliAnalysisTaskMuonTrackingEff.cxx:669 AliAnalysisTaskMuonTrackingEff.cxx:670 AliAnalysisTaskMuonTrackingEff.cxx:671 AliAnalysisTaskMuonTrackingEff.cxx:672 AliAnalysisTaskMuonTrackingEff.cxx:673 AliAnalysisTaskMuonTrackingEff.cxx:674 AliAnalysisTaskMuonTrackingEff.cxx:675 AliAnalysisTaskMuonTrackingEff.cxx:676 AliAnalysisTaskMuonTrackingEff.cxx:677 AliAnalysisTaskMuonTrackingEff.cxx:678 AliAnalysisTaskMuonTrackingEff.cxx:679 AliAnalysisTaskMuonTrackingEff.cxx:680 AliAnalysisTaskMuonTrackingEff.cxx:681 AliAnalysisTaskMuonTrackingEff.cxx:682 AliAnalysisTaskMuonTrackingEff.cxx:683 AliAnalysisTaskMuonTrackingEff.cxx:684 AliAnalysisTaskMuonTrackingEff.cxx:685 AliAnalysisTaskMuonTrackingEff.cxx:686 AliAnalysisTaskMuonTrackingEff.cxx:687 AliAnalysisTaskMuonTrackingEff.cxx:688 AliAnalysisTaskMuonTrackingEff.cxx:689 AliAnalysisTaskMuonTrackingEff.cxx:690 AliAnalysisTaskMuonTrackingEff.cxx:691 AliAnalysisTaskMuonTrackingEff.cxx:692 AliAnalysisTaskMuonTrackingEff.cxx:693 AliAnalysisTaskMuonTrackingEff.cxx:694 AliAnalysisTaskMuonTrackingEff.cxx:695 AliAnalysisTaskMuonTrackingEff.cxx:696 AliAnalysisTaskMuonTrackingEff.cxx:697 AliAnalysisTaskMuonTrackingEff.cxx:698 AliAnalysisTaskMuonTrackingEff.cxx:699 AliAnalysisTaskMuonTrackingEff.cxx:700 AliAnalysisTaskMuonTrackingEff.cxx:701 AliAnalysisTaskMuonTrackingEff.cxx:702 AliAnalysisTaskMuonTrackingEff.cxx:703 AliAnalysisTaskMuonTrackingEff.cxx:704 AliAnalysisTaskMuonTrackingEff.cxx:705 AliAnalysisTaskMuonTrackingEff.cxx:706 AliAnalysisTaskMuonTrackingEff.cxx:707 AliAnalysisTaskMuonTrackingEff.cxx:708 AliAnalysisTaskMuonTrackingEff.cxx:709 AliAnalysisTaskMuonTrackingEff.cxx:710 AliAnalysisTaskMuonTrackingEff.cxx:711 AliAnalysisTaskMuonTrackingEff.cxx:712 AliAnalysisTaskMuonTrackingEff.cxx:713 AliAnalysisTaskMuonTrackingEff.cxx:714 AliAnalysisTaskMuonTrackingEff.cxx:715 AliAnalysisTaskMuonTrackingEff.cxx:716 AliAnalysisTaskMuonTrackingEff.cxx:717 AliAnalysisTaskMuonTrackingEff.cxx:718 AliAnalysisTaskMuonTrackingEff.cxx:719 AliAnalysisTaskMuonTrackingEff.cxx:720 AliAnalysisTaskMuonTrackingEff.cxx:721 AliAnalysisTaskMuonTrackingEff.cxx:722 AliAnalysisTaskMuonTrackingEff.cxx:723 AliAnalysisTaskMuonTrackingEff.cxx:724 AliAnalysisTaskMuonTrackingEff.cxx:725 AliAnalysisTaskMuonTrackingEff.cxx:726 AliAnalysisTaskMuonTrackingEff.cxx:727 AliAnalysisTaskMuonTrackingEff.cxx:728 AliAnalysisTaskMuonTrackingEff.cxx:729 AliAnalysisTaskMuonTrackingEff.cxx:730 AliAnalysisTaskMuonTrackingEff.cxx:731 AliAnalysisTaskMuonTrackingEff.cxx:732 AliAnalysisTaskMuonTrackingEff.cxx:733 AliAnalysisTaskMuonTrackingEff.cxx:734 AliAnalysisTaskMuonTrackingEff.cxx:735 AliAnalysisTaskMuonTrackingEff.cxx:736 AliAnalysisTaskMuonTrackingEff.cxx:737 AliAnalysisTaskMuonTrackingEff.cxx:738 AliAnalysisTaskMuonTrackingEff.cxx:739 AliAnalysisTaskMuonTrackingEff.cxx:740 AliAnalysisTaskMuonTrackingEff.cxx:741 AliAnalysisTaskMuonTrackingEff.cxx:742 AliAnalysisTaskMuonTrackingEff.cxx:743 AliAnalysisTaskMuonTrackingEff.cxx:744 AliAnalysisTaskMuonTrackingEff.cxx:745 AliAnalysisTaskMuonTrackingEff.cxx:746 AliAnalysisTaskMuonTrackingEff.cxx:747 AliAnalysisTaskMuonTrackingEff.cxx:748 AliAnalysisTaskMuonTrackingEff.cxx:749 AliAnalysisTaskMuonTrackingEff.cxx:750 AliAnalysisTaskMuonTrackingEff.cxx:751 AliAnalysisTaskMuonTrackingEff.cxx:752 AliAnalysisTaskMuonTrackingEff.cxx:753 AliAnalysisTaskMuonTrackingEff.cxx:754 AliAnalysisTaskMuonTrackingEff.cxx:755 AliAnalysisTaskMuonTrackingEff.cxx:756 AliAnalysisTaskMuonTrackingEff.cxx:757 AliAnalysisTaskMuonTrackingEff.cxx:758 AliAnalysisTaskMuonTrackingEff.cxx:759 AliAnalysisTaskMuonTrackingEff.cxx:760 AliAnalysisTaskMuonTrackingEff.cxx:761 AliAnalysisTaskMuonTrackingEff.cxx:762 AliAnalysisTaskMuonTrackingEff.cxx:763 AliAnalysisTaskMuonTrackingEff.cxx:764 AliAnalysisTaskMuonTrackingEff.cxx:765 AliAnalysisTaskMuonTrackingEff.cxx:766 AliAnalysisTaskMuonTrackingEff.cxx:767 AliAnalysisTaskMuonTrackingEff.cxx:768 AliAnalysisTaskMuonTrackingEff.cxx:769 AliAnalysisTaskMuonTrackingEff.cxx:770 AliAnalysisTaskMuonTrackingEff.cxx:771 AliAnalysisTaskMuonTrackingEff.cxx:772 AliAnalysisTaskMuonTrackingEff.cxx:773 AliAnalysisTaskMuonTrackingEff.cxx:774 AliAnalysisTaskMuonTrackingEff.cxx:775 AliAnalysisTaskMuonTrackingEff.cxx:776 AliAnalysisTaskMuonTrackingEff.cxx:777 AliAnalysisTaskMuonTrackingEff.cxx:778 AliAnalysisTaskMuonTrackingEff.cxx:779 AliAnalysisTaskMuonTrackingEff.cxx:780 AliAnalysisTaskMuonTrackingEff.cxx:781 AliAnalysisTaskMuonTrackingEff.cxx:782 AliAnalysisTaskMuonTrackingEff.cxx:783 AliAnalysisTaskMuonTrackingEff.cxx:784 AliAnalysisTaskMuonTrackingEff.cxx:785 AliAnalysisTaskMuonTrackingEff.cxx:786 AliAnalysisTaskMuonTrackingEff.cxx:787 AliAnalysisTaskMuonTrackingEff.cxx:788 AliAnalysisTaskMuonTrackingEff.cxx:789 AliAnalysisTaskMuonTrackingEff.cxx:790 AliAnalysisTaskMuonTrackingEff.cxx:791 AliAnalysisTaskMuonTrackingEff.cxx:792 AliAnalysisTaskMuonTrackingEff.cxx:793 AliAnalysisTaskMuonTrackingEff.cxx:794 AliAnalysisTaskMuonTrackingEff.cxx:795 AliAnalysisTaskMuonTrackingEff.cxx:796 AliAnalysisTaskMuonTrackingEff.cxx:797 AliAnalysisTaskMuonTrackingEff.cxx:798 AliAnalysisTaskMuonTrackingEff.cxx:799 AliAnalysisTaskMuonTrackingEff.cxx:800 AliAnalysisTaskMuonTrackingEff.cxx:801 AliAnalysisTaskMuonTrackingEff.cxx:802 AliAnalysisTaskMuonTrackingEff.cxx:803 AliAnalysisTaskMuonTrackingEff.cxx:804 AliAnalysisTaskMuonTrackingEff.cxx:805 AliAnalysisTaskMuonTrackingEff.cxx:806 AliAnalysisTaskMuonTrackingEff.cxx:807 AliAnalysisTaskMuonTrackingEff.cxx:808 AliAnalysisTaskMuonTrackingEff.cxx:809 AliAnalysisTaskMuonTrackingEff.cxx:810 AliAnalysisTaskMuonTrackingEff.cxx:811 AliAnalysisTaskMuonTrackingEff.cxx:812 AliAnalysisTaskMuonTrackingEff.cxx:813 AliAnalysisTaskMuonTrackingEff.cxx:814 AliAnalysisTaskMuonTrackingEff.cxx:815 AliAnalysisTaskMuonTrackingEff.cxx:816 AliAnalysisTaskMuonTrackingEff.cxx:817 AliAnalysisTaskMuonTrackingEff.cxx:818 AliAnalysisTaskMuonTrackingEff.cxx:819 AliAnalysisTaskMuonTrackingEff.cxx:820 AliAnalysisTaskMuonTrackingEff.cxx:821 AliAnalysisTaskMuonTrackingEff.cxx:822