#include "Riostream.h"
#include "TH1F.h"
#include "TH2D.h"
#include "TH3F.h"
#include "THn.h"
#include "TList.h"
#include "TMath.h"
#include "TParticlePDG.h"
#include "AliAnalysisTaskSE.h"
#include "AliAnalysisManager.h"
#include "AliPID.h"
#include "AliESDtrackCuts.h"
#include "AliESDVertex.h"
#include "AliESDEvent.h"
#include "AliESDInputHandler.h"
#include "AliESDtrack.h"
#include "AliESDpid.h"
#include "AliESDUtils.h"
#include "AliMCEventHandler.h"
#include "AliMCEvent.h"
#include "AliStack.h"
#include "AliLog.h"
#include "AliAnalysisTrackingUncertainties.h"
ClassImp(AliAnalysisTrackingUncertainties)
const Int_t kNumberOfAxes = 5;
AliAnalysisTrackingUncertainties::AliAnalysisTrackingUncertainties()
: AliAnalysisTaskSE("TaskTestPA"),
fESD(0),
fESDpid(0),
fUtils(0),
fMCtrue(0),
fListHist(0),
fESDtrackCuts(0),
fMatchTr(),
fMatchChi(),
fExcludeMomFromChi2ITSTPC(0)
{
}
AliAnalysisTrackingUncertainties::AliAnalysisTrackingUncertainties(const char *name)
: AliAnalysisTaskSE(name),
fESD(0),
fESDpid(0),
fUtils(0),
fMCtrue(0),
fListHist(0),
fESDtrackCuts(0),
fMatchTr(),
fMatchChi(),
fExcludeMomFromChi2ITSTPC(0)
{
fMCtrue = kTRUE;
fESDtrackCuts = new AliESDtrackCuts("AliESDtrackCuts","AliESDtrackCuts");
fESDtrackCuts = AliESDtrackCuts::GetStandardITSTPCTrackCuts2010(kTRUE);
fESDtrackCuts->SetEtaRange(-1., 1.);
fUtils = new AliAnalysisUtils();
DefineOutput(1, TList::Class());
}
void AliAnalysisTrackingUncertainties::UserCreateOutputObjects()
{
fListHist = new TList();
fListHist->SetOwner(kTRUE);
TH2F * histVertexSelection = new TH2F("histVertexSelection", "vertex selection; vertex z (cm); accepted/rejected", 100, -50., 50., 2, -0.5, 1.5);
fListHist->Add(histVertexSelection);
InitializeTrackCutHistograms();
const int nbPt=40;
const double ptMax=5;
TH2F * hNMatch = new TH2F("hNMatch","N Matches",nbPt,0,ptMax,kMaxMatch+1,-0.5,kMaxMatch+0.5);
TH2F * hBestMatch = new TH2F("hBestMatch","Best Match Chi2",nbPt,0,ptMax,2*int(TMath::Max(1.1,kMaxChi2)),0,kMaxChi2);
TH2F * hBestMatch_cuts = new TH2F("hBestMatch_cuts","Best Match Chi2",nbPt,0,ptMax,2*int(TMath::Max(1.1,kMaxChi2)),0,kMaxChi2);
TH2F * hAllMatch = new TH2F("hAllMatch","All Matches Chi2",nbPt,0,ptMax,2*int(TMath::Max(1.1,kMaxChi2)),0,kMaxChi2);
TH2F * hAllMatchGlo = new TH2F("hAllMatchGlo","All Matches Chi2",nbPt,0,ptMax,2*int(TMath::Max(1.1,kMaxChi2)),0,kMaxChi2);
TH2F * hPtCorr_ITSTPC = new TH2F("hPtCorr_ITSTPC","PtCorr",nbPt,0,ptMax,nbPt,0,ptMax);
TH2F * hdPtRel_ITSTPC = new TH2F("hdPtRel_ITSTPC","dPt/pt",nbPt,0,ptMax,2*nbPt+1,-0.4*ptMax,0.4*ptMax);
TH2F * hdInvPtRel_ITSTPC = new TH2F("hdInvPtRel_ITSTPC","pt*dPt^{-1}",nbPt,0,ptMax,2*nbPt+1,-0.4*ptMax,0.4*ptMax);
fListHist->Add(hNMatch);
fListHist->Add(hBestMatch);
fListHist->Add(hBestMatch_cuts);
fListHist->Add(hAllMatch);
fListHist->Add(hAllMatchGlo);
fListHist->Add(hPtCorr_ITSTPC);
fListHist->Add(hdPtRel_ITSTPC);
fListHist->Add(hdInvPtRel_ITSTPC);
TH2F * hNMatchBg = new TH2F("hNMatchBg","N Matches",nbPt,0,ptMax,kMaxMatch+1,-0.5,kMaxMatch+0.5);
TH2F * hBestMatchBg = new TH2F("hBestMatchBg","Best Match Chi2",nbPt,0,ptMax,2*int(TMath::Max(1.1,kMaxChi2)),0,kMaxChi2);
TH2F * hBestMatchBg_cuts = new TH2F("hBestMatchBg_cuts","Best Match Chi2",nbPt,0,ptMax,2*int(TMath::Max(1.1,kMaxChi2)),0,kMaxChi2);
TH2F * hAllMatchBg = new TH2F("hAllMatchBg","All Matches Chi2",nbPt,0,ptMax,2*int(TMath::Max(1.1,kMaxChi2)),0,kMaxChi2);
TH2F * hAllMatchGloBg = new TH2F("hAllMatchGloBg","All Matches Chi2",nbPt,0,ptMax,2*int(TMath::Max(1.1,kMaxChi2)),0,kMaxChi2);
TH2F * hdPtRelBg_ITSTPC = new TH2F("hdPtRelBg_ITSTPC","dPt/pt",nbPt,0,ptMax,2*nbPt+1,-0.4*ptMax,0.4*ptMax);
TH2F * hdInvPtRelBg_ITSTPC = new TH2F("hdInvPtRelBg_ITSTPC","pt*dPt^{-1}",nbPt,0,ptMax,2*nbPt+1,-0.4*ptMax,0.4*ptMax);
fListHist->Add(hNMatchBg);
fListHist->Add(hBestMatchBg);
fListHist->Add(hBestMatchBg_cuts);
fListHist->Add(hAllMatchBg);
fListHist->Add(hAllMatchGloBg);
fListHist->Add(hdPtRelBg_ITSTPC);
fListHist->Add(hdInvPtRelBg_ITSTPC);
fListHist->Add(fESDtrackCuts);
PostData(1, fListHist);
}
void AliAnalysisTrackingUncertainties::UserExec(Option_t *)
{
fESD = dynamic_cast<AliESDEvent*>( InputEvent() );
if (!fESD) {
PostData(1, fListHist);
return;
}
if (!fESDpid) fESDpid = ((AliESDInputHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->GetESDpid();
AliMCEventHandler* eventHandler = dynamic_cast<AliMCEventHandler*> (AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler());
if (!eventHandler) {
fMCtrue = kFALSE;
}
AliMCEvent* mcEvent = 0x0;
AliStack* stack = 0x0;
if (eventHandler) mcEvent = eventHandler->MCEvent();
if (!mcEvent) {
if (fMCtrue) return;
}
if (fMCtrue) {
stack = mcEvent->Stack();
if (!stack) return;
for(Int_t i = 0; i < stack->GetNtrack(); i++) {
}
}
if (!fESDtrackCuts) {
PostData(1, fListHist);
return;
}
TH2F * histVertexSelection = (TH2F *) fListHist->FindObject("histVertexSelection");
Float_t vertexZ = 0.;
if (IsVertexAccepted(fESD, vertexZ)) {
histVertexSelection->Fill(vertexZ, 0);
} else {
histVertexSelection->Fill(vertexZ, 1);
return;
}
ProcessTrackCutVariation();
ProcessItsTpcMatching();
PostData(1, fListHist);
}
void AliAnalysisTrackingUncertainties::ProcessItsTpcMatching(){
int ntr = fESD->GetNumberOfTracks();
TH2F * hNMatch = (TH2F*) fListHist->FindObject("hNMatch");
TH2F * hBestMatch = (TH2F*) fListHist->FindObject("hBestMatch");
TH2F * hBestMatch_cuts = (TH2F*) fListHist->FindObject("hBestMatch_cuts");
TH2F * hAllMatch = (TH2F*) fListHist->FindObject("hAllMatch");
TH2F * hAllMatchGlo = (TH2F*) fListHist->FindObject("hAllMatchGlo");
TH2F * hPtCorr_ITSTPC = (TH2F*) fListHist->FindObject("hPtCorr_ITSTPC");
TH2F * hdPtRel_ITSTPC = (TH2F*) fListHist->FindObject("hdPtRel_ITSTPC");
TH2F * hdInvPtRel_ITSTPC = (TH2F*) fListHist->FindObject("hdInvPtRel_ITSTPC");
TH2F * hNMatchBg = (TH2F*) fListHist->FindObject("hNMatchBg");
TH2F * hBestMatchBg = (TH2F*) fListHist->FindObject("hBestMatchBg");
TH2F * hBestMatchBg_cuts = (TH2F*) fListHist->FindObject("hBestMatchBg_cuts");
TH2F * hAllMatchBg = (TH2F*) fListHist->FindObject("hAllMatchBg");
TH2F * hAllMatchGloBg = (TH2F*) fListHist->FindObject("hAllMatchGloBg");
TH2F * hdPtRelBg_ITSTPC = (TH2F*) fListHist->FindObject("hdPtRelBg_ITSTPC");
TH2F * hdInvPtRelBg_ITSTPC = (TH2F*) fListHist->FindObject("hdInvPtRelBg_ITSTPC");
for (int it=0;it<ntr;it++) {
AliESDtrack* trSA = fESD->GetTrack(it);
if (!trSA->IsOn(AliESDtrack::kITSpureSA) || !trSA->IsOn(AliESDtrack::kITSrefit)) continue;
double pt = trSA->Pt();
Double_t etaSA = trSA->Eta();
Double_t ptSA = trSA->Pt();
if(TMath::Abs(etaSA)>0.8) continue;
Int_t nmatch = 0;
for (int i=kMaxMatch;i--;) {fMatchChi[i]=0; fMatchTr[i]=0;}
for (int it1=0;it1<ntr;it1++){
if (it1==it) continue;
AliESDtrack* trESD = fESD->GetTrack(it1);
if (!trESD->IsOn(AliESDtrack::kTPCrefit)) continue;
Match(trSA,trESD, nmatch, fExcludeMomFromChi2ITSTPC);
}
hNMatch->Fill(pt,nmatch);
if (nmatch>0){
hBestMatch->Fill(pt,fMatchChi[0]);
hPtCorr_ITSTPC->Fill(pt,fMatchTr[0]->Pt());
hdPtRel_ITSTPC->Fill(pt,(pt-fMatchTr[0]->Pt())/pt);
hdInvPtRel_ITSTPC->Fill(pt,pt*( 1/pt - (1/fMatchTr[0]->Pt()) ));
}
if (nmatch>0 && fESDtrackCuts){
if(fESDtrackCuts->AcceptTrack(fMatchTr[0])){
hBestMatch_cuts->Fill(pt,fMatchChi[0]);
}
}
for (int imt=nmatch;imt--;) {
hAllMatch->Fill(pt,fMatchChi[imt]);
if (fMatchTr[imt]->IsOn(AliESDtrack::kITSrefit)) hAllMatchGlo->Fill(pt,fMatchChi[imt]);
}
nmatch = 0;
for (int i=kMaxMatch;i--;) {fMatchChi[i]=0; fMatchTr[i]=0;}
for (int it1=0;it1<ntr;it1++) {
if (it1==it) continue;
AliESDtrack* trESD = fESD->GetTrack(it1);
if (!trESD->IsOn(AliESDtrack::kTPCrefit)) continue;
Match(trSA,trESD, nmatch, fExcludeMomFromChi2ITSTPC, TMath::Pi());
}
hNMatchBg->Fill(pt,nmatch);
if (nmatch>0){
hBestMatchBg->Fill(pt,fMatchChi[0]);
hdPtRelBg_ITSTPC->Fill(pt,(pt-fMatchTr[0]->Pt())/pt);
hdInvPtRelBg_ITSTPC->Fill(pt,pt*( 1/pt - (1/fMatchTr[0]->Pt()) ));
}
if (nmatch>0 && fESDtrackCuts){
if(fESDtrackCuts->AcceptTrack(fMatchTr[0])){
hBestMatchBg_cuts->Fill(pt,fMatchChi[0]);
}
}
for (int imt=nmatch;imt--;) {
hAllMatchBg->Fill(pt,fMatchChi[imt]);
if (fMatchTr[imt]->IsOn(AliESDtrack::kITSrefit)) hAllMatchGloBg->Fill(pt,fMatchChi[imt]);
}
}
}
void AliAnalysisTrackingUncertainties::Match(const AliESDtrack* tr0, const AliESDtrack* tr1, Int_t& nmatch,
Bool_t excludeMom, Double_t rotate) {
Float_t bField = fESD->GetMagneticField();
const AliExternalTrackParam* trtpc0 = tr1->GetInnerParam();
if (!trtpc0) return;
AliExternalTrackParam trtpc(*trtpc0);
if (TMath::Abs(rotate)>1e-5) {
const double *par = trtpc.GetParameter();
const double *cov = trtpc.GetCovariance();
double alp = trtpc.GetAlpha() + rotate;
trtpc.Set(trtpc.GetX(),alp,par,cov);
}
if (!trtpc.Rotate(tr0->GetAlpha())) return;
if (!trtpc.PropagateTo(tr0->GetX(),bField)) return;
double chi2 = tr0->GetPredictedChi2(&trtpc);
if(excludeMom){
((double*)trtpc.GetParameter())[4] = tr0->GetParameter()[4];
chi2 = tr0->GetPredictedChi2(&trtpc);
}
if (chi2>kMaxChi2) return;
int ins;
for (ins=0;ins<nmatch;ins++) if (chi2<fMatchChi[ins]) break;
if (ins>=kMaxMatch) return;
for (int imv=nmatch;imv>ins;imv--) {
if (imv>=kMaxMatch) continue;
fMatchTr[imv] = fMatchTr[imv-1];
fMatchChi[imv] = fMatchChi[imv-1];
}
fMatchTr[ins] = tr1;
fMatchChi[ins] = chi2;
nmatch++;
if (nmatch>=kMaxMatch) nmatch = kMaxMatch;
}
void AliAnalysisTrackingUncertainties::ProcessTrackCutVariation() {
THnF * histNcl = (THnF *) fListHist->FindObject("histNcl");
THnF * histChi2Tpc = (THnF *) fListHist->FindObject("histChi2Tpc");
THnF * histDcaZ = (THnF *) fListHist->FindObject("histDcaZ");
THnF * histSpd = (THnF *) fListHist->FindObject("histSpd");
THnF * histNcr = (THnF *) fListHist->FindObject("histNcr");
THnF * histCRoverFC = (THnF *) fListHist->FindObject("histCRoverFC");
THnF * histChi2Its = (THnF *) fListHist->FindObject("histChi2Its");
THnF * histTpcLength = (THnF *) fListHist->FindObject("histTpcLength");
THnF * histTpcItsMatch = (THnF *) fListHist->FindObject("histTpcItsMatch");
Float_t dca[2], cov[3];
for (Int_t i=0;i<fESD->GetNumberOfTracks();++i) {
AliESDtrack *track =fESD->GetTrack(i);
Int_t nclsTPC = track->GetTPCncls();
Float_t pT = track->Pt();
Float_t eta = track->Eta();
Float_t phi = track->Phi();
Float_t chi2TPC = track->GetTPCchi2();
Float_t ncrTPC = track->GetTPCCrossedRows();
Int_t nclsTPCF = track->GetTPCNclsF();
Float_t nCRoverFC = track->GetTPCCrossedRows();
Double_t chi2ITS = track->GetITSchi2();
Int_t nclsITS = track->GetITSclusters(0);
Float_t tpcLength = 0.;
if (track->GetInnerParam() && track->GetESDEvent()) {
tpcLength = track->GetLengthInActiveZone(1, 1.8, 220, track->GetESDEvent()->GetMagneticField());
}
if (nclsTPC != 0) {
chi2TPC /= nclsTPC;
} else {
chi2TPC = 999.;
}
if (nclsTPCF !=0) {
nCRoverFC /= nclsTPCF;
} else {
nCRoverFC = 999.;
}
if (nclsITS != 0){
chi2ITS /= nclsITS;
}else {
chi2ITS = 999.;
}
track->GetImpactParameters(dca, cov);
Int_t minNclsTPC = fESDtrackCuts->GetMinNClusterTPC();
fESDtrackCuts->SetMinNClustersTPC(0);
if (fESDtrackCuts->AcceptTrack(track)) {
for(Int_t iPid = 0; iPid < 6; iPid++) {
Double_t vecHistNcl[kNumberOfAxes] = {static_cast<Double_t>(nclsTPC), pT, eta, phi, static_cast<Double_t>(iPid)};
if (IsConsistentWithPid(iPid, track)) histNcl->Fill(vecHistNcl);
}
}
fESDtrackCuts->SetMinNClustersTPC(minNclsTPC);
Float_t maxChi2 = fESDtrackCuts->GetMaxChi2PerClusterTPC();
fESDtrackCuts->SetMaxChi2PerClusterTPC(999.);
if (fESDtrackCuts->AcceptTrack(track)) {
for(Int_t iPid = 0; iPid < 6; iPid++) {
Double_t vecHistChi2Tpc[kNumberOfAxes] = {chi2TPC, pT, eta, phi, static_cast<Double_t>(iPid)};
if (IsConsistentWithPid(iPid, track)) histChi2Tpc->Fill(vecHistChi2Tpc);
}
}
fESDtrackCuts->SetMaxChi2PerClusterTPC(maxChi2);
Float_t maxDcaZ = fESDtrackCuts->GetMaxDCAToVertexZ();
fESDtrackCuts->SetMaxDCAToVertexZ(999.);
if (fESDtrackCuts->AcceptTrack(track)) {
for(Int_t iPid = 0; iPid < 6; iPid++) {
Double_t vecHistDcaZ[kNumberOfAxes] = {TMath::Abs(dca[1]), pT, eta, phi, static_cast<Double_t>(iPid)};
if (IsConsistentWithPid(iPid, track)) histDcaZ->Fill(vecHistDcaZ);
}
}
fESDtrackCuts->SetMaxDCAToVertexZ(maxDcaZ);
fESDtrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD, AliESDtrackCuts::kOff);
if (fESDtrackCuts->AcceptTrack(track)) {
Int_t hasPoint = 0;
if (track->HasPointOnITSLayer(0) || track->HasPointOnITSLayer(1)) hasPoint = 1;
for(Int_t iPid = 0; iPid < 6; iPid++) {
Double_t vecHistSpd[kNumberOfAxes] = {static_cast<Double_t>(hasPoint), pT, eta, phi, static_cast<Double_t>(iPid)};
if (IsConsistentWithPid(iPid, track)) histSpd->Fill(vecHistSpd);
}
}
fESDtrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD, AliESDtrackCuts::kAny);
Int_t minNcrTPC = 0;
fESDtrackCuts->SetMinNCrossedRowsTPC(0);
if (fESDtrackCuts->AcceptTrack(track)) {
for(Int_t iPid = 0; iPid < 6; iPid++) {
Double_t vecHistNcr[kNumberOfAxes] = {static_cast<Double_t>(ncrTPC), pT, eta, phi, static_cast<Double_t>(iPid)};
if (IsConsistentWithPid(iPid, track)) histNcr->Fill(vecHistNcr);
}
}
fESDtrackCuts->SetMinNCrossedRowsTPC(minNcrTPC);
Int_t minCRoverFC = 0.;
fESDtrackCuts->SetMinRatioCrossedRowsOverFindableClustersTPC(0.);
if (fESDtrackCuts->AcceptTrack(track)) {
for(Int_t iPid = 0; iPid < 6; iPid++) {
Double_t vecHistCRoverFC[kNumberOfAxes] = {static_cast<Double_t>(nCRoverFC), pT, eta, phi, static_cast<Double_t>(iPid)};
if (IsConsistentWithPid(iPid, track)) histCRoverFC->Fill(vecHistCRoverFC);
}
}
fESDtrackCuts->SetMinRatioCrossedRowsOverFindableClustersTPC(minCRoverFC);
Float_t maxChi2ITS = fESDtrackCuts->GetMaxChi2PerClusterITS();
fESDtrackCuts->SetMaxChi2PerClusterITS(999.);
if (fESDtrackCuts->AcceptTrack(track)) {
for(Int_t iPid = 0; iPid < 6; iPid++) {
Double_t vecHistChi2ITS[kNumberOfAxes] = {chi2ITS, pT, eta, phi, static_cast<Double_t>(iPid)};
if (IsConsistentWithPid(iPid, track)) histChi2Its->Fill(vecHistChi2ITS);
}
}
fESDtrackCuts->SetMaxChi2PerClusterITS(maxChi2ITS);
Int_t minTpcLength = fESDtrackCuts->GetMinLengthActiveVolumeTPC();
fESDtrackCuts->SetMinLengthActiveVolumeTPC(0);
if (fESDtrackCuts->AcceptTrack(track)) {
for(Int_t iPid = 0; iPid < 6; iPid++) {
Double_t vecHistTpcLength[kNumberOfAxes] = {tpcLength, pT, eta, phi, static_cast<Double_t>(iPid)};
if (IsConsistentWithPid(iPid, track)) histTpcLength->Fill(vecHistTpcLength);
}
}
fESDtrackCuts->SetMinLengthActiveVolumeTPC(minTpcLength);
Bool_t isMatched = kFALSE;
Bool_t refit=fESDtrackCuts->GetRequireITSRefit();
Float_t chi2tpc= fESDtrackCuts->GetMaxChi2TPCConstrainedGlobal();
Float_t chi2its= fESDtrackCuts->GetMaxChi2PerClusterITS();
fESDtrackCuts->SetRequireITSRefit(kFALSE);
fESDtrackCuts->SetMaxChi2TPCConstrainedGlobal(99999.);
fESDtrackCuts->SetMaxChi2PerClusterITS(999999.);
fESDtrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD, AliESDtrackCuts::kOff);
if (fESDtrackCuts->AcceptTrack(track)) {
for(Int_t iPid = 0; iPid < 6; iPid++) {
Double_t vecHistTpcItsMatch[kNumberOfAxes] = {static_cast<Double_t>(isMatched), pT, eta, phi, static_cast<Double_t>(iPid)};
if (IsConsistentWithPid(iPid, track)) histTpcItsMatch->Fill(vecHistTpcItsMatch);
}
}
fESDtrackCuts->SetRequireITSRefit(refit);
fESDtrackCuts->SetMaxChi2TPCConstrainedGlobal(chi2tpc);
fESDtrackCuts->SetMaxChi2PerClusterITS(chi2its);
fESDtrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kAny);
isMatched=kTRUE;
if (fESDtrackCuts->AcceptTrack(track)) {
for(Int_t iPid = 0; iPid < 6; iPid++) {
Double_t vecHistTpcItsMatch[kNumberOfAxes] = {static_cast<Double_t>(isMatched), pT, eta, phi, static_cast<Double_t>(iPid)};
if (IsConsistentWithPid(iPid, track)) histTpcItsMatch->Fill(vecHistTpcItsMatch);
}
}
}
}
void AliAnalysisTrackingUncertainties::Terminate(Option_t *)
{
}
void AliAnalysisTrackingUncertainties::BinLogAxis(const THn *h, Int_t axisNumber) {
TAxis *axis = h->GetAxis(axisNumber);
int bins = axis->GetNbins();
Double_t from = axis->GetXmin();
Double_t to = axis->GetXmax();
Double_t *newBins = new Double_t[bins + 1];
newBins[0] = from;
Double_t factor = pow(to/from, 1./bins);
for (int i = 1; i <= bins; i++) {
newBins[i] = factor * newBins[i-1];
}
axis->Set(bins, newBins);
delete [] newBins;
}
Bool_t AliAnalysisTrackingUncertainties::IsVertexAccepted(AliESDEvent * esd, Float_t &vertexZ) {
vertexZ = -999.;
Bool_t vertexOkay = kFALSE;
const AliESDVertex *vertex = esd->GetPrimaryVertexTracks();
if (vertex->GetNContributors() < 1) {
vertex = esd->GetPrimaryVertexSPD();
if (vertex->GetNContributors() < 1) {
vertexOkay = kFALSE; }
else {
vertexOkay = kTRUE;
}
TString vtxTyp = vertex->GetTitle();
Double_t cov[6]={0};
vertex->GetCovarianceMatrix(cov);
Double_t zRes = TMath::Sqrt(cov[5]);
if (vtxTyp.Contains("vertexer:Z") && (zRes>0.25)) vertexOkay = kFALSE;
}
else {
vertexOkay = kTRUE;
}
vertexZ = vertex->GetZ();
return vertexOkay;
}
AliAnalysisTrackingUncertainties::ESpecies_t AliAnalysisTrackingUncertainties::GetPid(const AliESDtrack * const tr, Bool_t useTPCTOF) const {
if(!fESDpid) return kUndef;
if(useTPCTOF && !(tr->GetStatus() & AliVTrack::kTOFpid)) return kUndef;
Bool_t isElectron(kFALSE), isPion(kFALSE), isKaon(kFALSE), isProton(kFALSE);
Int_t nspec(0);
if((isElectron = IsElectron(tr, useTPCTOF))) nspec++;
if((isPion = IsPion(tr, useTPCTOF))) nspec++;
if((isKaon = IsKaon(tr, useTPCTOF))) nspec++;
if((isProton = IsProton(tr,useTPCTOF))) nspec++;
if(nspec != 1) return kUndef;
if(isElectron) return kSpecElectron;
if(isPion) return kSpecPion;
if(isProton) return kSpecProton;
if(isKaon) return kSpecKaon;
return kUndef;
}
Bool_t AliAnalysisTrackingUncertainties::IsElectron(const AliESDtrack * const tr, Bool_t useTPCTOF) const {
Float_t nsigmaElectronTPC = fESDpid->NumberOfSigmasTPC(tr, AliPID::kElectron);
if(nsigmaElectronTPC < 0 || nsigmaElectronTPC > 3) return kFALSE;
if(useTPCTOF){
Float_t nsigmaElectronTOF = fESDpid->NumberOfSigmasTOF(tr, AliPID::kElectron);
if(TMath::Abs(nsigmaElectronTOF) > 3) return kFALSE;
else return kTRUE;
} else {
Float_t nsigmaKaonTPC = fESDpid->NumberOfSigmasTPC(tr, AliPID::kKaon),
nsigmaProtonTPC =fESDpid->NumberOfSigmasTPC(tr, AliPID::kProton);
if(TMath::Abs(nsigmaKaonTPC < 3) || TMath::Abs(nsigmaProtonTPC < 3)) return kFALSE;
else return kTRUE;
}
}
Bool_t AliAnalysisTrackingUncertainties::IsConsistentWithPid(Int_t type, const AliESDtrack * const tr) {
if (type == kSpecPion) return IsPion(tr);
if (type == kSpecKaon) return IsKaon(tr);
if (type == kSpecProton) return IsProton(tr);
if (type == kSpecElectron) return IsElectron(tr);
if (type == kAll) return kTRUE;
return kFALSE;
}
Bool_t AliAnalysisTrackingUncertainties::IsPion(const AliESDtrack * const tr, Bool_t ) const{
Float_t nsigmaPionTPC = fESDpid->NumberOfSigmasTPC(tr, AliPID::kPion);
if (TMath::Abs(nsigmaPionTPC) < 3) return kTRUE;
return kFALSE;
}
Bool_t AliAnalysisTrackingUncertainties::IsKaon(const AliESDtrack * const tr, Bool_t ) const {
Float_t nsigmaKaonTPC = fESDpid->NumberOfSigmasTPC(tr, AliPID::kKaon);
if (TMath::Abs(nsigmaKaonTPC) < 3) return kTRUE;
return kFALSE;
}
Bool_t AliAnalysisTrackingUncertainties::IsProton(const AliESDtrack * const tr, Bool_t ) const{
Float_t nsigmaProtonTPC = fESDpid->NumberOfSigmasTPC(tr, AliPID::kProton);
if (TMath::Abs(nsigmaProtonTPC) < 3) return kTRUE;
return kFALSE;
}
void AliAnalysisTrackingUncertainties::InitializeTrackCutHistograms() {
Int_t binsNcl[kNumberOfAxes] = { 40, 50, 20, 18, 6};
Double_t minNcl[kNumberOfAxes] = { 20, 0.1, -1, 0, -0.5};
Double_t maxNcl[kNumberOfAxes] = {160, 20, +1, 2*TMath::Pi(), 5.5};
TString axisNameNcl[kNumberOfAxes] = {"ncl","pT","eta","phi","pid"};
TString axisTitleNcl[kNumberOfAxes] = {"ncl","pT","eta","phi","pid"};
THnF * histNcl = new THnF("histNcl","number of clusters histogram",kNumberOfAxes, binsNcl, minNcl, maxNcl);
BinLogAxis(histNcl, 1);
fListHist->Add(histNcl);
for (Int_t iaxis=0; iaxis<kNumberOfAxes;iaxis++){
histNcl->GetAxis(iaxis)->SetName(axisNameNcl[iaxis]);
histNcl->GetAxis(iaxis)->SetTitle(axisTitleNcl[iaxis]);
}
Int_t binsChi2Tpc[kNumberOfAxes] = { 40, 50, 20, 18, 6};
Double_t minChi2Tpc[kNumberOfAxes] = { 0, 0.1, -1, 0, -0.5};
Double_t maxChi2Tpc[kNumberOfAxes] = { 8, 20, +1, 2*TMath::Pi(), 5.5};
TString axisNameChi2Tpc[kNumberOfAxes] = {"chi2tpc","pT","eta","phi","pid"};
TString axisTitleChi2Tpc[kNumberOfAxes] = {"chi2tpc","pT","eta","phi","pid"};
THnF * histChi2Tpc = new THnF("histChi2Tpc","chi2 per cls. in TPC",kNumberOfAxes, binsChi2Tpc, minChi2Tpc, maxChi2Tpc);
BinLogAxis(histChi2Tpc, 1);
fListHist->Add(histChi2Tpc);
for (Int_t iaxis=0; iaxis<kNumberOfAxes;iaxis++){
histChi2Tpc->GetAxis(iaxis)->SetName(axisNameChi2Tpc[iaxis]);
histChi2Tpc->GetAxis(iaxis)->SetTitle(axisTitleChi2Tpc[iaxis]);
}
Int_t binsDcaZ[kNumberOfAxes] = { 20, 50, 20, 18, 6};
Double_t minDcaZ[kNumberOfAxes] = { 0, 0.1, -1, 0, -0.5};
Double_t maxDcaZ[kNumberOfAxes] = { 4, 20, +1, 2*TMath::Pi(), 5.5};
TString axisNameDcaZ[kNumberOfAxes] = {"dcaZ","pT","eta","phi","pid"};
TString axisTitleDcaZ[kNumberOfAxes] = {"dcaZ","pT","eta","phi","pid"};
THnF * histDcaZ = new THnF("histDcaZ","dca_z to prim. vtx.",kNumberOfAxes, binsDcaZ, minDcaZ, maxDcaZ);
BinLogAxis(histDcaZ, 1);
fListHist->Add(histDcaZ);
for (Int_t iaxis=0; iaxis<kNumberOfAxes;iaxis++){
histDcaZ->GetAxis(iaxis)->SetName(axisNameDcaZ[iaxis]);
histDcaZ->GetAxis(iaxis)->SetTitle(axisTitleDcaZ[iaxis]);
}
Int_t binsSpd[kNumberOfAxes] = { 2, 50, 20, 18, 6};
Double_t minSpd[kNumberOfAxes] = { -0.5, 0.1, -1, 0, -0.5};
Double_t maxSpd[kNumberOfAxes] = { 1.5, 20, +1, 2*TMath::Pi(), 5.5};
TString axisNameSpd[kNumberOfAxes] = {"spdHit","pT","eta","phi","pid"};
TString axisTitleSpd[kNumberOfAxes] = {"spdHit","pT","eta","phi","pid"};
THnF * histSpd = new THnF("histSpd","hit in SPD layer or not",kNumberOfAxes, binsSpd, minSpd, maxSpd);
BinLogAxis(histSpd, 1);
fListHist->Add(histSpd);
for (Int_t iaxis=0; iaxis<kNumberOfAxes;iaxis++){
histSpd->GetAxis(iaxis)->SetName(axisNameSpd[iaxis]);
histSpd->GetAxis(iaxis)->SetTitle(axisTitleSpd[iaxis]);
}
Int_t binsNcr[kNumberOfAxes] = { 40, 50, 20, 18, 6};
Double_t minNcr[kNumberOfAxes] = { 20, 0.1, -1, 0, -0.5};
Double_t maxNcr[kNumberOfAxes] = {160, 20, +1, 2*TMath::Pi(), 5.5};
TString axisNameNcr[kNumberOfAxes] = {"Ncr","pT","eta","phi","pid"};
TString axisTitleNcr[kNumberOfAxes] = {"Ncr","pT","eta","phi","pid"};
THnF * histNcr = new THnF("histNcr","number of crossed rows TPC histogram",kNumberOfAxes, binsNcr, minNcr, maxNcr);
BinLogAxis(histNcr, 1);
fListHist->Add(histNcr);
for (Int_t iaxis=0; iaxis<kNumberOfAxes;iaxis++){
histNcr->GetAxis(iaxis)->SetName(axisNameNcr[iaxis]);
histNcr->GetAxis(iaxis)->SetTitle(axisTitleNcr[iaxis]);
}
Int_t binsCRoverFC[kNumberOfAxes] = { 26, 50, 20, 18, 6};
Double_t minCRoverFC[kNumberOfAxes] = { 0.4, 0.1, -1, 0, -0.5};
Double_t maxCRoverFC[kNumberOfAxes] = { 1.8, 20, +1, 2*TMath::Pi(), 5.5};
TString axisNameCRoverFC[kNumberOfAxes] = {"CRoverFC","pT","eta","phi","pid"};
TString axisTitleCRoverFC[kNumberOfAxes] = {"CRoverFC","pT","eta","phi","pid"};
THnF * histCRoverFC = new THnF("histCRoverFC","number of crossed rows over findable clusters histogram",kNumberOfAxes, binsCRoverFC, minCRoverFC, maxCRoverFC);
BinLogAxis(histCRoverFC, 1);
fListHist->Add(histCRoverFC);
for (Int_t iaxis=0; iaxis<kNumberOfAxes;iaxis++){
histCRoverFC->GetAxis(iaxis)->SetName(axisNameCRoverFC[iaxis]);
histCRoverFC->GetAxis(iaxis)->SetTitle(axisTitleCRoverFC[iaxis]);
}
Int_t binsChi2Its[kNumberOfAxes] = { 25, 50, 20, 18, 6};
Double_t minChi2Its[kNumberOfAxes] = { 0, 0.1, -1, 0, -0.5};
Double_t maxChi2Its[kNumberOfAxes] = { 50, 20, +1, 2*TMath::Pi(), 5.5};
TString axisNameChi2Its[kNumberOfAxes] = {"Chi2Its","pT","eta","phi","pid"};
TString axisTitleChi2Its[kNumberOfAxes] = {"Chi2Its","pT","eta","phi","pid"};
THnF * histChi2Its = new THnF("histChi2Its","number of crossed rows TPC histogram",kNumberOfAxes, binsChi2Its, minChi2Its, maxChi2Its);
BinLogAxis(histChi2Its, 1);
fListHist->Add(histChi2Its);
for (Int_t iaxis=0; iaxis<kNumberOfAxes;iaxis++){
histChi2Its->GetAxis(iaxis)->SetName(axisNameChi2Its[iaxis]);
histChi2Its->GetAxis(iaxis)->SetTitle(axisTitleChi2Its[iaxis]);
}
Int_t binsTpcLength[kNumberOfAxes] = { 40, 50, 20, 18, 6};
Double_t minTpcLength[kNumberOfAxes] = { 0, 0.1, -1, 0, -0.5};
Double_t maxTpcLength[kNumberOfAxes] = { 170, 20, +1, 2*TMath::Pi(), 5.5};
TString axisNameTpcLength[kNumberOfAxes] = {"TpcLength","pT","eta","phi","pid"};
TString axisTitleTpcLength[kNumberOfAxes] = {"TpcLength","pT","eta","phi","pid"};
THnF * histTpcLength = new THnF("histTpcLength","number of crossed rows TPC histogram",kNumberOfAxes, binsTpcLength, minTpcLength, maxTpcLength);
BinLogAxis(histTpcLength, 1);
fListHist->Add(histTpcLength);
for (Int_t iaxis=0; iaxis<kNumberOfAxes;iaxis++){
histTpcLength->GetAxis(iaxis)->SetName(axisNameTpcLength[iaxis]);
histTpcLength->GetAxis(iaxis)->SetTitle(axisTitleTpcLength[iaxis]);
}
Int_t binsTpcItsMatch[kNumberOfAxes] = { 2, 50, 20, 18, 6};
Double_t minTpcItsMatch[kNumberOfAxes] = { -0.5, 0.1, -1, 0, -0.5};
Double_t maxTpcItsMatch[kNumberOfAxes] = { 1.5, 20, +1, 2*TMath::Pi(), 5.5};
TString axisNameTpcItsMatch[kNumberOfAxes] = {"isMatched","pT","eta","phi","pid"};
TString axisTitleTpcItsMatch[kNumberOfAxes] = {"isMatched","pT","eta","phi","pid"};
THnF * histTpcItsMatch = new THnF("histTpcItsMatch","TPC -> ITS matching",kNumberOfAxes, binsTpcItsMatch, minTpcItsMatch, maxTpcItsMatch);
BinLogAxis(histTpcItsMatch, 1);
fListHist->Add(histTpcItsMatch);
for (Int_t iaxis=0; iaxis<kNumberOfAxes;iaxis++){
histTpcItsMatch->GetAxis(iaxis)->SetName(axisNameTpcItsMatch[iaxis]);
histTpcItsMatch->GetAxis(iaxis)->SetTitle(axisTitleTpcItsMatch[iaxis]);
}
}
AliAnalysisTrackingUncertainties.cxx:1 AliAnalysisTrackingUncertainties.cxx:2 AliAnalysisTrackingUncertainties.cxx:3 AliAnalysisTrackingUncertainties.cxx:4 AliAnalysisTrackingUncertainties.cxx:5 AliAnalysisTrackingUncertainties.cxx:6 AliAnalysisTrackingUncertainties.cxx:7 AliAnalysisTrackingUncertainties.cxx:8 AliAnalysisTrackingUncertainties.cxx:9 AliAnalysisTrackingUncertainties.cxx:10 AliAnalysisTrackingUncertainties.cxx:11 AliAnalysisTrackingUncertainties.cxx:12 AliAnalysisTrackingUncertainties.cxx:13 AliAnalysisTrackingUncertainties.cxx:14 AliAnalysisTrackingUncertainties.cxx:15 AliAnalysisTrackingUncertainties.cxx:16 AliAnalysisTrackingUncertainties.cxx:17 AliAnalysisTrackingUncertainties.cxx:18 AliAnalysisTrackingUncertainties.cxx:19 AliAnalysisTrackingUncertainties.cxx:20 AliAnalysisTrackingUncertainties.cxx:21 AliAnalysisTrackingUncertainties.cxx:22 AliAnalysisTrackingUncertainties.cxx:23 AliAnalysisTrackingUncertainties.cxx:24 AliAnalysisTrackingUncertainties.cxx:25 AliAnalysisTrackingUncertainties.cxx:26 AliAnalysisTrackingUncertainties.cxx:27 AliAnalysisTrackingUncertainties.cxx:28 AliAnalysisTrackingUncertainties.cxx:29 AliAnalysisTrackingUncertainties.cxx:30 AliAnalysisTrackingUncertainties.cxx:31 AliAnalysisTrackingUncertainties.cxx:32 AliAnalysisTrackingUncertainties.cxx:33 AliAnalysisTrackingUncertainties.cxx:34 AliAnalysisTrackingUncertainties.cxx:35 AliAnalysisTrackingUncertainties.cxx:36 AliAnalysisTrackingUncertainties.cxx:37 AliAnalysisTrackingUncertainties.cxx:38 AliAnalysisTrackingUncertainties.cxx:39 AliAnalysisTrackingUncertainties.cxx:40 AliAnalysisTrackingUncertainties.cxx:41 AliAnalysisTrackingUncertainties.cxx:42 AliAnalysisTrackingUncertainties.cxx:43 AliAnalysisTrackingUncertainties.cxx:44 AliAnalysisTrackingUncertainties.cxx:45 AliAnalysisTrackingUncertainties.cxx:46 AliAnalysisTrackingUncertainties.cxx:47 AliAnalysisTrackingUncertainties.cxx:48 AliAnalysisTrackingUncertainties.cxx:49 AliAnalysisTrackingUncertainties.cxx:50 AliAnalysisTrackingUncertainties.cxx:51 AliAnalysisTrackingUncertainties.cxx:52 AliAnalysisTrackingUncertainties.cxx:53 AliAnalysisTrackingUncertainties.cxx:54 AliAnalysisTrackingUncertainties.cxx:55 AliAnalysisTrackingUncertainties.cxx:56 AliAnalysisTrackingUncertainties.cxx:57 AliAnalysisTrackingUncertainties.cxx:58 AliAnalysisTrackingUncertainties.cxx:59 AliAnalysisTrackingUncertainties.cxx:60 AliAnalysisTrackingUncertainties.cxx:61 AliAnalysisTrackingUncertainties.cxx:62 AliAnalysisTrackingUncertainties.cxx:63 AliAnalysisTrackingUncertainties.cxx:64 AliAnalysisTrackingUncertainties.cxx:65 AliAnalysisTrackingUncertainties.cxx:66 AliAnalysisTrackingUncertainties.cxx:67 AliAnalysisTrackingUncertainties.cxx:68 AliAnalysisTrackingUncertainties.cxx:69 AliAnalysisTrackingUncertainties.cxx:70 AliAnalysisTrackingUncertainties.cxx:71 AliAnalysisTrackingUncertainties.cxx:72 AliAnalysisTrackingUncertainties.cxx:73 AliAnalysisTrackingUncertainties.cxx:74 AliAnalysisTrackingUncertainties.cxx:75 AliAnalysisTrackingUncertainties.cxx:76 AliAnalysisTrackingUncertainties.cxx:77 AliAnalysisTrackingUncertainties.cxx:78 AliAnalysisTrackingUncertainties.cxx:79 AliAnalysisTrackingUncertainties.cxx:80 AliAnalysisTrackingUncertainties.cxx:81 AliAnalysisTrackingUncertainties.cxx:82 AliAnalysisTrackingUncertainties.cxx:83 AliAnalysisTrackingUncertainties.cxx:84 AliAnalysisTrackingUncertainties.cxx:85 AliAnalysisTrackingUncertainties.cxx:86 AliAnalysisTrackingUncertainties.cxx:87 AliAnalysisTrackingUncertainties.cxx:88 AliAnalysisTrackingUncertainties.cxx:89 AliAnalysisTrackingUncertainties.cxx:90 AliAnalysisTrackingUncertainties.cxx:91 AliAnalysisTrackingUncertainties.cxx:92 AliAnalysisTrackingUncertainties.cxx:93 AliAnalysisTrackingUncertainties.cxx:94 AliAnalysisTrackingUncertainties.cxx:95 AliAnalysisTrackingUncertainties.cxx:96 AliAnalysisTrackingUncertainties.cxx:97 AliAnalysisTrackingUncertainties.cxx:98 AliAnalysisTrackingUncertainties.cxx:99 AliAnalysisTrackingUncertainties.cxx:100 AliAnalysisTrackingUncertainties.cxx:101 AliAnalysisTrackingUncertainties.cxx:102 AliAnalysisTrackingUncertainties.cxx:103 AliAnalysisTrackingUncertainties.cxx:104 AliAnalysisTrackingUncertainties.cxx:105 AliAnalysisTrackingUncertainties.cxx:106 AliAnalysisTrackingUncertainties.cxx:107 AliAnalysisTrackingUncertainties.cxx:108 AliAnalysisTrackingUncertainties.cxx:109 AliAnalysisTrackingUncertainties.cxx:110 AliAnalysisTrackingUncertainties.cxx:111 AliAnalysisTrackingUncertainties.cxx:112 AliAnalysisTrackingUncertainties.cxx:113 AliAnalysisTrackingUncertainties.cxx:114 AliAnalysisTrackingUncertainties.cxx:115 AliAnalysisTrackingUncertainties.cxx:116 AliAnalysisTrackingUncertainties.cxx:117 AliAnalysisTrackingUncertainties.cxx:118 AliAnalysisTrackingUncertainties.cxx:119 AliAnalysisTrackingUncertainties.cxx:120 AliAnalysisTrackingUncertainties.cxx:121 AliAnalysisTrackingUncertainties.cxx:122 AliAnalysisTrackingUncertainties.cxx:123 AliAnalysisTrackingUncertainties.cxx:124 AliAnalysisTrackingUncertainties.cxx:125 AliAnalysisTrackingUncertainties.cxx:126 AliAnalysisTrackingUncertainties.cxx:127 AliAnalysisTrackingUncertainties.cxx:128 AliAnalysisTrackingUncertainties.cxx:129 AliAnalysisTrackingUncertainties.cxx:130 AliAnalysisTrackingUncertainties.cxx:131 AliAnalysisTrackingUncertainties.cxx:132 AliAnalysisTrackingUncertainties.cxx:133 AliAnalysisTrackingUncertainties.cxx:134 AliAnalysisTrackingUncertainties.cxx:135 AliAnalysisTrackingUncertainties.cxx:136 AliAnalysisTrackingUncertainties.cxx:137 AliAnalysisTrackingUncertainties.cxx:138 AliAnalysisTrackingUncertainties.cxx:139 AliAnalysisTrackingUncertainties.cxx:140 AliAnalysisTrackingUncertainties.cxx:141 AliAnalysisTrackingUncertainties.cxx:142 AliAnalysisTrackingUncertainties.cxx:143 AliAnalysisTrackingUncertainties.cxx:144 AliAnalysisTrackingUncertainties.cxx:145 AliAnalysisTrackingUncertainties.cxx:146 AliAnalysisTrackingUncertainties.cxx:147 AliAnalysisTrackingUncertainties.cxx:148 AliAnalysisTrackingUncertainties.cxx:149 AliAnalysisTrackingUncertainties.cxx:150 AliAnalysisTrackingUncertainties.cxx:151 AliAnalysisTrackingUncertainties.cxx:152 AliAnalysisTrackingUncertainties.cxx:153 AliAnalysisTrackingUncertainties.cxx:154 AliAnalysisTrackingUncertainties.cxx:155 AliAnalysisTrackingUncertainties.cxx:156 AliAnalysisTrackingUncertainties.cxx:157 AliAnalysisTrackingUncertainties.cxx:158 AliAnalysisTrackingUncertainties.cxx:159 AliAnalysisTrackingUncertainties.cxx:160 AliAnalysisTrackingUncertainties.cxx:161 AliAnalysisTrackingUncertainties.cxx:162 AliAnalysisTrackingUncertainties.cxx:163 AliAnalysisTrackingUncertainties.cxx:164 AliAnalysisTrackingUncertainties.cxx:165 AliAnalysisTrackingUncertainties.cxx:166 AliAnalysisTrackingUncertainties.cxx:167 AliAnalysisTrackingUncertainties.cxx:168 AliAnalysisTrackingUncertainties.cxx:169 AliAnalysisTrackingUncertainties.cxx:170 AliAnalysisTrackingUncertainties.cxx:171 AliAnalysisTrackingUncertainties.cxx:172 AliAnalysisTrackingUncertainties.cxx:173 AliAnalysisTrackingUncertainties.cxx:174 AliAnalysisTrackingUncertainties.cxx:175 AliAnalysisTrackingUncertainties.cxx:176 AliAnalysisTrackingUncertainties.cxx:177 AliAnalysisTrackingUncertainties.cxx:178 AliAnalysisTrackingUncertainties.cxx:179 AliAnalysisTrackingUncertainties.cxx:180 AliAnalysisTrackingUncertainties.cxx:181 AliAnalysisTrackingUncertainties.cxx:182 AliAnalysisTrackingUncertainties.cxx:183 AliAnalysisTrackingUncertainties.cxx:184 AliAnalysisTrackingUncertainties.cxx:185 AliAnalysisTrackingUncertainties.cxx:186 AliAnalysisTrackingUncertainties.cxx:187 AliAnalysisTrackingUncertainties.cxx:188 AliAnalysisTrackingUncertainties.cxx:189 AliAnalysisTrackingUncertainties.cxx:190 AliAnalysisTrackingUncertainties.cxx:191 AliAnalysisTrackingUncertainties.cxx:192 AliAnalysisTrackingUncertainties.cxx:193 AliAnalysisTrackingUncertainties.cxx:194 AliAnalysisTrackingUncertainties.cxx:195 AliAnalysisTrackingUncertainties.cxx:196 AliAnalysisTrackingUncertainties.cxx:197 AliAnalysisTrackingUncertainties.cxx:198 AliAnalysisTrackingUncertainties.cxx:199 AliAnalysisTrackingUncertainties.cxx:200 AliAnalysisTrackingUncertainties.cxx:201 AliAnalysisTrackingUncertainties.cxx:202 AliAnalysisTrackingUncertainties.cxx:203 AliAnalysisTrackingUncertainties.cxx:204 AliAnalysisTrackingUncertainties.cxx:205 AliAnalysisTrackingUncertainties.cxx:206 AliAnalysisTrackingUncertainties.cxx:207 AliAnalysisTrackingUncertainties.cxx:208 AliAnalysisTrackingUncertainties.cxx:209 AliAnalysisTrackingUncertainties.cxx:210 AliAnalysisTrackingUncertainties.cxx:211 AliAnalysisTrackingUncertainties.cxx:212 AliAnalysisTrackingUncertainties.cxx:213 AliAnalysisTrackingUncertainties.cxx:214 AliAnalysisTrackingUncertainties.cxx:215 AliAnalysisTrackingUncertainties.cxx:216 AliAnalysisTrackingUncertainties.cxx:217 AliAnalysisTrackingUncertainties.cxx:218 AliAnalysisTrackingUncertainties.cxx:219 AliAnalysisTrackingUncertainties.cxx:220 AliAnalysisTrackingUncertainties.cxx:221 AliAnalysisTrackingUncertainties.cxx:222 AliAnalysisTrackingUncertainties.cxx:223 AliAnalysisTrackingUncertainties.cxx:224 AliAnalysisTrackingUncertainties.cxx:225 AliAnalysisTrackingUncertainties.cxx:226 AliAnalysisTrackingUncertainties.cxx:227 AliAnalysisTrackingUncertainties.cxx:228 AliAnalysisTrackingUncertainties.cxx:229 AliAnalysisTrackingUncertainties.cxx:230 AliAnalysisTrackingUncertainties.cxx:231 AliAnalysisTrackingUncertainties.cxx:232 AliAnalysisTrackingUncertainties.cxx:233 AliAnalysisTrackingUncertainties.cxx:234 AliAnalysisTrackingUncertainties.cxx:235 AliAnalysisTrackingUncertainties.cxx:236 AliAnalysisTrackingUncertainties.cxx:237 AliAnalysisTrackingUncertainties.cxx:238 AliAnalysisTrackingUncertainties.cxx:239 AliAnalysisTrackingUncertainties.cxx:240 AliAnalysisTrackingUncertainties.cxx:241 AliAnalysisTrackingUncertainties.cxx:242 AliAnalysisTrackingUncertainties.cxx:243 AliAnalysisTrackingUncertainties.cxx:244 AliAnalysisTrackingUncertainties.cxx:245 AliAnalysisTrackingUncertainties.cxx:246 AliAnalysisTrackingUncertainties.cxx:247 AliAnalysisTrackingUncertainties.cxx:248 AliAnalysisTrackingUncertainties.cxx:249 AliAnalysisTrackingUncertainties.cxx:250 AliAnalysisTrackingUncertainties.cxx:251 AliAnalysisTrackingUncertainties.cxx:252 AliAnalysisTrackingUncertainties.cxx:253 AliAnalysisTrackingUncertainties.cxx:254 AliAnalysisTrackingUncertainties.cxx:255 AliAnalysisTrackingUncertainties.cxx:256 AliAnalysisTrackingUncertainties.cxx:257 AliAnalysisTrackingUncertainties.cxx:258 AliAnalysisTrackingUncertainties.cxx:259 AliAnalysisTrackingUncertainties.cxx:260 AliAnalysisTrackingUncertainties.cxx:261 AliAnalysisTrackingUncertainties.cxx:262 AliAnalysisTrackingUncertainties.cxx:263 AliAnalysisTrackingUncertainties.cxx:264 AliAnalysisTrackingUncertainties.cxx:265 AliAnalysisTrackingUncertainties.cxx:266 AliAnalysisTrackingUncertainties.cxx:267 AliAnalysisTrackingUncertainties.cxx:268 AliAnalysisTrackingUncertainties.cxx:269 AliAnalysisTrackingUncertainties.cxx:270 AliAnalysisTrackingUncertainties.cxx:271 AliAnalysisTrackingUncertainties.cxx:272 AliAnalysisTrackingUncertainties.cxx:273 AliAnalysisTrackingUncertainties.cxx:274 AliAnalysisTrackingUncertainties.cxx:275 AliAnalysisTrackingUncertainties.cxx:276 AliAnalysisTrackingUncertainties.cxx:277 AliAnalysisTrackingUncertainties.cxx:278 AliAnalysisTrackingUncertainties.cxx:279 AliAnalysisTrackingUncertainties.cxx:280 AliAnalysisTrackingUncertainties.cxx:281 AliAnalysisTrackingUncertainties.cxx:282 AliAnalysisTrackingUncertainties.cxx:283 AliAnalysisTrackingUncertainties.cxx:284 AliAnalysisTrackingUncertainties.cxx:285 AliAnalysisTrackingUncertainties.cxx:286 AliAnalysisTrackingUncertainties.cxx:287 AliAnalysisTrackingUncertainties.cxx:288 AliAnalysisTrackingUncertainties.cxx:289 AliAnalysisTrackingUncertainties.cxx:290 AliAnalysisTrackingUncertainties.cxx:291 AliAnalysisTrackingUncertainties.cxx:292 AliAnalysisTrackingUncertainties.cxx:293 AliAnalysisTrackingUncertainties.cxx:294 AliAnalysisTrackingUncertainties.cxx:295 AliAnalysisTrackingUncertainties.cxx:296 AliAnalysisTrackingUncertainties.cxx:297 AliAnalysisTrackingUncertainties.cxx:298 AliAnalysisTrackingUncertainties.cxx:299 AliAnalysisTrackingUncertainties.cxx:300 AliAnalysisTrackingUncertainties.cxx:301 AliAnalysisTrackingUncertainties.cxx:302 AliAnalysisTrackingUncertainties.cxx:303 AliAnalysisTrackingUncertainties.cxx:304 AliAnalysisTrackingUncertainties.cxx:305 AliAnalysisTrackingUncertainties.cxx:306 AliAnalysisTrackingUncertainties.cxx:307 AliAnalysisTrackingUncertainties.cxx:308 AliAnalysisTrackingUncertainties.cxx:309 AliAnalysisTrackingUncertainties.cxx:310 AliAnalysisTrackingUncertainties.cxx:311 AliAnalysisTrackingUncertainties.cxx:312 AliAnalysisTrackingUncertainties.cxx:313 AliAnalysisTrackingUncertainties.cxx:314 AliAnalysisTrackingUncertainties.cxx:315 AliAnalysisTrackingUncertainties.cxx:316 AliAnalysisTrackingUncertainties.cxx:317 AliAnalysisTrackingUncertainties.cxx:318 AliAnalysisTrackingUncertainties.cxx:319 AliAnalysisTrackingUncertainties.cxx:320 AliAnalysisTrackingUncertainties.cxx:321 AliAnalysisTrackingUncertainties.cxx:322 AliAnalysisTrackingUncertainties.cxx:323 AliAnalysisTrackingUncertainties.cxx:324 AliAnalysisTrackingUncertainties.cxx:325 AliAnalysisTrackingUncertainties.cxx:326 AliAnalysisTrackingUncertainties.cxx:327 AliAnalysisTrackingUncertainties.cxx:328 AliAnalysisTrackingUncertainties.cxx:329 AliAnalysisTrackingUncertainties.cxx:330 AliAnalysisTrackingUncertainties.cxx:331 AliAnalysisTrackingUncertainties.cxx:332 AliAnalysisTrackingUncertainties.cxx:333 AliAnalysisTrackingUncertainties.cxx:334 AliAnalysisTrackingUncertainties.cxx:335 AliAnalysisTrackingUncertainties.cxx:336 AliAnalysisTrackingUncertainties.cxx:337 AliAnalysisTrackingUncertainties.cxx:338 AliAnalysisTrackingUncertainties.cxx:339 AliAnalysisTrackingUncertainties.cxx:340 AliAnalysisTrackingUncertainties.cxx:341 AliAnalysisTrackingUncertainties.cxx:342 AliAnalysisTrackingUncertainties.cxx:343 AliAnalysisTrackingUncertainties.cxx:344 AliAnalysisTrackingUncertainties.cxx:345 AliAnalysisTrackingUncertainties.cxx:346 AliAnalysisTrackingUncertainties.cxx:347 AliAnalysisTrackingUncertainties.cxx:348 AliAnalysisTrackingUncertainties.cxx:349 AliAnalysisTrackingUncertainties.cxx:350 AliAnalysisTrackingUncertainties.cxx:351 AliAnalysisTrackingUncertainties.cxx:352 AliAnalysisTrackingUncertainties.cxx:353 AliAnalysisTrackingUncertainties.cxx:354 AliAnalysisTrackingUncertainties.cxx:355 AliAnalysisTrackingUncertainties.cxx:356 AliAnalysisTrackingUncertainties.cxx:357 AliAnalysisTrackingUncertainties.cxx:358 AliAnalysisTrackingUncertainties.cxx:359 AliAnalysisTrackingUncertainties.cxx:360 AliAnalysisTrackingUncertainties.cxx:361 AliAnalysisTrackingUncertainties.cxx:362 AliAnalysisTrackingUncertainties.cxx:363 AliAnalysisTrackingUncertainties.cxx:364 AliAnalysisTrackingUncertainties.cxx:365 AliAnalysisTrackingUncertainties.cxx:366 AliAnalysisTrackingUncertainties.cxx:367 AliAnalysisTrackingUncertainties.cxx:368 AliAnalysisTrackingUncertainties.cxx:369 AliAnalysisTrackingUncertainties.cxx:370 AliAnalysisTrackingUncertainties.cxx:371 AliAnalysisTrackingUncertainties.cxx:372 AliAnalysisTrackingUncertainties.cxx:373 AliAnalysisTrackingUncertainties.cxx:374 AliAnalysisTrackingUncertainties.cxx:375 AliAnalysisTrackingUncertainties.cxx:376 AliAnalysisTrackingUncertainties.cxx:377 AliAnalysisTrackingUncertainties.cxx:378 AliAnalysisTrackingUncertainties.cxx:379 AliAnalysisTrackingUncertainties.cxx:380 AliAnalysisTrackingUncertainties.cxx:381 AliAnalysisTrackingUncertainties.cxx:382 AliAnalysisTrackingUncertainties.cxx:383 AliAnalysisTrackingUncertainties.cxx:384 AliAnalysisTrackingUncertainties.cxx:385 AliAnalysisTrackingUncertainties.cxx:386 AliAnalysisTrackingUncertainties.cxx:387 AliAnalysisTrackingUncertainties.cxx:388 AliAnalysisTrackingUncertainties.cxx:389 AliAnalysisTrackingUncertainties.cxx:390 AliAnalysisTrackingUncertainties.cxx:391 AliAnalysisTrackingUncertainties.cxx:392 AliAnalysisTrackingUncertainties.cxx:393 AliAnalysisTrackingUncertainties.cxx:394 AliAnalysisTrackingUncertainties.cxx:395 AliAnalysisTrackingUncertainties.cxx:396 AliAnalysisTrackingUncertainties.cxx:397 AliAnalysisTrackingUncertainties.cxx:398 AliAnalysisTrackingUncertainties.cxx:399 AliAnalysisTrackingUncertainties.cxx:400 AliAnalysisTrackingUncertainties.cxx:401 AliAnalysisTrackingUncertainties.cxx:402 AliAnalysisTrackingUncertainties.cxx:403 AliAnalysisTrackingUncertainties.cxx:404 AliAnalysisTrackingUncertainties.cxx:405 AliAnalysisTrackingUncertainties.cxx:406 AliAnalysisTrackingUncertainties.cxx:407 AliAnalysisTrackingUncertainties.cxx:408 AliAnalysisTrackingUncertainties.cxx:409 AliAnalysisTrackingUncertainties.cxx:410 AliAnalysisTrackingUncertainties.cxx:411 AliAnalysisTrackingUncertainties.cxx:412 AliAnalysisTrackingUncertainties.cxx:413 AliAnalysisTrackingUncertainties.cxx:414 AliAnalysisTrackingUncertainties.cxx:415 AliAnalysisTrackingUncertainties.cxx:416 AliAnalysisTrackingUncertainties.cxx:417 AliAnalysisTrackingUncertainties.cxx:418 AliAnalysisTrackingUncertainties.cxx:419 AliAnalysisTrackingUncertainties.cxx:420 AliAnalysisTrackingUncertainties.cxx:421 AliAnalysisTrackingUncertainties.cxx:422 AliAnalysisTrackingUncertainties.cxx:423 AliAnalysisTrackingUncertainties.cxx:424 AliAnalysisTrackingUncertainties.cxx:425 AliAnalysisTrackingUncertainties.cxx:426 AliAnalysisTrackingUncertainties.cxx:427 AliAnalysisTrackingUncertainties.cxx:428 AliAnalysisTrackingUncertainties.cxx:429 AliAnalysisTrackingUncertainties.cxx:430 AliAnalysisTrackingUncertainties.cxx:431 AliAnalysisTrackingUncertainties.cxx:432 AliAnalysisTrackingUncertainties.cxx:433 AliAnalysisTrackingUncertainties.cxx:434 AliAnalysisTrackingUncertainties.cxx:435 AliAnalysisTrackingUncertainties.cxx:436 AliAnalysisTrackingUncertainties.cxx:437 AliAnalysisTrackingUncertainties.cxx:438 AliAnalysisTrackingUncertainties.cxx:439 AliAnalysisTrackingUncertainties.cxx:440 AliAnalysisTrackingUncertainties.cxx:441 AliAnalysisTrackingUncertainties.cxx:442 AliAnalysisTrackingUncertainties.cxx:443 AliAnalysisTrackingUncertainties.cxx:444 AliAnalysisTrackingUncertainties.cxx:445 AliAnalysisTrackingUncertainties.cxx:446 AliAnalysisTrackingUncertainties.cxx:447 AliAnalysisTrackingUncertainties.cxx:448 AliAnalysisTrackingUncertainties.cxx:449 AliAnalysisTrackingUncertainties.cxx:450 AliAnalysisTrackingUncertainties.cxx:451 AliAnalysisTrackingUncertainties.cxx:452 AliAnalysisTrackingUncertainties.cxx:453 AliAnalysisTrackingUncertainties.cxx:454 AliAnalysisTrackingUncertainties.cxx:455 AliAnalysisTrackingUncertainties.cxx:456 AliAnalysisTrackingUncertainties.cxx:457 AliAnalysisTrackingUncertainties.cxx:458 AliAnalysisTrackingUncertainties.cxx:459 AliAnalysisTrackingUncertainties.cxx:460 AliAnalysisTrackingUncertainties.cxx:461 AliAnalysisTrackingUncertainties.cxx:462 AliAnalysisTrackingUncertainties.cxx:463 AliAnalysisTrackingUncertainties.cxx:464 AliAnalysisTrackingUncertainties.cxx:465 AliAnalysisTrackingUncertainties.cxx:466 AliAnalysisTrackingUncertainties.cxx:467 AliAnalysisTrackingUncertainties.cxx:468 AliAnalysisTrackingUncertainties.cxx:469 AliAnalysisTrackingUncertainties.cxx:470 AliAnalysisTrackingUncertainties.cxx:471 AliAnalysisTrackingUncertainties.cxx:472 AliAnalysisTrackingUncertainties.cxx:473 AliAnalysisTrackingUncertainties.cxx:474 AliAnalysisTrackingUncertainties.cxx:475 AliAnalysisTrackingUncertainties.cxx:476 AliAnalysisTrackingUncertainties.cxx:477 AliAnalysisTrackingUncertainties.cxx:478 AliAnalysisTrackingUncertainties.cxx:479 AliAnalysisTrackingUncertainties.cxx:480 AliAnalysisTrackingUncertainties.cxx:481 AliAnalysisTrackingUncertainties.cxx:482 AliAnalysisTrackingUncertainties.cxx:483 AliAnalysisTrackingUncertainties.cxx:484 AliAnalysisTrackingUncertainties.cxx:485 AliAnalysisTrackingUncertainties.cxx:486 AliAnalysisTrackingUncertainties.cxx:487 AliAnalysisTrackingUncertainties.cxx:488 AliAnalysisTrackingUncertainties.cxx:489 AliAnalysisTrackingUncertainties.cxx:490 AliAnalysisTrackingUncertainties.cxx:491 AliAnalysisTrackingUncertainties.cxx:492 AliAnalysisTrackingUncertainties.cxx:493 AliAnalysisTrackingUncertainties.cxx:494 AliAnalysisTrackingUncertainties.cxx:495 AliAnalysisTrackingUncertainties.cxx:496 AliAnalysisTrackingUncertainties.cxx:497 AliAnalysisTrackingUncertainties.cxx:498 AliAnalysisTrackingUncertainties.cxx:499 AliAnalysisTrackingUncertainties.cxx:500 AliAnalysisTrackingUncertainties.cxx:501 AliAnalysisTrackingUncertainties.cxx:502 AliAnalysisTrackingUncertainties.cxx:503 AliAnalysisTrackingUncertainties.cxx:504 AliAnalysisTrackingUncertainties.cxx:505 AliAnalysisTrackingUncertainties.cxx:506 AliAnalysisTrackingUncertainties.cxx:507 AliAnalysisTrackingUncertainties.cxx:508 AliAnalysisTrackingUncertainties.cxx:509 AliAnalysisTrackingUncertainties.cxx:510 AliAnalysisTrackingUncertainties.cxx:511 AliAnalysisTrackingUncertainties.cxx:512 AliAnalysisTrackingUncertainties.cxx:513 AliAnalysisTrackingUncertainties.cxx:514 AliAnalysisTrackingUncertainties.cxx:515 AliAnalysisTrackingUncertainties.cxx:516 AliAnalysisTrackingUncertainties.cxx:517 AliAnalysisTrackingUncertainties.cxx:518 AliAnalysisTrackingUncertainties.cxx:519 AliAnalysisTrackingUncertainties.cxx:520 AliAnalysisTrackingUncertainties.cxx:521 AliAnalysisTrackingUncertainties.cxx:522 AliAnalysisTrackingUncertainties.cxx:523 AliAnalysisTrackingUncertainties.cxx:524 AliAnalysisTrackingUncertainties.cxx:525 AliAnalysisTrackingUncertainties.cxx:526 AliAnalysisTrackingUncertainties.cxx:527 AliAnalysisTrackingUncertainties.cxx:528 AliAnalysisTrackingUncertainties.cxx:529 AliAnalysisTrackingUncertainties.cxx:530 AliAnalysisTrackingUncertainties.cxx:531 AliAnalysisTrackingUncertainties.cxx:532 AliAnalysisTrackingUncertainties.cxx:533 AliAnalysisTrackingUncertainties.cxx:534 AliAnalysisTrackingUncertainties.cxx:535 AliAnalysisTrackingUncertainties.cxx:536 AliAnalysisTrackingUncertainties.cxx:537 AliAnalysisTrackingUncertainties.cxx:538 AliAnalysisTrackingUncertainties.cxx:539 AliAnalysisTrackingUncertainties.cxx:540 AliAnalysisTrackingUncertainties.cxx:541 AliAnalysisTrackingUncertainties.cxx:542 AliAnalysisTrackingUncertainties.cxx:543 AliAnalysisTrackingUncertainties.cxx:544 AliAnalysisTrackingUncertainties.cxx:545 AliAnalysisTrackingUncertainties.cxx:546 AliAnalysisTrackingUncertainties.cxx:547 AliAnalysisTrackingUncertainties.cxx:548 AliAnalysisTrackingUncertainties.cxx:549 AliAnalysisTrackingUncertainties.cxx:550 AliAnalysisTrackingUncertainties.cxx:551 AliAnalysisTrackingUncertainties.cxx:552 AliAnalysisTrackingUncertainties.cxx:553 AliAnalysisTrackingUncertainties.cxx:554 AliAnalysisTrackingUncertainties.cxx:555 AliAnalysisTrackingUncertainties.cxx:556 AliAnalysisTrackingUncertainties.cxx:557 AliAnalysisTrackingUncertainties.cxx:558 AliAnalysisTrackingUncertainties.cxx:559 AliAnalysisTrackingUncertainties.cxx:560 AliAnalysisTrackingUncertainties.cxx:561 AliAnalysisTrackingUncertainties.cxx:562 AliAnalysisTrackingUncertainties.cxx:563 AliAnalysisTrackingUncertainties.cxx:564 AliAnalysisTrackingUncertainties.cxx:565 AliAnalysisTrackingUncertainties.cxx:566 AliAnalysisTrackingUncertainties.cxx:567 AliAnalysisTrackingUncertainties.cxx:568 AliAnalysisTrackingUncertainties.cxx:569 AliAnalysisTrackingUncertainties.cxx:570 AliAnalysisTrackingUncertainties.cxx:571 AliAnalysisTrackingUncertainties.cxx:572 AliAnalysisTrackingUncertainties.cxx:573 AliAnalysisTrackingUncertainties.cxx:574 AliAnalysisTrackingUncertainties.cxx:575 AliAnalysisTrackingUncertainties.cxx:576 AliAnalysisTrackingUncertainties.cxx:577 AliAnalysisTrackingUncertainties.cxx:578 AliAnalysisTrackingUncertainties.cxx:579 AliAnalysisTrackingUncertainties.cxx:580 AliAnalysisTrackingUncertainties.cxx:581 AliAnalysisTrackingUncertainties.cxx:582 AliAnalysisTrackingUncertainties.cxx:583 AliAnalysisTrackingUncertainties.cxx:584 AliAnalysisTrackingUncertainties.cxx:585 AliAnalysisTrackingUncertainties.cxx:586 AliAnalysisTrackingUncertainties.cxx:587 AliAnalysisTrackingUncertainties.cxx:588 AliAnalysisTrackingUncertainties.cxx:589 AliAnalysisTrackingUncertainties.cxx:590 AliAnalysisTrackingUncertainties.cxx:591 AliAnalysisTrackingUncertainties.cxx:592 AliAnalysisTrackingUncertainties.cxx:593 AliAnalysisTrackingUncertainties.cxx:594 AliAnalysisTrackingUncertainties.cxx:595 AliAnalysisTrackingUncertainties.cxx:596 AliAnalysisTrackingUncertainties.cxx:597 AliAnalysisTrackingUncertainties.cxx:598 AliAnalysisTrackingUncertainties.cxx:599 AliAnalysisTrackingUncertainties.cxx:600 AliAnalysisTrackingUncertainties.cxx:601 AliAnalysisTrackingUncertainties.cxx:602 AliAnalysisTrackingUncertainties.cxx:603 AliAnalysisTrackingUncertainties.cxx:604 AliAnalysisTrackingUncertainties.cxx:605 AliAnalysisTrackingUncertainties.cxx:606 AliAnalysisTrackingUncertainties.cxx:607 AliAnalysisTrackingUncertainties.cxx:608 AliAnalysisTrackingUncertainties.cxx:609 AliAnalysisTrackingUncertainties.cxx:610 AliAnalysisTrackingUncertainties.cxx:611 AliAnalysisTrackingUncertainties.cxx:612 AliAnalysisTrackingUncertainties.cxx:613 AliAnalysisTrackingUncertainties.cxx:614 AliAnalysisTrackingUncertainties.cxx:615 AliAnalysisTrackingUncertainties.cxx:616 AliAnalysisTrackingUncertainties.cxx:617 AliAnalysisTrackingUncertainties.cxx:618 AliAnalysisTrackingUncertainties.cxx:619 AliAnalysisTrackingUncertainties.cxx:620 AliAnalysisTrackingUncertainties.cxx:621 AliAnalysisTrackingUncertainties.cxx:622 AliAnalysisTrackingUncertainties.cxx:623 AliAnalysisTrackingUncertainties.cxx:624 AliAnalysisTrackingUncertainties.cxx:625 AliAnalysisTrackingUncertainties.cxx:626 AliAnalysisTrackingUncertainties.cxx:627 AliAnalysisTrackingUncertainties.cxx:628 AliAnalysisTrackingUncertainties.cxx:629 AliAnalysisTrackingUncertainties.cxx:630 AliAnalysisTrackingUncertainties.cxx:631 AliAnalysisTrackingUncertainties.cxx:632 AliAnalysisTrackingUncertainties.cxx:633 AliAnalysisTrackingUncertainties.cxx:634 AliAnalysisTrackingUncertainties.cxx:635 AliAnalysisTrackingUncertainties.cxx:636 AliAnalysisTrackingUncertainties.cxx:637 AliAnalysisTrackingUncertainties.cxx:638 AliAnalysisTrackingUncertainties.cxx:639 AliAnalysisTrackingUncertainties.cxx:640 AliAnalysisTrackingUncertainties.cxx:641 AliAnalysisTrackingUncertainties.cxx:642 AliAnalysisTrackingUncertainties.cxx:643 AliAnalysisTrackingUncertainties.cxx:644 AliAnalysisTrackingUncertainties.cxx:645 AliAnalysisTrackingUncertainties.cxx:646 AliAnalysisTrackingUncertainties.cxx:647 AliAnalysisTrackingUncertainties.cxx:648 AliAnalysisTrackingUncertainties.cxx:649 AliAnalysisTrackingUncertainties.cxx:650 AliAnalysisTrackingUncertainties.cxx:651 AliAnalysisTrackingUncertainties.cxx:652 AliAnalysisTrackingUncertainties.cxx:653 AliAnalysisTrackingUncertainties.cxx:654 AliAnalysisTrackingUncertainties.cxx:655 AliAnalysisTrackingUncertainties.cxx:656 AliAnalysisTrackingUncertainties.cxx:657 AliAnalysisTrackingUncertainties.cxx:658 AliAnalysisTrackingUncertainties.cxx:659 AliAnalysisTrackingUncertainties.cxx:660 AliAnalysisTrackingUncertainties.cxx:661 AliAnalysisTrackingUncertainties.cxx:662 AliAnalysisTrackingUncertainties.cxx:663 AliAnalysisTrackingUncertainties.cxx:664 AliAnalysisTrackingUncertainties.cxx:665 AliAnalysisTrackingUncertainties.cxx:666 AliAnalysisTrackingUncertainties.cxx:667 AliAnalysisTrackingUncertainties.cxx:668 AliAnalysisTrackingUncertainties.cxx:669 AliAnalysisTrackingUncertainties.cxx:670 AliAnalysisTrackingUncertainties.cxx:671 AliAnalysisTrackingUncertainties.cxx:672 AliAnalysisTrackingUncertainties.cxx:673 AliAnalysisTrackingUncertainties.cxx:674 AliAnalysisTrackingUncertainties.cxx:675 AliAnalysisTrackingUncertainties.cxx:676 AliAnalysisTrackingUncertainties.cxx:677 AliAnalysisTrackingUncertainties.cxx:678 AliAnalysisTrackingUncertainties.cxx:679 AliAnalysisTrackingUncertainties.cxx:680 AliAnalysisTrackingUncertainties.cxx:681 AliAnalysisTrackingUncertainties.cxx:682 AliAnalysisTrackingUncertainties.cxx:683 AliAnalysisTrackingUncertainties.cxx:684 AliAnalysisTrackingUncertainties.cxx:685 AliAnalysisTrackingUncertainties.cxx:686 AliAnalysisTrackingUncertainties.cxx:687 AliAnalysisTrackingUncertainties.cxx:688 AliAnalysisTrackingUncertainties.cxx:689 AliAnalysisTrackingUncertainties.cxx:690 AliAnalysisTrackingUncertainties.cxx:691 AliAnalysisTrackingUncertainties.cxx:692 AliAnalysisTrackingUncertainties.cxx:693 AliAnalysisTrackingUncertainties.cxx:694 AliAnalysisTrackingUncertainties.cxx:695 AliAnalysisTrackingUncertainties.cxx:696 AliAnalysisTrackingUncertainties.cxx:697 AliAnalysisTrackingUncertainties.cxx:698 AliAnalysisTrackingUncertainties.cxx:699 AliAnalysisTrackingUncertainties.cxx:700 AliAnalysisTrackingUncertainties.cxx:701 AliAnalysisTrackingUncertainties.cxx:702 AliAnalysisTrackingUncertainties.cxx:703 AliAnalysisTrackingUncertainties.cxx:704 AliAnalysisTrackingUncertainties.cxx:705 AliAnalysisTrackingUncertainties.cxx:706 AliAnalysisTrackingUncertainties.cxx:707 AliAnalysisTrackingUncertainties.cxx:708 AliAnalysisTrackingUncertainties.cxx:709 AliAnalysisTrackingUncertainties.cxx:710 AliAnalysisTrackingUncertainties.cxx:711 AliAnalysisTrackingUncertainties.cxx:712 AliAnalysisTrackingUncertainties.cxx:713 AliAnalysisTrackingUncertainties.cxx:714 AliAnalysisTrackingUncertainties.cxx:715 AliAnalysisTrackingUncertainties.cxx:716 AliAnalysisTrackingUncertainties.cxx:717 AliAnalysisTrackingUncertainties.cxx:718 AliAnalysisTrackingUncertainties.cxx:719 AliAnalysisTrackingUncertainties.cxx:720 AliAnalysisTrackingUncertainties.cxx:721 AliAnalysisTrackingUncertainties.cxx:722 AliAnalysisTrackingUncertainties.cxx:723 AliAnalysisTrackingUncertainties.cxx:724 AliAnalysisTrackingUncertainties.cxx:725 AliAnalysisTrackingUncertainties.cxx:726 AliAnalysisTrackingUncertainties.cxx:727 AliAnalysisTrackingUncertainties.cxx:728 AliAnalysisTrackingUncertainties.cxx:729 AliAnalysisTrackingUncertainties.cxx:730 AliAnalysisTrackingUncertainties.cxx:731 AliAnalysisTrackingUncertainties.cxx:732 AliAnalysisTrackingUncertainties.cxx:733 AliAnalysisTrackingUncertainties.cxx:734 AliAnalysisTrackingUncertainties.cxx:735 AliAnalysisTrackingUncertainties.cxx:736 AliAnalysisTrackingUncertainties.cxx:737 AliAnalysisTrackingUncertainties.cxx:738 AliAnalysisTrackingUncertainties.cxx:739 AliAnalysisTrackingUncertainties.cxx:740 AliAnalysisTrackingUncertainties.cxx:741 AliAnalysisTrackingUncertainties.cxx:742 AliAnalysisTrackingUncertainties.cxx:743 AliAnalysisTrackingUncertainties.cxx:744 AliAnalysisTrackingUncertainties.cxx:745 AliAnalysisTrackingUncertainties.cxx:746 AliAnalysisTrackingUncertainties.cxx:747 AliAnalysisTrackingUncertainties.cxx:748 AliAnalysisTrackingUncertainties.cxx:749 AliAnalysisTrackingUncertainties.cxx:750 AliAnalysisTrackingUncertainties.cxx:751 AliAnalysisTrackingUncertainties.cxx:752 AliAnalysisTrackingUncertainties.cxx:753 AliAnalysisTrackingUncertainties.cxx:754 AliAnalysisTrackingUncertainties.cxx:755 AliAnalysisTrackingUncertainties.cxx:756 AliAnalysisTrackingUncertainties.cxx:757 AliAnalysisTrackingUncertainties.cxx:758 AliAnalysisTrackingUncertainties.cxx:759 AliAnalysisTrackingUncertainties.cxx:760 AliAnalysisTrackingUncertainties.cxx:761 AliAnalysisTrackingUncertainties.cxx:762 AliAnalysisTrackingUncertainties.cxx:763 AliAnalysisTrackingUncertainties.cxx:764 AliAnalysisTrackingUncertainties.cxx:765 AliAnalysisTrackingUncertainties.cxx:766 AliAnalysisTrackingUncertainties.cxx:767 AliAnalysisTrackingUncertainties.cxx:768 AliAnalysisTrackingUncertainties.cxx:769 AliAnalysisTrackingUncertainties.cxx:770 AliAnalysisTrackingUncertainties.cxx:771 AliAnalysisTrackingUncertainties.cxx:772 AliAnalysisTrackingUncertainties.cxx:773 AliAnalysisTrackingUncertainties.cxx:774 AliAnalysisTrackingUncertainties.cxx:775 AliAnalysisTrackingUncertainties.cxx:776 AliAnalysisTrackingUncertainties.cxx:777 AliAnalysisTrackingUncertainties.cxx:778 AliAnalysisTrackingUncertainties.cxx:779 AliAnalysisTrackingUncertainties.cxx:780 AliAnalysisTrackingUncertainties.cxx:781 AliAnalysisTrackingUncertainties.cxx:782 AliAnalysisTrackingUncertainties.cxx:783 AliAnalysisTrackingUncertainties.cxx:784 AliAnalysisTrackingUncertainties.cxx:785 AliAnalysisTrackingUncertainties.cxx:786 AliAnalysisTrackingUncertainties.cxx:787 AliAnalysisTrackingUncertainties.cxx:788 AliAnalysisTrackingUncertainties.cxx:789 AliAnalysisTrackingUncertainties.cxx:790 AliAnalysisTrackingUncertainties.cxx:791 AliAnalysisTrackingUncertainties.cxx:792 AliAnalysisTrackingUncertainties.cxx:793 AliAnalysisTrackingUncertainties.cxx:794 AliAnalysisTrackingUncertainties.cxx:795 AliAnalysisTrackingUncertainties.cxx:796 AliAnalysisTrackingUncertainties.cxx:797 AliAnalysisTrackingUncertainties.cxx:798 AliAnalysisTrackingUncertainties.cxx:799 AliAnalysisTrackingUncertainties.cxx:800 AliAnalysisTrackingUncertainties.cxx:801 AliAnalysisTrackingUncertainties.cxx:802 AliAnalysisTrackingUncertainties.cxx:803 AliAnalysisTrackingUncertainties.cxx:804 AliAnalysisTrackingUncertainties.cxx:805 AliAnalysisTrackingUncertainties.cxx:806 AliAnalysisTrackingUncertainties.cxx:807 AliAnalysisTrackingUncertainties.cxx:808 AliAnalysisTrackingUncertainties.cxx:809 AliAnalysisTrackingUncertainties.cxx:810 AliAnalysisTrackingUncertainties.cxx:811 AliAnalysisTrackingUncertainties.cxx:812 AliAnalysisTrackingUncertainties.cxx:813 AliAnalysisTrackingUncertainties.cxx:814 AliAnalysisTrackingUncertainties.cxx:815 AliAnalysisTrackingUncertainties.cxx:816 AliAnalysisTrackingUncertainties.cxx:817 AliAnalysisTrackingUncertainties.cxx:818 AliAnalysisTrackingUncertainties.cxx:819 AliAnalysisTrackingUncertainties.cxx:820 AliAnalysisTrackingUncertainties.cxx:821 AliAnalysisTrackingUncertainties.cxx:822 AliAnalysisTrackingUncertainties.cxx:823 AliAnalysisTrackingUncertainties.cxx:824 AliAnalysisTrackingUncertainties.cxx:825 AliAnalysisTrackingUncertainties.cxx:826 AliAnalysisTrackingUncertainties.cxx:827 AliAnalysisTrackingUncertainties.cxx:828 AliAnalysisTrackingUncertainties.cxx:829 AliAnalysisTrackingUncertainties.cxx:830 AliAnalysisTrackingUncertainties.cxx:831 AliAnalysisTrackingUncertainties.cxx:832 AliAnalysisTrackingUncertainties.cxx:833 AliAnalysisTrackingUncertainties.cxx:834 AliAnalysisTrackingUncertainties.cxx:835 AliAnalysisTrackingUncertainties.cxx:836 AliAnalysisTrackingUncertainties.cxx:837 AliAnalysisTrackingUncertainties.cxx:838 AliAnalysisTrackingUncertainties.cxx:839 AliAnalysisTrackingUncertainties.cxx:840 AliAnalysisTrackingUncertainties.cxx:841 AliAnalysisTrackingUncertainties.cxx:842 AliAnalysisTrackingUncertainties.cxx:843 AliAnalysisTrackingUncertainties.cxx:844 AliAnalysisTrackingUncertainties.cxx:845 AliAnalysisTrackingUncertainties.cxx:846 AliAnalysisTrackingUncertainties.cxx:847 AliAnalysisTrackingUncertainties.cxx:848 AliAnalysisTrackingUncertainties.cxx:849 AliAnalysisTrackingUncertainties.cxx:850 AliAnalysisTrackingUncertainties.cxx:851 AliAnalysisTrackingUncertainties.cxx:852 AliAnalysisTrackingUncertainties.cxx:853 AliAnalysisTrackingUncertainties.cxx:854 AliAnalysisTrackingUncertainties.cxx:855 AliAnalysisTrackingUncertainties.cxx:856 AliAnalysisTrackingUncertainties.cxx:857 AliAnalysisTrackingUncertainties.cxx:858 AliAnalysisTrackingUncertainties.cxx:859 AliAnalysisTrackingUncertainties.cxx:860 AliAnalysisTrackingUncertainties.cxx:861 AliAnalysisTrackingUncertainties.cxx:862 AliAnalysisTrackingUncertainties.cxx:863 AliAnalysisTrackingUncertainties.cxx:864 AliAnalysisTrackingUncertainties.cxx:865 AliAnalysisTrackingUncertainties.cxx:866 AliAnalysisTrackingUncertainties.cxx:867 AliAnalysisTrackingUncertainties.cxx:868 AliAnalysisTrackingUncertainties.cxx:869 AliAnalysisTrackingUncertainties.cxx:870 AliAnalysisTrackingUncertainties.cxx:871 AliAnalysisTrackingUncertainties.cxx:872 AliAnalysisTrackingUncertainties.cxx:873 AliAnalysisTrackingUncertainties.cxx:874 AliAnalysisTrackingUncertainties.cxx:875 AliAnalysisTrackingUncertainties.cxx:876 AliAnalysisTrackingUncertainties.cxx:877 AliAnalysisTrackingUncertainties.cxx:878 AliAnalysisTrackingUncertainties.cxx:879 AliAnalysisTrackingUncertainties.cxx:880 AliAnalysisTrackingUncertainties.cxx:881 AliAnalysisTrackingUncertainties.cxx:882 AliAnalysisTrackingUncertainties.cxx:883 AliAnalysisTrackingUncertainties.cxx:884 AliAnalysisTrackingUncertainties.cxx:885 AliAnalysisTrackingUncertainties.cxx:886 AliAnalysisTrackingUncertainties.cxx:887 AliAnalysisTrackingUncertainties.cxx:888 AliAnalysisTrackingUncertainties.cxx:889 AliAnalysisTrackingUncertainties.cxx:890 AliAnalysisTrackingUncertainties.cxx:891 AliAnalysisTrackingUncertainties.cxx:892 AliAnalysisTrackingUncertainties.cxx:893 AliAnalysisTrackingUncertainties.cxx:894 AliAnalysisTrackingUncertainties.cxx:895 AliAnalysisTrackingUncertainties.cxx:896 AliAnalysisTrackingUncertainties.cxx:897 AliAnalysisTrackingUncertainties.cxx:898 AliAnalysisTrackingUncertainties.cxx:899 AliAnalysisTrackingUncertainties.cxx:900 AliAnalysisTrackingUncertainties.cxx:901 AliAnalysisTrackingUncertainties.cxx:902 AliAnalysisTrackingUncertainties.cxx:903 AliAnalysisTrackingUncertainties.cxx:904 AliAnalysisTrackingUncertainties.cxx:905 AliAnalysisTrackingUncertainties.cxx:906 AliAnalysisTrackingUncertainties.cxx:907 AliAnalysisTrackingUncertainties.cxx:908 AliAnalysisTrackingUncertainties.cxx:909 AliAnalysisTrackingUncertainties.cxx:910 AliAnalysisTrackingUncertainties.cxx:911 AliAnalysisTrackingUncertainties.cxx:912 AliAnalysisTrackingUncertainties.cxx:913 AliAnalysisTrackingUncertainties.cxx:914 AliAnalysisTrackingUncertainties.cxx:915 AliAnalysisTrackingUncertainties.cxx:916 AliAnalysisTrackingUncertainties.cxx:917 AliAnalysisTrackingUncertainties.cxx:918 AliAnalysisTrackingUncertainties.cxx:919 AliAnalysisTrackingUncertainties.cxx:920 AliAnalysisTrackingUncertainties.cxx:921 AliAnalysisTrackingUncertainties.cxx:922 AliAnalysisTrackingUncertainties.cxx:923 AliAnalysisTrackingUncertainties.cxx:924 AliAnalysisTrackingUncertainties.cxx:925 AliAnalysisTrackingUncertainties.cxx:926 AliAnalysisTrackingUncertainties.cxx:927 AliAnalysisTrackingUncertainties.cxx:928 AliAnalysisTrackingUncertainties.cxx:929 AliAnalysisTrackingUncertainties.cxx:930 AliAnalysisTrackingUncertainties.cxx:931 AliAnalysisTrackingUncertainties.cxx:932 AliAnalysisTrackingUncertainties.cxx:933 AliAnalysisTrackingUncertainties.cxx:934 AliAnalysisTrackingUncertainties.cxx:935 AliAnalysisTrackingUncertainties.cxx:936 AliAnalysisTrackingUncertainties.cxx:937 AliAnalysisTrackingUncertainties.cxx:938 AliAnalysisTrackingUncertainties.cxx:939 AliAnalysisTrackingUncertainties.cxx:940 AliAnalysisTrackingUncertainties.cxx:941 AliAnalysisTrackingUncertainties.cxx:942 AliAnalysisTrackingUncertainties.cxx:943 AliAnalysisTrackingUncertainties.cxx:944 AliAnalysisTrackingUncertainties.cxx:945 AliAnalysisTrackingUncertainties.cxx:946 AliAnalysisTrackingUncertainties.cxx:947 AliAnalysisTrackingUncertainties.cxx:948 AliAnalysisTrackingUncertainties.cxx:949 AliAnalysisTrackingUncertainties.cxx:950 AliAnalysisTrackingUncertainties.cxx:951 AliAnalysisTrackingUncertainties.cxx:952 AliAnalysisTrackingUncertainties.cxx:953 AliAnalysisTrackingUncertainties.cxx:954 AliAnalysisTrackingUncertainties.cxx:955 AliAnalysisTrackingUncertainties.cxx:956 AliAnalysisTrackingUncertainties.cxx:957 AliAnalysisTrackingUncertainties.cxx:958 AliAnalysisTrackingUncertainties.cxx:959 AliAnalysisTrackingUncertainties.cxx:960 AliAnalysisTrackingUncertainties.cxx:961 AliAnalysisTrackingUncertainties.cxx:962 AliAnalysisTrackingUncertainties.cxx:963 AliAnalysisTrackingUncertainties.cxx:964 AliAnalysisTrackingUncertainties.cxx:965 AliAnalysisTrackingUncertainties.cxx:966 AliAnalysisTrackingUncertainties.cxx:967 AliAnalysisTrackingUncertainties.cxx:968 AliAnalysisTrackingUncertainties.cxx:969 AliAnalysisTrackingUncertainties.cxx:970 AliAnalysisTrackingUncertainties.cxx:971 AliAnalysisTrackingUncertainties.cxx:972 AliAnalysisTrackingUncertainties.cxx:973 AliAnalysisTrackingUncertainties.cxx:974 AliAnalysisTrackingUncertainties.cxx:975 AliAnalysisTrackingUncertainties.cxx:976 AliAnalysisTrackingUncertainties.cxx:977 AliAnalysisTrackingUncertainties.cxx:978 AliAnalysisTrackingUncertainties.cxx:979 AliAnalysisTrackingUncertainties.cxx:980 AliAnalysisTrackingUncertainties.cxx:981 AliAnalysisTrackingUncertainties.cxx:982 AliAnalysisTrackingUncertainties.cxx:983 AliAnalysisTrackingUncertainties.cxx:984 AliAnalysisTrackingUncertainties.cxx:985 AliAnalysisTrackingUncertainties.cxx:986 AliAnalysisTrackingUncertainties.cxx:987 AliAnalysisTrackingUncertainties.cxx:988 AliAnalysisTrackingUncertainties.cxx:989 AliAnalysisTrackingUncertainties.cxx:990 AliAnalysisTrackingUncertainties.cxx:991 AliAnalysisTrackingUncertainties.cxx:992 AliAnalysisTrackingUncertainties.cxx:993 AliAnalysisTrackingUncertainties.cxx:994 AliAnalysisTrackingUncertainties.cxx:995 AliAnalysisTrackingUncertainties.cxx:996 AliAnalysisTrackingUncertainties.cxx:997 AliAnalysisTrackingUncertainties.cxx:998 AliAnalysisTrackingUncertainties.cxx:999 AliAnalysisTrackingUncertainties.cxx:1000 AliAnalysisTrackingUncertainties.cxx:1001 AliAnalysisTrackingUncertainties.cxx:1002 AliAnalysisTrackingUncertainties.cxx:1003 AliAnalysisTrackingUncertainties.cxx:1004 AliAnalysisTrackingUncertainties.cxx:1005 AliAnalysisTrackingUncertainties.cxx:1006 AliAnalysisTrackingUncertainties.cxx:1007 AliAnalysisTrackingUncertainties.cxx:1008 AliAnalysisTrackingUncertainties.cxx:1009 AliAnalysisTrackingUncertainties.cxx:1010 AliAnalysisTrackingUncertainties.cxx:1011 AliAnalysisTrackingUncertainties.cxx:1012 AliAnalysisTrackingUncertainties.cxx:1013 AliAnalysisTrackingUncertainties.cxx:1014 AliAnalysisTrackingUncertainties.cxx:1015 AliAnalysisTrackingUncertainties.cxx:1016 AliAnalysisTrackingUncertainties.cxx:1017 AliAnalysisTrackingUncertainties.cxx:1018