ROOT logo
/**************************************************************************
 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 *                                                                        *
 * Author: The ALICE Off-line Project.                                    *
 * Contributors are mentioned in the code where appropriate.              *
 *                                                                        *
 * Permission to use, copy, modify and distribute this software and its   *
 * documentation strictly for non-commercial purposes is hereby granted   *
 * without fee, provided that the above copyright notice appears in all   *
 * copies and that both the copyright notice and this permission notice   *
 * appear in the supporting documentation. The authors make no claims     *
 * about the suitability of this software for any purpose. It is          *
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/

// Analysis task for B2 (AOD)
// author: Eulogio Serradilla <eulogio.serradilla@cern.ch>

#include <AliAnalysisTaskSE.h>
#include <AliAnalysisManager.h>
#include <AliInputEventHandler.h>
#include <AliExternalTrackParam.h>
#include <AliAODEvent.h>
#include <AliAODVertex.h>
#include <AliAODTrack.h>
#include <AliAODMCParticle.h>
#include <TH1D.h>
#include <TH2D.h>
#include <TList.h>
#include <TString.h>
#include <TVector3.h>
#include <TProfile.h>
#include <AliLog.h>

#include "AliLnID.h"
#include "AliLnHistoMap.h"
#include "AliLnAODtrackCuts.h"
#include "AliAnalysisTaskB2AOD.h"

ClassImp(AliAnalysisTaskB2AOD)

AliAnalysisTaskB2AOD::AliAnalysisTaskB2AOD()
: AliAnalysisTaskSE()
, fSpecies("Proton")
, fPartCode(AliPID::kProton)
, fHeavyIons(0)
, fSimulation(0)
, fMultTriggerFired(0)
, fCentTriggerFired(0)
, fTriggerFired(0)
, fGoodVertex(0)
, fPileUpEvent(0)
, fV0AND(0)
, fNoFastOnly(0)
, fNtrkMultTrigger(0)
, fMinKNOmult(-10)
, fMaxKNOmult(100000)
, fMinCentrality(0)
, fMaxCentrality(100)
, fNch(0)
, fNtrk(0)
, fMeanNtrk(1)
, fKNOmult(1)
, fMinVx(-1)
, fMaxVx(1)
, fMinVy(-1)
, fMaxVy(1)
, fMinVz(-10)
, fMaxVz(10)
, fMinDCAxy(-1)
, fMaxDCAxy(1)
, fMinDCAz(-2)
, fMaxDCAz(2)
, fMaxNSigma(3)
, fMinEta(-0.8)
, fMaxEta(0.8)
, fMinY(-0.5)
, fMaxY(0.5)
, fAODevent(0)
, fOutputContainer(0)
, fHistoMap(0)
, fTrackCuts(0)
, fLnID(0)
, fMaxNSigmaITS(3)
, fMaxNSigmaTPC(3)
, fMaxNSigmaTOF(3)
, fMinM2(2.)
, fMaxM2(6.)
, fMomentumCorrection(0)
, fMoCpfx(0)

{
//
// Default constructor
//
	AliLog::SetGlobalLogLevel(AliLog::kFatal);
}

AliAnalysisTaskB2AOD::AliAnalysisTaskB2AOD(const char* name)
: AliAnalysisTaskSE(name)
, fSpecies("Proton")
, fPartCode(AliPID::kProton)
, fHeavyIons(0)
, fSimulation(0)
, fMultTriggerFired(0)
, fCentTriggerFired(0)
, fTriggerFired(0)
, fGoodVertex(0)
, fPileUpEvent(0)
, fV0AND(0)
, fNoFastOnly(0)
, fNtrkMultTrigger(0)
, fMinKNOmult(-10)
, fMaxKNOmult(100000)
, fMinCentrality(-1)
, fMaxCentrality(100)
, fNch(0)
, fNtrk(0)
, fMeanNtrk(1)
, fKNOmult(1)
, fMinVx(-1)
, fMaxVx(1)
, fMinVy(-1)
, fMaxVy(1)
, fMinVz(-10)
, fMaxVz(10)
, fMinDCAxy(-1)
, fMaxDCAxy(1)
, fMinDCAz(-2)
, fMaxDCAz(2)
, fMaxNSigma(3)
, fMinEta(-0.8)
, fMaxEta(0.8)
, fMinY(-0.5)
, fMaxY(0.5)
, fAODevent(0)
, fOutputContainer(0)
, fHistoMap(0)
, fTrackCuts(0)
, fLnID(0)
, fMaxNSigmaITS(3)
, fMaxNSigmaTPC(3)
, fMaxNSigmaTOF(3)
, fMinM2(2.)
, fMaxM2(6.)
, fMomentumCorrection(0)
, fMoCpfx(0)

{
//
// Constructor
//
	DefineOutput(1, TList::Class());
	
	AliLog::SetGlobalLogLevel(AliLog::kFatal);
}

void AliAnalysisTaskB2AOD::UserCreateOutputObjects()
{
//
// Create output objects
//
	if(fHistoMap == 0) AliFatal("no histogram map"); // should be created somewhere else
	
	fOutputContainer = new TList();
	fOutputContainer->SetOwner(kTRUE);
	
	TObjString* key;
	TIter iter(fHistoMap->GetMap());
	while((key = dynamic_cast<TObjString*>(iter.Next()))) fOutputContainer->Add((TH1*)fHistoMap->Get(key));
	
	PostData(1, fOutputContainer);
}

AliAnalysisTaskB2AOD::~AliAnalysisTaskB2AOD()
{
//
// Default destructor
//
	delete fHistoMap;
	delete fOutputContainer;
	delete fTrackCuts;
	delete fLnID;
	
	delete fMoCpfx;
}

void AliAnalysisTaskB2AOD::SetParticleSpecies(const TString& species)
{
//
// set the particle species and the AliPID code
//
	fSpecies = species;
	fPartCode = this->GetPidCode(species);
}

void AliAnalysisTaskB2AOD::UserExec(Option_t* )
{
//
// Execute analysis for the current event
//
	fAODevent = dynamic_cast<AliAODEvent*>(InputEvent());
	
	if (!fAODevent)
	{
		this->Error("Exec", "AOD event not available");
		return;
	}
	
	if(fTrackCuts == 0) AliFatal("track cuts not set");
	
	if(fLnID == 0) AliFatal("PID not set");
	
	// multiplicity and centrality
	AliAODHeader * header = dynamic_cast<AliAODHeader*>(fAODevent->GetHeader());
        if(!header) AliFatal("Not a standard AOD");

	fNtrk = (fMaxEta > 0.5) ? header->GetRefMultiplicityComb08() : header->GetRefMultiplicityComb05();
	
	if(fSimulation) fNch = this->GetChargedMultiplicity(fMaxEta);
	
	fKNOmult = fNtrk/fMeanNtrk;
	
	((TH1D*)fHistoMap->Get(fSpecies + "_Event_Ntrk"))->Fill(fNtrk);
	((TH1D*)fHistoMap->Get(fSpecies + "_Event_Zmult"))->Fill(fKNOmult);
	
	fMultTriggerFired = (fNtrk > 0) && (fKNOmult >= fMinKNOmult) && (fKNOmult < fMaxKNOmult);
	
	if(fHeavyIons)
	{
		Double_t centrality = ((AliVAODHeader*)fAODevent->GetHeader())->GetCentrality();

		fCentTriggerFired = (centrality >= fMinCentrality) && (centrality < fMaxCentrality);
	}
	
	// trigger
	
	AliInputEventHandler* eventH = dynamic_cast<AliInputEventHandler*>(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler());
	if(eventH == 0)
	{
		this->Error("Exec", "could not get AliInputEventHandler");
		return;
	}
	
	UInt_t triggerBits = eventH->IsEventSelected();
	
	if(fHeavyIons)
	{
		fTriggerFired = ( this->IsMB(triggerBits) && fCentTriggerFired );
	}
	else
	{
		fTriggerFired = this->IsMB(triggerBits);
		if(fNoFastOnly)      fTriggerFired = ( fTriggerFired && !this->IsFastOnly(triggerBits) );
		if(fV0AND)           fTriggerFired = ( fTriggerFired && this->IsV0AND(triggerBits) );
		if(fNtrkMultTrigger) fTriggerFired = ( fTriggerFired && fMultTriggerFired );
	}
	
	// vertex
	
	fGoodVertex  = kFALSE;
	
	const AliAODVertex* vtx = fAODevent->GetPrimaryVertex(); // best primary vertex
	
	if(vtx->GetNContributors()>0)
	{
		fGoodVertex=kTRUE;
		
		((TH2D*)fHistoMap->Get(fSpecies + "_Vertex_YX"))->Fill(vtx->GetX(), vtx->GetY());
		((TH2D*)fHistoMap->Get(fSpecies + "_Vertex_YZ"))->Fill(vtx->GetZ(), vtx->GetY());
		((TH2D*)fHistoMap->Get(fSpecies + "_Vertex_XZ"))->Fill(vtx->GetZ(), vtx->GetX());
	}
	
	if( (vtx->GetX() <= fMinVx) || (vtx->GetX() >= fMaxVx) ) fGoodVertex=kFALSE;
	if( (vtx->GetY() <= fMinVy) || (vtx->GetY() >= fMaxVy) ) fGoodVertex=kFALSE;
	if( (vtx->GetZ() <= fMinVz) || (vtx->GetZ() >= fMaxVz) ) fGoodVertex=kFALSE;
	
	// pile up
	
	fPileUpEvent = fAODevent->IsPileupFromSPDInMultBins();
	
	// event stats
	
	((TH1D*)fHistoMap->Get(fSpecies + "_Stats"))->Fill(0); // number of events
	
	if(fTriggerFired)
	{
		((TH1D*)fHistoMap->Get(fSpecies + "_Stats"))->Fill(1); // triggering events
		
		if(vtx->GetNContributors()>0)
		{
			((TH1D*)fHistoMap->Get(fSpecies + "_Stats"))->Fill(3); // valid vertex within a triggering event
			
			if((vtx->GetZ() > fMinVz) && (vtx->GetZ() < fMaxVz))
			{
				((TH1D*)fHistoMap->Get(fSpecies + "_Stats"))->Fill(4); // Vz
				
				if(   (vtx->GetX() > fMinVx) && (vtx->GetX() < fMaxVx)
				   && (vtx->GetY() > fMinVy) && (vtx->GetY() < fMaxVy))
				{
					((TH1D*)fHistoMap->Get(fSpecies + "_Stats"))->Fill(5); // Vx, Vy
					
					if(fGoodVertex)
					{
						((TH1D*)fHistoMap->Get(fSpecies + "_Stats"))->Fill(6); // VertexerZ
						
						if(!fPileUpEvent)
						{
							((TH1D*)fHistoMap->Get(fSpecies + "_Stats"))->Fill(7); // no pile-up
						}
					}
				}
			}
		}
	}
	
	// Particles and tracks for this event
	
	if(fSimulation) this->GetParticles();
	
	this->GetTracks();
	
	// Post the data (input/output slots #0 already used by the base class)
	PostData(1, fOutputContainer);
}

Int_t AliAnalysisTaskB2AOD::GetParticles()
{
//
// Get particles from current event
//
	Int_t nParticles = 0;
	
	TList* lst = fAODevent->GetList();
	TClonesArray* lop = dynamic_cast<TClonesArray*>(lst->FindObject(AliAODMCParticle::StdBranchName()));
	
	if (!lop)
	{
		AliDebug(AliLog::kWarning, "list of particles not available");
		return 0;
	}
	
	for (Int_t i = 0; i < lop->GetEntries(); ++i)
	{
		AliAODMCParticle* iParticle = dynamic_cast<AliAODMCParticle*>(lop->At(i));
		
		if(!iParticle) continue;
		
		Int_t pid = fLnID->GetPID(iParticle);
		
		if(pid != fPartCode) continue;
		
		// physical primaries
		
		if(!iParticle->IsPhysicalPrimary()) continue;
		
		TString particle = fSpecies;
		if(iParticle->Charge() < 0) particle.Prepend("Anti");
		
		Double_t genP   = iParticle->P();
		Double_t genPt  = iParticle->Pt();
		Double_t genY   = iParticle->Y();
		Double_t genPhi = iParticle->Phi();
		Double_t genEta = iParticle->Eta();
		
		// multiplicity and centrality
		
		if( fHeavyIons && !fCentTriggerFired) continue;
		if( fNtrkMultTrigger && !fMultTriggerFired) continue;
		
		((TH1D*)fHistoMap->Get(particle + "_Gen_Prim_P"))->Fill(genP);
		((TH1D*)fHistoMap->Get(particle + "_Gen_Prim_Pt"))->Fill(genPt);
		((TH1D*)fHistoMap->Get(particle + "_Gen_Prim_Y"))->Fill(genY);
		((TH1D*)fHistoMap->Get(particle + "_Gen_Prim_Phi"))->Fill(genPhi);
		((TH1D*)fHistoMap->Get(particle + "_Gen_Prim_Eta"))->Fill(genEta);
		((TH2D*)fHistoMap->Get(particle + "_Gen_Prim_PtY"))->Fill(genY, genPt);
		((TH2D*)fHistoMap->Get(particle + "_Gen_Prim_EtaY"))->Fill(genY, genEta);
		
		// is within phase space?
		
		if(TMath::Abs(genY) >= fMaxY) continue;
		
		((TH1D*)fHistoMap->Get(particle + "_Gen_PhS_Prim_P"))->Fill(genP);
		((TH1D*)fHistoMap->Get(particle + "_Gen_PhS_Prim_Pt"))->Fill(genPt);
		
		// is from a triggering event? (same as rec.)
		
		if(!fTriggerFired)
		{
			((TH1D*)fHistoMap->Get(particle + "_Gen_NoTrig_Prim_Pt"))->Fill(genPt);
			continue;
		}
		
		((TH1D*)fHistoMap->Get(particle + "_Gen_Trig_Prim_Pt"))->Fill(genPt);
		
		// is from a triggering event with good vertex?
		
		if(fAODevent->GetPrimaryVertex()->GetNContributors() <= 0)
		{
			((TH1D*)fHistoMap->Get(particle + "_Gen_NoVtx_Prim_Pt"))->Fill(genPt);
		}
		
		if(!fGoodVertex) continue;
		if(fPileUpEvent) continue;
		
		((TH1D*)fHistoMap->Get(particle + "_Gen_Nch"))->Fill(fNch);
		((TH1D*)fHistoMap->Get(particle + "_Gen_Vtx_Prim_Pt"))->Fill(genPt);
		
		// is within the geometrical acceptance?
		
		if(!fTrackCuts->IsWithinGeoAcceptance(iParticle)) continue;
		
		((TH2D*)fHistoMap->Get(particle + "_Gen_Acc_Prim_PtY"))->Fill(genY,genPt);
		((TH1D*)fHistoMap->Get(particle + "_Gen_Acc_Prim_P"))->Fill(genP);
		((TH1D*)fHistoMap->Get(particle + "_Gen_Acc_Prim_Pt"))->Fill(genPt);
		((TH1D*)fHistoMap->Get(particle + "_Gen_Acc_Prim_Phi"))->Fill(genPhi);
		((TH1D*)fHistoMap->Get(particle + "_Gen_Acc_Prim_Y"))->Fill(genY);
	}
	
	return nParticles;
}

Int_t AliAnalysisTaskB2AOD::GetTracks()
{
//
// Get tracks from current event
//
	using namespace std;
	
	Int_t nTracks = 0;
	
	// trigger, vertex and pile-up
	
	if(!fTriggerFired) return 0;
	if(!fGoodVertex)   return 0;
	if(fPileUpEvent)   return 0;
	
	// this is a 'good' event
	
	((TH1D*)fHistoMap->Get(fSpecies + "_Stats"))->Fill(2); // analyzed events
	
	((TH1D*)fHistoMap->Get(fSpecies + "_Ana_Event_Ntrk"))->Fill(fNtrk);
	((TH1D*)fHistoMap->Get(fSpecies + "_Ana_Event_Zmult"))->Fill(fKNOmult);
	
	if(fSimulation)
	{
		((TH2D*)fHistoMap->Get(fSpecies + "_Ana_Event_Nch_Ntrk"))->Fill(fNtrk, fNch);
	}
	
	const AliAODVertex* vtx = fAODevent->GetPrimaryVertex();
	
	((TH2D*)fHistoMap->Get(fSpecies + "_Ana_Vertex_YX"))->Fill(vtx->GetX(), vtx->GetY());
	((TH2D*)fHistoMap->Get(fSpecies + "_Ana_Vertex_YZ"))->Fill(vtx->GetZ(), vtx->GetY());
	((TH2D*)fHistoMap->Get(fSpecies + "_Ana_Vertex_XZ"))->Fill(vtx->GetZ(), vtx->GetX());
	
	// track loop
	for(Int_t i = 0; i < fAODevent->GetNumberOfTracks(); ++i)
	{
		AliAODTrack* iTrack = dynamic_cast<AliAODTrack*>(fAODevent->GetTrack(i));
		if(!iTrack) AliFatal("Not a standard AOD");
		
		if(!iTrack) continue;
		
		TString particle = fSpecies;
		if(iTrack->Charge() < 0) particle.Prepend("Anti");
		
		// track parameters at the DCA to the primary vertex
		
		AliExternalTrackParam trkparam;
		trkparam.CopyFromVTrack(iTrack);
		
		if(trkparam.GetX() > 3.) continue; // only valid for propagation inside the beam pipe
		
		// impact parameters
		Double_t b[2];
		Double_t bCov[3];
		if(!trkparam.PropagateToDCA(fAODevent->GetPrimaryVertex(), fAODevent->GetMagneticField(), 10000., b, bCov)) continue;
		
		Double_t dcaxy = b[0];
		Double_t dcaz  = b[1];
		
		if(iTrack->Charge() < 0) // in case of asymmetry
		{
			dcaxy = -dcaxy;
			dcaz  = -dcaz;
		}
		
		Double_t nSigmaVtx = fTrackCuts->GetNSigmaToVertex(b, bCov);
		
		// momentum
		Double_t pDCA[3] = { iTrack->Px(), iTrack->Py(), iTrack->Pz() };
		//trkparam.GetPxPyPz(pDCA);
		
		Double_t p  = TMath::Sqrt(pDCA[0]*pDCA[0] + pDCA[1]*pDCA[1] + pDCA[2]*pDCA[2]);
		Double_t pt = TMath::Sqrt(pDCA[0]*pDCA[0] + pDCA[1]*pDCA[1]);
		Double_t pz = pDCA[2];
		
		// track cuts
		
		TVector3 pVect(pDCA[0],pDCA[1],pDCA[2]);
		Double_t eta = pVect.Eta();
		Double_t phi = this->GetPhi(pDCA);
		
		((TH2D*)fHistoMap->Get(particle + "_Before_Phi_Eta"))->Fill(eta,phi);
		
		if(!fTrackCuts->AcceptTrack(iTrack,b, bCov)) continue;  // with next track
		if(!fTrackCuts->IsWithinGeoAcceptance(pDCA)) continue; // with next track
		
		// end track cuts
		
		++nTracks;
		
		((TH2D*)fHistoMap->Get(particle + "_After_Phi_Eta"))->Fill(eta, phi);
		
		((TH1D*)fHistoMap->Get(particle + "_TrackCuts_DCAxy"))->Fill(dcaxy);
		((TH1D*)fHistoMap->Get(particle + "_TrackCuts_DCAz"))->Fill(dcaz);
		((TH1D*)fHistoMap->Get(particle + "_TrackCuts_NSigma"))->Fill(nSigmaVtx);
		//((TH1D*)fHistoMap->Get(particle + "_TrackCuts_ITSchi2PerCls"))->Fill(this->GetITSchi2PerCluster(iTrack));
		((TH1D*)fHistoMap->Get(particle + "_TrackCuts_TPCncls"))->Fill(iTrack->GetTPCNcls());
		((TH1D*)fHistoMap->Get(particle + "_TrackCuts_TPCxRowsOverF"))->Fill(fTrackCuts->GetNTPCXRowsOverFindable(iTrack));
		((TH1D*)fHistoMap->Get(particle + "_TrackCuts_TPCxRows"))->Fill(iTrack->GetTPCNCrossedRows());
		//((TH1D*)fHistoMap->Get(particle + "_TrackCuts_TPCchi2PerCls"))->Fill(iTrack->GetTPCchi2()/iTrack->GetTPCNcls());
		//((TH1D*)fHistoMap->Get(particle + "_TrackCuts_TPCchi2Global"))->Fill(iTrack->GetChi2TPCConstrainedVsGlobal(fAODevent->GetPrimaryVertex()));
		
		// detector signals
		
		Double_t pITS    = p;
		Double_t pTPC    = iTrack->GetTPCmomentum();
		Double_t pTOF    = p;
		Double_t dEdxITS = iTrack->GetITSsignal();
		Double_t dEdxTPC = iTrack->GetTPCsignal();
		Int_t nPointsITS = this->GetITSnPointsPID(iTrack);
		Int_t nPointsTPC = iTrack->GetTPCsignalN();
		Double_t beta    = 0;
		Double_t mass    = 0;
		Double_t m2      = 0;
		
		((TH2D*)fHistoMap->Get(particle + "_ITS_dEdx_P"))->Fill(pITS, dEdxITS);
		((TH2D*)fHistoMap->Get(particle + "_TPC_dEdx_P"))->Fill(pTPC, dEdxTPC);
		
		if(fTrackCuts->TOFmatch())
		{
			beta = this->GetBeta(iTrack);
			m2   = this->GetMassSquared(p, beta);
			mass = TMath::Sqrt(TMath::Abs(m2));
			
			((TH2D*)fHistoMap->Get(particle + "_TOF_Beta_P"))->Fill(pTOF, beta);
			((TH2D*)fHistoMap->Get(particle + "_TOF_Mass_P"))->Fill(pTOF, mass);
		}
		
		// get the pid
		Int_t pid = fLnID->GetPID( fPartCode, pITS, dEdxITS, nPointsITS, pTPC, dEdxTPC, nPointsTPC, pTOF, beta, fMaxNSigmaITS, fMaxNSigmaTPC, fMaxNSigmaTOF);
		
		Int_t offset = AliPID::kDeuteron - 5;
		
		// for bayes iteration
		if(pid != -1)
		{
			Int_t iBin = (pid > AliPID::kProton) ? pid - offset : pid;
			((TH1D*)fHistoMap->Get(fSpecies + "_Stats_PID"))->Fill(iBin);
		}
		
		// fix momentum
		
		if(fPartCode > AliPID::kTriton)
		{
			p  *= 2.;
			pt *= 2.;
			pz *= 2.;
		}
		
		if(fMomentumCorrection)
		{
			pt += this->GetMomentumCorrection(pt);
			p   = TMath::Sqrt(pt*pt + pz*pz);
			
			if(fTrackCuts->TOFmatch())
			{
				m2   = this->GetMassSquared(p, beta);
				mass = TMath::Sqrt(TMath::Abs(m2));
			}
		}
		
		// for pid and efficiency
		
		Double_t simPt  = 0;
		Double_t simPhi = 0;
		Double_t simY   = 0;
		
		Int_t simpid = -1;
		AliAODMCParticle* iParticle = 0;
		
		if(fSimulation)
		{
			iParticle = this->GetParticle(iTrack);
			
			if(iParticle == 0) continue;
			
			simPt  = iParticle->Pt();
			simPhi = iParticle->Phi();
			simY   = iParticle->Y();
			
			simpid = fLnID->GetPID(iParticle);
			
			if(simpid == fPartCode)
			{
				TString simparticle = fSpecies;
				if(iParticle->Charge()<0) simparticle.Prepend("Anti");
				
				((TH2D*)fHistoMap->Get(simparticle + "_Sim_PtY"))->Fill(simY, simPt);
				
				if(TMath::Abs(simY) < fMaxY)
				{
					((TH2D*)fHistoMap->Get(simparticle + "_Response_Matrix"))->Fill(pt, simPt);
					
					if(iParticle->IsPhysicalPrimary())
					{
						((TH1D*)fHistoMap->Get(simparticle + "_Sim_Ntrk"))->Fill(fNtrk);
					}
					
					// for pid
					if(!this->IsFakeTrack(iTrack))
					{
						((TH1D*)fHistoMap->Get(simparticle + "_Sim_Pt"))->Fill(simPt);
						
						if(iParticle->IsPhysicalPrimary()) // the efficiency is calculated on the primaries
						{
							((TH1D*)fHistoMap->Get(simparticle + "_Sim_Prim_Pt"))->Fill(simPt);
							((TH1D*)fHistoMap->Get(simparticle + "_Sim_Prim_Y"))->Fill(simY);
							((TH1D*)fHistoMap->Get(simparticle + "_Sim_Prim_Phi"))->Fill(simPhi);
							((TH1D*)fHistoMap->Get(simparticle + "_Sim_Prim_Rec_Pt"))->Fill(pt);
							
							((TH2D*)fHistoMap->Get(simparticle + "_Sim_Prim_DCAxy_Pt"))->Fill(simPt,dcaxy);
						
							((TH2D*)fHistoMap->Get(simparticle + "_Prim_Response_Matrix"))->Fill(pt, simPt);
							
							((TH2D*)fHistoMap->Get(simparticle + "_Prim_DiffPt_RecPt"))->Fill(pt,simPt-pt);
							
							if( fTrackCuts->TOFmatch() )
							{
								((TH2D*)fHistoMap->Get(simparticle + "_Sim_Prim_M2_P"))->Fill(pTOF, m2);
								((TH2D*)fHistoMap->Get(simparticle + "_Sim_Prim_M2_Pt"))->Fill(pt, m2);
							}
						}
						else if(iParticle->IsSecondaryFromWeakDecay())
						{
							((TH1D*)fHistoMap->Get(simparticle + "_Sim_Fdwn_Pt"))->Fill(simPt);
							
							((TH2D*)fHistoMap->Get(simparticle + "_Sim_Fdwn_DCAxy_Pt"))->Fill(simPt,dcaxy);
						}
						else
						{
							((TH1D*)fHistoMap->Get(simparticle + "_Sim_Mat_Pt"))->Fill(simPt);
							
							((TH2D*)fHistoMap->Get(simparticle + "_Sim_Mat_DCAxy_Pt"))->Fill(simPt,dcaxy);
						}
					}
					else // fake tracks
					{
						((TH1D*)fHistoMap->Get(simparticle + "_Sim_Fake_Pt"))->Fill(simPt);
						if(iParticle->IsPhysicalPrimary())
						{
							((TH1D*)fHistoMap->Get(simparticle + "_Sim_Fake_Prim_Pt"))->Fill(simPt);
						}
						else if(iParticle->IsSecondaryFromWeakDecay())
						{
							((TH1D*)fHistoMap->Get(simparticle + "_Sim_Fake_Fdwn_Pt"))->Fill(simPt);
						}
						else
						{
							((TH1D*)fHistoMap->Get(simparticle + "_Sim_Fake_Mat_Pt"))->Fill(simPt);
						}
					}
				}
			}
			
			// pid table for prior probabilities (only Bayes)
			
			Int_t sim = (simpid > AliPID::kProton) ? simpid - offset : simpid;
			Int_t rec = (pid > AliPID::kProton) ? pid - offset : pid;
			
			if((sim > -1) && (rec > -1)) // pid performance
			{
				((TH2D*)fHistoMap->Get(fSpecies + "_Stats_PID_Table"))->Fill(sim, rec);
				((TH2D*)fHistoMap->Get(fSpecies + "_Stats_PID_Table"))->Fill(9, rec);
			}
			if(sim > -1)
			{
				((TH2D*)fHistoMap->Get(fSpecies + "_Stats_PID_Table"))->Fill(sim, 9);
			}
		}
		
		// candidate tracks
		
		if(pid != fPartCode) continue;
		
		Bool_t goodPid = 0;
		
		if(fSimulation)
		{
			goodPid = ( simpid == pid );
		}
		
		((TH2D*)fHistoMap->Get(particle + "_PID_Ntrk_pTPC"))->Fill(pTPC,fNtrk);
		((TH2D*)fHistoMap->Get(particle + "_PID_Zmult_pTPC"))->Fill(pTPC,fKNOmult);
		
		// pid performance
		((TH2D*)fHistoMap->Get(particle + "_PID_ITSdEdx_P"))->Fill(pITS, dEdxITS);
		((TH2D*)fHistoMap->Get(particle + "_PID_TPCdEdx_P"))->Fill(pTPC, dEdxTPC);
		
		if(fTrackCuts->TOFmatch())
		{
			((TH2D*)fHistoMap->Get(particle + "_PID_Beta_P"))->Fill(pTOF, beta);
			((TH2D*)fHistoMap->Get(particle + "_PID_Mass_P"))->Fill(pTOF, mass);
			if(fSimulation && goodPid)
			{
				((TH1D*)fHistoMap->Get(particle + "_Sim_PID_Mass"))->Fill(mass);
			}
		}
		
		Double_t y = this->GetRapidity(p, pz, AliPID::ParticleMass(fPartCode));
		
		((TH1D*)fHistoMap->Get(particle + "_PID_Y"))->Fill(y);
		((TH2D*)fHistoMap->Get(particle + "_PID_Pt_Y"))->Fill(y, pt);
		
		//  results in |y| < fMaxY
		
		if(TMath::Abs(y) >= fMaxY) continue;
		
		((TH1D*)fHistoMap->Get(particle + "_PID_Pt"))->Fill(pt);
		((TH1D*)fHistoMap->Get(particle + "_PID_Phi"))->Fill(phi);
		
		if(iTrack->IsOn(AliAODTrack::kTRDin))
		{
			((TH1D*)fHistoMap->Get(particle + "_PID_TRDin_Pt"))->Fill(pt);
			
			if(iTrack->IsOn(AliAODTrack::kTRDout)) ((TH1D*)fHistoMap->Get(particle + "_PID_TRDin_TRDout_Pt"))->Fill(pt);
			if(iTrack->IsOn(AliAODTrack::kTOFout)) ((TH1D*)fHistoMap->Get(particle + "_PID_TRDin_TOFout_Pt"))->Fill(pt);
		}
		
		if(iTrack->IsOn(AliAODTrack::kTOFin))
		{
			((TH1D*)fHistoMap->Get(particle + "_PID_TOFin_Pt"))->Fill(pt);
			
			if(iTrack->IsOn(AliAODTrack::kTOFout)) ((TH1D*)fHistoMap->Get(particle + "_PID_TOFin_TOFout_Pt"))->Fill(pt);
		}
		
		if(fTrackCuts->TOFmatch())
		{
			Double_t dm2 = this->GetM2Difference(beta, p, AliPID::ParticleMass(fPartCode));
			Double_t t   = iTrack->GetTOFsignal()*1.e-3; // ns
			Double_t dt  = t - this->GetExpectedTime(iTrack, AliPID::ParticleMass(fPartCode))*1.e-3;
			
			((TH2D*)fHistoMap->Get(particle + "_PID_M2_Pt"))->Fill(pt, m2);
			((TH2D*)fHistoMap->Get(particle + "_PID_DM2_Pt"))->Fill(pt, dm2);
			((TH2D*)fHistoMap->Get(particle + "_PID_Time_Pt"))->Fill(pt, t);
			((TH2D*)fHistoMap->Get(particle + "_PID_DTime_Pt"))->Fill(pt, dt);
			((TH1D*)fHistoMap->Get(particle + "_PID_TOFmatch_Pt"))->Fill(pt);
		}
		
		// secondaries
		
		Bool_t m2match = kTRUE;
		
		if( fTrackCuts->TOFmatch() && (fLnID->GetPidProcedure() > AliLnID::kMaxLikelihood))
		{
			if ((m2 < fMinM2) || (m2 >= fMaxM2)) m2match = kFALSE;
		}
		
		if(m2match)
		{
			((TH2D*)fHistoMap->Get(particle + "_PID_DCAxy_Pt"))->Fill(pt, dcaxy);
			((TH2D*)fHistoMap->Get(particle + "_PID_DCAz_Pt"))->Fill(pt, dcaz);
			((TH2D*)fHistoMap->Get(particle + "_PID_NSigma_Pt"))->Fill(pt, nSigmaVtx);
		}
		
		if(fSimulation && goodPid)
		{
			// for unfolding and pid contamination
			if(!this->IsFakeTrack(iTrack))
			{
				((TH1D*)fHistoMap->Get(particle + "_Sim_PID_Pt"))->Fill(simPt);
				
				if( fTrackCuts->TOFmatch() )
				{
					((TH2D*)fHistoMap->Get(particle + "_Sim_PID_M2_Pt"))->Fill(pt, m2);
				}
				
				if(iParticle->IsPhysicalPrimary())
				{
					((TH1D*)fHistoMap->Get(particle + "_Sim_PID_Prim_Pt"))->Fill(simPt);
				}
				
				if(m2match)
				{
					if(iParticle->IsPhysicalPrimary())
					{
						((TH2D*)fHistoMap->Get(particle + "_Sim_PID_Prim_DCAxy_Pt"))->Fill(pt, dcaxy);
						((TH2D*)fHistoMap->Get(particle + "_Sim_PID_Prim_DCAz_Pt"))->Fill(pt, dcaz);
						((TH2D*)fHistoMap->Get(particle + "_Sim_PID_Prim_NSigma_Pt"))->Fill(pt, nSigmaVtx);
					}
					else if(iParticle->IsSecondaryFromWeakDecay())
					{
						((TH2D*)fHistoMap->Get(particle + "_Sim_PID_Fdwn_DCAxy_Pt"))->Fill(pt, dcaxy);
						((TH2D*)fHistoMap->Get(particle + "_Sim_PID_Fdwn_DCAz_Pt"))->Fill(pt, dcaz);
						((TH2D*)fHistoMap->Get(particle + "_Sim_PID_Fdwn_NSigma_Pt"))->Fill(pt, nSigmaVtx);
					}
					else // from materials
					{
						((TH2D*)fHistoMap->Get(particle + "_Sim_PID_Mat_DCAxy_Pt"))->Fill(pt, dcaxy);
						((TH2D*)fHistoMap->Get(particle + "_Sim_PID_Mat_DCAz_Pt"))->Fill(pt, dcaz);
						((TH2D*)fHistoMap->Get(particle + "_Sim_PID_Mat_NSigma_Pt"))->Fill(pt, nSigmaVtx);
					}
				}
			}
			else // fake tracks
			{
				((TH1D*)fHistoMap->Get(particle + "_Sim_PID_Fake_Pt"))->Fill(simPt);
				
				if(m2match)
				{
					if(iParticle->IsPhysicalPrimary())
					{
						((TH2D*)fHistoMap->Get(particle + "_Sim_PID_Fake_Prim_DCAxy_Pt"))->Fill(pt, dcaxy);
					}
					else if(iParticle->IsSecondaryFromWeakDecay())
					{
						((TH2D*)fHistoMap->Get(particle + "_Sim_PID_Fake_Fdwn_DCAxy_Pt"))->Fill(pt, dcaxy);
					}
					else // from materials
					{
						((TH2D*)fHistoMap->Get(particle + "_Sim_PID_Fake_Mat_DCAxy_Pt"))->Fill(pt, dcaxy);
					}
				}
			}
		}
	}
	
	return nTracks;
}

void AliAnalysisTaskB2AOD::Terminate(Option_t* )
{
  // The Terminate() function is the last function to be called during
  // a query. It always runs on the client, it can be used to present
  // the results graphically or save the results to file.

}

Bool_t AliAnalysisTaskB2AOD::IsV0AND(UInt_t /*triggerBits*/) const
{
//
// signals in both V0A and V0C
//
	//return ( (triggerBits&AliVEvent::kINT7) == AliVEvent::kINT7 );
	
	AliAODVZERO* vzero = fAODevent->GetVZEROData();
	if(vzero == 0) return kFALSE;
	
	if(!vzero->TestBit(AliAODVZERO::kDecisionFilled)) return kFALSE;
	
	return ( (vzero->GetV0ADecision() == AliVVZERO::kV0BB) && (vzero->GetV0CDecision() == AliVVZERO::kV0BB) );
}

