]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
AnalysisTask of AliRoot vAN-20140404
authorxsanchez <xitzel.sanchez.castro@cern.ch>
Fri, 16 May 2014 12:12:20 +0000 (14:12 +0200)
committerxsanchez <xitzel.sanchez.castro@cern.ch>
Fri, 16 May 2014 12:12:20 +0000 (14:12 +0200)
PWGLF/STRANGENESS/Correlations/AliAnalysisTaskLambdaOverK0sJets.cxx
PWGLF/STRANGENESS/Correlations/AliAnalysisTaskLambdaOverK0sJets.h
PWGLF/STRANGENESS/Correlations/macros/AddTaskLambdaOverK0sJets.C

index 364044050d5cd499b47f58f25cb69621adc6360d..0ce727e8c8c9e51107e915bd0295a83e5026100c 100644 (file)
@@ -48,7 +48,7 @@
 
 #include "AliAnalysisTaskLambdaOverK0sJets.h"
 
-//extern TROOT *gROOT;
+extern TROOT *gROOT;
 
 
 ClassImp(AliAnalysisTaskLambdaOverK0sJets)
@@ -80,9 +80,9 @@ AliAnalysisTaskLambdaOverK0sJets::AliAnalysisTaskLambdaOverK0sJets(const char *n
 
   fAOD(0),  fCollision("PbPb2010"), fIsMC(kFALSE), fUsePID(kFALSE), fCentMin(0.), fCentMax(90.), fDoQA(kFALSE), fDoMixEvt(kFALSE), fTrigPtMin(5.), fTrigPtMax(10.), fTrigPtMCMin(5.), fTrigPtMCMax(10000.), fTrigEtaMax(0.8), fCheckIDTrig(kFALSE), fSeparateInjPart(kTRUE), fEndOfHijingEvent(-1),  fPIDResponse(0),
 
-  fMinPtDaughter(0.160), fMaxEtaDaughter(0.8), fMaxDCADaughter(1.0), fUseEtaCut(kFALSE), fYMax(0.5), fDCAToPrimVtx(0.1), fMinCPA(0.998), fNSigma(3.0), fDaugNClsTPC(70.), fMinCtau(0.), fMaxCtau(3.), fIdTrigger(-1), fIsV0LP(0), fPtV0LP(0.), fIsSndCheck(0),
+  fMinPtDaughter(0.160), fMaxEtaDaughter(0.8), fMaxDCADaughter(1.0), fYMax(0.5), fDCAToPrimVtx(0.1), fMinCPA(0.998), fNSigma(3.0),fDaugNClsTPC(70.), fMinCtau(0.), fMaxCtau(3.), fIdTrigger(-1), fIsV0LP(0), fPtV0LP(0.), fIsSndCheck(0),
 
-  fOutput(0), fOutputQA(0), fOutputME(0), fMEList(0x0), fTriggerParticles(0x0), fTriggerPartMC(0x0), fAssocParticles(0x0), fAssocPartMC(0x0), fEvents(0), fCentrality(0),  fCentrality2(0), fCentralityTrig(0), fPrimaryVertexX(0), fPrimaryVertexY(0), fPrimaryVertexZ(0),
+  fOutput(0), fOutputQA(0), fOutputME(0), fMEList(0x0), fTriggerParticles(0x0), fChargedAssocParticles(0x0), fTriggerPartMC(0x0), fAssocParticles(0x0), fAssocPartMC(0x0), fXiTriggerPartMC(0x0), fEvents(0), fCentrality(0),  fCentrality2(0), fCentralityTrig(0), fPrimaryVertexX(0), fPrimaryVertexY(0), fPrimaryVertexZ(0),
 
  fTriggerEventPlane(0),  fTriggerMCPtCent(0), fTriggerMCResPt(0), fTriggerMCResEta(0), fTriggerMCResPhi(0), fTriggerPtCent(0),  fTriggerPtCentCh(0), fNTrigPerEvt(0), fTriggerWiSPDHit(0), fTriggerEtaPhi(0), fCheckTriggerFromV0Daug(0), fTriggerComingFromDaug(0), fTriggerIsV0(0), fCheckIDTrigPtK0s(0), fCheckIDTrigPhiK0s(0), fCheckIDTrigEtaK0s(0), fCheckIDTrigNclsK0s(0), fCheckIDTrigPtLambda(0), fCheckIDTrigPhiLambda(0), fCheckIDTrigEtaLambda(0),  fCheckIDTrigNclsLambda(0), fCheckIDTrigPtAntiLambda(0), fCheckIDTrigPhiAntiLambda(0), fCheckIDTrigEtaAntiLambda(0), fCheckIDTrigNclsAntiLambda(0), 
 
@@ -98,6 +98,8 @@ fK0sMCPt(0), fK0sMCPtRap(0), fK0sMCPtRap2(0), fK0sMCPtRapVtx(0), fK0sMCPtRapEmbe
 
   fAntiLambdaMass(0), fAntiLambdaMassEmbeded(0), fAntiLambdaMass2(0), fAntiLambdaMass2Embeded(0), fAntiLambdaMassPtEta(0), fAntiLambdaMassPtPhi(0), fAntiLambdaDaughtersPt(0), fAntiLambdaDCADaugToPrimVtx(0), fAntiLambdaSpatialRes(0), fAntiLambdaBckgDecLength(0), fAntiLambdaBckgDCADaugToPrimVtx(0), fAntiLambdaBckgEtaPhi(0), fAntiLambdaBckgPhiRadio(0), fAntiLambdaBckgDCANegDaugToPrimVtx(0), fAntiLambdaBckgDCAPosDaugToPrimVtx(0), 
 
+  fXiMinusPtMCAssoc(0), fXiMinusPtMCTrigger(0),
+
   fK0sPtPosDaug(0), fK0sPtNegDaug(0), fK0sBckgPtPosDaug(0), fK0sBckgPtNegDaug(0), fK0sPhiEtaPosDaug(0), fK0sPhiEtaNegDaug(0), fK0sBckgPhiEtaPosDaug(0), fK0sBckgPhiEtaNegDaug(0), fK0sDCAPosDaug(0), fK0sDCANegDaug(0), fK0sBckgDCAPosDaug(0), fK0sBckgDCANegDaug(0), fK0sDecayPos(0), fK0sBckgDecayPos(0), fK0sDecayVertex(0), fK0sBckgDecayVertex(0), fK0sCPA(0), fK0sBckgCPA(0), fK0sDCAV0Daug(0), fK0sBckgDCAV0Daug(0), fK0sNClustersTPC(0), fK0sBckgNClustersTPC(0), fK0sNClustersITSPos(0), fK0sNClustersITSNeg(0), fK0sBckgNClustersITSPos(0), fK0sBckgNClustersITSNeg(0),   
 
   fLambdaPtPosDaug(0), fLambdaPtNegDaug(0), fLambdaBckgPtPosDaug(0), fLambdaBckgPtNegDaug(0), fLambdaPhiEtaPosDaug(0),fLambdaPhiEtaNegDaug(0), fLambdaBckgPhiEtaPosDaug(0),fLambdaBckgPhiEtaNegDaug(0), fLambdaDCAPosDaug(0),fLambdaDCANegDaug(0), fLambdaBckgDCAPosDaug(0), fLambdaBckgDCANegDaug(0), fLambdaDecayPos(0), fLambdaBckgDecayPos(0), fLambdaDecayVertex(0), fLambdaBckgDecayVertex(0), fLambdaCPA(0), fLambdaBckgCPA(0), fLambdaDCAV0Daug(0), fLambdaBckgDCAV0Daug(0), fLambdaNClustersTPC(0), fLambdaBckgNClustersTPC(0), fLambdaNClustersITSPos(0), fLambdaNClustersITSNeg(0), fLambdaBckgNClustersITSPos(0),  fLambdaBckgNClustersITSNeg(0),
@@ -185,6 +187,15 @@ fK0sMCPt(0), fK0sMCPtRap(0), fK0sMCPtRap2(0), fK0sMCPtRapVtx(0), fK0sMCPtRapEmbe
     fAntiLambdadPhidEtaMC[i] = 0;
   }
 
+  for (Int_t i=0; i<kNCent*kN2; i++){ 
+    // Xi-: associated particle
+    fXiMinusdPhidEtaMC[i] = 0;    // Pt of Trigger particle as in the analysis
+    fXiMinusdPhidEtaMC2[i] = 0;   // Higher Pt of Trigger particle
+  }
+
+  for (Int_t i=0; i<kNCent*kN3; i++)
+    fXiMinusdPhidEtaMC3[i] = 0;   // Xi is the leading particle in the event
+
   // Correlations
   for (Int_t i=0; i<(kNCent*kN1*kNVtxZ); i++){     
     // K0s
@@ -195,7 +206,18 @@ fK0sMCPt(0), fK0sMCPtRap(0), fK0sMCPtRap2(0), fK0sMCPtRapVtx(0), fK0sMCPtRapEmbe
     fAntiLambdadPhidEtaPtL[i] = 0;  
   }
 
+  // Gamma Conversion correlation
+  for (Int_t i=0; i<kNCent; i++)
+    fGammaConversiondPhidEta[i] = 0;
+
+  // h-h correlations
+  for (Int_t i=0; i<(kNCent*kNc*kNVtxZ); i++) 
+    fChargeddPhidEta[i] = 0;
+
   // Mixed events distributions
+  for (Int_t i=0; i<(kNc*kNVtxZ*kNCent); i++)
+    fChargeddPhidEtaME[i] = 0;
+
   for (Int_t i=0; i<(kN1*kNVtxZ*kNCent); i++){ 
     fK0sdPhidEtaME[i] = 0;
     fLambdadPhidEtaME[i] = 0;
@@ -231,6 +253,11 @@ AliAnalysisTaskLambdaOverK0sJets::~AliAnalysisTaskLambdaOverK0sJets()
     fTriggerParticles=0x0;
   }
 
+  if(fChargedAssocParticles) {
+    delete fChargedAssocParticles;
+    fChargedAssocParticles=0x0;
+  }
+
   if(fTriggerPartMC) {
     delete fTriggerPartMC;
     fTriggerPartMC=0x0;
@@ -245,7 +272,12 @@ AliAnalysisTaskLambdaOverK0sJets::~AliAnalysisTaskLambdaOverK0sJets()
     delete fAssocPartMC;
     fAssocPartMC=0x0;
   }
+  
+  if(fXiTriggerPartMC) {
+    delete fXiTriggerPartMC;
+    fXiTriggerPartMC=0x0;
+  }
+
     
 }
 
@@ -393,7 +425,7 @@ void AliAnalysisTaskLambdaOverK0sJets::UserCreateOutputObjects()
   fCheckIDTrigEtaK0s->GetYaxis()->SetBinLabel(2,"Neg Daug");
   fOutput->Add(fCheckIDTrigEtaK0s);
 
