]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
deleting test files
authorbhippoly <bhippoly@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 9 Aug 2012 15:25:23 +0000 (15:25 +0000)
committerbhippoly <bhippoly@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 9 Aug 2012 15:25:23 +0000 (15:25 +0000)
PWGLF/STRANGENESS/Correlations/AliAnalysisTaskLambdaOverK0sJets.cxx [deleted file]
PWGLF/STRANGENESS/Correlations/macros/testfile.txt [deleted file]

diff --git a/PWGLF/STRANGENESS/Correlations/AliAnalysisTaskLambdaOverK0sJets.cxx b/PWGLF/STRANGENESS/Correlations/AliAnalysisTaskLambdaOverK0sJets.cxx
deleted file mode 100644 (file)
index 8bec480..0000000
+++ /dev/null
@@ -1,2711 +0,0 @@
-/************************************************************************* 
- * Copyright(c) 1998-2008, ALICE Experiment at CERN, All rights reserved. * 
- *                                                                        * 
- * Author: X. Sanchez Castro                                              * 
- * Contributors are mentioned in the code where appropriate.              * 
- *                                                                        * 
- * Permission to use, copy, modify and distribute this software and its   * 
- * documentation strictly for non-commercial purposes is hereby granted   * 
- * without fee, provided that the above copyright notice appears in all   * 
- * copies and that both the copyright notice and this permission notice   * 
- * appear in the supporting documentation. The authors make no claims     * 
- * about the suitability of this software for any purpose. It is          * 
- * provided "as is" without express or implied warranty.                  * 
- **************************************************************************/
-
-
-#include <TCanvas.h>
-#include <TTree.h>
-#include <TFile.h>
-#include <TH1F.h>
-#include <TH2F.h>
-#include <TH3F.h>
-#include <TPDGCode.h>
-#include <TDatabasePDG.h>
-#include <TClonesArray.h>
-#include <TROOT.h>
-
-#include "AliOADBContainer.h"
-
-#include "AliAODMCHeader.h"
-#include "AliAODMCParticle.h"
-#include "AliGenHijingEventHeader.h"
-
-#include "AliAODEvent.h"
-#include "AliAODv0.h"
-#include "AliAODcascade.h"
-
-#include "AliCFContainer.h"
-#include "AliCentrality.h"
-
-#include "AliPID.h"
-#include "AliPIDResponse.h"
-#include "AliAODPid.h"
-
-#include "AliInputEventHandler.h"
-#include "AliAnalysisManager.h"
-
-#include "AliAnalysisTaskLambdaOverK0sJets.h"
-
-extern TROOT *gROOT;
-
-ClassImp(AliAnalysisTaskLambdaOverK0sJets)
-
-// Global variables:
-static Int_t    nbins = 100;                 // Number of bins for l, pt, mass for V0
-static Int_t    nbinsPhi = 120;              // Number of bins for Phi
-static Int_t    nbinsdPhi = 42;              // Number of bins for dPhi
-static Int_t    nbinsdEta = 40;              // Number of bins for dEta
-static Int_t    nbinPtLP = 200;
-static Int_t    nbinsVtx = 20;
-
-static Double_t pMin = 0.0;                  // Lower cut for transverse momentum
-static Double_t pMax = 10.;                  // Max cut for transverse momentum for V0
-static Double_t ptMaxLP = 50.;               // Max cut for transverse momentum LP
-
-static Double_t lMin = 0.0;                  // Limits in the histo for fidutial volume
-static Double_t lMax = 100.;                 // Limits in the fidutial volume
-
-//
-//  
-//
-
-AliAnalysisTaskLambdaOverK0sJets::AliAnalysisTaskLambdaOverK0sJets(const char *name) :
-  AliAnalysisTaskSE(name),
-
-  fAOD(0),
-  fIsMC(kFALSE),
-  fUsePID(kFALSE),
-  fCentMin(0.),
-  fCentMax(90.),
-  fTrigPtMin(8.),
-  fTrigPtMax(20.),
-  fTrigEtaMax(0.8),
-  fSeparateInjPart(kTRUE),
-  fEndOfHijingEvent(-1),
-  fPIDResponse(0),
-
-  fMinPtDaughter(0.160),
-  fMaxEtaDaughter(0.8),
-  fMaxDCADaughter(1.0),
-  fYMax(0.5),
-  fDCAToPrimVtx(0.1),
-  fMinCPA(0.998),
-  fNSigma(3.0),
-  fMinCtau(0.),
-  fMaxCtau(3.),
-
-  fOutput(0),
-
-  fEvents(0),
-  fCentrality(0),
-  fPrimaryVertexX(0),
-  fPrimaryVertexY(0),
-  fPrimaryVertexZ(0),
-  fNumberPileUp(0),
-  fCentMult(0),
-  fdEdx(0),
-  fdEdxPid(0),
-
-  fTriggerMCPtCent(0),
-  fTriggerPtCent(0),
-  fTriggerEtaPhi(0),
-  fCheckTriggerFromV0Daug(0),
-  fTriggerComingFromDaug(0),
-  fTriggerIsV0(0),
-
-  fInjectedParticles(0),
-
-  fK0sMCPt(0),
-  fK0sMCPtRap(0),
-  fK0sMCPtEta(0),
-  fK0sMCPtLt(0),
-  fK0sAssocPt(0),
-  fK0sAssocPtLt(0),
-  fK0sAssocPtLtArm(0),
-  fK0sAssocPtRap(0),
-  fK0sAssocPtEta(0),
-
-  fLambdaMCPt(0),
-  fLambdaMCPtRap(0),
-  fLambdaMCPtEta(0),
-  fLambdaMCPtLt(0),
-  fLambdaAssocPt(0),
-  fLambdaAssocPtLt(0),
-  fLambdaAssocPtLtArm(0),
-  fLambdaAssocPtRap(0),
-  fLambdaAssocPtEta(0),
-
-  fHistArmenterosPodolanski(0),
-  fHistArmPodBckg(0),
-
-  fK0sMass(0),     
-  fK0sPtLtSB(0),    
-  fK0sPtvsEta (0),
-  fK0sPtvsRap(0),
-  fK0sEtaPhi(0),
-  fK0sMassPtPhi(0),
-
-  fK0sMassPtvsPtL(0),
-  fK0sSiPtL(0),
-  fK0sDaughtersPt(0),
-  fK0sdPhiPtAssocPtL(0),
-  fK0sDCADaugToPrimVtx(0), 
-
-  fK0sBckgDecLength(0),
-  fK0sBckgDCADaugToPrimVtx(0),
-  fK0sdEdxPosDaug(0),
-  fK0sdEdxNegDaug(0),
-  fK0sBckgEtaPhi(0),
-  fK0sBckgPhiRadio(0),
-  fK0sBckgDCANegDaugToPrimVtx(0),
-  fK0sBckgDCAPosDaugToPrimVtx(0),
-  fK0sMassCascade(0),
-
-  fLambdaMass(0), 
-  fLambdaPtLtSB(0), 
-  fLambdaPtvsEta(0), 
-  fLambdaPtvsRap(0),
-  fLambdaEtaPhi(0),
-  fLambdaMassPtPhi(0),
-
-  fLambdadEdx(0),
-  fCPA(0),
-  fDCA(0),
-
-  fLambdaMassPtvsPtL(0),
-  fLambdaSiPtL(0),
-  fLambdaDaughtersPt(0),
-  fLambdadPhiPtAssocPtL(0),
-  fLambdaDCADaugToPrimVtx(0), 
-
-  fLambdaBckgDecLength(0),
-  fLambdaBckgDCADaugToPrimVtx(0),
-  fLambdadEdxPosDaug(0),
-  fLambdadEdxNegDaug(0),
-  fLambdaBckgEtaPhi(0),
-  fLambdaBckgPhiRadio(0),
-  fLambdaBckgDCANegDaugToPrimVtx(0),
-  fLambdaBckgDCAPosDaugToPrimVtx(0),
-  fLambdaMassCascade(0)
-
-  
-{
-  // Dummy Constructor
-
-  for (Int_t i=0; i<kN1; i++){ 
-
-    fK0sdPhidEtaMC[i] = 0;
-    fK0sdPhidEtaMCCent[i] = 0;
-
-    fK0sdPhidEtaPtL[i] = 0;
-    fK0sdPhidEtaPtLCent[i] = 0;
-    fK0sdPhidEtaPtLBckg[i] = 0;
-    fK0sdPhidEtaPtLCentBckg[i] = 0;
-
-    fK0sdPhidEtaPtL2[i] = 0;
-    fK0sdPhidEtaPtLCent2[i] = 0;
-    fK0sdPhidEtaPtLBckg2[i] = 0;
-    fK0sdPhidEtaPtLCentBckg2[i] = 0;
-
-    fLambdadPhidEtaMC[i] = 0;
-    fLambdadPhidEtaMCCent[i] = 0;
-
-    fLambdadPhidEtaPtL[i] = 0;
-    fLambdadPhidEtaPtLCent[i] = 0;
-    fLambdadPhidEtaPtLBckg[i] = 0;
-    fLambdadPhidEtaPtLCentBckg[i] = 0;
-    
-    fLambdadPhidEtaPtL2[i] = 0;
-    fLambdadPhidEtaPtLCent2[i] = 0;
-    fLambdadPhidEtaPtLBckg2[i] = 0;
-    fLambdadPhidEtaPtLCentBckg2[i] = 0;
-  }
-  // Constructor. Initialization of pointers
-  DefineOutput(1, TList::Class());
-
-}
-
-//___________________________________________________________________________________________
-
-void AliAnalysisTaskLambdaOverK0sJets::UserCreateOutputObjects()
-{ 
-  // Creating the histograms that are needed for the output 
-  
-  fOutput = new TList(); 
-  fOutput->SetOwner();
-
-  // ====== General characteristics of the event and tracks ====== //
-
-  // Counter for the number of events in each step:
-  fEvents=new TH1F("fEvents","Number of events",14,-0.5,13.5);
-  fEvents->GetXaxis()->SetBinLabel(1,"calls to UserExec()");
-  fEvents->GetXaxis()->SetBinLabel(2,"AOD available");
-  fEvents->GetXaxis()->SetBinLabel(3,"CINT1B");
-  fEvents->GetXaxis()->SetBinLabel(4,"V0M Cent");
-  fEvents->GetXaxis()->SetBinLabel(5,"Vtx > 3 part");
-  fEvents->GetXaxis()->SetBinLabel(6,"|VtxZ| < 10 cm");
-  fEvents->GetXaxis()->SetBinLabel(7,"Mult && Cent");
-  fEvents->GetXaxis()->SetBinLabel(8,"Bad ID Trigger");
-  fEvents->GetXaxis()->SetBinLabel(9,"V0 is LP");
-  fEvents->GetXaxis()->SetBinLabel(10,"Trigger is V0 daug");
-  fEvents->GetXaxis()->SetBinLabel(11,"Trigger is V0 daug && 2nd check");
-  fEvents->GetXaxis()->SetBinLabel(12,"Triggered");
-  fEvents->GetXaxis()->SetBinLabel(13,"NOT Triggered");
-  fEvents->GetYaxis()->SetTitle("Counts"); 
-  fOutput->Add(fEvents);
-
-  // Centrality:
-  fCentrality = new TH1F("fCentrality","Centrality",100,0.,100.);
-  fCentrality->GetXaxis()->SetTitle("Centrality (%)"); 
-  fCentrality->GetYaxis()->SetTitle("Events"); 
-  fOutput->Add(fCentrality);
-
-  // Primary Vertex:
-  fPrimaryVertexX = new TH1F("fPrimaryVertexX", "Primary Vertex Position X",100,-0.5,0.5);
-  fPrimaryVertexX->GetXaxis()->SetTitle("Primary Vertex Position X (cm)"); 
-  fPrimaryVertexX->GetYaxis()->SetTitle("Events"); 
-  fOutput->Add(fPrimaryVertexX);
-  
-  fPrimaryVertexY = new TH1F("fPrimaryVertexY", "Primary Vertex Position Y",100,-0.5,0.5);
-  fPrimaryVertexY->GetXaxis()->SetTitle("Primary Vertex Position Y (cm)"); 
-  fPrimaryVertexY->GetYaxis()->SetTitle("Events"); 
-  fOutput->Add(fPrimaryVertexY);
-  
-  fPrimaryVertexZ = new TH1F("fPrimaryVertexZ", "Primary Vertex Position Z",200,-20,20);
-  fPrimaryVertexZ->GetXaxis()->SetTitle("Primary Vertex Position Z (cm)"); 
-  fPrimaryVertexZ->GetYaxis()->SetTitle("Events"); 
-  fOutput->Add(fPrimaryVertexZ);
-
-  // Pile-up
-  fNumberPileUp = new TH2F("fNumberPileUp","Pile up: SPD vs TRacks",5,-0.5,4.5,5,-0.5,4.5);
-  fNumberPileUp->GetXaxis()->SetTitle("Pile-up wi the SPD"); 
-  fNumberPileUp->GetYaxis()->SetTitle("Pile-up wi tracks"); 
-  fOutput->Add(fNumberPileUp);
-
-  // Multiplicity:
-  fCentMult = new TH2F("fCentMult","Centrality vs Multiplicity",100,0.,100.,1100,0.,3300);
-  fCentMult->GetXaxis()->SetTitle("Centrality"); 
-  fCentMult->GetYaxis()->SetTitle("Multiplicity"); 
-  fOutput->Add(fCentMult);
-
-  // Energy loss:
-  fdEdx = new TH2F("fdEdx","dE/dx",50,0.2,3,50,0.,6.);
-  fdEdx->GetXaxis()->SetTitle("TPC Momentum (GeV/c)"); 
-  fdEdx->GetYaxis()->SetTitle("a.u."); 
-  fOutput->Add(fdEdx);
-
-  fdEdxPid = new TH2F("fdEdxPid","dE/dx with PID (protons)",50,0.2,3,50,0.,6.);
-  fdEdxPid->GetXaxis()->SetTitle("TPC Momentum (GeV/c)"); 
-  fdEdxPid->GetYaxis()->SetTitle("a.u."); 
-  fOutput->Add(fdEdxPid);
-
-
-  // ====== Trigger Particle characteristics ====== //
-
-  // MC: Pt Trigger particle vs centrality:
-  fTriggerMCPtCent = new TH3F("fTriggerMCPtCent","Trigger particle MC",2*nbinPtLP,pMin,2*ptMaxLP,100,-1.,1.,100,0.,100.);
-  fTriggerMCPtCent->GetXaxis()->SetTitle("p_{T} (GeV/c)");
-  fTriggerMCPtCent->GetYaxis()->SetTitle("#eta"); 
-  fTriggerMCPtCent->GetZaxis()->SetTitle("centrality (%)"); 
-  fOutput->Add(fTriggerMCPtCent);
-
-  // Pt Trigger particle vs centrality:
-  fTriggerPtCent = new TH2F("fTriggerPtCent","Trigger particle",nbinPtLP,pMin,ptMaxLP,100,0.,100.);
-  fTriggerPtCent->GetXaxis()->SetTitle("p_{T} (GeV/c)");
-  fTriggerPtCent->GetYaxis()->SetTitle("centrality (%)"); 
-  fOutput->Add(fTriggerPtCent);
-
-  // Phi vs pseudorapidity:
-  fTriggerEtaPhi = new TH2F("fTriggerEtaPhi","Trigger particle",nbinsPhi,0.,2.*TMath::Pi(),100,-1.,1.);
-  fTriggerEtaPhi->GetXaxis()->SetTitle("#phi (rad)"); 
-  fTriggerEtaPhi->GetYaxis()->SetTitle("#eta"); 
-  fOutput->Add(fTriggerEtaPhi);
-  
-  // Check if Trigger particle comes from a V0 daughter:
-  fCheckTriggerFromV0Daug = 
-    new TH1F("fCheckTriggerFromV0Daug","Trigger particle from a V0 daughter",7,-2.5,4.5);
-  fCheckTriggerFromV0Daug->GetXaxis()->SetTitle("Flag"); 
-  fCheckTriggerFromV0Daug->GetXaxis()->SetBinLabel(2,"NOT V0 daug & 2nd check");
-  fCheckTriggerFromV0Daug->GetXaxis()->SetBinLabel(3,"NOT V0 daug");
-  fCheckTriggerFromV0Daug->GetXaxis()->SetBinLabel(4,"V0 daug");
-  fCheckTriggerFromV0Daug->GetXaxis()->SetBinLabel(5,"V0 daug & V0 LP");
-  fCheckTriggerFromV0Daug->GetXaxis()->SetBinLabel(6,"V0 daug & V0 LP & 2nd Check");
-  fCheckTriggerFromV0Daug->GetYaxis()->SetTitle("Counts"); 
-  fOutput->Add(fCheckTriggerFromV0Daug);
-  
-  fTriggerComingFromDaug = new TH1F("fTriggerComingFromDaug","Trigger particle from a V0 daughter",240, 0, 12);
-  fTriggerComingFromDaug->GetXaxis()->SetTitle("p_{T} (GeV/c)"); 
-  fTriggerComingFromDaug->GetYaxis()->SetTitle("Counts"); 
-  fOutput->Add(fTriggerComingFromDaug);
-
-  fTriggerIsV0 = new TH1F("fTriggerIsV0","V0 candidate is a LP",nbinPtLP,pMin,ptMaxLP);
-  fTriggerIsV0->GetXaxis()->SetTitle("p_{T} (GeV/c)"); 
-  fTriggerIsV0->GetYaxis()->SetTitle("Counts"); 
-  fOutput->Add(fTriggerIsV0);
-
-
-  // ====== MC-true and  MC-Association information ====== //
-  if(fIsMC){
-
-  fInjectedParticles = new TH1F("fInjectedParticles","Injected particles",2,0.,2.);
-  fInjectedParticles->GetXaxis()->SetBinLabel(1,"Injected");
-  fInjectedParticles->GetXaxis()->SetBinLabel(2,"Natural");
-  fInjectedParticles->GetYaxis()->SetTitle("Counts"); 
-  fOutput->Add(fInjectedParticles);
-    
-  // K0s MC-true:
-  fK0sMCPt       = new TH1F("fK0sMCPt", "K^{0}_{S} MC",nbins,pMin,pMax);
-  fK0sMCPt->GetXaxis()->SetTitle("p_{T} (GeV/c)"); 
-  fOutput->Add(fK0sMCPt);
-
-  fK0sMCPtRap    = new TH2F("fK0sMCPtRap", "K^{0}_{S} MC",nbins,pMin,pMax,30,-1.5,1.5);
-  fK0sMCPtRap->GetXaxis()->SetTitle("p_{T} (GeV/c)"); 
-  fK0sMCPtRap->GetYaxis()->SetTitle("y"); 
-  fOutput->Add(fK0sMCPtRap);
-  
-  fK0sMCPtEta    = new TH2F("fK0sMCPtEta", "K^{0}_{S} MC",nbins,pMin,pMax,30,-1.5,1.5);
-  fK0sMCPtEta->GetXaxis()->SetTitle("p_{T} (GeV/c)"); 
-  fK0sMCPtEta->GetYaxis()->SetTitle("#eta"); 
-  fOutput->Add(fK0sMCPtEta);
-  
-  fK0sMCPtLt =
-    new TH3F("fK0sMCPtLt", "K^{0}_{S} MC",nbins,pMin,pMax,2*nbins,lMin,lMax,100,0.,100.);
-  fK0sMCPtLt->GetXaxis()->SetTitle("p_{T} (GeV/c)"); 
-  fK0sMCPtLt->GetYaxis()->SetTitle("L_{T} (cm)"); 
-  fK0sMCPtLt->GetZaxis()->SetTitle("centrality"); 
-  fOutput->Add(fK0sMCPtLt);
-  
-  // K0s MC-Association:
-  fK0sAssocPt = 
-    new TH1F("fK0sAssocPt","K^{0}_{S} Assoc: L_{T} vs p_{T}",nbins,pMin,pMax);
-  fK0sAssocPt->GetXaxis()->SetTitle("p_{T} (GeV/c)"); 
-  fOutput->Add(fK0sAssocPt);
-
-  /*
-  fK0sAssocPtLt = 
-    new TH3F("fK0sAssocPtLt","K^{0}_{S} Assoc: L_{T} vs p_{T}",nbins,pMin,pMax,2*nbins,lMin,lMax,100,0.,100.);
-  fK0sAssocPtLt->GetXaxis()->SetTitle("p_{T} (GeV/c)"); 
-  fK0sAssocPtLt->GetYaxis()->SetTitle("L_{T} (cm)");
-  fK0sAssocPtLt->GetZaxis()->SetTitle("centrality");
-  fOutput->Add(fK0sAssocPtLt);
-  */
-
-  fK0sAssocPtLt = 
-    new TH3F("fK0sAssocPtLt","K^{0}_{S} Assoc:  p_{T} vs y vs centrlaity",nbins,pMin,pMax,30,-1.5,1.5,100,0.,100.);
-  fK0sAssocPtLt->GetXaxis()->SetTitle("p_{T} (GeV/c)"); 
-  fK0sAssocPtLt->GetYaxis()->SetTitle("y");
-  fK0sAssocPtLt->GetZaxis()->SetTitle("centrality");
-  fOutput->Add(fK0sAssocPtLt);
-
-  /*
-  fK0sAssocPtLtArm = 
-    new TH3F("fK0sAssocPtLtArm","K^{0}_{S} Assoc: L_{T} vs p_{T}",nbins,pMin,pMax,2*nbins,lMin,lMax,100,0.,100.);
-  fK0sAssocPtLtArm->GetXaxis()->SetTitle("p_{T} (GeV/c)"); 
-  fK0sAssocPtLtArm->GetYaxis()->SetTitle("L_{T} (cm)"); 
-  fK0sAssocPtLtArm->GetZaxis()->SetTitle("centrality"); 
-  fOutput->Add(fK0sAssocPtLtArm);
-  */
-
-  fK0sAssocPtLtArm = 
-    new TH3F("fK0sAssocPtLtArm","K^{0}_{S} Assoc: p_{T} vs y vs centrality",nbins,pMin,pMax,30,-1.5,1.5,100,0.,100.);
-  fK0sAssocPtLtArm->GetXaxis()->SetTitle("p_{T} (GeV/c)"); 
-  fK0sAssocPtLtArm->GetYaxis()->SetTitle("y"); 
-  fK0sAssocPtLtArm->GetZaxis()->SetTitle("centrality"); 
-  fOutput->Add(fK0sAssocPtLtArm);
-
-  fK0sAssocPtRap    = new TH2F("fK0sAssocPtRap","K^{0}_{S} Assoc",nbins,pMin,pMax,30,-1.5,1.5);
-  fK0sAssocPtRap->GetXaxis()->SetTitle("p_{T} (GeV/c)"); 
-  fK0sAssocPtRap->GetYaxis()->SetTitle("y"); 
-  fOutput->Add(fK0sAssocPtRap);
-  
-  fK0sAssocPtEta    = new TH2F("fK0sAssocPtEta","K^{0}_{S} Assoc",nbins,pMin,pMax,30,-1.5,1.5);
-  fK0sAssocPtEta->GetXaxis()->SetTitle("p_{T} (GeV/c)"); 
-  fK0sAssocPtEta->GetYaxis()->SetTitle("#eta"); 
-  fOutput->Add(fK0sAssocPtEta);
-  
-  // Lambda MC-true: 
-  fLambdaMCPt = new TH1F("fLambdaMCPt","#Lambda MC",nbins,pMin,pMax);
-  fLambdaMCPt->GetXaxis()->SetTitle("p_{T} (GeV/c)"); 
-  fOutput->Add(fLambdaMCPt);
-
-  fLambdaMCPtRap = new TH2F("fLambdaMCPtRap","#Lambda MC",nbins,pMin,pMax,30,-1.5,1.5);
-  fLambdaMCPtRap->GetXaxis()->SetTitle("p_{T} (GeV/c)"); 
-  fLambdaMCPtRap->GetYaxis()->SetTitle("y"); 
-  fOutput->Add(fLambdaMCPtRap);
-  
-  fLambdaMCPtEta = new TH2F("fLambdaMCPtEta","#Lambda MC",nbins,pMin,pMax,30,-1.5,1.5);
-  fLambdaMCPtEta->GetXaxis()->SetTitle("p_{T} (GeV/c)"); 
-  fLambdaMCPtEta->GetYaxis()->SetTitle("#eta"); 
-  fOutput->Add(fLambdaMCPtEta);
-  
-  fLambdaMCPtLt =
-    new TH3F("fLambdaMCPtLt", "#Lambda MC",nbins,pMin,pMax,2*nbins,lMin,lMax,100,0.,100.);
-  fLambdaMCPtLt->GetXaxis()->SetTitle("p_{T} (GeV/c)"); 
-  fLambdaMCPtLt->GetYaxis()->SetTitle("L_{T} (cm)"); 
-  fLambdaMCPtLt->GetZaxis()->SetTitle("centrality"); 
-  fOutput->Add(fLambdaMCPtLt);
-  
-  // Lambda MC-Association:
-  fLambdaAssocPt = 
-    new TH1F("fLambdaAssocPt","#Lambda Assoc: L_{T} vs p_{T}",nbins,pMin,pMax);
-  fLambdaAssocPt->GetXaxis()->SetTitle("p_{T} (GeV/c)"); 
-  fOutput->Add(fLambdaAssocPt);
-
-  fLambdaAssocPtLt = 
-    new TH3F("fLambdaAssocPtLt","#Lambda Assoc: L_{T} vs p_{T}",nbins,pMin,pMax,2*nbins,lMin,lMax,100,0.,100.);
-  fLambdaAssocPtLt->GetXaxis()->SetTitle("p_{T} (GeV/c)"); 
-  fLambdaAssocPtLt->GetYaxis()->SetTitle("L_{T} (cm)"); 
-  fLambdaAssocPtLt->GetZaxis()->SetTitle("centrality"); 
-  fOutput->Add(fLambdaAssocPtLt);
-
-  fLambdaAssocPtLtArm = 
-    new TH3F("fLambdaAssocPtLtArm","#Lambda Assoc: L_{T} vs p_{T}",nbins,pMin,pMax,2*nbins,lMin,lMax,100,0.,100.);
-  fLambdaAssocPtLtArm->GetXaxis()->SetTitle("p_{T} (GeV/c)"); 
-  fLambdaAssocPtLtArm->GetYaxis()->SetTitle("L_{T} (cm)"); 
-  fLambdaAssocPtLtArm->GetZaxis()->SetTitle("centrality"); 
-  fOutput->Add(fLambdaAssocPtLtArm);
-  
-  fLambdaAssocPtRap = new TH2F("fLambdaAssocPtRap", "#Lambda Assoc",nbins,pMin,pMax,30,-1.5,1.5);
-  fLambdaAssocPtRap->GetXaxis()->SetTitle("p_{T} (GeV/c)"); 
-  fLambdaAssocPtRap->GetYaxis()->SetTitle("y"); 
-  fOutput->Add(fLambdaAssocPtRap);
-  
-  fLambdaAssocPtEta = new TH2F("fLambdaAssocPtEta", "#Lambda Assoc",nbins,pMin,pMax,30,-1.5,1.5);
-  fLambdaAssocPtEta->GetXaxis()->SetTitle("p_{T} (GeV/c)"); 
-  fLambdaAssocPtEta->GetYaxis()->SetTitle("#eta"); 
-  fOutput->Add(fLambdaAssocPtEta);
-  
-  }  
-
-  // ====== Reconstruction information in AOD ====== //
-  fHistArmenterosPodolanski  =
-    new TH3F("fHistArmenterosPodolanski","Armenteros-Podolanski phase space;#alpha;p_{t} arm",
-            100,-1.0,1.0,50,0,0.5,4,-0.5,3.5);
-  fHistArmenterosPodolanski->GetZaxis()->SetBinLabel(1,"All events");
-  fHistArmenterosPodolanski->GetZaxis()->SetBinLabel(3,"Triggered events");
-  fOutput->Add(fHistArmenterosPodolanski);
-
-  fHistArmPodBckg =
-    new TH3F("fHistArmPodBckg","Background: Armenteros-Podolanski phase space;#alpha;p_{t} arm",
-            100,-1.0,1.0,50,0,0.5,4,-0.5,3.5);
-  fHistArmPodBckg->GetZaxis()->SetBinLabel(1,"K0s: All events");
-  fHistArmPodBckg->GetZaxis()->SetBinLabel(2,"K0s: Trig events");
-  fHistArmPodBckg->GetZaxis()->SetBinLabel(3,"Lambda: All events");
-  fHistArmPodBckg->GetZaxis()->SetBinLabel(4,"Lambda: Trig events");
-  fOutput->Add(fHistArmPodBckg);
-  
-  // ****** K0s ******
-  fK0sMass = 
-    new TH3F("fK0sMass", "K^{0}_{s}: mass vs p_{T}",nbins/2,0.448,0.548,nbins,pMin,pMax,6,-0.5,5.5);
-  fK0sMass->GetXaxis()->SetTitle("Mass (GeV/c^2)"); 
-  fK0sMass->GetYaxis()->SetTitle("p_{T} (GeV/c)"); 
-  fK0sMass->GetZaxis()->SetBinLabel(1,"All events");
-  fK0sMass->GetZaxis()->SetBinLabel(2,"Central events");
-  fK0sMass->GetZaxis()->SetBinLabel(3,"Arm-Pod Cut");
-  fK0sMass->GetZaxis()->SetBinLabel(4,"Triggered events");
-  fK0sMass->GetZaxis()->SetBinLabel(5,"Triggered central events");
-  fOutput->Add(fK0sMass);
-
-  fK0sPtLtSB = 
-    new TH2F("fK0sPtLtSB","K^{0}_{s}: L_{T} vs p_{T}, side-band subtracted",
-            nbins,pMin,pMax,2*nbins,lMin,lMax);
-  fK0sPtLtSB->GetXaxis()->SetTitle("p_{T} (GeV/c)"); 
-  fK0sPtLtSB->GetYaxis()->SetTitle("L_{T} (cm)"); 
-  fOutput->Add(fK0sPtLtSB);
-
-  fK0sPtvsEta =
-    new TH3F("fK0sPtvsEta","K^{0}_{s}: p_{T} vs #eta",nbins,pMin,pMax,30,-1.5,1.5,4,-0.5,3.5);
-  fK0sPtvsEta->GetXaxis()->SetTitle("p_{T} (GeV/c)");
-  fK0sPtvsEta->GetYaxis()->SetTitle("#eta");
-  fK0sPtvsEta->GetZaxis()->SetBinLabel(1,"All events");
-  fK0sPtvsEta->GetZaxis()->SetBinLabel(2,"Triggered events");
-  fK0sPtvsEta->GetZaxis()->SetBinLabel(3,"All ev wi Inv Mass cut");
-  fK0sPtvsEta->GetZaxis()->SetBinLabel(4,"Trig ev wi Inv Mass cut");
-  fOutput->Add(fK0sPtvsEta);
-
-  fK0sPtvsRap =
-    new TH3F("fK0sPtvsRap","K^{0}_{s}: p_{T} vs y",nbins,pMin,pMax,30,-1.5,1.5,4,-0.5,3.5);
-  fK0sPtvsRap->GetXaxis()->SetTitle("p_{T} (GeV/c)");
-  fK0sPtvsRap->GetYaxis()->SetTitle("y");
-  fK0sPtvsRap->GetZaxis()->SetBinLabel(1,"All events");
-  fK0sPtvsRap->GetZaxis()->SetBinLabel(2,"Triggered events");
-  fK0sPtvsRap->GetZaxis()->SetBinLabel(3,"All ev wi Inv Mass cut");
-  fK0sPtvsRap->GetZaxis()->SetBinLabel(4,"Trig ev wi Inv Mass cut");
-  fOutput->Add(fK0sPtvsRap);
-
-  fK0sEtaPhi = 
-    new TH2F("fK0sEtaPhi","K^{0}_{s}: #phi vs #eta",
-            nbinsPhi,0.,2.*TMath::Pi(),100,-1.,1.);
-  fK0sEtaPhi->GetXaxis()->SetTitle("#phi (rad)"); 
-  fK0sEtaPhi->GetYaxis()->SetTitle("#eta"); 
-  fOutput->Add(fK0sEtaPhi);
-
-
-  fK0sMassPtPhi  = 
-    new TH3F("fK0sMassPtPhi","K^{0}_{s}: mass vs pt vs #phi",
-            nbins/2,0.448,0.548,nbins,pMin,pMax,nbinsPhi,0.,2.*TMath::Pi());
-  fK0sMassPtPhi->GetXaxis()->SetTitle("Mass (GeV/c^2)"); 
-  fK0sMassPtPhi->GetYaxis()->SetTitle("p_{T} (GeV/c)"); 
-  fK0sMassPtPhi->GetZaxis()->SetTitle("#phi (rad)"); 
-  fOutput->Add(fK0sMassPtPhi);
-
-
-  // Correlations:
-  fK0sMassPtvsPtL = 
-    new TH3F("fK0sMassPtvsPtL", "K^{0}_{s}: mass vs p_{T} vs p_{T,l}",
-            nbins/2,0.448,0.548,
-            nbins,pMin,pMax,
-            nbinPtLP,pMin,ptMaxLP);
-  fK0sMassPtvsPtL->GetXaxis()->SetTitle("Mass (GeV/c^2)"); 
-  fK0sMassPtvsPtL->GetYaxis()->SetTitle("p_{T} (GeV/c)"); 
-  fK0sMassPtvsPtL->GetZaxis()->SetTitle("p_{T,l} (GeV/c)"); 
-  fOutput->Add(fK0sMassPtvsPtL);
-
-  /*
-  fK0sSiPtL =
-    new TH3F("fK0sSiPtL","K^{0}_{s}: L_{T} vs p_{T} vs p_{t,L}, side-band subtracted",
-            nbins,pMin,pMax,2*nbins,lMin,lMax,
-            nbinPtLP,pMin,ptMaxLP);
-  fK0sSiPtL->GetXaxis()->SetTitle("p_{T} (GeV/c)"); 
-  fK0sSiPtL->GetYaxis()->SetTitle("L_{T} (cm)"); 
-  fK0sSiPtL->GetZaxis()->SetTitle("p_{T,l} (GeV/c)"); 
-  fOutput->Add(fK0sSiPtL);
-
-  fK0sDaughtersPt =
-    new TH2F("fK0sDaughtersPt","K^{0}_{s}: p_{T} of daughters",
-            nbins/2,pMin,pMax/2.,nbins/2,pMin,pMax/2.);
-  fK0sDaughtersPt->GetXaxis()->SetTitle("Neg. Daught p_{T} (GeV/c)"); 
-  fK0sDaughtersPt->GetYaxis()->SetTitle("Pos. Daught p_{T} (GeV/c)"); 
-  fOutput->Add(fK0sDaughtersPt);
-  */
-
-  fK0sdPhiPtAssocPtL =
-    new TH3F("fK0sdPhiPtAssocPtL","K^{0}_{s}: #Delta#phi vs  p_{T,a} vs p_{T,l}",
-            nbinsdPhi,-TMath::PiOver2(),3*TMath::PiOver2(),nbins,pMin,pMax,nbinPtLP,pMin,ptMaxLP);
-  fK0sdPhiPtAssocPtL->GetXaxis()->SetTitle("#Delta#phi (rad)"); 
-  fK0sdPhiPtAssocPtL->GetYaxis()->SetTitle("p_{T,a} (GeV/c)"); 
-  fK0sdPhiPtAssocPtL->GetZaxis()->SetTitle("p_{T,l} (GeV/c)"); 
-  fOutput->Add(fK0sdPhiPtAssocPtL);
-  
-
-  fK0sDCADaugToPrimVtx  
-    = new TH3F("fK0sDCADaugToPrimVtx","K^{0}_{S} Bckg: dca daughter vs. p_{T,l}",
-              90,0.,3.3,90,0.,3.3,nbinPtLP,pMin,ptMaxLP);
-  fK0sDCADaugToPrimVtx->GetXaxis()->SetTitle("DCA Pos daug (cm)"); 
-  fK0sDCADaugToPrimVtx->GetYaxis()->SetTitle("DCA Neg daug (cm)"); 
-  fK0sDCADaugToPrimVtx->GetZaxis()->SetTitle("p_{T,l} (GeV/c)"); 
-  fOutput->Add(fK0sDCADaugToPrimVtx);
-
-  //Double_t kVtxBins[] = {-10.,-7.,-4.,-2.,0.,2.,4.,7.,10.};
-  char hNameHist[256];
-  for(Int_t k=0;k<kN1;k++){
-
-    // Monte-Carlo level:
-    sprintf(hNameHist, "fK0sdPhidEtaMC_%.1f_%.1f",kPtBinV0[k],kPtBinV0[k+1]); 
-    fK0sdPhidEtaMC[k] = new TH3F(hNameHist,"K^{0}_{S} MC: #Delta#phi vs #Delta#eta vs p_{T,l}",
-                                 nbinsdPhi,-TMath::PiOver2(),3*TMath::PiOver2(),
-                                 nbinsdEta,-2.,2.,
-                                 nbinsVtx,-10.,10.);
-    fK0sdPhidEtaMC[k]->GetXaxis()->SetTitle("#Delta#phi (rad)"); 
-    fK0sdPhidEtaMC[k]->GetYaxis()->SetTitle("#Delta#eta"); 
-    fK0sdPhidEtaMC[k]->GetZaxis()->SetTitle("Vertex Z (cm)"); 
-    fOutput->Add(fK0sdPhidEtaMC[k]);
-  
-    sprintf(hNameHist, "fK0sdPhidEtaMC_Cent_%.1f_%.1f",kPtBinV0[k],kPtBinV0[k+1]); 
-    fK0sdPhidEtaMCCent[k] = new TH3F(hNameHist,"K^{0}_{S} MC: #Delta#phi vs #Delta#eta vs p_{T,l}",
-                                     nbinsdPhi,-TMath::PiOver2(),3*TMath::PiOver2(),
-                                     nbinsdEta,-2.,2.,
-                                     nbinsVtx,-10.,10.);
-    fK0sdPhidEtaMCCent[k]->GetXaxis()->SetTitle("#Delta#phi (rad)"); 
-    fK0sdPhidEtaMCCent[k]->GetYaxis()->SetTitle("#Delta#eta"); 
-    fK0sdPhidEtaMCCent[k]->GetZaxis()->SetTitle("Vertex Z (cm)");
-    fOutput->Add(fK0sdPhidEtaMCCent[k]);
-
-    // Reconstruction level:
-    sprintf(hNameHist, "fK0sdPhidEtaPtL_%.1f_%.1f",kPtBinV0[k],kPtBinV0[k+1]); 
-    fK0sdPhidEtaPtL[k] = new TH3F(hNameHist,"K^{0}_{S}: #Delta#phi vs #Delta#eta vs p_{T,l}",
-                                 nbinsdPhi,-TMath::PiOver2(),3*TMath::PiOver2(),
-                                 nbinsdEta,-2.,2.,
-                                 nbinsVtx,-10.,10.);
-    fK0sdPhidEtaPtL[k]->GetXaxis()->SetTitle("#Delta#phi (rad)"); 
-    fK0sdPhidEtaPtL[k]->GetYaxis()->SetTitle("#Delta#eta"); 
-    fK0sdPhidEtaPtL[k]->GetZaxis()->SetTitle("Vertex Z (cm)"); 
-    fOutput->Add(fK0sdPhidEtaPtL[k]);
-  
-    sprintf(hNameHist, "fK0sdPhidEtaPtL_Cent_%.1f_%.1f",kPtBinV0[k],kPtBinV0[k+1]); 
-    fK0sdPhidEtaPtLCent[k] = new TH3F(hNameHist,"K^{0}_{S}: #Delta#phi vs #Delta#eta vs p_{T,l}",
-                                     nbinsdPhi,-TMath::PiOver2(),3*TMath::PiOver2(),
-                                     nbinsdEta,-2.,2.,
-                                     nbinsVtx,-10.,10.);
-    fK0sdPhidEtaPtLCent[k]->GetXaxis()->SetTitle("#Delta#phi (rad)"); 
-    fK0sdPhidEtaPtLCent[k]->GetYaxis()->SetTitle("#Delta#eta"); 
-    fK0sdPhidEtaPtLCent[k]->GetZaxis()->SetTitle("Vertex Z (cm)");
-    fOutput->Add(fK0sdPhidEtaPtLCent[k]);
-
-    sprintf(hNameHist, "fK0sdPhidEtaPtL_Bckg_%.1f_%.1f",kPtBinV0[k],kPtBinV0[k+1]); 
-    fK0sdPhidEtaPtLBckg[k] = new TH3F(hNameHist,"K^{0}_{S}: #Delta#phi vs #Delta#eta vs p_{T,l}",
-                                     nbinsdPhi,-TMath::PiOver2(),3*TMath::PiOver2(),
-                                     nbinsdEta,-2.,2.,
-                                     nbinsVtx,-10.,10.);
-    fK0sdPhidEtaPtLBckg[k]->GetXaxis()->SetTitle("#Delta#phi (rad)"); 
-    fK0sdPhidEtaPtLBckg[k]->GetYaxis()->SetTitle("#Delta#eta"); 
-    fK0sdPhidEtaPtLBckg[k]->GetZaxis()->SetTitle("Vertex Z (cm)");
-    fOutput->Add(fK0sdPhidEtaPtLBckg[k]);
-
-    sprintf(hNameHist, "fK0sdPhidEtaPtL_Cent_Bckg_%.1f_%.1f",kPtBinV0[k],kPtBinV0[k+1]); 
-    fK0sdPhidEtaPtLCentBckg[k] = new TH3F(hNameHist,"K^{0}_{S}: #Delta#phi vs #Delta#eta vs p_{T,l}", 
-                                         nbinsdPhi,-TMath::PiOver2(),3*TMath::PiOver2(),
-                                         nbinsdEta,-2.,2.,
-                                         nbinsVtx,-10.,10.);
-    fK0sdPhidEtaPtLCentBckg[k]->GetXaxis()->SetTitle("#Delta#phi (rad)"); 
-    fK0sdPhidEtaPtLCentBckg[k]->GetYaxis()->SetTitle("#Delta#eta"); 
-    fK0sdPhidEtaPtLCentBckg[k]->GetZaxis()->SetTitle("Vertex Z (cm)");
-    fOutput->Add(fK0sdPhidEtaPtLCentBckg[k]);
-
-    // To be done with Armenteros Podolanski cut
-    sprintf(hNameHist, "fK0sdPhidEtaPtL2_%.1f_%.1f",kPtBinV0[k],kPtBinV0[k+1]); 
-    fK0sdPhidEtaPtL2[k] = new TH3F(hNameHist,"K^{0}_{S}: #Delta#phi vs #Delta#eta vs p_{T,l}",
-                                  nbinsdPhi,-TMath::PiOver2(),3*TMath::PiOver2(),
-                                  nbinsdEta,-2.,2.,
-                                  nbinsVtx,-10.,10.);
-    fK0sdPhidEtaPtL2[k]->GetXaxis()->SetTitle("#Delta#phi (rad)"); 
-    fK0sdPhidEtaPtL2[k]->GetYaxis()->SetTitle("#Delta#eta"); 
-    fK0sdPhidEtaPtL2[k]->GetZaxis()->SetTitle("Vertex Z (cm)");
-    fOutput->Add(fK0sdPhidEtaPtL2[k]);
-  
-    sprintf(hNameHist, "fK0sdPhidEtaPtL2_Cent_%.1f_%.1f",kPtBinV0[k],kPtBinV0[k+1]); 
-    fK0sdPhidEtaPtLCent2[k] = new TH3F(hNameHist,"K^{0}_{S}: #Delta#phi vs #Delta#eta vs p_{T,l}",
-                                      nbinsdPhi,-TMath::PiOver2(),3*TMath::PiOver2(),
-                                      nbinsdEta,-2.,2.,
-                                      nbinsVtx,-10.,10.);
-    fK0sdPhidEtaPtLCent2[k]->GetXaxis()->SetTitle("#Delta#phi (rad)"); 
-    fK0sdPhidEtaPtLCent2[k]->GetYaxis()->SetTitle("#Delta#eta"); 
-    fK0sdPhidEtaPtLCent2[k]->GetZaxis()->SetTitle("Vertex Z (cm)");
-    fOutput->Add(fK0sdPhidEtaPtLCent2[k]);
-
-    sprintf(hNameHist, "fK0sdPhidEtaPtL2_Bckg_%.1f_%.1f",kPtBinV0[k],kPtBinV0[k+1]); 
-    fK0sdPhidEtaPtLBckg2[k] = new TH3F(hNameHist,"K^{0}_{S}: #Delta#phi vs #Delta#eta vs p_{T,l}",
-                                      nbinsdPhi,-TMath::PiOver2(),3*TMath::PiOver2(),
-                                      nbinsdEta,-2.,2.,
-                                      nbinsVtx,-10.,10.);
-    fK0sdPhidEtaPtLBckg2[k]->GetXaxis()->SetTitle("#Delta#phi (rad)"); 
-    fK0sdPhidEtaPtLBckg2[k]->GetYaxis()->SetTitle("#Delta#eta"); 
-    fK0sdPhidEtaPtLBckg2[k]->GetZaxis()->SetTitle("Vertex Z (cm)");
-    fOutput->Add(fK0sdPhidEtaPtLBckg2[k]);
-
-    sprintf(hNameHist, "fK0sdPhidEtaPtL2_Cent_Bckg_%.1f_%.1f",kPtBinV0[k],kPtBinV0[k+1]); 
-    fK0sdPhidEtaPtLCentBckg2[k] = new TH3F(hNameHist,"K^{0}_{S}: #Delta#phi vs #Delta#eta vs p_{T,l}", 
-                                          nbinsdPhi,-TMath::PiOver2(),3*TMath::PiOver2(),
-                                          nbinsdEta,-2.,2.,
-                                          nbinsVtx,-10.,10.);
-    fK0sdPhidEtaPtLCentBckg2[k]->GetXaxis()->SetTitle("#Delta#phi (rad)"); 
-    fK0sdPhidEtaPtLCentBckg2[k]->GetYaxis()->SetTitle("#Delta#eta"); 
-    fK0sdPhidEtaPtLCentBckg2[k]->GetZaxis()->SetTitle("Vertex Z (cm)");
-    fOutput->Add(fK0sdPhidEtaPtLCentBckg2[k]);
-  }
-  
-  // Correlations (side-band):
-  fK0sBckgDecLength
-    = new TH2F("fK0sBckgDecLength","K^{0}_{S} Bckg: c#tau vs. p_{T,l}",
-              100,0.,15.,nbinPtLP,pMin,ptMaxLP);
-  fK0sBckgDecLength->GetXaxis()->SetTitle("c#tau (cm)"); 
-  fK0sBckgDecLength->GetYaxis()->SetTitle("p_{T,l} (GeV/c)"); 
-  fOutput->Add(fK0sBckgDecLength);
-
-  fK0sBckgDCADaugToPrimVtx  
-    = new TH3F("fK0sBckgDCADaugToPrimVtx","K^{0}_{S} Bckg: dca daughter vs. p_{T,l}",
-              90,0.,3.3,90,0.,3.3,nbinPtLP,pMin,ptMaxLP);
-  fK0sBckgDCADaugToPrimVtx->GetXaxis()->SetTitle("DCA Pos daug (cm)"); 
-  fK0sBckgDCADaugToPrimVtx->GetYaxis()->SetTitle("DCA Neg daug (cm)"); 
-  fK0sBckgDCADaugToPrimVtx->GetZaxis()->SetTitle("p_{T,l} (GeV/c)"); 
-  fOutput->Add(fK0sBckgDCADaugToPrimVtx);
-  
-  fK0sBckgEtaPhi = 
-    new TH2F("fK0sBckgEtaPhi","K^{0}_{s} Bckg: #phi vs #eta",
-            nbinsPhi,0.,2.*TMath::Pi(),100,-1.,1.);
-  fK0sBckgEtaPhi->GetXaxis()->SetTitle("#phi (rad)"); 
-  fK0sBckgEtaPhi->GetYaxis()->SetTitle("#eta"); 
-  fOutput->Add(fK0sBckgEtaPhi);
-
-  fK0sBckgPhiRadio
-    = new TH2F("fK0sBckgPhiRadio","K^{0}_{S} Bckg: #phi vs l_{T}",
-              nbinsPhi,0.,2.*TMath::Pi(),2*nbins,lMin,lMax);
-  fK0sBckgPhiRadio->GetXaxis()->SetTitle("#phi (rad)"); 
-  fK0sBckgPhiRadio->GetYaxis()->SetTitle("l_{T} (cm)"); 
-  fOutput->Add(fK0sBckgPhiRadio);
-  fK0sBckgDCANegDaugToPrimVtx  
-    = new TH2F("fK0sBckgDCANegDaugToPrimVtx","K^{0}_{S} Bckg: dca NegDaughter",
-              6,-0.5,5.5,90,0.,3.3);
-  fK0sBckgDCANegDaugToPrimVtx->GetXaxis()->SetTitle("MC Production"); 
-  fK0sBckgDCANegDaugToPrimVtx->GetXaxis()->SetBinLabel(1,"Rec");
-  fK0sBckgDCANegDaugToPrimVtx->GetXaxis()->SetBinLabel(2,"Primary");
-  fK0sBckgDCANegDaugToPrimVtx->GetXaxis()->SetBinLabel(3,"Weak Decay");
-  fK0sBckgDCANegDaugToPrimVtx->GetXaxis()->SetBinLabel(4,"Gamma conv.");
-  fK0sBckgDCANegDaugToPrimVtx->GetXaxis()->SetBinLabel(5,"Unidentified mother");
-  fK0sBckgDCANegDaugToPrimVtx->GetXaxis()->SetBinLabel(6,"Other");
-  fK0sBckgDCANegDaugToPrimVtx->GetYaxis()->SetTitle("DCA Neg Daug (cm)"); 
-  fOutput->Add(fK0sBckgDCANegDaugToPrimVtx);
-
-  fK0sBckgDCAPosDaugToPrimVtx  
-    = new TH2F("fK0sBckgDCAPosDaugToPrimVtx","K^{0}_{S} Bckg: dca PosDaughter",
-              6,-0.5,5.5,90,0.,3.3);
-  fK0sBckgDCAPosDaugToPrimVtx->GetXaxis()->SetTitle("MC Production"); 
-  fK0sBckgDCAPosDaugToPrimVtx->GetXaxis()->SetBinLabel(1,"Rec");
-  fK0sBckgDCAPosDaugToPrimVtx->GetXaxis()->SetBinLabel(2,"Primary");
-  fK0sBckgDCAPosDaugToPrimVtx->GetXaxis()->SetBinLabel(3,"Weak Decay");
-  fK0sBckgDCAPosDaugToPrimVtx->GetXaxis()->SetBinLabel(4,"Gamma conv.");
-  fK0sBckgDCAPosDaugToPrimVtx->GetXaxis()->SetBinLabel(5,"Unidentified mother");
-  fK0sBckgDCAPosDaugToPrimVtx->GetXaxis()->SetBinLabel(6,"Other");
-  fK0sBckgDCAPosDaugToPrimVtx->GetYaxis()->SetTitle("DCA Pos Daug (cm)"); 
-  fOutput->Add(fK0sBckgDCAPosDaugToPrimVtx);
-        
-  fK0sMassCascade
-    = new TH2F("fK0sMassCascade","Cascade Reconstruction in K^{0}_{S} Bckg",650, 1.2, 2.5,4,0.5,4.5);
-  fK0sMassCascade->GetXaxis()->SetTitle("Invariant Mass (GeV/c^{2})");
-  fK0sMassCascade->GetYaxis()->SetTitle("Cascade type");
-  fOutput->Add(fK0sMassCascade);
-
-
-  // ****** Lambda ******
-  fLambdaMass = 
-    new TH3F("fLambdaMass","Mass vs p_{T} for \\Lambda",nbins,1.065,1.165,nbins,pMin,pMax,6,-0.5,5.5);
-  fLambdaMass->GetXaxis()->SetTitle("Mass (GeV/c^2)");
-  fLambdaMass->GetYaxis()->SetTitle("p_{T} (GeV/c)"); 
-  fLambdaMass->GetZaxis()->SetBinLabel(1,"All events");
-  fLambdaMass->GetZaxis()->SetBinLabel(2,"Central events");
-  fLambdaMass->GetZaxis()->SetBinLabel(3,"Arm-Pod cut");
-  fLambdaMass->GetZaxis()->SetBinLabel(4,"Triggered events");
-  fLambdaMass->GetZaxis()->SetBinLabel(5,"Triggered central events");
-  fOutput->Add(fLambdaMass);
-  
-  fLambdaPtLtSB = 
-    new TH2F("fLambdaPtLtSB","L_{T} vs p_{T} for \\Lambda, side-band subtructed",
-            nbins,pMin,pMax,nbins,2*lMin,lMax);
-  fLambdaPtLtSB->GetXaxis()->SetTitle("p_{T} (GeV/c)"); 
-  fLambdaPtLtSB->GetYaxis()->SetTitle("L_{T} (cm)"); 
-  fOutput->Add(fLambdaPtLtSB);
-
-  fLambdaPtvsEta =
-    new TH3F("fLambdaPtvsEta","\\Lambda: p_{T} vs #eta",nbins,pMin,pMax,30,-1.5,1.5,4,-0.5,3.5);
-  fLambdaPtvsEta->GetXaxis()->SetTitle("p_{T} (GeV/c)");
-  fLambdaPtvsEta->GetYaxis()->SetTitle("#eta");
-  fK0sPtvsEta->GetXaxis()->SetTitle("p_{T} (GeV/c)");
-  fLambdaPtvsEta->GetYaxis()->SetTitle("#eta");
-  fLambdaPtvsEta->GetZaxis()->SetBinLabel(1,"All events");
-  fLambdaPtvsEta->GetZaxis()->SetBinLabel(2,"Triggered events");
-  fLambdaPtvsEta->GetZaxis()->SetBinLabel(3,"All ev wi Inv Mass cut");
-  fLambdaPtvsEta->GetZaxis()->SetBinLabel(4,"Trig ev wi Inv Mass cut");
-  fOutput->Add(fLambdaPtvsEta);
-
-  fLambdaPtvsRap =
-    new TH3F("fLambdaPtvsRap","\\Lambda: p_{T} vs y",nbins,pMin,pMax,30,-1.5,1.5,4,-0.5,3.5);
-  fLambdaPtvsRap->GetXaxis()->SetTitle("p_{T} (GeV/c)");
-  fLambdaPtvsRap->GetYaxis()->SetTitle("y");
-  fLambdaPtvsRap->GetYaxis()->SetTitle("#eta");
-  fLambdaPtvsRap->GetZaxis()->SetBinLabel(1,"All events");
-  fLambdaPtvsRap->GetZaxis()->SetBinLabel(2,"Triggered events");
-  fLambdaPtvsRap->GetZaxis()->SetBinLabel(3,"All ev wi Inv Mass cut");
-  fLambdaPtvsRap->GetZaxis()->SetBinLabel(4,"Trig ev wi Inv Mass cut");
-  fOutput->Add(fLambdaPtvsRap);
-
-  fLambdaEtaPhi =
-    new TH2F("fLambdaEtaPhi","#phi vs #eta for #Lambda",
-            nbinsPhi,0.,2.*TMath::Pi(),100,-1.,1.);
-  fLambdaEtaPhi->GetXaxis()->SetTitle("#phi (rad)"); 
-  fLambdaEtaPhi->GetYaxis()->SetTitle("#eta"); 
-  fOutput->Add(fLambdaEtaPhi);
-
-
- fLambdaMassPtPhi  = 
-    new TH3F("fLambdaMassPtPhi","#Lambda: mass vs pt vs #phi",
-            nbins/2,0.448,0.548,nbins,pMin,pMax,nbinsPhi,0.,2.*TMath::Pi());
-  fLambdaMassPtPhi->GetXaxis()->SetTitle("Mass (GeV/c^2)"); 
-  fLambdaMassPtPhi->GetYaxis()->SetTitle("p_{T} (GeV/c)"); 
-  fLambdaMassPtPhi->GetZaxis()->SetTitle("#phi (rad)"); 
-  fOutput->Add(fLambdaMassPtPhi);
-
-  fLambdadEdx = new TH2F("fLambdadEdx","dE/dx for protons of #Lambda",50,0.2,3,50,0.,6.);
-  fOutput->Add(fLambdadEdx);
-
-  //----------------------
-  fCPA = new TH1F("fCPA","Cosine of the pointing angle",30,0.9978,1.);
-  fOutput->Add(fCPA);
-  
-  fDCA = new TH1F("fDCA","DCA between the daughters",50,0.,1.1);
-  fOutput->Add(fDCA);
-  //----------------------
-
-  // Correlations:
-  fLambdaMassPtvsPtL = 
-    new TH3F("fLambdaMassPtvsPtL", "#Lambda: mass vs p_{T} vs p_{T,l}",
-            nbins,1.065,1.165,
-            nbins,pMin,pMax,
-            nbinPtLP,pMin,ptMaxLP);
-  fLambdaMassPtvsPtL->GetXaxis()->SetTitle("Mass (GeV/c^2)"); 
-  fLambdaMassPtvsPtL->GetYaxis()->SetTitle("p_{T} (GeV/c)"); 
-  fLambdaMassPtvsPtL->GetZaxis()->SetTitle("p_{T,l} (GeV/c)"); 
-  fOutput->Add(fLambdaMassPtvsPtL);
-
-  /*
-  fLambdaSiPtL =
-    new TH3F("fLambdaSiPtL","#Lambda: L_{T} vs p_{T} vs p_{t,L}, side-band subtracted",
-            nbins,pMin,pMax,2*nbins,lMin,lMax,
-            nbinPtLP,pMin,ptMaxLP);
-  fLambdaSiPtL->GetXaxis()->SetTitle("p_{T} (GeV/c)"); 
-  fLambdaSiPtL->GetYaxis()->SetTitle("L_{T} (cm)"); 
-  fLambdaSiPtL->GetZaxis()->SetTitle("p_{T,l} (GeV/c)"); 
-  fOutput->Add(fLambdaSiPtL);
-
-  fLambdaDaughtersPt =
-    new TH2F("fLambdaDaughtersPt","#Lambda: p_{T} of daughters",
-            nbins/2,pMin,pMax/2.,nbins/2,pMin,pMax/2.);
-  fLambdaDaughtersPt->GetXaxis()->SetTitle("Neg. Daught p_{T} (GeV/c)"); 
-  fLambdaDaughtersPt->GetYaxis()->SetTitle("Pos. Daught p_{T} (GeV/c)"); 
-  fOutput->Add(fLambdaDaughtersPt);
-  */
-
-  fLambdadPhiPtAssocPtL =
-    new TH3F("fLambdadPhiPtAssocPtL","#Lambda: #Delta#phi vs  p_{T,a} vs p_{T,l}",
-            nbinsPhi,-TMath::PiOver2(),3*TMath::PiOver2(),nbins,pMin,pMax,nbinPtLP,pMin,ptMaxLP);
-  fLambdadPhiPtAssocPtL->GetXaxis()->SetTitle("#Delta#phi (rad)"); 
-  fLambdadPhiPtAssocPtL->GetYaxis()->SetTitle("p_{T,a} (GeV/c)"); 
-  fLambdadPhiPtAssocPtL->GetZaxis()->SetTitle("p_{T,l} (GeV/c)"); 
-  fOutput->Add(fLambdadPhiPtAssocPtL);
-
-  fLambdaDCADaugToPrimVtx  
-    = new TH3F("fLambdaDCADaugToPrimVtx","#Lambda Bckg: dca daughter vs. p_{T,l}",
-              90,0.,3.3,90,0.,3.3,nbinPtLP,pMin,ptMaxLP);
-  fLambdaDCADaugToPrimVtx->GetXaxis()->SetTitle("DCA Pos daug (cm)"); 
-  fLambdaDCADaugToPrimVtx->GetYaxis()->SetTitle("DCA Neg daug (cm)"); 
-  fLambdaDCADaugToPrimVtx->GetZaxis()->SetTitle("p_{T,l} (GeV/c)"); 
-  fOutput->Add(fLambdaDCADaugToPrimVtx);
-
-
-  for(Int_t k=0;k<kN1;k++){
-
-    // Monte-Carlo level:
-    sprintf(hNameHist, "fLambdadPhidEtaMC_%.1f_%.1f",kPtBinV0[k],kPtBinV0[k+1]); 
-    fLambdadPhidEtaMC[k] = new TH3F(hNameHist,"#Lambda MC: #Delta#phi vs #Delta#eta vs p_{T,l}",
-                                 nbinsdPhi,-TMath::PiOver2(),3*TMath::PiOver2(),
-                                 nbinsdEta,-2.,2.,
-                                 nbinsVtx,-10.,10.);
-    fLambdadPhidEtaMC[k]->GetXaxis()->SetTitle("#Delta#phi (rad)"); 
-    fLambdadPhidEtaMC[k]->GetYaxis()->SetTitle("#Delta#eta"); 
-    fLambdadPhidEtaMC[k]->GetZaxis()->SetTitle("Vertex Z (cm)"); 
-    fOutput->Add(fLambdadPhidEtaMC[k]);
-  
-    sprintf(hNameHist, "fLambdadPhidEtaMC_Cent_%.1f_%.1f",kPtBinV0[k],kPtBinV0[k+1]); 
-    fLambdadPhidEtaMCCent[k] = new TH3F(hNameHist,"#Lambda MC: #Delta#phi vs #Delta#eta vs p_{T,l}",
-                                     nbinsdPhi,-TMath::PiOver2(),3*TMath::PiOver2(),
-                                     nbinsdEta,-2.,2.,
-                                     nbinsVtx,-10.,10.);
-    fLambdadPhidEtaMCCent[k]->GetXaxis()->SetTitle("#Delta#phi (rad)"); 
-    fLambdadPhidEtaMCCent[k]->GetYaxis()->SetTitle("#Delta#eta"); 
-    fLambdadPhidEtaMCCent[k]->GetZaxis()->SetTitle("Vertex Z (cm)");
-    fOutput->Add(fLambdadPhidEtaMCCent[k]);
-
-    // Reconstruction level:
-    sprintf(hNameHist, "fLambdadPhidEtaPtL_%.1f_%.1f",kPtBinV0[k],kPtBinV0[k+1]); 
-    fLambdadPhidEtaPtL[k] = new TH3F(hNameHist,"#Lambda: #Delta#phi vs #Delta#eta vs p_{T,l}",
-                                    nbinsdPhi,-TMath::PiOver2(),3*TMath::PiOver2(),
-                                    nbinsdEta,-2.,2.,
-                                    nbinsVtx,-10.,10.);
-    fLambdadPhidEtaPtL[k]->GetXaxis()->SetTitle("#Delta#phi (rad)"); 
-    fLambdadPhidEtaPtL[k]->GetYaxis()->SetTitle("#Delta#eta"); 
-    fLambdadPhidEtaPtL[k]->GetZaxis()->SetTitle("Vertex Z (cm)");
-    fOutput->Add(fLambdadPhidEtaPtL[k]);
-  
-    sprintf(hNameHist, "fLambdadPhidEtaPtL_Cent_%.1f_%.1f",kPtBinV0[k],kPtBinV0[k+1]); 
-    fLambdadPhidEtaPtLCent[k] = new TH3F(hNameHist,"#Lambda: #Delta#phi  vs #Delta#eta vs p_{T,l}",
-                                        nbinsdPhi,-TMath::PiOver2(),3*TMath::PiOver2(),
-                                        nbinsdEta,-2.,2.,
-                                        nbinsVtx,-10.,10.);
-    fLambdadPhidEtaPtLCent[k]->GetXaxis()->SetTitle("#Delta#phi (rad)"); 
-    fLambdadPhidEtaPtLCent[k]->GetYaxis()->SetTitle("#Delta#eta"); 
-    fLambdadPhidEtaPtLCent[k]->GetZaxis()->SetTitle("Vertex Z (cm)");
-    fOutput->Add(fLambdadPhidEtaPtLCent[k]);
-
-    sprintf(hNameHist, "fLambdadPhidEtaPtL_Bckg_%.1f_%.1f",kPtBinV0[k],kPtBinV0[k+1]); 
-    fLambdadPhidEtaPtLBckg[k] = new TH3F(hNameHist,"#Lambda: #Delta#phi  vs #Delta#eta vs p_{T,l}",
-                                        nbinsdPhi,-TMath::PiOver2(),3*TMath::PiOver2(),
-                                        nbinsdEta,-2.,2.,
-                                        nbinsVtx,-10.,10.);
-    fLambdadPhidEtaPtLBckg[k]->GetXaxis()->SetTitle("#Delta#phi (rad)"); 
-    fLambdadPhidEtaPtLBckg[k]->GetYaxis()->SetTitle("#Delta#eta"); 
-    fLambdadPhidEtaPtLBckg[k]->GetZaxis()->SetTitle("Vertex Z (cm)");
-    fOutput->Add(fLambdadPhidEtaPtLBckg[k]);
-
-    sprintf(hNameHist, "fLambdadPhidEtaPtL_Cent_Bckg_%.1f_%.1f",kPtBinV0[k],kPtBinV0[k+1]); 
-    fLambdadPhidEtaPtLCentBckg[k] = new TH3F(hNameHist,"#Lambda: #Delta#phi  vs #Delta#eta vs p_{T,l}",
-                                            nbinsdPhi,-TMath::PiOver2(),3*TMath::PiOver2(),
-                                            nbinsdEta,-2.,2.,
-                                            nbinsVtx,-10.,10.);
-    fLambdadPhidEtaPtLCentBckg[k]->GetXaxis()->SetTitle("#Delta#phi (rad)"); 
-    fLambdadPhidEtaPtLCentBckg[k]->GetYaxis()->SetTitle("#Delta#eta"); 
-    fLambdadPhidEtaPtLCentBckg[k]->GetZaxis()->SetTitle("Vertex Z (cm)");
-    fOutput->Add(fLambdadPhidEtaPtLCentBckg[k]);
-
-
-    //  To be used when the Armenteros Podolanski plot is applied
-    sprintf(hNameHist, "fLambdadPhidEtaPtL2_%.1f_%.1f",kPtBinV0[k],kPtBinV0[k+1]); 
-    fLambdadPhidEtaPtL2[k] = new TH3F(hNameHist,"#Lambda: #Delta#phi vs #Delta#eta vs p_{T,l}",
-                                     nbinsdPhi,-TMath::PiOver2(),3*TMath::PiOver2(),
-                                     nbinsdEta,-2.,2.,
-                                     nbinsVtx,-10.,10.);
-    fLambdadPhidEtaPtL2[k]->GetXaxis()->SetTitle("#Delta#phi (rad)"); 
-    fLambdadPhidEtaPtL2[k]->GetYaxis()->SetTitle("#Delta#eta"); 
-    fLambdadPhidEtaPtL2[k]->GetZaxis()->SetTitle("Vertex Z (cm)");
-    fOutput->Add(fLambdadPhidEtaPtL2[k]);
-  
-    sprintf(hNameHist, "fLambdadPhidEtaPtL2_Cent_%.1f_%.1f",kPtBinV0[k],kPtBinV0[k+1]); 
-    fLambdadPhidEtaPtLCent2[k] = new TH3F(hNameHist,"#Lambda: #Delta#phi  vs #Delta#eta vs p_{T,l}",
-                                         nbinsdPhi,-TMath::PiOver2(),3*TMath::PiOver2(),
-                                         nbinsdEta,-2.,2.,
-                                         nbinsVtx,-10.,10.);
-    fLambdadPhidEtaPtLCent2[k]->GetXaxis()->SetTitle("#Delta#phi (rad)"); 
-    fLambdadPhidEtaPtLCent2[k]->GetYaxis()->SetTitle("#Delta#eta"); 
-    fLambdadPhidEtaPtLCent2[k]->GetZaxis()->SetTitle("Vertex Z (cm)");
-    fOutput->Add(fLambdadPhidEtaPtLCent2[k]);
-
-    sprintf(hNameHist, "fLambdadPhidEtaPtL2_Bckg_%.1f_%.1f",kPtBinV0[k],kPtBinV0[k+1]); 
-    fLambdadPhidEtaPtLBckg2[k] = new TH3F(hNameHist,"#Lambda: #Delta#phi  vs #Delta#eta vs p_{T,l}",
-                                         nbinsdPhi,-TMath::PiOver2(),3*TMath::PiOver2(),
-                                         nbinsdEta,-2.,2.,
-                                         nbinsVtx,-10.,10.);
-    fLambdadPhidEtaPtLBckg2[k]->GetXaxis()->SetTitle("#Delta#phi (rad)"); 
-    fLambdadPhidEtaPtLBckg2[k]->GetYaxis()->SetTitle("#Delta#eta"); 
-    fLambdadPhidEtaPtLBckg2[k]->GetZaxis()->SetTitle("Vertex Z (cm)");
-    fOutput->Add(fLambdadPhidEtaPtLBckg2[k]);
-
-    sprintf(hNameHist, "fLambdadPhidEtaPtL2_Cent_Bckg_%.1f_%.1f",kPtBinV0[k],kPtBinV0[k+1]); 
-    fLambdadPhidEtaPtLCentBckg2[k] = new TH3F(hNameHist,"#Lambda: #Delta#phi  vs #Delta#eta vs p_{T,l}",
-                                             nbinsdPhi,-TMath::PiOver2(),3*TMath::PiOver2(),
-                                             nbinsdEta,-2.,2.,
-                                             nbinsVtx,-10.,10.);
-    fLambdadPhidEtaPtLCentBckg2[k]->GetXaxis()->SetTitle("#Delta#phi (rad)"); 
-    fLambdadPhidEtaPtLCentBckg2[k]->GetYaxis()->SetTitle("#Delta#eta"); 
-    fLambdadPhidEtaPtLCentBckg2[k]->GetZaxis()->SetTitle("Vertex Z (cm)");
-    fOutput->Add(fLambdadPhidEtaPtLCentBckg2[k]);
-
-  }
-  
-
-  // Correlations (side-band):
-  fLambdaBckgDecLength
-    = new TH2F("fLambdaBckgDecLength","#Lambda Bckg: c#tau vs. p_{T,l}",
-              100,0.,25.,nbinPtLP,pMin,ptMaxLP);
-  fLambdaBckgDecLength->GetXaxis()->SetTitle("c#tau (cm)"); 
-  fLambdaBckgDecLength->GetYaxis()->SetTitle("p_{T,l} (GeV/c)"); 
-  fOutput->Add(fLambdaBckgDecLength);
-  
-  fLambdaBckgDCADaugToPrimVtx  
-    = new TH3F("fLambdaBckgDCADaugToPrimVtx","#Lambda Bckg: dca daughter vs. p_{T,l}",
-              90,0.,3.3,90,0.,3.3,nbinPtLP,pMin,ptMaxLP);
-  fLambdaBckgDCADaugToPrimVtx->GetXaxis()->SetTitle("DCA Pos daug (cm)"); 
-  fLambdaBckgDCADaugToPrimVtx->GetYaxis()->SetTitle("DCA Neg daug (cm)"); 
-  fLambdaBckgDCADaugToPrimVtx->GetZaxis()->SetTitle("p_{T,l} (GeV/c)"); 
-  fOutput->Add(fLambdaBckgDCADaugToPrimVtx);
-  
-  fLambdaBckgEtaPhi = 
-    new TH2F("fLambdaBckgEtaPhi","#Lambda Bckg: #phi vs #eta",
-            nbinsPhi,0.,2.*TMath::Pi(),100,-1.,1.);
-  fLambdaBckgEtaPhi->GetXaxis()->SetTitle("#phi (rad)"); 
-  fLambdaBckgEtaPhi->GetYaxis()->SetTitle("#eta"); 
-  fOutput->Add(fLambdaBckgEtaPhi);
-    
-  fLambdaBckgPhiRadio
-    = new TH2F("fLambdaBckgPhiRadio","#Lambda Bckg: #phi vs l_{T}",
-              nbinsPhi,0.,2.*TMath::Pi(),2*nbins,lMin,lMax);
-  fLambdaBckgPhiRadio->GetXaxis()->SetTitle("#phi (rad)"); 
-  fLambdaBckgPhiRadio->GetYaxis()->SetTitle("l_{T} (cm)"); 
-  fOutput->Add(fLambdaBckgPhiRadio);
-
-
-  fLambdaBckgDCANegDaugToPrimVtx  
-    = new TH2F("fLambdaBckgDCANegDaugToPrimVtx","#Lambda Bckg: dca NegDaughter",
-              6,-0.5,5.5,90,0.,3.3);
-  fLambdaBckgDCANegDaugToPrimVtx->GetXaxis()->SetTitle("MC Production"); 
-  fLambdaBckgDCANegDaugToPrimVtx->GetXaxis()->SetBinLabel(1,"Rec");
-  fLambdaBckgDCANegDaugToPrimVtx->GetXaxis()->SetBinLabel(2,"Primary");
-  fLambdaBckgDCANegDaugToPrimVtx->GetXaxis()->SetBinLabel(3,"Weak Decay");
-  fLambdaBckgDCANegDaugToPrimVtx->GetXaxis()->SetBinLabel(4,"Gamma conv.");
-  fLambdaBckgDCANegDaugToPrimVtx->GetXaxis()->SetBinLabel(5,"Unidentified mother");
-  fLambdaBckgDCANegDaugToPrimVtx->GetXaxis()->SetBinLabel(6,"Other");
-  fLambdaBckgDCANegDaugToPrimVtx->GetYaxis()->SetTitle("DCA Neg Daug (cm)"); 
-  fOutput->Add(fLambdaBckgDCANegDaugToPrimVtx);
-
-
-  fLambdaBckgDCAPosDaugToPrimVtx  
-    = new TH2F("fLambdaBckgDCAPosDaugToPrimVtx","#Lambda Bckg: dca PosDaughter",
-              6,-0.5,5.5,90,0.,3.3);
-  fLambdaBckgDCAPosDaugToPrimVtx->GetXaxis()->SetTitle("MC Production"); 
-  fLambdaBckgDCAPosDaugToPrimVtx->GetXaxis()->SetBinLabel(1,"Rec");
-  fLambdaBckgDCAPosDaugToPrimVtx->GetXaxis()->SetBinLabel(2,"Primary");
-  fLambdaBckgDCAPosDaugToPrimVtx->GetXaxis()->SetBinLabel(3,"Weak Decay");
-  fLambdaBckgDCAPosDaugToPrimVtx->GetXaxis()->SetBinLabel(4,"Gamma conv.");
-  fLambdaBckgDCAPosDaugToPrimVtx->GetXaxis()->SetBinLabel(5,"Unidentified mother");
-  fLambdaBckgDCAPosDaugToPrimVtx->GetXaxis()->SetBinLabel(6,"Other");
-  fLambdaBckgDCAPosDaugToPrimVtx->GetYaxis()->SetTitle("DCA Pos Daug (cm)"); 
-  fOutput->Add(fLambdaBckgDCAPosDaugToPrimVtx);
-
-
-  fLambdaMassCascade
-    = new TH2F("fLambdaMassCascade","Cascade Reconstruction in #Lambda Bckg",650, 1.2, 2.5,4,0.5,4.5);
-  fLambdaMassCascade->GetXaxis()->SetTitle("Invariant Mass (GeV/c^{2})");
-  fLambdaMassCascade->GetYaxis()->SetTitle("Cascade type");
-  fOutput->Add(fLambdaMassCascade);
-
-  
-  //----------------------
-
-  PostData(1, fOutput);
-  
-}
-
-//___________________________________________________________________________________________
-
-static Bool_t AcceptTrack(const AliAODTrack *t) 
-{
-  // Track criteria for primaries particles 
-  if (!t->IsOn(AliAODTrack::kTPCrefit)) return kFALSE;
-  
-  Float_t nCrossedRowsTPC = t->GetTPCClusterInfo(2,1); 
-  if (nCrossedRowsTPC < 70) return kFALSE;
-  Int_t findable=t->GetTPCNclsF();
-  if(findable <= 0) return kFALSE;
-  if(nCrossedRowsTPC/findable < 0.8) return kFALSE;
-  return kTRUE;   
-}
-
-
-//___________________________________________________________________________________________
-
-static Bool_t AcceptTrackV0(const AliAODTrack *t) 
-{ 
-  // Track criteria for daughter particles of V0 candidate 
-
-  if (!t->IsOn(AliAODTrack::kTPCrefit)) return kFALSE;
-  //if (t->GetKinkIndex(0)>0) return kFALSE;
-  
-  Float_t nCrossedRowsTPC = t->GetTPCClusterInfo(2,1); 
-  if (nCrossedRowsTPC < 70) return kFALSE;
-  Int_t findable=t->GetTPCNclsF();
-  if(findable <= 0) return kFALSE;
-  if(nCrossedRowsTPC/findable < 0.8) return kFALSE;
-  
-  return kTRUE;   
-}
-
-
-//___________________________________________________________________________________________
-
-Bool_t AliAnalysisTaskLambdaOverK0sJets::AcceptV0(AliAODVertex *vtx, const AliAODv0 *v1) 
-{ 
-  // Selection for accepting V0 candidates 
-
-  if (v1->GetOnFlyStatus()) return kFALSE;
-  
-  //if (v1->Pt() < pMin) return kFALSE; ***
-  
-  const AliAODTrack *ntrack1=(AliAODTrack *)v1->GetDaughter(1);
-  const AliAODTrack *ptrack1=(AliAODTrack *)v1->GetDaughter(0);
-    
-  if( !ntrack1 || !ptrack1 ) return kFALSE;
-  if( !AcceptTrackV0(ntrack1) ) return kFALSE;
-  if( !AcceptTrackV0(ptrack1) ) return kFALSE;
-  
-  if( ntrack1->Charge() == ptrack1->Charge()) 
-    return kFALSE;
-
-  // Daughters: pseudo-rapidity cut
-  if ( TMath::Abs(ntrack1->Eta()) > fMaxEtaDaughter  ||
-       TMath::Abs(ptrack1->Eta()) > fMaxEtaDaughter  )
-    return kFALSE;
-
-  // Daughters: transverse momentum cut
-  if ( ( ntrack1->Pt() < fMinPtDaughter ) || 
-       ( ptrack1->Pt() < fMinPtDaughter )  ) 
-    return kFALSE;
-  
-  // Daughters: Impact parameter of daughter to prim vtx
-  Float_t xy = v1->DcaNegToPrimVertex();
-  if (TMath::Abs(xy)<fDCAToPrimVtx) return kFALSE;
-  xy = v1->DcaPosToPrimVertex();
-  if (TMath::Abs(xy)<fDCAToPrimVtx) return kFALSE;
-
-  // Daughters: DCA
-  Double_t dca = v1->DcaV0Daughters();
-  if (dca>fMaxDCADaughter) return kFALSE;
-
-  // V0: Cosine of the pointing angle
-  Double_t cpa=v1->CosPointingAngle(vtx);
-  if (cpa<fMinCPA) return kFALSE;
-
-  // V0: Fiducial volume
-  Double_t xyz[3]; v1->GetSecondaryVtx(xyz);
-  Double_t r2=xyz[0]*xyz[0] + xyz[1]*xyz[1];
-  if (r2<0.9*0.9) return kFALSE;
-  if (r2>lMax*lMax) return kFALSE;
-
-  return kTRUE;
-}
-
-//___________________________________________________________________________________________
-
-static Double_t dPHI(Double_t phi1, Double_t phi2) 
-{ 
-  // Calculate the phi difference between two tracks  
-  Double_t deltaPhi = phi1 - phi2;
-  
-  if (deltaPhi<-TMath::PiOver2())    deltaPhi = deltaPhi + 2*(TMath::Pi());
-  if (deltaPhi>(3*TMath::PiOver2()))  deltaPhi = deltaPhi - 2*(TMath::Pi());
-  return deltaPhi;
-}
-
-//___________________________________________________________________________________________
-
-static Double_t MyRapidity(Double_t rE, Double_t rPz)
-{ 
-  // Local method for rapidity
-  return 0.5*TMath::Log((rE+rPz)/(rE-rPz+1.e-13));
-} 
-
-//___________________________________________________________________________________________
-
-static Int_t EqualPt(AliAODTrack *trk, const AliAODTrack *nTrk, const AliAODTrack *pTrk)
-{ 
-  // Local method to compaire the momentum between two tracks
-
-  double const kEpsilon = 0.000001;
-  Int_t    isSamePt = 0;
-
-  Double_t p[3];     trk->GetPxPyPz(p);
-  Double_t pNegTrk[3]; nTrk->GetPxPyPz(pNegTrk);
-  Double_t pPosTrk[3]; pTrk->GetPxPyPz(pPosTrk);
-  
-  if( (  fabs(p[0]-pNegTrk[0])<kEpsilon && 
-        fabs(p[1]-pNegTrk[1])<kEpsilon && 
-        fabs(p[2]-pNegTrk[2])<kEpsilon ) 
-      ||
-      (  fabs(p[0]-pPosTrk[0])<kEpsilon && 
-        fabs(p[1]-pPosTrk[1])<kEpsilon && 
-        fabs(p[2]-pPosTrk[2])<kEpsilon ) )   
-    isSamePt = 1;
-  
-  return isSamePt;
-
-}
-
-//___________________________________________________________________________________________
-
-void AliAnalysisTaskLambdaOverK0sJets::RecCascade(AliAODTrack *trk1,const AliAODTrack *trk2,const AliAODTrack *trkBch,TString histo)
-{
-  // Local method to reconstruct cascades candidates from the combinations of three tracks
-  // The input tracks correspond to the trigger particle and the daughter tracks of the V0 candidate (correlation step)
-  // The trigger particle track will be always consider as a possible daughter of the V0 which coming from the Cascade decay.
-  // The daughters of the V0 candidates are switched to be the bachelor track for the Cascade reconstruction.
-
-  Double_t lMassBach=0., lPtot2Bach=0., lEBach=0.;
-  Double_t lMassLambda=0., lPtot2Lambda=0., lELambda = 0.; 
-  Double_t pLambda[3] = {0.,0.,0.};
-  Double_t pCascade[3] = {0.,0.,0.};
-  Double_t lMassCascade = 0., lPtot2Cascade=0.;
-
-  // Two loops are done to consider the posibility to reconstruct a Xi or an Omega
-  for(Int_t i=0;i<2;i++){
-
-    // 0. Check the charge for both tracks: trk1 & trk2. 
-    //    Usefull in the Lambda step.
-    if( trk1->Charge() == trk2->Charge() ) 
-      continue;
-   
-    // 1. Bachelor: Allocation for the track
-    if(i==0) // Xi 
-      lMassBach = TDatabasePDG::Instance()->GetParticle(kPiMinus)->Mass();
-    else if(i==1) //Omega
-      lMassBach = TDatabasePDG::Instance()->GetParticle(kKMinus)->Mass();
-
-    lPtot2Bach = TMath::Power(trkBch->P(),2);
-
-    lEBach = TMath::Sqrt(lPtot2Bach + lMassBach*lMassBach);
-
-    // 2. Lambda: Kinematical properties
-    lMassLambda = TDatabasePDG::Instance()->GetParticle(kLambda0)->Mass();
-      
-    pLambda[0] = trk1->Px() + trk2->Px();
-    pLambda[1] = trk1->Py() + trk2->Py();
-    pLambda[2] = trk1->Pz() + trk2->Pz();
-
-    lPtot2Lambda = pLambda[0]*pLambda[0] +  pLambda[1]*pLambda[1] +  pLambda[2]*pLambda[2];
-
-    lELambda = TMath::Sqrt(lPtot2Lambda + lMassLambda*lMassLambda);
-
-    // 3. Cascade: Reconstruction
-    pCascade[0] = pLambda[0] + trkBch->Px();
-    pCascade[1] = pLambda[1] + trkBch->Py();
-    pCascade[2] = pLambda[2] + trkBch->Pz();
-
-    lPtot2Cascade = pCascade[0]*pCascade[0] + pCascade[1]*pCascade[1] + pCascade[2]*pCascade[2];
-
-    lMassCascade = TMath::Sqrt( TMath::Power(lEBach+lELambda,2) - lPtot2Cascade );
-   
-    // 4. Filling histograms
-    if( histo.Contains("K0s") ) {
-      if(i==0)
-       fK0sMassCascade->Fill(lMassCascade,1);
-      else if(i==1)
-       fK0sMassCascade->Fill(lMassCascade,3);
-    }
-    else if( histo.Contains("Lambda") ) {
-      if(i==0)
-       fLambdaMassCascade->Fill(lMassCascade,1);
-      else if(i==1)
-       fLambdaMassCascade->Fill(lMassCascade,3);
-    }
-
-
-  }
-
-}
-
-//___________________________________________________________________________________________
-TArrayD* AliAnalysisTaskLambdaOverK0sJets::V0Loop(AliAODTrack *trkTrig, V0LoopStep_t step, Bool_t isTriggered) 
-{ 
-  // Three options for the 'step' variable:
-  // 1) TriggerCheck
-  // 2) Reconstruction and Correlation
-  // 3) Mixed event
-
-  Double_t ptTrig  = -100.;
-  Double_t phiTrig = -100.;
-  Double_t etaTrig = -100.;
-
-  if( step==kTriggerCheck || isTriggered ){
-    ptTrig  = trkTrig->Pt();
-    phiTrig = trkTrig->Phi();
-    etaTrig = trkTrig->Eta();
-  }
-  
-  // ---- 1) TriggerCheck: Variables used to crosscheck if trigger particle is a V0 daughter ---- //
-  Int_t    isTrigFromV0daug = 0, isV0LP = 0;
-  Double_t ptV0LP = -1000.;
-
-
-  // *************************************************
-  // Centrality selection
-  AliCentrality *cent = fAOD->GetCentrality();
-  Double_t centrality = cent->GetCentralityPercentile("V0M");
-
-  // *************************************************
-  // MC Event
-  TClonesArray *stackMC = 0x0;
-  Double_t mcXv=0., mcYv=0., mcZv=0.;
-   
-  if(fIsMC){
-    TList *lst = fAOD->GetList();
-    stackMC = (TClonesArray*)lst->FindObject(AliAODMCParticle::StdBranchName());
-    if (!stackMC) {
-      Printf("ERROR: stack not available");
-    }
-
-    AliAODMCHeader *mcHdr = 
-      (AliAODMCHeader*)lst->FindObject(AliAODMCHeader::StdBranchName());
-    
-    mcXv=mcHdr->GetVtxX(); mcYv=mcHdr->GetVtxY(); mcZv=mcHdr->GetVtxZ();
-  }
-  
-  // *************************************************
-  // V0 loop - AOD
-  const AliAODVertex *vtx=fAOD->GetPrimaryVertex();
-  Double_t xv=vtx->GetX(), yv=vtx->GetY(), zv=vtx->GetZ();
-  Int_t nV0sTot = fAOD->GetNumberOfV0s();
-  for (Int_t iV0 = 0; iV0 < nV0sTot; iV0++) {
-    
-    AliAODv0 *v0=fAOD->GetV0(iV0);
-    if (!v0) continue;
-    if (!AcceptV0(fAOD->GetPrimaryVertex(),v0)) continue;
-    
-    const AliAODTrack *ntrack=(AliAODTrack *)v0->GetDaughter(1);
-    const AliAODTrack *ptrack=(AliAODTrack *)v0->GetDaughter(0);
-    
-    // Decay vertex
-    Double_t xyz[3]; v0->GetSecondaryVtx(xyz);
-    Double_t dx=xyz[0]-xv, dy=xyz[1]-yv;
-
-    // Decay lenght and pt
-    Double_t lt=TMath::Sqrt(dx*dx + dy*dy);
-    Double_t pt=TMath::Sqrt(v0->Pt2V0());
-
-    Double_t dlK = 0.4977*lt/pt;
-    Double_t dlL = 1.1157*lt/pt; 
-
-    // ctau
-    Bool_t ctK=kTRUE; if (dlK > fMaxCtau*2.68 || dlK < fMinCtau*2.68) ctK=kFALSE; 
-    Bool_t ctL=kTRUE; if (dlL > fMaxCtau*7.89 || dlL < fMinCtau*7.89) ctL=kFALSE; 
-
-    // Armenteros variables:
-    Double_t lAlphaV0      =  v0->AlphaV0();
-    Double_t lPtArmV0      =  v0->PtArmV0();
-    
-    // MC Association:
-    Bool_t lComeFromSigma     = kFALSE; 
-    Bool_t lCheckMcK0Short    = kFALSE;
-    Bool_t lCheckMcLambda     = kFALSE;
-    Bool_t lCheckMcAntiLambda = kFALSE;
-       
-    Int_t lMCAssocNegDaug = 0;
-    Int_t lMCAssocPosDaug = 0;  
-    
-    // ********* MC - Association *********
-    // In case of injected-MC, the correlations might be done with only natural particles 
-    Bool_t isNaturalPart = kTRUE;
-    if(step==kCorrelation){ //Correlation
-      
-      if(fIsMC){        
-       if(!stackMC) goto noas;
-
-       Int_t ntrkMC=stackMC->GetEntriesFast();
-       
-       Int_t nlab = TMath::Abs(ntrack->GetLabel());//** UInt_t
-       Int_t plab = TMath::Abs(ptrack->GetLabel());
-  
-       // To avoid futher problems 
-       if ( (nlab<0 || plab<0) ||
-            (nlab>=ntrkMC || plab>=ntrkMC) )
-         goto noas;      
-
-       AliAODMCParticle *nPart=(AliAODMCParticle*)stackMC->UncheckedAt(nlab);
-       AliAODMCParticle *pPart=(AliAODMCParticle*)stackMC->UncheckedAt(plab);
-       // MC origin of daughters: Primaries?
-       if( nPart->IsPhysicalPrimary() ) lMCAssocNegDaug = 1;
-       if( pPart->IsPhysicalPrimary() ) lMCAssocPosDaug = 1;
-
-       if(!nPart || !pPart)   goto noas;
-       
-       if ( TMath::Abs(nPart->Eta()) > fMaxEtaDaughter ||
-            TMath::Abs(pPart->Eta()) > fMaxEtaDaughter )
-         goto noas;
-       
-       // Daughter momentum cut
-       if ( ( nPart->Pt() < fMinPtDaughter ) || 
-            ( pPart->Pt() < fMinPtDaughter )  ) 
-         goto noas;
-       
-       // ----------------------------------------
-       
-       Int_t lPDGCodeNegDaughter = nPart->GetPdgCode();
-       Int_t lPDGCodePosDaughter = pPart->GetPdgCode();
-       
-       Int_t ipMother = pPart->GetMother();
-       Int_t inMother = nPart->GetMother();
-       
-       if(inMother<0 || inMother>=ntrkMC) lMCAssocNegDaug = 5;
-       if(ipMother<0 || ipMother>=ntrkMC) lMCAssocPosDaug = 5;
-
-       if(inMother<0 || inMother>=ntrkMC) {  goto noas;}
-       if(inMother != ipMother) { // did the negative daughter decay ?
-         AliAODMCParticle *negMotherOfMotherPart = (AliAODMCParticle*)stackMC->UncheckedAt(inMother);
-         if (negMotherOfMotherPart->GetMother() != ipMother) 
-           goto noas;
-       }
-       
-       if (ipMother<0 || ipMother>=ntrkMC)
-         goto noas;     
-       
-       AliAODMCParticle *p0=(AliAODMCParticle*)stackMC->UncheckedAt(ipMother);
-       if(!p0) 
-         goto noas; 
-
-       // ----------------------------------------
-       
-       if ( (ipMother>=fEndOfHijingEvent) && 
-            (fEndOfHijingEvent!=-1)     && 
-            (p0->GetMother()<0) ) 
-         isNaturalPart = kFALSE; 
-       else  isNaturalPart = kTRUE; 
-
-       // ----------------------------------------
-       
-       if(fSeparateInjPart && !isNaturalPart) goto noas;     
-       
-       Int_t lPDGCodeV0 = p0->GetPdgCode();
-       
-       // MC origin of daughters:
-       //Decay from Weak Decay?
-       if( (TMath::Abs(lPDGCodeV0) == kK0Short) || (TMath::Abs(lPDGCodeV0) == kLambda0) || 
-           (TMath::Abs(lPDGCodeV0) == kSigmaMinus) || (TMath::Abs(lPDGCodeV0) == kSigmaPlus) ||
-           (TMath::Abs(lPDGCodeV0) == kSigma0) || (TMath::Abs(lPDGCodeV0) == kXiMinus) ||
-           (TMath::Abs(lPDGCodeV0) == kOmegaMinus) )
-         { lMCAssocNegDaug = 2;          lMCAssocPosDaug = 2; }
-       // Gamma conversion
-       else if( TMath::Abs(lPDGCodeV0) == kGamma )
-         { lMCAssocNegDaug = 3;          lMCAssocPosDaug = 3; }
-       // Unidentied mother:
-       else 
-         { lMCAssocNegDaug = 4;          lMCAssocPosDaug = 4; }
-
-
-       Int_t lIndexMotherOfMother   = p0->GetMother();
-       Int_t lPdgcodeMotherOfMother = 0;
-       if (lIndexMotherOfMother ==-1) lPdgcodeMotherOfMother = 0;
-       else {
-         AliAODMCParticle *lMCAODMotherOfMother=(AliAODMCParticle*)stackMC->UncheckedAt(lIndexMotherOfMother);
-         if (!lMCAODMotherOfMother) {lPdgcodeMotherOfMother=0;}
-         lPdgcodeMotherOfMother = lMCAODMotherOfMother->GetPdgCode();
-       }
-       
-       // Daughter momentum cut: ! FIX it in case of AOD ! //MC or REc
-       if ( (nPart->Pt()  < fMinPtDaughter ) ||
-            (pPart->Pt()  < fMinPtDaughter ) )
-         goto noas;
-       
-       if( (lPDGCodeV0 != kK0Short) &&
-           (lPDGCodeV0 != kLambda0) &&
-           (lPDGCodeV0 != kLambda0Bar) ) 
-         goto noas;
-       
-
-       lComeFromSigma     = kFALSE; 
-       lCheckMcK0Short    = kFALSE;
-       lCheckMcLambda     = kFALSE;
-       lCheckMcAntiLambda = kFALSE;
-            
-       // ----------------------------------------
-      
-       // K0s
-       if( (lPDGCodePosDaughter==+211) && (lPDGCodeNegDaughter==-211) &&
-           (inMother==ipMother) && (lPDGCodeV0==310) ) {
-         
-         if ( ((AliAODMCParticle*)stackMC->UncheckedAt(ipMother))->IsPrimary()  )
-           lCheckMcK0Short  = kTRUE;
-         
-       }
-       // Lambda
-       else if( (lPDGCodePosDaughter==+2212) && (lPDGCodeNegDaughter==-211)  &&
-                (inMother==ipMother) && (lPDGCodeV0==3122)  ){
-         
-         if ( ( TMath::Abs(lPdgcodeMotherOfMother) == 3212) ||
-              ( TMath::Abs(lPdgcodeMotherOfMother) == 3224) ||
-              ( TMath::Abs(lPdgcodeMotherOfMother) == 3214) ||
-              ( TMath::Abs(lPdgcodeMotherOfMother) == 3114)
-              ) lComeFromSigma = kTRUE;
-         else lComeFromSigma = kFALSE; 
-         
-         if ( ((AliAODMCParticle*)stackMC->UncheckedAt(ipMother))->IsPrimary() || 
-              ( !(((AliAODMCParticle*)stackMC->UncheckedAt(ipMother))->IsPrimary() ) 
-                && (lComeFromSigma==kTRUE) )
-              ) lCheckMcLambda  = kTRUE; 
-         
-       }
-       // AntiLambda
-       else if( (lPDGCodePosDaughter==211) && (lPDGCodeNegDaughter==-2212) &&
-                (inMother==ipMother) && (lPDGCodeV0==-3122) ) {
-         
-         
-         if ( ( TMath::Abs(lPdgcodeMotherOfMother) == 3212) ||
-              ( TMath::Abs(lPdgcodeMotherOfMother) == 3224) ||
-              ( TMath::Abs(lPdgcodeMotherOfMother) == 3214) ||
-              ( TMath::Abs(lPdgcodeMotherOfMother) == 3114)
-              ) lComeFromSigma = kTRUE;
-         else lComeFromSigma = kFALSE;  
-         
-         if ( ((AliAODMCParticle*)stackMC->UncheckedAt(ipMother))->IsPrimary() || 
-              ( (!((AliAODMCParticle*)stackMC->UncheckedAt(ipMother))->IsPrimary()) 
-                && (lComeFromSigma==kTRUE) )
-              ) lCheckMcAntiLambda  = kTRUE;
-         
-       }
-       
-       //  ----------------------------------------
-       
-       if ((p0->Pt())<pMin) goto noas;
-       if (TMath::Abs(p0->Y())>fYMax ) goto noas;
-       
-       Double_t dxAs = mcXv - p0->Xv(),  dyAs = mcYv - p0->Yv(),  dzAs = mcZv - p0->Zv();
-       Double_t l = TMath::Sqrt(dxAs*dxAs + dyAs*dyAs + dzAs*dzAs);
-       
-       dxAs = mcXv - pPart->Xv(); dyAs = mcYv - pPart->Yv();
-       //Double_t ltAs = TMath::Sqrt(dxAs*dxAs + dyAs*dyAs);
-       Double_t ptAs = p0->Pt();
-       Double_t rapAs = p0->Y();
-       Double_t etaAs = p0->Eta();
-       
-       if (l < 0.01) { // Primary V0
-         
-         if(ctK && lCheckMcK0Short){ 
-           fK0sAssocPt->Fill(ptAs);
-           fK0sAssocPtLt->Fill(ptAs,rapAs,centrality);
-           fK0sAssocPtRap->Fill(ptAs,rapAs);
-           fK0sAssocPtEta->Fill(ptAs,etaAs);
-           
-           if(lPtArmV0 > TMath::Abs(0.2*lAlphaV0) )
-             fK0sAssocPtLtArm->Fill(ptAs,rapAs,centrality);
-
-         }
-         else if(ctL && lCheckMcLambda) {    
-           fLambdaAssocPt->Fill(ptAs);
-           fLambdaAssocPtLt->Fill(ptAs,rapAs,centrality);
-           fLambdaAssocPtRap->Fill(ptAs,rapAs);
-           fLambdaAssocPtEta->Fill(ptAs,etaAs);
-
-           if(lPtArmV0 < TMath::Abs(0.2*lAlphaV0) )
-             fLambdaAssocPtLtArm->Fill(ptAs,rapAs,centrality);
-         }
-         /*
-         else if (ctL && lCheckMcAntiLambda){
-           fAntiLambdaAssocPt->Fill(ptAs);
-           fAntiLambdaAssocPtLt->Fill(ptAs,ltAs,centrality);
-           fAntiLambdaAssocPtRap->Fill(ptAs,rapAs);
-           fAntiLambdaAssocPtEta->Fill(ptAs,etaAs);
-         }
-         */
-         
-       } 
-       
-       // After the kinematical selection of K0s and Lambdas
-       // it might be that the daugthers are not identified through MC Association
-       if(lMCAssocNegDaug==0)
-         lMCAssocNegDaug = 5;
-       if(lMCAssocPosDaug==0)
-         lMCAssocPosDaug = 5;
-       
-       
-      } // End MC-Association 
-      
-      // ************************************
-      
-    }// End Correlation Step
-    
-  noas:
-
-    Double_t pNeg = -100.;
-    Double_t pPos = -100.;
-    Double_t dedxNeg = -1000.;
-    Double_t dedxPos = -1000.;
-
-    Double_t nsigPosPion   = 0.;
-    Double_t nsigPosProton = 0.;
-    Double_t nsigNegPion   = 0.;
-    Double_t nsigNegProton = 0.;
-
-    if(fUsePID) {     
-      const AliAODPid *pidNeg = ntrack->GetDetPid();
-      const AliAODPid *pidPos = ptrack->GetDetPid();
-      
-      if (pidNeg && pidPos) {
-       pNeg = pidNeg->GetTPCmomentum();
-       pPos = pidPos->GetTPCmomentum();
-       dedxNeg = pidNeg->GetTPCsignal()/47.; 
-       dedxPos = pidPos->GetTPCsignal()/47.; 
-      }
-     
-      nsigPosPion   = TMath::Abs(fPIDResponse->NumberOfSigmasTPC(ptrack,AliPID::kPion));
-      nsigPosProton = TMath::Abs(fPIDResponse->NumberOfSigmasTPC(ptrack,AliPID::kProton));
-      nsigNegPion   = TMath::Abs(fPIDResponse->NumberOfSigmasTPC(ntrack,AliPID::kPion));
-      nsigNegProton = TMath::Abs(fPIDResponse->NumberOfSigmasTPC(ntrack,AliPID::kProton));
-    }
-
-    Double_t dcaNeg = -100.;
-    Double_t dcaPos = -100.;
-    Double_t lPtNeg = -100.;
-    Double_t lPtPos = -100.;
-
-    Double_t dca   = -100;
-    Double_t cpa   = -100;
-    Double_t lEta  = -100.;
-    Double_t lPhi  = -100.;
-    
-    Double_t radio = -100.;
-    Double_t dPhi  = -100.;
-    Double_t dEta  = -100.; 
-
-    /*
-    // Good regions
-    lPhi  = v0->Phi();
-    if(lPhi>0. && lPhi<1.8) continue;
-    if(lPhi>2.2 && lPhi<3.8) continue;
-    if(lPhi>4.2 && lPhi<5.8) continue;
-    */
-
-    /*
-    // Bad regions
-    lPhi  = v0->Phi();
-    if(lPhi>1.8 && lPhi<2.2) continue;
-    if(lPhi>3.8 && lPhi<4.2) continue;
-    if(lPhi>5.8 && lPhi<6.2) continue;
-    */
-
-    if(step==kCorrelation){//Correlation
-      dcaNeg = v0->DcaNegToPrimVertex();
-      dcaPos = v0->DcaPosToPrimVertex();
-      lPtNeg = ntrack->Pt();
-      lPtPos = ptrack->Pt();
-
-      dca   = v0->DcaV0Daughters();
-      cpa   = v0->CosPointingAngle(fAOD->GetPrimaryVertex());
-      lEta  = v0->PseudoRapV0();
-      lPhi  = v0->Phi();
-      lPhi  = ( (lPhi < 0) ? lPhi + 2*TMath::Pi() : lPhi );
-      dPhi  = dPHI(phiTrig,lPhi);
-      dEta  = etaTrig - v0->PseudoRapV0();    
-      radio = TMath::Sqrt(dPhi*dPhi + dEta*dEta);
-    }
-
-    // Comparing the pt of the trigger particle wrt the v0-candidate's daughter:
-    // It is used as well for the side-band subtraction
-    Int_t isSameTrk = -1;
-    isSameTrk = EqualPt(trkTrig,ntrack,ptrack);
-    
-    // *******************
-    // Disentangle the V0 candidate
-
-    Double_t massK0s = 0., mK0s = 0., sK0s = 0.;
-    Double_t massLambda = 0., mLambda = 0., sLambda = 0.;
-    Double_t massAntiLambda = 0.;
-
-    Bool_t isCandidate2K0s = kFALSE;
-    massK0s = v0->MassK0Short();
-    mK0s = TDatabasePDG::Instance()->GetParticle(kK0Short)->Mass();
-    sK0s = 0.0044 + (0.008-0.0044)/(10-1)*(pt - 1.);
-    if (ctK && (TMath::Abs(v0->RapK0Short())<fYMax) &&
-       (nsigNegPion < fNSigma) && (nsigPosPion < fNSigma) &&
-       (TMath::Abs(mK0s-massK0s) < 3*sK0s) )
-      isCandidate2K0s = kTRUE;     
-    
-    Bool_t isCandidate2Lambda = kFALSE;
-    massLambda = v0->MassLambda();
-    mLambda = TDatabasePDG::Instance()->GetParticle(kLambda0)->Mass();
-    //s=0.0027 + (0.004-0.0027)/(10-1)*(pt-1);
-    //s=0.0015 + (0.002-0.0015)/(2.6-1)*(pt-1);
-    sLambda=0.0023 + (0.004-0.0023)/(6-1)*(pt-1);
-    if (ctL && (TMath::Abs(v0->RapLambda())<fYMax)  &&
-       (nsigNegPion < fNSigma)   &&
-       (nsigPosProton < fNSigma) &&
-       (TMath::Abs(mLambda-massLambda) < 3*sLambda) )
-      isCandidate2Lambda = kTRUE;  
-    
-    Bool_t isCandidate2LambdaBar = kFALSE;
-    massAntiLambda = v0->MassAntiLambda();
-    if (ctL && (TMath::Abs(v0->RapLambda())<fYMax)  &&
-       (nsigPosPion < fNSigma)   &&
-       (nsigNegProton < fNSigma) &&
-       (TMath::Abs(mLambda-massAntiLambda) < 3*sLambda) )
-      isCandidate2LambdaBar = kTRUE; 
-
-    
-    // *******************
-    //   K0s selection
-    // *******************
-    if (ctK && (TMath::Abs(v0->RapK0Short())<fYMax) &&
-       (nsigNegPion < fNSigma) && (nsigPosPion < fNSigma) 
-       //&& (lPtArmV0 > TMath::Abs(0.2*lAlphaV0) )
-       && !isCandidate2Lambda && !isCandidate2LambdaBar) {
-      
-      switch(step) {
-      case kTriggerCheck: 
-
-       if (isCandidate2K0s){
-         if(pt>ptTrig){
-           isV0LP = 1; 
-           ptV0LP = pt;
-         }       
-         
-         isTrigFromV0daug = isSameTrk;
-         if(isTrigFromV0daug)
-           Printf("  The LP has the same momentum in X and Y as one of the K0s daughters *** iV0 %d",iV0); 
-       } 
-
-       break; // End K0s selection for TriggerCheck
-      case kCorrelation:
-
-       fK0sMass->Fill(massK0s,pt,0);
-       fK0sPtvsEta->Fill(pt,lEta,0);
-       fK0sPtvsRap->Fill(pt,v0->RapK0Short(),0);
-       if(centrality<10) fK0sMass->Fill(massK0s,pt,1);
-       
-       if( lPtArmV0 > TMath::Abs(0.2*lAlphaV0) ) 
-         fK0sMass->Fill(massK0s,pt,2);
-
-       if(pt>2. && pt<5.)
-         fK0sMassPtPhi->Fill(massK0s,pt,lPhi);
-
-       if(isTriggered && isNaturalPart){
-         
-         fK0sMass->Fill(massK0s,pt,3);
-         fK0sPtvsEta->Fill(pt,lEta,1);
-         fK0sPtvsRap->Fill(pt,v0->RapK0Short(),1);
-         
-         fK0sMassPtvsPtL->Fill(massK0s,pt,ptTrig); 
-         if(centrality<10) fK0sMass->Fill(massK0s,pt,4);
-         
-       }
-       // Invariant Mass cut
-       if (TMath::Abs(mK0s-massK0s) < 3*sK0s) {
-       
-         fK0sPtLtSB->Fill(pt,lt);
-         fK0sEtaPhi->Fill(lPhi,lEta);
-         
-         fK0sPtvsEta->Fill(pt,lEta,2);
-         fK0sPtvsRap->Fill(pt,v0->RapK0Short(),2);
-         fHistArmenterosPodolanski->Fill(lAlphaV0,lPtArmV0,0);
-         
-         if(isTriggered && isNaturalPart){
-           
-           fHistArmenterosPodolanski->Fill(lAlphaV0,lPtArmV0,2);
-           fK0sPtvsEta->Fill(pt,lEta,3);
-           fK0sPtvsRap->Fill(pt,v0->RapK0Short(),3);
-           //fK0sSiPtL->Fill(pt,lt,ptTrig); 
-           //fK0sDaughtersPt->Fill(lPtNeg,lPtPos);
-           
-           fK0sdPhiPtAssocPtL->Fill(dPhi,pt,ptTrig);
-
-           // *** pt bin and centrality
-           for(Int_t k=0;k<kN1;k++)
-             if( (pt>kPtBinV0[k]) && (pt<kPtBinV0[k+1]) ){
-
-               fK0sdPhidEtaPtL[k]->Fill(dPhi,dEta,zv);
-               if(lPtArmV0 > TMath::Abs(0.2*lAlphaV0))
-                 fK0sdPhidEtaPtL2[k]->Fill(dPhi,dEta,zv);
-               
-               if(centrality<10){
-                 fK0sdPhidEtaPtLCent[k]->Fill(dPhi,dEta,zv);
-                 if(lPtArmV0 > TMath::Abs(0.2*lAlphaV0))
-                   fK0sdPhidEtaPtLCent2[k]->Fill(dPhi,dEta,zv);
-               }
-
-               if(radio < 0.4)
-                 fK0sDCADaugToPrimVtx->Fill(dcaPos,dcaNeg,ptTrig);         
-               
-             } // End selection pt bin
-           
-         } // End triggered selection
-         
-       } // End selection in mass
-       
-       if( TMath::Abs(mK0s-massK0s + 6.5*sK0s) < 1.5*sK0s ||
-           TMath::Abs(mK0s-massK0s - 6.5*sK0s) < 1.5*sK0s  ) {
-         
-         fK0sEtaPhi->Fill(lPhi,lEta,-1);
-         fK0sPtLtSB->Fill(pt,lt,-1);
-         
-         //  if(radio < 0.4) // Under the peak
-         fHistArmPodBckg->Fill(lAlphaV0,lPtArmV0,0);
-         
-         if( !isSameTrk && isTriggered && isNaturalPart){
-           
-           //fK0sSiPtL->Fill(pt,lt,ptTrig,-1);
-           fHistArmPodBckg->Fill(lAlphaV0,lPtArmV0,1);
-
-           // Pt bin 
-           for(Int_t k=0;k<kN1;k++)
-             if( (pt>kPtBinV0[k]) && (pt<kPtBinV0[k+1]) ){
-               
-               fK0sdPhidEtaPtLBckg[k]->Fill(dPhi,dEta,zv);
-               if(lPtArmV0 > TMath::Abs(0.2*lAlphaV0))
-                 fK0sdPhidEtaPtLBckg2[k]->Fill(dPhi,dEta,zv);
-
-               if(centrality<10){
-                 fK0sdPhidEtaPtLCentBckg[k]->Fill(dPhi,dEta,zv);
-                 if(lPtArmV0 > TMath::Abs(0.2*lAlphaV0))
-                   fK0sdPhidEtaPtLCentBckg2[k]->Fill(dPhi,dEta,zv);
-               }
-
-
-               if(radio < 0.4){ // Under the correlation peak
-                 //fHistArmPodBckg->Fill(lAlphaV0,lPtArmV0,1);
-                 fK0sBckgDecLength->Fill(dlK,ptTrig);
-                 fK0sBckgDCADaugToPrimVtx->Fill(dcaPos,dcaNeg,ptTrig);
-                 fK0sBckgEtaPhi->Fill(lPhi,lEta);
-                 fK0sBckgPhiRadio->Fill(lPhi,lt);
-
-                 // MC Association of daughter particles 
-                 for(Int_t ii=0;ii<5;ii++){
-                   if(lMCAssocNegDaug == ii){
-                     fK0sBckgDCANegDaugToPrimVtx->Fill(ii,dcaNeg);
-                     //if eta selection for the trigger particle
-                   }
-                   if(lMCAssocPosDaug == ii){
-                     fK0sBckgDCAPosDaugToPrimVtx->Fill(ii,dcaPos);
-                     //if eta selection for the trigger particle
-                   }
-
-                 }
-
-                 RecCascade(trkTrig,ntrack,ptrack,"K0s");
-                 RecCascade(trkTrig,ptrack,ntrack,"K0s");
-
-               }// End salection in the correlation peak
-               
-             } // End selection pt bin
-           
-         } // End triggered selection
-         
-       }// End selection in outside the mass cut
-       
-       break; // End K0s selection for Corrleation
-      default:
-       Printf( " Selection of 'step' is not set properly");
-       break;
-       
-      }// End switch
-
-    } // End K0s selection
-
-    // *******************
-    // Lambda selection
-    // *******************
-    if ( ctL && (TMath::Abs(v0->RapLambda())<fYMax)  &&
-        (nsigNegPion < fNSigma) && (nsigPosProton < fNSigma) 
-        //&& (lPtArmV0 < TMath::Abs(0.2*lAlphaV0) )
-        && !isCandidate2K0s && !isCandidate2LambdaBar) {
-
-      
-      switch(step) {
-      case kTriggerCheck: 
-       
-       if (isCandidate2Lambda){
-         if(pt>ptTrig) {
-           isV0LP = 1;
-           ptV0LP = pt;
-         }
-
-         isTrigFromV0daug = isSameTrk;
-         if(isTrigFromV0daug)
-           Printf("  The LP has the same momentum in X and Y as one of the Lambda daughters *** iV0 %d",iV0); 
-       } 
-       
-       break; // End Lambda selection for TriggerCheck
-      case kCorrelation:
-       
-       if(fUsePID)
-         fLambdadEdx->Fill(pPos,dedxPos);
-       
-       fLambdaMass->Fill(massLambda,pt,0);
-       fLambdaPtvsEta->Fill(pt,lEta,0);
-       fLambdaPtvsRap->Fill(pt,v0->RapLambda(),0);
-       if(centrality<10) fLambdaMass->Fill(massLambda,pt,1);
-
-       if( lPtArmV0 < TMath::Abs(0.2*lAlphaV0) ) 
-         fLambdaMass->Fill(massLambda,pt,2);
-
-
-       if(pt>2. && pt<5.)
-         fLambdaMassPtPhi->Fill(massLambda,pt,lPhi);
-
-       if( isTriggered && isNaturalPart ){
-         
-         fLambdaMass->Fill(massLambda,pt,3);
-         fLambdaPtvsEta->Fill(pt,lEta,1);
-         fLambdaPtvsRap->Fill(pt,v0->RapLambda(),1);
-         
-         fLambdaMassPtvsPtL->Fill(massLambda,pt,ptTrig);
-         if(centrality<10)  fLambdaMass->Fill(massLambda,pt,4);
-         
-       } 
-       // Invariant Mass cut
-       if (TMath::Abs(mLambda-massLambda) < 3*sLambda) {
-
-         fDCA->Fill(dca,1);
-         fCPA->Fill(cpa,1);
-         fLambdaPtLtSB->Fill(pt,lt);   
-         fLambdaEtaPhi->Fill(lPhi,lEta);
-         
-         fLambdaPtvsEta->Fill(pt,lEta,2);
-         fLambdaPtvsRap->Fill(pt,v0->RapLambda(),2);
-         fHistArmenterosPodolanski->Fill(lAlphaV0,lPtArmV0,0);
-         
-         if( isTriggered && isNaturalPart ){
-           fHistArmenterosPodolanski->Fill(lAlphaV0,lPtArmV0,2);
-           fLambdaPtvsEta->Fill(pt,lEta,3);
-           fLambdaPtvsRap->Fill(pt,v0->RapLambda(),3);
-           //fLambdaSiPtL->Fill(pt,lt,ptTrig); //***
-           //fLambdaDaughtersPt->Fill(lPtNeg,lPtPos);
-           
-           fLambdadPhiPtAssocPtL->Fill(dPhi,pt,ptTrig);
-       
-           // *** pt bin and centrality
-           for(Int_t k=0;k<kN1;k++)
-             if( (pt>kPtBinV0[k]) && (pt<kPtBinV0[k+1]) ){
-               fLambdadPhidEtaPtL[k]->Fill(dPhi,dEta,zv);
-               
-               if( lPtArmV0 < TMath::Abs(0.2*lAlphaV0) )
-                 fLambdadPhidEtaPtL2[k]->Fill(dPhi,dEta,zv);
-
-                 if(centrality<10){
-                   fLambdadPhidEtaPtLCent[k]->Fill(dPhi,dEta,zv);
-                   if( lPtArmV0 < TMath::Abs(0.2*lAlphaV0) )
-                     fLambdadPhidEtaPtLCent2[k]->Fill(dPhi,dEta,zv);
-                 }
-                 
-               if(radio < 0.4)
-                 fLambdaDCADaugToPrimVtx->Fill(dcaPos,dcaNeg,ptTrig);
-
-             } // End selection pt bin
-           
-         } // End triggered selection
-         
-       } // End selection in mass
-       
-       if( (TMath::Abs(mLambda-massLambda + 6.5*sLambda) < 1.5*sLambda) ||
-           (TMath::Abs(mLambda-massLambda - 6.5*sLambda) < 1.5*sLambda) ){
-         
-         fCPA->Fill(cpa,-1);
-         fDCA->Fill(dca,-1);
-         fLambdaPtLtSB->Fill(pt,lt,-1);
-         fLambdaEtaPhi->Fill(lPhi,lEta,-1);
-
-         //   if(radio < 0.4)
-         fHistArmPodBckg->Fill(lAlphaV0,lPtArmV0,2);
-         
-         if( !isSameTrk && isTriggered && isNaturalPart ){
-           
-           //fLambdaSiPtL->Fill(pt,lt,ptTrig,-1); //***
-           fHistArmPodBckg->Fill(lAlphaV0,lPtArmV0,3);
-
-           // Pt bin
-           for(Int_t k=0;k<kN1;k++)
-             if( (pt>kPtBinV0[k]) && (pt<kPtBinV0[k+1]) ){
-               
-               fLambdadPhidEtaPtLBckg[k]->Fill(dPhi,dEta,zv);
-               if( lPtArmV0 < TMath::Abs(0.2*lAlphaV0) )
-                 fLambdadPhidEtaPtLBckg2[k]->Fill(dPhi,dEta,zv);
-
-               if(centrality<10){
-                 fLambdadPhidEtaPtLCentBckg[k]->Fill(dPhi,dEta,zv);
-                 if( lPtArmV0 < TMath::Abs(0.2*lAlphaV0) )
-                   fLambdadPhidEtaPtLCentBckg2[k]->Fill(dPhi,dEta,zv);
-               }
-
-               if(radio < 0.4){ // Under the peak
-                 //fHistArmPodBckg->Fill(lAlphaV0,lPtArmV0,3);
-                 fLambdaBckgDecLength->Fill(dlL,ptTrig);
-                 fLambdaBckgDCADaugToPrimVtx->Fill(dcaPos,dcaNeg,ptTrig);
-                 fLambdaBckgEtaPhi->Fill(lPhi,lEta);
-                 fLambdaBckgPhiRadio->Fill(lPhi,lt);
-                 
-                 // MC Association of daughter particles 
-                 for(Int_t ii=0;ii<5;ii++){
-                   if(lMCAssocNegDaug == ii)
-                     fLambdaBckgDCANegDaugToPrimVtx->Fill(ii,dcaNeg);
-                   
-                   if(lMCAssocPosDaug == ii)
-                     fLambdaBckgDCAPosDaugToPrimVtx->Fill(ii,dcaPos);
-                 }
-
-                 RecCascade(trkTrig,ntrack,ptrack,"Lambda");
-                 RecCascade(trkTrig,ptrack,ntrack,"Lambda");
-
-               }// End salection in the correlation peak
-               
-             }// End selection pt bi
-
-         }// End triggered selection
-         
-       }// End selection in outside the mass cut
-
-       break; // End Lambda selection for Correlation
-      default:
-       Printf(" Selection of 'step' is not set properly");
-       break;
-       
-      }// End switch
-      
-    } // End Lambda selection
-
-    // *******************
-    // AntiLambda selection
-    // *******************
-    if ( ctL && (TMath::Abs(v0->RapLambda())<fYMax)  &&
-        (nsigNegPion < fNSigma) && (nsigPosProton < fNSigma) 
-        && !isCandidate2K0s && !isCandidate2LambdaBar) {
-      
-      switch(step) {
-      case kTriggerCheck: 
-       
-       if (isCandidate2LambdaBar){
-         if(pt>ptTrig) {
-           isV0LP = 1;
-           ptV0LP = pt;
-         }
-         
-         isTrigFromV0daug = isSameTrk;
-         if(isTrigFromV0daug)
-           Printf("  The LP has the same momentum in X and Y as one of the AntiLambda daughters *** iV0 %d",iV0); 
-         
-       }
-       break; // End Lambda selection for Correlation
-      case kCorrelation: 
-       break;
-      default:
-       Printf( " Selection of 'step' is not set properly");
-       break;
-      }// End switch
-      
-    } // End AntiLambda selection
-      
-  } // End V0 loop
-  
-  // ----------------------------
-
-  TArrayD* aV0Loop = new TArrayD(3);
-  aV0Loop->AddAt(isV0LP,0);
-  aV0Loop->AddAt(isTrigFromV0daug,1);
-  aV0Loop->AddAt(ptV0LP,2);
-
-  return aV0Loop;
-  delete aV0Loop;
-}
-
-//___________________________________________________________________________________________
-
-TArrayD* AliAnalysisTaskLambdaOverK0sJets::TriggerParticle() 
-{ 
-  // Obtain the trigger particle of the event to perform the correlations in phi and eta
-
-  Double_t ptTrigger  = -1000.;
-  Int_t    iTrigger   = -1000;
-  Double_t phiTrigger = -1000.;
-  Double_t etaTrigger = -1000.;
-  Int_t    isTriggerFromV0Daug = -1000;
-  Int_t    isV0LP  = -1000; 
-  Double_t ptV0LP  = -100.;
-  Int_t    isSndCheck = 0; 
-
-  Int_t    idSndTrigger = 0;
-
-  // ----------------------------
-  // 1. First trigger particle 
-
-  Int_t nTrk= fAOD->GetNumberOfTracks();
-  for (Int_t i=0; i<nTrk; i++) {
-
-    AliAODTrack *t = fAOD->GetTrack(i);
-    if (t->IsMuonTrack()) continue;
-    if (!t->IsOn(AliAODTrack::kTPCrefit)) continue;
-    if (!AcceptTrack(t)) continue;
-    
-    Double_t xyz[3];
-    // position of first point on track or dca
-    if (t->GetPosition(xyz)) continue;
-    if (TMath::Abs(xyz[0])>3.) continue;
-    if (TMath::Abs(xyz[1])>3.) continue;
-    
-    Double_t pt=t->Pt(),pz=t->Pz();
-    if (TMath::Abs(pz/pt)>0.8) continue;
-    if (TMath::Abs(t->Eta())>0.8 ) continue;
-    /// Do I need another cuts for the primary tracks?
-    
-    if(pt>ptTrigger) {
-      ptTrigger = pt;
-      iTrigger = i;
-      //rapTrigger   = 0.5*TMath::Log((t->E()+t->Pz())/(t->E()-t->Pz()+1.e-13));
-      phiTrigger = t->Phi();
-      etaTrigger = t->Eta();
-    }
-    
-  }
-
-  TArrayD* v0Audit;
-  AliAODTrack *trackLP;
-  
-  if(iTrigger<0)
-    goto endLP;
-  
-  // ----------------------------
-
-  // 2. Checking if the trigger particle 
-  // might be a daughter from the V0-candidate
-
-  trackLP = (AliAODTrack*)fAOD->GetTrack(iTrigger); 
-
-  v0Audit = V0Loop(trackLP,kTriggerCheck,kFALSE);
-  isV0LP               = TMath::FloorNint( v0Audit->At(0) );
-  isTriggerFromV0Daug  = TMath::FloorNint( v0Audit->At(1) );
-  ptV0LP               = v0Audit->At(2);
-  
-  if(isV0LP)
-    fTriggerIsV0->Fill(ptV0LP);
-
-  if(isTriggerFromV0Daug)
-    fTriggerComingFromDaug->Fill(ptTrigger);
-  else 
-    goto endLP;
-  // ----------------------------
-  // 3. Second trigger particle: when isV0LP is true
-  
-  isSndCheck = 1; 
-  ptTrigger = -1000.;
-  for (Int_t i=0; i<nTrk; i++) {
-    if(i == iTrigger) continue;
-
-    AliAODTrack *t=fAOD->GetTrack(i);
-    if (t->IsMuonTrack()) continue;
-    if (!t->IsOn(AliAODTrack::kTPCrefit)) continue;
-    if (!AcceptTrack(t)) continue;
-    
-    Double_t xyz[3];
-    // position of first point on track or dca
-    if (t->GetPosition(xyz)) continue;
-    if (TMath::Abs(xyz[0])>3.) continue;
-    if (TMath::Abs(xyz[1])>3.) continue;
-    
-    Double_t pt=t->Pt(),pz=t->Pz();
-    if (TMath::Abs(pz/pt)>0.8) continue;
-    if (TMath::Abs(t->Eta())>0.8 ) continue;
-    /// Do I need another cuts for the primary tracks?
-    
-    if(pt>ptTrigger) {
-      ptTrigger = pt;
-      idSndTrigger = i;
-      //rapTrigger   = 0.5*TMath::Log((t->E()+t->Pz())/(t->E()-t->Pz()+1.e-13));
-      phiTrigger = t->Phi();
-      etaTrigger = t->Eta();
-    }
-    
-  }
-
-  iTrigger = idSndTrigger;
-  trackLP =  (AliAODTrack*)fAOD->GetTrack(iTrigger); 
-
-  v0Audit = V0Loop(trackLP,kTriggerCheck,kFALSE); 
-  //isV0LP           = TMath::FloorNint( v0Audit->At(0) );
-  isTriggerFromV0Daug = TMath::FloorNint( v0Audit->At(1) );
-  //ptV0LP           = v0Audit->At(2);
-
-  
-  // ----------------------------
-  // 4. Fill the values for the array
-
-  endLP:
-  Double_t idTrigger = 1.*iTrigger;
-  Double_t flagTriggerFromV0daug = 1.*isTriggerFromV0Daug;
-  Double_t flagV0LP = 1.*isV0LP;
-  Double_t flagSndLoop = 1.*isSndCheck;
-
-  TArrayD* myTrigger = new TArrayD(4);
-  myTrigger->AddAt(idTrigger,0);
-  myTrigger->AddAt(flagTriggerFromV0daug,1);
-  myTrigger->AddAt(flagV0LP,2);
-  myTrigger->AddAt(flagSndLoop,3);
-
-  return myTrigger;
-  delete myTrigger;
-  delete v0Audit;
-  trackLP->Delete();
-}
-
-//___________________________________________________________________________________________
-
-void AliAnalysisTaskLambdaOverK0sJets::UserExec(Option_t *)
-{
-  //Main loop for the Analysis
-
-  fAOD = (AliAODEvent *)InputEvent();
-  fEvents->Fill(0); //event counter  
-
-  if (!fAOD) {
-    Printf("ERROR: aod not available");
-    return;
-  }
-  fEvents->Fill(1);
-  
-  // Physics selection
-  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
-  AliInputEventHandler *hdr=(AliInputEventHandler*)mgr->GetInputEventHandler();
-  UInt_t maskIsSelected = hdr->IsEventSelected();
-  Bool_t isSelected = (maskIsSelected & AliVEvent::kMB);
-  if (!isSelected) return;
-  fEvents->Fill(2);
-
-  // Centrality selection
-  AliCentrality *cent = fAOD->GetCentrality();
-  Double_t centrality = cent->GetCentralityPercentile("V0M");
-  fCentrality->Fill(centrality);
-
-  if (!cent->IsEventInCentralityClass(fCentMin,fCentMax,"V0M")) return;
-  fEvents->Fill(3);
-
-  // Primary vertex
-  const AliAODVertex *vtx = fAOD->GetPrimaryVertex();
-  if (vtx->GetNContributors()<3) return;
-  fEvents->Fill(4);
-
-  Double_t xv=vtx->GetX(), yv=vtx->GetY(), zv=vtx->GetZ();
-  
-  fPrimaryVertexX->Fill(xv);
-  fPrimaryVertexY->Fill(yv);
-  fPrimaryVertexZ->Fill(zv);
-
-  if (TMath::Abs(zv) > 10.) return;   
-  fEvents->Fill(5);
-
-  Int_t nVtxSPD = fAOD->GetNumberOfPileupVerticesSPD();
-  Int_t nVtxTracks = fAOD->GetNumberOfPileupVerticesTracks();
-
-  fNumberPileUp->Fill(nVtxSPD,nVtxTracks);
-
-  // ***********************************************
-  // Multiplicity with charged-tracks 
-
-  fPIDResponse = hdr->GetPIDResponse(); 
-  
-  Int_t nTrk = fAOD->GetNumberOfTracks();
-  Int_t mult=0;
-  Double_t nsig=0;
-  
-  for (Int_t iTrk=0; iTrk<nTrk; iTrk++) {
-    
-    AliAODTrack *track = fAOD->GetTrack(iTrk);
-    if (track->IsMuonTrack()) continue;
-    if (!track->IsOn(AliAODTrack::kTPCrefit)) continue;
-    
-    Double_t xyz[3];
-    if (track->GetPosition(xyz)) continue;
-    if (TMath::Abs(xyz[0])>3.) continue;
-    if (TMath::Abs(xyz[1])>3.) continue;
-
-    Double_t pt = track->Pt(), pz = track->Pz();
-    if (TMath::Abs(pz/pt)>0.8) continue;
-
-    if( TMath::Abs(track->Eta())>0.8 ) continue;
-
-    mult++;
-
-    if(fUsePID){
-      const AliAODPid *pid = track->GetDetPid();
-      if (!pid) continue;
-      
-      Double_t p = pid->GetTPCmomentum();
-      Double_t dedx = pid->GetTPCsignal()/47.; //47?
-      fdEdx->Fill(p,dedx,1);
-      
-      nsig = fPIDResponse->NumberOfSigmasTPC(track,AliPID::kProton);
-      if ( TMath::Abs(nsig) < 3. )
-       fdEdxPid->Fill(p,dedx,1);
-    }
-
-  }
-  if( (mult<2300) && (centrality<2) )
-    fEvents->Fill(6);
-  fCentMult->Fill(centrality,mult);
-  
-  // **********************************************
-  // Triggered Particle -  Trigger Particle
-
-  TArrayD* triggerArray = TriggerParticle();
-  Int_t    iTrigger     = TMath::FloorNint( triggerArray->At(0) );
-  Int_t    isTriggerFromV0daug = TMath::FloorNint( triggerArray->At(1) );
-  Int_t    isV0LP    = TMath::FloorNint( triggerArray->At(2) );
-  Int_t    is2ndLoop = TMath::FloorNint( triggerArray->At(3) );
-  
-  Bool_t isTriggered = kFALSE;
-  Double_t ptTrigger  = -100.;
-  Double_t phiTrigger = -100.;
-  Double_t etaTrigger = -100.;
-  AliAODTrack *trkTrigger = 0x0;
-
-  if(iTrigger<0)
-    fEvents->Fill(7);
-  else {
-    trkTrigger = (AliAODTrack*)fAOD->GetTrack(iTrigger);
-    ptTrigger  = trkTrigger->Pt();
-    phiTrigger = trkTrigger->Phi();
-    etaTrigger = trkTrigger->Eta();
-  }
-  // -------------------
-   
-  fCheckTriggerFromV0Daug->Fill(isTriggerFromV0daug);
-
-  if(!isTriggerFromV0daug && is2ndLoop) 
-    fCheckTriggerFromV0Daug->Fill(-1);
-  else if(isTriggerFromV0daug && isV0LP) 
-    fCheckTriggerFromV0Daug->Fill(isTriggerFromV0daug+isV0LP);
-  else if(isTriggerFromV0daug && isV0LP && is2ndLoop) 
-    fCheckTriggerFromV0Daug->Fill(isTriggerFromV0daug+isV0LP+is2ndLoop);
-  
-  // The highest-pt particle is a V0-candidate 
-  if(isV0LP)
-    fEvents->Fill(8);
-
-  // The highest-pt particle is a V0-candidate's daughter  
-  if(isTriggerFromV0daug)
-    fEvents->Fill(9);
-
-  // The sencond highest-pt particle is a V0-candidate's daughter  
-  if( isTriggerFromV0daug && is2ndLoop ) 
-    fEvents->Fill(10);
-
-  if(!isTriggerFromV0daug){
-    fTriggerEtaPhi->Fill(phiTrigger,etaTrigger);
-    fTriggerPtCent->Fill(ptTrigger,centrality);
-  }
-
-  if( (ptTrigger>=fTrigPtMin)  && (ptTrigger<=fTrigPtMax) &&
-      (TMath::Abs(etaTrigger)<fTrigEtaMax) && !isTriggerFromV0daug ) {
-    fEvents->Fill(11);
-    isTriggered=kTRUE;
-  }
-  else
-    fEvents->Fill(12);
-  // ******************************************
-  // Start loop over MC particles
-  
-  TClonesArray *stack = 0x0;
-  Double_t mcXv=0., mcYv=0., mcZv=0.;
-  
-  if(fIsMC) {
-
-    TList *lst = fAOD->GetList();
-    stack = (TClonesArray*)lst->FindObject(AliAODMCParticle::StdBranchName());
-    if (!stack) {
-      Printf("ERROR: stack not available");
-      return;
-    }
-    
-    AliAODMCHeader *mcHdr = 
-      (AliAODMCHeader*)lst->FindObject(AliAODMCHeader::StdBranchName());
-  
-    mcXv=mcHdr->GetVtxX(); mcYv=mcHdr->GetVtxY(); mcZv=mcHdr->GetVtxZ();
-  
-    Int_t nTrkMC = stack->GetEntriesFast();
-    // -----------------------------------------
-    // --------- Trigger particle --------------
-    // -----------------------------------------
-
-    Double_t triggerMCPt = -1000.;
-    Double_t triggerMCPhi = -1000.;
-    Double_t triggerMCEta = -1000.;
-    Bool_t   isTriggeredMC = kFALSE;
-
-    for (Int_t iTrkMC = 0; iTrkMC < nTrkMC; iTrkMC++){
-      
-      AliAODMCParticle *p0 = (AliAODMCParticle*)stack->At(iTrkMC);
-      if(!p0) continue;
-      if(TMath::Abs(p0->Eta())>0.8) continue;
-      if(p0->Pt()<0.15) continue;
-
-      // ----------------------------------------
-      
-      // For injected MC: determine where HIJING event ends 
-      if (fEndOfHijingEvent==-1) { 
-        if ( ( p0->GetStatus() == 21 ) ||
-            ( (p0->GetPdgCode() == 443) &&
-              (p0->GetMother() == -1)   &&
-              (p0->GetDaughter(0) ==  (iTrkMC+1))) ) {
-         fEndOfHijingEvent = iTrkMC; 
-        }
-      }
-
-      // ----------------------------------------
-      
-      Int_t isNaturalPart = 1;
-      if ( (iTrkMC>=fEndOfHijingEvent) && 
-          (fEndOfHijingEvent!=-1)     && 
-          (p0->GetMother()<0) ) 
-       isNaturalPart = 0; 
-     
-      // ----------------------------------------
-      
-      Int_t lPdgcodeCurrentPart = p0->GetPdgCode();       
-      if ( (lPdgcodeCurrentPart == kK0Short) ||
-          (lPdgcodeCurrentPart == kLambda0) ||
-          (lPdgcodeCurrentPart == kLambda0Bar) ) continue;
-      
-      // ----------------------------------------
-       
-      if(isNaturalPart == 0) continue;
-      if( !p0->IsPhysicalPrimary() ) continue;
-      
-      Double_t ptPrim = p0->Pt();
-      if(ptPrim>triggerMCPt){
-
-       triggerMCPt  = p0->Pt();
-       triggerMCPhi = p0->Phi();
-       triggerMCEta = p0->Eta();
-
-      } // End trigger selection
-
-    } // End loop over charged particles
-
-
-    // ----------------------------------------------------------------
-    // Check if Primary particle has larger pt than strange particles 
-    // ----------------------------------------------------------------
-
-    Bool_t isV0LPMC = kFALSE;
-    if(triggerMCPt>1.)
-      for (Int_t iTrkMC = 0; iTrkMC < nTrkMC; iTrkMC++){
-      
-       AliAODMCParticle *p0 = (AliAODMCParticle*)stack->At(iTrkMC);
-       if(!p0) continue;
-       
-       // ----------------------------------------
-
-       Int_t lPdgcodeCurrentPart = p0->GetPdgCode();       
-       if ( (lPdgcodeCurrentPart != kK0Short) &&
-            (lPdgcodeCurrentPart != kLambda0) &&
-            (lPdgcodeCurrentPart != kLambda0Bar) ) continue;
-       
-       // ----------------------------------------
-       
-       Int_t isNaturalPart = 1;
-       if ( (iTrkMC>=fEndOfHijingEvent) && 
-            (fEndOfHijingEvent!=-1)     && 
-            (p0->GetMother()<0) ) 
-         isNaturalPart = 0; 
-       
-       if(fSeparateInjPart)
-         if(isNaturalPart == 0) continue;
-
-       // ----------------------------------------
-       
-       Double_t lRapCurrentPart = MyRapidity(p0->E(),p0->Pz());      
-       Double_t lPtCurrentPart  = p0->Pt();
-       
-       Int_t iCurrentMother = p0->GetMother();       
-       AliAODMCParticle *pCurrentMother = (AliAODMCParticle *)stack->At(iCurrentMother);
-       Int_t lPdgCurrentMother = 0;    
-       if (iCurrentMother == -1) { lPdgCurrentMother = 0;}
-       else { lPdgCurrentMother = pCurrentMother->GetPdgCode(); }
-       
-       Int_t id0  = p0->GetDaughter(0);
-       Int_t id1  = p0->GetDaughter(1);
-       
-       //if ( id0 ==  id1 ) continue;
-       if ( (id0 < 0 || id1 < 0) ||
-            (id0 >=nTrkMC  || id1 >= nTrkMC) ) continue;
-       
-       AliAODMCParticle *pDaughter0 = (AliAODMCParticle *)stack->UncheckedAt(id0);
-       AliAODMCParticle *pDaughter1 = (AliAODMCParticle *)stack->UncheckedAt(id1);
-       if (!pDaughter0 || !pDaughter1) continue; 
-       
-       if ( TMath::Abs(pDaughter0->Eta()) > fMaxEtaDaughter ||
-            TMath::Abs(pDaughter1->Eta()) > fMaxEtaDaughter )
-         continue;     
-
-       // Daughter momentum cut: ! FIX it in case of AOD !
-       if ( ( pDaughter0->Pt() < fMinPtDaughter ) || 
-            ( pDaughter1->Pt() < fMinPtDaughter )  ) 
-         continue;
-       
-       if ((p0->Pt())<pMin) continue;  
-       if (TMath::Abs(lRapCurrentPart) > fYMax)  continue;
-       
-       Double_t dx = mcXv-p0->Xv(),  dy = mcYv-p0->Yv(),  dz = mcZv-p0->Zv();
-       Double_t l = TMath::Sqrt(dx*dx + dy*dy + dz*dz);
-       
-       //Cut in the 3D-distance of the secondary vertex to primary vertex
-       if (l > 0.01) continue; // secondary V0 
-       
-       // is V0 the LP?
-       if(lPtCurrentPart>triggerMCPt)
-         isV0LPMC = kTRUE;       
-
-      }
-    
-    // If V0 is not the particle with highest pt
-    // then the event is triggered
-    if(!isV0LPMC)
-      fTriggerMCPtCent->Fill(triggerMCPt,triggerMCEta,centrality);
-    
-    if( (triggerMCPt>=fTrigPtMin)  && (triggerMCPt<=fTrigPtMax) &&
-       (TMath::Abs(triggerMCEta)<fTrigEtaMax) &&
-       (isV0LPMC==kFALSE) ) 
-      isTriggeredMC=kTRUE;
-
-
-    // -----------------------------------------
-    // ---------- Strange particles ------------
-    // -----------------------------------------
-    Double_t dPhiMC = -100.;
-    Double_t dEtaMC = -100.;
-    for (Int_t iTrkMC = 0; iTrkMC < nTrkMC; iTrkMC++){
-      
-      AliAODMCParticle *p0 = (AliAODMCParticle*)stack->At(iTrkMC);
-      if(!p0) continue;
-      
-      // ----------------------------------------
-
-      Int_t lPdgcodeCurrentPart = p0->GetPdgCode();       
-      if ( (lPdgcodeCurrentPart != kK0Short) &&
-          (lPdgcodeCurrentPart != kLambda0) &&
-          (lPdgcodeCurrentPart != kLambda0Bar) ) continue;
-      
-      // ----------------------------------------
-
-      Int_t isNaturalPart = 1;
-      if ( (iTrkMC>=fEndOfHijingEvent) && 
-          (fEndOfHijingEvent!=-1)     && 
-          (p0->GetMother()<0) ) 
-       isNaturalPart = 0; 
-      
-      fInjectedParticles->Fill(isNaturalPart);
-
-      if(fSeparateInjPart)
-       if(isNaturalPart == 0) continue;
-
-      // ----------------------------------------
-
-      Double_t lRapCurrentPart = MyRapidity(p0->E(),p0->Pz());      
-      Double_t lEtaCurrentPart = p0->Eta();
-      Double_t lPhiCurrentPart = p0->Phi();
-      Double_t lPtCurrentPart  = p0->Pt();
-
-      Int_t iCurrentMother = p0->GetMother();       
-      AliAODMCParticle *pCurrentMother = (AliAODMCParticle *)stack->At(iCurrentMother);
-      Int_t lPdgCurrentMother = 0;    
-      if (iCurrentMother == -1) { lPdgCurrentMother = 0;}
-      else { lPdgCurrentMother = pCurrentMother->GetPdgCode(); }
-
-      Int_t id0  = p0->GetDaughter(0);
-      Int_t id1  = p0->GetDaughter(1);
-    
-      //if ( id0 ==  id1 ) continue;
-      if ( (id0 < 0 || id1 < 0) ||
-          (id0 >=nTrkMC  || id1 >= nTrkMC) ) continue;
-
-      AliAODMCParticle *pDaughter0 = (AliAODMCParticle *)stack->UncheckedAt(id0);
-      AliAODMCParticle *pDaughter1 = (AliAODMCParticle *)stack->UncheckedAt(id1);
-      if (!pDaughter0 || !pDaughter1) continue; 
-   
-      if ( TMath::Abs(pDaughter0->Eta()) > fMaxEtaDaughter ||
-          TMath::Abs(pDaughter1->Eta()) > fMaxEtaDaughter )
-       continue;       
-
-      // Daughter momentum cut: ! FIX it in case of AOD !
-      if ( ( pDaughter0->Pt() < fMinPtDaughter ) || 
-          ( pDaughter1->Pt() < fMinPtDaughter )  ) 
-       continue;
-      
-      if ((p0->Pt())<pMin) continue;  
-      if (TMath::Abs(lRapCurrentPart) > fYMax)  continue;
-    
-      Double_t dx = mcXv-p0->Xv(),  dy = mcYv-p0->Yv(),  dz = mcZv-p0->Zv();
-      Double_t l = TMath::Sqrt(dx*dx + dy*dy + dz*dz);
-      
-      //Cut in the 3D-distance of the secondary vertex to primary vertex
-      if (l > 0.01) continue; // secondary V0 
-     
-      //Transverse distance to vertex
-      dx = mcXv-pDaughter0->Xv(); dy = mcYv-pDaughter0->Yv();
-      Double_t lt=TMath::Sqrt(dx*dx + dy*dy);
-
-      // K0s
-      if (lPdgcodeCurrentPart == kK0Short) {
-       //if (multiplicity>=1){
-       fK0sMCPt->Fill(lPtCurrentPart);
-       fK0sMCPtRap->Fill(lPtCurrentPart,lRapCurrentPart);
-       fK0sMCPtEta->Fill(lPtCurrentPart,lEtaCurrentPart);
-       fK0sMCPtLt->Fill(lPtCurrentPart,lt,centrality);
-       //}
-
-
-       // Triggered Event
-       if(isTriggeredMC){
-
-         dPhiMC = dPHI(triggerMCPhi,lPhiCurrentPart);
-         dEtaMC = triggerMCEta - lEtaCurrentPart;
-         
-         // Pt bin
-         for(Int_t k=0;k<kN1;k++)
-           if( (lPtCurrentPart>kPtBinV0[k]) && (lPtCurrentPart<kPtBinV0[k+1]) ){             
-             fK0sdPhidEtaMC[k]->Fill(dPhiMC,dEtaMC,zv);
-        
-             if(centrality<10)
-               fK0sdPhidEtaMCCent[k]->Fill(dPhiMC,dEtaMC,zv);
-               
-           } // End pt bin
-         
-       } // End trigger event
-
-      } // End K0s selection
-      
-      // Lambda
-      if (lPdgcodeCurrentPart == kLambda0) {
-       //if (multiplicity>=1){ 
-       fLambdaMCPt->Fill(lPtCurrentPart);
-       fLambdaMCPtRap->Fill(lPtCurrentPart,lRapCurrentPart);
-       fLambdaMCPtEta->Fill(lPtCurrentPart,lEtaCurrentPart);
-       fLambdaMCPtLt->Fill(lPtCurrentPart,lt,centrality);
-       //}
-
-       // Triggered Event
-       if(isTriggeredMC){
-
-         dPhiMC = dPHI(triggerMCPhi,lPhiCurrentPart);
-         dEtaMC = triggerMCEta - lEtaCurrentPart;
-         
-         // Pt bin
-         for(Int_t k=0;k<kN1;k++)
-           if( (lPtCurrentPart>kPtBinV0[k]) && (lPtCurrentPart<kPtBinV0[k+1]) ){
-     
-             fLambdadPhidEtaMC[k]->Fill(dPhiMC,dEtaMC,zv);
-                 
-             if(centrality<10)
-               fLambdadPhidEtaMCCent[k]->Fill(dPhiMC,dEtaMC,zv);
-       
-           } //End pt bin
-         
-       } // End trigger event
-
-      } // End Lambda
-      // AntiLambda
-      /*
-      if (lPdgcodeCurrentPart == kLambda0Bar) {
-       //if (multiplicity>=1){
-
-       fAntiLambdaMCPt->Fill(lPtCurrentPart);
-       fAntiLambdaMCPtRap->Fill(lPtCurrentPart,lRapCurrentPart);
-       fAntiLambdaMCPtEta->Fill(lPtCurrentPart,lEtaCurrentPart);
-       fAntiLambdaMCPtLt->Fill(lPtCurrentPart,lt,centrality);
-
-       //}
-      }
-      */      
-    } // End loop over MC
-    
-  } // End MC condition
-  
-  // *************************************************
-  // V0 loop - AOD
-
-  TArrayD* v0Corr = V0Loop(trkTrigger,kCorrelation,isTriggered);
-
-  delete v0Corr;
-  delete triggerArray;
-
-}
-
-//___________________________________________________________________________________________
-
-void AliAnalysisTaskLambdaOverK0sJets::Terminate(Option_t *)
-{
-  // The Terminate() function is the last function to be called during
-  // a query. It always runs on the client, it can be used to present
-  // the results graphically or save the results to file.
-  
-  fOutput=(TList*)GetOutputData(1);
-  if (fOutput) {
-    Printf("\n\t *** DONE: fOutput available *** \n");
-    return;
-  }
-  else{
-    Printf("ERROR: fOutput not available");
-    return;
-  }
-   
-}
diff --git a/PWGLF/STRANGENESS/Correlations/macros/testfile.txt b/PWGLF/STRANGENESS/Correlations/macros/testfile.txt
deleted file mode 100644 (file)
index e69de29..0000000