Bool_t AliAnalysisTaskB2AOD::IsFastOnly(UInt_t triggerBits) const
{
//
// kFastOnly trigger
//
	return ( (triggerBits&AliVEvent::kFastOnly) == AliVEvent::kFastOnly );
}

Bool_t AliAnalysisTaskB2AOD::IsMB(UInt_t triggerBits) const
{
//
// MB event
//
	return ( (triggerBits&AliVEvent::kMB) == AliVEvent::kMB );
}

AliAODMCParticle* AliAnalysisTaskB2AOD::GetParticle(const AliAODTrack* trk) const
{
//
// Particle that left the track
//
	TList* lst = fAODevent->GetList();
	TClonesArray* lop = dynamic_cast<TClonesArray*>(lst->FindObject(AliAODMCParticle::StdBranchName()));
	
	if (!lop) return 0;
	
	Int_t label = TMath::Abs(trk->GetLabel()); // if negative then it shares points from other tracks
	if( label >= lop->GetEntries() ) return 0;
	
	return dynamic_cast<AliAODMCParticle*>(lop->At(label));
}

Bool_t AliAnalysisTaskB2AOD::IsFakeTrack(const AliAODTrack* trk) const
{
//
// Check if the track shares some clusters with different particles
// (definition changed to label=0? )
//
	return ( trk->GetLabel() < 0 );
}

