ROOT logo
/**************************************************************************
 * Copyright(c) 2007-2009, 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.                  *
 **************************************************************************/

/* $Id$ */

///////////////////////////////////////////////////////////////////
//                                                               //
//  Analysis task to produce Ds candidates mass spectra          //
// Origin: F.Prino, Torino, prino@to.infn.it                     //
//                                                               //
///////////////////////////////////////////////////////////////////

#include <TClonesArray.h>
#include <TNtuple.h>
#include <TList.h>
#include <TString.h>
#include <TH1F.h>
#include <TMath.h>
#include <TDatabasePDG.h>

#include "AliAnalysisManager.h"
#include "AliAODHandler.h"
#include "AliAODEvent.h"
#include "AliAODVertex.h"
#include "AliAODTrack.h"
#include "AliAODMCHeader.h"
#include "AliAODMCParticle.h"
#include "AliAODRecoDecayHF3Prong.h"
#include "AliAnalysisVertexingHF.h"
#include "AliRDHFCutsDstoKKpi.h"
#include "AliAnalysisTaskSE.h"
#include "AliNormalizationCounter.h"
#include "AliAnalysisTaskSEDs.h"

ClassImp(AliAnalysisTaskSEDs)


//________________________________________________________________________
AliAnalysisTaskSEDs::AliAnalysisTaskSEDs():
  AliAnalysisTaskSE(),
  fOutput(0), 
  fHistNEvents(0),
  fPtVsMass(0),
  fPtVsMassPhi(0),
  fPtVsMassK0st(0),
  fYVsPt(0),
  fYVsPtSig(0),
  fNtupleDs(0),
  fFillNtuple(0),
  fReadMC(kFALSE),
  fWriteOnlySignal(kFALSE),
  fDoCutVarHistos(kTRUE),
  fUseSelectionBit(kFALSE),
  fNPtBins(0),
  fListCuts(0),
  fMassRange(0.8),
  fMassBinSize(0.002),
  fCounter(0),
  fAnalysisCuts(0)
{
  // Default constructor
  
  for(Int_t i=0;i<3;i++){
    fHistCentrality[i]=0;
    fHistCentralityMult[i]=0;
  }
  for(Int_t i=0;i<4;i++) {
    fChanHist[i]=0;
  }
  for(Int_t i=0;i<4*kMaxPtBins;i++){    
    fPtCandHist[i]=0;
    fMassHist[i]=0;
    fMassHistPhi[i]=0;
    fMassHistK0st[i]=0;
    fCosPHist[i]=0;
    fDLenHist[i]=0;
    fSumd02Hist[i]=0;
    fSigVertHist[i]=0;
    fPtMaxHist[i]=0;
    fDCAHist[i]=0;
    fPtProng0Hist[i]=0;
    fPtProng1Hist[i]=0;
    fPtProng2Hist[i]=0;
    fDalitz[i]=0;
    fDalitzPhi[i]=0;
    fDalitzK0st[i]=0;
  }
  for(Int_t i=0;i<kMaxPtBins;i++){
    fMassHistKK[i]=0;
    fMassHistKpi[i]=0;
  }
  for(Int_t i=0;i<kMaxPtBins+1;i++){
    fPtLimits[i]=0;
  }

}

//________________________________________________________________________
AliAnalysisTaskSEDs::AliAnalysisTaskSEDs(const char *name,AliRDHFCutsDstoKKpi* analysiscuts,Int_t fillNtuple):
  AliAnalysisTaskSE(name),
  fOutput(0),
  fHistNEvents(0),
  fPtVsMass(0),
  fPtVsMassPhi(0),
  fPtVsMassK0st(0),
  fYVsPt(0),
  fYVsPtSig(0),
  fNtupleDs(0),
  fFillNtuple(fillNtuple),
  fReadMC(kFALSE),
  fWriteOnlySignal(kFALSE),
  fDoCutVarHistos(kTRUE),
  fUseSelectionBit(kFALSE),
  fNPtBins(0),
  fListCuts(0),
  fMassRange(0.8),
  fMassBinSize(0.002),
  fCounter(0),
  fAnalysisCuts(analysiscuts)
{
  // Default constructor
  // Output slot #1 writes into a TList container
  
  for(Int_t i=0;i<3;i++){
    fHistCentrality[i]=0;
    fHistCentralityMult[i]=0;
  }
  for(Int_t i=0;i<4;i++) {
    fChanHist[i]=0;
  }
  for(Int_t i=0;i<4*kMaxPtBins;i++){
    fPtCandHist[i]=0;
    fMassHist[i]=0;
    fMassHistPhi[i]=0;
    fMassHistK0st[i]=0;
    fCosPHist[i]=0;
    fDLenHist[i]=0;
    fSumd02Hist[i]=0;
    fSigVertHist[i]=0;
    fPtMaxHist[i]=0;
    fDCAHist[i]=0;
    fPtProng0Hist[i]=0;
    fPtProng1Hist[i]=0;
    fPtProng2Hist[i]=0;
    fDalitz[i]=0;
    fDalitzPhi[i]=0;
    fDalitzK0st[i]=0;
  }
  for(Int_t i=0;i<kMaxPtBins;i++){
    fMassHistKK[i]=0;
    fMassHistKpi[i]=0;
  }
  for(Int_t i=0;i<kMaxPtBins+1;i++){
    fPtLimits[i]=0;
  }
  
  Int_t nptbins=fAnalysisCuts->GetNPtBins();
  Float_t *ptlim=fAnalysisCuts->GetPtBinLimits();
  SetPtBins(nptbins,ptlim);

  DefineOutput(1,TList::Class());  //My private output

  DefineOutput(2,TList::Class());

  DefineOutput(3,AliNormalizationCounter::Class());
  
  if(fFillNtuple>0){
    // Output slot #4 writes into a TNtuple container
    DefineOutput(4,TNtuple::Class());  //My private output
  }
  
}

