ROOT logo
#include <TCanvas.h>
#include <TTree.h>
#include <TFile.h>
#include <TH1F.h>
#include <TH2F.h>
#include <TH3F.h>
#include <TPDGCode.h>
#include <TDatabasePDG.h>
#include <TParticlePDG.h>
#include <TParticle.h>
#include <TROOT.h>

#include "AliESDEvent.h"
#include "AliESDv0.h"
#include "AliESDcascade.h"

#include "AliCentrality.h"

#include "AliMCEvent.h"
#include "AliStack.h"

#include "AliPID.h"
#include "AliPIDResponse.h"

#include "AliInputEventHandler.h"
#include "AliAnalysisManager.h"

#include "AliAnalysisTaskCTauPbPb.h"

//extern TROOT *gROOT;

ClassImp(AliAnalysisTaskCTauPbPb)


//
//  This is a little task for checking the c*tau of the strange particles 
//

AliAnalysisTaskCTauPbPb::AliAnalysisTaskCTauPbPb(const char *name) :
AliAnalysisTaskSE(name),
fIsMC(kFALSE),
fCMin(0.),
fCMax(90.),
fOutput(0),
fMult(0),
fdEdx(0),
fdEdxPid(0),

fK0sM(0),
fK0sSi(0),
fK0sMC(0),
fK0sAs(0),

fLambdaM(0),
fLambdaSi(0),
fLambdaMC(0),
fLambdaAs(0),

fLambdaEff(0),
fLambdaPt(0),

fLambdaBarM(0),
fLambdaBarSi(0),
fLambdaBarMC(0),
fLambdaBarAs(0),

fLambdaBarEff(0),
fLambdaBarPt(0),

fLambdaFromXi(0),
fXiM(0),
fXiSiP(0),

fLambdaBarFromXiBar(0),
fXiBarM(0),
fXiBarSiP(0)
{
  // Constructor. Initialization of pointers
  DefineOutput(1, TList::Class());
}