Double_t AliAnalysisTaskB2AOD::GetPhi(Double_t p[3]) const
{
//
// Azimuthal angle [0,2pi)
//
	Double_t px = p[0];
	Double_t py = p[1];
	
	return TMath::Pi()+TMath::ATan2(-py, -px);
}

Double_t AliAnalysisTaskB2AOD::GetBeta(const AliAODTrack* trk) const
{
//
// Velocity
//
	Double_t t = trk->GetTOFsignal(); // ps
	Double_t l = fTrackCuts->GetIntegratedLength(trk, fPartCode); // cm
	
	if(t <= 0) return 1.e+6; // 1M times the speed of light ;)
	
	return (l/t)/2.99792458e-2;
}

Double_t AliAnalysisTaskB2AOD::GetExpectedTime(const AliAODTrack* trk, Double_t m) const
{
//
// Expected time workaround for the given mass hypothesis (ps)
//
	Double_t p = (fPartCode > AliPID::kTriton) ? 2.*trk->P() : trk->P();
	Double_t beta = p/TMath::Sqrt(p*p + m*m);
	Double_t l = fTrackCuts->GetIntegratedLength(trk, fPartCode);
	
	return l/beta/2.99792458e-2;
}

Double_t AliAnalysisTaskB2AOD::GetMassSquared(Double_t p, Double_t beta) const
{
//
// Mass squared
//
	return p*p*(1./(beta*beta) - 1.);
}