-  fCheckIDTrigNclsK0s = new TH3F("fCheckIDTrigNclsK0s","K^{0}_{S};NCls TPC;;p_{V0}",181,0.5,180.5,3,-0.5,2.5,100,1.,11.);
+  fCheckIDTrigNclsK0s = new TH3F("fCheckIDTrigNclsK0s","K^{0}_{S};NCls TPC;;p_{V0}",131,49.5,180.5,3,-0.5,2.5,100,1.,11.);
   fCheckIDTrigNclsK0s->GetYaxis()->SetBinLabel(1,"Pos Daug");
   fCheckIDTrigNclsK0s->GetYaxis()->SetBinLabel(2,"Neg Daug");
   fOutput->Add(fCheckIDTrigNclsK0s);
@@ -418,7 +450,7 @@ void AliAnalysisTaskLambdaOverK0sJets::UserCreateOutputObjects()
   fCheckIDTrigEtaLambda->GetYaxis()->SetBinLabel(2,"Neg Daug");
   fOutput->Add(fCheckIDTrigEtaLambda);
 
-  fCheckIDTrigNclsLambda = new TH3F("fCheckIDTrigNclsLambda","#Lambda;NCls TPC;;p_{V0}",181,0.5,180.5,3,-0.5,2.5,100,1.,11.);
+  fCheckIDTrigNclsLambda = new TH3F("fCheckIDTrigNclsLambda","#Lambda;NCls TPC;;p_{V0}",131,49.5,180.5,3,-0.5,2.5,100,1.,11.);
   fCheckIDTrigNclsLambda->GetYaxis()->SetBinLabel(1,"Pos Daug");
   fCheckIDTrigNclsLambda->GetYaxis()->SetBinLabel(2,"Neg Daug");
   fOutput->Add(fCheckIDTrigNclsLambda);
@@ -443,7 +475,7 @@ void AliAnalysisTaskLambdaOverK0sJets::UserCreateOutputObjects()
   fCheckIDTrigEtaAntiLambda->GetYaxis()->SetBinLabel(2,"Neg Daug");
   fOutput->Add(fCheckIDTrigEtaAntiLambda);
 
-  fCheckIDTrigNclsAntiLambda = new TH3F("fCheckIDTrigNclsAntiLambda","#bar{#Lambda};NCls TPC;;p_{V0}",181,0.5,180.5,3,-0.5,2.5,100,1.,11.);
+  fCheckIDTrigNclsAntiLambda = new TH3F("fCheckIDTrigNclsAntiLambda","#bar{#Lambda};NCls TPC;;p_{V0}",131,49.5,180.5,3,-0.5,2.5,100,1.,11.);
   fCheckIDTrigNclsAntiLambda->GetYaxis()->SetBinLabel(1,"Pos Daug");
   fCheckIDTrigNclsAntiLambda->GetYaxis()->SetBinLabel(2,"Neg Daug");
   fOutput->Add(fCheckIDTrigNclsAntiLambda);
@@ -1248,8 +1280,94 @@ void AliAnalysisTaskLambdaOverK0sJets::UserCreateOutputObjects()
   fOutput->Add(fAntiLambdaBckgDCAPosDaugToPrimVtx);
 
 
+  // Xi: correlations in MC
+  if(fIsMC){  // Monte-Carlo level:
+
+    // Pt of Xi as associated particles
+    fXiMinusPtMCAssoc = new TH2F("fXiMinusPtMCAssoc","Xi Minus MC (Assocaiated particle);#it{p}_{T} (GeV/#it{c});Centrality",50,0.,50.,100,0.,100.);
+    fOutput->Add(fXiMinusPtMCAssoc);
+
+    // Pt of Xi as trigger particles
+    fXiMinusPtMCTrigger = new TH2F("fXiMinusPtMCTrigger","Xi Minus MC (Leadinf particle);#it{p}_{T} (GeV/#it{c});Centrality",50,0.,50.,100,0.,100.);
+    fOutput->Add(fXiMinusPtMCTrigger);
+
+    // Correlations: h-Xi
+    for(Int_t jj=0;jj<kNCent;jj++){
+      for(Int_t k=0;k<kN2;k++){
+
+       snprintf(hNameHist,100, "fXiMinusdPhidEtaMC_%.2f_%.2f_Cent_%.0f_%.0f",kPtBinV02[k],kPtBinV02[k+1],kBinCent[jj],kBinCent[jj+1]); 
+       fXiMinusdPhidEtaMC[jj*kN2+k] = new TH3F(hNameHist,"Xi Minus MC: #Delta#varphi vs #Delta#eta vs p_{T,l}; #Delta#varphi (rad); #Delta#eta; Vertex Z (cm)",
+                                               nbinsdPhi,-TMath::PiOver2(),3*TMath::PiOver2(),
+                                               nbinsdEta,-1.5,1.5,
+                                               nbinsVtx,-10.,10.);
+       fOutput->Add(fXiMinusdPhidEtaMC[jj*kN2+k]);
+      
+
+       snprintf(hNameHist,100, "fXiMinusdPhidEtaMC2_%.2f_%.2f_Cent_%.0f_%.0f",kPtBinV02[k],kPtBinV02[k+1],kBinCent[jj],kBinCent[jj+1]); 
+       fXiMinusdPhidEtaMC2[jj*kN2+k] = new TH3F(hNameHist,"Xi Minus MC: #Delta#varphi vs #Delta#eta vs p_{T,l}; #Delta#varphi (rad); #Delta#eta; Vertex Z (cm)",
+                                               nbinsdPhi,-TMath::PiOver2(),3*TMath::PiOver2(),
+                                               nbinsdEta,-1.5,1.5,
+                                               nbinsVtx,-10.,10.);
+       fOutput->Add(fXiMinusdPhidEtaMC2[jj*kN2+k]);
+      
+      }
+    }
+
+    // Correlations: Xi-h
+    for(Int_t jj=0;jj<kNCent;jj++){
+      for(Int_t k=0;k<kN3;k++){
+       snprintf(hNameHist,100, "fXiMinusdPhidEtaMC3_%.2f_%.2f_Cent_%.0f_%.0f",kPtBinV02[k],kPtBinV02[k+1],kBinCent[jj],kBinCent[jj+1]); 
+       fXiMinusdPhidEtaMC3[jj*kN3+k] = new TH3F(hNameHist,"Xi Minus MC (LP): #Delta#varphi vs #Delta#eta vs p_{T,l}; #Delta#varphi (rad); #Delta#eta; Vertex Z (cm)",
+                                                nbinsdPhi,-TMath::PiOver2(),3*TMath::PiOver2(),
+                                                nbinsdEta,-1.5,1.5,
+                                                nbinsVtx,-10.,10.);
+       fOutput->Add(fXiMinusdPhidEtaMC3[jj*kN3+k]);
+      }
+    }
+
+  } // End MC condition
+
+  // Gamma conversion
+  for(Int_t jj=0;jj<kNCent;jj++){
+    snprintf(hNameHist,100, "fGammaConversiondPhidEta_Cent_%.0f_%.0f",kBinCent[jj],kBinCent[jj+1]); 
+    fGammaConversiondPhidEta[jj] = new TH3F(hNameHist,"Gamma Conversion: #Delta#varphi vs #Delta#eta;#Delta#varphi (rad);#Delta#eta;Vertex Z (cm)",
+                                           2*nbinsdPhi,-TMath::PiOver2(),3*TMath::PiOver2(),
+                                           nbinsdEta,-1.5,1.5,
+                                           nbinsVtx,-10.,10.);
+    fOutput->Add(fGammaConversiondPhidEta[jj]);
+  }
+
+  // hh correlations
+  for(Int_t jj=0;jj<kNCent;jj++){
+    for(Int_t k=0;k<kNc;k++){
+      for(Int_t ll=0;ll<kNVtxZ;ll++){
+       snprintf(hNameHist,100, "fChargeddPhidEta_Cent_%.0f_%.0f_pt_%.2lf_%.2lf_%d",kBinCent[jj],kBinCent[jj+1],kPtBinCharged[k],kPtBinCharged[k+1],ll); 
+       fChargeddPhidEta[jj*kNc*kNVtxZ + k*kNVtxZ + ll] = new TH2F(hNameHist,"hh correlations: #Delta#varphi vs #Delta#eta;#Delta#varphi (rad);#Delta#eta)",
+                                                                  72,-TMath::PiOver2(),3*TMath::PiOver2(),
+                                                                  nbinsdEta,-1.5,1.5);
+       fOutput->Add(fChargeddPhidEta[jj*kNc*kNVtxZ + k*kNVtxZ + ll
+]);
+      }
+    }
+  }
+  
+
   // ============================================================= //
 