//________________________________________________________________________
void AliAnalysisTaskSEDs::SetPtBins(Int_t n, Float_t* lim){
  // define pt bins for analysis
  if(n>kMaxPtBins){
    printf("Max. number of Pt bins = %d\n",kMaxPtBins);
    fNPtBins=kMaxPtBins;
    fPtLimits[0]=0.;
    fPtLimits[1]=1.;
    fPtLimits[2]=3.;
    fPtLimits[3]=5.;
    fPtLimits[4]=10.;
    for(Int_t i=5; i<kMaxPtBins+1; i++) fPtLimits[i]=99999999.;
  }else{
    fNPtBins=n;
    for(Int_t i=0; i<fNPtBins+1; i++) fPtLimits[i]=lim[i];
    for(Int_t i=fNPtBins+1; i<kMaxPtBins+1; i++) fPtLimits[i]=99999999.;
  }
  if(fDebug > 1){
    printf("Number of Pt bins = %d\n",fNPtBins);
    for(Int_t i=0; i<fNPtBins; i++) printf(" Bin%d = %8.2f-%8.2f\n",i,fPtLimits[i],fPtLimits[i+1]);    
  }
}
//________________________________________________________________________
AliAnalysisTaskSEDs::~AliAnalysisTaskSEDs()
{
  // Destructor
  if(fOutput && !fOutput->IsOwner()){
    delete fHistNEvents;
    for(Int_t i=0;i<4;i++){
      delete fChanHist[i];
    }
    for(Int_t i=0;i<4*fNPtBins;i++){    
      delete fMassHist[i]; 
      delete fMassHistPhi[i];
      delete fMassHistK0st[i];
      delete fCosPHist[i]; 
      delete fDLenHist[i]; 
      delete fSumd02Hist[i]; 
      delete fSigVertHist[i]; 
      delete fPtMaxHist[i];
      delete fPtCandHist[i];
      delete fDCAHist[i];
      delete fPtProng0Hist[i];
      delete fPtProng1Hist[i]; 
      delete fPtProng2Hist[i];
      delete fDalitz[i];
      delete fDalitzPhi[i];
      delete fDalitzK0st[i];
    }
    for(Int_t i=0;i<fNPtBins;i++){    
      delete fMassHistKK[i];
      delete fMassHistKpi[i];
    }
    delete fPtVsMass;
    delete fPtVsMassPhi;
    delete fPtVsMassK0st;
    delete fYVsPt;
    delete fYVsPtSig;
    for(Int_t i=0;i<3;i++){
      delete fHistCentrality[i];
      delete fHistCentralityMult[i];
    }
  }
  delete fOutput;
  delete fListCuts;
  delete fNtupleDs;
  delete fCounter;
  delete fAnalysisCuts;

}  

//________________________________________________________________________
void AliAnalysisTaskSEDs::Init()
{
  // Initialization

  if(fDebug > 1) printf("AnalysisTaskSEDs::Init() \n");

  fListCuts=new TList();
  fListCuts->SetOwner();
  fListCuts->SetName("CutObjects");

  AliRDHFCutsDstoKKpi *analysis = new AliRDHFCutsDstoKKpi(*fAnalysisCuts);
  analysis->SetName("AnalysisCuts");
  
  fListCuts->Add(analysis);
  PostData(2,fListCuts);
  return;
}