Double_t AliAnalysisTaskB2AOD::GetM2Difference(Double_t beta, Double_t p, Double_t m) const
{
//
// Mass squared difference
//
	Double_t expBeta2 = p*p/(p*p+m*m);
	
	return p*p*(1./(beta*beta)-1./expBeta2);
}

Int_t AliAnalysisTaskB2AOD::GetChargedMultiplicity(Double_t etaMax) const
{
//
// Charged particle multiplicity using ALICE physical primary definition
//
	TList* lst = fAODevent->GetList();
	TClonesArray* lop = dynamic_cast<TClonesArray*>(lst->FindObject(AliAODMCParticle::StdBranchName()));
	
	if (!lop) return 0;
	
	Int_t nch = 0;
	
	for (Int_t i = 0; i < lop->GetEntries(); ++i)
	{
		AliAODMCParticle* iParticle = dynamic_cast<AliAODMCParticle*>(lop->At(i));

		if(!iParticle) continue;
		
		if(!iParticle->IsPhysicalPrimary()) continue;
		
		if(TMath::Abs(iParticle->Eta()) >= etaMax) continue;
		
		if(iParticle->Charge()==0) continue;
		
		++nch;
	}
	
	return nch;
}

Int_t AliAnalysisTaskB2AOD::GetITSnClusters(const AliAODTrack* trk) const
{
//
// ITS number of clusters
//
	UChar_t map = trk->GetITSClusterMap();
	
	Int_t npoints=0;
	for(Int_t j=0; j<6; j++)
	{
		if(map&(1<<j)) ++npoints;
	}
	
	return npoints;
}

Int_t AliAnalysisTaskB2AOD::GetITSnPointsPID(const AliAODTrack* trk) const
{
//
// ITS number of points for PID
//
	UChar_t map = trk->GetITSClusterMap();
	
	Int_t npoints = 0;
	for(Int_t j=2; j<6; j++)
	{
		if(map&(1<<j)) ++npoints;
	}
	
	return npoints;
}

Int_t AliAnalysisTaskB2AOD::GetPidCode(const TString& species) const
{
//
// Return AliPID code of the given species
//
	TString name = species;
	name.ToLower();
	
	if(name == "electron") return AliPID::kElectron;
	if(name == "muon")     return AliPID::kMuon;
	if(name == "pion")     return AliPID::kPion;
	if(name == "kaon")     return AliPID::kKaon;
	if(name == "proton")   return AliPID::kProton;
	if(name == "deuteron") return AliPID::kDeuteron;
	if(name == "triton")   return AliPID::kTriton;
	if(name == "he3")      return AliPID::kHe3;
	if(name == "alpha")    return AliPID::kAlpha;
	
	return -1;
}

Double_t AliAnalysisTaskB2AOD::GetMomentumCorrection(Double_t ptrec) const
{
//
// momentum correction for low pt
//
	if(fMoCpfx == 0) return 0;
	
	return fMoCpfx->Interpolate(ptrec);
}

