ROOT logo
/**************************************************************************
 * Contributors are not mentioned at all.                                 *
 *                                                                        *
 * 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 noticxse 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.                  *
 **************************************************************************/
//-----------------------------------------------------------------
//                 AliAnalysisTaskNucleiv2SP class
//-----------------------------------------------------------------

class TTree;
class TParticle;
class TVector3;

#include "AliAnalysisManager.h"
#include <AliMCEventHandler.h>
#include <AliMCEvent.h>
#include <AliStack.h>

class AliESDVertex;
class AliAODVertex;
class AliESDv0;
class AliAODv0; 

#include <iostream>

#include "TList.h"
#include "TH1.h"
#include "TH2.h"
#include "TH3.h"
#include "TNtuple.h"
#include "TGraph.h"
#include "TF1.h"
#include "TCanvas.h"
#include "TMath.h"
#include "TChain.h"
#include "Riostream.h"
#include "AliLog.h"
#include "AliCascadeVertexer.h"
#include "AliESDEvent.h"
#include "AliESDtrack.h"
#include "AliExternalTrackParam.h"
#include "AliAODEvent.h"
#include "AliInputEventHandler.h"
#include "AliESDcascade.h"
#include "AliAODcascade.h"
#include "AliAnalysisTaskNucleiv2SP.h"
#include "AliESDtrackCuts.h"
#include "AliCentrality.h"


ClassImp(AliAnalysisTaskNucleiv2SP)

using std::cout;
using std::endl;
    
//________________________________________________________________________
AliAnalysisTaskNucleiv2SP::AliAnalysisTaskNucleiv2SP() 
: AliAnalysisTaskSE(), 
  fisPrimCut(kFALSE),
  fptc(1),     
  fListHist(0), 
  fHistEventMultiplicity(0), 
  fHistTrackMultiplicity(0),
  fHistTrackMultiplicityCentral(0),    
  fHistTrackMultiplicitySemiCentral(0),
  fHistTrackMultiplicityMB(0),
  fhBB(0),
  fhBBDeu(0),
  fhTOF(0),
  fhMassTOF(0),
  EPVzAvsCentrality(0), 
  EPVzCvsCentrality(0), 
  EPTPCvsCentrality(0), 
  EPVzvsCentrality(0), 
  EPTPCpvsCentrality(0), 
  EPTPCnvsCentrality(0), 
  hEvPlaneTPCvsEvPVz05(0),                      
  hEvPlaneTPCvsEvPVz075(0), 
  hEvPlaneTPCvsEvPVz1530(0),
  hEvPlaneTPCvsEvPVz3050(0),                      
  hEvPlaneTPCvsEvPVz2040(0),                      
  hEvPlaneTPCvsEvPVz4060(0),       
  hCos2DeltaTPCVzAvsCentrality(0),
  hCos2DeltaTPCVzCvsCentrality(0),
  hCos2DeltaVzAVzCvsCentrality(0),
  hCos2DeltaVzMVzAvsCentrality(0),
  hCos2DeltaVzMVzCvsCentrality(0),
  hCos2DeltaVzATPCvsCentrality(0),
  hCos2DeltaVzCTPCvsCentrality(0),
  hCos2DeltaVzCVzAvsCentrality(0),
  hCos2DeltaVzMTPCpvsCentrality(0),
  hCos2DeltaVzMTPCnvsCentrality(0),
  hCos2DeltaTPCpTPCnvsCentrality(0),
  hQVzAQVzCvsCentrality(0),
  hQxVzAvsCentrality(0),
  hQyVzAvsCentrality(0),
  hQxVzCvsCentrality(0),
  hQyVzCvsCentrality(0),
  hQxVzMvsCentrality(0),
  hQyVzMvsCentrality(0),
  ftree(0),           
  tCentrality(0),     
  tType(0),  
  tHasTOF(0),    
  tpT(0),  
  tMassTOF(0),
  tuqV0A(0),
  tuqV0C(0),
  tCharge(0),
  tCosdeltaphiTPC(0),
  tCosdeltaphiV0M(0),
  tCosdeltaphiV0A(0),
  tCosdeltaphiV0C(0),
  timpactXY(0),
  timpactZ(0),
  tpull(0),
  tphi(0),
  fESDtrackCuts(0),
  fESDtrackCutsEP(0),
  fPIDResponse(0)
{
  // Dummy Constructor 
  fESDtrackCuts   = new AliESDtrackCuts("AliESDtrackCuts","AliESDtrackCuts");
  fESDtrackCutsEP = new AliESDtrackCuts("AliESDtrackCutsEP","AliESDtrackCutsEP");
  Initialize();
  cout<<"Dummy constructor"<<endl;
}