//________________________________________________________________________
void AliAnalysisTaskSEDs::UserCreateOutputObjects()
{
  // Create the output container
  //
  if(fDebug > 1) printf("AnalysisTaskSEDs::UserCreateOutputObjects() \n");

  // Several histograms are more conveniently managed in a TList
  fOutput = new TList();
  fOutput->SetOwner();
  fOutput->SetName("OutputHistos");
  
  fHistNEvents = new TH1F("hNEvents", "number of events ",11,-0.5,10.5);
  fHistNEvents->GetXaxis()->SetBinLabel(1,"nEventsAnal");
  fHistNEvents->GetXaxis()->SetBinLabel(2,"n. passing IsEvSelected");
  fHistNEvents->GetXaxis()->SetBinLabel(3,"n. rejected due to trigger");
  fHistNEvents->GetXaxis()->SetBinLabel(4,"n. rejected due to not reco vertex");
  fHistNEvents->GetXaxis()->SetBinLabel(5,"n. rejected for contr vertex");
  fHistNEvents->GetXaxis()->SetBinLabel(6,"n. rejected for vertex out of accept");
  fHistNEvents->GetXaxis()->SetBinLabel(7,"n. rejected for pileup events");
  fHistNEvents->GetXaxis()->SetBinLabel(8,"no. of out centrality events");
  fHistNEvents->GetXaxis()->SetBinLabel(9,"no. of 3 prong candidates");
  fHistNEvents->GetXaxis()->SetBinLabel(10,"no. of Ds after filtering cuts");
  fHistNEvents->GetXaxis()->SetBinLabel(11,"no. of Ds after selection cuts");

  fHistNEvents->GetXaxis()->SetNdivisions(1,kFALSE);

  fHistNEvents->Sumw2();
  fHistNEvents->SetMinimum(0);
  fOutput->Add(fHistNEvents);

  fHistCentrality[0]=new TH1F("hCentr","centrality",10000,0.,100.);
  fHistCentrality[1]=new TH1F("hCentr(selectedCent)","centrality(selectedCent)",10000,0.,100.);
  fHistCentrality[2]=new TH1F("hCentr(OutofCent)","centrality(OutofCent)",10000,0.,100.);
  fHistCentralityMult[0]=new TH2F("hCentrMult","centrality vs mult",100,0.5,30000.5,40,0.,100.);
  fHistCentralityMult[1]=new TH2F("hCentrMult(selectedCent)","centrality vs mult(selectedCent)",100,0.5,30000.5,40,0.,100.);
  fHistCentralityMult[2]=new TH2F("hCentrMult(OutofCent)","centrality vs mult(OutofCent)",100,0.5,30000.5,40,0.,100.);
  for(Int_t i=0;i<3;i++){
    fHistCentrality[i]->Sumw2();
    fOutput->Add(fHistCentrality[i]);
    fHistCentralityMult[i]->Sumw2();
    fOutput->Add(fHistCentralityMult[i]);  
  }

  Double_t massDs=TDatabasePDG::Instance()->GetParticle(431)->Mass();
  
  Int_t nInvMassBins=(Int_t)(fMassRange/fMassBinSize+0.5);
  if(nInvMassBins%2==1) nInvMassBins++;
  // Double_t minMass=massDs-1.0*nInvMassBins*fMassBinSize;
  Double_t minMass=massDs-0.5*nInvMassBins*fMassBinSize;
  //  Double_t maxMass=massDs+1.0*nInvMassBins*fMassBinSize;
  Double_t maxMass=massDs+0.5*nInvMassBins*fMassBinSize;

  TString hisname;
  TString htype;
  Int_t index;
  for(Int_t iType=0; iType<4; iType++){
    for(Int_t i=0;i<fNPtBins;i++){
      if(iType==0){
	htype="All";
	index=GetHistoIndex(i);
      }else if(iType==1){ 
	htype="Sig";
	index=GetSignalHistoIndex(i);
      }else if(iType==2){ 
	htype="Bkg";
	index=GetBackgroundHistoIndex(i);
      }else{ 
	htype="ReflSig";
	index=GetReflSignalHistoIndex(i);
      }
      hisname.Form("hMass%sPt%d",htype.Data(),i);
      fMassHist[index]=new TH1F(hisname.Data(),hisname.Data(),nInvMassBins,minMass,maxMass);
      fMassHist[index]->Sumw2();
      hisname.Form("hMass%sPt%dphi",htype.Data(),i);
      fMassHistPhi[index]=new TH1F(hisname.Data(),hisname.Data(),nInvMassBins,minMass,maxMass);
      fMassHistPhi[index]->Sumw2();
      hisname.Form("hMass%sPt%dk0st",htype.Data(),i);
      fMassHistK0st[index]=new TH1F(hisname.Data(),hisname.Data(),nInvMassBins,minMass,maxMass);
      fMassHistK0st[index]->Sumw2();
      hisname.Form("hCosP%sPt%d",htype.Data(),i);
      fCosPHist[index]=new TH1F(hisname.Data(),hisname.Data(),100,0.5,1.);
      fCosPHist[index]->Sumw2();
      hisname.Form("hDLen%sPt%d",htype.Data(),i);
      fDLenHist[index]=new TH1F(hisname.Data(),hisname.Data(),100,0.,0.5);
      fDLenHist[index]->Sumw2();
      hisname.Form("hSumd02%sPt%d",htype.Data(),i);
      fSumd02Hist[index]=new TH1F(hisname.Data(),hisname.Data(),100,0.,1.);
      fSumd02Hist[index]->Sumw2();
      hisname.Form("hSigVert%sPt%d",htype.Data(),i);
      fSigVertHist[index]=new TH1F(hisname.Data(),hisname.Data(),100,0.,0.1);
      fSigVertHist[index]->Sumw2();
      hisname.Form("hPtMax%sPt%d",htype.Data(),i);
      fPtMaxHist[index]=new TH1F(hisname.Data(),hisname.Data(),100,0.5,20.);
      fPtMaxHist[index]->Sumw2();
      hisname.Form("hPtCand%sPt%d",htype.Data(),i);
      fPtCandHist[index]=new TH1F(hisname.Data(),hisname.Data(),100,0.5,20.);
      fPtCandHist[index]->Sumw2();
      hisname.Form("hDCA%sPt%d",htype.Data(),i);
      fDCAHist[index]=new TH1F(hisname.Data(),hisname.Data(),100,0.,0.1);
      fDCAHist[index]->Sumw2();
      hisname.Form("hPtProng0%sPt%d",htype.Data(),i);
      fPtProng0Hist[index]=new TH1F(hisname.Data(),hisname.Data(),100,0.0,20.);
      fPtProng0Hist[index]->Sumw2();
      hisname.Form("hPtProng1%sPt%d",htype.Data(),i);
      fPtProng1Hist[index]=new TH1F(hisname.Data(),hisname.Data(),100,0.0,20.);
      fPtProng1Hist[index]->Sumw2();
      hisname.Form("hPtProng2%sPt%d",htype.Data(),i);
      fPtProng2Hist[index]=new TH1F(hisname.Data(),hisname.Data(),100,0.0,20.);
      fPtProng2Hist[index]->Sumw2();
      hisname.Form("hDalitz%sPt%d",htype.Data(),i);
      fDalitz[index]=new TH2F(hisname.Data(),hisname.Data(),100,0.,2.,100,0.,2.);
      fDalitz[index]->Sumw2();
      hisname.Form("hDalitz%sPt%dphi",htype.Data(),i);
      fDalitzPhi[index]=new TH2F(hisname.Data(),hisname.Data(),100,0.,2.,100,0.,2.);
      fDalitzPhi[index]->Sumw2();
      hisname.Form("hDalitz%sPt%dk0st",htype.Data(),i);
      fDalitzK0st[index]=new TH2F(hisname.Data(),hisname.Data(),100,0.,2.,100,0.,2.);
      fDalitzK0st[index]->Sumw2();
    }
  }

  for(Int_t i=0; i<4*fNPtBins; i++){
    fOutput->Add(fMassHist[i]);
    fOutput->Add(fMassHistPhi[i]);
    fOutput->Add(fMassHistK0st[i]);
    fOutput->Add(fPtCandHist[i]);
    if(fDoCutVarHistos){
      fOutput->Add(fCosPHist[i]);
      fOutput->Add(fDLenHist[i]);
      fOutput->Add(fSumd02Hist[i]);
      fOutput->Add(fSigVertHist[i]);
      fOutput->Add(fPtMaxHist[i]);
      fOutput->Add(fDCAHist[i]);
      fOutput->Add(fPtProng0Hist[i]);
      fOutput->Add(fPtProng1Hist[i]);
      fOutput->Add(fPtProng2Hist[i]);
      fOutput->Add(fDalitz[i]);
      fOutput->Add(fDalitzPhi[i]);
      fOutput->Add(fDalitzK0st[i]);
    }
  }

  fChanHist[0] = new TH1F("hChanAll", "KKpi and piKK candidates",64,-0.5,63.5);
  fChanHist[1] = new TH1F("hChanSig", "KKpi and piKK candidates",64,-0.5,63.5);
  fChanHist[2] = new TH1F("hChanBkg", "KKpi and piKK candidates",64,-0.5,63.5);
  fChanHist[3] = new TH1F("hChanReflSig", "KKpi and piKK candidates",64,-0.5,63.5);
  for(Int_t i=0;i<4;i++){
    fChanHist[i]->Sumw2();
    fChanHist[i]->SetMinimum(0);
    fOutput->Add(fChanHist[i]);
  }


  fPtVsMass=new TH2F("hPtVsMass","PtVsMass (prod. cuts)",nInvMassBins,minMass,maxMass,40,0.,20.);
  fPtVsMassPhi=new TH2F("hPtVsMassPhi","PtVsMass (phi selection)",nInvMassBins,minMass,maxMass,200,0.,20.);
  fPtVsMassK0st=new TH2F("hPtVsMassK0st","PtVsMass (K0* selection)",nInvMassBins,minMass,maxMass,200,0.,20.);
  fYVsPt=new TH2F("hYVsPt","YvsPt (prod. cuts)",40,0.,20.,80,-2.,2.);
  fYVsPtSig=new TH2F("hYVsPtSig","YvsPt (MC, only sig., prod. cuts)",40,0.,20.,80,-2.,2.);

  for(Int_t i=0;i<fNPtBins;i++){
    hisname.Form("hMassKKPt%d",i);
    fMassHistKK[i]=new TH1F(hisname.Data(),hisname.Data(),200,0.95,1.35);
    fMassHistKK[i]->Sumw2();
    fOutput->Add(fMassHistKK[i]);
    hisname.Form("hMassKpiPt%d",i);
    fMassHistKpi[i]=new TH1F(hisname.Data(),hisname.Data(),200,0.7,1.1);
    fMassHistKpi[i]->Sumw2();
    fOutput->Add(fMassHistKpi[i]);
  }

  fOutput->Add(fPtVsMass);
  fOutput->Add(fPtVsMassPhi);
  fOutput->Add(fPtVsMassK0st);
  fOutput->Add(fYVsPt);
  fOutput->Add(fYVsPtSig);

  //Counter for Normalization
  fCounter = new AliNormalizationCounter("NormalizationCounter");
  fCounter->Init();

  PostData(1,fOutput); 
  PostData(3,fCounter);   
  
  if(fFillNtuple>0){
    OpenFile(4); // 4 is the slot number of the ntuple
    
    fNtupleDs = new TNtuple("fNtupleDs","Ds","labDs:retcode:pdgcode0:Pt0:Pt1:Pt2:PtRec:P0:P1:P2:PidTrackBit0:PidTrackBit1:PidTrackBit2:PointingAngle:PointingAngleXY:DecLeng:DecLengXY:NorDecLeng:NorDecLengXY:InvMassKKpi:InvMasspiKK:sigvert:d00:d01:d02:dca:d0square:InvMassPhiKKpi:InvMassPhipiKK:InvMassK0starKKpi:InvMassK0starpiKK:cosinePiDsFrameKKpi:cosinePiDsFramepiKK:cosineKPhiFrameKKpi:cosineKPhiFramepiKK:centrality:runNumber"); 
    
  }
  

  return;
}