Double_t AliAnalysisTaskB2AOD::GetRapidity(Double_t p, Double_t pz, Double_t m) const
{
//
// Rapidity
//
	Double_t e  = TMath::Sqrt(p*p + m*m);
	
	if(e <= pz) return 1.e+16;
	
	return 0.5*TMath::Log( (e+pz)/(e-pz) );
}
 AliAnalysisTaskB2AOD.cxx:1
 AliAnalysisTaskB2AOD.cxx:2
 AliAnalysisTaskB2AOD.cxx:3
 AliAnalysisTaskB2AOD.cxx:4
 AliAnalysisTaskB2AOD.cxx:5
 AliAnalysisTaskB2AOD.cxx:6
 AliAnalysisTaskB2AOD.cxx:7
 AliAnalysisTaskB2AOD.cxx:8
 AliAnalysisTaskB2AOD.cxx:9
 AliAnalysisTaskB2AOD.cxx:10
 AliAnalysisTaskB2AOD.cxx:11
 AliAnalysisTaskB2AOD.cxx:12
 AliAnalysisTaskB2AOD.cxx:13
 AliAnalysisTaskB2AOD.cxx:14
 AliAnalysisTaskB2AOD.cxx:15
 AliAnalysisTaskB2AOD.cxx:16
 AliAnalysisTaskB2AOD.cxx:17
 AliAnalysisTaskB2AOD.cxx:18
 AliAnalysisTaskB2AOD.cxx:19
 AliAnalysisTaskB2AOD.cxx:20
 AliAnalysisTaskB2AOD.cxx:21
 AliAnalysisTaskB2AOD.cxx:22
 AliAnalysisTaskB2AOD.cxx:23
 AliAnalysisTaskB2AOD.cxx:24
 AliAnalysisTaskB2AOD.cxx:25
 AliAnalysisTaskB2AOD.cxx:26
 AliAnalysisTaskB2AOD.cxx:27
 AliAnalysisTaskB2AOD.cxx:28
 AliAnalysisTaskB2AOD.cxx:29
 AliAnalysisTaskB2AOD.cxx:30
 AliAnalysisTaskB2AOD.cxx:31
 AliAnalysisTaskB2AOD.cxx:32
 AliAnalysisTaskB2AOD.cxx:33
 AliAnalysisTaskB2AOD.cxx:34
 AliAnalysisTaskB2AOD.cxx:35
 AliAnalysisTaskB2AOD.cxx:36
 AliAnalysisTaskB2AOD.cxx:37
 AliAnalysisTaskB2AOD.cxx:38
 AliAnalysisTaskB2AOD.cxx:39
 AliAnalysisTaskB2AOD.cxx:40
 AliAnalysisTaskB2AOD.cxx:41
 AliAnalysisTaskB2AOD.cxx:42
 AliAnalysisTaskB2AOD.cxx:43
 AliAnalysisTaskB2AOD.cxx:44
 AliAnalysisTaskB2AOD.cxx:45
 AliAnalysisTaskB2AOD.cxx:46
 AliAnalysisTaskB2AOD.cxx:47
 AliAnalysisTaskB2AOD.cxx:48
 AliAnalysisTaskB2AOD.cxx:49
 AliAnalysisTaskB2AOD.cxx:50
 AliAnalysisTaskB2AOD.cxx:51
 AliAnalysisTaskB2AOD.cxx:52
 AliAnalysisTaskB2AOD.cxx:53
 AliAnalysisTaskB2AOD.cxx:54
 AliAnalysisTaskB2AOD.cxx:55
 AliAnalysisTaskB2AOD.cxx:56
 AliAnalysisTaskB2AOD.cxx:57
 AliAnalysisTaskB2AOD.cxx:58
 AliAnalysisTaskB2AOD.cxx:59
 AliAnalysisTaskB2AOD.cxx:60
 AliAnalysisTaskB2AOD.cxx:61
 AliAnalysisTaskB2AOD.cxx:62
 AliAnalysisTaskB2AOD.cxx:63
 AliAnalysisTaskB2AOD.cxx:64
 AliAnalysisTaskB2AOD.cxx:65
 AliAnalysisTaskB2AOD.cxx:66
 AliAnalysisTaskB2AOD.cxx:67
 AliAnalysisTaskB2AOD.cxx:68
 AliAnalysisTaskB2AOD.cxx:69
 AliAnalysisTaskB2AOD.cxx:70
 AliAnalysisTaskB2AOD.cxx:71
 AliAnalysisTaskB2AOD.cxx:72
 AliAnalysisTaskB2AOD.cxx:73
 AliAnalysisTaskB2AOD.cxx:74
 AliAnalysisTaskB2AOD.cxx:75
 AliAnalysisTaskB2AOD.cxx:76
 AliAnalysisTaskB2AOD.cxx:77
 AliAnalysisTaskB2AOD.cxx:78
 AliAnalysisTaskB2AOD.cxx:79
 AliAnalysisTaskB2AOD.cxx:80
 AliAnalysisTaskB2AOD.cxx:81
 AliAnalysisTaskB2AOD.cxx:82
 AliAnalysisTaskB2AOD.cxx:83
 AliAnalysisTaskB2AOD.cxx:84
 AliAnalysisTaskB2AOD.cxx:85
 AliAnalysisTaskB2AOD.cxx:86
 AliAnalysisTaskB2AOD.cxx:87
 AliAnalysisTaskB2AOD.cxx:88
 AliAnalysisTaskB2AOD.cxx:89
 AliAnalysisTaskB2AOD.cxx:90
 AliAnalysisTaskB2AOD.cxx:91
 AliAnalysisTaskB2AOD.cxx:92
 AliAnalysisTaskB2AOD.cxx:93
 AliAnalysisTaskB2AOD.cxx:94
 AliAnalysisTaskB2AOD.cxx:95
 AliAnalysisTaskB2AOD.cxx:96
 AliAnalysisTaskB2AOD.cxx:97
 AliAnalysisTaskB2AOD.cxx:98
 AliAnalysisTaskB2AOD.cxx:99
 AliAnalysisTaskB2AOD.cxx:100
 AliAnalysisTaskB2AOD.cxx:101
 AliAnalysisTaskB2AOD.cxx:102
 AliAnalysisTaskB2AOD.cxx:103
 AliAnalysisTaskB2AOD.cxx:104
 AliAnalysisTaskB2AOD.cxx:105
 AliAnalysisTaskB2AOD.cxx:106
 AliAnalysisTaskB2AOD.cxx:107
 AliAnalysisTaskB2AOD.cxx:108
 AliAnalysisTaskB2AOD.cxx:109
 AliAnalysisTaskB2AOD.cxx:110
 AliAnalysisTaskB2AOD.cxx:111
 AliAnalysisTaskB2AOD.cxx:112
 AliAnalysisTaskB2AOD.cxx:113
 AliAnalysisTaskB2AOD.cxx:114
 AliAnalysisTaskB2AOD.cxx:115
 AliAnalysisTaskB2AOD.cxx:116
 AliAnalysisTaskB2AOD.cxx:117
 AliAnalysisTaskB2AOD.cxx:118
 AliAnalysisTaskB2AOD.cxx:119
 AliAnalysisTaskB2AOD.cxx:120
 AliAnalysisTaskB2AOD.cxx:121
 AliAnalysisTaskB2AOD.cxx:122
 AliAnalysisTaskB2AOD.cxx:123
 AliAnalysisTaskB2AOD.cxx:124
 AliAnalysisTaskB2AOD.cxx:125
 AliAnalysisTaskB2AOD.cxx:126
 AliAnalysisTaskB2AOD.cxx:127
 AliAnalysisTaskB2AOD.cxx:128
 AliAnalysisTaskB2AOD.cxx:129
 AliAnalysisTaskB2AOD.cxx:130
 AliAnalysisTaskB2AOD.cxx:131
 AliAnalysisTaskB2AOD.cxx:132
 AliAnalysisTaskB2AOD.cxx:133
 AliAnalysisTaskB2AOD.cxx:134
 AliAnalysisTaskB2AOD.cxx:135
 AliAnalysisTaskB2AOD.cxx:136
 AliAnalysisTaskB2AOD.cxx:137
 AliAnalysisTaskB2AOD.cxx:138
 AliAnalysisTaskB2AOD.cxx:139
 AliAnalysisTaskB2AOD.cxx:140
 AliAnalysisTaskB2AOD.cxx:141
 AliAnalysisTaskB2AOD.cxx:142
 AliAnalysisTaskB2AOD.cxx:143
 AliAnalysisTaskB2AOD.cxx:144
 AliAnalysisTaskB2AOD.cxx:145
 AliAnalysisTaskB2AOD.cxx:146
 AliAnalysisTaskB2AOD.cxx:147
 AliAnalysisTaskB2AOD.cxx:148
 AliAnalysisTaskB2AOD.cxx:149
 AliAnalysisTaskB2AOD.cxx:150
 AliAnalysisTaskB2AOD.cxx:151
 AliAnalysisTaskB2AOD.cxx:152
 AliAnalysisTaskB2AOD.cxx:153
 AliAnalysisTaskB2AOD.cxx:154
 AliAnalysisTaskB2AOD.cxx:155
 AliAnalysisTaskB2AOD.cxx:156
 AliAnalysisTaskB2AOD.cxx:157
 AliAnalysisTaskB2AOD.cxx:158
 AliAnalysisTaskB2AOD.cxx:159
 AliAnalysisTaskB2AOD.cxx:160
 AliAnalysisTaskB2AOD.cxx:161
 AliAnalysisTaskB2AOD.cxx:162
 AliAnalysisTaskB2AOD.cxx:163
 AliAnalysisTaskB2AOD.cxx:164
 AliAnalysisTaskB2AOD.cxx:165
 AliAnalysisTaskB2AOD.cxx:166
 AliAnalysisTaskB2AOD.cxx:167
 AliAnalysisTaskB2AOD.cxx:168
 AliAnalysisTaskB2AOD.cxx:169
 AliAnalysisTaskB2AOD.cxx:170
 AliAnalysisTaskB2AOD.cxx:171
 AliAnalysisTaskB2AOD.cxx:172
 AliAnalysisTaskB2AOD.cxx:173
 AliAnalysisTaskB2AOD.cxx:174
 AliAnalysisTaskB2AOD.cxx:175
 AliAnalysisTaskB2AOD.cxx:176
 AliAnalysisTaskB2AOD.cxx:177
 AliAnalysisTaskB2AOD.cxx:178
 AliAnalysisTaskB2AOD.cxx:179
 AliAnalysisTaskB2AOD.cxx:180
 AliAnalysisTaskB2AOD.cxx:181
 AliAnalysisTaskB2AOD.cxx:182
 AliAnalysisTaskB2AOD.cxx:183
 AliAnalysisTaskB2AOD.cxx:184
 AliAnalysisTaskB2AOD.cxx:185
 AliAnalysisTaskB2AOD.cxx:186
 AliAnalysisTaskB2AOD.cxx:187
 AliAnalysisTaskB2AOD.cxx:188
 AliAnalysisTaskB2AOD.cxx:189
 AliAnalysisTaskB2AOD.cxx:190
 AliAnalysisTaskB2AOD.cxx:191
 AliAnalysisTaskB2AOD.cxx:192
 AliAnalysisTaskB2AOD.cxx:193
 AliAnalysisTaskB2AOD.cxx:194
 AliAnalysisTaskB2AOD.cxx:195
 AliAnalysisTaskB2AOD.cxx:196
 AliAnalysisTaskB2AOD.cxx:197
 AliAnalysisTaskB2AOD.cxx:198
 AliAnalysisTaskB2AOD.cxx:199
 AliAnalysisTaskB2AOD.cxx:200
 AliAnalysisTaskB2AOD.cxx:201
 AliAnalysisTaskB2AOD.cxx:202
 AliAnalysisTaskB2AOD.cxx:203
 AliAnalysisTaskB2AOD.cxx:204
 AliAnalysisTaskB2AOD.cxx:205
 AliAnalysisTaskB2AOD.cxx:206
 AliAnalysisTaskB2AOD.cxx:207
 AliAnalysisTaskB2AOD.cxx:208
 AliAnalysisTaskB2AOD.cxx:209
 AliAnalysisTaskB2AOD.cxx:210
 AliAnalysisTaskB2AOD.cxx:211
 AliAnalysisTaskB2AOD.cxx:212
 AliAnalysisTaskB2AOD.cxx:213
 AliAnalysisTaskB2AOD.cxx:214
 AliAnalysisTaskB2AOD.cxx:215
 AliAnalysisTaskB2AOD.cxx:216
 AliAnalysisTaskB2AOD.cxx:217
 AliAnalysisTaskB2AOD.cxx:218
 AliAnalysisTaskB2AOD.cxx:219
 AliAnalysisTaskB2AOD.cxx:220
 AliAnalysisTaskB2AOD.cxx:221
 AliAnalysisTaskB2AOD.cxx:222
 AliAnalysisTaskB2AOD.cxx:223
 AliAnalysisTaskB2AOD.cxx:224
 AliAnalysisTaskB2AOD.cxx:225
 AliAnalysisTaskB2AOD.cxx:226
 AliAnalysisTaskB2AOD.cxx:227
 AliAnalysisTaskB2AOD.cxx:228
 AliAnalysisTaskB2AOD.cxx:229
 AliAnalysisTaskB2AOD.cxx:230
 AliAnalysisTaskB2AOD.cxx:231
 AliAnalysisTaskB2AOD.cxx:232
 AliAnalysisTaskB2AOD.cxx:233
 AliAnalysisTaskB2AOD.cxx:234
 AliAnalysisTaskB2AOD.cxx:235
 AliAnalysisTaskB2AOD.cxx:236
 AliAnalysisTaskB2AOD.cxx:237
 AliAnalysisTaskB2AOD.cxx:238
 AliAnalysisTaskB2AOD.cxx:239
 AliAnalysisTaskB2AOD.cxx:240
 AliAnalysisTaskB2AOD.cxx:241
 AliAnalysisTaskB2AOD.cxx:242
 AliAnalysisTaskB2AOD.cxx:243
 AliAnalysisTaskB2AOD.cxx:244
 AliAnalysisTaskB2AOD.cxx:245
 AliAnalysisTaskB2AOD.cxx:246
 AliAnalysisTaskB2AOD.cxx:247
 AliAnalysisTaskB2AOD.cxx:248
 AliAnalysisTaskB2AOD.cxx:249
 AliAnalysisTaskB2AOD.cxx:250
 AliAnalysisTaskB2AOD.cxx:251
 AliAnalysisTaskB2AOD.cxx:252
 AliAnalysisTaskB2AOD.cxx:253
 AliAnalysisTaskB2AOD.cxx:254
 AliAnalysisTaskB2AOD.cxx:255
 AliAnalysisTaskB2AOD.cxx:256
 AliAnalysisTaskB2AOD.cxx:257
 AliAnalysisTaskB2AOD.cxx:258
 AliAnalysisTaskB2AOD.cxx:259
 AliAnalysisTaskB2AOD.cxx:260
 AliAnalysisTaskB2AOD.cxx:261
 AliAnalysisTaskB2AOD.cxx:262
 AliAnalysisTaskB2AOD.cxx:263
 AliAnalysisTaskB2AOD.cxx:264
 AliAnalysisTaskB2AOD.cxx:265
 AliAnalysisTaskB2AOD.cxx:266
 AliAnalysisTaskB2AOD.cxx:267
 AliAnalysisTaskB2AOD.cxx:268
 AliAnalysisTaskB2AOD.cxx:269
 AliAnalysisTaskB2AOD.cxx:270
 AliAnalysisTaskB2AOD.cxx:271
 AliAnalysisTaskB2AOD.cxx:272
 AliAnalysisTaskB2AOD.cxx:273
 AliAnalysisTaskB2AOD.cxx:274
 AliAnalysisTaskB2AOD.cxx:275
 AliAnalysisTaskB2AOD.cxx:276
 AliAnalysisTaskB2AOD.cxx:277
 AliAnalysisTaskB2AOD.cxx:278
 AliAnalysisTaskB2AOD.cxx:279
 AliAnalysisTaskB2AOD.cxx:280
 AliAnalysisTaskB2AOD.cxx:281
 AliAnalysisTaskB2AOD.cxx:282
 AliAnalysisTaskB2AOD.cxx:283
 AliAnalysisTaskB2AOD.cxx:284
 AliAnalysisTaskB2AOD.cxx:285
 AliAnalysisTaskB2AOD.cxx:286
 AliAnalysisTaskB2AOD.cxx:287
 AliAnalysisTaskB2AOD.cxx:288
 AliAnalysisTaskB2AOD.cxx:289
 AliAnalysisTaskB2AOD.cxx:290
 AliAnalysisTaskB2AOD.cxx:291
 AliAnalysisTaskB2AOD.cxx:292
 AliAnalysisTaskB2AOD.cxx:293
 AliAnalysisTaskB2AOD.cxx:294
 AliAnalysisTaskB2AOD.cxx:295
 AliAnalysisTaskB2AOD.cxx:296
 AliAnalysisTaskB2AOD.cxx:297
 AliAnalysisTaskB2AOD.cxx:298
 AliAnalysisTaskB2AOD.cxx:299
 AliAnalysisTaskB2AOD.cxx:300
 AliAnalysisTaskB2AOD.cxx:301
 AliAnalysisTaskB2AOD.cxx:302
 AliAnalysisTaskB2AOD.cxx:303
 AliAnalysisTaskB2AOD.cxx:304
 AliAnalysisTaskB2AOD.cxx:305
 AliAnalysisTaskB2AOD.cxx:306
 AliAnalysisTaskB2AOD.cxx:307
 AliAnalysisTaskB2AOD.cxx:308
 AliAnalysisTaskB2AOD.cxx:309
 AliAnalysisTaskB2AOD.cxx:310
 AliAnalysisTaskB2AOD.cxx:311
 AliAnalysisTaskB2AOD.cxx:312
 AliAnalysisTaskB2AOD.cxx:313
 AliAnalysisTaskB2AOD.cxx:314
 AliAnalysisTaskB2AOD.cxx:315
 AliAnalysisTaskB2AOD.cxx:316
 AliAnalysisTaskB2AOD.cxx:317
 AliAnalysisTaskB2AOD.cxx:318
 AliAnalysisTaskB2AOD.cxx:319
 AliAnalysisTaskB2AOD.cxx:320
 AliAnalysisTaskB2AOD.cxx:321
 AliAnalysisTaskB2AOD.cxx:322
 AliAnalysisTaskB2AOD.cxx:323
 AliAnalysisTaskB2AOD.cxx:324
 AliAnalysisTaskB2AOD.cxx:325
 AliAnalysisTaskB2AOD.cxx:326
 AliAnalysisTaskB2AOD.cxx:327
 AliAnalysisTaskB2AOD.cxx:328
 AliAnalysisTaskB2AOD.cxx:329
 AliAnalysisTaskB2AOD.cxx:330
 AliAnalysisTaskB2AOD.cxx:331
 AliAnalysisTaskB2AOD.cxx:332
 AliAnalysisTaskB2AOD.cxx:333
 AliAnalysisTaskB2AOD.cxx:334
 AliAnalysisTaskB2AOD.cxx:335
 AliAnalysisTaskB2AOD.cxx:336
 AliAnalysisTaskB2AOD.cxx:337
 AliAnalysisTaskB2AOD.cxx:338
 AliAnalysisTaskB2AOD.cxx:339
 AliAnalysisTaskB2AOD.cxx:340
 AliAnalysisTaskB2AOD.cxx:341
 AliAnalysisTaskB2AOD.cxx:342
 AliAnalysisTaskB2AOD.cxx:343
 AliAnalysisTaskB2AOD.cxx:344
 AliAnalysisTaskB2AOD.cxx:345
 AliAnalysisTaskB2AOD.cxx:346
 AliAnalysisTaskB2AOD.cxx:347
 AliAnalysisTaskB2AOD.cxx:348
 AliAnalysisTaskB2AOD.cxx:349
 AliAnalysisTaskB2AOD.cxx:350
 AliAnalysisTaskB2AOD.cxx:351
 AliAnalysisTaskB2AOD.cxx:352
 AliAnalysisTaskB2AOD.cxx:353
 AliAnalysisTaskB2AOD.cxx:354
 AliAnalysisTaskB2AOD.cxx:355
 AliAnalysisTaskB2AOD.cxx:356
 AliAnalysisTaskB2AOD.cxx:357
 AliAnalysisTaskB2AOD.cxx:358
 AliAnalysisTaskB2AOD.cxx:359
 AliAnalysisTaskB2AOD.cxx:360
 AliAnalysisTaskB2AOD.cxx:361
 AliAnalysisTaskB2AOD.cxx:362
 AliAnalysisTaskB2AOD.cxx:363
 AliAnalysisTaskB2AOD.cxx:364
 AliAnalysisTaskB2AOD.cxx:365
 AliAnalysisTaskB2AOD.cxx:366
 AliAnalysisTaskB2AOD.cxx:367
 AliAnalysisTaskB2AOD.cxx:368
 AliAnalysisTaskB2AOD.cxx:369
 AliAnalysisTaskB2AOD.cxx:370
 AliAnalysisTaskB2AOD.cxx:371
 AliAnalysisTaskB2AOD.cxx:372
 AliAnalysisTaskB2AOD.cxx:373
 AliAnalysisTaskB2AOD.cxx:374
 AliAnalysisTaskB2AOD.cxx:375
 AliAnalysisTaskB2AOD.cxx:376
 AliAnalysisTaskB2AOD.cxx:377
 AliAnalysisTaskB2AOD.cxx:378
 AliAnalysisTaskB2AOD.cxx:379
 AliAnalysisTaskB2AOD.cxx:380
 AliAnalysisTaskB2AOD.cxx:381
 AliAnalysisTaskB2AOD.cxx:382
 AliAnalysisTaskB2AOD.cxx:383
 AliAnalysisTaskB2AOD.cxx:384
 AliAnalysisTaskB2AOD.cxx:385
 AliAnalysisTaskB2AOD.cxx:386
 AliAnalysisTaskB2AOD.cxx:387
 AliAnalysisTaskB2AOD.cxx:388
 AliAnalysisTaskB2AOD.cxx:389
 AliAnalysisTaskB2AOD.cxx:390
 AliAnalysisTaskB2AOD.cxx:391
 AliAnalysisTaskB2AOD.cxx:392
 AliAnalysisTaskB2AOD.cxx:393
 AliAnalysisTaskB2AOD.cxx:394
 AliAnalysisTaskB2AOD.cxx:395
 AliAnalysisTaskB2AOD.cxx:396
 AliAnalysisTaskB2AOD.cxx:397
 AliAnalysisTaskB2AOD.cxx:398
 AliAnalysisTaskB2AOD.cxx:399
 AliAnalysisTaskB2AOD.cxx:400
 AliAnalysisTaskB2AOD.cxx:401
 AliAnalysisTaskB2AOD.cxx:402
 AliAnalysisTaskB2AOD.cxx:403
 AliAnalysisTaskB2AOD.cxx:404
 AliAnalysisTaskB2AOD.cxx:405
 AliAnalysisTaskB2AOD.cxx:406
 AliAnalysisTaskB2AOD.cxx:407
 AliAnalysisTaskB2AOD.cxx:408
 AliAnalysisTaskB2AOD.cxx:409
 AliAnalysisTaskB2AOD.cxx:410
 AliAnalysisTaskB2AOD.cxx:411
 AliAnalysisTaskB2AOD.cxx:412
 AliAnalysisTaskB2AOD.cxx:413
 AliAnalysisTaskB2AOD.cxx:414
 AliAnalysisTaskB2AOD.cxx:415
 AliAnalysisTaskB2AOD.cxx:416
 AliAnalysisTaskB2AOD.cxx:417
 AliAnalysisTaskB2AOD.cxx:418
 AliAnalysisTaskB2AOD.cxx:419
 AliAnalysisTaskB2AOD.cxx:420
 AliAnalysisTaskB2AOD.cxx:421
 AliAnalysisTaskB2AOD.cxx:422
 AliAnalysisTaskB2AOD.cxx:423
 AliAnalysisTaskB2AOD.cxx:424
 AliAnalysisTaskB2AOD.cxx:425
 AliAnalysisTaskB2AOD.cxx:426
 AliAnalysisTaskB2AOD.cxx:427
 AliAnalysisTaskB2AOD.cxx:428
 AliAnalysisTaskB2AOD.cxx:429
 AliAnalysisTaskB2AOD.cxx:430
 AliAnalysisTaskB2AOD.cxx:431
 AliAnalysisTaskB2AOD.cxx:432
 AliAnalysisTaskB2AOD.cxx:433
 AliAnalysisTaskB2AOD.cxx:434
 AliAnalysisTaskB2AOD.cxx:435
 AliAnalysisTaskB2AOD.cxx:436
 AliAnalysisTaskB2AOD.cxx:437
 AliAnalysisTaskB2AOD.cxx:438
 AliAnalysisTaskB2AOD.cxx:439
 AliAnalysisTaskB2AOD.cxx:440
 AliAnalysisTaskB2AOD.cxx:441
 AliAnalysisTaskB2AOD.cxx:442
 AliAnalysisTaskB2AOD.cxx:443
 AliAnalysisTaskB2AOD.cxx:444
 AliAnalysisTaskB2AOD.cxx:445
 AliAnalysisTaskB2AOD.cxx:446
 AliAnalysisTaskB2AOD.cxx:447
 AliAnalysisTaskB2AOD.cxx:448
 AliAnalysisTaskB2AOD.cxx:449
 AliAnalysisTaskB2AOD.cxx:450
 AliAnalysisTaskB2AOD.cxx:451
 AliAnalysisTaskB2AOD.cxx:452
 AliAnalysisTaskB2AOD.cxx:453
 AliAnalysisTaskB2AOD.cxx:454
 AliAnalysisTaskB2AOD.cxx:455
 AliAnalysisTaskB2AOD.cxx:456
 AliAnalysisTaskB2AOD.cxx:457
 AliAnalysisTaskB2AOD.cxx:458
 AliAnalysisTaskB2AOD.cxx:459
 AliAnalysisTaskB2AOD.cxx:460
 AliAnalysisTaskB2AOD.cxx:461
 AliAnalysisTaskB2AOD.cxx:462
 AliAnalysisTaskB2AOD.cxx:463
 AliAnalysisTaskB2AOD.cxx:464
 AliAnalysisTaskB2AOD.cxx:465
 AliAnalysisTaskB2AOD.cxx:466
 AliAnalysisTaskB2AOD.cxx:467
 AliAnalysisTaskB2AOD.cxx:468
 AliAnalysisTaskB2AOD.cxx:469
 AliAnalysisTaskB2AOD.cxx:470
 AliAnalysisTaskB2AOD.cxx:471
 AliAnalysisTaskB2AOD.cxx:472
 AliAnalysisTaskB2AOD.cxx:473
 AliAnalysisTaskB2AOD.cxx:474
 AliAnalysisTaskB2AOD.cxx:475
 AliAnalysisTaskB2AOD.cxx:476
 AliAnalysisTaskB2AOD.cxx:477
 AliAnalysisTaskB2AOD.cxx:478
 AliAnalysisTaskB2AOD.cxx:479
 AliAnalysisTaskB2AOD.cxx:480
 AliAnalysisTaskB2AOD.cxx:481
 AliAnalysisTaskB2AOD.cxx:482
 AliAnalysisTaskB2AOD.cxx:483
 AliAnalysisTaskB2AOD.cxx:484
 AliAnalysisTaskB2AOD.cxx:485
 AliAnalysisTaskB2AOD.cxx:486
 AliAnalysisTaskB2AOD.cxx:487
 AliAnalysisTaskB2AOD.cxx:488
 AliAnalysisTaskB2AOD.cxx:489
 AliAnalysisTaskB2AOD.cxx:490
 AliAnalysisTaskB2AOD.cxx:491
 AliAnalysisTaskB2AOD.cxx:492
 AliAnalysisTaskB2AOD.cxx:493
 AliAnalysisTaskB2AOD.cxx:494
 AliAnalysisTaskB2AOD.cxx:495
 AliAnalysisTaskB2AOD.cxx:496
 AliAnalysisTaskB2AOD.cxx:497
 AliAnalysisTaskB2AOD.cxx:498
 AliAnalysisTaskB2AOD.cxx:499
 AliAnalysisTaskB2AOD.cxx:500
 AliAnalysisTaskB2AOD.cxx:501
 AliAnalysisTaskB2AOD.cxx:502
 AliAnalysisTaskB2AOD.cxx:503
 AliAnalysisTaskB2AOD.cxx:504
 AliAnalysisTaskB2AOD.cxx:505
 AliAnalysisTaskB2AOD.cxx:506
 AliAnalysisTaskB2AOD.cxx:507
 AliAnalysisTaskB2AOD.cxx:508
 AliAnalysisTaskB2AOD.cxx:509
 AliAnalysisTaskB2AOD.cxx:510
 AliAnalysisTaskB2AOD.cxx:511
 AliAnalysisTaskB2AOD.cxx:512
 AliAnalysisTaskB2AOD.cxx:513
 AliAnalysisTaskB2AOD.cxx:514
 AliAnalysisTaskB2AOD.cxx:515
 AliAnalysisTaskB2AOD.cxx:516
 AliAnalysisTaskB2AOD.cxx:517
 AliAnalysisTaskB2AOD.cxx:518
 AliAnalysisTaskB2AOD.cxx:519
 AliAnalysisTaskB2AOD.cxx:520
 AliAnalysisTaskB2AOD.cxx:521
 AliAnalysisTaskB2AOD.cxx:522
 AliAnalysisTaskB2AOD.cxx:523
 AliAnalysisTaskB2AOD.cxx:524
 AliAnalysisTaskB2AOD.cxx:525
 AliAnalysisTaskB2AOD.cxx:526
 AliAnalysisTaskB2AOD.cxx:527
 AliAnalysisTaskB2AOD.cxx:528
 AliAnalysisTaskB2AOD.cxx:529
 AliAnalysisTaskB2AOD.cxx:530
 AliAnalysisTaskB2AOD.cxx:531
 AliAnalysisTaskB2AOD.cxx:532
 AliAnalysisTaskB2AOD.cxx:533
 AliAnalysisTaskB2AOD.cxx:534
 AliAnalysisTaskB2AOD.cxx:535
 AliAnalysisTaskB2AOD.cxx:536
 AliAnalysisTaskB2AOD.cxx:537
 AliAnalysisTaskB2AOD.cxx:538
 AliAnalysisTaskB2AOD.cxx:539
 AliAnalysisTaskB2AOD.cxx:540
 AliAnalysisTaskB2AOD.cxx:541
 AliAnalysisTaskB2AOD.cxx:542
 AliAnalysisTaskB2AOD.cxx:543
 AliAnalysisTaskB2AOD.cxx:544
 AliAnalysisTaskB2AOD.cxx:545
 AliAnalysisTaskB2AOD.cxx:546
 AliAnalysisTaskB2AOD.cxx:547
 AliAnalysisTaskB2AOD.cxx:548
 AliAnalysisTaskB2AOD.cxx:549
 AliAnalysisTaskB2AOD.cxx:550
 AliAnalysisTaskB2AOD.cxx:551
 AliAnalysisTaskB2AOD.cxx:552
 AliAnalysisTaskB2AOD.cxx:553
 AliAnalysisTaskB2AOD.cxx:554
 AliAnalysisTaskB2AOD.cxx:555
 AliAnalysisTaskB2AOD.cxx:556
 AliAnalysisTaskB2AOD.cxx:557
 AliAnalysisTaskB2AOD.cxx:558
 AliAnalysisTaskB2AOD.cxx:559
 AliAnalysisTaskB2AOD.cxx:560
 AliAnalysisTaskB2AOD.cxx:561
 AliAnalysisTaskB2AOD.cxx:562
 AliAnalysisTaskB2AOD.cxx:563
 AliAnalysisTaskB2AOD.cxx:564
 AliAnalysisTaskB2AOD.cxx:565
 AliAnalysisTaskB2AOD.cxx:566
 AliAnalysisTaskB2AOD.cxx:567
 AliAnalysisTaskB2AOD.cxx:568
 AliAnalysisTaskB2AOD.cxx:569
 AliAnalysisTaskB2AOD.cxx:570
 AliAnalysisTaskB2AOD.cxx:571
 AliAnalysisTaskB2AOD.cxx:572
 AliAnalysisTaskB2AOD.cxx:573
 AliAnalysisTaskB2AOD.cxx:574
 AliAnalysisTaskB2AOD.cxx:575
 AliAnalysisTaskB2AOD.cxx:576
 AliAnalysisTaskB2AOD.cxx:577
 AliAnalysisTaskB2AOD.cxx:578
 AliAnalysisTaskB2AOD.cxx:579
 AliAnalysisTaskB2AOD.cxx:580
 AliAnalysisTaskB2AOD.cxx:581
 AliAnalysisTaskB2AOD.cxx:582
 AliAnalysisTaskB2AOD.cxx:583
 AliAnalysisTaskB2AOD.cxx:584
 AliAnalysisTaskB2AOD.cxx:585
 AliAnalysisTaskB2AOD.cxx:586
 AliAnalysisTaskB2AOD.cxx:587
 AliAnalysisTaskB2AOD.cxx:588
 AliAnalysisTaskB2AOD.cxx:589
 AliAnalysisTaskB2AOD.cxx:590
 AliAnalysisTaskB2AOD.cxx:591
 AliAnalysisTaskB2AOD.cxx:592
 AliAnalysisTaskB2AOD.cxx:593
 AliAnalysisTaskB2AOD.cxx:594
 AliAnalysisTaskB2AOD.cxx:595
 AliAnalysisTaskB2AOD.cxx:596
 AliAnalysisTaskB2AOD.cxx:597
 AliAnalysisTaskB2AOD.cxx:598
 AliAnalysisTaskB2AOD.cxx:599
 AliAnalysisTaskB2AOD.cxx:600
 AliAnalysisTaskB2AOD.cxx:601
 AliAnalysisTaskB2AOD.cxx:602
 AliAnalysisTaskB2AOD.cxx:603
 AliAnalysisTaskB2AOD.cxx:604
 AliAnalysisTaskB2AOD.cxx:605
 AliAnalysisTaskB2AOD.cxx:606
 AliAnalysisTaskB2AOD.cxx:607
 AliAnalysisTaskB2AOD.cxx:608
 AliAnalysisTaskB2AOD.cxx:609
 AliAnalysisTaskB2AOD.cxx:610
 AliAnalysisTaskB2AOD.cxx:611
 AliAnalysisTaskB2AOD.cxx:612
 AliAnalysisTaskB2AOD.cxx:613
 AliAnalysisTaskB2AOD.cxx:614
 AliAnalysisTaskB2AOD.cxx:615
 AliAnalysisTaskB2AOD.cxx:616
 AliAnalysisTaskB2AOD.cxx:617
 AliAnalysisTaskB2AOD.cxx:618
 AliAnalysisTaskB2AOD.cxx:619
 AliAnalysisTaskB2AOD.cxx:620
 AliAnalysisTaskB2AOD.cxx:621
 AliAnalysisTaskB2AOD.cxx:622
 AliAnalysisTaskB2AOD.cxx:623
 AliAnalysisTaskB2AOD.cxx:624
 AliAnalysisTaskB2AOD.cxx:625
 AliAnalysisTaskB2AOD.cxx:626
 AliAnalysisTaskB2AOD.cxx:627
 AliAnalysisTaskB2AOD.cxx:628
 AliAnalysisTaskB2AOD.cxx:629
 AliAnalysisTaskB2AOD.cxx:630
 AliAnalysisTaskB2AOD.cxx:631
 AliAnalysisTaskB2AOD.cxx:632
 AliAnalysisTaskB2AOD.cxx:633
 AliAnalysisTaskB2AOD.cxx:634
 AliAnalysisTaskB2AOD.cxx:635
 AliAnalysisTaskB2AOD.cxx:636
 AliAnalysisTaskB2AOD.cxx:637
 AliAnalysisTaskB2AOD.cxx:638
 AliAnalysisTaskB2AOD.cxx:639
 AliAnalysisTaskB2AOD.cxx:640
 AliAnalysisTaskB2AOD.cxx:641
 AliAnalysisTaskB2AOD.cxx:642
 AliAnalysisTaskB2AOD.cxx:643
 AliAnalysisTaskB2AOD.cxx:644
 AliAnalysisTaskB2AOD.cxx:645
 AliAnalysisTaskB2AOD.cxx:646
 AliAnalysisTaskB2AOD.cxx:647
 AliAnalysisTaskB2AOD.cxx:648
 AliAnalysisTaskB2AOD.cxx:649
 AliAnalysisTaskB2AOD.cxx:650
 AliAnalysisTaskB2AOD.cxx:651
 AliAnalysisTaskB2AOD.cxx:652
 AliAnalysisTaskB2AOD.cxx:653
 AliAnalysisTaskB2AOD.cxx:654
 AliAnalysisTaskB2AOD.cxx:655
 AliAnalysisTaskB2AOD.cxx:656
 AliAnalysisTaskB2AOD.cxx:657
 AliAnalysisTaskB2AOD.cxx:658
 AliAnalysisTaskB2AOD.cxx:659
 AliAnalysisTaskB2AOD.cxx:660
 AliAnalysisTaskB2AOD.cxx:661
 AliAnalysisTaskB2AOD.cxx:662
 AliAnalysisTaskB2AOD.cxx:663
 AliAnalysisTaskB2AOD.cxx:664
 AliAnalysisTaskB2AOD.cxx:665
 AliAnalysisTaskB2AOD.cxx:666
 AliAnalysisTaskB2AOD.cxx:667
 AliAnalysisTaskB2AOD.cxx:668
 AliAnalysisTaskB2AOD.cxx:669
 AliAnalysisTaskB2AOD.cxx:670
 AliAnalysisTaskB2AOD.cxx:671
 AliAnalysisTaskB2AOD.cxx:672
 AliAnalysisTaskB2AOD.cxx:673
 AliAnalysisTaskB2AOD.cxx:674
 AliAnalysisTaskB2AOD.cxx:675
 AliAnalysisTaskB2AOD.cxx:676
 AliAnalysisTaskB2AOD.cxx:677
 AliAnalysisTaskB2AOD.cxx:678
 AliAnalysisTaskB2AOD.cxx:679
 AliAnalysisTaskB2AOD.cxx:680
 AliAnalysisTaskB2AOD.cxx:681
 AliAnalysisTaskB2AOD.cxx:682
 AliAnalysisTaskB2AOD.cxx:683
 AliAnalysisTaskB2AOD.cxx:684
 AliAnalysisTaskB2AOD.cxx:685
 AliAnalysisTaskB2AOD.cxx:686
 AliAnalysisTaskB2AOD.cxx:687
 AliAnalysisTaskB2AOD.cxx:688
 AliAnalysisTaskB2AOD.cxx:689
 AliAnalysisTaskB2AOD.cxx:690
 AliAnalysisTaskB2AOD.cxx:691
 AliAnalysisTaskB2AOD.cxx:692
 AliAnalysisTaskB2AOD.cxx:693
 AliAnalysisTaskB2AOD.cxx:694
 AliAnalysisTaskB2AOD.cxx:695
 AliAnalysisTaskB2AOD.cxx:696
 AliAnalysisTaskB2AOD.cxx:697
 AliAnalysisTaskB2AOD.cxx:698
 AliAnalysisTaskB2AOD.cxx:699
 AliAnalysisTaskB2AOD.cxx:700
 AliAnalysisTaskB2AOD.cxx:701
 AliAnalysisTaskB2AOD.cxx:702
 AliAnalysisTaskB2AOD.cxx:703
 AliAnalysisTaskB2AOD.cxx:704
 AliAnalysisTaskB2AOD.cxx:705
 AliAnalysisTaskB2AOD.cxx:706
 AliAnalysisTaskB2AOD.cxx:707
 AliAnalysisTaskB2AOD.cxx:708
 AliAnalysisTaskB2AOD.cxx:709
 AliAnalysisTaskB2AOD.cxx:710
 AliAnalysisTaskB2AOD.cxx:711
 AliAnalysisTaskB2AOD.cxx:712
 AliAnalysisTaskB2AOD.cxx:713
 AliAnalysisTaskB2AOD.cxx:714
 AliAnalysisTaskB2AOD.cxx:715
 AliAnalysisTaskB2AOD.cxx:716
 AliAnalysisTaskB2AOD.cxx:717
 AliAnalysisTaskB2AOD.cxx:718
 AliAnalysisTaskB2AOD.cxx:719
 AliAnalysisTaskB2AOD.cxx:720
 AliAnalysisTaskB2AOD.cxx:721
 AliAnalysisTaskB2AOD.cxx:722
 AliAnalysisTaskB2AOD.cxx:723
 AliAnalysisTaskB2AOD.cxx:724
 AliAnalysisTaskB2AOD.cxx:725
 AliAnalysisTaskB2AOD.cxx:726
 AliAnalysisTaskB2AOD.cxx:727
 AliAnalysisTaskB2AOD.cxx:728
 AliAnalysisTaskB2AOD.cxx:729
 AliAnalysisTaskB2AOD.cxx:730
 AliAnalysisTaskB2AOD.cxx:731
 AliAnalysisTaskB2AOD.cxx:732
 AliAnalysisTaskB2AOD.cxx:733
 AliAnalysisTaskB2AOD.cxx:734
 AliAnalysisTaskB2AOD.cxx:735
 AliAnalysisTaskB2AOD.cxx:736
 AliAnalysisTaskB2AOD.cxx:737
 AliAnalysisTaskB2AOD.cxx:738
 AliAnalysisTaskB2AOD.cxx:739
 AliAnalysisTaskB2AOD.cxx:740
 AliAnalysisTaskB2AOD.cxx:741
 AliAnalysisTaskB2AOD.cxx:742
 AliAnalysisTaskB2AOD.cxx:743
 AliAnalysisTaskB2AOD.cxx:744
 AliAnalysisTaskB2AOD.cxx:745
 AliAnalysisTaskB2AOD.cxx:746
 AliAnalysisTaskB2AOD.cxx:747
 AliAnalysisTaskB2AOD.cxx:748
 AliAnalysisTaskB2AOD.cxx:749
 AliAnalysisTaskB2AOD.cxx:750
 AliAnalysisTaskB2AOD.cxx:751
 AliAnalysisTaskB2AOD.cxx:752
 AliAnalysisTaskB2AOD.cxx:753
 AliAnalysisTaskB2AOD.cxx:754
 AliAnalysisTaskB2AOD.cxx:755
 AliAnalysisTaskB2AOD.cxx:756
 AliAnalysisTaskB2AOD.cxx:757
 AliAnalysisTaskB2AOD.cxx:758
 AliAnalysisTaskB2AOD.cxx:759
 AliAnalysisTaskB2AOD.cxx:760
 AliAnalysisTaskB2AOD.cxx:761
 AliAnalysisTaskB2AOD.cxx:762
 AliAnalysisTaskB2AOD.cxx:763
 AliAnalysisTaskB2AOD.cxx:764
 AliAnalysisTaskB2AOD.cxx:765
 AliAnalysisTaskB2AOD.cxx:766
 AliAnalysisTaskB2AOD.cxx:767
 AliAnalysisTaskB2AOD.cxx:768
 AliAnalysisTaskB2AOD.cxx:769
 AliAnalysisTaskB2AOD.cxx:770
 AliAnalysisTaskB2AOD.cxx:771
 AliAnalysisTaskB2AOD.cxx:772
 AliAnalysisTaskB2AOD.cxx:773
 AliAnalysisTaskB2AOD.cxx:774
 AliAnalysisTaskB2AOD.cxx:775
 AliAnalysisTaskB2AOD.cxx:776
 AliAnalysisTaskB2AOD.cxx:777
 AliAnalysisTaskB2AOD.cxx:778
 AliAnalysisTaskB2AOD.cxx:779
 AliAnalysisTaskB2AOD.cxx:780
 AliAnalysisTaskB2AOD.cxx:781
 AliAnalysisTaskB2AOD.cxx:782
 AliAnalysisTaskB2AOD.cxx:783
 AliAnalysisTaskB2AOD.cxx:784
 AliAnalysisTaskB2AOD.cxx:785
 AliAnalysisTaskB2AOD.cxx:786
 AliAnalysisTaskB2AOD.cxx:787
 AliAnalysisTaskB2AOD.cxx:788
 AliAnalysisTaskB2AOD.cxx:789
 AliAnalysisTaskB2AOD.cxx:790
 AliAnalysisTaskB2AOD.cxx:791
 AliAnalysisTaskB2AOD.cxx:792
 AliAnalysisTaskB2AOD.cxx:793
 AliAnalysisTaskB2AOD.cxx:794
 AliAnalysisTaskB2AOD.cxx:795
 AliAnalysisTaskB2AOD.cxx:796
 AliAnalysisTaskB2AOD.cxx:797
 AliAnalysisTaskB2AOD.cxx:798
 AliAnalysisTaskB2AOD.cxx:799
 AliAnalysisTaskB2AOD.cxx:800
 AliAnalysisTaskB2AOD.cxx:801
 AliAnalysisTaskB2AOD.cxx:802
 AliAnalysisTaskB2AOD.cxx:803
 AliAnalysisTaskB2AOD.cxx:804
 AliAnalysisTaskB2AOD.cxx:805
 AliAnalysisTaskB2AOD.cxx:806
 AliAnalysisTaskB2AOD.cxx:807
 AliAnalysisTaskB2AOD.cxx:808
 AliAnalysisTaskB2AOD.cxx:809
 AliAnalysisTaskB2AOD.cxx:810
 AliAnalysisTaskB2AOD.cxx:811
 AliAnalysisTaskB2AOD.cxx:812
 AliAnalysisTaskB2AOD.cxx:813
 AliAnalysisTaskB2AOD.cxx:814
 AliAnalysisTaskB2AOD.cxx:815
 AliAnalysisTaskB2AOD.cxx:816
 AliAnalysisTaskB2AOD.cxx:817
 AliAnalysisTaskB2AOD.cxx:818
 AliAnalysisTaskB2AOD.cxx:819
 AliAnalysisTaskB2AOD.cxx:820
 AliAnalysisTaskB2AOD.cxx:821
 AliAnalysisTaskB2AOD.cxx:822
 AliAnalysisTaskB2AOD.cxx:823
 AliAnalysisTaskB2AOD.cxx:824
 AliAnalysisTaskB2AOD.cxx:825
 AliAnalysisTaskB2AOD.cxx:826
 AliAnalysisTaskB2AOD.cxx:827
 AliAnalysisTaskB2AOD.cxx:828
 AliAnalysisTaskB2AOD.cxx:829
 AliAnalysisTaskB2AOD.cxx:830
 AliAnalysisTaskB2AOD.cxx:831
 AliAnalysisTaskB2AOD.cxx:832
 AliAnalysisTaskB2AOD.cxx:833
 AliAnalysisTaskB2AOD.cxx:834
 AliAnalysisTaskB2AOD.cxx:835
 AliAnalysisTaskB2AOD.cxx:836
 AliAnalysisTaskB2AOD.cxx:837
 AliAnalysisTaskB2AOD.cxx:838
 AliAnalysisTaskB2AOD.cxx:839
 AliAnalysisTaskB2AOD.cxx:840
 AliAnalysisTaskB2AOD.cxx:841
 AliAnalysisTaskB2AOD.cxx:842
 AliAnalysisTaskB2AOD.cxx:843
 AliAnalysisTaskB2AOD.cxx:844
 AliAnalysisTaskB2AOD.cxx:845
 AliAnalysisTaskB2AOD.cxx:846
 AliAnalysisTaskB2AOD.cxx:847
 AliAnalysisTaskB2AOD.cxx:848
 AliAnalysisTaskB2AOD.cxx:849
 AliAnalysisTaskB2AOD.cxx:850
 AliAnalysisTaskB2AOD.cxx:851
 AliAnalysisTaskB2AOD.cxx:852
 AliAnalysisTaskB2AOD.cxx:853
 AliAnalysisTaskB2AOD.cxx:854
 AliAnalysisTaskB2AOD.cxx:855
 AliAnalysisTaskB2AOD.cxx:856
 AliAnalysisTaskB2AOD.cxx:857
 AliAnalysisTaskB2AOD.cxx:858
 AliAnalysisTaskB2AOD.cxx:859
 AliAnalysisTaskB2AOD.cxx:860
 AliAnalysisTaskB2AOD.cxx:861
 AliAnalysisTaskB2AOD.cxx:862
 AliAnalysisTaskB2AOD.cxx:863
 AliAnalysisTaskB2AOD.cxx:864
 AliAnalysisTaskB2AOD.cxx:865
 AliAnalysisTaskB2AOD.cxx:866
 AliAnalysisTaskB2AOD.cxx:867
 AliAnalysisTaskB2AOD.cxx:868
 AliAnalysisTaskB2AOD.cxx:869
 AliAnalysisTaskB2AOD.cxx:870
 AliAnalysisTaskB2AOD.cxx:871
 AliAnalysisTaskB2AOD.cxx:872
 AliAnalysisTaskB2AOD.cxx:873
 AliAnalysisTaskB2AOD.cxx:874
 AliAnalysisTaskB2AOD.cxx:875
 AliAnalysisTaskB2AOD.cxx:876
 AliAnalysisTaskB2AOD.cxx:877
 AliAnalysisTaskB2AOD.cxx:878
 AliAnalysisTaskB2AOD.cxx:879
 AliAnalysisTaskB2AOD.cxx:880
 AliAnalysisTaskB2AOD.cxx:881
 AliAnalysisTaskB2AOD.cxx:882
 AliAnalysisTaskB2AOD.cxx:883
 AliAnalysisTaskB2AOD.cxx:884
 AliAnalysisTaskB2AOD.cxx:885
 AliAnalysisTaskB2AOD.cxx:886
 AliAnalysisTaskB2AOD.cxx:887
 AliAnalysisTaskB2AOD.cxx:888
 AliAnalysisTaskB2AOD.cxx:889
 AliAnalysisTaskB2AOD.cxx:890
 AliAnalysisTaskB2AOD.cxx:891
 AliAnalysisTaskB2AOD.cxx:892
 AliAnalysisTaskB2AOD.cxx:893
 AliAnalysisTaskB2AOD.cxx:894
 AliAnalysisTaskB2AOD.cxx:895
 AliAnalysisTaskB2AOD.cxx:896
 AliAnalysisTaskB2AOD.cxx:897
 AliAnalysisTaskB2AOD.cxx:898
 AliAnalysisTaskB2AOD.cxx:899
 AliAnalysisTaskB2AOD.cxx:900
 AliAnalysisTaskB2AOD.cxx:901
 AliAnalysisTaskB2AOD.cxx:902
 AliAnalysisTaskB2AOD.cxx:903
 AliAnalysisTaskB2AOD.cxx:904
 AliAnalysisTaskB2AOD.cxx:905
 AliAnalysisTaskB2AOD.cxx:906
 AliAnalysisTaskB2AOD.cxx:907
 AliAnalysisTaskB2AOD.cxx:908
 AliAnalysisTaskB2AOD.cxx:909
 AliAnalysisTaskB2AOD.cxx:910
 AliAnalysisTaskB2AOD.cxx:911
 AliAnalysisTaskB2AOD.cxx:912
 AliAnalysisTaskB2AOD.cxx:913
 AliAnalysisTaskB2AOD.cxx:914
 AliAnalysisTaskB2AOD.cxx:915
 AliAnalysisTaskB2AOD.cxx:916
 AliAnalysisTaskB2AOD.cxx:917
 AliAnalysisTaskB2AOD.cxx:918
 AliAnalysisTaskB2AOD.cxx:919
 AliAnalysisTaskB2AOD.cxx:920
 AliAnalysisTaskB2AOD.cxx:921
 AliAnalysisTaskB2AOD.cxx:922
 AliAnalysisTaskB2AOD.cxx:923
 AliAnalysisTaskB2AOD.cxx:924
 AliAnalysisTaskB2AOD.cxx:925
 AliAnalysisTaskB2AOD.cxx:926
 AliAnalysisTaskB2AOD.cxx:927
 AliAnalysisTaskB2AOD.cxx:928
 AliAnalysisTaskB2AOD.cxx:929
 AliAnalysisTaskB2AOD.cxx:930
 AliAnalysisTaskB2AOD.cxx:931
 AliAnalysisTaskB2AOD.cxx:932
 AliAnalysisTaskB2AOD.cxx:933
 AliAnalysisTaskB2AOD.cxx:934
 AliAnalysisTaskB2AOD.cxx:935
 AliAnalysisTaskB2AOD.cxx:936
 AliAnalysisTaskB2AOD.cxx:937
 AliAnalysisTaskB2AOD.cxx:938
 AliAnalysisTaskB2AOD.cxx:939
 AliAnalysisTaskB2AOD.cxx:940
 AliAnalysisTaskB2AOD.cxx:941
 AliAnalysisTaskB2AOD.cxx:942
 AliAnalysisTaskB2AOD.cxx:943
 AliAnalysisTaskB2AOD.cxx:944
 AliAnalysisTaskB2AOD.cxx:945
 AliAnalysisTaskB2AOD.cxx:946
 AliAnalysisTaskB2AOD.cxx:947
 AliAnalysisTaskB2AOD.cxx:948
 AliAnalysisTaskB2AOD.cxx:949
 AliAnalysisTaskB2AOD.cxx:950
 AliAnalysisTaskB2AOD.cxx:951
 AliAnalysisTaskB2AOD.cxx:952
 AliAnalysisTaskB2AOD.cxx:953
 AliAnalysisTaskB2AOD.cxx:954
 AliAnalysisTaskB2AOD.cxx:955
 AliAnalysisTaskB2AOD.cxx:956
 AliAnalysisTaskB2AOD.cxx:957
 AliAnalysisTaskB2AOD.cxx:958
 AliAnalysisTaskB2AOD.cxx:959
 AliAnalysisTaskB2AOD.cxx:960
 AliAnalysisTaskB2AOD.cxx:961
 AliAnalysisTaskB2AOD.cxx:962
 AliAnalysisTaskB2AOD.cxx:963
 AliAnalysisTaskB2AOD.cxx:964
 AliAnalysisTaskB2AOD.cxx:965
 AliAnalysisTaskB2AOD.cxx:966
 AliAnalysisTaskB2AOD.cxx:967
 AliAnalysisTaskB2AOD.cxx:968
 AliAnalysisTaskB2AOD.cxx:969
 AliAnalysisTaskB2AOD.cxx:970
 AliAnalysisTaskB2AOD.cxx:971
 AliAnalysisTaskB2AOD.cxx:972
 AliAnalysisTaskB2AOD.cxx:973
 AliAnalysisTaskB2AOD.cxx:974
 AliAnalysisTaskB2AOD.cxx:975
 AliAnalysisTaskB2AOD.cxx:976
 AliAnalysisTaskB2AOD.cxx:977
 AliAnalysisTaskB2AOD.cxx:978
 AliAnalysisTaskB2AOD.cxx:979
 AliAnalysisTaskB2AOD.cxx:980
 AliAnalysisTaskB2AOD.cxx:981
 AliAnalysisTaskB2AOD.cxx:982
 AliAnalysisTaskB2AOD.cxx:983
 AliAnalysisTaskB2AOD.cxx:984
 AliAnalysisTaskB2AOD.cxx:985
 AliAnalysisTaskB2AOD.cxx:986
 AliAnalysisTaskB2AOD.cxx:987
 AliAnalysisTaskB2AOD.cxx:988
 AliAnalysisTaskB2AOD.cxx:989
 AliAnalysisTaskB2AOD.cxx:990
 AliAnalysisTaskB2AOD.cxx:991
 AliAnalysisTaskB2AOD.cxx:992
 AliAnalysisTaskB2AOD.cxx:993
 AliAnalysisTaskB2AOD.cxx:994
 AliAnalysisTaskB2AOD.cxx:995
 AliAnalysisTaskB2AOD.cxx:996
 AliAnalysisTaskB2AOD.cxx:997
 AliAnalysisTaskB2AOD.cxx:998
 AliAnalysisTaskB2AOD.cxx:999
 AliAnalysisTaskB2AOD.cxx:1000
 AliAnalysisTaskB2AOD.cxx:1001
 AliAnalysisTaskB2AOD.cxx:1002
 AliAnalysisTaskB2AOD.cxx:1003
 AliAnalysisTaskB2AOD.cxx:1004
 AliAnalysisTaskB2AOD.cxx:1005
 AliAnalysisTaskB2AOD.cxx:1006
 AliAnalysisTaskB2AOD.cxx:1007
 AliAnalysisTaskB2AOD.cxx:1008
 AliAnalysisTaskB2AOD.cxx:1009
 AliAnalysisTaskB2AOD.cxx:1010
 AliAnalysisTaskB2AOD.cxx:1011
 AliAnalysisTaskB2AOD.cxx:1012
 AliAnalysisTaskB2AOD.cxx:1013
 AliAnalysisTaskB2AOD.cxx:1014
 AliAnalysisTaskB2AOD.cxx:1015
 AliAnalysisTaskB2AOD.cxx:1016
 AliAnalysisTaskB2AOD.cxx:1017
 AliAnalysisTaskB2AOD.cxx:1018
 AliAnalysisTaskB2AOD.cxx:1019
 AliAnalysisTaskB2AOD.cxx:1020
 AliAnalysisTaskB2AOD.cxx:1021
 AliAnalysisTaskB2AOD.cxx:1022
 AliAnalysisTaskB2AOD.cxx:1023
 AliAnalysisTaskB2AOD.cxx:1024
 AliAnalysisTaskB2AOD.cxx:1025
 AliAnalysisTaskB2AOD.cxx:1026
 AliAnalysisTaskB2AOD.cxx:1027
 AliAnalysisTaskB2AOD.cxx:1028
 AliAnalysisTaskB2AOD.cxx:1029
 AliAnalysisTaskB2AOD.cxx:1030
 AliAnalysisTaskB2AOD.cxx:1031
 AliAnalysisTaskB2AOD.cxx:1032
 AliAnalysisTaskB2AOD.cxx:1033
 AliAnalysisTaskB2AOD.cxx:1034
 AliAnalysisTaskB2AOD.cxx:1035
 AliAnalysisTaskB2AOD.cxx:1036
 AliAnalysisTaskB2AOD.cxx:1037
 AliAnalysisTaskB2AOD.cxx:1038
 AliAnalysisTaskB2AOD.cxx:1039
 AliAnalysisTaskB2AOD.cxx:1040
 AliAnalysisTaskB2AOD.cxx:1041
 AliAnalysisTaskB2AOD.cxx:1042
 AliAnalysisTaskB2AOD.cxx:1043
 AliAnalysisTaskB2AOD.cxx:1044
 AliAnalysisTaskB2AOD.cxx:1045
 AliAnalysisTaskB2AOD.cxx:1046
 AliAnalysisTaskB2AOD.cxx:1047
 AliAnalysisTaskB2AOD.cxx:1048
 AliAnalysisTaskB2AOD.cxx:1049
 AliAnalysisTaskB2AOD.cxx:1050
 AliAnalysisTaskB2AOD.cxx:1051
 AliAnalysisTaskB2AOD.cxx:1052
 AliAnalysisTaskB2AOD.cxx:1053
 AliAnalysisTaskB2AOD.cxx:1054
 AliAnalysisTaskB2AOD.cxx:1055
 AliAnalysisTaskB2AOD.cxx:1056
 AliAnalysisTaskB2AOD.cxx:1057
 AliAnalysisTaskB2AOD.cxx:1058
 AliAnalysisTaskB2AOD.cxx:1059
 AliAnalysisTaskB2AOD.cxx:1060
 AliAnalysisTaskB2AOD.cxx:1061
 AliAnalysisTaskB2AOD.cxx:1062
 AliAnalysisTaskB2AOD.cxx:1063