void AliAnalysisTaskCTauPbPb::UserCreateOutputObjects()
{
  Int_t    nbins=100;  // number of bins
  Double_t ltMax=100.;
  Double_t ptMax=10.;

  fOutput = new TList(); 
  fOutput->SetOwner();


  fMult=new TH1F("fMult","Multiplicity",1100,0.,3300);
  fMult->GetXaxis()->SetTitle("N tracks"); 
  fOutput->Add(fMult);

  fdEdx=new TH2F("fdEdx","dE/dx",50,0.2,3,50,0.,6.);
  fOutput->Add(fdEdx);

  fdEdxPid=new TH2F("fdEdxPid","dE/dx with PID",50,0.2,3,50,0.,6.);
  fOutput->Add(fdEdxPid);

  fK0sM = 
  new TH2F("fK0sM", "Mass for K^{0}_{s}", nbins/2,0.448,0.548,nbins,0.,ptMax);
  fK0sM->GetXaxis()->SetTitle("Mass (GeV/c)"); 
  fOutput->Add(fK0sM);

  fK0sSi = 
  new TH2F("fK0sSi","L_{T} vs p_{T} for K^{0}_{s}, side-band subtracted",
  nbins,0.,ptMax,nbins,0.,ltMax);
  fK0sSi->GetXaxis()->SetTitle("p_{T} (GeV/c)"); 
  fK0sSi->GetYaxis()->SetTitle("L_{T} (cm)"); 
  fOutput->Add(fK0sSi);

  fK0sMC = 
  new TH2F("fK0sMC","L_{T} vs p_{T} for K^{0}_{s}, from MC stack", 
  nbins,0.,ptMax,nbins,0.,ltMax);
  fK0sMC->GetXaxis()->SetTitle("p_{T} (GeV/c)"); 
  fK0sMC->GetYaxis()->SetTitle("L_{T} (cm)"); 
  fOutput->Add(fK0sMC);

  fK0sAs = 
  new TH2F("fK0sAs", "L_{T} vs p_{T} for K^{0}_{s}, associated", 
  nbins,0.,ptMax,nbins,0.,ltMax);
  fK0sAs->GetXaxis()->SetTitle("p_{T} (GeV/c)"); 
  fK0sAs->GetYaxis()->SetTitle("L_{T} (cm)"); 
  fOutput->Add(fK0sAs);

  //----------------------

  fLambdaM = 
  new TH2F("fLambdaM","Mass for \\Lambda", nbins, 1.065, 1.165,nbins,0.,ptMax);
  fLambdaM->GetXaxis()->SetTitle("Mass (GeV/c)"); 
  fOutput->Add(fLambdaM);

  fLambdaSi = 
  new TH2F("fLambdaSi","L_{T} vs p_{T} for \\Lambda, side-band subtructed",
  nbins,0.,ptMax,nbins,0.,ltMax);
  fLambdaSi->GetXaxis()->SetTitle("p_{T} (GeV/c)"); 
  fLambdaSi->GetYaxis()->SetTitle("L_{T} (cm)"); 
  fOutput->Add(fLambdaSi);

  fLambdaMC = 
  new TH2F("fLambdaMC","L_{T} vs p_{T} for \\Lambda, from MC stack", 
  nbins,0.,ptMax,nbins,0.,ltMax);
  fLambdaMC->GetXaxis()->SetTitle("p_{T} (GeV/c)"); 
  fLambdaMC->GetYaxis()->SetTitle("L_{T} (cm)"); 
  fOutput->Add(fLambdaMC);

  fLambdaAs = 
  new TH2F("fLambdaAs","L_{T} vs p_{T} for \\Lambda, associated",
  nbins,0.,ptMax,nbins,0.,ltMax);
  fLambdaAs->GetXaxis()->SetTitle("p_{T} (GeV/c)"); 
  fLambdaAs->GetYaxis()->SetTitle("L_{T} (cm)"); 
  fOutput->Add(fLambdaAs);

  //----------------------

  fLambdaEff=fLambdaAs->ProjectionX();
  fLambdaEff->SetName("fLambdaEff");
  fLambdaEff->SetTitle("Efficiency for #Lambda");
  fOutput->Add(fLambdaEff);

  fLambdaPt=fLambdaAs->ProjectionX();
  fLambdaPt->SetName("fLambdaPt");
  fLambdaPt->SetTitle("Raw #Lambda pT spectrum");
  fOutput->Add(fLambdaPt);

  //----------------------

  fLambdaBarM = 
  new TH2F("fLambdaBarM","Mass for anti-\\Lambda", nbins, 1.065, 1.165,nbins,0.,ptMax);
  fLambdaBarM->GetXaxis()->SetTitle("Mass (GeV/c)"); 
  fOutput->Add(fLambdaBarM);

  fLambdaBarSi = 
  new TH2F("fLambdaBarSi","L_{T} vs p_{T} for anti-\\Lambda, side-band subtructed",
  nbins,0.,ptMax,nbins,0.,ltMax);
  fLambdaBarSi->GetXaxis()->SetTitle("p_{T} (GeV/c)"); 
  fLambdaBarSi->GetYaxis()->SetTitle("L_{T} (cm)"); 
  fOutput->Add(fLambdaBarSi);

  fLambdaBarMC = 
  new TH2F("fLambdaBarMC","L_{T} vs p_{T} for anti-\\Lambda, from MC stack", 
  nbins,0.,ptMax,nbins,0.,ltMax);
  fLambdaBarMC->GetXaxis()->SetTitle("p_{T} (GeV/c)"); 
  fLambdaBarMC->GetYaxis()->SetTitle("L_{T} (cm)"); 
  fOutput->Add(fLambdaBarMC);

  fLambdaBarAs = 
  new TH2F("fLambdaBarAs","L_{T} vs p_{T} for anti-\\Lambda, associated",
  nbins,0.,ptMax,nbins,0.,ltMax);
  fLambdaBarAs->GetXaxis()->SetTitle("p_{T} (GeV/c)"); 
  fLambdaBarAs->GetYaxis()->SetTitle("L_{T} (cm)"); 
  fOutput->Add(fLambdaBarAs);


  //----------------------

  fLambdaBarEff=fLambdaBarAs->ProjectionX();
  fLambdaBarEff->SetName("fLambdaBarEff");
  fLambdaBarEff->SetTitle("Efficiency for anti-#Lambda");
  fOutput->Add(fLambdaBarEff);

  fLambdaBarPt=fLambdaBarAs->ProjectionX();
  fLambdaBarPt->SetName("fLambdaBarPt");
  fLambdaBarPt->SetTitle("Raw anti-#Lambda pT spectrum");
  fOutput->Add(fLambdaBarPt);

  //----------------------

  fLambdaFromXi=new TH3F("fLambdaFromXi","L_{T} vs p_{T} vs p_{T} of \\Xi for \\Lambda from \\Xi",
  nbins,0.,ptMax,nbins,0.,ltMax,33,0.,ptMax+2);
  fOutput->Add(fLambdaFromXi);

  fXiM  = 
  new TH2F("fXiM", "\\Xi mass distribution", 50, 1.271, 1.371,33,0.,ptMax+2);
  fOutput->Add(fXiM);

  fXiSiP  = new TH1F("fXiSiP", "Pt for \\Xi, side-band subracted",
  33,0.,ptMax+2);
  fOutput->Add(fXiSiP);


  fLambdaBarFromXiBar=new TH3F("fLambdaBarFromXiBar","L_{T} vs p_{T} vs p_{T} of anti-\\Xi for anti-\\Lambda from anti-\\Xi",
  nbins,0.,ptMax,nbins,0.,ltMax,33,0.,ptMax+2);
  fOutput->Add(fLambdaBarFromXiBar);

  fXiBarM  = 
  new TH2F("fXiBarM", "anti-\\Xi mass distribution", 50, 1.271, 1.371,33,0.,ptMax+2);
  fOutput->Add(fXiBarM);

  fXiBarSiP  = new TH1F("fXiBarSiP", "Pt for anti-\\Xi, side-band subracted",
  33,0.,ptMax+2);
  fOutput->Add(fXiBarSiP);


  PostData(1, fOutput);
}

