]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGLF/STRANGENESS/Hypernuclei/AliAnalysisTaskReadNuclexAOD.cxx
Split: removed dirs now in AliPhysics
[u/mrichter/AliRoot.git] / PWGLF / STRANGENESS / Hypernuclei / AliAnalysisTaskReadNuclexAOD.cxx
diff --git a/PWGLF/STRANGENESS/Hypernuclei/AliAnalysisTaskReadNuclexAOD.cxx b/PWGLF/STRANGENESS/Hypernuclei/AliAnalysisTaskReadNuclexAOD.cxx
deleted file mode 100644 (file)
index 2529d11..0000000
+++ /dev/null
@@ -1,1082 +0,0 @@
-/**************************************************************************
- * 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 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.                  *
- **************************************************************************/
-
-//
-//-----------------------------------------------------------------
-//                 AliAnalysisTaskNUclexAOD class AOD
-//-----------------------------------------------------------------
-
-
-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; 
-class AliCascadeVertexer;
-
-#include <iostream>
-#include "AliAnalysisTaskSE.h"
-#include "TList.h"
-#include "TH1.h"
-#include "TH2.h"
-#include "TH3.h"
-#include "TNtuple.h"
-#include "TGraph.h"
-#include "TCutG.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 "AliAnalysisTaskReadNuclexAOD.h"
-#include "AliESDtrackCuts.h"
-#include "AliCentrality.h"
-#include "TString.h"
-#include <TDatime.h>
-#include <TRandom3.h>
-#include <AliAODPid.h>
-#include <AliAODHandler.h>
-#include <AliAODRecoDecay.h>
-#include <AliAODRecoDecayLF.h>
-#include <AliAODRecoDecayLF2Prong.h>
-
-using std::cout;
-using std::endl;
-
-ClassImp(AliAnalysisTaskReadNuclexAOD)
-
-//________________________________________________________________________
-AliAnalysisTaskReadNuclexAOD::AliAnalysisTaskReadNuclexAOD() 
-  : AliAnalysisTaskSE(),
-  fAnalysisType("AOD"), 
-  fCollidingSystems(0), 
-  fDataType("REAL"),
-  fListHist(0), 
-  fHistEventMultiplicity(0),         
-  fHistTrackMultiplicity(0),      
-  fHistTrackMultiplicityCent(0),      
-  fHistTrackMultiplicitySemiCent(0),  
-  fHistTrackMultiplicityMB(0),        
-  fHistTrackMultiplicityPVCent(0),      
-  fHistTrackMultiplicityPVSemiCent(0),  
-  fHistTrackMultiplicityPVMB(0),        
-  fhBB(0),
-  fhBBPions(0),
-  fhBBHe(0),
-  aodTree(0x0),
-  Nuclei(0x0),
-  SecondaryVertices(0x0),
-  DaughterTracks(0x0),
-  nevent(0x0),
-  fNtuple1(0),
-  trunNumber(0),
-  tbunchcross(0),
-  torbit(0),
-  tperiod(0),
-  teventtype(0),
-  tTrackNumber(0),
-  tpercentile(0),
-  txPrimaryVertex(0),
-  tyPrimaryVertex(0),
-  tzPrimaryVertex(0),
-  txSecondaryVertex(0),
-  tySecondaryVertex(0),
-  tzSecondaryVertex(0),
-  tdcaTracks(0),
-  tCosPointingAngle(0),
-  tDCAV0toPrimaryVertex(0),
-  tHeSign(0),
-  tHepInTPC(0),
-  tHeTPCsignal(0),
-  tDcaHeToPrimVertex(0),
-  tHeEta(0),
-  tmomHex(0),
-  tmomHey(0),
-  tmomHez(0),
-  tmomHeAtSVx(0),
-  tmomHeAtSVy(0),
-  tmomHeAtSVz(0),
-  tHeTPCNcls(0),
-  tHeimpactXY(0),
-  tHeimpactZ(0),
-  tHeITSClusterMap(0),
-  tIsHeITSRefit(0),
-  tPionSign(0),
-  tPionpInTPC(0),
-  tPionTPCsignal(0),
-  tDcaPionToPrimVertex(0),
-  tPionEta(0),
-  tmomPionx(0),
-  tmomPiony(0),
-  tmomPionz(0),
-  tmomNegPionAtSVx(0),
-  tmomNegPionAtSVy(0),
-  tmomNegPionAtSVz(0),
-  tPionTPCNcls(0),
-  tPionimpactXY(0),
-  tPionimpactZ(0),
-  tPionITSClusterMap(0),
-  tIsPiITSRefit(0),
-  txn(0),
-  txp(0),
-  tchi2He(0),
-  tchi2Pi(0),
-  fNtuple4(0),
-  t3LHlrunNumber(0),
-  t3LHlBCNumber(0),
-  t3LHlOrbitNumber(0),
-  t3LHlPeriodNumber(0),
-  t3LHleventtype(0),
-  t3LHlpercentile(0),
-  t3LHlPx(0),
-  t3LHlPy(0),
-  t3LHlPz(0),
-  t3LHlEta(0),
-  t3LHlY(0),
-  t3LHlM(0),
-  t3LHlxPrimaryVertex(0),
-  t3LHlyPrimaryVertex(0),
-  t3LHlzPrimaryVertex(0),
-  t3LHlp0px(0),    
-  t3LHlp0py(0),
-  t3LHlp0pz(0),
-  t3LHlp0ch(0),
-  t3LHlp1px(0),
-  t3LHlp1py(0),
-  t3LHlp1pz(0),
-  t3LHlp1ch(0)
-
-{
-  // Dummy Constructor 
-}
-
-//________________________________________________________________________
-AliAnalysisTaskReadNuclexAOD::AliAnalysisTaskReadNuclexAOD(const char *name) 
-  : AliAnalysisTaskSE(name), 
-    fAnalysisType("AOD"), 
-    fCollidingSystems(0), 
-    fDataType("REAL"),
-    fListHist(0), 
-    fHistEventMultiplicity(0),         
-    fHistTrackMultiplicity(0),      
-    fHistTrackMultiplicityCent(0),      
-    fHistTrackMultiplicitySemiCent(0),  
-    fHistTrackMultiplicityMB(0),        
-    fHistTrackMultiplicityPVCent(0),      
-    fHistTrackMultiplicityPVSemiCent(0),  
-    fHistTrackMultiplicityPVMB(0),        
-    fhBB(0),
-    fhBBPions(0),
-    fhBBHe(0),
-    aodTree(0x0),
-    Nuclei(0x0),
-    SecondaryVertices(0x0),
-    DaughterTracks(0x0),
-    nevent(0x0),
-    fNtuple1(0),
-    trunNumber(0),
-    tbunchcross(0),
-    torbit(0),
-    tperiod(0),
-    teventtype(0),
-    tTrackNumber(0),
-    tpercentile(0),
-    txPrimaryVertex(0),
-    tyPrimaryVertex(0),
-    tzPrimaryVertex(0),
-    txSecondaryVertex(0),
-    tySecondaryVertex(0),
-    tzSecondaryVertex(0),
-    tdcaTracks(0),
-    tCosPointingAngle(0),
-    tDCAV0toPrimaryVertex(0),
-    tHeSign(0),
-    tHepInTPC(0),
-    tHeTPCsignal(0),
-    tDcaHeToPrimVertex(0),
-    tHeEta(0),
-    tmomHex(0),
-    tmomHey(0),
-    tmomHez(0),
-    tmomHeAtSVx(0),
-    tmomHeAtSVy(0),
-    tmomHeAtSVz(0),
-    tHeTPCNcls(0),
-    tHeimpactXY(0),
-    tHeimpactZ(0),
-    tHeITSClusterMap(0),
-    tIsHeITSRefit(0),
-    tPionSign(0),
-    tPionpInTPC(0),
-    tPionTPCsignal(0),
-    tDcaPionToPrimVertex(0),
-    tPionEta(0),
-    tmomPionx(0),
-    tmomPiony(0),
-    tmomPionz(0),
-    tmomNegPionAtSVx(0),
-    tmomNegPionAtSVy(0),
-    tmomNegPionAtSVz(0),
-    tPionTPCNcls(0),
-    tPionimpactXY(0),
-    tPionimpactZ(0),
-    tPionITSClusterMap(0),
-    tIsPiITSRefit(0),
-    txn(0),
-    txp(0),
-    tchi2He(0),
-    tchi2Pi(0),
-    fNtuple4(0),
-    t3LHlrunNumber(0),
-    t3LHlBCNumber(0),
-    t3LHlOrbitNumber(0),
-    t3LHlPeriodNumber(0),
-    t3LHleventtype(0),
-    t3LHlpercentile(0),
-    t3LHlPx(0),
-    t3LHlPy(0),
-    t3LHlPz(0),
-    t3LHlEta(0),
-    t3LHlY(0),
-    t3LHlM(0),
-    t3LHlxPrimaryVertex(0),
-    t3LHlyPrimaryVertex(0),
-    t3LHlzPrimaryVertex(0),
-    t3LHlp0px(0),    
-    t3LHlp0py(0),
-    t3LHlp0pz(0),
-    t3LHlp0ch(0),
-    t3LHlp1px(0),
-    t3LHlp1py(0),
-    t3LHlp1pz(0),
-    t3LHlp1ch(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 (Cascade)
-  DefineOutput(1, TList::Class());
-  
-  DefineInput(0, TChain::Class());
-
-  DefineOutput(1, TList::Class());
-  DefineOutput(2, TTree::Class()); 
-  DefineOutput(3, TTree::Class()); 
-
-}
-//_______________________________________________________
-AliAnalysisTaskReadNuclexAOD::~AliAnalysisTaskReadNuclexAOD() 
-{ 
-  // Destructor
-  if (fListHist) {
-    delete fListHist;
-    fListHist = 0;
-  }
-  
-  if(fNtuple1) delete fNtuple1;
-  if(fNtuple4) delete fNtuple4;
-}
-//=================DEFINITION BETHE BLOCH==============================
-
-Double_t AliAnalysisTaskReadNuclexAOD::BetheBloch(Double_t betaGamma,Double_t charge,Bool_t isPbPb) {
-
-  Double_t kp1, kp2, kp3, kp4, kp5;
-  
-  if(isPbPb){
-
-
-    //pass2 2011
-    kp1 = 4.7*charge*charge;
-    kp2 = 8.98482806165147636e+00;
-    kp3 = 1.54000000000000005e-05;
-    kp4 = 2.30445734159456084e+00;
-    kp5 = 2.25624744086878559e+00;
-
-  }
-  
-  else{
-
-
-   //pass2 2011
-    kp1 = 4.7*charge*charge;
-    kp2 = 8.98482806165147636e+00;
-    kp3 = 1.54000000000000005e-05;
-    kp4 = 2.30445734159456084e+00;
-    kp5 = 2.25624744086878559e+00;
-
-  }
-
-  Double_t beta = betaGamma / TMath::Sqrt(1.0 + betaGamma * betaGamma);
-  
-  Double_t aa = TMath::Power(beta, kp4);
-  Double_t bb = TMath::Power(1.0 / betaGamma, kp5);
-  
-  bb = TMath::Log(kp3 + bb);
-  
-  Double_t out = (kp2 - aa - bb) * kp1 / aa;
-
-  return out;
-}
-
-void AliAnalysisTaskReadNuclexAOD::Init() 
-{
-  //  cout<<"----------------------------------> Vediamo"<<endl;
-  
-  // AliAODHandler* aodHandler = (AliAODHandler*)((AliAnalysisManager::GetAnalysisManager())->GetInputEventHandler());
-  // cout<<aodHandler<<endl;
-  // TTree *aodTree = aodHandler->GetTree();
-  // //  aodTree = aodHandler->GetTree();
-  // cout<<"aodTree: "<<aodTree<<endl;
-  // aodTree->SetBranchAddress("Nuclei",           &Nuclei);
-  // aodTree->SetBranchAddress("SecondaryVertices",&SecondaryVertices);
-  // aodTree->SetBranchAddress("DaughterTracks",   &DaughterTracks);
-
-
-}
-
-//==================DEFINITION OF OUTPUT OBJECTS==============================
-
-void AliAnalysisTaskReadNuclexAOD::UserCreateOutputObjects()
-{
-  fListHist = new TList();
-  fListHist->SetOwner();  // IMPORTANT!
-
-  
-  if(! fHistEventMultiplicity ){
-    
-    fHistEventMultiplicity   = new TH1F( "fHistEventMultiplicity" , "Nb of Events" , 13 , 0, 13);
-     
-    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,"SemiCentral Events");
-    fHistEventMultiplicity->GetXaxis()->SetBinLabel(6,"MB Events");
-    fHistEventMultiplicity->GetXaxis()->SetBinLabel(7,"Central Events  w/|Vz|<10cm");
-    fHistEventMultiplicity->GetXaxis()->SetBinLabel(8,"SemiCentral Events  w/|Vz|<10cm");
-    fHistEventMultiplicity->GetXaxis()->SetBinLabel(9,"MB Events   w/|Vz|<10cm");
-    fHistEventMultiplicity->GetXaxis()->SetBinLabel(10,"Sec. Vert. Tree");
-    fHistEventMultiplicity->GetXaxis()->SetBinLabel(11,"Sec. Vert. Rec");
-    fHistEventMultiplicity->GetXaxis()->SetBinLabel(12,"Event Not taken");
-    fListHist->Add(fHistEventMultiplicity);
-  }
-
-  
-   if(! fHistTrackMultiplicity ){
-    fHistTrackMultiplicity   = new TH2F( "fHistTrackMultiplicity" , "Nb of Tracks", 2500,0, 25000,210,-1,104);
-    fHistTrackMultiplicity->GetXaxis()->SetTitle("Number of tracks");
-    fHistTrackMultiplicity->GetYaxis()->SetTitle("Percentile");
-    fListHist->Add(fHistTrackMultiplicity);
-  } 
-
-  if(! fHistTrackMultiplicityCent ){
-    fHistTrackMultiplicityCent   = new TH2F( "fHistTrackMultiplicityCent", "Nb of Tracks Central Events", 2500,0, 25000,210,-1,104 );
-    fHistTrackMultiplicityCent->GetXaxis()->SetTitle("Number of tracks");
-    fHistTrackMultiplicityCent->GetYaxis()->SetTitle("Percentile");
-    fListHist->Add(fHistTrackMultiplicityCent);
-  } 
-
-  if(! fHistTrackMultiplicitySemiCent ){
-    fHistTrackMultiplicitySemiCent   = new TH2F( "fHistTrackMultiplicitySemiCent" , "Nb of Tracks SemiCentral Events", 2500,0, 25000 ,210,-1,104);
-    fHistTrackMultiplicitySemiCent->GetXaxis()->SetTitle("Number of tracks");
-    fHistTrackMultiplicitySemiCent->GetYaxis()->SetTitle("Percentile");
-    fListHist->Add(fHistTrackMultiplicitySemiCent);
-  } 
-  if(! fHistTrackMultiplicityMB ){
-    fHistTrackMultiplicityMB   = new TH2F( "fHistTrackMultiplicityMB" , "Nb of Tracks MBral Events", 2500,0, 25000,210,-1,104 );
-    fHistTrackMultiplicityMB->GetXaxis()->SetTitle("Number of tracks");
-    fHistTrackMultiplicityMB->GetYaxis()->SetTitle("Percentile");
-    fListHist->Add(fHistTrackMultiplicityMB);
-  } 
-
-  if(! fHistTrackMultiplicityPVCent ){
-    fHistTrackMultiplicityPVCent   = new TH2F( "fHistTrackMultiplicityPVCent" , "Nb of Tracks Central Events", 2500,0, 25000,210,-1,104 );
-    fHistTrackMultiplicityPVCent->GetXaxis()->SetTitle("Number of tracks");
-    fHistTrackMultiplicityPVCent->GetYaxis()->SetTitle("Percentile");
-    fListHist->Add(fHistTrackMultiplicityPVCent);
-  } 
-
-  if(! fHistTrackMultiplicityPVSemiCent ){
-    fHistTrackMultiplicityPVSemiCent   = new TH2F( "fHistTrackMultiplicityPVSemiCent" , "Nb of Tracks SemiCentral Events", 2500,0, 25000 ,210,-1,104);
-    fHistTrackMultiplicityPVSemiCent->GetXaxis()->SetTitle("Number of tracks");
-    fHistTrackMultiplicityPVSemiCent->GetYaxis()->SetTitle("Percentile");
-    fListHist->Add(fHistTrackMultiplicityPVSemiCent);
-  } 
-  if(! fHistTrackMultiplicityPVMB ){
-    fHistTrackMultiplicityPVMB   = new TH2F( "fHistTrackMultiplicityPVMB" , "Nb of Tracks MBral Events", 2500,0, 25000,210,-1,104 );
-    fHistTrackMultiplicityPVMB->GetXaxis()->SetTitle("Number of tracks");
-    fHistTrackMultiplicityPVMB->GetYaxis()->SetTitle("Percentile");
-    fListHist->Add(fHistTrackMultiplicityPVMB);
-  } 
-
-  if(! fhBB ){
-    fhBB = new TH2F( "fhBB" , "BetheBlochTPC" , 120,-6,6,150,0,1500);
-    fhBB->GetXaxis()->SetTitle("p/z (GeV/#it{c})");
-    fhBB->GetYaxis()->SetTitle("TPC Signal");
-    fListHist->Add(fhBB);
-  }
-
-  if(! fhBBPions ){
-    fhBBPions = new TH2F( "fhBBPions" , "Bethe-Bloch TPC Pions" , 120,-6,6,150,0,1500);
-    fhBBPions->GetXaxis()->SetTitle("p/z (GeV/#it{c})");
-    fhBBPions->GetYaxis()->SetTitle("TPC Signal");
-    fListHist->Add(fhBBPions);
-  }
-  
-  if(! fhBBHe ){
-    fhBBHe = new TH2F( "fhBBHe" , "Bethe-Bloch TPC He" , 120,-6,6,150,0,1500);
-    fhBBHe->GetXaxis()->SetTitle("p/z (GeV/#it{c})");
-    fhBBHe->GetYaxis()->SetTitle("TPC Signal");
-    fListHist->Add(fhBBHe);
-  }
-  
-
-  
-  if(! fNtuple1 ) {
-    
-    fNtuple1 = new TTree("fNtuple1","fNtuple1");
-    
-    fNtuple1->Branch("trunNumber"           ,&trunNumber           ,"trunNumber/F");
-    fNtuple1->Branch("tbunchcross"          ,&tbunchcross          ,"tbunchcross/F");
-    fNtuple1->Branch("torbit"               ,&torbit               ,"torbit/F");
-    fNtuple1->Branch("tperiod"              ,&tperiod              ,"tperiod/F");
-    fNtuple1->Branch("teventtype"           ,&teventtype           ,"teventtype/F");
-    fNtuple1->Branch("tTrackNumber"         ,&tTrackNumber         ,"tTrackNumber/F");
-    fNtuple1->Branch("tpercentile"          ,&tpercentile          ,"tpercentile/F") ;
-    fNtuple1->Branch("txPrimaryVertex"      ,&txPrimaryVertex      ,"txPrimaryVertex/F");
-    fNtuple1->Branch("tyPrimaryVertex"      ,&tyPrimaryVertex      ,"tyPrimaryVertex/F");
-    fNtuple1->Branch("tzPrimaryVertex"      ,&tzPrimaryVertex      ,"tzPrimaryVertex/F");
-    fNtuple1->Branch("txSecondaryVertex"    ,&txSecondaryVertex    ,"txSecondaryVertex/F");
-    fNtuple1->Branch("tySecondaryVertex"    ,&tySecondaryVertex    ,"tySecondaryVertex/F");
-    fNtuple1->Branch("tzSecondaryVertex"    ,&tzSecondaryVertex    ,"tzSecondaryVertex/F");
-    fNtuple1->Branch("tdcaTracks"           ,&tdcaTracks           ,"tdcaTracks/F");
-    fNtuple1->Branch("tCosPointingAngle"    ,&tCosPointingAngle    ,"tCosPointingAngle/F");
-    fNtuple1->Branch("tDCAV0toPrimaryVertex",&tDCAV0toPrimaryVertex,"tDCAV0toPrimaryVertex/F");
-    fNtuple1->Branch("tHeSign"              ,&tHeSign              ,"tHeSign/F");
-    fNtuple1->Branch("tHepInTPC"            ,&tHepInTPC            ,"tHepInTPC/F");
-    fNtuple1->Branch("tHeTPCsignal"         ,&tHeTPCsignal         ,"tHeTPCsignal/F");
-    fNtuple1->Branch("tDcaHeToPrimVertex"   ,&tDcaHeToPrimVertex   ,"tDcaHeToPrimVertex/F");
-    fNtuple1->Branch("tHeEta"               ,&tHeEta               ,"tHeEta/F");
-    fNtuple1->Branch("tmomHex"              ,&tmomHex              ,"tmomHex/F");
-    fNtuple1->Branch("tmomHey"              ,&tmomHey              ,"tmomHey/F");
-    fNtuple1->Branch("tmomHez"              ,&tmomHez              ,"tmomHez/F");
-    fNtuple1->Branch("tmomHeAtSVx"          ,&tmomHeAtSVx          ,"tmomHeAtSVx/F");
-    fNtuple1->Branch("tmomHeAtSVy"          ,&tmomHeAtSVy          ,"tmomHeAtSVy/F");
-    fNtuple1->Branch("tmomHeAtSVz"          ,&tmomHeAtSVz          ,"tmomHeAtSVz/F");
-    fNtuple1->Branch("tHeTPCNcls"           ,&tHeTPCNcls           ,"tHeTPCNcls/F");
-    fNtuple1->Branch("tHeimpactXY"          ,&tHeimpactXY          ,"tHeimpactXY/F");
-    fNtuple1->Branch("tHeimpactZ"           ,&tHeimpactZ           ,"tHeimpactZ/F");
-    fNtuple1->Branch("tHeITSClusterMap"     ,&tHeITSClusterMap     ,"tHeITSClusterMap/F");
-    fNtuple1->Branch("tIsHeITSRefit"        ,&tIsHeITSRefit        ,"tIsHeITSRefit/F");
-    fNtuple1->Branch("tPionSign"            ,&tPionSign            ,"tPionSign/F");
-    fNtuple1->Branch("tPionpInTPC"          ,&tPionpInTPC          ,"tPionpInTPC/F");
-    fNtuple1->Branch("tPionTPCsignal"       ,&tPionTPCsignal       ,"tPionTPCsignal/F");
-    fNtuple1->Branch("tDcaPionToPrimVertex" ,&tDcaPionToPrimVertex ,"tDcaPionToPrimVertex/F");
-    fNtuple1->Branch("tPionEta"             ,&tPionEta             ,"tPionEta/F");
-    fNtuple1->Branch("tmomPionx"            ,&tmomPionx            ,"tmomPionx/F");
-    fNtuple1->Branch("tmomPiony"            ,&tmomPiony            ,"tmomPiony/F");
-    fNtuple1->Branch("tmomPionz"            ,&tmomPionz            ,"tmomPionz/F");
-    fNtuple1->Branch("tmomNegPionAtSVx"     ,&tmomNegPionAtSVx     ,"tmomNegPionAtSVx/F");
-    fNtuple1->Branch("tmomNegPionAtSVy"     ,&tmomNegPionAtSVy     ,"tmomNegPionAtSVy/F");
-    fNtuple1->Branch("tmomNegPionAtSVz"     ,&tmomNegPionAtSVz     ,"tmomNegPionAtSVz/F");
-    fNtuple1->Branch("tPionTPCNcls"         ,&tPionTPCNcls         ,"tPionTPCNcls/F");
-    fNtuple1->Branch("tPionimpactXY"        ,&tPionimpactXY        ,"tPionimpactXY/F");
-    fNtuple1->Branch("tPionimpactZ"         ,&tPionimpactZ         ,"tPionimpactZ/F");
-    fNtuple1->Branch("tPionITSClusterMap"   ,&tPionITSClusterMap   ,"tPionITSClusterMap/F");
-    fNtuple1->Branch("tIsPiITSRefit"        ,&tIsPiITSRefit        ,"tIsPiITSRefit/F");
-    fNtuple1->Branch("txn"                  ,&txn                  ,"txn/F");
-    fNtuple1->Branch("txp"                  ,&txp                  ,"txp/F");
-    fNtuple1->Branch("tchi2He"              ,&tchi2He              ,"tchi2He/F");
-    fNtuple1->Branch("tchi2Pi"              ,&tchi2Pi              ,"tchi2Pi/F");
-    
-  }
-
-   if(! fNtuple4 ) {
-    fNtuple4 = new TTree("fNtuple4","fNtuple4");
-
-    fNtuple4->Branch("t3LHlrunNumber"        ,&t3LHlrunNumber        ,"t3LHlrunNumber/F");
-    fNtuple4->Branch("t3LHlBCNumber"         ,&t3LHlBCNumber         ,"t3LHlBCNumber/F");
-    fNtuple4->Branch("t3LHlOrbitNumber"      ,&t3LHlOrbitNumber      ,"t3LHlOrbitNumber/F");
-    fNtuple4->Branch("t3LHlPeriodNumber"     ,&t3LHlPeriodNumber     ,"t3LHlPeriodNumber/F");
-    fNtuple4->Branch("t3LHleventtype"        ,&t3LHleventtype        ,"t3LHleventtype/F");
-    fNtuple4->Branch("t3LHlpercentile"       ,&t3LHlpercentile       ,"t3LHlpercentile/F");
-    fNtuple4->Branch("t3LHlPx"               ,&t3LHlPx               ,"t3LHlPx/F");
-    fNtuple4->Branch("t3LHlPy"               ,&t3LHlPy               ,"t3LHlPy/F");
-    fNtuple4->Branch("t3LHlPz"               ,&t3LHlPz               ,"t3LHlPz/F");
-    fNtuple4->Branch("t3LHlEta"              ,&t3LHlEta              ,"t3LHlEta/F");
-    fNtuple4->Branch("t3LHlY"                ,&t3LHlY                ,"t3LHlY/F");
-    fNtuple4->Branch("t3LHlM"                ,&t3LHlM                ,"t3LHlM/F");
-    fNtuple4->Branch("t3LHlxPrimaryVertex"   ,&t3LHlxPrimaryVertex   ,"t3LHlxPrimaryVertex/F");
-    fNtuple4->Branch("t3LHlyPrimaryVertex"   ,&t3LHlyPrimaryVertex   ,"t3LHlyPrimaryVertex/F");
-    fNtuple4->Branch("t3LHlzPrimaryVertex"   ,&t3LHlzPrimaryVertex   ,"t3LHlzPrimaryVertex/F");
-    fNtuple4->Branch("t3LHlp0px"             ,&t3LHlp0px             ,"t3LHlp0px/F");
-    fNtuple4->Branch("t3LHlp0py"             ,&t3LHlp0py             ,"t3LHlp0py/F");
-    fNtuple4->Branch("t3LHlp0pz"             ,&t3LHlp0pz             ,"t3LHlp0pz/F");
-    fNtuple4->Branch("t3LHlp0ch"             ,&t3LHlp0ch             ,"t3LHlp0ch/F");
-    fNtuple4->Branch("t3LHlp1px"             ,&t3LHlp1px             ,"t3LHlp1px/F");
-    fNtuple4->Branch("t3LHlp1py"             ,&t3LHlp1py             ,"t3LHlp1py/F");
-    fNtuple4->Branch("t3LHlp1pz"             ,&t3LHlp1pz             ,"t3LHlp1pz/F");
-    fNtuple4->Branch("t3LHlp1ch"             ,&t3LHlp1ch             ,"t3LHlp1ch/F");
-
-
-  } 
-
-  
-  PostData(1,  fListHist);
-  PostData(2,  fNtuple1);
-  PostData(3,  fNtuple4);
-}// end UserCreateOutputObjects
-
-
-
-//====================== USER EXEC ========================
-
-void AliAnalysisTaskReadNuclexAOD::UserExec(Option_t *) 
-{
-  //_______________________________________________________________________
-
-  //!*********************!//
-  //!  Define variables   !//
-  //!*********************!//
-
-  Double_t  xPrimaryVertex=0.,yPrimaryVertex=0.,zPrimaryVertex=0.;
-
-  ULong_t  statusT;
-  ULong_t  statusPi;
-  
-  Bool_t   IsHeITSRefit=kFALSE,IsPiITSRefit=kFALSE ;
-
-  Double_t fPos[3]={0.,0.,0.};
-
-  Double_t runNumber=0.;
-  Double_t BCNumber=0.;
-  Double_t OrbitNumber=0.;
-  Double_t PeriodNumber=0.;
-
-  Double_t        Helium3Mass = 2.80839; 
-  Double_t        PionMass    = 0.13957; 
-
-  // TLORENTZ vectors
-  
-  TLorentzVector  vPion,vHelium,vSum;
-  TLorentzVector  vHyp;
-  TLorentzVector  vp0,vp1,vS;
-  //!----------------------------------------------------------------
-  //! A set of very loose parameters for cuts 
-  
-  //  Double_t fgChi2max=33.;     //! max chi2
-  Double_t fgDNmin=0.05;      //! min imp parameter for the 1st daughter = 500um
-  //  Double_t fgDPmin=0.05;      //! min imp parameter for the 2nd daughter = 500um
-  Double_t fgDCAmax=1.;       //! max DCA between the daughter tracks in cm
-  //  Double_t fgCPAmin=0.99;      //! min cosine of V0's pointing angle
-  Double_t fgRmin=0.1;        //! min radius of the fiducial volume = 1 mm 
-  Double_t fgRmax=200.;       //! max radius of the fiducial volume = 2 m
-  
-  //!-----------------------------------------------------------------
-
-  // Main loop
-  // Called for EACH event
-  
-  nevent++;  //--> This is important
-
-  AliVEvent *event = InputEvent();
-  if (!event) { Printf("ERROR: Could not retrieve event"); return; }
-  Info("AliAnalysisTaskReadNuclexAOD","Starting UserExec");  
-
-  SetDataType("REAL");
-  
-  AliAODEvent *lAODevent=(AliAODEvent *)InputEvent();  
-  if (!lAODevent) {
-    Printf("ERROR: aod not available");
-    //    fHistLog->Fill(98);
-    return;
-  }
-  fHistEventMultiplicity->Fill(0.5);
-
-  //*************************************************************
-  
-  runNumber    = lAODevent->GetRunNumber();
-  BCNumber     = lAODevent->GetBunchCrossNumber();
-  OrbitNumber  = lAODevent->GetOrbitNumber();
-  PeriodNumber = lAODevent->GetPeriodNumber();
-   
-  AliCentrality *centrality = lAODevent->GetCentrality();
-  centrality = lAODevent->GetCentrality();
-    
-  Float_t percentile=centrality->GetCentralityPercentile("V0M");
-  Float_t refMult = ((AliVAODHeader*)lAODevent->GetHeader())->GetRefMultiplicity();
-  
-  fHistTrackMultiplicity->Fill(refMult,percentile); //tracce per evento
-
-  //  cout<<"Centrality: "<<percentile<<" number of track: "<<lAODevent->GetHeader()->GetRefMultiplicity()<<endl;
-  //*************************************************************
-  
-  AliAnalysisManager *man=AliAnalysisManager::GetAnalysisManager();
-  AliInputEventHandler* inputHandler = (AliInputEventHandler*) (man->GetInputEventHandler());
-  
-  Int_t eventtype=-99;
-  
-  Bool_t isSelectedCentral     = (inputHandler->IsEventSelected() & AliVEvent::kCentral);
-  Bool_t isSelectedSemiCentral = (inputHandler->IsEventSelected() & AliVEvent::kSemiCentral);
-  Bool_t isSelectedMB          = (inputHandler->IsEventSelected() & AliVEvent::kMB);
-  if(isSelectedCentral){
-    fHistEventMultiplicity->Fill(3.5);
-    fHistTrackMultiplicityCent->Fill(refMult,percentile); 
-    eventtype=1;
-  }
-
-  if(isSelectedSemiCentral){
-    fHistEventMultiplicity->Fill(4.5);
-    fHistTrackMultiplicitySemiCent->Fill(refMult,percentile); 
-    eventtype=2;
-  }
-
-  if(isSelectedMB){
-    fHistEventMultiplicity->Fill(5.5);
-    fHistTrackMultiplicityMB->Fill(refMult,percentile); 
-    eventtype=3;
-  }
-
-  if(eventtype==-99)return;
-  // cout<<"eventtype: "<<eventtype<<endl;
-  
-  // if(!isSelectedCentral)return;
-  // if(!isSelectedSemiCentral)return;
-  // if(!isSelectedMB)return;
-  
-  cout<<"eventtype: "<<eventtype<<endl;
-    
-  //-------------------------------
-  
-  Double_t lBestPrimaryVtxPos[3]          = {-100.0, -100.0, -100.0};
-  Double_t lMagneticField                 = -10.; 
-  
-  AliAODVertex* primvtx = lAODevent->GetPrimaryVertex();
-  if(!primvtx){
-    cout<<"No PV"<<endl;
-    return;
-  }
-  fHistEventMultiplicity->Fill(1.5);
-  primvtx->GetXYZ( lBestPrimaryVtxPos );
-
-  if(TMath::Abs(lBestPrimaryVtxPos[2]) > 10.0 ) { 
-    AliWarning("Pb / | Z position of Best Prim Vtx | > 10.0 cm ... return !"); 
-    return; 
-  }
-  fHistEventMultiplicity->Fill(2.5);
-
-
-  if(eventtype==1){
-    fHistTrackMultiplicityPVCent->Fill(refMult,percentile); 
-    fHistEventMultiplicity->Fill(6.5); 
-  }
-  
-  if(eventtype==2){
-    fHistTrackMultiplicityPVSemiCent->Fill(refMult,percentile); 
-    fHistEventMultiplicity->Fill(7.5); 
-  }
-  
-  if(eventtype==3){
-    fHistTrackMultiplicityPVMB->Fill(refMult,percentile); 
-    fHistEventMultiplicity->Fill(8.5); 
-  }
-  
-  lMagneticField = lAODevent->GetMagneticField();
-
-  xPrimaryVertex = lBestPrimaryVtxPos[0];
-  yPrimaryVertex = lBestPrimaryVtxPos[1];
-  zPrimaryVertex = lBestPrimaryVtxPos[2];
-
-  //--------------------------------------------------------
-
-  AliAODHandler* aodHandler = (AliAODHandler*)((AliAnalysisManager::GetAnalysisManager())->GetInputEventHandler());
-
-  aodTree = aodHandler->GetTree();
-  aodTree->SetBranchAddress("Nuclei",&Nuclei);
-  aodTree->SetBranchAddress("SecondaryVertices",&SecondaryVertices);
-  aodTree->SetBranchAddress("DaughterTracks",&DaughterTracks);
-
-  //---------------------------------------------------------
-
-  aodTree->GetEntry(nevent);
-
-  if(Nuclei-> GetEntriesFast()>0)
-    fHistEventMultiplicity->Fill(2);
-
-  if(SecondaryVertices-> GetEntriesFast()>0)
-    fHistEventMultiplicity->Fill(3);
-    
-  for(Int_t i=0; i < SecondaryVertices-> GetEntriesFast() ; i++){
-
-    AliAODRecoDecayLF2Prong *d = (AliAODRecoDecayLF2Prong*)SecondaryVertices->UncheckedAt(i);
-    //cout<<"\n\n\nPT: "<<d->Pt()<<endl<<endl<<endl<<endl;
-    if(!d) continue;
-   
-    fHistEventMultiplicity->Fill(10.5);
-    
-    //    Double_t tDecayVertexV0[3]; 
-    // if(d->GetXYZ(tDecayVertexV0))
-    
-    Double_t tV0mom[3];
-    d->PxPyPz(tV0mom); 
-    
-    // TLORENTZ vectors
-
-    //    cout<<"px prong 1: "<<d->PxProng(0)<<endl;
-
-    vHyp.SetXYZM(tV0mom[0],tV0mom[1],tV0mom[2],2.991);
-    
-
-    vp0.SetXYZM(d->PxProng(0),d->PyProng(0),d->PzProng(0),PionMass);
-    vp1.SetXYZM(d->PxProng(1),d->PyProng(1),d->PzProng(1),Helium3Mass);
-    vS = vp0 + vp1;
-
-    //    cout<<"Momemnto pt: "<<lPt<<endl;
-    
-    t3LHlrunNumber        =(Float_t)runNumber;
-    t3LHlBCNumber         =(Float_t)BCNumber;
-    t3LHlOrbitNumber       =(Float_t)OrbitNumber;
-    t3LHlPeriodNumber      =(Float_t)PeriodNumber;
-    t3LHleventtype        =(Float_t)eventtype;
-    t3LHlpercentile        =(Float_t)percentile;
-    t3LHlPx               =(Float_t)tV0mom[0];
-    t3LHlPy               =(Float_t)tV0mom[1];
-    t3LHlPz               =(Float_t)tV0mom[2];
-    t3LHlEta              =(Float_t)d->Eta();
-    t3LHlY                =(Float_t)vHyp.Rapidity();
-    t3LHlM                =(Float_t)vS.M();
-    t3LHlxPrimaryVertex    =(Float_t)xPrimaryVertex;
-    t3LHlyPrimaryVertex    =(Float_t)yPrimaryVertex;
-    t3LHlzPrimaryVertex    =(Float_t)zPrimaryVertex;
-
-    t3LHlp0px    =(Float_t)d->PxProng(0);
-    t3LHlp0py    =(Float_t)d->PyProng(0);
-    t3LHlp0pz    =(Float_t)d->PzProng(0);
-    t3LHlp0ch    =(Float_t)d->ChargeProng(0);
-    t3LHlp1px    =(Float_t)d->PxProng(1);
-    t3LHlp1py    =(Float_t)d->PyProng(1);
-    t3LHlp1pz    =(Float_t)d->PzProng(1);
-    t3LHlp1ch    =(Float_t)d->ChargeProng(1);
-
-    fNtuple4->Fill();
-    
-  }
-  
-  
-  //----------------------------------------
-  // Loop on tracks like-AnalysisTaskHelium3Pi.cxx
-  
-  Int_t TrackNumber= DaughterTracks-> GetEntriesFast();
-
-  TArrayI Track0(TrackNumber);        //Pions                                                                          
-  Int_t nTrack0=0;
-  TArrayI Track1(TrackNumber);        //Helium3
-  Int_t nTrack1=0;
-
-  Float_t impactXY=-999, impactZ=-999;
-  Float_t impactXYpi=-999, impactZpi=-999;
-  
-  for(Int_t j=0; j<TrackNumber; j++){
-    //  cout<<"eventtype inside: "<<eventtype<<endl;
-    //    cout<<"Inside loop tracks"<<endl;
-    AliVTrack *track = (AliVTrack*)DaughterTracks->UncheckedAt(j);
-    AliAODTrack *aodtrack =(AliAODTrack*)track;
-    
-    fhBB->Fill(aodtrack->GetDetPid()->GetTPCmomentum()*aodtrack->Charge(),aodtrack->GetTPCsignal());
-    
-    //-----------------------------------------------------------
-    //Track cuts
-    // if(aodtrack->GetTPCNcls() < 80 )continue;
-    // if(aodtrack->Chi2perNDF() > 5 )continue;
-
-    // if (!aodtrack->IsOn(AliAODTrack::kTPCrefit)) continue;
-    // if (!aodtrack->IsOn(AliAODTrack::kTPCin)) continue;
-    // if (aodtrack->IsOn(AliAODTrack::kITSpureSA)) continue;
-
-    //---------------------------------------------------------------
-     
-    if (aodtrack->GetTPCsignal()<100){
-      Track0[nTrack0++]=j;
-      fhBBPions->Fill(aodtrack->GetDetPid()->GetTPCmomentum()*aodtrack->Charge(),aodtrack->GetTPCsignal());
-    }
-
-    else{
-      Track1[nTrack1++]=j;
-      fhBBHe->Fill(aodtrack->GetDetPid()->GetTPCmomentum()*aodtrack->Charge(),aodtrack->GetTPCsignal());
-    }
-  }
-
-  Track0.Set(nTrack0);
-  Track1.Set(nTrack1);
-
-  //cout<<"nTrack0: "<<nTrack0<<endl;
-  //cout<<"nTrack1: "<<nTrack1<<endl;
-  
-  
-  //cout<<"Track loops..."<<endl;
-   
-  Double_t        DcaHeToPrimVertex=0;
-  Double_t        DcaPionToPrimVertex=0;
-  
-  impactXY=-999, impactZ=-999;
-  impactXYpi=-999, impactZpi=-999;
-  
-  AliESDtrack  *PionTrack = 0x0;
-  AliESDtrack  *HeTrack = 0x0;
-
-
-  // Vettors for il PxPyPz
-  
-  Double_t momPionVett[3];
-  for(Int_t i=0;i<3;i++)momPionVett[i]=0;
-  
-  Double_t momHeVett[3];
-  for(Int_t i=0;i<3;i++)momHeVett[i]=0;
-  
-  //At SV
-  
-  Double_t momPionVettAt[3];
-  for(Int_t i=0;i<3;i++)momPionVettAt[i]=0;
-  
-  Double_t momHeVettAt[3];
-  for(Int_t i=0;i<3;i++)momHeVettAt[i]=0;
-  
-
-  //Loop on the tracks
-
-  for (Int_t k=0; k <nTrack0 ; k++) {                           //! Pion Tracks Loop
-
-    DcaPionToPrimVertex=0.;
-    DcaHeToPrimVertex=0;
-    
-    Int_t Track0idx=Track0[k];
-    
-    AliVTrack *trackpi = (AliVTrack*)DaughterTracks->UncheckedAt(Track0idx);
-    PionTrack = new AliESDtrack(trackpi); 
-    
-    statusPi = (ULong_t)trackpi->GetStatus();
-    IsPiITSRefit = ((statusPi) & (AliESDtrack::kITSrefit)); 
-    
-    if (PionTrack) 
-      DcaPionToPrimVertex = TMath::Abs(PionTrack->GetD(xPrimaryVertex, yPrimaryVertex,lMagneticField));
-
-    //cout<<"DcaPionToPrimVertex: "<<DcaPionToPrimVertex<<endl;
-
-    if(DcaPionToPrimVertex<0.2)continue; 
-    AliExternalTrackParam trackInPion(*PionTrack);  
-
-    for (Int_t i=0; i<nTrack1; i++){                            //! He Tracks Loop
-      
-      Int_t Track1idx=Track1[i];
-      
-      AliVTrack *trackhe = (AliVTrack*)DaughterTracks->UncheckedAt(Track1idx);
-      HeTrack = new AliESDtrack(trackhe);
-      
-      statusT= (ULong_t)HeTrack->GetStatus();
-      IsHeITSRefit = (statusT & AliESDtrack::kITSrefit); 
-
-      if (HeTrack) 
-       DcaHeToPrimVertex = TMath::Abs(HeTrack->GetD(xPrimaryVertex, yPrimaryVertex,lMagneticField)); //OK
-      
-      AliExternalTrackParam trackInHe(*HeTrack); 
-    
-      if ( DcaPionToPrimVertex < fgDNmin)                //OK
-       if ( DcaHeToPrimVertex < fgDNmin) continue;    //OK
-      
-      Double_t xn, xp;
-      Double_t dca=0.;
-      
-      dca= PionTrack->GetDCA(HeTrack,lMagneticField,xn,xp); //!dca (Neg to Pos)
-      
-      //cout<<"dca tracks: "<<dca<<endl;
-
-      if (dca > fgDCAmax) continue;
-      if ((xn+xp) > 2*fgRmax) continue;
-      if ((xn+xp) < 2*fgRmin) continue;
-      
-       Bool_t corrected=kFALSE;
-       if ((trackInPion.GetX() > 3.) && (xn < 3.)) {
-         //correct for the beam pipe material
-         corrected=kTRUE;
-       }
-       if ((trackInHe.GetX() > 3.) && (xp < 3.)) {
-         //correct for the beam pipe material
-         corrected=kTRUE;
-       }
-       if (corrected) {
-         dca=trackInPion.GetDCA(&trackInHe,lMagneticField,xn,xp);
-         if (dca > fgDCAmax) continue;
-         if ((xn+xp) > 2*fgRmax) continue;
-         if ((xn+xp) < 2*fgRmin) continue;
-       }
-       
-       //=============================================//
-       // Make "V0" with found tracks                 //
-       //=============================================//
-       
-       trackInPion.PropagateTo(xn,lMagneticField); 
-       trackInHe.PropagateTo(xp,lMagneticField);
-       
-       AliESDv0 vertex(trackInPion,Track0idx,trackInHe,Track1idx);
-       //      if (vertex.GetChi2V0() > fgChi2max) continue;
-       
-       //cout<<"Made v0"<<endl;
-
-       Float_t CosPointingAngle=vertex.GetV0CosineOfPointingAngle(xPrimaryVertex,yPrimaryVertex,zPrimaryVertex); //PointingAngle
-       //cout<<"cpa: "<<CosPointingAngle<<endl;
-       //      if (CosPointingAngle < fgCPAmin) continue;
-       
-       vertex.SetDcaV0Daughters(dca);
-       vertex.SetV0CosineOfPointingAngle(CosPointingAngle);
-       
-       fPos[0]=vertex.Xv();
-       fPos[1]=vertex.Yv(); 
-       fPos[2]=vertex.Zv(); 
-       
-       HeTrack->PxPyPz(momHeVett);
-       PionTrack->PxPyPz(momPionVett); 
-       
-       Double_t raggio=TMath::Sqrt(fPos[0]*fPos[0]+fPos[1]*fPos[1]+fPos[2]*fPos[2]);
-       HeTrack->GetPxPyPzAt(raggio,lMagneticField,momHeVettAt);
-       PionTrack->GetPxPyPzAt(raggio,lMagneticField,momPionVettAt); 
-       
-       //------------------------------------------------------------------------//
-       
-       HeTrack->GetImpactParameters(impactXY, impactZ);
-       PionTrack->GetImpactParameters(impactXYpi, impactZpi);
-       
-       //      if(vertex.GetD(xPrimaryVertex,yPrimaryVertex,zPrimaryVertex)>3) continue;
-       
-       //salvo solo fino a 3.1 GeV/c2
-       
-       vHelium.SetXYZM(2*momHeVettAt[0],2*momHeVettAt[1],2*momHeVettAt[2],Helium3Mass); 
-       vPion.SetXYZM(momPionVettAt[0],momPionVettAt[1],momPionVettAt[2],PionMass);       
-       vSum=vHelium+vPion;
-       
-       //      if(vSum.M()>3.2)
-       //  continue;
-       
-       Int_t  fIdxInt[200]; //dummy array
-       Int_t nClustersTPCHe = HeTrack->GetTPCclusters(fIdxInt);
-       Int_t nClustersTPCPi = PionTrack->GetTPCclusters(fIdxInt);
-       
-       //cout<<"Cos PA: "<<CosPointingAngle<<endl;
-       fHistEventMultiplicity->Fill(11.5);
-       //-------------------------------------------------------------
-       
-       trunNumber              =(Float_t)runNumber;
-       tbunchcross             =(Float_t)BCNumber;
-       torbit                  =(Float_t)OrbitNumber;
-       tperiod                 =(Float_t)PeriodNumber;
-       teventtype              =(Float_t)eventtype;
-       tTrackNumber            =(Float_t)TrackNumber;
-       tpercentile             =(Float_t)percentile;
-       txPrimaryVertex         =(Float_t)xPrimaryVertex;            //PRIMARY
-       tyPrimaryVertex         =(Float_t)yPrimaryVertex;
-       tzPrimaryVertex         =(Float_t)zPrimaryVertex;
-       txSecondaryVertex       =(Float_t)fPos[0];                   //SECONDARY
-       tySecondaryVertex       =(Float_t)fPos[1];
-       tzSecondaryVertex       =(Float_t)fPos[2];
-       tdcaTracks              =(Float_t)dca;                       //between 2 tracks
-       tCosPointingAngle       =(Float_t)CosPointingAngle;          //cosPointingAngle da V0
-       tDCAV0toPrimaryVertex   =(Float_t)vertex.GetD(xPrimaryVertex,yPrimaryVertex,zPrimaryVertex);
-       tHeSign                 =(Float_t)HeTrack->GetSign();        //He
-       tHepInTPC               =(Float_t)trackInHe.GetP();
-       tHeTPCsignal            =(Float_t)HeTrack->GetTPCsignal();
-       tDcaHeToPrimVertex      =(Float_t)DcaHeToPrimVertex;
-       tHeEta                  =(Float_t)HeTrack->Eta();
-       tmomHex                 =(Float_t)momHeVett[0];
-       tmomHey                 =(Float_t)momHeVett[1];
-       tmomHez                 =(Float_t)momHeVett[2];
-       tmomHeAtSVx             =(Float_t)momHeVettAt[0];
-       tmomHeAtSVy             =(Float_t)momHeVettAt[1];
-       tmomHeAtSVz             =(Float_t)momHeVettAt[2];
-       tHeTPCNcls              =(Float_t)HeTrack->GetTPCNcls();
-       tHeimpactXY             =(Float_t)impactXY;
-       tHeimpactZ              =(Float_t)impactZ;
-       tHeITSClusterMap        =(Float_t)HeTrack->GetITSClusterMap();
-       tIsHeITSRefit           =(Float_t)IsHeITSRefit;
-       tPionSign               =(Float_t)PionTrack->GetSign(); //Pion
-       tPionpInTPC             =(Float_t)trackInPion.GetP();
-       tPionTPCsignal          =(Float_t)PionTrack->GetTPCsignal();
-       tDcaPionToPrimVertex    =(Float_t)DcaPionToPrimVertex;
-       tPionEta                =(Float_t)PionTrack->Eta();
-       tmomPionx               =(Float_t)momPionVett[0];
-       tmomPiony               =(Float_t)momPionVett[1];
-       tmomPionz               =(Float_t)momPionVett[2];
-       tmomNegPionAtSVx        =(Float_t)momPionVettAt[0];
-       tmomNegPionAtSVy        =(Float_t)momPionVettAt[1];
-       tmomNegPionAtSVz        =(Float_t)momPionVettAt[2];
-       tPionTPCNcls            =(Float_t)PionTrack->GetTPCNcls();
-       tPionimpactXY           =(Float_t)impactXYpi;
-       tPionimpactZ            =(Float_t)impactZpi;
-       tPionITSClusterMap      =(Float_t)PionTrack->GetITSClusterMap();
-       tIsPiITSRefit           =(Float_t)IsPiITSRefit;
-       txn                     =(Float_t)xn;
-       txp                     =(Float_t)xp;
-       tchi2He                 =(Float_t)HeTrack->GetTPCchi2()/(Float_t)(nClustersTPCHe);
-       tchi2Pi                 =(Float_t)PionTrack->GetTPCchi2()/(Float_t)(nClustersTPCPi);
-       
-       fNtuple1->Fill();  
-       vertex.Delete();
-               
-    }    
-    
-  }
-  
-  PostData(1,fListHist);
-  PostData(2,fNtuple1);
-  PostData(3,fNtuple4);
-    
-} //end userexec
-
-
-//________________________________________________________________________
-
-void AliAnalysisTaskReadNuclexAOD::Terminate(Option_t *) 
-{
-  // Draw result to the screen
-  // Called once at the end of the query
-}
-
-