+  // Charged ME:
+  for(Int_t ll=0;ll<kNCent;ll++){
+    for(Int_t k=0;k<kNc;k++){
+      for(Int_t j=0;j<kNVtxZ;j++){
+
+       snprintf(hNameHist,100,"fChargeddPhidEtaME_%.2f_%.2f_%.0f_%.0f_%d",kPtBinCharged[k],kPtBinCharged[k+1],kBinCent[ll],kBinCent[ll+1],j);                  
+       fChargeddPhidEtaME[ll*kNc*kNVtxZ + k*kNVtxZ + j] = new TH2F(hNameHist,"Charged particles: #Delta#varphi vs #Delta#eta in ME;#Delta#varphi (rad);#Delta#eta",
+                                                                   72,-TMath::PiOver2(),3*TMath::PiOver2(),
+                                                                   nbinsdEta,-1.5,1.5);
+       fOutputME->Add(fChargeddPhidEtaME[ll*kNc*kNVtxZ + k*kNVtxZ + j]);               
+      }
+    }
+  }
+
   // K0s in ME:  
   for(Int_t ll=0;ll<kNCent;ll++){
     for(Int_t k=0;k<kN1;k++){
@@ -1417,11 +1535,11 @@ void AliAnalysisTaskLambdaOverK0sJets::UserCreateOutputObjects()
     // Number of TPC clusters:
     //     --- signal ---
     fK0sNClustersTPC =  // Positive momentum to positive daugther - Negative momentum to negative daugther 
-      new TH3F("fK0sNClustersTPC","K^{0}_{S};#varphi;Num. TPC Clusters; #it{p}_{T} (GeV/#it{c})",nbinsPhi,0.,2.*TMath::Pi(),181,0.5,180.5,nbins,-pMax,pMax); 
+      new TH3F("fK0sNClustersTPC","K^{0}_{S};#varphi;Num. TPC Clusters; #it{p}_{T} (GeV/#it{c})",nbinsPhi,0.,2.*TMath::Pi(),131,49.5,180.5,nbins,-pMax,pMax); 
     fOutputQA->Add(fK0sNClustersTPC);
     //     --- background ---
     fK0sBckgNClustersTPC =  // Positive momentum to positive daugther - Negative momentum to negative daugther 
-      new TH3F("fK0sBckgNClustersTPC","K^{0}_{S} Bckg;#varphi;Num. TPC Clusters; #it{p}_{T} (GeV/#it{c})",nbinsPhi,0.,2.*TMath::Pi(),181,0.5,180.5,nbins,-pMax,pMax); 
+      new TH3F("fK0sBckgNClustersTPC","K^{0}_{S} Bckg;#varphi;Num. TPC Clusters; #it{p}_{T} (GeV/#it{c})",nbinsPhi,0.,2.*TMath::Pi(),131,49.5,180.5,nbins,-pMax,pMax); 
     fOutputQA->Add(fK0sBckgNClustersTPC);
  
     // Number of ITS clusters:
@@ -1583,11 +1701,11 @@ void AliAnalysisTaskLambdaOverK0sJets::UserCreateOutputObjects()
     // Number of TPC clusters:
     //     --- signal ---
     fLambdaNClustersTPC = 
-      new TH3F("fLambdaNClustersTPC","#Lambda;#varphi;Num. TPC Clusters;#it{p}_{T} (GeV/#it{c})",nbinsPhi,0.,2.*TMath::Pi(),181,0.5,180.5,nbins,-pMax,pMax); 
+      new TH3F("fLambdaNClustersTPC","#Lambda;#varphi;Num. TPC Clusters;#it{p}_{T} (GeV/#it{c})",nbinsPhi,0.,2.*TMath::Pi(),131,49.5,180.5,nbins,-pMax,pMax); 
     fOutputQA->Add(fLambdaNClustersTPC);
     //     --- background ---
     fLambdaBckgNClustersTPC = 
-      new TH3F("fLambdaBckgNClustersTPC","#Lambda Bckg;#varphi;Num. TPC Clusters;#it{p}_{T} (GeV/#it{c})",nbinsPhi,0.,2.*TMath::Pi(),181,0.5,180.5,nbins,-pMax,pMax); 
+      new TH3F("fLambdaBckgNClustersTPC","#Lambda Bckg;#varphi;Num. TPC Clusters;#it{p}_{T} (GeV/#it{c})",nbinsPhi,0.,2.*TMath::Pi(),131,49.5,180.5,nbins,-pMax,pMax); 
     fOutputQA->Add(fLambdaBckgNClustersTPC);
  
     // Number of ITS clusters:
@@ -1748,11 +1866,11 @@ void AliAnalysisTaskLambdaOverK0sJets::UserCreateOutputObjects()
     // Number of TPC clusters:
     //     --- signal ---
     fAntiLambdaNClustersTPC = 
-      new TH3F("fAntiLambdaNClustersTPC","#bar{#Lambda};#varphi;Num. TPC Clusters;#it{p}_{T} (GeV/#it{c})",nbinsPhi,0.,2.*TMath::Pi(),181,0.5,180.5,nbins,-pMax,pMax); 
+      new TH3F("fAntiLambdaNClustersTPC","#bar{#Lambda};#varphi;Num. TPC Clusters;#it{p}_{T} (GeV/#it{c})",nbinsPhi,0.,2.*TMath::Pi(),131,49.5,180.5,nbins,-pMax,pMax); 
     fOutputQA->Add(fAntiLambdaNClustersTPC);
     //     --- background ---
     fAntiLambdaBckgNClustersTPC = 
-      new TH3F("fAntiLambdaBckgNClustersTPC","#bar{#Lambda} Bckg;#varphi;Num. TPC Clusters;#it{p}_{T} (GeV/#it{c})",nbinsPhi,0.,2.*TMath::Pi(),181,0.5,180.5,nbins,-pMax,pMax); 
+      new TH3F("fAntiLambdaBckgNClustersTPC","#bar{#Lambda} Bckg;#varphi;Num. TPC Clusters;#it{p}_{T} (GeV/#it{c})",nbinsPhi,0.,2.*TMath::Pi(),131,49.5,180.5,nbins,-pMax,pMax); 
     fOutputQA->Add(fAntiLambdaBckgNClustersTPC);
  
     // Number of ITS clusters:
@@ -1830,17 +1948,17 @@ static Int_t CentBin(Double_t cent)
 Bool_t AliAnalysisTaskLambdaOverK0sJets::AcceptTrack(AliAODTrack *t) 
 {
   // Track criteria for primaries particles 
-  
+  /*
   // TPC only tracks
   if (TMath::Abs(t->Eta())>0.8 )  return kFALSE; 
   if (!(t->TestFilterMask(1<<7))) return kFALSE; 
 
   Float_t nCrossedRowsTPC = t->GetTPCClusterInfo(2,1); 
-  if (nCrossedRowsTPC < 70) return kFALSE;  
-  
+  if (nCrossedRowsTPC < 70) return kFALSE;
+  */
 
   // Hybrid tracks
-  //if( !(t->TestFilterBit(272)) )  return kFALSE;
+  if( !(t->TestFilterBit(272)) )  return kFALSE;
   //if(!t->IsHybridGlobalConstrainedGlobal()) return kFALSE;
 
   // Point in the SPD
@@ -1959,6 +2077,10 @@ static Int_t SameTrack(AliAODTrack *trk, const AliAODTrack *daugTrk)
   if(  (TMath::Abs(daugTrk->GetID())+1)==(TMath::Abs(trk->GetID()))  )
     isSamePt = 1;
   
+  /*
+    if(  (TMath::Abs(nTrk->GetID()))==(TMath::Abs(trk->GetID()))  ||
+    (TMath::Abs(pTrk->GetID()))==(TMath::Abs(trk->GetID())) )  isSamePt = 1;
+  */
 
   return isSamePt;
 
@@ -2182,51 +2304,6 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge
     Float_t lPhi  = v0->Phi();
     //lPhi  = ( (lPhi < 0) ? lPhi + 2*TMath::Pi() : lPhi );    
 
-    // rapidity
-    Float_t rapK0s = v0->RapK0Short();
-    Float_t rapLambda = v0->RapLambda();
-
-    if(fUseEtaCut){
-      rapK0s = lEta;
-      rapLambda = lEta;
-    }
-   
-    // **********************************
-    // PID - tracks  
-    Float_t pPos = -100.;
-    Float_t pNeg = -100.;
-    
-    //Float_t dedxPos = -1000.;
-    //Float_t dedxNeg = -1000.;
-    //Float_t nsigPosPion   = 0.;
-    //Float_t nsigNegPion   = 0.;
-    Float_t nsigPosProton = 0.;
-    Float_t nsigNegProton = 0.;
-
-    if(fUsePID && !fIsMC) {     
-      const AliAODPid *pidNeg = ntrack->GetDetPid();
-      const AliAODPid *pidPos = ptrack->GetDetPid();
-      
-      if (pidNeg && pidPos) {
-       pPos = pidPos->GetTPCmomentum();
-       pNeg = pidNeg->GetTPCmomentum();
-       //dedxPos = pidPos->GetTPCsignal()/47.; 
-       //dedxNeg = pidNeg->GetTPCsignal()/47.; 
-       
-       
-       if(pPos<1.){
-         //nsigPosPion   = TMath::Abs(fPIDResponse->NumberOfSigmasTPC(ptrack,AliPID::kPion));
-         nsigPosProton = TMath::Abs(fPIDResponse->NumberOfSigmasTPC(ptrack,AliPID::kProton));
-       }
-       if(pNeg<1.){
-         //nsigNegPion   = TMath::Abs(fPIDResponse->NumberOfSigmasTPC(ntrack,AliPID::kPion));
-         nsigNegProton = TMath::Abs(fPIDResponse->NumberOfSigmasTPC(ntrack,AliPID::kProton));
-       }
-       
-      }
-      
-    }
-
     // **********************************
     // Disentangle the V0 candidate
     Float_t massK0s = 0., mK0s = 0., sK0s = 0.;
@@ -2408,10 +2485,10 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge
        else if( (lPDGCodePosDaughter==+2212) && (lPDGCodeNegDaughter==-211)  &&
                 (inMother==ipMother) && (lPDGCodeV0==3122)  ){
          
-         if ( ( TMath::Abs(lPdgcodeMotherOfMother) == 3212) /*||
+         if ( ( TMath::Abs(lPdgcodeMotherOfMother) == 3212) ||
               ( TMath::Abs(lPdgcodeMotherOfMother) == 3224) ||
               ( TMath::Abs(lPdgcodeMotherOfMother) == 3214) ||
-              ( TMath::Abs(lPdgcodeMotherOfMother) == 3114)*/
+              ( TMath::Abs(lPdgcodeMotherOfMother) == 3114)
               ) lComeFromSigma = kTRUE;
          else lComeFromSigma = kFALSE; 
          
@@ -2430,10 +2507,10 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge
                 (inMother==ipMother) && (lPDGCodeV0==-3122) ) {
          
          
-         if ( ( TMath::Abs(lPdgcodeMotherOfMother) == 3212) /*||
+         if ( ( TMath::Abs(lPdgcodeMotherOfMother) == 3212) ||
               ( TMath::Abs(lPdgcodeMotherOfMother) == 3224) ||
               ( TMath::Abs(lPdgcodeMotherOfMother) == 3214) ||
-              ( TMath::Abs(lPdgcodeMotherOfMother) == 3114)*/
+              ( TMath::Abs(lPdgcodeMotherOfMother) == 3114)
               ) lComeFromSigma = kTRUE;
          else lComeFromSigma = kFALSE;  
          
@@ -2460,11 +2537,6 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge
        Float_t ptAs = p0->Pt();
        Float_t rapAs = p0->Y();
        Float_t etaAs = p0->Eta();
-
-       if(fUseEtaCut){
-         rapAs = etaAs;
-       }
-
        // phi resolution for V0-reconstruction
        Float_t resEta = p0->Eta() - v0->Eta(); 
        Float_t resPhi = p0->Phi() - v0->Phi(); 
@@ -2477,7 +2549,7 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge
            // Natural particles
            if(isNaturalPart){
 
-             if( (dcaPos>0.1) && (dcaNeg>0.1) && (nClsTPCPos>fDaugNClsTPC) && (nClsTPCNeg>fDaugNClsTPC) ){
+             if( (dcaPos>0.1) && (dcaNeg>0.1) && (nClsTPCPos>70) && (nClsTPCNeg>70) ){
 
                fK0sAssocPt->Fill(ptAs);
                fK0sAssocPtRap->Fill(ptAs,rapAs,centrality);
@@ -2502,7 +2574,7 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge
              if( (lPtArmV0 > TMath::Abs(0.2*lAlphaV0) ) && TMath::Abs(rapAs)<fYMax ){ 
 
                //  Cut in the DCA ToPrim Vtx
-               if( (nClsTPCPos>fDaugNClsTPC) && (nClsTPCNeg>fDaugNClsTPC) ){
+               if( (nClsTPCPos>70) && (nClsTPCNeg>70) ){
                  if( (dcaPos>0.1) && (dcaNeg>0.1) ) // default value
                    fK0sAssocMassPtDCAPV[curCentBin]->Fill(v0->MassK0Short(),ptAs,1);
                  if( (dcaPos>0.115) && (dcaNeg>0.115) ) 
@@ -2513,8 +2585,8 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge
                    fK0sAssocMassPtDCAPV[curCentBin]->Fill(v0->MassK0Short(),ptAs,4);
                }                 
 
-               // cut in the number of tpc clusters
-               if( (dcaPos>0.1) && (dcaNeg>0.1) && TMath::Abs(rapAs)<0.5 ){
+               // cut in the number of tpc ckusters
+               if( (dcaPos>0.1) && (dcaNeg>0.1) ){
                  if( (nClsTPCPos>70) && (nClsTPCNeg>70) )  // default value
                    fK0sAssocMassPtDaugNClsTPC[curCentBin]->Fill(v0->MassK0Short(),ptAs,1);
                  if( (nClsTPCPos>50) && (nClsTPCNeg>50) )
@@ -2531,7 +2603,7 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge
            // Embeded particles
            if(!isNaturalPart){ 
 
-             if( (dcaPos>0.1) && (dcaNeg>0.1) && (nClsTPCPos>fDaugNClsTPC) && (nClsTPCNeg>fDaugNClsTPC) ){
+             if( (dcaPos>0.1) && (dcaNeg>0.1) && (nClsTPCPos>70) && (nClsTPCNeg>70) ){
 
                fK0sAssocPtRapEmbeded->Fill(ptAs,rapAs,centrality);
 
@@ -2550,7 +2622,7 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge
              if( (lPtArmV0 > TMath::Abs(0.2*lAlphaV0) ) && TMath::Abs(rapAs)<fYMax ){ 
 
                //  Cut in the DCA ToPrim Vtx
-               if( (nClsTPCPos>fDaugNClsTPC) && (nClsTPCNeg>fDaugNClsTPC) ){
+               if( (nClsTPCPos>70) && (nClsTPCNeg>70) ){
                  if( (dcaPos>0.1) && (dcaNeg>0.1) ) // default value
                    fK0sAssocMassPtDCAPVEmbeded[curCentBin]->Fill(v0->MassK0Short(),ptAs,1);
                  if( (dcaPos>0.115) && (dcaNeg>0.115) ) 
@@ -2561,8 +2633,8 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge
                    fK0sAssocMassPtDCAPVEmbeded[curCentBin]->Fill(v0->MassK0Short(),ptAs,4);
                }                 
 
-               // cut in the number of tpc clusters
-               if( (dcaPos>0.1) && (dcaNeg>0.1) && TMath::Abs(rapAs)<0.5 ){
+               // cut in the number of tpc ckusters
+               if( (dcaPos>0.1) && (dcaNeg>0.1) ){
                  if( (nClsTPCPos>70) && (nClsTPCNeg>70) )  // default value
                    fK0sAssocMassPtDaugNClsTPCEmbeded[curCentBin]->Fill(v0->MassK0Short(),ptAs,1);
                  if( (nClsTPCPos>50) && (nClsTPCNeg>50) )
@@ -2580,12 +2652,12 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge
          }  // End K0s selection
 
          // Lambda:
-         if(ctL && lCheckMcLambda && (TMath::Abs(nsigPosProton)<fNSigma) ) {  
+         if(ctL && lCheckMcLambda) {  
            
            // Natural particles
            if(isNaturalPart){
 
-             if( (dcaPos>0.1) && (dcaNeg>0.1) && (nClsTPCPos>fDaugNClsTPC) && (nClsTPCNeg>fDaugNClsTPC) ){
+             if( (dcaPos>0.1) && (dcaNeg>0.1) && (nClsTPCPos>70) && (nClsTPCNeg>70) ){
 
                fLambdaAssocPt->Fill(ptAs);
                fLambdaAssocPtRap->Fill(ptAs,rapAs,centrality);
@@ -2614,7 +2686,7 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge
              if( TMath::Abs(rapAs)<fYMax ){ 
                
                //  Cut in the DCA ToPrim Vtx
-               if( (nClsTPCPos>fDaugNClsTPC) && (nClsTPCNeg>fDaugNClsTPC) ){
+               if( (nClsTPCPos>70) && (nClsTPCNeg>70) ){
                  if( (dcaPos>0.1) && (dcaNeg>0.1) ) // default value
                    fLambdaAssocMassPtDCAPV[curCentBin]->Fill(v0->MassLambda(),ptAs,1);
                  if( (dcaPos>0.115) && (dcaNeg>0.115) ) 
@@ -2632,8 +2704,8 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge
 
                }                 
 
-               // cut in the number of tpc clusters
-               if( (dcaPos>0.1) && (dcaNeg>0.1) && TMath::Abs(rapAs)<0.5 ){
+               // cut in the number of tpc ckusters
+               if( (dcaPos>0.1) && (dcaNeg>0.1) ){
                  if( (nClsTPCPos>70) && (nClsTPCNeg>70) )  // default value
                    fLambdaAssocMassPtDaugNClsTPC[curCentBin]->Fill(v0->MassLambda(),ptAs,1);
                  if( (nClsTPCPos>50) && (nClsTPCNeg>50) )
@@ -2650,7 +2722,7 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge
            // Embeded particles
            if(!isNaturalPart){
 
-             if( (dcaPos>0.1) && (dcaNeg>0.1) && (nClsTPCPos>fDaugNClsTPC) && (nClsTPCNeg>fDaugNClsTPC) ){
+             if( (dcaPos>0.1) && (dcaNeg>0.1) && (nClsTPCPos>70) && (nClsTPCNeg>70) ){
              
                if( TMath::Abs(rapAs)<fYMax ){
                  // Distributions for the efficiency (systematics chechks)
@@ -2669,7 +2741,7 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge
              if( TMath::Abs(rapAs)<fYMax ){ 
 
                //  Cut in the DCA ToPrim Vtx
-               if( (nClsTPCPos>fDaugNClsTPC) && (nClsTPCNeg>fDaugNClsTPC) ){
+               if( (nClsTPCPos>70) && (nClsTPCNeg>70) ){
                  if( (dcaPos>0.1) && (dcaNeg>0.1) ) // default value
                    fLambdaAssocMassPtDCAPVEmbeded[curCentBin]->Fill(v0->MassLambda(),ptAs,1);
                  if( (dcaPos>0.115) && (dcaNeg>0.115) ) 
@@ -2686,9 +2758,9 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge
                    fLambdaAssocMassPtDCAPVEmbeded[curCentBin]->Fill(v0->MassLambda(),ptAs,7);
                }                 
 
-               // cut in the number of tpc clusters
+               // cut in the number of tpc ckusters
                if( (dcaPos>0.1) && (dcaNeg>0.1) ){
-                 if( (nClsTPCPos>70) && (nClsTPCNeg>70) && TMath::Abs(rapAs)<0.5 )  // default value
+                 if( (nClsTPCPos>70) && (nClsTPCNeg>70) )  // default value
                    fLambdaAssocMassPtDaugNClsTPCEmbeded[curCentBin]->Fill(v0->MassLambda(),ptAs,1);
                  if( (nClsTPCPos>50) && (nClsTPCNeg>50) )
                    fLambdaAssocMassPtDaugNClsTPCEmbeded[curCentBin]->Fill(v0->MassLambda(),ptAs,2);
@@ -2705,11 +2777,11 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge
          } // End Lambda selection
 
          // AntiLambda:
-         if (ctAL && lCheckMcAntiLambda  && (TMath::Abs(nsigNegProton)<fNSigma) ){
+         if (ctAL && lCheckMcAntiLambda){
            
            if(isNaturalPart){
 
-             if( (dcaPos>0.1) && (dcaNeg>0.1) && (nClsTPCPos>fDaugNClsTPC) && (nClsTPCNeg>fDaugNClsTPC) ){
+             if( (dcaPos>0.1) && (dcaNeg>0.1) && (nClsTPCPos>70) && (nClsTPCNeg>70) ){
 
                fAntiLambdaAssocPt->Fill(ptAs);
                fAntiLambdaAssocPtRap->Fill(ptAs,rapAs,centrality);
@@ -2737,7 +2809,7 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge
              if( TMath::Abs(rapAs)<fYMax ){ 
                
                //  Cut in the DCA ToPrim Vtx
-               if( (nClsTPCPos>fDaugNClsTPC) && (nClsTPCNeg>fDaugNClsTPC) ){
+               if( (nClsTPCPos>70) && (nClsTPCNeg>70) ){
                  if( (dcaPos>0.1) && (dcaNeg>0.1) ) // default value
                    fAntiLambdaAssocMassPtDCAPV[curCentBin]->Fill(v0->MassAntiLambda(),ptAs,1);
                  if( (dcaPos>0.115) && (dcaNeg>0.115) ) 
@@ -2754,8 +2826,8 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge
                    fAntiLambdaAssocMassPtDCAPV[curCentBin]->Fill(v0->MassAntiLambda(),ptAs,7);
                }                 
 
-               // cut in the number of tpc clusters
-               if( (dcaPos>0.1) && (dcaNeg>0.1) && TMath::Abs(rapAs)<0.5 ){
+               // cut in the number of tpc ckusters
+               if( (dcaPos>0.1) && (dcaNeg>0.1) ){
                  if( (nClsTPCPos>70) && (nClsTPCNeg>70) )  // default value
                    fAntiLambdaAssocMassPtDaugNClsTPC[curCentBin]->Fill(v0->MassAntiLambda(),ptAs,1);
                  if( (nClsTPCPos>50) && (nClsTPCNeg>50) )
@@ -2772,7 +2844,7 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge
            // Embeded particles
            if(!isNaturalPart){
 
-             if( (dcaPos>0.1) && (dcaNeg>0.1) && (nClsTPCPos>fDaugNClsTPC) && (nClsTPCNeg>fDaugNClsTPC) ){
+             if( (dcaPos>0.1) && (dcaNeg>0.1) && (nClsTPCPos>70) && (nClsTPCNeg>70) ){
 
                if( TMath::Abs(rapAs)<fYMax ){
                  // Distributions for the efficiency (systematics chechks)
@@ -2792,7 +2864,7 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge
              if( TMath::Abs(rapAs)<fYMax ){ 
 
                //  Cut in the DCA ToPrim Vtx
-               if( (nClsTPCPos>fDaugNClsTPC) && (nClsTPCNeg>fDaugNClsTPC) ){
+               if( (nClsTPCPos>70) && (nClsTPCNeg>70) ){
                  if( (dcaPos>0.1) && (dcaNeg>0.1) ) // default value
                    fAntiLambdaAssocMassPtDCAPVEmbeded[curCentBin]->Fill(v0->MassAntiLambda(),ptAs,1);
                  if( (dcaPos>0.095) && (dcaNeg>0.095) )
@@ -2844,9 +2916,44 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge
     }// End Correlation Step
    
     // ************************************
-  
   noas:
 
+    /*
+      Float_t pPos = -100.;
+      Float_t pNeg = -100.;
+    
+      Float_t dedxPos = -1000.;
+      Float_t dedxNeg = -1000.;
+      Float_t nsigPosPion   = 0.;
+      Float_t nsigNegPion   = 0.;
+      Float_t nsigPosProton = 0.;
+      Float_t nsigNegProton = 0.;
+
+      if(fUsePID && !fIsMC) {     
+      const AliAODPid *pidNeg = ntrack->GetDetPid();
+      const AliAODPid *pidPos = ptrack->GetDetPid();
+      
+      if (pidNeg && pidPos) {
+      pPos = pidPos->GetTPCmomentum();
+      pNeg = pidNeg->GetTPCmomentum();
+      dedxPos = pidPos->GetTPCsignal()/47.; 
+      dedxNeg = pidNeg->GetTPCsignal()/47.; 
+  
+
+      if(pPos<1.){
+      nsigPosPion   = TMath::Abs(fPIDResponse->NumberOfSigmasTPC(ptrack,AliPID::kPion));
+      nsigPosProton = TMath::Abs(fPIDResponse->NumberOfSigmasTPC(ptrack,AliPID::kProton));
+      }
+      if(pNeg<1.){
+      nsigNegPion   = TMath::Abs(fPIDResponse->NumberOfSigmasTPC(ntrack,AliPID::kPion));
+      nsigNegProton = TMath::Abs(fPIDResponse->NumberOfSigmasTPC(ntrack,AliPID::kProton));
+      }
+
+      }
+
+      }
+    */
+
     // 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 isSameTrkPosDaug = -1;
@@ -2856,15 +2963,25 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge
       isSameTrkNegDaug = SameTrack(trkTrig,ntrack);
     }
 
+    // *******************
+    //   Gamma conversion
+    // *******************
+    /*
+    if(step==kReconstruction)
+      if( (TMath::Sqrt(lPtArmV0*lPtArmV0 + lAlphaV0*lAlphaV0) < 0.2)  && isNaturalPart ){
+       fAssocParticles->Add( new AliMiniParticle(centrality, zv, iV0, pt, lPhi, lEta, lMCAssocNegDaug, lMCAssocPosDaug, 2) );
+      }
+    */
+
     // *******************
     //   K0s selection
     // *******************
-    if (ctK && (TMath::Abs(rapK0s)<fYMax) && ( lPtArmV0 > TMath::Abs(0.2*lAlphaV0) ) && ( massK0s > 0.3979 && massK0s < 0.5981 ) ) {
+    if (ctK && (TMath::Abs(v0->RapK0Short())<fYMax) && ( lPtArmV0 > TMath::Abs(0.2*lAlphaV0) ) && ( massK0s > 0.3979 && massK0s < 0.5981 ) ) {
       
       switch(step) {
       case kTriggerCheck: 
 
-       if (isCandidate2K0s && (dcaPos>0.1) && (dcaNeg>0.1) && (nClsTPCPos>fDaugNClsTPC) && (nClsTPCNeg>fDaugNClsTPC) ){
+       if (isCandidate2K0s && (dcaPos>0.1) && (dcaNeg>0.1) && (nClsTPCPos>70) && (nClsTPCNeg>70) ){
 
          if(pt>ptTrig){
            fIsV0LP = 1; 
@@ -2923,19 +3040,19 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge
        break; // End K0s selection for TriggerCheck
       case kReconstruction:
        
-       if( (dcaPos > 0.1) && (dcaNeg > 0.1) && (nClsTPCPos>fDaugNClsTPC) && (nClsTPCNeg>fDaugNClsTPC) && (pt<10.) ){
+       if( (dcaPos > 0.1) && (dcaNeg > 0.1) && (nClsTPCPos>70) && (nClsTPCNeg>70) && (pt<10.) ){
          
          if(isNaturalPart) fK0sMass->Fill(massK0s,pt,centrality);
          else fK0sMassEmbeded->Fill(massK0s,pt,centrality);
          
          fK0sMassPtEta->Fill(massK0s,pt,lEta);
-         fK0sMassPtRap[curCentBin]->Fill(massK0s,pt,rapK0s);
+         fK0sMassPtRap[curCentBin]->Fill(massK0s,pt,v0->RapK0Short());
          fK0sMassPtPhi->Fill(massK0s,pt,lPhi);
 
-         
+         /*
          if( (pt>kPtBinV0[0]) && (pt<kPtBinV0[kN1]) && isNaturalPart )
            fAssocParticles->Add( new AliMiniParticle(centrality, zv, iV0, pt, lPhi, lEta, lMCAssocNegDaug, lMCAssocPosDaug, 3) );
-         
+         */
 
        }
 
@@ -2944,14 +3061,14 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge
          // Invariant Mass cut
          if (TMath::Abs(mK0s-massK0s) < 3*sK0s) {
 
-           if( (nClsTPCPos>fDaugNClsTPC) && (nClsTPCNeg>fDaugNClsTPC) ){
+           if( (nClsTPCPos>70) && (nClsTPCNeg>70) ){
              fK0sDCAPosDaug->Fill(dcaPos,pt);
              fK0sDCANegDaug->Fill(dcaNeg,pt);
            }
 
            if( (dcaPos > 0.1) && (dcaNeg > 0.1) ){
 
-             if( (nClsTPCPos>fDaugNClsTPC) && (nClsTPCNeg>fDaugNClsTPC ) ){
+             if( (nClsTPCPos>70) && (nClsTPCNeg>70 ) ){
                fK0sPtPosDaug->Fill(pt,lPtPos);
                fK0sPtNegDaug->Fill(pt,lPtNeg);
 
@@ -2977,14 +3094,14 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge
          if( TMath::Abs(mK0s-massK0s + 6.5*sK0s) < 1.5*sK0s ||
              TMath::Abs(mK0s-massK0s - 6.5*sK0s) < 1.5*sK0s  ) {
 
-           if( (nClsTPCPos>fDaugNClsTPC) && (nClsTPCNeg>fDaugNClsTPC) ){
+           if( (nClsTPCPos>70) && (nClsTPCNeg>70 ) ){
              fK0sBckgDCAPosDaug->Fill(dcaPos,pt);
              fK0sBckgDCANegDaug->Fill(dcaNeg,pt);
            }
            
            if( (dcaPos > 0.1) && (dcaNeg > 0.1) ){
 
-             if( (nClsTPCPos>fDaugNClsTPC) && (nClsTPCNeg>fDaugNClsTPC) ){
+             if( (nClsTPCPos>70) && (nClsTPCNeg>70 ) ){
                fK0sBckgPtPosDaug->Fill(pt,lPtPos);
                fK0sBckgPtNegDaug->Fill(pt,lPtNeg);
              
@@ -3022,12 +3139,12 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge
     // *******************
     // Lambda selection
     // *******************
-    if ( ctL && (TMath::Abs(rapLambda)<fYMax) && (massLambda > 1.0649 && massLambda < 1.1651 ) && (TMath::Abs(nsigPosProton)<fNSigma) ){
+    if ( ctL && (TMath::Abs(v0->RapLambda())<fYMax) && (massLambda > 1.0649 && massLambda < 1.1651 ) ){
 
       switch(step) {
       case kTriggerCheck: 
        
-       if (isCandidate2Lambda && (dcaPos>0.1) && (dcaNeg>0.1) && (nClsTPCPos>fDaugNClsTPC) && (nClsTPCNeg>fDaugNClsTPC) && !isCandidate2K0s && !isCandidate2LambdaBar ){
+       if (isCandidate2Lambda && (dcaPos>0.1) && (dcaNeg>0.1) && (nClsTPCPos>70) && (nClsTPCNeg>70 ) && !isCandidate2K0s && !isCandidate2LambdaBar ){
 
          if(pt>ptTrig) {
            fIsV0LP = 1;
@@ -3083,7 +3200,7 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge
        break; // End Lambda selection for TriggerCheck
       case kReconstruction:
        
-       if( (dcaPos > 0.1) && (dcaNeg > 0.1) && (nClsTPCPos>fDaugNClsTPC) && (nClsTPCNeg>fDaugNClsTPC) && (pt<10.) ){
+       if( (dcaPos > 0.1) && (dcaNeg > 0.1) && (nClsTPCPos>70) && (nClsTPCNeg>70 ) && (pt<10.) ){
 
          if(isNaturalPart) fLambdaMass->Fill(massLambda,pt,centrality);
          else  fLambdaMassEmbeded->Fill(massLambda,pt,centrality);
@@ -3094,13 +3211,13 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge
          }
 
          fLambdaMassPtEta->Fill(massLambda,pt,lEta);
-         fLambdaMassPtRap[curCentBin]->Fill(massLambda,pt,rapLambda);  
+         fLambdaMassPtRap[curCentBin]->Fill(massLambda,pt,v0->RapLambda());    
          fLambdaMassPtPhi->Fill(massLambda,pt,lPhi);
 
-         
+         /*
          if( (pt>kPtBinV0[0]) && (pt<kPtBinV0[kN1]) && isNaturalPart )
            fAssocParticles->Add( new AliMiniParticle(centrality, zv, iV0, pt, lPhi, lEta, lMCAssocNegDaug, lMCAssocPosDaug, 4) );
-         
+         */
          
        }
        
@@ -3110,14 +3227,14 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge
          // Invariant Mass cut
          if (TMath::Abs(mLambda-massLambda) < 3*sL) {
 
-           if( (nClsTPCPos>fDaugNClsTPC) && (nClsTPCNeg>fDaugNClsTPC) ){
+           if( (nClsTPCPos>70) && (nClsTPCNeg>70 ) ){
              fLambdaDCAPosDaug->Fill(dcaPos,pt);
              fLambdaDCANegDaug->Fill(dcaNeg,pt);
            }
 
            if( (dcaPos > 0.1) && (dcaNeg > 0.1) ){
 
-             if( (nClsTPCPos>fDaugNClsTPC) && (nClsTPCNeg>fDaugNClsTPC) ){
+             if( (nClsTPCPos>70) && (nClsTPCNeg>70 ) ){
                fLambdaPtPosDaug->Fill(pt,lPtPos);
                fLambdaPtNegDaug->Fill(pt,lPtNeg);
 
@@ -3144,14 +3261,14 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge
          if( (TMath::Abs(mLambda-massLambda + 6.5*sL) < 1.5*sL) ||
              (TMath::Abs(mLambda-massLambda - 6.5*sL) < 1.5*sL) ){
 
-           if( (nClsTPCPos>fDaugNClsTPC) && (nClsTPCNeg>fDaugNClsTPC) ){
+           if( (nClsTPCPos>70) && (nClsTPCNeg>70 ) ){
              fLambdaBckgDCAPosDaug->Fill(dcaPos,pt);
              fLambdaBckgDCANegDaug->Fill(dcaNeg,pt);
            }       
 
            if( (dcaPos > 0.1) && (dcaNeg > 0.1) ){
 
-             if( (nClsTPCPos>fDaugNClsTPC) && (nClsTPCNeg>fDaugNClsTPC) ){
+             if( (nClsTPCPos>70) && (nClsTPCNeg>70 ) ){
                fLambdaBckgPtPosDaug->Fill(pt,lPtPos);
                fLambdaBckgPtNegDaug->Fill(pt,lPtNeg);
 
@@ -3188,12 +3305,12 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge
     // *******************
     // AntiLambda selection
     // *******************
-    if ( ctAL && (TMath::Abs(rapLambda)<fYMax)  && (massAntiLambda > 1.0649 && massAntiLambda < 1.1651 ) && (TMath::Abs(nsigNegProton)<fNSigma) ) {
+    if ( ctAL && (TMath::Abs(v0->RapLambda())<fYMax)  && (massAntiLambda > 1.0649 && massAntiLambda < 1.1651 ) ) {
       
       switch(step) {
       case kTriggerCheck: 
        
-       if (isCandidate2LambdaBar && (dcaPos>0.1) && (dcaNeg>0.1) && (nClsTPCPos>fDaugNClsTPC) && (nClsTPCNeg>fDaugNClsTPC) &&  !isCandidate2K0s && !isCandidate2Lambda ){
+       if (isCandidate2LambdaBar && (dcaPos>0.1) && (dcaNeg>0.1) && (nClsTPCPos>70) && (nClsTPCNeg>70) &&  !isCandidate2K0s && !isCandidate2Lambda ){
 
          if(pt>ptTrig) {
            fIsV0LP = 1;
@@ -3250,7 +3367,7 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge
        break; // End AntiLambda selection for CheckTrigger
       case kReconstruction: 
        
-       if( (dcaPos > 0.1) && (dcaNeg > 0.1) && (nClsTPCPos>fDaugNClsTPC) && (nClsTPCNeg>fDaugNClsTPC) && (pt<10.) ) {
+       if( (dcaPos > 0.1) && (dcaNeg > 0.1) && (nClsTPCPos>70) && (nClsTPCNeg>70 ) && (pt<10.) ) {
 
          if(isNaturalPart)  fAntiLambdaMass->Fill(massAntiLambda,pt,centrality);
          else fAntiLambdaMassEmbeded->Fill(massAntiLambda,pt,centrality);
@@ -3261,13 +3378,13 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge
          }
 
          fAntiLambdaMassPtEta->Fill(massAntiLambda,pt,lEta);
-         fAntiLambdaMassPtRap[curCentBin]->Fill(massAntiLambda,pt,rapLambda);    
+         fAntiLambdaMassPtRap[curCentBin]->Fill(massAntiLambda,pt,v0->RapLambda());      
          fAntiLambdaMassPtPhi->Fill(massAntiLambda,pt,lPhi);
        
-         
+         /*
          if( (pt>kPtBinV0[0]) && (pt<kPtBinV0[kN1]) && isNaturalPart )
            fAssocParticles->Add( new AliMiniParticle(centrality, zv, iV0, pt, lPhi, lEta, lMCAssocNegDaug, lMCAssocPosDaug, 5) );
-         
+         */
 
        }
  
@@ -3276,14 +3393,14 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge
          // Invariant Mass cut
          if (TMath::Abs(mLambda-massAntiLambda) < 3*sAL) {
 
-           if( (nClsTPCPos>fDaugNClsTPC) && (nClsTPCNeg>fDaugNClsTPC) ){
+           if( (nClsTPCPos>70) && (nClsTPCNeg>70) ){
              fAntiLambdaDCAPosDaug->Fill(dcaPos,pt);
              fAntiLambdaDCANegDaug->Fill(dcaNeg,pt);
            }
 
            if( (dcaPos>0.1) && (dcaNeg>0.1) ){
              
-             if( (nClsTPCPos>fDaugNClsTPC) && (nClsTPCNeg>fDaugNClsTPC) ){
+             if( (nClsTPCPos>70) && (nClsTPCNeg>70) ){
                  fAntiLambdaPtPosDaug->Fill(pt,lPtPos);
                  fAntiLambdaPtNegDaug->Fill(pt,lPtNeg);
                  
@@ -3309,14 +3426,14 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge
          if( (TMath::Abs(mLambda-massAntiLambda + 6.5*sAL) < 1.5*sAL) ||
              (TMath::Abs(mLambda-massAntiLambda - 6.5*sAL) < 1.5*sAL) ){
 
-           if( (nClsTPCPos>fDaugNClsTPC) && (nClsTPCNeg>fDaugNClsTPC) ){
+           if( (nClsTPCPos>70) && (nClsTPCNeg>70 ) ){
              fAntiLambdaBckgDCAPosDaug->Fill(dcaPos,pt);
              fAntiLambdaBckgDCANegDaug->Fill(dcaNeg,pt);
            }
 
            if( (dcaPos>0.1) && (dcaNeg>0.1) ){
 
-             if( (nClsTPCPos>fDaugNClsTPC) && (nClsTPCNeg>fDaugNClsTPC) ){           
+             if( (nClsTPCPos>70) && (nClsTPCNeg>70 ) ){              
                fAntiLambdaBckgPtPosDaug->Fill(pt,lPtPos);
                fAntiLambdaBckgPtNegDaug->Fill(pt,lPtNeg);
              
@@ -3384,6 +3501,10 @@ void AliAnalysisTaskLambdaOverK0sJets::TriggerParticle()
     Double_t pt=t->Pt();
     Double_t eta=t->Eta();
     Double_t phi=t->Phi();
+    
+    
+    if( (pt>=kPtBinCharged[0]) && (pt<kPtBinCharged[kNc])  &&  (TMath::Abs(eta)<fTrigEtaMax) )
+      fChargedAssocParticles->Add( new AliMiniParticle(centrality, zv, i, pt, phi, eta, 0, 0, 1) );    
 
     if( (pt>fTrigPtMin)  && (pt<fTrigPtMax) &&  (TMath::Abs(eta)<fTrigEtaMax) ) {
       fTriggerParticles->Add( new AliMiniParticle(centrality, zv, i, pt, phi, eta, 0, 0, 1) );    
@@ -3407,13 +3528,13 @@ void AliAnalysisTaskLambdaOverK0sJets::TriggerParticle()
   // ----------------------------
   // 2. Checking if the trigger particle 
   // might be a daughter from the V0-candidate
-  
+  /*
   for (Int_t i=0; i<(fTriggerParticles->GetEntriesFast()); i++){
     AliMiniParticle* trig = (AliMiniParticle*) fTriggerParticles->At(i);
     Int_t id = trig->ID();
     V0Loop(kTriggerCheck,kFALSE,i,id);
   }
-  
+  */
     
 }
 
@@ -3511,6 +3632,8 @@ void AliAnalysisTaskLambdaOverK0sJets::UserExec(Option_t *)
   // Triggered Particle -  Trigger Particle
   fTriggerParticles = new TObjArray();
   fTriggerParticles->SetOwner(kTRUE);
+  fChargedAssocParticles = new TObjArray(); 
+  fChargedAssocParticles->SetOwner(kTRUE);
   TriggerParticle(); 
  
   // V0-candidate is the highest particle in the event:
@@ -3645,10 +3768,6 @@ void AliAnalysisTaskLambdaOverK0sJets::UserExec(Option_t *)
       Float_t lPhiCurrentPart = p0->Phi();
       Float_t lPtCurrentPart  = p0->Pt();
 
-      if(fUseEtaCut){
-       lRapCurrentPart = lEtaCurrentPart;
-      }
-
       Int_t iCurrentMother = p0->GetMother();       
       AliAODMCParticle *pCurrentMother = (AliAODMCParticle *)stack->At(iCurrentMother);
       Int_t lPdgCurrentMother = 0;    
@@ -3705,14 +3824,14 @@ void AliAnalysisTaskLambdaOverK0sJets::UserExec(Option_t *)
            fK0sMCPtRap2->Fill(lPtCurrentPart,lRapCurrentPart,centrality);
            fK0sMCPtPhiEta[curCentBin]->Fill(lPhiCurrentPart,lEtaCurrentPart,lPtCurrentPart);
          
-           if(TMath::Abs(lRapCurrentPart)<fYMax)  fK0sMCPtRapVtx->Fill(lPtCurrentPart,zv,centrality);
+           if(TMath::Abs(lRapCurrentPart)<0.7)  fK0sMCPtRapVtx->Fill(lPtCurrentPart,zv,centrality);
          
            if( (lPtCurrentPart>kPtBinV0[0]) && (lPtCurrentPart<kPtBinV0[kN1]) && isNaturalPart )
              fAssocPartMC->Add( new AliMiniParticle(centrality, zv, iTrkMC, lPtCurrentPart, lPhiCurrentPart, lEtaCurrentPart, 0, 0, 3) );
          }
          else{ 
            fK0sMCPtRapEmbeded->Fill(lPtCurrentPart,lRapCurrentPart,centrality); 
-           if(TMath::Abs(lRapCurrentPart)<fYMax)  fK0sMCPtRapVtxEmbeded->Fill(lPtCurrentPart,zv,centrality);
+           if(TMath::Abs(lRapCurrentPart)<0.7)  fK0sMCPtRapVtxEmbeded->Fill(lPtCurrentPart,zv,centrality);
          }
 
        } // End K0s selection
@@ -3726,14 +3845,14 @@ void AliAnalysisTaskLambdaOverK0sJets::UserExec(Option_t *)
            fLambdaMCPtRap2->Fill(lPtCurrentPart,lRapCurrentPart,centrality);
            fLambdaMCPtPhiEta[curCentBin]->Fill(lPhiCurrentPart,lEtaCurrentPart,lPtCurrentPart);
            
-           if(TMath::Abs(lRapCurrentPart)<fYMax) fLambdaMCPtRapVtx->Fill(lPtCurrentPart,zv,centrality);
+           if(TMath::Abs(lRapCurrentPart)<0.7) fLambdaMCPtRapVtx->Fill(lPtCurrentPart,zv,centrality);
 
            if( (lPtCurrentPart>kPtBinV0[0]) && (lPtCurrentPart<kPtBinV0[kN1]) && isNaturalPart )
              fAssocPartMC->Add( new AliMiniParticle(centrality, zv, iTrkMC, lPtCurrentPart, lPhiCurrentPart, lEtaCurrentPart, 0, 0, 4) );
          }
          else{ 
            fLambdaMCPtRapEmbeded->Fill(lPtCurrentPart,lRapCurrentPart,centrality); 
-           if(TMath::Abs(lRapCurrentPart)<fYMax) fLambdaMCPtRapVtxEmbeded->Fill(lPtCurrentPart,zv,centrality);
+           if(TMath::Abs(lRapCurrentPart)<0.7) fLambdaMCPtRapVtxEmbeded->Fill(lPtCurrentPart,zv,centrality);
          }
 
          if ( isNaturalPart && TMath::Abs(lPdgCurrentMother) == 3312 ) 
@@ -3750,14 +3869,14 @@ void AliAnalysisTaskLambdaOverK0sJets::UserExec(Option_t *)
            fAntiLambdaMCPtRap2->Fill(lPtCurrentPart,lRapCurrentPart,centrality);           
            fAntiLambdaMCPtPhiEta[curCentBin]->Fill(lPhiCurrentPart,lEtaCurrentPart,lPtCurrentPart);
 
-           if(TMath::Abs(lRapCurrentPart)<fYMax) fAntiLambdaMCPtRapVtx->Fill(lPtCurrentPart,zv,centrality);
+           if(TMath::Abs(lRapCurrentPart)<0.7) fAntiLambdaMCPtRapVtx->Fill(lPtCurrentPart,zv,centrality);
            
            if( (lPtCurrentPart>kPtBinV0[0]) && (lPtCurrentPart<kPtBinV0[kN1]) && isNaturalPart )
              fAssocPartMC->Add( new AliMiniParticle(centrality, zv, iTrkMC, lPtCurrentPart, lPhiCurrentPart, lEtaCurrentPart, 0, 0, 5) );
          }
          else{ 
            fAntiLambdaMCPtRapEmbeded->Fill(lPtCurrentPart,lRapCurrentPart,centrality); 
-           if(TMath::Abs(lRapCurrentPart)<fYMax) fAntiLambdaMCPtRapVtxEmbeded->Fill(lPtCurrentPart,zv,centrality);
+           if(TMath::Abs(lRapCurrentPart)<0.7) fAntiLambdaMCPtRapVtxEmbeded->Fill(lPtCurrentPart,zv,centrality);
          }
          
          if ( isNaturalPart && TMath::Abs(lPdgCurrentMother) == 3312 ) 
@@ -3818,10 +3937,117 @@ void AliAnalysisTaskLambdaOverK0sJets::UserExec(Option_t *)
                fAntiLambdadPhidEtaMC[curCentBin*kN1+k]->Fill(dPhiMC,dEtaMC,zv);
            } // End pt bin
 
+       // Xi Minus (h-Xi correlations)
+       /*
+       if( (assocMC->WhichCandidate()==6) ){
+
+         fXiMinusPtMCAssoc->Fill(assocMC->Pt(),centrality);
+
+         for(Int_t k=0;k<kN2;k++)
+           if( (assocMC->Pt()>=kPtBinV02[k]) && (assocMC->Pt()<kPtBinV02[k+1]) ){
+             if(triggerMCPt<fTrigPtMax)
+               fXiMinusdPhidEtaMC[curCentBin*kN2+k]->Fill(dPhiMC,dEtaMC,zv);
+             else
+               fXiMinusdPhidEtaMC2[curCentBin*kN2+k]->Fill(dPhiMC,dEtaMC,zv);
+           } // End pt bin
+
+       } // End Xi selection
+       */
       } // End loop over trigger particles
 
     } // End loop over trigger particles
 
+    // -----------------------------------------
+    // ---------- MC Correlations --------------
+    // -------- Xi leading particle ------------
+    // -----------------------------------------
+    
+    // With natural Xi's do loop over the MC trigger particle 
+    // to see if Xi are the leading particle in the event:
+    // in that case, does the correlations with charged particles as associated particles
+    /*
+    Bool_t isXiLP = kFALSE;
+    for (Int_t iTrkMC = 0; iTrkMC < nTrkMC; iTrkMC++){
+      
+      AliAODMCParticle *p0 = (AliAODMCParticle*)stack->At(iTrkMC);
+      if(!p0) continue;
+    
+      // ----------------------------------------
+      // Selecting only Xi Minus
+      Int_t lPdgcodeCurrentPart = p0->GetPdgCode();     
+      if ( (lPdgcodeCurrentPart != kXiMinus) ||
+          (lPdgcodeCurrentPart != 3322)  ) continue;
+      
+      // ----------------------------------------
+      Int_t isNaturalPart = 1;
+      if ( (iTrkMC>=fEndOfHijingEvent) && 
+          (fEndOfHijingEvent!=-1)     && 
+          (p0->GetMother()<0) ) 
+       isNaturalPart = 0; 
+
+      if(!isNaturalPart) continue;
+
+      // ----------------------------------------
+      // Loop over Trigger particles
+      isXiLP = kFALSE; 
+      for(Int_t ii=0; ii<(fTriggerPartMC->GetEntriesFast()); ii++){
+         AliMiniParticle* trigMC = (AliMiniParticle*) fTriggerPartMC->At(ii);
+
+         if( p0->Pt() > trigMC->Pt() )   isXiLP = kTRUE;
+         else  isXiLP = kFALSE;       
+         
+         if( isXiLP == kFALSE ) break;
+
+      } // End loop over trigger particles
+
+      // ----------------------------------------
+      // Xi is Leading particle 
+      if(isXiLP){
+       fXiMinusPtMCTrigger->Fill(p0->Pt(),centrality);
+       fXiTriggerPartMC->Add( new AliMiniParticle(centrality, zv, iTrkMC, p0->Pt(), p0->Phi(), p0->Eta(), 0, 0, 10) ); 
+      }
+
+    }*/
+
+    // ----------------------------------------
+    // Xi-h:  Do correlations with primary particles
+    /*
+    if(isXiLP){
+      for(Int_t ii=0; ii<(fXiTriggerPartMC->GetEntriesFast()); ii++){
+       AliMiniParticle* trigXiMC = (AliMiniParticle*) fXiTriggerPartMC->At(ii);        
+
+       // ========= Charged particles
+       for (Int_t iTrkMC = 0; iTrkMC < nTrkMC; iTrkMC++){        
+         AliAODMCParticle *p0 = (AliAODMCParticle*)stack->At(iTrkMC);
+         if(!p0) continue;
+         
+         // ----------------------------------------     
+         Int_t isNaturalPart = 1;
+         if ( (iTrkMC>=fEndOfHijingEvent) && 
+              (fEndOfHijingEvent!=-1)     && 
+              (p0->GetMother()<0) ) 
+           isNaturalPart = 0;    
+         // ----------------------------------------
+         
+         if(p0->Charge()==0) continue;
+         if(isNaturalPart == 0) continue;
+         if( !p0->IsPhysicalPrimary() ) continue;
+         
+         if(TMath::Abs(p0->Eta())>fTrigEtaMax) continue;
+         
+         dPhiMC = dPHI(trigXiMC->Phi(),p0->Phi());
+         dEtaMC = trigXiMC->Eta() - p0->Eta();
+
+         for(Int_t k=0;k<kN1;k++)   // Pt bin
+           if( (p0->Pt()>=kPtBinV03[k]) && (p0->Pt()<kPtBinV03[k+1]) )
+             fXiMinusdPhidEtaMC3[curCentBin*kN3+k]->Fill(dPhiMC,dEtaMC,zv);
+         
+       } // End loop over primary particles
+       
+      } // end loop over Xi
+     
+    } // End condition of Xi is LP
+    */
   } // End MC condition
  
   // *************************************************
@@ -3831,12 +4057,15 @@ void AliAnalysisTaskLambdaOverK0sJets::UserExec(Option_t *)
   if(NtrigPerEvnt>0)
     V0Loop(kReconstruction,kTRUE,-1,-1);
   else 
-    V0Loop(kReconstruction,kFALSE,-1,-1); 
-
+    V0Loop(kReconstruction,kFALSE,-1,-1);
+  
   //-------------------------------------------------------------
   // Correlations
   //-------------------------------------------------------------
   Float_t ptTrig=0., pxTrig=0., pyTrig=0.;
+  Float_t pt=-100.; // ***
+  Float_t lPhi=0., lEta=0.; // ***
+/*
   Float_t massK0s=0., mK0s=0., sK0s=0.;
   Float_t massL=0.,   mL=0.,   sL=0.;
   Float_t massAL=0.; //,  mAL=0.,  sAL=0.;
@@ -3845,10 +4074,37 @@ void AliAnalysisTaskLambdaOverK0sJets::UserExec(Option_t *)
   Float_t lAlphaV0=0., lPtArmV0=0, dcaPos=0., dcaNeg=0.;
   Float_t dx=-100., dy=-100., dz=-100., lt=-100., res=-100.;
   Float_t dlK=-100., dlL=-100.;
+*/
   Float_t dPhi=-100., dEta=-100., radio=-100.;
-  
+
+  // --------------------------------
+  // h-h correlations
+  for (Int_t i=0; i<(fTriggerParticles->GetEntriesFast()); i++){
+    AliMiniParticle* trig = (AliMiniParticle*) fTriggerParticles->At(i);
+    
+    for(Int_t j=0; j<(fChargedAssocParticles->GetEntriesFast()); j++){
+      AliMiniParticle* tChAssoc = (AliMiniParticle*) (fChargedAssocParticles->At(j));
+      
+      lPhi = tChAssoc->Phi();
+      lEta = tChAssoc->Eta();
+      
+      // Correlation in deltaPhi & deltaEta
+      dPhi = dPHI(trig->Phi(),lPhi);
+      dEta = trig->Eta() - lEta;
+      
+      pt =  tChAssoc->Pt();
+      
+      for( Int_t k=0; k<kNc; k++)
+       if( pt>=kPtBinCharged[k]  && pt<kPtBinCharged[k+1] ) 
+         fChargeddPhidEta[curCentBin*kNc*kNVtxZ + k*kNVtxZ + curVtxBin]->Fill(dPhi,dEta);
+      
+    }
+    
+  } // End loop over trigger particles
+
   // --------------------------------
   // h-V0 correlations
+  /*
   for (Int_t i=0; i<(fTriggerParticles->GetEntriesFast()); i++){
     AliMiniParticle* trig = (AliMiniParticle*) fTriggerParticles->At(i);
     if( trig->WhichCandidate() == 0 ) continue;
@@ -3898,6 +4154,12 @@ void AliAnalysisTaskLambdaOverK0sJets::UserExec(Option_t *)
       Int_t lMCAssocNegDaug = trackAssocME->NegDaugMCLabel();
       Int_t lMCAssocPosDaug = trackAssocME->PosDaugMCLabel();
 
+      // *******************
+      //   Gamma conversion
+      // *******************
+      if( trackAssocME->WhichCandidate() == 2 )
+       fGammaConversiondPhidEta[curCentBin]->Fill(dPhi,dEta,zv);
+
       // *******************
       //   K0s selection
       // *******************
@@ -4077,7 +4339,7 @@ void AliAnalysisTaskLambdaOverK0sJets::UserExec(Option_t *)
     } // End loop over associated particles
    
   } // End loop over trigger particles
+  */
  
   //-------------------------------------------------------------
   // Mixing
@@ -4096,7 +4358,29 @@ void AliAnalysisTaskLambdaOverK0sJets::UserExec(Option_t *)
       phiTrigME = trackTriggerME->Phi();
       etaTrigME = trackTriggerME->Eta();
       
+      // --- Charged associated particles
+      for(Int_t j=0; j<fChargedAssocParticles->GetEntriesFast(); j++){
+       
+       AliMiniParticle* trackAssocME = (AliMiniParticle*) (fChargedAssocParticles->At(j));
+       if( CentBin(trackTriggerME->Centrality()) != CentBin(trackAssocME->Centrality()) ) continue;
+       if( VtxBin(trackTriggerME->VtxZ()) != VtxBin(trackAssocME->VtxZ()) ) continue;
+       if( trackAssocME->WhichCandidate() !=  1 ) continue;
+       
+       phiAssocME = trackAssocME->Phi();
+       etaAssocME = trackAssocME->Eta();
+        
+       deltaPhi = dPHI(phiTrigME,phiAssocME);
+       deltaEta = etaTrigME - etaAssocME;
+
+       for(Int_t k=0; k<kNc; k++)
+         if( trackAssocME->Pt()>=kPtBinCharged[k] && trackAssocME->Pt()<kPtBinCharged[k+1] )
+           fChargeddPhidEtaME[curCentBin*kNc*kNVtxZ + k*kNVtxZ + curVtxBin]->Fill(deltaPhi,deltaEta);
+      
+      } // End loop over charged partilces
+      
+      
       // --- V0 associated particles
+      /*
       for(Int_t j=0; j<fAssocParticles->GetEntriesFast(); j++){
        
        AliMiniParticle* trackAssocME = (AliMiniParticle*) (fAssocParticles->At(j));
@@ -4161,7 +4445,7 @@ void AliAnalysisTaskLambdaOverK0sJets::UserExec(Option_t *)
          fAntiLambdadPhidEtaME[curCentBin*kN1*kNVtxZ + binPtv0*kNVtxZ + curVtxBin]->Fill(deltaPhi,deltaEta);
                     
       } // End loop over V0's
-       
+       */
     }
     
   }
@@ -4191,7 +4475,7 @@ void AliAnalysisTaskLambdaOverK0sJets::UserExec(Option_t *)
 
   }// End adding trigger particles to buffers
   
-}
+  }
 
 //___________________________________________________________________________________________
 
index fd99412d1f5350734e121dcfbd20e57145eb6d09..50067f6206da781f7bd7aa41a039b6456a642972 100644 (file)
@@ -32,10 +32,22 @@ class TString;
 
 class TObjArray;
 
-// pt f0r V0
+// pt fpr V0
 const int    kN1 = 8; 
 const float  kPtBinV0[kN1+1] = {2.0,2.25,2.5,2.75,3.0,3.5,4.0,5.0,7.0};
 
+// pt for charged particles
+const int    kNc = 3; 
+const float  kPtBinCharged[kN1+1] = {2.0,2.25,3.0,4.0};
+
+// pt bins for Xi minus
+const int    kN2 = 12; 
+const float  kPtBinV02[kN2+1] = {0.0,2.0,2.25,2.5,2.75,3.0,3.5,4.0,5.0,7.0,10.0,15.0,1000.};
+
+const int    kN3 = 3; 
+const float  kPtBinV03[kN3+1] = {0.0,2.0,7.0,1000.};
+// -------
+
 const int    kNVtxZ = 10; 
 const double kBinVtxZ[kNVtxZ+1] = {-10.,-8.,-6.,-4.,-2.,0.,2.,4.,6.,8.,10.};
 
@@ -95,7 +107,6 @@ class AliAnalysisTaskLambdaOverK0sJets : public AliAnalysisTaskSE {
   void SetNSigmaPID(Float_t nSigma=3) {fNSigma=nSigma;} 
   void SetNClsTPC(Float_t nClsTPC=70.) {fDaugNClsTPC=nClsTPC;}
   //   2.  V0 candidate
-  void SetEtaCut(Bool_t etaCut=kFALSE) {fUseEtaCut=etaCut;} 
   void SetMaxY(Float_t yMax=0.5) {fYMax=yMax;} 
   void SetMinCPA(Float_t minCPA=0.998) {fMinCPA=minCPA;} 
   void SetCtau(Float_t minCtau = 0., Float_t maxCtau = 3.) {fMinCtau=minCtau;fMaxCtau=maxCtau;} 
@@ -139,10 +150,10 @@ class AliAnalysisTaskLambdaOverK0sJets : public AliAnalysisTaskSE {
   Int_t    fEndOfHijingEvent;            //  Limit natural-injected MC  particles 
   AliPIDResponse *fPIDResponse;          //  PID Response
 
+
   Float_t fMinPtDaughter;                //  Minimum transverse momentum for V0's daughters
   Float_t fMaxEtaDaughter;               //  Maximum pseudo-rapidity for V0's daughters  
   Float_t fMaxDCADaughter;               //  Maximum Distance of Closest Approach between daughters (given in sigmas)
-  Bool_t  fUseEtaCut;                    //  Swicth between rapidity or pseudo-rapidity cut
   Float_t fYMax;                         //  Maximum rapidity for V0
   Float_t fDCAToPrimVtx;                 //  Mimimum distance of closest approach of daughters to the vertex            
   Float_t fMinCPA;                       //  Minimum Cosine of the Pointing Angle to the vertex for V0  
@@ -162,10 +173,12 @@ class AliAnalysisTaskLambdaOverK0sJets : public AliAnalysisTaskSE {
   TList** fMEList;                       //![] List of Mixed Events
 
   TObjArray* fTriggerParticles;          // Trigger particle array
+  TObjArray* fChargedAssocParticles;      // Trigger particle array
   TObjArray* fTriggerPartMC;             // MC Trigger particle array
   TObjArray* fAssocParticles;            // Associated particle array
   TObjArray* fAssocPartMC;               // MC Associated particle array
-  
+  TObjArray* fXiTriggerPartMC;           // Xi leading particle: MC Trigger particle array
+
   TH1F*   fEvents;                       //! Counter for the number of events in each step
   TH1F*   fCentrality;                   //! Event centrality per centil
   TH1F*   fCentrality2;                  //! Event centrality per centil with |VtxZ|<10cm
@@ -389,6 +402,18 @@ class AliAnalysisTaskLambdaOverK0sJets : public AliAnalysisTaskSE {
   TH2F*   fAntiLambdaBckgDCANegDaugToPrimVtx;  //! AntiLambda background: DCA of Negative daughter to the primary vertex inside the radio 0.4 wrt the near-side peak
   TH2F*   fAntiLambdaBckgDCAPosDaugToPrimVtx;  //! AntiLambda background: DCA of Positive daughter to the primary vertex inside the radio 0.4 wrt the near-side peak
   
+  //           Xi Minus          //
+  TH2F*   fXiMinusPtMCAssoc;                         //! Xi Minus MC: Pt vs Centrality when they are associated particles
+  TH2F*   fXiMinusPtMCTrigger;                       //! Xi Minus MC: Pt vs Centrality when they are trigger particles
+  TH3F*   fXiMinusdPhidEtaMC[kNCent*kN2];            //! Xi Minus MC: Delta phi,Delta eta vs Z vertex position
+  TH3F*   fXiMinusdPhidEtaMC2[kNCent*kN2];           //! Xi Minus MC: Delta phi,Delta eta vs Z vertex position
+  TH3F*   fXiMinusdPhidEtaMC3[kNCent*kN3];           //! Xi Minus MC: Delta phi,Delta eta vs Z vertex position
+
+  //        Gamma converison      //
+  TH3F*  fGammaConversiondPhidEta[kNCent];        //! Gamma conversion: Delta phi,Delta eta vs Z vertex position
+
+  //        Charged particles     //
+  TH2F*  fChargeddPhidEta[kNVtxZ*kNCent*kNc];     //! Charged particles: Delta phi,Delta eta 
     
   ///  ==== Quality Assurance plots === ///
 
@@ -495,6 +520,7 @@ class AliAnalysisTaskLambdaOverK0sJets : public AliAnalysisTaskSE {
 
 
   ///  ==== Mixed Events plots === ///
+  TH2F*  fChargeddPhidEtaME[kNVtxZ*kNCent*kNc+1];             //! K0s Mixed Events
   TH2F*  fK0sdPhidEtaME[kNVtxZ*kNCent*kN1+1];             //! K0s Mixed Events
   TH2F*  fLambdadPhidEtaME[kNVtxZ*kNCent*kN1+1];          //! Lambda Mixed Events
   TH2F*  fAntiLambdadPhidEtaME[kNVtxZ*kNCent*kN1+1];      //! AntiLambda Mixed Events
index 2fdae2e197258254192653750482c2610249b242..091eff36b9dc32c8c2990e86b8c8e19cc95c00f4 100644 (file)
@@ -4,8 +4,7 @@ AliAnalysisTaskLambdaOverK0sJets *AddTaskLambdaOverK0sJets( TString  name      =
                                                            Float_t  maxCen    = 40.,
                                                            Bool_t   sepInjec  = kTRUE,
                                                            Bool_t   isMC      = kFALSE,
-                                                           Bool_t   doQA      = kTRUE,
-                                                           Bool_t   useEtaCut = kFALSE){
+                                                           Bool_t   doQA      = kTRUE){
 
 
 
@@ -15,12 +14,12 @@ AliAnalysisTaskLambdaOverK0sJets *AddTaskLambdaOverK0sJets( TString  name      =
   Float_t  etaMaxTrig  = 0.7;
   Float_t  checkIDTrig = kTRUE;
   Float_t  rapMaxV0    = 0.7;
-  Bool_t   usePID      = kTRUE;
+  Bool_t   usePID      = kFALSE;
   Float_t  nSigmaPID   = 3.0;
   Float_t  dcaDaug     = 1.0;
   Float_t  dca2PrmVtx  = 0.095;  // tighter cut
-  Float_t  nclsDaug    = 0;     // looser cut
-  Float_t  minPtDaughter = 0.;
+  Float_t  nclsDaug    = 50;     // looser cut
+
 
   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
   if (!mgr) {
@@ -40,13 +39,11 @@ AliAnalysisTaskLambdaOverK0sJets *AddTaskLambdaOverK0sJets( TString  name      =
   task->SetTriggerEta(etaMaxTrig);
   task->SetCheckIDTrig(checkIDTrig);
   // V0 candidates
-  task->SetEtaCut(useEtaCut);
   task->SetMaxY(rapMaxV0);
   task->SetMaxDCADaughter(dcaDaug); // Added to perform systematics
   task->SetDCAToPrimVtx(dca2PrmVtx); // Added to perform systematics
   task->SetNSigmaPID(nSigmaPID);
   task->SetNClsTPC(nclsDaug);  // Added to perform systematics
-  task->SetMinPtDaughter(minPtDaughter);  
   // PID
   task->SetSeparateInjectedPart(sepInjec);
   // MC