]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGLF/STRANGENESS/Cascades/AliAnalysisTaskCheckPerformanceCascadePbPb.cxx
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / PWGLF / STRANGENESS / Cascades / AliAnalysisTaskCheckPerformanceCascadePbPb.cxx
index 1016dce179da65b5840bc4761bdc37632af58ee7..82d866f2404b7f95997431063803309d926cb332 100644 (file)
@@ -33,7 +33,8 @@
 //                        - distance xi-V0 added in the container
 //                        - AOD analysis developed (January 2012)
 //                        - cut on TPC clusters as a parameter
-//                        - cut on min pt of daughter tracks added (parameter)  
+//                        - cut on min pt of daughter tracks added (parameter+control histos)
+//                        - cut on pseudorapidity for daughter tracks as a parameter (+control histos for Xi-)  
 //-----------------------------------------------------------------
 
 
@@ -101,6 +102,7 @@ AliAnalysisTaskCheckPerformanceCascadePbPb::AliAnalysisTaskCheckPerformanceCasca
     fVtxRange                      (0),
     fApplyAccCut                   (0),
     fMinPtCutOnDaughterTracks      (0),
+    fEtaCutOnDaughterTracks      (0),
     
        // - Cascade part initialisation
     fListHistCascade(0),
@@ -142,8 +144,8 @@ AliAnalysisTaskCheckPerformanceCascadePbPb::AliAnalysisTaskCheckPerformanceCasca
    f3dHistGenPtVsGenYvsNtracksXiMinusNat(0),
    f3dHistGenPtVsGenYvsCentXiMinusInj(0),
    f3dHistGenPtVsGenYvsNtracksXiMinusInj(0),
-   f3dHistGenPtVsGenctauvsYXiMinusNat(0),
-   f3dHistGenPtVsGenctauvsYXiMinusInj(0),
+   f3dHistGenPtVsGenctauvsCentXiMinusNat(0),
+   f3dHistGenPtVsGenctauvsCentXiMinusInj(0),
    
     fHistThetaGenCascXiMinusNat(0),
     fHistThetaGenCascXiMinusInj(0), 
@@ -169,8 +171,8 @@ AliAnalysisTaskCheckPerformanceCascadePbPb::AliAnalysisTaskCheckPerformanceCasca
    f3dHistGenPtVsGenYvsNtracksXiPlusNat(0),
    f3dHistGenPtVsGenYvsCentXiPlusInj(0),
    f3dHistGenPtVsGenYvsNtracksXiPlusInj(0),
-   f3dHistGenPtVsGenctauvsYXiPlusNat(0),
-   f3dHistGenPtVsGenctauvsYXiPlusInj(0),
+   f3dHistGenPtVsGenctauvsCentXiPlusNat(0),
+   f3dHistGenPtVsGenctauvsCentXiPlusInj(0),
    
     fHistThetaGenCascXiPlusNat(0), 
     fHistThetaGenCascXiPlusInj(0),
@@ -192,8 +194,8 @@ AliAnalysisTaskCheckPerformanceCascadePbPb::AliAnalysisTaskCheckPerformanceCasca
    f3dHistGenPtVsGenYvsNtracksOmegaMinusNat(0),
    f3dHistGenPtVsGenYvsCentOmegaMinusInj(0),
    f3dHistGenPtVsGenYvsNtracksOmegaMinusInj(0),
-   f3dHistGenPtVsGenctauvsYOmegaMinusNat(0),
-   f3dHistGenPtVsGenctauvsYOmegaMinusInj(0),
+   f3dHistGenPtVsGenctauvsCentOmegaMinusNat(0),
+   f3dHistGenPtVsGenctauvsCentOmegaMinusInj(0),
    
     fHistThetaGenCascOmegaMinusNat(0),
     fHistThetaGenCascOmegaMinusInj(0),
@@ -215,8 +217,8 @@ AliAnalysisTaskCheckPerformanceCascadePbPb::AliAnalysisTaskCheckPerformanceCasca
    f3dHistGenPtVsGenYvsNtracksOmegaPlusNat(0),
    f3dHistGenPtVsGenYvsCentOmegaPlusInj(0),
    f3dHistGenPtVsGenYvsNtracksOmegaPlusInj(0),