static Bool_t AcceptTrack(const AliESDtrack *t) {
  if (!t->IsOn(AliESDtrack::kTPCrefit)) return kFALSE;
  if (t->GetKinkIndex(0)>0) return kFALSE;

  //Float_t nCrossedRowsTPC = t->GetTPCClusterInfo(2,1); 
  //if (nCrossedRowsTPC < 70) return kFALSE;
  Int_t findable=t->GetTPCNclsF();
  if (findable <= 0) return kFALSE;
  //if (nCrossedRowsTPC/findable < 0.8) return kFALSE;

  if (TMath::Abs(t->Eta()) > 0.8) return kFALSE;

  return kTRUE;   
}

static Bool_t AcceptV0(const AliESDv0 *v0, const AliESDEvent *esd) {

  if (v0->GetOnFlyStatus()) return kFALSE;

  Int_t nidx=TMath::Abs(v0->GetNindex());
  AliESDtrack *ntrack=esd->GetTrack(nidx);
  if (!AcceptTrack(ntrack)) return kFALSE;

  Int_t pidx=TMath::Abs(v0->GetPindex());
  AliESDtrack *ptrack=esd->GetTrack(pidx);
  if (!AcceptTrack(ptrack)) return kFALSE;

  Float_t xy,z0;
  ntrack->GetImpactParameters(xy,z0);
  if (TMath::Abs(xy)<0.1) return kFALSE;
  ptrack->GetImpactParameters(xy,z0);
  if (TMath::Abs(xy)<0.1) return kFALSE;

  Double_t dca=v0->GetDcaV0Daughters();
  if (dca>1.0) return kFALSE;

  Double_t cpa=v0->GetV0CosineOfPointingAngle();
  if (cpa<0.998) return kFALSE;

  Double_t xx,yy,zz; v0->GetXYZ(xx,yy,zz);
  Double_t r2=xx*xx + yy*yy;
  if (r2<0.9*0.9) return kFALSE;
  if (r2>100*100) return kFALSE;

  return kTRUE;
}

static Bool_t AcceptCascade(const AliESDcascade *cs, const AliESDEvent *esd) {

  Int_t bidx=TMath::Abs(cs->GetBindex());
  AliESDtrack *btrack=esd->GetTrack(bidx);
  if (!AcceptTrack(btrack)) return kFALSE;

  Float_t xy,z0; 
  btrack->GetImpactParameters(xy,z0);
  if (TMath::Abs(xy)<0.03) return kFALSE;

  const AliESDVertex *vtx=esd->GetPrimaryVertexSPD();
  if (!vtx->GetStatus()) {
     vtx=esd->GetPrimaryVertexTracks();
     if (!vtx->GetStatus()) return kFALSE;
  }
  Double_t xv=vtx->GetX(), yv=vtx->GetY(), zv=vtx->GetZ();
  if (cs->GetCascadeCosineOfPointingAngle(xv,yv,zv) < 0.999) return kFALSE;

  if (cs->GetDcaXiDaughters() > 0.3) return kFALSE;

  return kTRUE;
}

static Bool_t AcceptPID(const AliPIDResponse *pidResponse, 
			const AliESDtrack *ptrack, AliStack *stack) {

  const AliExternalTrackParam *par=ptrack->GetInnerParam();
  if (!par) return kTRUE;
  if (par->GetP() > 1.) return kTRUE; 


  if (stack) {
    // MC PID
    Int_t plab=TMath::Abs(ptrack->GetLabel());
    TParticle *pp=stack->Particle(plab);
    if (!pp) return kTRUE;
    if (pp->GetPDG()->Charge() > 0) {
       if (pp->GetPdgCode() == kProton)    return kTRUE;
    } else {
       if (pp->GetPdgCode() == kProtonBar) return kTRUE;
    }
  } else {
    // Real PID
    Double_t nsig=pidResponse->NumberOfSigmasTPC(ptrack,AliPID::kProton);
    if (TMath::Abs(nsig) < 3.) return kTRUE;
  }
  
  return kFALSE; 
}

