#include "TChain.h"
#include "TList.h"
#include "TTree.h"
#include "TH1F.h"
#include "TH2F.h"
#include "TH3D.h"
#include "TCanvas.h"
#include "TParticle.h"
#include "TObjArray.h"
#include "AliAnalysisTask.h"
#include "AliAnalysisManager.h"
#include "AliStack.h"
#include "AliMCEvent.h"
#include "AliAODEvent.h"
#include "AliAODInputHandler.h"
#include "AliAODMCParticle.h"
#include "AliAODMCHeader.h"
#include "AliCentrality.h"
#include "AliGenEventHeader.h"
#include "AliLog.h"
#include "AliAnalysisTaskEffContBF.h"
ClassImp(AliAnalysisTaskEffContBF)
AliAnalysisTaskEffContBF::AliAnalysisTaskEffContBF(const char *name)
: AliAnalysisTaskSE(name),
fAOD(0),
fArrayMC(0),
fQAList(0),
fOutputList(0),
fHistEventStats(0),
fHistCentrality(0),
fHistNMult(0),
fHistVz(0),
fHistNSigmaTPCvsPtbeforePID(0),
fHistNSigmaTPCvsPtafterPID(0),
fHistContaminationSecondariesPlus(0),
fHistContaminationSecondariesMinus(0),
fHistContaminationPrimariesPlus(0),
fHistContaminationPrimariesMinus(0),
fHistGeneratedEtaPtPhiPlus(0),
fHistSurvivedEtaPtPhiPlus(0),
fHistGeneratedEtaPtPhiMinus(0),
fHistSurvivedEtaPtPhiMinus(0),
fHistGeneratedEtaPtPlusControl(0),
fHistSurvivedEtaPtPlusControl(0),
fHistGeneratedEtaPtMinusControl(0),
fHistSurvivedEtaPtMinusControl(0),
fHistGeneratedEtaPtPlusPlus(0),
fHistSurvivedEtaPtPlusPlus(0),
fHistGeneratedEtaPtMinusMinus(0),
fHistSurvivedEtaPtMinusMinus(0),
fHistGeneratedEtaPtPlusMinus(0),
fHistSurvivedEtaPtPlusMinus(0),
fHistGeneratedPhiEtaPlusPlus(0),
fHistSurvivedPhiEtaPlusPlus(0),
fHistGeneratedPhiEtaMinusMinus(0),
fHistSurvivedPhiEtaMinusMinus(0),
fHistGeneratedPhiEtaPlusMinus(0),
fHistSurvivedPhiEtaPlusMinus(0),
fUseCentrality(kFALSE),
fCentralityEstimator("V0M"),
fCentralityPercentileMin(0.0),
fCentralityPercentileMax(5.0),
fInjectedSignals(kFALSE),
fPIDResponse(0),
fElectronRejection(kFALSE),
fElectronOnlyRejection(kFALSE),
fElectronRejectionNSigma(-1.),
fElectronRejectionMinPt(0.),
fElectronRejectionMaxPt(1000.),
fVxMax(3.0),
fVyMax(3.0),
fVzMax(10.),
fAODTrackCutBit(128),
fMinNumberOfTPCClusters(80),
fMaxChi2PerTPCCluster(4.0),
fMaxDCAxy(3.0),
fMaxDCAz(3.0),
fMinPt(0.0),
fMaxPt(20.0),
fMinEta(-0.8),
fMaxEta(0.8),
fEtaRangeMin(0.0),
fEtaRangeMax(1.6),
fPtRangeMin(0.0),
fPtRangeMax(20.0),
fEtaBin(100),
fdEtaBin(64),
fPtBin(100),
fHistSurvived4EtaPtPhiPlus(0),
fHistSurvived8EtaPtPhiPlus(0)
{
DefineInput(0, TChain::Class());
DefineOutput(1, TList::Class());
DefineOutput(2, TList::Class());
}
void AliAnalysisTaskEffContBF::UserCreateOutputObjects() {
fQAList = new TList();
fQAList->SetName("QAList");
fQAList->SetOwner();
fOutputList = new TList();
fOutputList->SetName("OutputList");
fOutputList->SetOwner();
TString gCutName[4] = {"Total","Offline trigger",
"Vertex","Analyzed"};
fHistEventStats = new TH1F("fHistEventStats",
"Event statistics;;N_{events}",
4,0.5,4.5);
for(Int_t i = 1; i <= 4; i++)
fHistEventStats->GetXaxis()->SetBinLabel(i,gCutName[i-1].Data());
fQAList->Add(fHistEventStats);
Int_t ptBin = 36;
Int_t etaBin = 16;
Int_t phiBin = 100;
Double_t nArrayPt[37]={0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2.0, 2.2, 2.4, 2.6, 2.8, 3.0, 3.5, 4.0, 4.5, 5.0, 5.5, 6.0, 7.0, 8.0, 9.0, 10.0, 15.0, 20.0};
Double_t nArrayEta[17]={-0.8, -0.7, -0.6, -0.5, -0.4, -0.3, -0.2, -0.1, 0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8};
Double_t nArrayPhi[phiBin+1];
for(Int_t iBin = 0; iBin <= phiBin; iBin++)
nArrayPhi[iBin] = iBin*TMath::TwoPi()/phiBin;
Int_t detaBin = 16;
Int_t dphiBin = 100;
Double_t nArrayDPhi[dphiBin+1];
for(Int_t iBin = 0; iBin <= dphiBin; iBin++)
nArrayDPhi[iBin] = iBin*TMath::TwoPi()/dphiBin;
Double_t nArrayDEta[17]={0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6};
fHistCentrality = new TH1F("fHistCentrality",";Centrality bin;Events",
1001,-0.5,100.5);
fQAList->Add(fHistCentrality);
TString histName;
histName = "fHistNMult";
fHistNMult = new TH1F(histName.Data(),
";N_{mult.}",
200,0,20000);
fQAList->Add(fHistNMult);
fHistVz = new TH1F("fHistVz","Primary vertex distribution - z coordinate;V_{z} (cm);Entries",100,-20.,20.);
fQAList->Add(fHistVz);
fHistNSigmaTPCvsPtbeforePID = new TH2F ("NSigmaTPCvsPtbefore","NSigmaTPCvsPtbefore",200, 0, 20, 200, -10, 10);
fQAList->Add(fHistNSigmaTPCvsPtbeforePID);
fHistNSigmaTPCvsPtafterPID = new TH2F ("NSigmaTPCvsPtafter","NSigmaTPCvsPtafter",200, 0, 20, 200, -10, 10);
fQAList->Add(fHistNSigmaTPCvsPtafterPID);
fHistContaminationSecondariesPlus = new TH3D("fHistContaminationSecondariesPlus","Secondaries;#eta;p_{T} (GeV/c);#varphi",etaBin,nArrayEta,ptBin,nArrayPt,phiBin,nArrayPhi);
fOutputList->Add(fHistContaminationSecondariesPlus);
fHistContaminationSecondariesMinus = new TH3D("fHistContaminationSecondariesMinus","Secondaries;#eta;p_{T} (GeV/c);#varphi",etaBin,nArrayEta,ptBin,nArrayPt,phiBin,nArrayPhi);
fOutputList->Add(fHistContaminationSecondariesMinus);
fHistContaminationPrimariesPlus = new TH3D("fHistContaminationPrimariesPlus","Primaries;#eta;p_{T} (GeV/c);#varphi",etaBin,nArrayEta,ptBin,nArrayPt,phiBin,nArrayPhi);
fOutputList->Add(fHistContaminationPrimariesPlus);
fHistContaminationPrimariesMinus = new TH3D("fHistContaminationPrimariesMinus","Primaries;#eta;p_{T} (GeV/c);#varphi",etaBin,nArrayEta,ptBin,nArrayPt,phiBin,nArrayPhi);
fOutputList->Add(fHistContaminationPrimariesMinus);
fHistGeneratedEtaPtPhiPlus = new TH3D("fHistGeneratedEtaPtPhiPlus",
"Generated positive primaries;#eta;p_{T} (GeV/c);#phi",
etaBin,nArrayEta, ptBin, nArrayPt,phiBin, nArrayPhi);
fOutputList->Add(fHistGeneratedEtaPtPhiPlus);
fHistSurvivedEtaPtPhiPlus = new TH3D("fHistSurvivedEtaPtPhiPlus",
"Survived positive primaries;#eta;p_{T} (GeV/c);#phi",
etaBin,nArrayEta,ptBin,nArrayPt,phiBin,nArrayPhi);
fOutputList->Add(fHistSurvivedEtaPtPhiPlus);
fHistGeneratedEtaPtPhiMinus = new TH3D("fHistGeneratedEtaPtPhiMinus",
"Generated positive primaries;#eta;p_{T} (GeV/c);#phi",
etaBin,nArrayEta,ptBin,nArrayPt,phiBin,nArrayPhi);
fOutputList->Add(fHistGeneratedEtaPtPhiMinus);
fHistSurvivedEtaPtPhiMinus = new TH3D("fHistSurvivedEtaPtPhiMinus",
"Survived positive primaries;#eta;p_{T} (GeV/c);#phi",
etaBin,nArrayEta,ptBin,nArrayPt,phiBin,nArrayPhi);
fOutputList->Add(fHistSurvivedEtaPtPhiMinus);
fHistGeneratedEtaPtPlusControl = new TH2F("fHistGeneratedEtaPtPlusControl",
"Generated positive primaries;#eta;p_{T} (GeV/c)",
etaBin,nArrayEta,ptBin,nArrayPt);
fOutputList->Add(fHistGeneratedEtaPtPlusControl);
fHistSurvivedEtaPtPlusControl = new TH2F("fHistSurvivedEtaPtPlusControl",
"Survived positive primaries;#eta;p_{T} (GeV/c)",
etaBin,nArrayEta,ptBin,nArrayPt);
fOutputList->Add(fHistSurvivedEtaPtPlusControl);
fHistGeneratedEtaPtMinusControl = new TH2F("fHistGeneratedEtaPtMinusControl",
"Generated positive primaries;#eta;p_{T} (GeV/c)",
etaBin,nArrayEta,ptBin,nArrayPt);
fOutputList->Add(fHistGeneratedEtaPtMinusControl);
fHistSurvivedEtaPtMinusControl = new TH2F("fHistSurvivedEtaPtMinusControl",
"Survived positive primaries;#eta;p_{T} (GeV/c)",
etaBin,nArrayEta,ptBin,nArrayPt);
fOutputList->Add(fHistSurvivedEtaPtMinusControl);
fHistGeneratedEtaPtPlusPlus = new TH2F("fHistGeneratedEtaPtPlusPlus",
"Generated ++ primaries;#Delta#eta;p_{T} (GeV/c)",
detaBin,nArrayDEta,ptBin,nArrayPt);
fOutputList->Add(fHistGeneratedEtaPtPlusPlus);
fHistSurvivedEtaPtPlusPlus = new TH2F("fHistSurvivedEtaPtPlusPlus",
"Survived ++ primaries;#Delta#eta;p_{T} (GeV/c)",
detaBin,nArrayDEta,ptBin,nArrayPt);
fOutputList->Add(fHistSurvivedEtaPtPlusPlus);
fHistGeneratedEtaPtMinusMinus = new TH2F("fHistGeneratedEtaPtMinusMinus",
"Generated -- primaries;#Delta#eta;p_{T} (GeV/c)",
detaBin,nArrayDEta,ptBin,nArrayPt);
fOutputList->Add(fHistGeneratedEtaPtMinusMinus);
fHistSurvivedEtaPtMinusMinus = new TH2F("fHistSurvivedEtaPtMinusMinus",
"Survived -- primaries;#Delta#eta;p_{T} (GeV/c)",
detaBin,nArrayDEta,ptBin,nArrayPt);
fOutputList->Add(fHistSurvivedEtaPtMinusMinus);
fHistGeneratedEtaPtPlusMinus = new TH2F("fHistGeneratedEtaPtPlusMinus",
"Generated +- primaries;#Delta#eta;p_{T} (GeV/c)",
detaBin,nArrayDEta,ptBin,nArrayPt);
fOutputList->Add(fHistGeneratedEtaPtPlusMinus);
fHistSurvivedEtaPtPlusMinus = new TH2F("fHistSurvivedEtaPtPlusMinus",
"Survived +- primaries;#Delta#eta;p_{T} (GeV/c)",
detaBin,nArrayDEta,ptBin,nArrayPt);
fOutputList->Add(fHistSurvivedEtaPtPlusMinus);
fHistGeneratedPhiEtaPlusPlus = new TH2F("fHistGeneratedPhiEtaPlusPlus",
"Generated ++ primaries;#Delta#phi",
dphiBin,nArrayDPhi,detaBin,nArrayDEta);
fOutputList->Add(fHistGeneratedPhiEtaPlusPlus);
fHistSurvivedPhiEtaPlusPlus = new TH2F("fHistSurvivedPhiEtaPlusPlus",
"Survived ++ primaries;#Delta#phi;#Delta#eta",
dphiBin,nArrayDPhi,detaBin,nArrayDEta);
fOutputList->Add(fHistSurvivedPhiEtaPlusPlus);
fHistGeneratedPhiEtaMinusMinus = new TH2F("fHistGeneratedPhiEtaMinusMinus",
"Generated -- primaries;#Delta#phi;#Delta#eta",
dphiBin,nArrayDPhi,detaBin,nArrayDEta);
fOutputList->Add(fHistGeneratedPhiEtaMinusMinus);
fHistSurvivedPhiEtaMinusMinus = new TH2F("fHistSurvivedPhiEtaMinusMinus",
"Survived -- primaries;#Delta#phi;#Delta#eta",
dphiBin,nArrayDPhi,detaBin,nArrayDEta);
fOutputList->Add(fHistSurvivedPhiEtaMinusMinus);
fHistGeneratedPhiEtaPlusMinus = new TH2F("fHistGeneratedPhiEtaPlusMinus",
"Generated +- primaries;#Delta#phi;#Delta#eta",
dphiBin,nArrayDPhi,detaBin,nArrayDEta);
fOutputList->Add(fHistGeneratedPhiEtaPlusMinus);
fHistSurvivedPhiEtaPlusMinus = new TH2F("fHistSurvivedPhiEtaPlusMinus",
"Survived +- primaries;#Delta#phi;#Delta#eta",
dphiBin,nArrayDPhi,detaBin,nArrayDEta);
fOutputList->Add(fHistSurvivedPhiEtaPlusMinus);
fHistSurvived4EtaPtPhiPlus = new TH3F("fHistSurvived4EtaPtPhiPlus",
"Survived4 + primaries;#eta;p_{T} (GeV/c);#phi",
etaBin,nArrayEta,ptBin,nArrayPt,phiBin,nArrayPhi);
fOutputList->Add(fHistSurvived4EtaPtPhiPlus);
fHistSurvived8EtaPtPhiPlus = new TH3F("fHistSurvived8EtaPtPhiPlus",
"Survived8 + primaries;#eta;p_{T} (GeV/c);#phi",
etaBin,nArrayEta,ptBin,nArrayPt,phiBin,nArrayPhi);
fOutputList->Add(fHistSurvived8EtaPtPhiPlus);
PostData(1, fQAList);
PostData(2, fOutputList);
}
void AliAnalysisTaskEffContBF::UserExec(Option_t *) {
fAOD = dynamic_cast<AliAODEvent*>(InputEvent());
if (!fAOD) {
printf("ERROR: fAOD not available\n");
return;
}
fArrayMC = dynamic_cast<TClonesArray*>(fAOD->FindListObject(AliAODMCParticle::StdBranchName()));
if (!fArrayMC)
AliFatal("No array of MC particles found !!!");
AliMCEvent* mcEvent = MCEvent();
if (!mcEvent) {
AliError("ERROR: Could not retrieve MC event");
return;
}
if(fElectronRejection) {
fPIDResponse = ((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->GetPIDResponse();
if (!fPIDResponse) AliFatal("This Task needs the PID response attached to the inputHandler");
}
Int_t skipParticlesAbove = 0;
if (fInjectedSignals)
{
AliGenEventHeader* eventHeader = 0;
Int_t headers = 0;
AliAODMCHeader* header = (AliAODMCHeader*) fAOD->GetList()->FindObject(AliAODMCHeader::StdBranchName());
if (!header){
AliFatal("fInjectedSignals set but no MC header found");
return;
}
headers = header->GetNCocktailHeaders();
eventHeader = header->GetCocktailHeader(0);
if (!eventHeader)
{
AliError("First event header not found. Skipping this event.");
return;
}
skipParticlesAbove = eventHeader->NProduced();
AliInfo(Form("Injected signals in this event (%d headers). Keeping particles/tracks of %s. Will skip particles/tracks above %d.", headers, eventHeader->ClassName(), skipParticlesAbove));
}
Int_t nMCLabelCounter = 0;
const Int_t maxMCLabelCounter = 20000;
Double_t eta[maxMCLabelCounter];
Double_t pt[maxMCLabelCounter];
Double_t phi[maxMCLabelCounter];
Int_t level[maxMCLabelCounter];
Int_t charge[maxMCLabelCounter];
fHistEventStats->Fill(1);
Double_t nCentrality = 0;
if(fUseCentrality) {
AliAODHeader *headerAOD = dynamic_cast<AliAODHeader*>(fAOD->GetHeader());
if (!headerAOD){
AliFatal("AOD header found");
return;
}
AliCentrality *centrality = headerAOD->GetCentralityP();
nCentrality =centrality->GetCentralityPercentile(fCentralityEstimator.Data());
if(!centrality->IsEventInCentralityClass(fCentralityPercentileMin,
fCentralityPercentileMax,
fCentralityEstimator.Data()))
return;
else {
fHistEventStats->Fill(2);
fHistCentrality->Fill(nCentrality);
}
}
const AliAODVertex *vertex = fAOD->GetPrimaryVertex();
if(vertex) {
if(vertex->GetNContributors() > 0) {
Double32_t fCov[6];
vertex->GetCovarianceMatrix(fCov);
if(fCov[5] != 0) {
fHistEventStats->Fill(3);
if(TMath::Abs(vertex->GetX()) < fVxMax) {
if(TMath::Abs(vertex->GetY()) < fVyMax) {
if(TMath::Abs(vertex->GetZ()) < fVzMax) {
fHistEventStats->Fill(4);
fHistVz->Fill(vertex->GetZ());
Int_t nGoodAODTracks = fAOD->GetNumberOfTracks();
Int_t nMCParticles = mcEvent->GetNumberOfTracks();
TArrayI labelMCArray(nMCParticles);
for(Int_t jTracks = 0; jTracks < nGoodAODTracks; jTracks++) {
AliAODTrack* track = dynamic_cast<AliAODTrack*>(fAOD->GetTrack(jTracks));
if(!track) AliFatal("Not a standard AOD");
if(!track) continue;
if (!track->TestFilterBit(fAODTrackCutBit))
continue;
if(TMath::Abs(track->Eta()) > fMaxEta)
continue;
if((track->Pt() > fMaxPt)||(track->Pt() < fMinPt))
continue;
Double_t phiRad = track->Phi();
Int_t label = TMath::Abs(track->GetLabel());
if(label > nMCParticles) continue;
AliAODMCParticle *AODmcTrack = (AliAODMCParticle*) mcEvent->GetTrack(label);
Short_t gAODmcCharge = AODmcTrack->Charge();
if (fInjectedSignals)
{
AliAODMCParticle* mother = AODmcTrack;
while (!((AliAODMCParticle*)mother)->IsPhysicalPrimary())
{
if (((AliAODMCParticle*)mother)->GetMother() < 0)
{
mother = 0;
break;
}
mother = (AliAODMCParticle*) fArrayMC->At(((AliAODMCParticle*)mother)->GetMother());
if (!mother)
break;
}
if (!mother)
{
AliError(Form("WARNING: No mother found for particle %d:", AODmcTrack->GetLabel()));
continue;
}
if (mother->GetLabel() >= skipParticlesAbove)
{
continue;
}
}
if (AODmcTrack->IsPhysicalPrimary()) {
if(gAODmcCharge > 0){
fHistContaminationPrimariesPlus->Fill(track->Eta(),track->Pt(),phiRad);
}
if(gAODmcCharge < 0){
fHistContaminationPrimariesMinus->Fill(track->Eta(),track->Pt(),phiRad);
}
}
else{
if(gAODmcCharge > 0){
fHistContaminationSecondariesPlus->Fill(track->Eta(),track->Pt(),phiRad);
}
if(gAODmcCharge < 0){
fHistContaminationSecondariesMinus->Fill(track->Eta(),track->Pt(),phiRad);
}
}
}
for (Int_t iTracks = 0; iTracks < mcEvent->GetNumberOfTracks(); iTracks++) {
AliAODMCParticle *mcTrack = (AliAODMCParticle*) mcEvent->GetTrack(iTracks);
if (!mcTrack) {
AliError(Form("ERROR: Could not receive track %d (mc loop)", iTracks));
continue;
}
Double_t vz = mcTrack->Zv();
if (TMath::Abs(vz) > 50.) continue;
if(TMath::Abs(mcTrack->Eta()) > fMaxEta)
continue;
if((mcTrack->Pt() > fMaxPt)||(mcTrack->Pt() < fMinPt))
continue;
if(!mcTrack->IsPhysicalPrimary()) continue;
Short_t gMCCharge = mcTrack->Charge();
Double_t phiRad = mcTrack->Phi();
if(gMCCharge > 0)
fHistGeneratedEtaPtPhiPlus->Fill(mcTrack->Eta(),
mcTrack->Pt(),
phiRad);
else if(gMCCharge < 0)
fHistGeneratedEtaPtPhiMinus->Fill(mcTrack->Eta(),
mcTrack->Pt(),
phiRad);
Bool_t labelTPC = kTRUE;
if(labelTPC) {
labelMCArray.AddAt(iTracks,nMCLabelCounter);
if(nMCLabelCounter >= maxMCLabelCounter){
AliWarning(Form("MC Label Counter > Limit (%d) --> stop loop here",maxMCLabelCounter));
break;
}
eta[nMCLabelCounter] = mcTrack->Eta();
pt[nMCLabelCounter] = mcTrack->Pt();
phi[nMCLabelCounter] = mcTrack->Phi();
charge[nMCLabelCounter] = gMCCharge;
level[nMCLabelCounter] = 1;
nMCLabelCounter += 1;
}
}
fHistNMult->Fill(nMCLabelCounter);
Int_t nGoodTracks = fAOD->GetNumberOfTracks();
TArrayI labelArray(nGoodTracks);
Int_t labelCounter = 0;
for(Int_t iTracks = 0; iTracks < nGoodTracks; iTracks++) {
AliAODTrack *trackAOD = dynamic_cast<AliAODTrack*>(fAOD->GetTrack(iTracks));
if(!trackAOD) continue;
if (!trackAOD->TestFilterBit(fAODTrackCutBit))
continue;
Int_t label = TMath::Abs(trackAOD->GetLabel());
if(IsLabelUsed(labelArray,label)) continue;
labelArray.AddAt(label,labelCounter);
labelCounter += 1;
Int_t mcGoods = nMCLabelCounter;
for (Int_t k = 0; k < mcGoods; k++) {
Int_t mcLabel = labelMCArray.At(k);
if (mcLabel != TMath::Abs(label)) continue;
if(mcLabel != label) continue;
if(label > trackAOD->GetLabel()) continue;
if(TMath::Abs(trackAOD->Eta()) > fMaxEta)
continue;
if((trackAOD->Pt() > fMaxPt)||(trackAOD->Pt() < fMinPt))
continue;
Short_t gCharge = trackAOD->Charge();
Double_t phiRad = trackAOD->Phi();
if(fElectronRejection) {
Double_t nSigma = fPIDResponse->NumberOfSigmasTPC(trackAOD,(AliPID::EParticleType)AliPID::kElectron);
fHistNSigmaTPCvsPtbeforePID->Fill(trackAOD->Pt(),nSigma);
if( trackAOD->Pt() > fElectronRejectionMinPt && trackAOD->Pt() < fElectronRejectionMaxPt ){
if(!fElectronOnlyRejection){
if(TMath::Abs(nSigma) < fElectronRejectionNSigma) continue;
}
else{
Double_t nSigmaPions = TMath::Abs(fPIDResponse->NumberOfSigmasTPC(trackAOD,(AliPID::EParticleType)AliPID::kPion));
Double_t nSigmaKaons = TMath::Abs(fPIDResponse->NumberOfSigmasTPC(trackAOD,(AliPID::EParticleType)AliPID::kKaon));
Double_t nSigmaProtons = TMath::Abs(fPIDResponse->NumberOfSigmasTPC(trackAOD,(AliPID::EParticleType)AliPID::kProton));
if(TMath::Abs(nSigma) < fElectronRejectionNSigma
&& nSigmaPions > fElectronRejectionNSigma
&& nSigmaKaons > fElectronRejectionNSigma
&& nSigmaProtons > fElectronRejectionNSigma ) continue;
}
}
fHistNSigmaTPCvsPtafterPID->Fill(trackAOD->Pt(),nSigma);
}
if(TMath::Abs(trackAOD->Eta()) < fMaxEta && trackAOD->Pt() > fMinPt&&trackAOD->Pt() < fMaxPt){
level[k] = 2;
if(gCharge > 0)
fHistSurvivedEtaPtPhiPlus->Fill(trackAOD->Eta(),
trackAOD->Pt(),
phiRad);
else if(gCharge < 0)
fHistSurvivedEtaPtPhiMinus->Fill(trackAOD->Eta(),
trackAOD->Pt(),
phiRad);
}
}
}
labelMCArray.Reset();
labelArray.Reset();
}
}
}
}
}
}
for (Int_t i = 0; i < nMCLabelCounter ; i++) {
if(charge[i] > 0){
if(level[i] > 0) fHistGeneratedEtaPtPlusControl->Fill(eta[i],pt[i]);
if(level[i] > 1) fHistSurvivedEtaPtPlusControl->Fill(eta[i],pt[i]);
}
else if(charge[i] < 0){
if(level[i] > 0) fHistGeneratedEtaPtMinusControl->Fill(eta[i],pt[i]);
if(level[i] > 1) fHistSurvivedEtaPtMinusControl->Fill(eta[i],pt[i]);
}
for (Int_t j = i+1; j < nMCLabelCounter ; j++) {
if(charge[i] > 0 && charge[j] > 0 ){
if(level[i] > 0 && level[j] > 0) {
fHistGeneratedEtaPtPlusPlus->Fill(TMath::Abs(eta[i]-eta[j]),pt[i]);
if (TMath::Abs(phi[i]-phi[j]) < TMath::Pi())
fHistGeneratedPhiEtaPlusPlus->Fill(TMath::Abs(phi[i]-phi[j]),TMath::Abs(eta[i]-eta[j]));
}
if(level[i] > 1 && level[j] > 1) {
fHistSurvivedEtaPtPlusPlus->Fill(TMath::Abs(eta[i]-eta[j]),pt[i]);
if (TMath::Abs(phi[i]-phi[j]) < TMath::Pi())
fHistSurvivedPhiEtaPlusPlus->Fill(TMath::Abs(phi[i]-phi[j]),TMath::Abs(eta[i]-eta[j]));
}
}
else if(charge[i] < 0 && charge[j] < 0 ){
if(level[i] > 0 && level[j] > 0) {
fHistGeneratedEtaPtMinusMinus->Fill(TMath::Abs(eta[i]-eta[j]),pt[i]);
if (TMath::Abs(phi[i]-phi[j]) < TMath::Pi())
fHistGeneratedPhiEtaMinusMinus->Fill(TMath::Abs(phi[i]-phi[j]),TMath::Abs(eta[i]-eta[j]));
}
if(level[i] > 2 && level[j] > 1) {
fHistSurvivedEtaPtMinusMinus->Fill(TMath::Abs(eta[i]-eta[j]),pt[i]);
if (TMath::Abs(phi[i]-phi[j]) < TMath::Pi())
fHistSurvivedPhiEtaMinusMinus->Fill(TMath::Abs(phi[i]-phi[j]),TMath::Abs(eta[i]-eta[j]));
}
}
else if((charge[i] > 0 && charge[j] < 0)||(charge[i] < 0 && charge[j] > 0)){
if(level[i] > 0 && level[j] > 0) {
fHistGeneratedEtaPtPlusMinus->Fill(TMath::Abs(eta[i]-eta[j]),pt[i]);
if (TMath::Abs(phi[i]-phi[j]) < TMath::Pi())
fHistGeneratedPhiEtaPlusMinus->Fill(TMath::Abs(phi[i]-phi[j]),TMath::Abs(eta[i]-eta[j]));
}
if(level[i] > 2 && level[j] > 1) {
fHistSurvivedEtaPtPlusMinus->Fill(TMath::Abs(eta[i]-eta[j]),pt[i]);
if (TMath::Abs(phi[i]-phi[j]) < TMath::Pi())
fHistSurvivedPhiEtaPlusMinus->Fill(TMath::Abs(phi[i]-phi[j]),TMath::Abs(eta[i]-eta[j]));
}
}
}
}
}
void AliAnalysisTaskEffContBF::Terminate(Option_t *) {
fOutputList = dynamic_cast<TList*> (GetOutputData(1));
if (!fOutputList) {
printf("ERROR: Output list not available\n");
return;
}
}
Bool_t AliAnalysisTaskEffContBF::IsLabelUsed(TArrayI labelArray, Int_t label) {
Bool_t status = kFALSE;
for(Int_t i = 0; i < labelArray.GetSize(); i++) {
if(labelArray.At(i) == label)
status = kTRUE;
}
return status;
}
AliAnalysisTaskEffContBF.cxx:1 AliAnalysisTaskEffContBF.cxx:2 AliAnalysisTaskEffContBF.cxx:3 AliAnalysisTaskEffContBF.cxx:4 AliAnalysisTaskEffContBF.cxx:5 AliAnalysisTaskEffContBF.cxx:6 AliAnalysisTaskEffContBF.cxx:7 AliAnalysisTaskEffContBF.cxx:8 AliAnalysisTaskEffContBF.cxx:9 AliAnalysisTaskEffContBF.cxx:10 AliAnalysisTaskEffContBF.cxx:11 AliAnalysisTaskEffContBF.cxx:12 AliAnalysisTaskEffContBF.cxx:13 AliAnalysisTaskEffContBF.cxx:14 AliAnalysisTaskEffContBF.cxx:15 AliAnalysisTaskEffContBF.cxx:16 AliAnalysisTaskEffContBF.cxx:17 AliAnalysisTaskEffContBF.cxx:18 AliAnalysisTaskEffContBF.cxx:19 AliAnalysisTaskEffContBF.cxx:20 AliAnalysisTaskEffContBF.cxx:21 AliAnalysisTaskEffContBF.cxx:22 AliAnalysisTaskEffContBF.cxx:23 AliAnalysisTaskEffContBF.cxx:24 AliAnalysisTaskEffContBF.cxx:25 AliAnalysisTaskEffContBF.cxx:26 AliAnalysisTaskEffContBF.cxx:27 AliAnalysisTaskEffContBF.cxx:28 AliAnalysisTaskEffContBF.cxx:29 AliAnalysisTaskEffContBF.cxx:30 AliAnalysisTaskEffContBF.cxx:31 AliAnalysisTaskEffContBF.cxx:32 AliAnalysisTaskEffContBF.cxx:33 AliAnalysisTaskEffContBF.cxx:34 AliAnalysisTaskEffContBF.cxx:35 AliAnalysisTaskEffContBF.cxx:36 AliAnalysisTaskEffContBF.cxx:37 AliAnalysisTaskEffContBF.cxx:38 AliAnalysisTaskEffContBF.cxx:39 AliAnalysisTaskEffContBF.cxx:40 AliAnalysisTaskEffContBF.cxx:41 AliAnalysisTaskEffContBF.cxx:42 AliAnalysisTaskEffContBF.cxx:43 AliAnalysisTaskEffContBF.cxx:44 AliAnalysisTaskEffContBF.cxx:45 AliAnalysisTaskEffContBF.cxx:46 AliAnalysisTaskEffContBF.cxx:47 AliAnalysisTaskEffContBF.cxx:48 AliAnalysisTaskEffContBF.cxx:49 AliAnalysisTaskEffContBF.cxx:50 AliAnalysisTaskEffContBF.cxx:51 AliAnalysisTaskEffContBF.cxx:52 AliAnalysisTaskEffContBF.cxx:53 AliAnalysisTaskEffContBF.cxx:54 AliAnalysisTaskEffContBF.cxx:55 AliAnalysisTaskEffContBF.cxx:56 AliAnalysisTaskEffContBF.cxx:57 AliAnalysisTaskEffContBF.cxx:58 AliAnalysisTaskEffContBF.cxx:59 AliAnalysisTaskEffContBF.cxx:60 AliAnalysisTaskEffContBF.cxx:61 AliAnalysisTaskEffContBF.cxx:62 AliAnalysisTaskEffContBF.cxx:63 AliAnalysisTaskEffContBF.cxx:64 AliAnalysisTaskEffContBF.cxx:65 AliAnalysisTaskEffContBF.cxx:66 AliAnalysisTaskEffContBF.cxx:67 AliAnalysisTaskEffContBF.cxx:68 AliAnalysisTaskEffContBF.cxx:69 AliAnalysisTaskEffContBF.cxx:70 AliAnalysisTaskEffContBF.cxx:71 AliAnalysisTaskEffContBF.cxx:72 AliAnalysisTaskEffContBF.cxx:73 AliAnalysisTaskEffContBF.cxx:74 AliAnalysisTaskEffContBF.cxx:75 AliAnalysisTaskEffContBF.cxx:76 AliAnalysisTaskEffContBF.cxx:77 AliAnalysisTaskEffContBF.cxx:78 AliAnalysisTaskEffContBF.cxx:79 AliAnalysisTaskEffContBF.cxx:80 AliAnalysisTaskEffContBF.cxx:81 AliAnalysisTaskEffContBF.cxx:82 AliAnalysisTaskEffContBF.cxx:83 AliAnalysisTaskEffContBF.cxx:84 AliAnalysisTaskEffContBF.cxx:85 AliAnalysisTaskEffContBF.cxx:86 AliAnalysisTaskEffContBF.cxx:87 AliAnalysisTaskEffContBF.cxx:88 AliAnalysisTaskEffContBF.cxx:89 AliAnalysisTaskEffContBF.cxx:90 AliAnalysisTaskEffContBF.cxx:91 AliAnalysisTaskEffContBF.cxx:92 AliAnalysisTaskEffContBF.cxx:93 AliAnalysisTaskEffContBF.cxx:94 AliAnalysisTaskEffContBF.cxx:95 AliAnalysisTaskEffContBF.cxx:96 AliAnalysisTaskEffContBF.cxx:97 AliAnalysisTaskEffContBF.cxx:98 AliAnalysisTaskEffContBF.cxx:99 AliAnalysisTaskEffContBF.cxx:100 AliAnalysisTaskEffContBF.cxx:101 AliAnalysisTaskEffContBF.cxx:102 AliAnalysisTaskEffContBF.cxx:103 AliAnalysisTaskEffContBF.cxx:104 AliAnalysisTaskEffContBF.cxx:105 AliAnalysisTaskEffContBF.cxx:106 AliAnalysisTaskEffContBF.cxx:107 AliAnalysisTaskEffContBF.cxx:108 AliAnalysisTaskEffContBF.cxx:109 AliAnalysisTaskEffContBF.cxx:110 AliAnalysisTaskEffContBF.cxx:111 AliAnalysisTaskEffContBF.cxx:112 AliAnalysisTaskEffContBF.cxx:113 AliAnalysisTaskEffContBF.cxx:114 AliAnalysisTaskEffContBF.cxx:115 AliAnalysisTaskEffContBF.cxx:116 AliAnalysisTaskEffContBF.cxx:117 AliAnalysisTaskEffContBF.cxx:118 AliAnalysisTaskEffContBF.cxx:119 AliAnalysisTaskEffContBF.cxx:120 AliAnalysisTaskEffContBF.cxx:121 AliAnalysisTaskEffContBF.cxx:122 AliAnalysisTaskEffContBF.cxx:123 AliAnalysisTaskEffContBF.cxx:124 AliAnalysisTaskEffContBF.cxx:125 AliAnalysisTaskEffContBF.cxx:126 AliAnalysisTaskEffContBF.cxx:127 AliAnalysisTaskEffContBF.cxx:128 AliAnalysisTaskEffContBF.cxx:129 AliAnalysisTaskEffContBF.cxx:130 AliAnalysisTaskEffContBF.cxx:131 AliAnalysisTaskEffContBF.cxx:132 AliAnalysisTaskEffContBF.cxx:133 AliAnalysisTaskEffContBF.cxx:134 AliAnalysisTaskEffContBF.cxx:135 AliAnalysisTaskEffContBF.cxx:136 AliAnalysisTaskEffContBF.cxx:137 AliAnalysisTaskEffContBF.cxx:138 AliAnalysisTaskEffContBF.cxx:139 AliAnalysisTaskEffContBF.cxx:140 AliAnalysisTaskEffContBF.cxx:141 AliAnalysisTaskEffContBF.cxx:142 AliAnalysisTaskEffContBF.cxx:143 AliAnalysisTaskEffContBF.cxx:144 AliAnalysisTaskEffContBF.cxx:145 AliAnalysisTaskEffContBF.cxx:146 AliAnalysisTaskEffContBF.cxx:147 AliAnalysisTaskEffContBF.cxx:148 AliAnalysisTaskEffContBF.cxx:149 AliAnalysisTaskEffContBF.cxx:150 AliAnalysisTaskEffContBF.cxx:151 AliAnalysisTaskEffContBF.cxx:152 AliAnalysisTaskEffContBF.cxx:153 AliAnalysisTaskEffContBF.cxx:154 AliAnalysisTaskEffContBF.cxx:155 AliAnalysisTaskEffContBF.cxx:156 AliAnalysisTaskEffContBF.cxx:157 AliAnalysisTaskEffContBF.cxx:158 AliAnalysisTaskEffContBF.cxx:159 AliAnalysisTaskEffContBF.cxx:160 AliAnalysisTaskEffContBF.cxx:161 AliAnalysisTaskEffContBF.cxx:162 AliAnalysisTaskEffContBF.cxx:163 AliAnalysisTaskEffContBF.cxx:164 AliAnalysisTaskEffContBF.cxx:165 AliAnalysisTaskEffContBF.cxx:166 AliAnalysisTaskEffContBF.cxx:167 AliAnalysisTaskEffContBF.cxx:168 AliAnalysisTaskEffContBF.cxx:169 AliAnalysisTaskEffContBF.cxx:170 AliAnalysisTaskEffContBF.cxx:171 AliAnalysisTaskEffContBF.cxx:172 AliAnalysisTaskEffContBF.cxx:173 AliAnalysisTaskEffContBF.cxx:174 AliAnalysisTaskEffContBF.cxx:175 AliAnalysisTaskEffContBF.cxx:176 AliAnalysisTaskEffContBF.cxx:177 AliAnalysisTaskEffContBF.cxx:178 AliAnalysisTaskEffContBF.cxx:179 AliAnalysisTaskEffContBF.cxx:180 AliAnalysisTaskEffContBF.cxx:181 AliAnalysisTaskEffContBF.cxx:182 AliAnalysisTaskEffContBF.cxx:183 AliAnalysisTaskEffContBF.cxx:184 AliAnalysisTaskEffContBF.cxx:185 AliAnalysisTaskEffContBF.cxx:186 AliAnalysisTaskEffContBF.cxx:187 AliAnalysisTaskEffContBF.cxx:188 AliAnalysisTaskEffContBF.cxx:189 AliAnalysisTaskEffContBF.cxx:190 AliAnalysisTaskEffContBF.cxx:191 AliAnalysisTaskEffContBF.cxx:192 AliAnalysisTaskEffContBF.cxx:193 AliAnalysisTaskEffContBF.cxx:194 AliAnalysisTaskEffContBF.cxx:195 AliAnalysisTaskEffContBF.cxx:196 AliAnalysisTaskEffContBF.cxx:197 AliAnalysisTaskEffContBF.cxx:198 AliAnalysisTaskEffContBF.cxx:199 AliAnalysisTaskEffContBF.cxx:200 AliAnalysisTaskEffContBF.cxx:201 AliAnalysisTaskEffContBF.cxx:202 AliAnalysisTaskEffContBF.cxx:203 AliAnalysisTaskEffContBF.cxx:204 AliAnalysisTaskEffContBF.cxx:205 AliAnalysisTaskEffContBF.cxx:206 AliAnalysisTaskEffContBF.cxx:207 AliAnalysisTaskEffContBF.cxx:208 AliAnalysisTaskEffContBF.cxx:209 AliAnalysisTaskEffContBF.cxx:210 AliAnalysisTaskEffContBF.cxx:211 AliAnalysisTaskEffContBF.cxx:212 AliAnalysisTaskEffContBF.cxx:213 AliAnalysisTaskEffContBF.cxx:214 AliAnalysisTaskEffContBF.cxx:215 AliAnalysisTaskEffContBF.cxx:216 AliAnalysisTaskEffContBF.cxx:217 AliAnalysisTaskEffContBF.cxx:218 AliAnalysisTaskEffContBF.cxx:219 AliAnalysisTaskEffContBF.cxx:220 AliAnalysisTaskEffContBF.cxx:221 AliAnalysisTaskEffContBF.cxx:222 AliAnalysisTaskEffContBF.cxx:223 AliAnalysisTaskEffContBF.cxx:224 AliAnalysisTaskEffContBF.cxx:225 AliAnalysisTaskEffContBF.cxx:226 AliAnalysisTaskEffContBF.cxx:227 AliAnalysisTaskEffContBF.cxx:228 AliAnalysisTaskEffContBF.cxx:229 AliAnalysisTaskEffContBF.cxx:230 AliAnalysisTaskEffContBF.cxx:231 AliAnalysisTaskEffContBF.cxx:232 AliAnalysisTaskEffContBF.cxx:233 AliAnalysisTaskEffContBF.cxx:234 AliAnalysisTaskEffContBF.cxx:235 AliAnalysisTaskEffContBF.cxx:236 AliAnalysisTaskEffContBF.cxx:237 AliAnalysisTaskEffContBF.cxx:238 AliAnalysisTaskEffContBF.cxx:239 AliAnalysisTaskEffContBF.cxx:240 AliAnalysisTaskEffContBF.cxx:241 AliAnalysisTaskEffContBF.cxx:242 AliAnalysisTaskEffContBF.cxx:243 AliAnalysisTaskEffContBF.cxx:244 AliAnalysisTaskEffContBF.cxx:245 AliAnalysisTaskEffContBF.cxx:246 AliAnalysisTaskEffContBF.cxx:247 AliAnalysisTaskEffContBF.cxx:248 AliAnalysisTaskEffContBF.cxx:249 AliAnalysisTaskEffContBF.cxx:250 AliAnalysisTaskEffContBF.cxx:251 AliAnalysisTaskEffContBF.cxx:252 AliAnalysisTaskEffContBF.cxx:253 AliAnalysisTaskEffContBF.cxx:254 AliAnalysisTaskEffContBF.cxx:255 AliAnalysisTaskEffContBF.cxx:256 AliAnalysisTaskEffContBF.cxx:257 AliAnalysisTaskEffContBF.cxx:258 AliAnalysisTaskEffContBF.cxx:259 AliAnalysisTaskEffContBF.cxx:260 AliAnalysisTaskEffContBF.cxx:261 AliAnalysisTaskEffContBF.cxx:262 AliAnalysisTaskEffContBF.cxx:263 AliAnalysisTaskEffContBF.cxx:264 AliAnalysisTaskEffContBF.cxx:265 AliAnalysisTaskEffContBF.cxx:266 AliAnalysisTaskEffContBF.cxx:267 AliAnalysisTaskEffContBF.cxx:268 AliAnalysisTaskEffContBF.cxx:269 AliAnalysisTaskEffContBF.cxx:270 AliAnalysisTaskEffContBF.cxx:271 AliAnalysisTaskEffContBF.cxx:272 AliAnalysisTaskEffContBF.cxx:273 AliAnalysisTaskEffContBF.cxx:274 AliAnalysisTaskEffContBF.cxx:275 AliAnalysisTaskEffContBF.cxx:276 AliAnalysisTaskEffContBF.cxx:277 AliAnalysisTaskEffContBF.cxx:278 AliAnalysisTaskEffContBF.cxx:279 AliAnalysisTaskEffContBF.cxx:280 AliAnalysisTaskEffContBF.cxx:281 AliAnalysisTaskEffContBF.cxx:282 AliAnalysisTaskEffContBF.cxx:283 AliAnalysisTaskEffContBF.cxx:284 AliAnalysisTaskEffContBF.cxx:285 AliAnalysisTaskEffContBF.cxx:286 AliAnalysisTaskEffContBF.cxx:287 AliAnalysisTaskEffContBF.cxx:288 AliAnalysisTaskEffContBF.cxx:289 AliAnalysisTaskEffContBF.cxx:290 AliAnalysisTaskEffContBF.cxx:291 AliAnalysisTaskEffContBF.cxx:292 AliAnalysisTaskEffContBF.cxx:293 AliAnalysisTaskEffContBF.cxx:294 AliAnalysisTaskEffContBF.cxx:295 AliAnalysisTaskEffContBF.cxx:296 AliAnalysisTaskEffContBF.cxx:297 AliAnalysisTaskEffContBF.cxx:298 AliAnalysisTaskEffContBF.cxx:299 AliAnalysisTaskEffContBF.cxx:300 AliAnalysisTaskEffContBF.cxx:301 AliAnalysisTaskEffContBF.cxx:302 AliAnalysisTaskEffContBF.cxx:303 AliAnalysisTaskEffContBF.cxx:304 AliAnalysisTaskEffContBF.cxx:305 AliAnalysisTaskEffContBF.cxx:306 AliAnalysisTaskEffContBF.cxx:307 AliAnalysisTaskEffContBF.cxx:308 AliAnalysisTaskEffContBF.cxx:309 AliAnalysisTaskEffContBF.cxx:310 AliAnalysisTaskEffContBF.cxx:311 AliAnalysisTaskEffContBF.cxx:312 AliAnalysisTaskEffContBF.cxx:313 AliAnalysisTaskEffContBF.cxx:314 AliAnalysisTaskEffContBF.cxx:315 AliAnalysisTaskEffContBF.cxx:316 AliAnalysisTaskEffContBF.cxx:317 AliAnalysisTaskEffContBF.cxx:318 AliAnalysisTaskEffContBF.cxx:319 AliAnalysisTaskEffContBF.cxx:320 AliAnalysisTaskEffContBF.cxx:321 AliAnalysisTaskEffContBF.cxx:322 AliAnalysisTaskEffContBF.cxx:323 AliAnalysisTaskEffContBF.cxx:324 AliAnalysisTaskEffContBF.cxx:325 AliAnalysisTaskEffContBF.cxx:326 AliAnalysisTaskEffContBF.cxx:327 AliAnalysisTaskEffContBF.cxx:328 AliAnalysisTaskEffContBF.cxx:329 AliAnalysisTaskEffContBF.cxx:330 AliAnalysisTaskEffContBF.cxx:331 AliAnalysisTaskEffContBF.cxx:332 AliAnalysisTaskEffContBF.cxx:333 AliAnalysisTaskEffContBF.cxx:334 AliAnalysisTaskEffContBF.cxx:335 AliAnalysisTaskEffContBF.cxx:336 AliAnalysisTaskEffContBF.cxx:337 AliAnalysisTaskEffContBF.cxx:338 AliAnalysisTaskEffContBF.cxx:339 AliAnalysisTaskEffContBF.cxx:340 AliAnalysisTaskEffContBF.cxx:341 AliAnalysisTaskEffContBF.cxx:342 AliAnalysisTaskEffContBF.cxx:343 AliAnalysisTaskEffContBF.cxx:344 AliAnalysisTaskEffContBF.cxx:345 AliAnalysisTaskEffContBF.cxx:346 AliAnalysisTaskEffContBF.cxx:347 AliAnalysisTaskEffContBF.cxx:348 AliAnalysisTaskEffContBF.cxx:349 AliAnalysisTaskEffContBF.cxx:350 AliAnalysisTaskEffContBF.cxx:351 AliAnalysisTaskEffContBF.cxx:352 AliAnalysisTaskEffContBF.cxx:353 AliAnalysisTaskEffContBF.cxx:354 AliAnalysisTaskEffContBF.cxx:355 AliAnalysisTaskEffContBF.cxx:356 AliAnalysisTaskEffContBF.cxx:357 AliAnalysisTaskEffContBF.cxx:358 AliAnalysisTaskEffContBF.cxx:359 AliAnalysisTaskEffContBF.cxx:360 AliAnalysisTaskEffContBF.cxx:361 AliAnalysisTaskEffContBF.cxx:362 AliAnalysisTaskEffContBF.cxx:363 AliAnalysisTaskEffContBF.cxx:364 AliAnalysisTaskEffContBF.cxx:365 AliAnalysisTaskEffContBF.cxx:366 AliAnalysisTaskEffContBF.cxx:367 AliAnalysisTaskEffContBF.cxx:368 AliAnalysisTaskEffContBF.cxx:369 AliAnalysisTaskEffContBF.cxx:370 AliAnalysisTaskEffContBF.cxx:371 AliAnalysisTaskEffContBF.cxx:372 AliAnalysisTaskEffContBF.cxx:373 AliAnalysisTaskEffContBF.cxx:374 AliAnalysisTaskEffContBF.cxx:375 AliAnalysisTaskEffContBF.cxx:376 AliAnalysisTaskEffContBF.cxx:377 AliAnalysisTaskEffContBF.cxx:378 AliAnalysisTaskEffContBF.cxx:379 AliAnalysisTaskEffContBF.cxx:380 AliAnalysisTaskEffContBF.cxx:381 AliAnalysisTaskEffContBF.cxx:382 AliAnalysisTaskEffContBF.cxx:383 AliAnalysisTaskEffContBF.cxx:384 AliAnalysisTaskEffContBF.cxx:385 AliAnalysisTaskEffContBF.cxx:386 AliAnalysisTaskEffContBF.cxx:387 AliAnalysisTaskEffContBF.cxx:388 AliAnalysisTaskEffContBF.cxx:389 AliAnalysisTaskEffContBF.cxx:390 AliAnalysisTaskEffContBF.cxx:391 AliAnalysisTaskEffContBF.cxx:392 AliAnalysisTaskEffContBF.cxx:393 AliAnalysisTaskEffContBF.cxx:394 AliAnalysisTaskEffContBF.cxx:395 AliAnalysisTaskEffContBF.cxx:396 AliAnalysisTaskEffContBF.cxx:397 AliAnalysisTaskEffContBF.cxx:398 AliAnalysisTaskEffContBF.cxx:399 AliAnalysisTaskEffContBF.cxx:400 AliAnalysisTaskEffContBF.cxx:401 AliAnalysisTaskEffContBF.cxx:402 AliAnalysisTaskEffContBF.cxx:403 AliAnalysisTaskEffContBF.cxx:404 AliAnalysisTaskEffContBF.cxx:405 AliAnalysisTaskEffContBF.cxx:406 AliAnalysisTaskEffContBF.cxx:407 AliAnalysisTaskEffContBF.cxx:408 AliAnalysisTaskEffContBF.cxx:409 AliAnalysisTaskEffContBF.cxx:410 AliAnalysisTaskEffContBF.cxx:411 AliAnalysisTaskEffContBF.cxx:412 AliAnalysisTaskEffContBF.cxx:413 AliAnalysisTaskEffContBF.cxx:414 AliAnalysisTaskEffContBF.cxx:415 AliAnalysisTaskEffContBF.cxx:416 AliAnalysisTaskEffContBF.cxx:417 AliAnalysisTaskEffContBF.cxx:418 AliAnalysisTaskEffContBF.cxx:419 AliAnalysisTaskEffContBF.cxx:420 AliAnalysisTaskEffContBF.cxx:421 AliAnalysisTaskEffContBF.cxx:422 AliAnalysisTaskEffContBF.cxx:423 AliAnalysisTaskEffContBF.cxx:424 AliAnalysisTaskEffContBF.cxx:425 AliAnalysisTaskEffContBF.cxx:426 AliAnalysisTaskEffContBF.cxx:427 AliAnalysisTaskEffContBF.cxx:428 AliAnalysisTaskEffContBF.cxx:429 AliAnalysisTaskEffContBF.cxx:430 AliAnalysisTaskEffContBF.cxx:431 AliAnalysisTaskEffContBF.cxx:432 AliAnalysisTaskEffContBF.cxx:433 AliAnalysisTaskEffContBF.cxx:434 AliAnalysisTaskEffContBF.cxx:435 AliAnalysisTaskEffContBF.cxx:436 AliAnalysisTaskEffContBF.cxx:437 AliAnalysisTaskEffContBF.cxx:438 AliAnalysisTaskEffContBF.cxx:439 AliAnalysisTaskEffContBF.cxx:440 AliAnalysisTaskEffContBF.cxx:441 AliAnalysisTaskEffContBF.cxx:442 AliAnalysisTaskEffContBF.cxx:443 AliAnalysisTaskEffContBF.cxx:444 AliAnalysisTaskEffContBF.cxx:445 AliAnalysisTaskEffContBF.cxx:446 AliAnalysisTaskEffContBF.cxx:447 AliAnalysisTaskEffContBF.cxx:448 AliAnalysisTaskEffContBF.cxx:449 AliAnalysisTaskEffContBF.cxx:450 AliAnalysisTaskEffContBF.cxx:451 AliAnalysisTaskEffContBF.cxx:452 AliAnalysisTaskEffContBF.cxx:453 AliAnalysisTaskEffContBF.cxx:454 AliAnalysisTaskEffContBF.cxx:455 AliAnalysisTaskEffContBF.cxx:456 AliAnalysisTaskEffContBF.cxx:457 AliAnalysisTaskEffContBF.cxx:458 AliAnalysisTaskEffContBF.cxx:459 AliAnalysisTaskEffContBF.cxx:460 AliAnalysisTaskEffContBF.cxx:461 AliAnalysisTaskEffContBF.cxx:462 AliAnalysisTaskEffContBF.cxx:463 AliAnalysisTaskEffContBF.cxx:464 AliAnalysisTaskEffContBF.cxx:465 AliAnalysisTaskEffContBF.cxx:466 AliAnalysisTaskEffContBF.cxx:467 AliAnalysisTaskEffContBF.cxx:468 AliAnalysisTaskEffContBF.cxx:469 AliAnalysisTaskEffContBF.cxx:470 AliAnalysisTaskEffContBF.cxx:471 AliAnalysisTaskEffContBF.cxx:472 AliAnalysisTaskEffContBF.cxx:473 AliAnalysisTaskEffContBF.cxx:474 AliAnalysisTaskEffContBF.cxx:475 AliAnalysisTaskEffContBF.cxx:476 AliAnalysisTaskEffContBF.cxx:477 AliAnalysisTaskEffContBF.cxx:478 AliAnalysisTaskEffContBF.cxx:479 AliAnalysisTaskEffContBF.cxx:480 AliAnalysisTaskEffContBF.cxx:481 AliAnalysisTaskEffContBF.cxx:482 AliAnalysisTaskEffContBF.cxx:483 AliAnalysisTaskEffContBF.cxx:484 AliAnalysisTaskEffContBF.cxx:485 AliAnalysisTaskEffContBF.cxx:486 AliAnalysisTaskEffContBF.cxx:487 AliAnalysisTaskEffContBF.cxx:488 AliAnalysisTaskEffContBF.cxx:489 AliAnalysisTaskEffContBF.cxx:490 AliAnalysisTaskEffContBF.cxx:491 AliAnalysisTaskEffContBF.cxx:492 AliAnalysisTaskEffContBF.cxx:493 AliAnalysisTaskEffContBF.cxx:494 AliAnalysisTaskEffContBF.cxx:495 AliAnalysisTaskEffContBF.cxx:496 AliAnalysisTaskEffContBF.cxx:497 AliAnalysisTaskEffContBF.cxx:498 AliAnalysisTaskEffContBF.cxx:499 AliAnalysisTaskEffContBF.cxx:500 AliAnalysisTaskEffContBF.cxx:501 AliAnalysisTaskEffContBF.cxx:502 AliAnalysisTaskEffContBF.cxx:503 AliAnalysisTaskEffContBF.cxx:504 AliAnalysisTaskEffContBF.cxx:505 AliAnalysisTaskEffContBF.cxx:506 AliAnalysisTaskEffContBF.cxx:507 AliAnalysisTaskEffContBF.cxx:508 AliAnalysisTaskEffContBF.cxx:509 AliAnalysisTaskEffContBF.cxx:510 AliAnalysisTaskEffContBF.cxx:511 AliAnalysisTaskEffContBF.cxx:512 AliAnalysisTaskEffContBF.cxx:513 AliAnalysisTaskEffContBF.cxx:514 AliAnalysisTaskEffContBF.cxx:515 AliAnalysisTaskEffContBF.cxx:516 AliAnalysisTaskEffContBF.cxx:517 AliAnalysisTaskEffContBF.cxx:518 AliAnalysisTaskEffContBF.cxx:519 AliAnalysisTaskEffContBF.cxx:520 AliAnalysisTaskEffContBF.cxx:521 AliAnalysisTaskEffContBF.cxx:522 AliAnalysisTaskEffContBF.cxx:523 AliAnalysisTaskEffContBF.cxx:524 AliAnalysisTaskEffContBF.cxx:525 AliAnalysisTaskEffContBF.cxx:526 AliAnalysisTaskEffContBF.cxx:527 AliAnalysisTaskEffContBF.cxx:528 AliAnalysisTaskEffContBF.cxx:529 AliAnalysisTaskEffContBF.cxx:530 AliAnalysisTaskEffContBF.cxx:531 AliAnalysisTaskEffContBF.cxx:532 AliAnalysisTaskEffContBF.cxx:533 AliAnalysisTaskEffContBF.cxx:534 AliAnalysisTaskEffContBF.cxx:535 AliAnalysisTaskEffContBF.cxx:536 AliAnalysisTaskEffContBF.cxx:537 AliAnalysisTaskEffContBF.cxx:538 AliAnalysisTaskEffContBF.cxx:539 AliAnalysisTaskEffContBF.cxx:540 AliAnalysisTaskEffContBF.cxx:541 AliAnalysisTaskEffContBF.cxx:542 AliAnalysisTaskEffContBF.cxx:543 AliAnalysisTaskEffContBF.cxx:544 AliAnalysisTaskEffContBF.cxx:545 AliAnalysisTaskEffContBF.cxx:546 AliAnalysisTaskEffContBF.cxx:547 AliAnalysisTaskEffContBF.cxx:548 AliAnalysisTaskEffContBF.cxx:549 AliAnalysisTaskEffContBF.cxx:550 AliAnalysisTaskEffContBF.cxx:551 AliAnalysisTaskEffContBF.cxx:552 AliAnalysisTaskEffContBF.cxx:553 AliAnalysisTaskEffContBF.cxx:554 AliAnalysisTaskEffContBF.cxx:555 AliAnalysisTaskEffContBF.cxx:556 AliAnalysisTaskEffContBF.cxx:557 AliAnalysisTaskEffContBF.cxx:558 AliAnalysisTaskEffContBF.cxx:559 AliAnalysisTaskEffContBF.cxx:560 AliAnalysisTaskEffContBF.cxx:561 AliAnalysisTaskEffContBF.cxx:562 AliAnalysisTaskEffContBF.cxx:563 AliAnalysisTaskEffContBF.cxx:564 AliAnalysisTaskEffContBF.cxx:565 AliAnalysisTaskEffContBF.cxx:566 AliAnalysisTaskEffContBF.cxx:567 AliAnalysisTaskEffContBF.cxx:568 AliAnalysisTaskEffContBF.cxx:569 AliAnalysisTaskEffContBF.cxx:570 AliAnalysisTaskEffContBF.cxx:571 AliAnalysisTaskEffContBF.cxx:572 AliAnalysisTaskEffContBF.cxx:573 AliAnalysisTaskEffContBF.cxx:574 AliAnalysisTaskEffContBF.cxx:575 AliAnalysisTaskEffContBF.cxx:576 AliAnalysisTaskEffContBF.cxx:577 AliAnalysisTaskEffContBF.cxx:578 AliAnalysisTaskEffContBF.cxx:579 AliAnalysisTaskEffContBF.cxx:580 AliAnalysisTaskEffContBF.cxx:581 AliAnalysisTaskEffContBF.cxx:582 AliAnalysisTaskEffContBF.cxx:583 AliAnalysisTaskEffContBF.cxx:584 AliAnalysisTaskEffContBF.cxx:585 AliAnalysisTaskEffContBF.cxx:586 AliAnalysisTaskEffContBF.cxx:587 AliAnalysisTaskEffContBF.cxx:588 AliAnalysisTaskEffContBF.cxx:589 AliAnalysisTaskEffContBF.cxx:590 AliAnalysisTaskEffContBF.cxx:591 AliAnalysisTaskEffContBF.cxx:592 AliAnalysisTaskEffContBF.cxx:593 AliAnalysisTaskEffContBF.cxx:594 AliAnalysisTaskEffContBF.cxx:595 AliAnalysisTaskEffContBF.cxx:596 AliAnalysisTaskEffContBF.cxx:597 AliAnalysisTaskEffContBF.cxx:598 AliAnalysisTaskEffContBF.cxx:599 AliAnalysisTaskEffContBF.cxx:600 AliAnalysisTaskEffContBF.cxx:601 AliAnalysisTaskEffContBF.cxx:602 AliAnalysisTaskEffContBF.cxx:603 AliAnalysisTaskEffContBF.cxx:604 AliAnalysisTaskEffContBF.cxx:605 AliAnalysisTaskEffContBF.cxx:606 AliAnalysisTaskEffContBF.cxx:607 AliAnalysisTaskEffContBF.cxx:608 AliAnalysisTaskEffContBF.cxx:609 AliAnalysisTaskEffContBF.cxx:610 AliAnalysisTaskEffContBF.cxx:611 AliAnalysisTaskEffContBF.cxx:612 AliAnalysisTaskEffContBF.cxx:613 AliAnalysisTaskEffContBF.cxx:614 AliAnalysisTaskEffContBF.cxx:615 AliAnalysisTaskEffContBF.cxx:616 AliAnalysisTaskEffContBF.cxx:617 AliAnalysisTaskEffContBF.cxx:618 AliAnalysisTaskEffContBF.cxx:619 AliAnalysisTaskEffContBF.cxx:620 AliAnalysisTaskEffContBF.cxx:621 AliAnalysisTaskEffContBF.cxx:622 AliAnalysisTaskEffContBF.cxx:623 AliAnalysisTaskEffContBF.cxx:624 AliAnalysisTaskEffContBF.cxx:625 AliAnalysisTaskEffContBF.cxx:626 AliAnalysisTaskEffContBF.cxx:627 AliAnalysisTaskEffContBF.cxx:628 AliAnalysisTaskEffContBF.cxx:629 AliAnalysisTaskEffContBF.cxx:630 AliAnalysisTaskEffContBF.cxx:631 AliAnalysisTaskEffContBF.cxx:632 AliAnalysisTaskEffContBF.cxx:633 AliAnalysisTaskEffContBF.cxx:634 AliAnalysisTaskEffContBF.cxx:635 AliAnalysisTaskEffContBF.cxx:636 AliAnalysisTaskEffContBF.cxx:637 AliAnalysisTaskEffContBF.cxx:638 AliAnalysisTaskEffContBF.cxx:639 AliAnalysisTaskEffContBF.cxx:640 AliAnalysisTaskEffContBF.cxx:641 AliAnalysisTaskEffContBF.cxx:642 AliAnalysisTaskEffContBF.cxx:643 AliAnalysisTaskEffContBF.cxx:644 AliAnalysisTaskEffContBF.cxx:645 AliAnalysisTaskEffContBF.cxx:646 AliAnalysisTaskEffContBF.cxx:647 AliAnalysisTaskEffContBF.cxx:648 AliAnalysisTaskEffContBF.cxx:649 AliAnalysisTaskEffContBF.cxx:650 AliAnalysisTaskEffContBF.cxx:651 AliAnalysisTaskEffContBF.cxx:652 AliAnalysisTaskEffContBF.cxx:653 AliAnalysisTaskEffContBF.cxx:654 AliAnalysisTaskEffContBF.cxx:655 AliAnalysisTaskEffContBF.cxx:656 AliAnalysisTaskEffContBF.cxx:657 AliAnalysisTaskEffContBF.cxx:658 AliAnalysisTaskEffContBF.cxx:659 AliAnalysisTaskEffContBF.cxx:660 AliAnalysisTaskEffContBF.cxx:661 AliAnalysisTaskEffContBF.cxx:662 AliAnalysisTaskEffContBF.cxx:663 AliAnalysisTaskEffContBF.cxx:664 AliAnalysisTaskEffContBF.cxx:665 AliAnalysisTaskEffContBF.cxx:666 AliAnalysisTaskEffContBF.cxx:667 AliAnalysisTaskEffContBF.cxx:668 AliAnalysisTaskEffContBF.cxx:669 AliAnalysisTaskEffContBF.cxx:670 AliAnalysisTaskEffContBF.cxx:671 AliAnalysisTaskEffContBF.cxx:672 AliAnalysisTaskEffContBF.cxx:673 AliAnalysisTaskEffContBF.cxx:674 AliAnalysisTaskEffContBF.cxx:675 AliAnalysisTaskEffContBF.cxx:676 AliAnalysisTaskEffContBF.cxx:677 AliAnalysisTaskEffContBF.cxx:678 AliAnalysisTaskEffContBF.cxx:679 AliAnalysisTaskEffContBF.cxx:680 AliAnalysisTaskEffContBF.cxx:681 AliAnalysisTaskEffContBF.cxx:682 AliAnalysisTaskEffContBF.cxx:683 AliAnalysisTaskEffContBF.cxx:684 AliAnalysisTaskEffContBF.cxx:685 AliAnalysisTaskEffContBF.cxx:686 AliAnalysisTaskEffContBF.cxx:687 AliAnalysisTaskEffContBF.cxx:688 AliAnalysisTaskEffContBF.cxx:689 AliAnalysisTaskEffContBF.cxx:690 AliAnalysisTaskEffContBF.cxx:691 AliAnalysisTaskEffContBF.cxx:692 AliAnalysisTaskEffContBF.cxx:693 AliAnalysisTaskEffContBF.cxx:694 AliAnalysisTaskEffContBF.cxx:695 AliAnalysisTaskEffContBF.cxx:696 AliAnalysisTaskEffContBF.cxx:697 AliAnalysisTaskEffContBF.cxx:698 AliAnalysisTaskEffContBF.cxx:699 AliAnalysisTaskEffContBF.cxx:700 AliAnalysisTaskEffContBF.cxx:701 AliAnalysisTaskEffContBF.cxx:702 AliAnalysisTaskEffContBF.cxx:703 AliAnalysisTaskEffContBF.cxx:704 AliAnalysisTaskEffContBF.cxx:705 AliAnalysisTaskEffContBF.cxx:706 AliAnalysisTaskEffContBF.cxx:707 AliAnalysisTaskEffContBF.cxx:708 AliAnalysisTaskEffContBF.cxx:709 AliAnalysisTaskEffContBF.cxx:710 AliAnalysisTaskEffContBF.cxx:711 AliAnalysisTaskEffContBF.cxx:712 AliAnalysisTaskEffContBF.cxx:713 AliAnalysisTaskEffContBF.cxx:714 AliAnalysisTaskEffContBF.cxx:715 AliAnalysisTaskEffContBF.cxx:716 AliAnalysisTaskEffContBF.cxx:717 AliAnalysisTaskEffContBF.cxx:718 AliAnalysisTaskEffContBF.cxx:719 AliAnalysisTaskEffContBF.cxx:720 AliAnalysisTaskEffContBF.cxx:721 AliAnalysisTaskEffContBF.cxx:722 AliAnalysisTaskEffContBF.cxx:723 AliAnalysisTaskEffContBF.cxx:724 AliAnalysisTaskEffContBF.cxx:725 AliAnalysisTaskEffContBF.cxx:726 AliAnalysisTaskEffContBF.cxx:727 AliAnalysisTaskEffContBF.cxx:728 AliAnalysisTaskEffContBF.cxx:729 AliAnalysisTaskEffContBF.cxx:730 AliAnalysisTaskEffContBF.cxx:731 AliAnalysisTaskEffContBF.cxx:732 AliAnalysisTaskEffContBF.cxx:733 AliAnalysisTaskEffContBF.cxx:734 AliAnalysisTaskEffContBF.cxx:735 AliAnalysisTaskEffContBF.cxx:736 AliAnalysisTaskEffContBF.cxx:737 AliAnalysisTaskEffContBF.cxx:738 AliAnalysisTaskEffContBF.cxx:739 AliAnalysisTaskEffContBF.cxx:740 AliAnalysisTaskEffContBF.cxx:741 AliAnalysisTaskEffContBF.cxx:742