//________________________________________________________________________
AliAnalysisTaskNucleiv2SP::AliAnalysisTaskNucleiv2SP(const char *name) 
: AliAnalysisTaskSE(name), 
  fisPrimCut(kFALSE),
  fptc(1),     
  fListHist(0), 
  fHistEventMultiplicity(0), 
  fHistTrackMultiplicity(0),
  fHistTrackMultiplicityCentral(0),    
  fHistTrackMultiplicitySemiCentral(0),
  fHistTrackMultiplicityMB(0),
  fhBB(0),
  fhBBDeu(0),
  fhTOF(0),
  fhMassTOF(0),
  EPVzAvsCentrality(0), 
  EPVzCvsCentrality(0), 
  EPTPCvsCentrality(0), 
  EPVzvsCentrality(0), 
  EPTPCpvsCentrality(0), 
  EPTPCnvsCentrality(0), 
  hEvPlaneTPCvsEvPVz05(0),                      
  hEvPlaneTPCvsEvPVz075(0), 
  hEvPlaneTPCvsEvPVz1530(0),
  hEvPlaneTPCvsEvPVz3050(0),                      
  hEvPlaneTPCvsEvPVz2040(0),                      
  hEvPlaneTPCvsEvPVz4060(0),       
  hCos2DeltaTPCVzAvsCentrality(0),
  hCos2DeltaTPCVzCvsCentrality(0),
  hCos2DeltaVzAVzCvsCentrality(0),
  hCos2DeltaVzMVzAvsCentrality(0),
  hCos2DeltaVzMVzCvsCentrality(0),
  hCos2DeltaVzATPCvsCentrality(0),
  hCos2DeltaVzCTPCvsCentrality(0),
  hCos2DeltaVzCVzAvsCentrality(0),
  hCos2DeltaVzMTPCpvsCentrality(0),
  hCos2DeltaVzMTPCnvsCentrality(0),
  hCos2DeltaTPCpTPCnvsCentrality(0),
  hQVzAQVzCvsCentrality(0),
  hQxVzAvsCentrality(0),
  hQyVzAvsCentrality(0),
  hQxVzCvsCentrality(0),
  hQyVzCvsCentrality(0),
  hQxVzMvsCentrality(0),
  hQyVzMvsCentrality(0),
  ftree(0),           
  tCentrality(0),     
  tType(0),  
  tHasTOF(0),    
  tpT(0),  
  tMassTOF(0),
  tuqV0A(0),
  tuqV0C(0),
  tCharge(0),
  tCosdeltaphiTPC(0),
  tCosdeltaphiV0M(0),
  tCosdeltaphiV0A(0),
  tCosdeltaphiV0C(0),
  timpactXY(0),
  timpactZ(0),
  tpull(0),
  tphi(0),
  fESDtrackCuts(0),
  fESDtrackCutsEP(0),
  fPIDResponse(0)
{
  // Define input and output slots here
  // Input slot #0 works with a TChain
  //DefineInput(0, TChain::Class());
  // Output slot #0 writes into a TList container ()

  //
  // create track cuts
  //
  fESDtrackCuts   = new AliESDtrackCuts("AliESDtrackCuts","AliESDtrackCuts");
  fESDtrackCutsEP = new AliESDtrackCuts("AliESDtrackCutsEP","AliESDtrackCutsEP");
  //
  cout<<"Real constructor"<<endl;
  Initialize();

  DefineInput(0, TChain::Class());
  DefineOutput(1, TList::Class());
  DefineOutput(2, TTree::Class());
  
}

void AliAnalysisTaskNucleiv2SP::Initialize()
{
  //
  // updating parameters in case of changes
  //
  fESDtrackCuts = AliESDtrackCuts::GetStandardITSTPCTrackCuts2011(fisPrimCut,kTRUE);
  fESDtrackCuts->SetMaxDCAToVertexXY(3);
  fESDtrackCuts->SetMaxDCAToVertexZ(2);
  fESDtrackCuts->SetEtaRange(-0.8,0.8);
  
  fESDtrackCutsEP = AliESDtrackCuts::GetStandardTPCOnlyTrackCuts(); 

}

//________________________________________________________________________
Float_t AliAnalysisTaskNucleiv2SP::GetEventPlaneForCandidate(AliESDtrack* track0, const TVector2* q,AliEventplane *pl){
  
  // remove autocorrelations 
  
  TArrayF* qx = 0x0;
  TArrayF* qy = 0x0;
  TVector2 qcopy; 
  // if(!fEtaGap){
  qx = pl->GetQContributionXArray();
  qy = pl->GetQContributionYArray();
  qcopy = *q;
  
  TVector2 q0;
  if((track0->GetID()) < qx->fN){
    q0.Set(qx->At(track0->GetID()),qy->At(track0->GetID()));
  }
  
  qcopy = qcopy - q0;
  
  return qcopy.Phi()/2.;
  
}
//________________________________________________________________________
Float_t AliAnalysisTaskNucleiv2SP::GetPhi0Pi(Float_t phi){
  // Sets the phi angle in the range 0-pi
  Float_t result=phi;
  while(result<0){
    result=result+TMath::Pi();
  }
  while(result>TMath::Pi()){
    result=result-TMath::Pi();
  }
   return result;
}

//==================DEFINITION OF OUTPUT OBJECTS==============================