static TParticle*
AssociateV0(const AliESDtrack *ptrack,const AliESDtrack *ntrack,AliStack *stack,
TParticle *&mcp) {
  //
  // Try to associate the V0 with the daughters ptrack and ntrack
  // with the Monte Carlo
  //
  if (!stack) return 0;

  Int_t nlab=TMath::Abs(ntrack->GetLabel());
  TParticle *n=stack->Particle(nlab);
  if (!n) return 0;

  Int_t plab=TMath::Abs(ptrack->GetLabel());
  TParticle *p=stack->Particle(plab);
  if (!p) return 0;

  Int_t imp=p->GetFirstMother();
  if (imp<0) return 0;
  if (imp>=stack->GetNtrack()) return 0;
  TParticle *p0=stack->Particle(imp); // V0 particle, mother of the pos. track
  if (!p0) return 0;

  Int_t imn=n->GetFirstMother();
  if (imp != imn) {  // Check decays of the daughters
     return 0; // Fixme
  }

  Int_t code=p0->GetPdgCode();
  if (code != kK0Short)
     if (code != kLambda0)
	if (code != kLambda0Bar) return 0;

  mcp=p;

  return p0;
}


void AliAnalysisTaskCTauPbPb::UserExec(Option_t *)
{
  const Double_t yMax=0.5;
  const Double_t pMin=0.0;
  const Double_t lMax=0.001;

  AliESDEvent *esd=(AliESDEvent *)InputEvent();

  if (!esd) {
    Printf("ERROR: esd not available");
    return;
  }

  // Vertex selection
  const AliESDVertex *vtx=esd->GetPrimaryVertex();
  if (!vtx->GetStatus()) return;
  Double_t xv=vtx->GetX(), yv=vtx->GetY(), zv=vtx->GetZ();

  if (TMath::Abs(zv) > 10.) return ;   
 

  // Physics selection
  AliAnalysisManager *mgr= AliAnalysisManager::GetAnalysisManager();
  AliInputEventHandler *hdr=(AliInputEventHandler*)mgr->GetInputEventHandler();
  UInt_t maskIsSelected = hdr->IsEventSelected();
  Bool_t isSelected = (maskIsSelected & AliVEvent::kMB);
  if (!isSelected) return;


  fMult->Fill(-100); //event counter  


  // Centrality selection
  AliCentrality *cent=esd->GetCentrality();
  if (!cent->IsEventInCentralityClass(fCMin,fCMax,"V0M")) return;

  AliPIDResponse *pidResponse = hdr->GetPIDResponse(); 
 

  //+++++++ MC
  AliStack *stack = 0x0;
  Double_t mcXv=0., mcYv=0., mcZv=0.;

  if (fIsMC) {
     AliMCEvent *mcEvent = MCEvent();
     stack = mcEvent->Stack();
     if (!stack) {
        Printf("ERROR: stack not available");
        return;
     }

     const AliVVertex *mcVtx=mcEvent->GetPrimaryVertex();

     mcXv=mcVtx->GetX(); mcYv=mcVtx->GetY(); mcZv=mcVtx->GetZ();

     Int_t ntrk=stack->GetNtrack();
     while (ntrk--) {
       TParticle *p0=stack->Particle(ntrk);
       Int_t code=p0->GetPdgCode();
       if (code != kK0Short)
	 if (code != kLambda0)
	    if (code != kLambda0Bar) continue;

       Int_t plab=p0->GetFirstDaughter(), nlab=p0->GetLastDaughter();
       if (nlab==plab) continue;
       TParticle *part = stack->Particle(plab);
       if (!part) continue;
       TParticlePDG *partPDG = part->GetPDG();
       if (!partPDG) continue;
       Double_t charge=partPDG->Charge();
       if (charge == 0.) continue;
  
       Double_t pt=p0->Pt();
       if (pt<pMin) continue;
       if (TMath::Abs(p0->Y())>yMax) continue;
    
       Double_t x=p0->Vx(), y=p0->Vy(), z=p0->Vz();
       Double_t dx=mcXv-x, dy=mcYv-y, dz=mcZv-z;
       Double_t l=TMath::Sqrt(dx*dx + dy*dy + dz*dz);

       if (l > lMax) continue; // secondary V0

       x=part->Vx(); y=part->Vy();
       dx=mcXv-x; dy=mcYv-y;
       Double_t lt=TMath::Sqrt(dx*dx + dy*dy);

       switch (code) {
       case kK0Short:
          fK0sMC->Fill(pt,lt);
          break;
       case kLambda0:
          fLambdaMC->Fill(pt,lt);
          break;
       case kLambda0Bar:
          fLambdaBarMC->Fill(pt,lt);
          break;
       default: break;
       }
     }
  }
  //+++++++


  Int_t ntrk1=esd->GetNumberOfTracks();
  Int_t mult=0;
  for (Int_t i=0; i<ntrk1; i++) {
    AliESDtrack *t=esd->GetTrack(i);
    if (!t->IsOn(AliESDtrack::kTPCrefit)) continue;
    Float_t xy,z0;
    t->GetImpactParameters(xy,z0);
    if (TMath::Abs(xy)>3.) continue;
    if (TMath::Abs(z0)>3.) continue;
    Double_t pt=t->Pt(),pz=t->Pz();
    if (TMath::Abs(pz/pt)>0.8) continue;
    mult++;

    Double_t p=t->GetInnerParam()->GetP();
    Double_t dedx=t->GetTPCsignal()/47.;
    fdEdx->Fill(p,dedx,1);

    Double_t nsig=pidResponse->NumberOfSigmasTPC(t,AliPID::kProton);
    if (TMath::Abs(nsig) < 3.) fdEdxPid->Fill(p,dedx,1);

  }
  fMult->Fill(mult);


  Int_t nv0 = esd->GetNumberOfV0s();
  while (nv0--) {
      AliESDv0 *v0=esd->GetV0(nv0);

      Double_t pt=v0->Pt();
      if (pt < pMin) continue;

      if (!AcceptV0(v0,esd)) continue;

      Int_t nidx=TMath::Abs(v0->GetNindex());
      AliESDtrack *ntrack=esd->GetTrack(nidx);
      Int_t pidx=TMath::Abs(v0->GetPindex());
      AliESDtrack *ptrack=esd->GetTrack(pidx);

      Double_t x,y,z; v0->GetXYZ(x,y,z);
      Double_t dx1=x-xv, dy1=y-yv;
      Double_t lt=TMath::Sqrt(dx1*dx1 + dy1*dy1);

      if (lt/pt > 3*7.89/1.1157) continue;  

      //--- V0 switches
      Bool_t isK0s=kTRUE;
      Bool_t isLambda=kTRUE;
      Bool_t isLambdaBar=kTRUE;

      if (0.4977*lt/pt > 3*2.68) isK0s=kFALSE;
      if (1.1157*lt/pt > 3*7.89) isLambdaBar=isLambda=kFALSE;

      if (v0->PtArmV0() < 0.2*TMath::Abs(v0->AlphaV0())) isK0s=kFALSE;

      if (!AcceptPID(pidResponse, ptrack, stack)) isLambda=kFALSE;
      if (!AcceptPID(pidResponse, ntrack, stack)) isLambdaBar=kFALSE;

      Double_t yK0s=TMath::Abs(v0->RapK0Short());
      Double_t yLam=TMath::Abs(v0->RapLambda());
      if (yK0s > yMax) isK0s=kFALSE;
      if (yLam > yMax) isLambda=isLambdaBar=kFALSE;
      //---

      Double_t mass=0., m=0., s=0.;
      if (isK0s) {
         v0->ChangeMassHypothesis(kK0Short);

         mass=v0->GetEffMass();
         fK0sM->Fill(mass,pt);

         m=TDatabasePDG::Instance()->GetParticle(kK0Short)->Mass();
         s=0.0044 + (0.008-0.0044)/(10-1)*(pt - 1.);
         if (TMath::Abs(m-mass) < 3*s) {
            fK0sSi->Fill(pt,lt);
         } else {
	    isK0s=kFALSE;
         }
         if (TMath::Abs(m-mass + 4.5*s) < 1.5*s) {
            fK0sSi->Fill(pt,lt,-1);
         }
         if (TMath::Abs(m-mass - 4.5*s) < 1.5*s) {
            fK0sSi->Fill(pt,lt,-1);
         }
      }
      
      if (isLambda) {
         v0->ChangeMassHypothesis(kLambda0);

         mass=v0->GetEffMass();
         fLambdaM->Fill(mass,pt);

         m=TDatabasePDG::Instance()->GetParticle(kLambda0)->Mass();
         s=0.0023 + (0.004-0.0023)/(6-1)*(pt-1);
         if (TMath::Abs(m-mass) < 3*s) {
            fLambdaSi->Fill(pt,lt);
         } else {
	    isLambda=kFALSE;
         } 
         if (TMath::Abs(m-mass + 4.5*s) < 1.5*s) {
            fLambdaSi->Fill(pt,lt,-1);
         }
         if (TMath::Abs(m-mass - 4.5*s) < 1.5*s) {
            fLambdaSi->Fill(pt,lt,-1);
         }
      }

      if (isLambdaBar) {
         v0->ChangeMassHypothesis(kLambda0Bar);

         mass=v0->GetEffMass();
         fLambdaBarM->Fill(mass,pt);

         m=TDatabasePDG::Instance()->GetParticle(kLambda0Bar)->Mass();
         s=0.0023 + (0.004-0.0023)/(6-1)*(pt-1);
         if (TMath::Abs(m-mass) < 3*s) {
            fLambdaBarSi->Fill(pt,lt);
         } else {
	    isLambdaBar=kFALSE;
         }
         if (TMath::Abs(m-mass + 4.5*s) < 1.5*s) {
            fLambdaBarSi->Fill(pt,lt,-1);
         }
         if (TMath::Abs(m-mass - 4.5*s) < 1.5*s) {
            fLambdaBarSi->Fill(pt,lt,-1);
         }
      }

      if (!fIsMC) continue;

      //++++++ MC 
      if (!isK0s)
         if (!isLambda)
             if (!isLambdaBar) continue;//check MC only for the accepted V0s 

      TParticle *mcp=0;
      TParticle *mc0=AssociateV0(ptrack,ntrack,stack,mcp);
      if (!mc0) continue;

      Double_t ptAs=mc0->Pt();
      if (ptAs < pMin) continue;
      Double_t yAs=mc0->Y();
      if (TMath::Abs(yAs) > yMax) continue;

      Int_t code=mc0->GetPdgCode();

      Double_t dx = mcXv - mcp->Vx(), dy = mcYv - mcp->Vy();
      Double_t ltAs=TMath::Sqrt(dx*dx + dy*dy);
 
      Double_t dz=mcZv - mc0->Vz(); dy=mcYv - mc0->Vy(); dx=mcXv - mc0->Vx();
      Double_t l = TMath::Sqrt(dx*dx + dy*dy + dz*dz);
      if (l<lMax) { // Primary V0s
	 switch (code) {
         case kK0Short:
            if (isK0s)       fK0sAs->Fill(ptAs,ltAs);
            break;
	 case kLambda0:
            if (isLambda)    fLambdaAs->Fill(ptAs,ltAs);
            break;
	 case kLambda0Bar:
            if (isLambdaBar) fLambdaBarAs->Fill(ptAs,ltAs);
            break;
         default: break;
	 }
      } else {
	 if (code==kK0Short) continue;

         Int_t nx=mc0->GetFirstMother();
         if (nx<0) continue;
         if (nx>=stack->GetNtrack()) continue;
         TParticle *xi=stack->Particle(nx);
         if (!xi) continue;
         Int_t xcode=xi->GetPdgCode();
         
	 switch (code) {
	 case kLambda0:
            if (isLambda)
	    if ((xcode==kXiMinus) || (xcode==3322)) 
               fLambdaFromXi->Fill(ptAs,ltAs,xi->Pt());
            break;
	 case kLambda0Bar:
            if (isLambdaBar)
	    if ((xcode==kXiPlusBar)||(xcode==-3322)) 
               fLambdaBarFromXiBar->Fill(ptAs,ltAs,xi->Pt());
            break;
         default: break;
	 }
      }
      //++++++
  
  }

  Double_t kine0;
  Int_t ncs=esd->GetNumberOfCascades();
  for (Int_t i=0; i<ncs; i++) {
      AliESDcascade *cs=esd->GetCascade(i);

      Double_t pt=cs->Pt();
      if (pt < pMin) continue;
      if (TMath::Abs(cs->RapXi()) > yMax) continue;
      if (!AcceptCascade(cs,esd)) continue;

      AliESDv0 *v0 = (AliESDv0*)cs;
      if (v0->Pt() < pMin) continue;
      if (TMath::Abs(v0->RapLambda()) > yMax) continue;
      if (!AcceptV0(v0,esd)) continue;

      //--- Cascade switches
      Bool_t isXiMinus=kTRUE;
      Bool_t isXiPlusBar=kTRUE;

      Int_t pidx=TMath::Abs(v0->GetPindex());
      AliESDtrack *ptrack=esd->GetTrack(pidx);
      if (!AcceptPID(pidResponse, ptrack, stack)) isXiMinus=kFALSE;

      Int_t nidx=TMath::Abs(v0->GetNindex());
      AliESDtrack *ntrack=esd->GetTrack(nidx);
      if (!AcceptPID(pidResponse, ntrack, stack)) isXiPlusBar=kFALSE;

      Int_t charge=cs->Charge();
      if (charge > 0) isXiMinus=kFALSE;
      if (charge < 0) isXiPlusBar=kFALSE;
      //---
      
      if (isXiMinus) {
         cs->ChangeMassHypothesis(kine0,kXiMinus);
         Double_t mass=cs->GetEffMassXi();
         fXiM->Fill(mass,pt);
         Double_t m=TDatabasePDG::Instance()->GetParticle(kXiMinus)->Mass();
         //Double_t s=0.0037;
         Double_t s=0.002 + (0.0032-0.002)/(6-1.5)*(pt-1.5);
         if (TMath::Abs(m-mass) < 3*s) {
            fXiSiP->Fill(pt);
         } else {
            isXiMinus=kFALSE;
         }
         if (TMath::Abs(m-mass + 4.5*s) < 1.5*s) {
            fXiSiP->Fill(pt,-1);
         }
         if (TMath::Abs(m-mass - 4.5*s) < 1.5*s) {
            fXiSiP->Fill(pt,-1);
         }
      }

      if (isXiPlusBar) {         
         cs->ChangeMassHypothesis(kine0,kXiPlusBar);
         Double_t mass=cs->GetEffMassXi();
         fXiBarM->Fill(mass,pt);
         Double_t m=TDatabasePDG::Instance()->GetParticle(kXiPlusBar)->Mass();
         //Double_t s=0.0037;
         Double_t s=0.002 + (0.0032-0.002)/(6-1.5)*(pt-1.5);
         if (TMath::Abs(m-mass) < 3*s) {
            fXiBarSiP->Fill(pt);
         } else {
            isXiPlusBar=kFALSE; 
         }
         if (TMath::Abs(m-mass + 4.5*s) < 1.5*s) {
            fXiBarSiP->Fill(pt,-1);
         }
         if (TMath::Abs(m-mass - 4.5*s) < 1.5*s) {
            fXiBarSiP->Fill(pt,-1);
         }
      }

      if (!fIsMC) continue;

      //++++++ MC 
      if (!isXiMinus)
         if (!isXiPlusBar) continue;//check MC only for the accepted cascades 
      // Here is the future association with MC
  }

}