//________________________________________________________________________
void AliAnalysisTaskSEDs::UserExec(Option_t */*option*/)
{
  // Ds selection for current event, fill mass histos and selecetion variable histo
  // separate signal and backgound if fReadMC is activated

  AliAODEvent *aod = dynamic_cast<AliAODEvent*> (InputEvent());

  TClonesArray *array3Prong = 0;
  if(!aod && AODEvent() && IsStandardAOD()) {
    // In case there is an AOD handler writing a standard AOD, use the AOD 
    // event in memory rather than the input (ESD) event.    
    aod = dynamic_cast<AliAODEvent*> (AODEvent());
    // in this case the braches in the deltaAOD (AliAOD.VertexingHF.root)
    // have to taken from the AOD event hold by the AliAODExtension
    AliAODHandler* aodHandler = (AliAODHandler*) 
      ((AliAnalysisManager::GetAnalysisManager())->GetOutputEventHandler());
    if(aodHandler->GetExtensions()) {
      AliAODExtension *ext = (AliAODExtension*)aodHandler->GetExtensions()->FindObject("AliAOD.VertexingHF.root");
      AliAODEvent *aodFromExt = ext->GetAOD();
      array3Prong=(TClonesArray*)aodFromExt->GetList()->FindObject("Charm3Prong");
    }
  } else if(aod) {
    array3Prong=(TClonesArray*)aod->GetList()->FindObject("Charm3Prong");
  }

  if(!aod || !array3Prong) {
    printf("AliAnalysisTaskSEDs::UserExec: Charm3Prong branch not found!\n");
    return;
  }


  // fix for temporary bug in ESDfilter 
  // the AODs with null vertex pointer didn't pass the PhysSel
  if(!aod->GetPrimaryVertex() || TMath::Abs(aod->GetMagneticField())<0.001) return;


  fHistNEvents->Fill(0); // count event
  // Post the data already here
  PostData(1,fOutput);
  
  fCounter->StoreEvent(aod,fAnalysisCuts,fReadMC);
  

  Bool_t isEvSel=fAnalysisCuts->IsEventSelected(aod);
  Float_t ntracks=aod->GetNumberOfTracks();
  Float_t evCentr=fAnalysisCuts->GetCentrality(aod);
  
  fHistCentrality[0]->Fill(evCentr);
  fHistCentralityMult[0]->Fill(ntracks,evCentr);
  if(fAnalysisCuts->IsEventRejectedDueToTrigger())fHistNEvents->Fill(2);
  if(fAnalysisCuts->IsEventRejectedDueToNotRecoVertex())fHistNEvents->Fill(3);
  if(fAnalysisCuts->IsEventRejectedDueToVertexContributors())fHistNEvents->Fill(4);
  if(fAnalysisCuts->IsEventRejectedDueToZVertexOutsideFiducialRegion())fHistNEvents->Fill(5);
  if(fAnalysisCuts->IsEventRejectedDueToPileup())fHistNEvents->Fill(6);
  if(fAnalysisCuts->IsEventRejectedDueToCentrality()){
    fHistNEvents->Fill(7); 
    fHistCentrality[2]->Fill(evCentr);
    fHistCentralityMult[2]->Fill(ntracks,evCentr);
  }
  
  Float_t centrality=fAnalysisCuts->GetCentrality(aod);
  Int_t runNumber=aod->GetRunNumber();

  if(!isEvSel)return;
  
  fHistNEvents->Fill(1);
  fHistCentrality[1]->Fill(evCentr);
  fHistCentralityMult[1]->Fill(ntracks,evCentr);

  TClonesArray *arrayMC=0;
  AliAODMCHeader *mcHeader=0;

  // AOD primary vertex
  AliAODVertex *vtx1 = (AliAODVertex*)aod->GetPrimaryVertex();
  //    vtx1->Print();
  
  // load MC particles
  if(fReadMC){
    
    arrayMC =  (TClonesArray*)aod->GetList()->FindObject(AliAODMCParticle::StdBranchName());
    if(!arrayMC) {
      printf("AliAnalysisTaskSEDs::UserExec: MC particles branch not found!\n");
      return;
    }
    
  // load MC header
    mcHeader =  (AliAODMCHeader*)aod->GetList()->FindObject(AliAODMCHeader::StdBranchName());
    if(!mcHeader) {
      printf("AliAnalysisTaskSEDs::UserExec: MC header branch not found!\n");
      return;
    }
  }
  
  Int_t n3Prong = array3Prong->GetEntriesFast();
  if(fDebug>1) printf("Number of Ds->KKpi: %d\n",n3Prong);
  
  
  Int_t pdgDstoKKpi[3]={321,321,211};
  Int_t nSelected=0;
  Int_t nFiltered=0;
  for (Int_t i3Prong = 0; i3Prong < n3Prong; i3Prong++) {
  
    AliAODRecoDecayHF3Prong *d = (AliAODRecoDecayHF3Prong*)array3Prong->UncheckedAt(i3Prong);
    fHistNEvents->Fill(8);
    
    if(fUseSelectionBit && !(d->HasSelectionBit(AliRDHFCuts::kDsCuts))){
      continue;
    }
    nFiltered++;
    fHistNEvents->Fill(9);

    Bool_t unsetvtx=kFALSE;
    if(!d->GetOwnPrimaryVtx()){
      d->SetOwnPrimaryVtx(vtx1);
      unsetvtx=kTRUE;
    }
    
    Bool_t recVtx=kFALSE;
    AliAODVertex *origownvtx=0x0;
   
    
    Double_t ptCand = d->Pt();
    Int_t iPtBin=TMath::BinarySearch(fNPtBins,fPtLimits,(Float_t)ptCand);
    Double_t rapid=d->YDs(); 
    fYVsPt->Fill(ptCand,rapid);
    Bool_t isFidAcc=fAnalysisCuts->IsInFiducialAcceptance(ptCand,rapid);
    if(!isFidAcc) continue;

    Int_t retCodeAnalysisCuts=fAnalysisCuts->IsSelected(d,AliRDHFCuts::kAll,aod);
   Int_t retCodeNoRes=retCodeAnalysisCuts;
    Bool_t origRes=fAnalysisCuts->IsCutOnResonancesApplied();
    if(origRes){
      fAnalysisCuts->ApplyCutOnResonances(kFALSE);
      retCodeNoRes=fAnalysisCuts->IsSelected(d,AliRDHFCuts::kAll,aod);
      fAnalysisCuts->ApplyCutOnResonances(origRes);
    }
    if(retCodeNoRes&1){ //KKpi
      Double_t massKK=d->InvMass2Prongs(0,1,321,321);
      Double_t massKp=d->InvMass2Prongs(1,2,321,211);
      fMassHistKK[iPtBin]->Fill(massKK);
      fMassHistKpi[iPtBin]->Fill(massKp);
    }
    if(retCodeNoRes&2){ //piKK
      Double_t massKK=d->InvMass2Prongs(1,2,321,321);
      Double_t massKp=d->InvMass2Prongs(0,1,211,321);
      fMassHistKK[iPtBin]->Fill(massKK);
      fMassHistKpi[iPtBin]->Fill(massKp);
    }

    if(retCodeAnalysisCuts<=0) continue;
    
    if(fAnalysisCuts->GetIsPrimaryWithoutDaughters()){
      if(d->GetOwnPrimaryVtx()) origownvtx=new AliAODVertex(*d->GetOwnPrimaryVtx());	
      if(fAnalysisCuts->RecalcOwnPrimaryVtx(d,aod))recVtx=kTRUE;
      else fAnalysisCuts->CleanOwnPrimaryVtx(d,aod,origownvtx);
    }
    
    
    fHistNEvents->Fill(10);
    nSelected++;
        
    Int_t index=GetHistoIndex(iPtBin);
    fPtCandHist[index]->Fill(ptCand);

    Int_t isKKpi=retCodeAnalysisCuts&1;
    Int_t ispiKK=retCodeAnalysisCuts&2;
    Int_t isPhiKKpi=retCodeAnalysisCuts&4;
    Int_t isPhipiKK=retCodeAnalysisCuts&8;
    Int_t isK0starKKpi=retCodeAnalysisCuts&16;    
    Int_t isK0starpiKK=retCodeAnalysisCuts&32;

    Double_t weightKKpi=1.;
    Double_t weightpiKK=1.;
    if(fAnalysisCuts->GetPidOption()==AliRDHFCutsDstoKKpi::kBayesianWeights){      
      weightKKpi=fAnalysisCuts->GetWeightForKKpi();
      weightpiKK=fAnalysisCuts->GetWeightForpiKK();
      if(weightKKpi>1. || weightKKpi<0.) weightKKpi=0.;
      if(weightpiKK>1. || weightpiKK<0.) weightpiKK=0.;
    }

    fChanHist[0]->Fill(retCodeAnalysisCuts);
 
    Int_t indexMCKKpi=-1;
    Int_t indexMCpiKK=-1;
    Int_t labDs=-1;
    Int_t pdgCode0=-999;
    Int_t isMCSignal=-1;

    if(fReadMC){
      labDs = d->MatchToMC(431,arrayMC,3,pdgDstoKKpi);
      if(labDs>=0){
	Int_t labDau0=((AliAODTrack*)d->GetDaughter(0))->GetLabel();
	AliAODMCParticle* p=(AliAODMCParticle*)arrayMC->UncheckedAt(TMath::Abs(labDau0));
	pdgCode0=TMath::Abs(p->GetPdgCode());

	if(isKKpi){
	  if(pdgCode0==321) {	  
	    indexMCKKpi=GetSignalHistoIndex(iPtBin);
	    fYVsPtSig->Fill(ptCand,rapid);
	    fChanHist[1]->Fill(retCodeAnalysisCuts);
	    isMCSignal=1;
	  }else{
	    indexMCKKpi=GetReflSignalHistoIndex(iPtBin);
	    fChanHist[3]->Fill(retCodeAnalysisCuts);
	    isMCSignal=0;
	  }
	}
	if(ispiKK){
	  if(pdgCode0==211) {	  
	    indexMCpiKK=GetSignalHistoIndex(iPtBin);
	    fYVsPtSig->Fill(ptCand,rapid);
	    fChanHist[1]->Fill(retCodeAnalysisCuts);
	    isMCSignal=1;
	  }else{
	    indexMCpiKK=GetReflSignalHistoIndex(iPtBin);
	    fChanHist[3]->Fill(retCodeAnalysisCuts);
	    isMCSignal=0;
	  }
	}
      }else{
	indexMCpiKK=GetBackgroundHistoIndex(iPtBin);
	indexMCKKpi=GetBackgroundHistoIndex(iPtBin);
	fChanHist[2]->Fill(retCodeAnalysisCuts);
      }
    }

    if(isKKpi){
      Double_t invMass=d->InvMassDsKKpi();
      fMassHist[index]->Fill(invMass,weightKKpi);
      fPtVsMass->Fill(invMass,ptCand,weightKKpi);
      if(isPhiKKpi){
	fMassHistPhi[index]->Fill(invMass,weightKKpi); 
	fPtVsMassPhi->Fill(invMass,ptCand,weightKKpi);
      }
      if(isK0starKKpi){
	fMassHistK0st[index]->Fill(invMass,weightKKpi);
	fPtVsMassK0st->Fill(invMass,ptCand,weightKKpi);
      }
      if(fReadMC  && indexMCKKpi!=-1){
	fMassHist[indexMCKKpi]->Fill(invMass,weightKKpi);
	if(isPhiKKpi) fMassHistPhi[indexMCKKpi]->Fill(invMass,weightKKpi);
	if(isK0starKKpi) fMassHistK0st[indexMCKKpi]->Fill(invMass,weightKKpi);	  
      }
    }
    if(ispiKK){
      Double_t invMass=d->InvMassDspiKK();
      fMassHist[index]->Fill(invMass,weightpiKK);
      fPtVsMass->Fill(invMass,ptCand,weightpiKK);
      if(isPhipiKK){ 
	fMassHistPhi[index]->Fill(invMass,weightpiKK);
	fPtVsMassPhi->Fill(invMass,ptCand,weightpiKK);
      }
      if(isK0starpiKK){
	fMassHistK0st[index]->Fill(invMass,weightpiKK);
	fPtVsMassK0st->Fill(invMass,ptCand,weightpiKK);
      }
      if(fReadMC  && indexMCpiKK!=-1){
	fMassHist[indexMCpiKK]->Fill(invMass,weightpiKK);
	if(isPhipiKK) fMassHistPhi[indexMCpiKK]->Fill(invMass,weightpiKK);
	if(isK0starpiKK) fMassHistK0st[indexMCpiKK]->Fill(invMass,weightpiKK);      
      }
    }

    if(fDoCutVarHistos){
      Double_t dlen=d->DecayLength();
      Double_t cosp=d->CosPointingAngle();
      Double_t pt0=d->PtProng(0);
      Double_t pt1=d->PtProng(1);
      Double_t pt2=d->PtProng(2);
      Double_t sigvert=d->GetSigmaVert();
      Double_t sumD02=d->Getd0Prong(0)*d->Getd0Prong(0)+d->Getd0Prong(1)*d->Getd0Prong(1)+d->Getd0Prong(2)*d->Getd0Prong(2);
      Double_t dca=d->GetDCA();      
      Double_t ptmax=0;
      for(Int_t i=0;i<3;i++){
	if(d->PtProng(i)>ptmax)ptmax=d->PtProng(i);
      }
      fCosPHist[index]->Fill(cosp);
      fDLenHist[index]->Fill(dlen);
      fSigVertHist[index]->Fill(sigvert);
      fSumd02Hist[index]->Fill(sumD02);
      fPtMaxHist[index]->Fill(ptmax);
      fDCAHist[index]->Fill(dca);
      fPtProng0Hist[index]->Fill(pt0);
      fPtProng1Hist[index]->Fill(pt1);
      fPtProng2Hist[index]->Fill(pt2);
      if(isKKpi){
	Double_t massKK=d->InvMass2Prongs(0,1,321,321);
	Double_t massKp=d->InvMass2Prongs(1,2,321,211);
	fDalitz[index]->Fill(massKK,massKp);
	if(isPhiKKpi) fDalitzPhi[index]->Fill(massKK,massKp);
	if(isK0starKKpi) fDalitzK0st[index]->Fill(massKK,massKp);
	if(fReadMC && indexMCKKpi!=-1){
	  fDalitz[indexMCKKpi]->Fill(massKK,massKp);
	  if(isPhiKKpi) fDalitzPhi[indexMCKKpi]->Fill(massKK,massKp);
	  if(isK0starKKpi) fDalitzK0st[indexMCKKpi]->Fill(massKK,massKp);
	  fCosPHist[indexMCKKpi]->Fill(cosp);
	  fDLenHist[indexMCKKpi]->Fill(dlen);
	  fSigVertHist[indexMCKKpi]->Fill(sigvert);
	  fSumd02Hist[indexMCKKpi]->Fill(sumD02);
	  fPtMaxHist[indexMCKKpi]->Fill(ptmax);
	  fPtCandHist[indexMCKKpi]->Fill(ptCand);
	  fDCAHist[indexMCKKpi]->Fill(dca);
	  fPtProng0Hist[indexMCKKpi]->Fill(pt0);
	  fPtProng1Hist[indexMCKKpi]->Fill(pt1);
	  fPtProng2Hist[indexMCKKpi]->Fill(pt2);
	}	
      }
      if(ispiKK){
	Double_t massKK=d->InvMass2Prongs(1,2,321,321);
	Double_t massKp=d->InvMass2Prongs(0,1,211,321);
	fDalitz[index]->Fill(massKK,massKp);
	if(isPhipiKK) fDalitzPhi[index]->Fill(massKK,massKp);
	if(isK0starpiKK) fDalitzK0st[index]->Fill(massKK,massKp);

	
	if(fReadMC && indexMCpiKK!=-1){
	  fDalitz[indexMCpiKK]->Fill(massKK,massKp);
	  if(isPhipiKK) fDalitzPhi[indexMCpiKK]->Fill(massKK,massKp);
	  if(isK0starpiKK) fDalitzK0st[indexMCpiKK]->Fill(massKK,massKp);
	  fCosPHist[indexMCpiKK]->Fill(cosp);
	  fDLenHist[indexMCpiKK]->Fill(dlen);
	  fSigVertHist[indexMCpiKK]->Fill(sigvert);
	  fSumd02Hist[indexMCpiKK]->Fill(sumD02);
	  fPtMaxHist[indexMCpiKK]->Fill(ptmax);
	  fPtCandHist[indexMCpiKK]->Fill(ptCand);
	  fDCAHist[indexMCpiKK]->Fill(dca);
	  fPtProng0Hist[indexMCpiKK]->Fill(pt0);
	  fPtProng1Hist[indexMCpiKK]->Fill(pt1);
	  fPtProng2Hist[indexMCpiKK]->Fill(pt2);
	}
      }
     
   
    }
    
    Float_t tmp[37];
    if(fFillNtuple>0){
      
      if ((fFillNtuple==1 && (isPhiKKpi || isPhipiKK)) || (fFillNtuple==2 && (isK0starKKpi || isK0starpiKK)) || (fFillNtuple==3 && (isKKpi || ispiKK))){
	
        AliAODTrack *track0=(AliAODTrack*)d->GetDaughter(0);
        AliAODTrack *track1=(AliAODTrack*)d->GetDaughter(1);
        AliAODTrack *track2=(AliAODTrack*)d->GetDaughter(2);
    
        UInt_t BitMapPIDTrack0=fAnalysisCuts->GetPIDTrackTPCTOFBitMap(track0);
        UInt_t BitMapPIDTrack1=fAnalysisCuts->GetPIDTrackTPCTOFBitMap(track1);
        UInt_t BitMapPIDTrack2=fAnalysisCuts->GetPIDTrackTPCTOFBitMap(track2);
   
	    tmp[0]=Float_t(labDs);
	    if(fReadMC && fWriteOnlySignal) tmp[0]=Float_t(isMCSignal);
	    tmp[1]=Float_t(retCodeAnalysisCuts);
	    tmp[2]=Float_t(pdgCode0);  
	    tmp[3]=d->PtProng(0);
	    tmp[4]=d->PtProng(1);
	    tmp[5]=d->PtProng(2);
	    tmp[6]=d->Pt();
	    tmp[7]=d->PProng(0);
	    tmp[8]=d->PProng(1);
	    tmp[9]=d->PProng(2);
	    tmp[10]=Int_t(BitMapPIDTrack0);
	    tmp[11]=Int_t(BitMapPIDTrack1);
	    tmp[12]=Int_t(BitMapPIDTrack2);
	    tmp[13]=d->CosPointingAngle();
	    tmp[14]=d->CosPointingAngleXY();
	    tmp[15]=d->DecayLength();
	    tmp[16]=d->DecayLengthXY();
	    tmp[17]=d->NormalizedDecayLength();
	    tmp[18]=d->NormalizedDecayLengthXY();
	    tmp[19]=d->InvMassDsKKpi();
	    tmp[20]=d->InvMassDspiKK();
	    tmp[21]=d->GetSigmaVert();
	    tmp[22]=d->Getd0Prong(0);
	    tmp[23]=d->Getd0Prong(1);
	    tmp[24]=d->Getd0Prong(2);
	    tmp[25]=d->GetDCA();
	    tmp[26]=d->Getd0Prong(0)*d->Getd0Prong(0)+d->Getd0Prong(1)*d->Getd0Prong(1)+d->Getd0Prong(2)*d->Getd0Prong(2);
	    tmp[27]=d->InvMass2Prongs(0,1,321,321);
	    tmp[28]=d->InvMass2Prongs(1,2,321,321);
	    tmp[29]=d->InvMass2Prongs(1,2,321,211);
	    tmp[30]=d->InvMass2Prongs(0,1,211,321);
	    tmp[31]=d->CosPiDsLabFrameKKpi();	   
	    tmp[32]=d->CosPiDsLabFramepiKK();	
	    tmp[33]=d->CosPiKPhiRFrameKKpi();	   
	    tmp[34]=d->CosPiKPhiRFramepiKK();	
	    tmp[35]=(Float_t)(centrality);
	    tmp[36]=(Float_t)(runNumber);	
	
	    if(fReadMC && fWriteOnlySignal){
	      if(isMCSignal>=0) fNtupleDs->Fill(tmp);
	    }else{
	      fNtupleDs->Fill(tmp);
	    }
	    PostData(4,fNtupleDs);
      }
    }
    
    if(unsetvtx) d->UnsetOwnPrimaryVtx();
    if(recVtx)fAnalysisCuts->CleanOwnPrimaryVtx(d,aod,origownvtx);
  }
   
  fCounter->StoreCandidates(aod,nFiltered,kTRUE);
  fCounter->StoreCandidates(aod,nSelected,kFALSE);

  PostData(1,fOutput); 
  PostData(3,fCounter);    

  return;
}

//_________________________________________________________________

void AliAnalysisTaskSEDs::Terminate(Option_t */*option*/)
{
  // Terminate analysis
  //
  if(fDebug > 1) printf("AnalysisTaskSEDs: Terminate() \n");
  fOutput = dynamic_cast<TList*> (GetOutputData(1));
  if (!fOutput) {     
    printf("ERROR: fOutput not available\n");
    return;
  }
  fHistNEvents = dynamic_cast<TH1F*>(fOutput->FindObject("hNEvents"));
  if(fHistNEvents){
    printf("Number of analyzed events = %d\n",(Int_t)fHistNEvents->GetBinContent(2));
  }else{
    printf("ERROR: fHistNEvents not available\n");
    return;
  }
  return;
}

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