void AliAnalysisTaskNucleiv2SP::UserCreateOutputObjects()
{
  //-------------------------------------------------------
  fListHist = new TList();
  fListHist->SetOwner();  // IMPORTANT!
  
  if(! fHistEventMultiplicity ){

    fHistEventMultiplicity   = new TH1F( "fHistEventMultiplicity" , "Nb of Events" , 12 , -0.5,11.5);

    fHistEventMultiplicity->GetXaxis()->SetBinLabel(1,"All Events");
    fHistEventMultiplicity->GetXaxis()->SetBinLabel(2,"Events w/PV");
    fHistEventMultiplicity->GetXaxis()->SetBinLabel(3,"Events w/|Vz|<10cm");
    fHistEventMultiplicity->GetXaxis()->SetBinLabel(4,"Central Events");
    fHistEventMultiplicity->GetXaxis()->SetBinLabel(5,"Semi-Central Events");
    fHistEventMultiplicity->GetXaxis()->SetBinLabel(6,"MB Events");
    //from HF
    fHistEventMultiplicity->GetXaxis()->SetBinLabel(7,"nEventsAnal");
    fHistEventMultiplicity->GetXaxis()->SetBinLabel(8,"nEvSelected");
    fHistEventMultiplicity->GetXaxis()->SetBinLabel(9,"nCandidatesSelected");
    fHistEventMultiplicity->GetXaxis()->SetBinLabel(10,"out of pt bounds");
    fHistEventMultiplicity->GetXaxis()->SetBinLabel(11,"mismatch lab");
    fHistEventMultiplicity->GetXaxis()->SetBinLabel(12,"non valid TPC EP");
    fListHist->Add(fHistEventMultiplicity);
  }

  if(! fHistTrackMultiplicity ){
    fHistTrackMultiplicity  = new TH2F( "fHistTrackMultiplicity", "Nb of Tracks MB Events |Vz| < 10", 250,0, 25000,105,-0.5,104.5);
    fHistTrackMultiplicity->GetXaxis()->SetTitle("Number of tracks");
    fHistTrackMultiplicity->GetYaxis()->SetTitle("Percentile");
    fListHist->Add(fHistTrackMultiplicity);
  } 

  if(! fHistTrackMultiplicityCentral ){
    fHistTrackMultiplicityCentral  = new TH2F( "fHistTrackMultiplicityCentral", "Nb of Tracks MB Events |Vz| < 10", 250,0, 25000,105,-0.5,104.5);
    fHistTrackMultiplicityCentral->GetXaxis()->SetTitle("Number of tracks");
    fHistTrackMultiplicityCentral->GetYaxis()->SetTitle("Percentile");
    fListHist->Add(fHistTrackMultiplicityCentral);
  } 
  if(! fHistTrackMultiplicitySemiCentral ){
    fHistTrackMultiplicitySemiCentral  = new TH2F( "fHistTrackMultiplicitySemiCentral", "Nb of Tracks MB Events |Vz| < 10", 250,0, 25000,105,-0.5,104.5);
    fHistTrackMultiplicitySemiCentral->GetXaxis()->SetTitle("Number of tracks");
    fHistTrackMultiplicitySemiCentral->GetYaxis()->SetTitle("Percentile");
    fListHist->Add(fHistTrackMultiplicitySemiCentral);
  } 
  if(! fHistTrackMultiplicityMB ){
    fHistTrackMultiplicityMB  = new TH2F( "fHistTrackMultiplicityMB", "Nb of Tracks MB Events |Vz| < 10", 250,0, 25000,105,-0.5,104.5);
    fHistTrackMultiplicityMB->GetXaxis()->SetTitle("Number of tracks");
    fHistTrackMultiplicityMB->GetYaxis()->SetTitle("Percentile");
    fListHist->Add(fHistTrackMultiplicityMB);
  } 
 
  if(! fhBB ){
    fhBB = new TH2F( "fhBB" , "BetheBlochTPC" , 240,-10,10,250,0,1000);
    fListHist->Add(fhBB);
  }
  
  if(! fhBBDeu ){
    fhBBDeu = new TH2F( "fhBBDeu" , "BetheBlochTPC - Deuteron" , 240,-10,10,250,0,1000);
    fListHist->Add(fhBBDeu);
  }
 
  if(! fhTOF ){
    fhTOF = new TH2F( "fhTOF" , "Scatter Plot TOF" , 240,-10,10,500,0,1.2);
    fListHist->Add(fhTOF);
  }
  if(! fhMassTOF){
    fhMassTOF=new TH1F ("fhMassTOF","Particle Mass - TOF", 100,0 ,10);
    fListHist->Add(fhMassTOF);
  }
  
  EPVzAvsCentrality  = new TH2D("EPVzAvsCentrality" , "EPVzAvsCentrality" , 80, -2, 2,105,-0.5,105.5);
  EPVzCvsCentrality  = new TH2D("EPVzCvsCentrality" , "EPVzCvsCentrality" , 80, -2, 2,105,-0.5,105.5);
  EPTPCvsCentrality  = new TH2D("EPTPCvsCentrality" , "EPTPCvsCentrality" , 80, -2, 2,105,-0.5,105.5);
  EPVzvsCentrality   = new TH2D("EPVzvsCentrality"  , "EPVzvsCentrality"  , 80, -2, 2,105,-0.5,105.5);
  EPTPCpvsCentrality = new TH2D("EPTPCpvsCentrality", "EPTPCpvsCentrality", 80, -2, 2,105,-0.5,105.5);
  EPTPCnvsCentrality = new TH2D("EPTPCnvsCentrality", "EPTPCnvsCentrality", 80, -2, 2,105,-0.5,105.5);

  fListHist->Add(EPVzAvsCentrality);
  fListHist->Add(EPVzCvsCentrality);
  fListHist->Add(EPTPCvsCentrality);
  fListHist->Add(EPVzvsCentrality);
  fListHist->Add(EPTPCpvsCentrality);
  fListHist->Add(EPTPCnvsCentrality);
  
  hEvPlaneTPCvsEvPVz05   = new TH2F("hEvPlaneTPCvsEvPVz05"  ,"hEvPlaneTPCvsEvPVz05"  ,100,-TMath::Pi(),TMath::Pi(),100,-TMath::Pi(),TMath::Pi());                      
  hEvPlaneTPCvsEvPVz075  = new TH2F("hEvPlaneTPCvsEvPVz075" ,"hEvPlaneTPCvsEvPVz075" ,100,-TMath::Pi(),TMath::Pi(),100,-TMath::Pi(),TMath::Pi()); 
  hEvPlaneTPCvsEvPVz1530 = new TH2F("hEvPlaneTPCvsEvPVz1530","hEvPlaneTPCvsEvPVz1530",100,-TMath::Pi(),TMath::Pi(),100,-TMath::Pi(),TMath::Pi());
  hEvPlaneTPCvsEvPVz3050 = new TH2F("hEvPlaneTPCvsEvPVz3050","hEvPlaneTPCvsEvPVz3050",100,-TMath::Pi(),TMath::Pi(),100,-TMath::Pi(),TMath::Pi());                      
  hEvPlaneTPCvsEvPVz2040 = new TH2F("hEvPlaneTPCvsEvPVz2040","hEvPlaneTPCvsEvPVz2040",100,-TMath::Pi(),TMath::Pi(),100,-TMath::Pi(),TMath::Pi());                      
  hEvPlaneTPCvsEvPVz4060 = new TH2F("hEvPlaneTPCvsEvPVz4060","hEvPlaneTPCvsEvPVz4060",100,-TMath::Pi(),TMath::Pi(),100,-TMath::Pi(),TMath::Pi());   
  
  fListHist->Add(hEvPlaneTPCvsEvPVz05);                      
  fListHist->Add(hEvPlaneTPCvsEvPVz075); 
  fListHist->Add(hEvPlaneTPCvsEvPVz1530);
  fListHist->Add(hEvPlaneTPCvsEvPVz3050);                      
  fListHist->Add(hEvPlaneTPCvsEvPVz2040);                      
  fListHist->Add(hEvPlaneTPCvsEvPVz4060);   

  hCos2DeltaTPCVzAvsCentrality   = new TH2F("hCos2DeltaTPCVzAvsCentrality"  ,"hCos2DeltaTPCVzAvsCentrality"  ,100,-1.1,1.1,105,-0.5,105.5);
  hCos2DeltaTPCVzCvsCentrality   = new TH2F("hCos2DeltaTPCVzCvsCentrality"  ,"hCos2DeltaTPCVzCvsCentrality"  ,100,-1.1,1.1,105,-0.5,105.5);
  hCos2DeltaVzAVzCvsCentrality   = new TH2F("hCos2DeltaVzAVzCvsCentrality"  ,"hCos2DeltaVzAVzCvsCentrality"  ,100,-1.1,1.1,105,-0.5,105.5);
  hCos2DeltaVzMVzAvsCentrality   = new TH2F("hCos2DeltaVzMVzAvsCentrality"  ,"hCos2DeltaVzMVzAvsCentrality"  ,100,-1.1,1.1,105,-0.5,105.5);
  hCos2DeltaVzMVzCvsCentrality   = new TH2F("hCos2DeltaVzMVzCvsCentrality"  ,"hCos2DeltaVzMVzCvsCentrality"  ,100,-1.1,1.1,105,-0.5,105.5);
  hCos2DeltaVzATPCvsCentrality   = new TH2F("hCos2DeltaVzATPCvsCentrality"  ,"hCos2DeltaVzATPCvsCentrality"  ,100,-1.1,1.1,105,-0.5,105.5);
  hCos2DeltaVzCTPCvsCentrality   = new TH2F("hCos2DeltaVzCTPCvsCentrality"  ,"hCos2DeltaVzCTPCvsCentrality"  ,100,-1.1,1.1,105,-0.5,105.5);
  hCos2DeltaVzCVzAvsCentrality   = new TH2F("hCos2DeltaVzCVzAvsCentrality"  ,"hCos2DeltaVzCVzAvsCentrality"  ,100,-1.1,1.1,105,-0.5,105.5);
  hCos2DeltaVzMTPCpvsCentrality  = new TH2F("hCos2DeltaVzMTPCpvsCentrality" ,"hCos2DeltaVzMTPCpvsCentrality" ,100,-1.1,1.1,105,-0.5,105.5);
  hCos2DeltaVzMTPCnvsCentrality  = new TH2F("hCos2DeltaVzMTPCnvsCentrality" ,"hCos2DeltaVzMTPCnvsCentrality" ,100,-1.1,1.1,105,-0.5,105.5);
  hCos2DeltaTPCpTPCnvsCentrality = new TH2F("hCos2DeltaTPCpTPCnvsCentrality","hCos2DeltaTPCpTPCnvsCentrality",100,-1.1,1.1,105,-0.5,105.5);

  fListHist->Add(hCos2DeltaTPCVzAvsCentrality);
  fListHist->Add(hCos2DeltaTPCVzCvsCentrality);
  fListHist->Add(hCos2DeltaVzAVzCvsCentrality);
  fListHist->Add(hCos2DeltaVzMVzAvsCentrality);
  fListHist->Add(hCos2DeltaVzMVzCvsCentrality);
  fListHist->Add(hCos2DeltaVzATPCvsCentrality);
  fListHist->Add(hCos2DeltaVzCTPCvsCentrality);
  fListHist->Add(hCos2DeltaVzCVzAvsCentrality);
  fListHist->Add(hCos2DeltaVzMTPCpvsCentrality);  
  fListHist->Add(hCos2DeltaVzMTPCnvsCentrality); 
  fListHist->Add(hCos2DeltaTPCpTPCnvsCentrality);

 
  hQVzAQVzCvsCentrality = new TH2F("hQVzAQVzCvsCentrality","hQVzAQVzCvsCentrality",1000,-5,5,105,-0.5,105.5);
  fListHist->Add(hQVzAQVzCvsCentrality);
 
  hQxVzAvsCentrality = new TH2F("hQxVzAvsCentrality","hQxVzAvsCentrality",100,-5,5,105,-0.5,105.5);
  hQyVzAvsCentrality = new TH2F("hQyVzAvsCentrality","hQyVzAvsCentrality",100,-5,5,105,-0.5,105.5);
  hQxVzCvsCentrality = new TH2F("hQxVzCvsCentrality","hQxVzCvsCentrality",100,-5,5,105,-0.5,105.5);
  hQyVzCvsCentrality = new TH2F("hQyVzCvsCentrality","hQyVzCvsCentrality",100,-5,5,105,-0.5,105.5);
  hQxVzMvsCentrality = new TH2F("hQxVzMvsCentrality","hQxVzMvsCentrality",100,-5,5,105,-0.5,105.5);
  hQyVzMvsCentrality = new TH2F("hQyVzMvsCentrality","hQyVzMvsCentrality",100,-5,5,105,-0.5,105.5);

  fListHist->Add(hQxVzAvsCentrality);
  fListHist->Add(hQyVzAvsCentrality);
  fListHist->Add(hQxVzCvsCentrality);
  fListHist->Add(hQyVzCvsCentrality);
  fListHist->Add(hQxVzMvsCentrality);
  fListHist->Add(hQyVzMvsCentrality);

  if(!ftree){
   
    ftree = new TTree("ftree","ftree");
 
    ftree->Branch("tCentrality"      ,&tCentrality      ,"tCentrality/D"    );
    ftree->Branch("tType"            ,&tType            ,"tType/D"          );
    ftree->Branch("tHasTOF"          ,&tHasTOF          ,"tHasTOF/D"        );
    ftree->Branch("tpT"              ,&tpT              ,"tpT/D"            );
    ftree->Branch("tMassTOF"         ,&tMassTOF         ,"tMassTOF/D"       );
    ftree->Branch("tuqV0A"           ,&tuqV0A           ,"tuqV0A/D"         );
    ftree->Branch("tuqV0C"           ,&tuqV0C           ,"tuqV0C/D"         );
    ftree->Branch("tCharge"          ,&tCharge          ,"tCharge/D"        );
    ftree->Branch("tCosdeltaphiTPC"  ,&tCosdeltaphiTPC  ,"tCosdeltaphiTPC/D");
    ftree->Branch("tCosdeltaphiV0M"  ,&tCosdeltaphiV0M  ,"tCosdeltaphiV0M/D");
    ftree->Branch("tCosdeltaphiV0A"  ,&tCosdeltaphiV0A  ,"tCosdeltaphiV0A/D");
    ftree->Branch("tCosdeltaphiV0C"  ,&tCosdeltaphiV0C  ,"tCosdeltaphiV0C/D");
    ftree->Branch("timpactXY"        ,&timpactXY        ,"timpactXY/D"      );
    ftree->Branch("timpactZ"         ,&timpactZ         ,"timpactZ/D"       );
    ftree->Branch("tpull"            ,&tpull            ,"tpull/D"          );
    ftree->Branch("tphi"             ,&tphi             ,"tphi/D"          );

  }

  PostData(1,  fListHist);
  PostData(2,  ftree);
}// end UserCreateOutputObjects