void AliAnalysisTaskCTauPbPb::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.
  
  fOutput=(TList*)GetOutputData(1);
  if (!fOutput) {
     Printf("ERROR: fOutput not available");
     return;
  }
 
  fMult = dynamic_cast<TH1F*>(fOutput->FindObject("fMult")) ; 
  if (!fMult) {
     Printf("ERROR: fMult not available");
     return;
  }

  fdEdx = dynamic_cast<TH2F*>(fOutput->FindObject("fdEdx")) ; 
  if (!fdEdx) {
     Printf("ERROR: fdEdx not available");
     return;
  }

  fdEdxPid = dynamic_cast<TH2F*>(fOutput->FindObject("fdEdxPid")) ; 
  if (!fdEdxPid) {
     Printf("ERROR: fdEdxPid not available");
     return;
  }


  fK0sMC = dynamic_cast<TH2F*>(fOutput->FindObject("fK0sMC")) ; 
  if (!fK0sMC) {
     Printf("ERROR: fK0sMC not available");
     return;
  }
  TH1D *k0sMcPx=fK0sMC->ProjectionX(); k0sMcPx->Sumw2();
  fK0sAs = dynamic_cast<TH2F*>(fOutput->FindObject("fK0sAs")) ; 
  if (!fK0sAs) {
     Printf("ERROR: fK0sAs not available");
     return;
  }
  TH1D *k0sAsPx=fK0sAs->ProjectionX(); 
  k0sAsPx->Sumw2(); //k0sAsPx->Scale(0.69);



  // Lambda histograms 
  fLambdaFromXi = dynamic_cast<TH3F*>(fOutput->FindObject("fLambdaFromXi")) ; 
  if (!fLambdaFromXi) {
     Printf("ERROR: fLambdaFromXi not available");
     return;
  }
  TH1D *lambdaFromXiPx=fLambdaFromXi->ProjectionX(); lambdaFromXiPx->Sumw2();

  fLambdaMC = dynamic_cast<TH2F*>(fOutput->FindObject("fLambdaMC")) ; 
  if (!fLambdaMC) {
     Printf("ERROR: fLambdaMC not available");
     return;
  }
  TH1D *lambdaMcPx=fLambdaMC->ProjectionX(); lambdaMcPx->Sumw2();

  fLambdaAs = dynamic_cast<TH2F*>(fOutput->FindObject("fLambdaAs")) ; 
  if (!fLambdaAs) {
     Printf("ERROR: fLambdaAs not available");
     return;
  }
  TH1D *lambdaAsPx=fLambdaAs->ProjectionX(); 
  lambdaAsPx->Sumw2(); //lambdaAsPx->Scale(0.64);

  fLambdaSi = dynamic_cast<TH2F*>(fOutput->FindObject("fLambdaSi")) ; 
  if (!fLambdaSi) {
     Printf("ERROR: fLambdaSi not available");
     return;
  }
  TH1D *lambdaSiPx=fLambdaSi->ProjectionX(); 
  lambdaSiPx->SetName("fLambdaPt");
  lambdaSiPx->Sumw2();

  fLambdaEff = dynamic_cast<TH1D*>(fOutput->FindObject("fLambdaEff")) ; 
  if (!fLambdaEff) {
     Printf("ERROR: fLambdaEff not available");
     return;
  }
  fLambdaPt = dynamic_cast<TH1D*>(fOutput->FindObject("fLambdaPt")) ; 
  if (!fLambdaPt) {
     Printf("ERROR: fLambdaPt not available");
     return;
  }


  // anti-Lambda histograms 
  fLambdaBarFromXiBar = 
  dynamic_cast<TH3F*>(fOutput->FindObject("fLambdaBarFromXiBar")) ; 
  if (!fLambdaBarFromXiBar) {
     Printf("ERROR: fLambdaBarFromXiBar not available");
     return;
  }
  TH1D *lambdaBarFromXiBarPx=
  fLambdaBarFromXiBar->ProjectionX("Bar"); lambdaBarFromXiBarPx->Sumw2();

  fLambdaBarMC = dynamic_cast<TH2F*>(fOutput->FindObject("fLambdaBarMC")) ; 
  if (!fLambdaBarMC) {
     Printf("ERROR: fLambdaBarMC not available");
     return;
  }
  TH1D *lambdaBarMcPx=fLambdaBarMC->ProjectionX(); lambdaBarMcPx->Sumw2();

  fLambdaBarAs = dynamic_cast<TH2F*>(fOutput->FindObject("fLambdaBarAs")) ; 
  if (!fLambdaBarAs) {
     Printf("ERROR: fLambdaBarAs not available");
     return;
  }
  TH1D *lambdaBarAsPx=fLambdaBarAs->ProjectionX(); 
  lambdaBarAsPx->Sumw2(); //lambdaBarAsPx->Scale(0.64);

  fLambdaBarSi = dynamic_cast<TH2F*>(fOutput->FindObject("fLambdaBarSi")) ; 
  if (!fLambdaBarSi) {
     Printf("ERROR: fLambdaBarSi not available");
     return;
  }
  TH1D *lambdaBarSiPx=fLambdaBarSi->ProjectionX(); 
  lambdaBarSiPx->SetName("fLambdaBarPt");
  lambdaBarSiPx->Sumw2();

  fLambdaBarEff = dynamic_cast<TH1D*>(fOutput->FindObject("fLambdaBarEff")) ; 
  if (!fLambdaBarEff) {
     Printf("ERROR: fLambdaBarEff not available");
     return;
  }
  fLambdaBarPt = dynamic_cast<TH1D*>(fOutput->FindObject("fLambdaBarPt")) ; 
  if (!fLambdaBarPt) {
     Printf("ERROR: fLambdaBarPt not available");
     return;
  }


  if (!gROOT->IsBatch()) {

    TCanvas *c1 = new TCanvas("c1","Mulitplicity");
    c1->SetLogy();
    fMult->DrawCopy() ;

    new TCanvas("c2","dE/dx");
    fdEdx->DrawCopy() ;

    new TCanvas("c3","dE/dx with PID");
    fdEdxPid->DrawCopy() ;

    if (fIsMC) {
       /*
       TH1D effK(*k0sAsPx); effK.SetTitle("Efficiency for K0s");
       effK.Divide(k0sAsPx,k0sMcPx,1,1,"b");
       new TCanvas("c4","Efficiency for K0s");
       effK.DrawCopy("E") ;
       */

       //+++ Lambdas
       fLambdaEff->Divide(lambdaAsPx,lambdaMcPx,1,1,"b");
       new TCanvas("c5","Efficiency for #Lambda");
       fLambdaEff->DrawCopy("E") ;

       lambdaSiPx->Add(lambdaFromXiPx,-1);
       lambdaSiPx->Divide(fLambdaEff);

       new TCanvas("c6","Corrected #Lambda pt");
       lambdaSiPx->SetTitle("Corrected #Lambda pt");
      *fLambdaPt = *lambdaSiPx; 
       fLambdaPt->SetLineColor(2);
       fLambdaPt->DrawCopy("E");
    
       lambdaMcPx->DrawCopy("same");
 

       //+++ anti-Lambdas
       fLambdaBarEff->Divide(lambdaBarAsPx,lambdaBarMcPx,1,1,"b");
       new TCanvas("c7","Efficiency for anti-#Lambda");
       fLambdaBarEff->DrawCopy("E") ;

       lambdaBarSiPx->Add(lambdaBarFromXiBarPx,-1);
       lambdaBarSiPx->Divide(fLambdaBarEff);

       new TCanvas("c8","Corrected anti-#Lambda pt");
       lambdaBarSiPx->SetTitle("Corrected anti-#Lambda pt");
      *fLambdaBarPt = *lambdaBarSiPx; 
       fLambdaBarPt->SetLineColor(2);
       fLambdaBarPt->DrawCopy("E");
    
       lambdaBarMcPx->DrawCopy("same");
    } else {
       new TCanvas("c6","Raw #Lambda pt");
       lambdaSiPx->SetTitle("Raw #Lambda pt");
      *fLambdaPt = *lambdaSiPx; 
       fLambdaPt->SetLineColor(2);
       fLambdaPt->DrawCopy("E");


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