-   f3dHistGenPtVsGenctauvsYOmegaPlusNat(0),
-   f3dHistGenPtVsGenctauvsYOmegaPlusInj(0),
+   f3dHistGenPtVsGenctauvsCentOmegaPlusNat(0),
+   f3dHistGenPtVsGenctauvsCentOmegaPlusInj(0),
    
     fHistThetaGenCascOmegaPlusNat(0),
     fHistThetaGenCascOmegaPlusInj(0),
@@ -310,7 +312,11 @@ AliAnalysisTaskCheckPerformanceCascadePbPb::AliAnalysisTaskCheckPerformanceCasca
 
     fCFContAsCascadeCuts(0),
 
-    fV0Ampl             (0)
+    fV0Ampl             (0),
+    
+    fHistEtaBachXiM  (0),
+    fHistEtaPosXiM   (0),
+    fHistEtaNegXiM   (0)
 
 {
 // Dummy constructor
@@ -339,7 +345,8 @@ AliAnalysisTaskCheckPerformanceCascadePbPb::AliAnalysisTaskCheckPerformanceCasca
     fVtxRange                      (0),
     fApplyAccCut                   (0),
     fMinPtCutOnDaughterTracks      (0),
-      
+    fEtaCutOnDaughterTracks      (0),
+       
        // - Cascade part initialisation
     fListHistCascade(0),
 
@@ -379,8 +386,8 @@ AliAnalysisTaskCheckPerformanceCascadePbPb::AliAnalysisTaskCheckPerformanceCasca
    f3dHistGenPtVsGenYvsNtracksXiMinusNat(0),
    f3dHistGenPtVsGenYvsCentXiMinusInj(0),
    f3dHistGenPtVsGenYvsNtracksXiMinusInj(0),
-   f3dHistGenPtVsGenctauvsYXiMinusNat(0),
-   f3dHistGenPtVsGenctauvsYXiMinusInj(0),
+   f3dHistGenPtVsGenctauvsCentXiMinusNat(0),
+   f3dHistGenPtVsGenctauvsCentXiMinusInj(0),
    
     fHistThetaGenCascXiMinusNat(0),
     fHistThetaGenCascXiMinusInj(0),
@@ -406,8 +413,8 @@ AliAnalysisTaskCheckPerformanceCascadePbPb::AliAnalysisTaskCheckPerformanceCasca
   f3dHistGenPtVsGenYvsNtracksXiPlusNat(0),
   f3dHistGenPtVsGenYvsCentXiPlusInj(0),
   f3dHistGenPtVsGenYvsNtracksXiPlusInj(0),
-  f3dHistGenPtVsGenctauvsYXiPlusNat(0),
-  f3dHistGenPtVsGenctauvsYXiPlusInj(0),
+  f3dHistGenPtVsGenctauvsCentXiPlusNat(0),
+  f3dHistGenPtVsGenctauvsCentXiPlusInj(0),
 
     fHistThetaGenCascXiPlusNat(0), 
     fHistThetaGenCascXiPlusInj(0),
@@ -429,8 +436,8 @@ AliAnalysisTaskCheckPerformanceCascadePbPb::AliAnalysisTaskCheckPerformanceCasca
    f3dHistGenPtVsGenYvsNtracksOmegaMinusNat(0),
    f3dHistGenPtVsGenYvsCentOmegaMinusInj(0),
    f3dHistGenPtVsGenYvsNtracksOmegaMinusInj(0),
-   f3dHistGenPtVsGenctauvsYOmegaMinusNat(0),
-   f3dHistGenPtVsGenctauvsYOmegaMinusInj(0),
+   f3dHistGenPtVsGenctauvsCentOmegaMinusNat(0),
+   f3dHistGenPtVsGenctauvsCentOmegaMinusInj(0),
  
     fHistThetaGenCascOmegaMinusNat(0),
     fHistThetaGenCascOmegaMinusInj(0),
@@ -452,8 +459,8 @@ AliAnalysisTaskCheckPerformanceCascadePbPb::AliAnalysisTaskCheckPerformanceCasca
    f3dHistGenPtVsGenYvsNtracksOmegaPlusNat(0),
    f3dHistGenPtVsGenYvsCentOmegaPlusInj(0),
    f3dHistGenPtVsGenYvsNtracksOmegaPlusInj(0),
-   f3dHistGenPtVsGenctauvsYOmegaPlusNat(0),
-   f3dHistGenPtVsGenctauvsYOmegaPlusInj(0),
+   f3dHistGenPtVsGenctauvsCentOmegaPlusNat(0),
+   f3dHistGenPtVsGenctauvsCentOmegaPlusInj(0),
    
     fHistThetaGenCascOmegaPlusNat(0),
     fHistThetaGenCascOmegaPlusInj(0),
@@ -547,7 +554,12 @@ AliAnalysisTaskCheckPerformanceCascadePbPb::AliAnalysisTaskCheckPerformanceCasca
 
     fCFContAsCascadeCuts(0),
 
-    fV0Ampl(0)
+    fV0Ampl(0),
+
+    fHistEtaBachXiM  (0),
+    fHistEtaPosXiM   (0),
+    fHistEtaNegXiM   (0)
+
 
 {
   // Constructor
@@ -602,7 +614,7 @@ AliAnalysisTaskCheckPerformanceCascadePbPb::~AliAnalysisTaskCheckPerformanceCasc
   if (fCFContCascadePIDAsXiPlus && !AliAnalysisManager::GetAnalysisManager()->IsProofMode()) { delete fCFContCascadePIDAsXiPlus;     fCFContCascadePIDAsXiPlus = 0x0;  }
   if (fCFContCascadePIDAsOmegaMinus && !AliAnalysisManager::GetAnalysisManager()->IsProofMode()) { delete fCFContCascadePIDAsOmegaMinus;     fCFContCascadePIDAsOmegaMinus = 0x0;  }
   if (fCFContCascadePIDAsOmegaPlus && !AliAnalysisManager::GetAnalysisManager()->IsProofMode()) { delete fCFContCascadePIDAsOmegaPlus;     fCFContCascadePIDAsOmegaPlus = 0x0;  }
-  if (fCFContAsCascadeCuts && !AliAnalysisManager::GetAnalysisManager()->IsProofMode()) { delete fCFContCascadePIDAsOmegaPlus;     fCFContAsCascadeCuts = 0x0;  }
+  if (fCFContAsCascadeCuts && !AliAnalysisManager::GetAnalysisManager()->IsProofMode()) { delete fCFContAsCascadeCuts;     fCFContAsCascadeCuts = 0x0;  }
 
   if (fESDtrackCuts)         { delete fESDtrackCuts;        fESDtrackCuts = 0x0; }
   /*if (fPaveTextBookKeeping)  { delete fPaveTextBookKeeping; fPaveTextBookKeeping = 0x0; } // fPaveTextBookKeeping is not stored into the TList*/
@@ -795,14 +807,14 @@ if( !fPaveTextBookKeeping){
     f3dHistGenPtVsGenYvsNtracksXiMinusInj = new TH3D("f3dHistGenPtVsGenYvsNtracksXiMinusInj", "MC P_{t} Vs MC Y of Gen #Xi^{-} ;Pt_{MC} (GeV/c); Y_{MC}", 100, 0., 10., 110, -1.1, 1.1, 100, 0., 4000.);
     fListHistCascade->Add(f3dHistGenPtVsGenYvsNtracksXiMinusInj);
   }
-  if (!f3dHistGenPtVsGenctauvsYXiMinusNat) {
-     f3dHistGenPtVsGenctauvsYXiMinusNat = new TH3D("f3dHistGenPtVsGenctauvsYXiMinusNat", "MC P_{t} Vs MC ctau Vs Y of Gen #Xi^{-} ", 100, ptBinLimits, 111, ctauBinLimits, 110, yBinLimits);
-     fListHistCascade->Add(f3dHistGenPtVsGenctauvsYXiMinusNat);
+  if (!f3dHistGenPtVsGenctauvsCentXiMinusNat) {
+     f3dHistGenPtVsGenctauvsCentXiMinusNat = new TH3D("f3dHistGenPtVsGenctauvsCentXiMinusNat", "MC P_{t} Vs MC ctau Vs Centrality of Gen #Xi^{-} ", 100, ptBinLimits, 111, ctauBinLimits, 11, centBinLimits);
+     fListHistCascade->Add(f3dHistGenPtVsGenctauvsCentXiMinusNat);
   }
 
-  if (!f3dHistGenPtVsGenctauvsYXiMinusInj) {
-     f3dHistGenPtVsGenctauvsYXiMinusInj = new TH3D("f3dHistGenPtVsGenctauvsYXiMinusInj", "MC P_{t} Vs MC ctau Vs Y of Gen #Xi^{-} ", 100, ptBinLimits, 111, ctauBinLimits, 110, yBinLimits);
-     fListHistCascade->Add(f3dHistGenPtVsGenctauvsYXiMinusInj);
+  if (!f3dHistGenPtVsGenctauvsCentXiMinusInj) {
+     f3dHistGenPtVsGenctauvsCentXiMinusInj = new TH3D("f3dHistGenPtVsGenctauvsCentXiMinusInj", "MC P_{t} Vs MC ctau Vs Centrality of Gen #Xi^{-} ", 100, ptBinLimits, 111, ctauBinLimits, 11, centBinLimits);
+     fListHistCascade->Add(f3dHistGenPtVsGenctauvsCentXiMinusInj);
   }
   
 
@@ -905,13 +917,13 @@ if( !fPaveTextBookKeeping){
     f3dHistGenPtVsGenYvsNtracksXiPlusInj = new TH3D("f3dHistGenPtVsGenYvsNtracksXiPlusInj", "MC P_{t} Vs MC Y of Gen #Xi^{+} ;Pt_{MC} (GeV/c); Y_{MC}", 100, 0., 10., 110, -1.1, 1.1, 100, 0., 4000.);
     fListHistCascade->Add(f3dHistGenPtVsGenYvsNtracksXiPlusInj);
   }
-  if (!f3dHistGenPtVsGenctauvsYXiPlusNat) {
-     f3dHistGenPtVsGenctauvsYXiPlusNat = new TH3D("f3dHistGenPtVsGenctauvsYXiPlusNat", "MC P_{t} Vs MC ctau Vs Yof Gen #Xi^{+} ", 100, ptBinLimits, 111, ctauBinLimits, 110, yBinLimits);
-     fListHistCascade->Add(f3dHistGenPtVsGenctauvsYXiPlusNat);
+  if (!f3dHistGenPtVsGenctauvsCentXiPlusNat) {
+     f3dHistGenPtVsGenctauvsCentXiPlusNat = new TH3D("f3dHistGenPtVsGenctauvsCentXiPlusNat", "MC P_{t} Vs MC ctau Vs Centrality of Gen #Xi^{+} ", 100, ptBinLimits, 111, ctauBinLimits, 11, centBinLimits);
+     fListHistCascade->Add(f3dHistGenPtVsGenctauvsCentXiPlusNat);
   }
-  if (!f3dHistGenPtVsGenctauvsYXiPlusInj) {
-     f3dHistGenPtVsGenctauvsYXiPlusInj = new TH3D("f3dHistGenPtVsGenctauvsYXiPlusInj", "MC P_{t} Vs MC ctau Vs Yof Gen #Xi^{+} ", 100, ptBinLimits, 111, ctauBinLimits, 110, yBinLimits);
-     fListHistCascade->Add(f3dHistGenPtVsGenctauvsYXiPlusInj);
+  if (!f3dHistGenPtVsGenctauvsCentXiPlusInj) {
+     f3dHistGenPtVsGenctauvsCentXiPlusInj = new TH3D("f3dHistGenPtVsGenctauvsCentXiPlusInj", "MC P_{t} Vs MC ctau Vs Centrality of Gen #Xi^{+} ", 100, ptBinLimits, 111, ctauBinLimits, 11, centBinLimits);
+     fListHistCascade->Add(f3dHistGenPtVsGenctauvsCentXiPlusInj);
   }
 
   
@@ -996,13 +1008,13 @@ if( !fPaveTextBookKeeping){
      f3dHistGenPtVsGenYvsNtracksOmegaMinusInj = new TH3D("f3dHistGenPtVsGenYvsNtracksOmegaMinusInj", "MC P_{t} Vs MC Y of Gen #Omega^{-} ;Pt_{MC} (GeV/c); Y_{MC}", 100, 0., 10., 110, -1.1, 1.1, 100, 0., 4000.);
      fListHistCascade->Add(f3dHistGenPtVsGenYvsNtracksOmegaMinusInj);
   }
-  if (!f3dHistGenPtVsGenctauvsYOmegaMinusNat) { 
-     f3dHistGenPtVsGenctauvsYOmegaMinusNat = new TH3D("f3dHistGenPtVsGenctauvsYOmegaMinusNat", "MC P_{t} Vs MC ctau Vs Y of Gen #Omega^{-} ", 100, ptBinLimits, 111, ctauBinLimits, 110, yBinLimits);
-     fListHistCascade->Add(f3dHistGenPtVsGenctauvsYOmegaMinusNat);
+  if (!f3dHistGenPtVsGenctauvsCentOmegaMinusNat) { 
+     f3dHistGenPtVsGenctauvsCentOmegaMinusNat = new TH3D("f3dHistGenPtVsGenctauvsCentOmegaMinusNat", "MC P_{t} Vs MC ctau Vs Centrality of Gen #Omega^{-} ", 100, ptBinLimits, 111, ctauBinLimits, 11, centBinLimits);
+     fListHistCascade->Add(f3dHistGenPtVsGenctauvsCentOmegaMinusNat);
   }
-  if (!f3dHistGenPtVsGenctauvsYOmegaMinusInj) {
-     f3dHistGenPtVsGenctauvsYOmegaMinusInj = new TH3D("f3dHistGenPtVsGenctauvsYOmegaMinusInj", "MC P_{t} Vs MC ctau Vs Y of Gen #Omega^{-} ", 100, ptBinLimits, 111, ctauBinLimits, 110, yBinLimits);
-     fListHistCascade->Add(f3dHistGenPtVsGenctauvsYOmegaMinusInj);
+  if (!f3dHistGenPtVsGenctauvsCentOmegaMinusInj) {
+     f3dHistGenPtVsGenctauvsCentOmegaMinusInj = new TH3D("f3dHistGenPtVsGenctauvsCentOmegaMinusInj", "MC P_{t} Vs MC ctau Vs Centrality of Gen #Omega^{-} ", 100, ptBinLimits, 111, ctauBinLimits, 11, centBinLimits);
+     fListHistCascade->Add(f3dHistGenPtVsGenctauvsCentOmegaMinusInj);
   }
 
 
@@ -1089,13 +1101,13 @@ if( !fPaveTextBookKeeping){
      f3dHistGenPtVsGenYvsNtracksOmegaPlusInj = new TH3D("f3dHistGenPtVsGenYvsNtracksOmegaPlusInj", "MC P_{t} Vs MC Y of Gen #Omega^{+} ;Pt_{MC} (GeV/c); Y_{MC}", 100, 0., 10., 110, -1.1, 1.1, 100, 0., 4000.);
      fListHistCascade->Add(f3dHistGenPtVsGenYvsNtracksOmegaPlusInj);
   }
-  if (!f3dHistGenPtVsGenctauvsYOmegaPlusNat) {
-     f3dHistGenPtVsGenctauvsYOmegaPlusNat = new TH3D("f3dHistGenPtVsGenctauvsYOmegaPlusNat", "MC P_{t} Vs MC ctau Vs Y of Gen #Omega^{+} ", 100, ptBinLimits, 111, ctauBinLimits, 110, yBinLimits);
-     fListHistCascade->Add(f3dHistGenPtVsGenctauvsYOmegaPlusNat);
+  if (!f3dHistGenPtVsGenctauvsCentOmegaPlusNat) {
+     f3dHistGenPtVsGenctauvsCentOmegaPlusNat = new TH3D("f3dHistGenPtVsGenctauvsCentOmegaPlusNat", "MC P_{t} Vs MC ctau Vs Centrality of Gen #Omega^{+} ", 100, ptBinLimits, 111, ctauBinLimits, 11, centBinLimits);
+     fListHistCascade->Add(f3dHistGenPtVsGenctauvsCentOmegaPlusNat);
   }
-  if (!f3dHistGenPtVsGenctauvsYOmegaPlusInj) {
-     f3dHistGenPtVsGenctauvsYOmegaPlusInj = new TH3D("f3dHistGenPtVsGenctauvsYOmegaPlusInj", "MC P_{t} Vs MC ctau Vs Y of Gen #Omega^{+} ", 100, ptBinLimits, 111, ctauBinLimits, 110, yBinLimits);
-     fListHistCascade->Add(f3dHistGenPtVsGenctauvsYOmegaPlusInj);
+  if (!f3dHistGenPtVsGenctauvsCentOmegaPlusInj) {
+     f3dHistGenPtVsGenctauvsCentOmegaPlusInj = new TH3D("f3dHistGenPtVsGenctauvsCentOmegaPlusInj", "MC P_{t} Vs MC ctau Vs Centrality of Gen #Omega^{+} ", 100, ptBinLimits, 111, ctauBinLimits, 11, centBinLimits);
+     fListHistCascade->Add(f3dHistGenPtVsGenctauvsCentOmegaPlusInj);
   }
  
   
@@ -1752,6 +1764,14 @@ if(! fCFContAsCascadeCuts){
   fV0Ampl = new TH1F("fV0Ampl","",500,0.,30000);
   fListHistCascade->Add(fV0Ampl);
 
+  fHistEtaBachXiM = new TH1F("fHistEtaBachXiM","",40,-2.,2.);
+  fListHistCascade->Add(fHistEtaBachXiM);
+  fHistEtaPosXiM = new TH1F("fHistEtaPosXiM","",40,-2.,2.);
+  fListHistCascade->Add(fHistEtaPosXiM); 
+  fHistEtaNegXiM = new TH1F("fHistEtaNegXiM","",40,-2.,2.);
+  fListHistCascade->Add(fHistEtaNegXiM); 
+
 
 PostData(1, fListHistCascade); 
 PostData(2, fCFContCascadePIDAsXiMinus);
@@ -2097,8 +2117,8 @@ void AliAnalysisTaskCheckPerformanceCascadePbPb::UserExec(Option_t *) {
         TH3D *l3dHistGenPtVsGenYvsNtracksNat = 0;
         TH3D *l3dHistGenPtVsGenYvsCentInj = 0;
         TH3D *l3dHistGenPtVsGenYvsNtracksInj = 0;
-        TH3D *l3dHistGenPtVsGenctauvsYNat = 0;
-        TH3D *l3dHistGenPtVsGenctauvsYInj = 0; 
+        TH3D *l3dHistGenPtVsGenctauvsCentNat = 0;
+        TH3D *l3dHistGenPtVsGenctauvsCentInj = 0; 
 
        TH1F *lHistThetaGenCascNat    = 0;
         TH1F *lHistThetaGenCascInj    = 0;
@@ -2135,8 +2155,8 @@ for (Int_t iCascType = 1; iCascType < 5; iCascType++) {
          l3dHistGenPtVsGenYvsNtracksNat = f3dHistGenPtVsGenYvsNtracksXiMinusNat;
          l3dHistGenPtVsGenYvsCentInj = f3dHistGenPtVsGenYvsCentXiMinusInj;
          l3dHistGenPtVsGenYvsNtracksInj = f3dHistGenPtVsGenYvsNtracksXiMinusInj;
-         l3dHistGenPtVsGenctauvsYNat = f3dHistGenPtVsGenctauvsYXiMinusNat;
-         l3dHistGenPtVsGenctauvsYInj = f3dHistGenPtVsGenctauvsYXiMinusInj;
+         l3dHistGenPtVsGenctauvsCentNat = f3dHistGenPtVsGenctauvsCentXiMinusNat;
+         l3dHistGenPtVsGenctauvsCentInj = f3dHistGenPtVsGenctauvsCentXiMinusInj;
 
                // cascades generated within acceptance (cut in pt + theta)
         lHistThetaGenCascNat      = fHistThetaGenCascXiMinusNat;
@@ -2164,8 +2184,8 @@ for (Int_t iCascType = 1; iCascType < 5; iCascType++) {
          l3dHistGenPtVsGenYvsNtracksNat = f3dHistGenPtVsGenYvsNtracksXiPlusNat;
          l3dHistGenPtVsGenYvsCentInj = f3dHistGenPtVsGenYvsCentXiPlusInj;
          l3dHistGenPtVsGenYvsNtracksInj = f3dHistGenPtVsGenYvsNtracksXiPlusInj;
-         l3dHistGenPtVsGenctauvsYNat = f3dHistGenPtVsGenctauvsYXiPlusNat;
-         l3dHistGenPtVsGenctauvsYInj = f3dHistGenPtVsGenctauvsYXiPlusInj;
+         l3dHistGenPtVsGenctauvsCentNat = f3dHistGenPtVsGenctauvsCentXiPlusNat;
+         l3dHistGenPtVsGenctauvsCentInj = f3dHistGenPtVsGenctauvsCentXiPlusInj;
        
                // cascades generated within acceptance (cut in pt + theta)      
         lHistThetaGenCascNat      = fHistThetaGenCascXiPlusNat;
@@ -2193,8 +2213,8 @@ for (Int_t iCascType = 1; iCascType < 5; iCascType++) {
          l3dHistGenPtVsGenYvsNtracksNat = f3dHistGenPtVsGenYvsNtracksOmegaMinusNat;
          l3dHistGenPtVsGenYvsCentInj = f3dHistGenPtVsGenYvsCentOmegaMinusInj;
          l3dHistGenPtVsGenYvsNtracksInj = f3dHistGenPtVsGenYvsNtracksOmegaMinusInj; 
-         l3dHistGenPtVsGenctauvsYNat = f3dHistGenPtVsGenctauvsYOmegaMinusNat;
-         l3dHistGenPtVsGenctauvsYInj = f3dHistGenPtVsGenctauvsYOmegaMinusInj;
+         l3dHistGenPtVsGenctauvsCentNat = f3dHistGenPtVsGenctauvsCentOmegaMinusNat;
+         l3dHistGenPtVsGenctauvsCentInj = f3dHistGenPtVsGenctauvsCentOmegaMinusInj;
        
                // cascades generated within acceptance (cut in pt + theta)
         lHistThetaGenCascNat      = fHistThetaGenCascOmegaMinusNat;
@@ -2222,8 +2242,8 @@ for (Int_t iCascType = 1; iCascType < 5; iCascType++) {
          l3dHistGenPtVsGenYvsNtracksNat = f3dHistGenPtVsGenYvsNtracksOmegaPlusNat;
          l3dHistGenPtVsGenYvsCentInj = f3dHistGenPtVsGenYvsCentOmegaPlusInj;
          l3dHistGenPtVsGenYvsNtracksInj = f3dHistGenPtVsGenYvsNtracksOmegaPlusInj;
-         l3dHistGenPtVsGenctauvsYNat = f3dHistGenPtVsGenctauvsYOmegaPlusNat;
-         l3dHistGenPtVsGenctauvsYInj = f3dHistGenPtVsGenctauvsYOmegaPlusInj;
+         l3dHistGenPtVsGenctauvsCentNat = f3dHistGenPtVsGenctauvsCentOmegaPlusNat;
+         l3dHistGenPtVsGenctauvsCentInj = f3dHistGenPtVsGenctauvsCentOmegaPlusInj;
 
                
                // cascades generated within acceptance (cut in pt + theta)
@@ -2367,13 +2387,13 @@ for (Int_t iCascType = 1; iCascType < 5; iCascType++) {
     if (kIsNaturalPart) {
       l3dHistGenPtVsGenYvsCentNat   ->Fill( partPt, lRapXiMC, lcentrality );
       l3dHistGenPtVsGenYvsNtracksNat->Fill( partPt, lRapXiMC, lPrimaryTrackMultiplicity );     
-      l3dHistGenPtVsGenctauvsYNat->Fill( partPt, lctau, lRapXiMC );
-      lHistThetaGenCascNat       ->Fill( lRadToDeg * partTheta );
+      if (TMath::Abs(lRapXiMC)<0.5) l3dHistGenPtVsGenctauvsCentNat->Fill( partPt, lctau, lcentrality );
+      lHistThetaGenCascNat          ->Fill( lRadToDeg * partTheta );
     } else {
       l3dHistGenPtVsGenYvsCentInj   ->Fill( partPt, lRapXiMC, lcentrality );
       l3dHistGenPtVsGenYvsNtracksInj->Fill( partPt, lRapXiMC, lPrimaryTrackMultiplicity );
-      l3dHistGenPtVsGenctauvsYInj->Fill( partPt, lctau, lRapXiMC );
-      lHistThetaGenCascInj       ->Fill( lRadToDeg * partTheta );
+      if (TMath::Abs(lRapXiMC)<0.5) l3dHistGenPtVsGenctauvsCentInj->Fill( partPt, lctau, lcentrality );
+      lHistThetaGenCascInj          ->Fill( lRadToDeg * partTheta );
     }
 
     // Check the emission of particle stays within the acceptance of the detector (cut in theta)
@@ -2617,8 +2637,8 @@ l3dHistGenPtVsGenYvsCentNat = 0x0;
 l3dHistGenPtVsGenYvsNtracksNat = 0x0;
 l3dHistGenPtVsGenYvsCentInj = 0x0;
 l3dHistGenPtVsGenYvsNtracksInj = 0x0;
-l3dHistGenPtVsGenctauvsYNat = 0x0;
-l3dHistGenPtVsGenctauvsYInj = 0x0;
+l3dHistGenPtVsGenctauvsCentNat = 0x0;
+l3dHistGenPtVsGenctauvsCentInj = 0x0;
 
 lHistThetaGenCascNat    = 0x0;
 lHistThetaGenCascInj    = 0x0;
@@ -2695,6 +2715,8 @@ Double_t   lmcPtBach = -100.;
 
 Double_t cascadeMass = 0.;
 
+
+
 for (Int_t iXi = 0; iXi < ncascades; iXi++) {// This is the begining of the Cascade loop
 
 
@@ -2742,6 +2764,11 @@ for (Int_t iXi = 0; iXi < ncascades; iXi++) {// This is the begining of the Casc
 
       Bool_t kIsNaturalPart = kFALSE;
 
+      Float_t  etaBach = 0.;
+      Float_t  etaPos  = 0.;
+      Float_t  etaNeg  = 0.;
+
+
       if ( fAnalysisType == "ESD" ) {          
        AliESDcascade *xiESD = lESDevent->GetCascade(iXi);
        if (!xiESD) continue;
@@ -2791,6 +2818,11 @@ for (Int_t iXi = 0; iXi < ncascades; iXi++) {// This is the begining of the Casc
                 if(lNegTPCClusters  < fMinnTPCcls) { AliWarning("Pb / V0 Neg. track has less than n TPC clusters ... continue!"); continue; }
                 if(lBachTPCClusters < fMinnTPCcls) { AliWarning("Pb / Bach.   track has less than n TPC clusters ... continue!"); continue; }
         }
+
+        etaPos  = pTrackXi->Eta();
+        etaNeg  = nTrackXi->Eta();
+        etaBach = bachTrackXi->Eta();
+       
        
        // - Step II.2 : Info over reconstructed cascades
        //------------- 
@@ -3267,6 +3299,10 @@ for (Int_t iXi = 0; iXi < ncascades; iXi++) {// This is the begining of the Casc
                 if(lBachTPCClusters < fMinnTPCcls) { AliWarning("Pb / Bach.   track has less than n TPC clusters ... continue!"); continue; }
         }
 
+        etaPos  = pTrackXi->Eta();
+        etaNeg  = nTrackXi->Eta();
+        etaBach = bachTrackXi->Eta();
+
         // - Step II.2 : Info over reconstructed cascades
         //-------------
 
@@ -3556,6 +3592,11 @@ for (Int_t iXi = 0; iXi < ncascades; iXi++) {// This is the begining of the Casc
       if (lpTrackTransvMom<fMinPtCutOnDaughterTracks) continue;
       if (lnTrackTransvMom<fMinPtCutOnDaughterTracks) continue;
 
+      // Cut on pseudorapidity of the three daughter tracks
+      if (TMath::Abs(etaBach)>fEtaCutOnDaughterTracks) continue;
+      if (TMath::Abs(etaPos)>fEtaCutOnDaughterTracks) continue;
+      if (TMath::Abs(etaNeg)>fEtaCutOnDaughterTracks) continue;
+
 
       // Extra-selection for cascade candidates
                 // Towards optimisation of AA selection
@@ -3716,8 +3757,12 @@ for (Int_t iXi = 0; iXi < ncascades; iXi++) {// This is the begining of the Casc
                 lContainerCutVars[12] = lInvMassOmegaMinus;//1.63;
                 lContainerCutVars[14] = lmcRapCasc;
                 lContainerCutVars[15] = -1.;
-                if ( lIsBachelorPionForTPC   && lIsPosProtonForTPC    && lIsNegPionForTPC )    
+                if ( lIsBachelorPionForTPC   && lIsPosProtonForTPC    && lIsNegPionForTPC ) {   
                   fCFContAsCascadeCuts->Fill(lContainerCutVars,0); // for Xi-
+                  fHistEtaBachXiM->Fill(etaBach);
+                  fHistEtaPosXiM->Fill(etaPos);
+                  fHistEtaNegXiM->Fill(etaNeg);
+                }
         }
         if( lChargeXi > 0 && lAssoXiPlus    ) {
                 lContainerCutVars[11] = lInvMassXiPlus;