//====================== USER EXEC ========================

void AliAnalysisTaskNucleiv2SP::UserExec(Option_t *) 
{
  // Main loop
  // Called for EACH event
  //  cout<<"AliAnalysisTaskNucleiv2SP Starting UserExec"<<endl;

  Info("AliAnalysisTaskNucleiv2SP","Starting UserExec");  
  
  AliVEvent *event = InputEvent();
  if (!event) { Printf("ERROR: Could not retrieve event"); return; }
  
 
  AliESDEvent* lESDevent = dynamic_cast<AliESDEvent*>(event);
  if (!lESDevent) {
    AliError("Cannot get the ESD event");
    return;
  }  
  
  fHistEventMultiplicity->Fill(1);
  fHistEventMultiplicity->Fill(7);
  
  //_____________________________________________________
  //   Centrality  
  
  AliCentrality *centrality = lESDevent->GetCentrality();
  Float_t percentile=centrality->GetCentralityPercentile("V0M");
  
  Int_t TrackNumber = lESDevent->GetNumberOfTracks();
  fHistTrackMultiplicity->Fill(TrackNumber,percentile); //tracce per evento
  
  //______________________________________________________
  // PID
  
  AliAnalysisManager *man=AliAnalysisManager::GetAnalysisManager();
  AliInputEventHandler* inputHandler = (AliInputEventHandler*) (man->GetInputEventHandler());
  fPIDResponse=inputHandler->GetPIDResponse(); 
  
  //=================================================================
  
  Float_t  impactXY=-999., impactZ=-999.;
  Double_t TPCSignal=0.;
  
  ULong_t  status=0;
 
  Double_t pmax  = 10;
  Double_t ptmax = 10;
  // Primary vertex cut
  
  const AliESDVertex *vtx = lESDevent->GetPrimaryVertexTracks();
    
  if(vtx->GetNContributors()<1) {
    
    // SPD vertex cut
    vtx = lESDevent->GetPrimaryVertexSPD();
    
    if(vtx->GetNContributors()<1) {
      Info("AliAnalysisTaskHelium3Pi","No good vertex, skip event");
      return; // NO GOOD VERTEX, SKIP EVENT 
    }
  }
  
  fHistEventMultiplicity->Fill(2); // analyzed events with PV
  
  if(TMath::Abs(vtx->GetZ())>10) return;
  fHistEventMultiplicity->Fill(3);

  Bool_t isSelectedCentral     = (((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected() & AliVEvent::kCentral);
  Bool_t isSelectedSemiCentral = (((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected() & AliVEvent::kSemiCentral);
  Bool_t isSelectedMB          = (((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected() & AliVEvent::kMB);
    
  fHistTrackMultiplicity->Fill(TrackNumber,percentile); 
    
  Int_t eventtype = -999;
  
  //  cout<<"ET 1: "<<eventtype<<endl;
  
  if(isSelectedCentral){
    fHistEventMultiplicity->Fill(4);
    fHistTrackMultiplicityCentral->Fill(TrackNumber,percentile); 
    eventtype =1;
  }
  
  if(isSelectedSemiCentral){
    fHistEventMultiplicity->Fill(5);
    fHistTrackMultiplicitySemiCentral->Fill(TrackNumber,percentile); 
    eventtype =2;
  }
  
  if(isSelectedMB){
    if(percentile<0)return;
    if(percentile>=80)return;
    fHistEventMultiplicity->Fill(6);
    fHistTrackMultiplicityMB->Fill(TrackNumber,percentile); 
    eventtype =3;
  }
  
  //    cout<<"ET 2: "<<eventtype<<endl;
  
  if(eventtype!=1 && eventtype!=2 && eventtype!=3 )return;
  
  AliEventplane *pl=lESDevent->GetEventplane();
  
  
  if(!pl ){
    AliError("AliAnalysisTaskSENucleiv2SP::UserExec:no eventplane! v2 analysis without eventplane not possible!\n");
    fHistEventMultiplicity->Fill(12);
  }
    
  //Event plane from FLOW
  
  Double_t qxEPa = 0, qyEPa = 0;
  Double_t qxEPc = 0, qyEPc = 0;
  Double_t qxEP =  0 , qyEP = 0;
  
  Double_t evPlAngV0A = pl->CalculateVZEROEventPlane(lESDevent, 8, 2, qxEPa, qyEPa);
  Double_t evPlAngV0C = pl->CalculateVZEROEventPlane(lESDevent, 9, 2, qxEPc, qyEPc);
  Double_t evPlAngV0  = pl->CalculateVZEROEventPlane(lESDevent,10, 2, qxEP,  qyEP);
  
  Double_t Qx2  = 0, Qy2  = 0;
  Double_t Qx2p = 0, Qy2p = 0;
  Double_t Qx2n = 0, Qy2n = 0;
 
  for (Int_t iT = 0; iT < TrackNumber; iT++){
    
    AliESDtrack* track = lESDevent->GetTrack(iT);
    
    if (!track)
      continue;
    
    if ((TMath::Abs(track->Eta()) > 0.8) || (track->Pt() < 0.2) || (track->GetTPCNcls() < 70) || (track->Pt() >= 20.0))
      continue;
    if(!fESDtrackCutsEP->AcceptTrack(track))
      continue;
    if(track->Eta()>0 && track->Eta()<0.8){
      
      Qx2p += TMath::Cos(2*track->Phi());
      Qy2p += TMath::Sin(2*track->Phi());
    }
    if(track->Eta()<0 && track->Eta()> -0.8){
      
      Qx2n += TMath::Cos(2*track->Phi());
      Qy2n += TMath::Sin(2*track->Phi());
    }

    if(track->Eta()>0 && track->Eta()<0.8){ //half TPC
      Qx2 += TMath::Cos(2*track->Phi());
      Qy2 += TMath::Sin(2*track->Phi());
    }
  }
  
  Double_t evPlAngTPC  = TMath::ATan2(Qy2,  Qx2) /2.;
  Double_t evPlAngTPCn = TMath::ATan2(Qy2n, Qx2n)/2.;
  Double_t evPlAngTPCp = TMath::ATan2(Qy2p, Qx2p)/2.;

  EPVzAvsCentrality  ->Fill(evPlAngV0A  , percentile); 
  EPVzCvsCentrality  ->Fill(evPlAngV0C  , percentile); 
  EPVzvsCentrality   ->Fill(evPlAngV0   , percentile); 
  EPTPCvsCentrality  ->Fill(evPlAngTPC  , percentile); 
  EPTPCpvsCentrality ->Fill(evPlAngTPCp , percentile); 
  EPTPCnvsCentrality ->Fill(evPlAngTPCn , percentile); 

  if(percentile>=0 && percentile<=5)
    hEvPlaneTPCvsEvPVz05  ->Fill(evPlAngTPC,evPlAngV0); 
  if(percentile>=0 && percentile<=7.5)
    hEvPlaneTPCvsEvPVz075 ->Fill(evPlAngTPC,evPlAngV0); 
  if(percentile>=15 && percentile<=30)
    hEvPlaneTPCvsEvPVz1530->Fill(evPlAngTPC,evPlAngV0);
  if(percentile>=30 && percentile<50)
    hEvPlaneTPCvsEvPVz3050->Fill(evPlAngTPC,evPlAngV0);  
  if(percentile>=20 && percentile<=40)                    
    hEvPlaneTPCvsEvPVz2040->Fill(evPlAngTPC,evPlAngV0);   
  if(percentile>=40 && percentile<=60)                   
    hEvPlaneTPCvsEvPVz4060->Fill(evPlAngTPC,evPlAngV0);           

  // For TPC, V0M, V0c and V0A resolution 

  hCos2DeltaTPCVzAvsCentrality  ->Fill(TMath::Cos(2.*(evPlAngTPC - evPlAngV0A)) , percentile);
  hCos2DeltaTPCVzCvsCentrality  ->Fill(TMath::Cos(2.*(evPlAngTPC - evPlAngV0C)) , percentile);
  hCos2DeltaVzAVzCvsCentrality  ->Fill(TMath::Cos(2.*(evPlAngV0A - evPlAngV0C)) , percentile);
  hCos2DeltaVzMVzAvsCentrality  ->Fill(TMath::Cos(2.*(evPlAngV0  - evPlAngV0A)) , percentile);
  hCos2DeltaVzMVzCvsCentrality  ->Fill(TMath::Cos(2.*(evPlAngV0  - evPlAngV0C)) , percentile);
  hCos2DeltaVzATPCvsCentrality  ->Fill(TMath::Cos(2.*(evPlAngV0A - evPlAngTPC)) , percentile);
  hCos2DeltaVzCTPCvsCentrality  ->Fill(TMath::Cos(2.*(evPlAngV0C - evPlAngTPC)) , percentile);
  hCos2DeltaVzCVzAvsCentrality  ->Fill(TMath::Cos(2.*(evPlAngV0C - evPlAngV0A)) , percentile);
  hCos2DeltaVzMTPCpvsCentrality ->Fill(TMath::Cos(2.*(evPlAngV0  - evPlAngTPCp)), percentile);
  hCos2DeltaVzMTPCnvsCentrality ->Fill(TMath::Cos(2.*(evPlAngV0  - evPlAngTPCn)), percentile);
  hCos2DeltaTPCpTPCnvsCentrality->Fill(TMath::Cos(2.*(evPlAngTPCp- evPlAngTPCn)), percentile);

  //Scalar Product
  
  Double_t  QV0AQV0C = qxEPa * qxEPc + qyEPa*qyEPc;
  hQVzAQVzCvsCentrality->Fill(QV0AQV0C,percentile);
  
  //NUA correction

  hQxVzAvsCentrality->Fill(qxEPa,percentile);
  hQyVzAvsCentrality->Fill(qyEPa,percentile);
  hQxVzCvsCentrality->Fill(qxEPc,percentile);
  hQyVzCvsCentrality->Fill(qyEPc,percentile);
  hQxVzMvsCentrality->Fill(qxEP ,percentile);
  hQyVzMvsCentrality->Fill(qyEP ,percentile);

  //====================================================================================================================
  
  // To remove auto-correlation
  TVector2 *q = 0x0;
  q = pl->GetQVector();

  Double_t ptcExp  = -999;
  Double_t pullTPC = -999;
  Double_t expbeta = -999;
  Double_t pullTOF = -999;
  Float_t deltaphiTPC = -3;
  Float_t deltaphiV0  = -3;
  Float_t deltaphiV0A = -3;
  Float_t deltaphiV0C = -3;

  Double_t massd   = 1.875612859;
  Double_t masst   = 2.808939;
  Double_t mass3he = 2.80892;

  Float_t  uqV0A = -999;
  Float_t  uqV0C = -999; 

  for (Int_t j=0; j<TrackNumber; j++) { //loop on tracks
      
    AliESDtrack *esdtrack=lESDevent->GetTrack(j);
    if (!fESDtrackCuts->AcceptTrack(esdtrack)) continue;
    
    status  = (ULong_t)esdtrack->GetStatus();
   
    Bool_t hasTOFout  = status&AliESDtrack::kTOFout; 
    Bool_t hasTOF     = kFALSE;
    if (hasTOFout) hasTOF = kTRUE;
    Float_t length = esdtrack->GetIntegratedLength(); 
    if (length < 350.) hasTOF = kFALSE;
    
    TPCSignal=esdtrack->GetTPCsignal(); 
      
    if(TPCSignal<10)continue;
    if(TPCSignal>1000)continue;
    if(!esdtrack->GetInnerParam()) continue;
    
    Double_t ptot = esdtrack->GetInnerParam()->GetP(); // momentum for dEdx determination
 
    //   if(ptot<0.2)continue;
    if(ptot<0.6)continue;
    fhBB->Fill(ptot*esdtrack->GetSign(),TPCSignal);
    esdtrack->GetImpactParameters(impactXY, impactZ);
              
    ptcExp = -999;
    if(fptc==1)
      ptcExp  = AliExternalTrackParam::BetheBlochAleph(ptot/(0.938*2),1.45802,27.4992,4.00313e-15,2.48485,8.31768);
    if(fptc==2)
      ptcExp  = AliExternalTrackParam::BetheBlochAleph(ptot/(0.938*3),1.45802,27.4992,4.00313e-15,2.48485,8.31768);
    if(fptc==3)
      ptcExp  = 4*AliExternalTrackParam::BetheBlochAleph(2*ptot/(0.938*3),1.74962,27.4992,4.00313e-15,2.42485,8.31768);
    
    pullTPC  = (TPCSignal - ptcExp)/(0.07*ptcExp);

    Double_t p    = esdtrack->P();
    Double_t tof  = esdtrack->GetTOFsignal()-fPIDResponse->GetTOFResponse().GetStartTime(p);
    Double_t tPhi = esdtrack->Phi();

    Float_t  beta = 0;
    Float_t  gamma = 0;
    Float_t  mass  = -99;
    Double_t pt  = esdtrack->Pt();
 
    if(fptc==1)
      expbeta = TMath::Sqrt(1-((massd*massd)/(ptot*ptot+massd*massd))); 
    if(fptc==2)
      expbeta = TMath::Sqrt(1-((masst*masst)/(ptot*ptot+masst*masst))); 
    if(fptc==3)
      expbeta = TMath::Sqrt(1-((mass3he*mass3he)/(ptot*ptot+mass3he*mass3he))); 
     

    if(fptc==3)
      pt = 2*pt;

    if(TMath::Abs(ptot) < pmax  && TMath::Abs(pt) < ptmax){
      // if(TMath::Abs(pullTPC) <= 3)
      
      //
      // Process TOF information
      //
      if(!hasTOF)continue;
      //      if (hasTOF) {
      beta = length / (2.99792457999999984e-02 * tof);
      gamma = 1/TMath::Sqrt(1 - beta*beta);
      mass = ptot/TMath::Sqrt(gamma*gamma - 1); // using inner TPC mom. as approx.
  
      //   cout<<expbeta<<" "<<beta<<" "<<(beta - expbeta)/(0.008*expbeta)<<endl;
      pullTOF  = (beta - expbeta)/(0.007*expbeta);

      if(TMath::Abs(ptot)< 2)
	if(TMath::Abs(pullTPC) > 3)continue;
      
      // if(TMath::Abs(ptot)< 4)
      // 	if( beta>1)continue;
      if(TMath::Abs(pullTOF) > 3)continue;

      if(TMath::Sqrt(esdtrack->GetTOFsignalDz()*esdtrack->GetTOFsignalDz() + esdtrack->GetTOFsignalDx()*esdtrack->GetTOFsignalDx()) > 5.)continue; 

      if(fptc==1){
	if(TMath::Abs(mass) > 2.65)continue;
	if(TMath::Abs(mass) < 1.05)continue;
      }
      if(fptc==2){
	if(TMath::Abs(mass) > 5.0)continue;
	if(TMath::Abs(mass) < 1.8 )continue;
      }
      if(fptc==3){
	if(TMath::Abs(mass) > 5.0)continue;
	if(TMath::Abs(mass) < 1.8)continue;
      }
      fhMassTOF->Fill(mass);
      //}
      fhTOF->Fill(ptot*esdtrack->GetSign(),beta);
      fhBBDeu->Fill(ptot*esdtrack->GetSign(),TPCSignal);
      
   
      // Event Plane
      // Remove AutoCorrelation
      
      evPlAngTPC = GetEventPlaneForCandidate(esdtrack,q,pl);
      
      deltaphiTPC=TMath::Cos(2*GetPhi0Pi(tPhi-evPlAngTPC));
      deltaphiV0 =TMath::Cos(2*GetPhi0Pi(tPhi-evPlAngV0 ));
      deltaphiV0A=TMath::Cos(2*GetPhi0Pi(tPhi-evPlAngV0A));
      deltaphiV0C=TMath::Cos(2*GetPhi0Pi(tPhi-evPlAngV0C));
      
      // Scalar Product
      
      uqV0A = TMath::Cos(2*tPhi)*qxEPa+TMath::Sin(2*tPhi)*qyEPa;
      uqV0C = TMath::Cos(2*tPhi)*qxEPc+TMath::Sin(2*tPhi)*qyEPc;
       
      tCentrality      = percentile;
      tType            = eventtype;
      tHasTOF          = hasTOF;
      tpT              = pt;
      tMassTOF         = mass;
      tuqV0A           = uqV0A;
      tuqV0C           = uqV0C;
      tCharge          = esdtrack->GetSign();
      tCosdeltaphiTPC  = deltaphiTPC;
      tCosdeltaphiV0M  = deltaphiV0;
      tCosdeltaphiV0A  = deltaphiV0A;
      tCosdeltaphiV0C  = deltaphiV0C;
      timpactXY        = impactXY;
      timpactZ         = impactZ;
      tpull            = pullTPC;
      tphi             = tPhi;

      ftree->Fill();
    } 
  }  //track
  
  PostData(1, fListHist);
  PostData(2, ftree);
} //end userexec


//________________________________________________________________________

void AliAnalysisTaskNucleiv2SP::Terminate(Option_t *) 
{
  // Draw result to the screen
  // Called once at the end of the query
}

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