Removing proglem with null dereference
authorpkalinak <pkalinak@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 17 Dec 2012 13:55:31 +0000 (13:55 +0000)
committerpkalinak <pkalinak@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 17 Dec 2012 13:55:31 +0000 (13:55 +0000)
removing old histograms,
adding histograms for cTau distribution

PWGLF/STRANGENESS/LambdaK0PbPb/AliAnalysisTaskPerformanceStrange.cxx
PWGLF/STRANGENESS/LambdaK0PbPb/AliAnalysisTaskPerformanceStrange.h

index cacf3b8..4e712d6 100644 (file)
  * provided "as is" without express or implied warranty.                  *
  **************************************************************************/
 
-//-----------------------------------------------------------------
+//--------------------------------------------------------------------------
 //             AliAnalysisTaskPerformanceStrange class
 //    This task is for a performance study of V0 identification.
 //                It works with MC info and ESD tree.
-//                 Author: H.Ricaud, H.Ricaud@gsi.de
-//-----------------------------------------------------------------
+//                 Author: Peter Kalinak  pkalinak@cern.ch kalinak@saske.sk
+//--------------------------------------------------------------------------
 
 #include <Riostream.h>
 
@@ -28,7 +28,7 @@
 #include "TTree.h"
 #include "TH1F.h"
 #include "TH2F.h"
-//#include "TH3F.h"
+#include "TH3F.h"
 #include "TF1.h"
 #include "TList.h"
 #include "TMath.h"
@@ -81,13 +81,15 @@ ClassImp(AliAnalysisTaskPerformanceStrange)
 
 //________________________________________________________________________
 AliAnalysisTaskPerformanceStrange::AliAnalysisTaskPerformanceStrange()
-: AliAnalysisTaskSE(), 
-  fCuts(),
-  fAnalysisMC(0), fAnalysisType("infoType"),  fCollidingSystems(0), fUsePID("infoPID"), fUseCut("infoCut"),fDown(0),fUp(0), fESD(0), fListHist(0),fCentrSelector(0),fTracksCuts(0),fPIDResponse(0), 
+: AliAnalysisTaskSE(), fAnalysisMC(0), fAnalysisType("infoType"),  fCollidingSystems(0), fUsePID("infoPID"), fUseCut("infoCut"),fDown(0),fUp(0), fESD(0), fListHist(0),fCentrSelector(0),fTracksCuts(0),fPIDResponse(0),fQASelector(0), 
 
   fHistMCPrimaryVertexX(0),
   fHistMCPrimaryVertexY(0),
   fHistMCPrimaryVertexZ(0),
+  fHistPtTracksITSRefit(0),
+  fHistPtTracks(0),
+  fHistPtTracksPITSRefit(0),
+  fHistPtTracksP(0),
   fHistMCMultiplicityPrimary(0),
   fHistMCMultiplicityTracks(0),
   fHistTPCTracks(0),
@@ -97,12 +99,26 @@ AliAnalysisTaskPerformanceStrange::AliAnalysisTaskPerformanceStrange()
   fHistMCtracksDecayRadiusK0s(0),
   fHistMCtracksDecayRadiusLambda(0),
   fHistMCtracksDecayRadiusAntiLambda(0),
+
   fHistMCPtAllK0s(0),
   fHistMCPtAllLambda(0),
   fHistMCPtAllAntiLambda(0),
+
+//Rap3
+  fHistMCPtAllK0sRap3(0),
+  fHistMCPtAllLambdaRap3(0),
+  fHistMCPtAllAntiLambdaRap3(0),
+
+
   fHistMCProdRadiusK0s(0),
   fHistMCProdRadiusLambda(0),
   fHistMCProdRadiusAntiLambda(0),
+
+//Decay radius of primary V0s
+  fHistMCPrimDecayRadiusK0s(0),
+  fHistMCPrimDecayRadiusLambda(0),
+  fHistMCPrimDecayRadiusAntiLambda(0),
+
   fHistMCRapK0s(0),
   fHistMCRapInPtRangeK0s(0),
   fHistMCRapLambda(0),
@@ -114,9 +130,17 @@ AliAnalysisTaskPerformanceStrange::AliAnalysisTaskPerformanceStrange()
   fHistMCRapPhi(0),
   fHistMCRapInPtRangePhi(0),
 ////////////////////////////////////////
+
   fHistMCPtK0s(0),
   fHistMCPtLambda(0),
   fHistMCPtAntiLambda(0),
+
+//Rap3
+  fHistMCPtK0sRap3(0),
+  fHistMCPtLambdaRap3(0),
+  fHistMCPtAntiLambdaRap3(0),
+
+
 ///////////////////////////////////////////
 
   fHistMCPtLambdaFromSigma(0),
@@ -152,6 +176,7 @@ AliAnalysisTaskPerformanceStrange::AliAnalysisTaskPerformanceStrange()
   fHistDcaV0DaughtersK0(0),
   fHistChi2K0(0),
   fHistCosPointAngleK0(0),
+  fHistTranscTauVsMassK0s(0),
 
   fHistDcaPosToPrimVertexK0vsMassK0(0),
   fHistDcaNegToPrimVertexK0vsMassK0(0),
@@ -160,107 +185,110 @@ AliAnalysisTaskPerformanceStrange::AliAnalysisTaskPerformanceStrange()
   fHistDcaV0DaughtersK0vsMassK0(0),
   fHistCosPointAngleK0vsMassK0(0),
  
-   fHistDcaPosToPrimVertexK0vsMassK0pt1(0),
-   fHistDcaNegToPrimVertexK0vsMassK0pt1(0),
-   fHistRadiusV0K0vsMassK0pt1(0),
-   fHistDecayLengthV0K0vsMassK0pt1(0),
-   fHistDcaV0DaughtersK0vsMassK0pt1(0),
-   fHistCosPointAngleK0vsMassK0pt1(0),
-
-   fHistDcaPosToPrimVertexK0vsMassK0pt2(0),
-   fHistDcaNegToPrimVertexK0vsMassK0pt2(0),
-   fHistRadiusV0K0vsMassK0pt2(0),
-   fHistDecayLengthV0K0vsMassK0pt2(0),
-   fHistDcaV0DaughtersK0vsMassK0pt2(0),
-   fHistCosPointAngleK0vsMassK0pt2(0),
-
-   fHistDcaPosToPrimVertexK0vsMassK0pt3(0),
-   fHistDcaNegToPrimVertexK0vsMassK0pt3(0),
-   fHistRadiusV0K0vsMassK0pt3(0),
-   fHistDecayLengthV0K0vsMassK0pt3(0),
-   fHistDcaV0DaughtersK0vsMassK0pt3(0),
-   fHistCosPointAngleK0vsMassK0pt3(0),
+  fHistDcaPosToPrimVertexK0vsMassK0pt1(0),
+  fHistDcaNegToPrimVertexK0vsMassK0pt1(0),
+  fHistRadiusV0K0vsMassK0pt1(0),
+  fHistDecayLengthV0K0vsMassK0pt1(0),
+  fHistDcaV0DaughtersK0vsMassK0pt1(0),
+  fHistCosPointAngleK0vsMassK0pt1(0),
+
+  fHistDcaPosToPrimVertexK0vsMassK0pt2(0),
+  fHistDcaNegToPrimVertexK0vsMassK0pt2(0),
+  fHistRadiusV0K0vsMassK0pt2(0),
+  fHistDecayLengthV0K0vsMassK0pt2(0),
+  fHistDcaV0DaughtersK0vsMassK0pt2(0),
+  fHistCosPointAngleK0vsMassK0pt2(0),
+
+  fHistDcaPosToPrimVertexK0vsMassK0pt3(0),
+  fHistDcaNegToPrimVertexK0vsMassK0pt3(0),
+  fHistRadiusV0K0vsMassK0pt3(0),
+  fHistDecayLengthV0K0vsMassK0pt3(0),
+  fHistDcaV0DaughtersK0vsMassK0pt3(0),
+  fHistCosPointAngleK0vsMassK0pt3(0),
 
 /////////// Lambda ///////////////////////////
 
-    fHistDcaPosToPrimVertexL(0),
-    fHistDcaNegToPrimVertexL(0),
-    fHistRadiusV0L(0),
-    fHistDecayLengthV0L(0),
-    fHistDcaV0DaughtersL(0),
-    fHistChi2L(0),
-    fHistCosPointAngleL(0),
-
-    fHistDcaPosToPrimVertexLvsMassL(0),
-    fHistDcaNegToPrimVertexLvsMassL(0),
-    fHistRadiusV0LvsMassL(0),
-    fHistDecayLengthV0LvsMassL(0),
-    fHistDcaV0DaughtersLvsMassL(0),
-    fHistCosPointAngleLvsMassL(0),
-
+  fHistDcaPosToPrimVertexL(0),
+  fHistDcaNegToPrimVertexL(0),
+  fHistRadiusV0L(0),
+  fHistDecayLengthV0L(0),
+  fHistDcaV0DaughtersL(0),
+  fHistChi2L(0),
+  fHistCosPointAngleL(0),
+  fHistTranscTauVsMassL(0),
+
+  fHistDcaPosToPrimVertexLvsMassL(0),
+  fHistDcaNegToPrimVertexLvsMassL(0),
+  fHistRadiusV0LvsMassL(0),
+  fHistDecayLengthV0LvsMassL(0),
+  fHistDcaV0DaughtersLvsMassL(0),
+  fHistCosPointAngleLvsMassL(0),
+  fHistCosPointAngleLvsMassVsPtsigL(0),
+  fHistCosPointAngleLvsMassVsPtbackL(0),
 
     
-      fHistDcaPosToPrimVertexLambdaVsMasspt1(0),
-      fHistDcaNegToPrimVertexLambdaVsMasspt1(0),
-      fHistRadiusV0LambdaVsMasspt1(0),
-      fHistDecayLengthV0LambdaVsMasspt1(0),
-      fHistDcaV0DaughtersLambdaVsMasspt1(0),
-      fHistCosPointAngleLambdaVsMasspt1(0),
+  fHistDcaPosToPrimVertexLambdaVsMasspt1(0),
+  fHistDcaNegToPrimVertexLambdaVsMasspt1(0),
+  fHistRadiusV0LambdaVsMasspt1(0),
+  fHistDecayLengthV0LambdaVsMasspt1(0),
+  fHistDcaV0DaughtersLambdaVsMasspt1(0),
+  fHistCosPointAngleLambdaVsMasspt1(0),
 
-      fHistDcaPosToPrimVertexLambdaVsMasspt2(0),
-      fHistDcaNegToPrimVertexLambdaVsMasspt2(0),
-      fHistRadiusV0LambdaVsMasspt2(0),
-      fHistDecayLengthV0LambdaVsMasspt2(0),
-      fHistDcaV0DaughtersLambdaVsMasspt2(0),
-      fHistCosPointAngleLambdaVsMasspt2(0),
+  fHistDcaPosToPrimVertexLambdaVsMasspt2(0),
+  fHistDcaNegToPrimVertexLambdaVsMasspt2(0),
+  fHistRadiusV0LambdaVsMasspt2(0),
+  fHistDecayLengthV0LambdaVsMasspt2(0),
+  fHistDcaV0DaughtersLambdaVsMasspt2(0),
+  fHistCosPointAngleLambdaVsMasspt2(0),
 
-      fHistDcaPosToPrimVertexLambdaVsMasspt3(0),
-      fHistDcaNegToPrimVertexLambdaVsMasspt3(0),
-      fHistRadiusV0LambdaVsMasspt3(0),
-      fHistDecayLengthV0LambdaVsMasspt3(0),
-      fHistDcaV0DaughtersLambdaVsMasspt3(0),
-      fHistCosPointAngleLambdaVsMasspt3(0),
+  fHistDcaPosToPrimVertexLambdaVsMasspt3(0),
+  fHistDcaNegToPrimVertexLambdaVsMasspt3(0),
+  fHistRadiusV0LambdaVsMasspt3(0),
+  fHistDecayLengthV0LambdaVsMasspt3(0),
+  fHistDcaV0DaughtersLambdaVsMasspt3(0),
+  fHistCosPointAngleLambdaVsMasspt3(0),
 
 
 
 /////////Antilambda ///////////////////
-    fHistDcaPosToPrimVertexAntiL(0),
-    fHistDcaNegToPrimVertexAntiL(0),
-    fHistRadiusV0AntiL(0),
-    fHistDecayLengthV0AntiL(0),
-    fHistDcaV0DaughtersAntiL(0),
-    fHistChi2AntiL(0),
-    fHistCosPointAngleAntiL(0),
-
-    fHistDcaPosToPrimVertexAntiLvsMass(0),
-    fHistDcaNegToPrimVertexAntiLvsMass(0),
-    fHistRadiusV0AntiLvsMass(0),
-    fHistDecayLengthV0AntiLvsMass(0),
-    fHistDcaV0DaughtersAntiLvsMass(0),
-    fHistCosPointAngleAntiLvsMass(0),
+  fHistDcaPosToPrimVertexAntiL(0),
+  fHistDcaNegToPrimVertexAntiL(0),
+  fHistRadiusV0AntiL(0),
+  fHistDecayLengthV0AntiL(0),
+  fHistDcaV0DaughtersAntiL(0),
+  fHistChi2AntiL(0),
+  fHistCosPointAngleAntiL(0),
+  fHistTranscTauVsMassAntiL(0),
+
+  fHistDcaPosToPrimVertexAntiLvsMass(0),
+  fHistDcaNegToPrimVertexAntiLvsMass(0),
+  fHistRadiusV0AntiLvsMass(0),
+  fHistDecayLengthV0AntiLvsMass(0),
+  fHistDcaV0DaughtersAntiLvsMass(0),
+  fHistCosPointAngleAntiLvsMass(0),
 
     
     
-      fHistDcaPosToPrimVertexAntiLVsMasspt1(0),
-      fHistDcaNegToPrimVertexAntiLVsMasspt1(0),
-      fHistRadiusV0AntiLVsMasspt1(0),
-      fHistDecayLengthV0AntiLVsMasspt1(0),
-      fHistDcaV0DaughtersAntiLVsMasspt1(0),
-      fHistCosPointAngleAntiLVsMasspt1(0),
-
-      fHistDcaPosToPrimVertexAntiLVsMasspt2(0),
-      fHistDcaNegToPrimVertexAntiLVsMasspt2(0),
-      fHistRadiusV0AntiLVsMasspt2(0),
-      fHistDecayLengthV0AntiLVsMasspt2(0),
-      fHistDcaV0DaughtersAntiLVsMasspt2(0),
-      fHistCosPointAngleAntiLVsMasspt2(0),
-
-      fHistDcaPosToPrimVertexAntiLVsMasspt3(0),
-      fHistDcaNegToPrimVertexAntiLVsMasspt3(0),
-      fHistRadiusV0AntiLVsMasspt3(0),
-      fHistDecayLengthV0AntiLVsMasspt3(0),
-      fHistDcaV0DaughtersAntiLVsMasspt3(0),
-      fHistCosPointAngleAntiLVsMasspt3(0),
+  fHistDcaPosToPrimVertexAntiLVsMasspt1(0),
+  fHistDcaNegToPrimVertexAntiLVsMasspt1(0),
+  fHistRadiusV0AntiLVsMasspt1(0),
+  fHistDecayLengthV0AntiLVsMasspt1(0),
+  fHistDcaV0DaughtersAntiLVsMasspt1(0),
+  fHistCosPointAngleAntiLVsMasspt1(0),
+
+  fHistDcaPosToPrimVertexAntiLVsMasspt2(0),
+  fHistDcaNegToPrimVertexAntiLVsMasspt2(0),
+  fHistRadiusV0AntiLVsMasspt2(0),
+  fHistDecayLengthV0AntiLVsMasspt2(0),
+  fHistDcaV0DaughtersAntiLVsMasspt2(0),
+  fHistCosPointAngleAntiLVsMasspt2(0),
+
+  fHistDcaPosToPrimVertexAntiLVsMasspt3(0),
+  fHistDcaNegToPrimVertexAntiLVsMasspt3(0),
+  fHistRadiusV0AntiLVsMasspt3(0),
+  fHistDecayLengthV0AntiLVsMasspt3(0),
+  fHistDcaV0DaughtersAntiLVsMasspt3(0),
+  fHistCosPointAngleAntiLVsMasspt3(0),
 
 /////////////////////////////////////////
   fHistV0Multiplicity(0),
@@ -274,12 +302,19 @@ AliAnalysisTaskPerformanceStrange::AliAnalysisTaskPerformanceStrange()
 ///////////////////////////////////////
   fHistPtVsMassK0(0),
   fHistPtVsMassLambda(0),
- fHistPtVsMassAntiLambda(0),
+  fHistPtVsMassAntiLambda(0),
+
+/// Rap3
+  fHistPtVsMassK0Rap3(0),
+  fHistPtVsMassLambdaRap3(0),
+  fHistPtVsMassAntiLambdaRap3(0),
+
 ////////////////////////////////////////
 
   fHistArmenterosPodolanski(0),
   fHistK0sMassVsLambdaMass(0),
-   fHistTPCsignalPt(0),
+  fHistTPCsigPLambda(0),
+  fHistTPCsigPAntiLambda(0),
   fHistNSigmaProton(0),    
   fHistNsigmaPosPionAntiLambda(0),
   fHistNsigmaNegProtonAntiLambda(0),
@@ -292,9 +327,28 @@ AliAnalysisTaskPerformanceStrange::AliAnalysisTaskPerformanceStrange()
   fHistAsMcRapK0(0),
   fHistAsMcRapLambda(0),
   fHistAsMcRapAntiLambda(0),
+
+// pt distribution    /////////////////////
   fHistAsMcPtK0(0),
   fHistAsMcPtLambda(0),
   fHistAsMcPtAntiLambda(0),
+
+
+// Transverse cTau distribution
+  fHistAsMcTranscTauL(0),
+  fHistAsMcTranscTauAntiL(0),
+  fHistAsMcTranscTauK0s(0),
+
+
+
+///Rap3
+  fHistAsMcPtK0Rap3(0),
+  fHistAsMcPtLambdaRap3(0),
+  fHistAsMcPtAntiLambdaRap3(0),
+
+
+/////////////////////////////////////
+
   fHistAsMcPtZoomK0(0),
   fHistAsMcPtZoomLambda(0),
   fHistAsMcPtZoomAntiLambda(0),
@@ -307,12 +361,31 @@ AliAnalysisTaskPerformanceStrange::AliAnalysisTaskPerformanceStrange()
   fHistPidMcMassK0(0),
   fHistPidMcMassLambda(0),
   fHistPidMcMassAntiLambda(0),
+
+
+///////////////////////////////
+
   fHistAsMcMassK0(0),
   fHistAsMcMassLambda(0),
   fHistAsMcMassAntiLambda(0),
+
+/// Rap3
+  fHistAsMcMassK0Rap3(0),
+  fHistAsMcMassLambdaRap3(0),
+  fHistAsMcMassAntiLambdaRap3(0),
+
+
   fHistAsMcPtVsMassK0(0),
   fHistAsMcPtVsMassLambda(0),
   fHistAsMcPtVsMassAntiLambda(0),
+
+/// Rap3
+  fHistAsMcPtVsMassK0Rap3(0),
+  fHistAsMcPtVsMassLambdaRap3(0),
+  fHistAsMcPtVsMassAntiLambdaRap3(0),
+
+///////////////////////////////////////
+
   fHistAsMcMassVsRadiusK0(0),
   fHistAsMcMassVsRadiusLambda(0),
   fHistAsMcMassVsRadiusAntiLambda(0),
@@ -370,13 +443,15 @@ AliAnalysisTaskPerformanceStrange::AliAnalysisTaskPerformanceStrange()
 
 //________________________________________________________________________
 AliAnalysisTaskPerformanceStrange::AliAnalysisTaskPerformanceStrange(const char *name)
-  : AliAnalysisTaskSE(name),
-    fCuts(),
-    fAnalysisMC(0), fAnalysisType("infoType"), fCollidingSystems(0), fUsePID("infoPID"), fUseCut("infocut"),fDown(0),fUp(0), fESD(0), fListHist(),fCentrSelector(0), fTracksCuts(0),fPIDResponse(0),
+  : AliAnalysisTaskSE(name), fAnalysisMC(0), fAnalysisType("infoType"), fCollidingSystems(0), fUsePID("infoPID"), fUseCut("infocut"),fDown(0),fUp(0), fESD(0), fListHist(),fCentrSelector(0), fTracksCuts(0),fPIDResponse(0),fQASelector(0),
 
     fHistMCPrimaryVertexX(0),
     fHistMCPrimaryVertexY(0),
     fHistMCPrimaryVertexZ(0),
+    fHistPtTracksITSRefit(0),
+    fHistPtTracks(0),
+    fHistPtTracksPITSRefit(0),
+    fHistPtTracksP(0),
     fHistMCMultiplicityPrimary(0),
     fHistMCMultiplicityTracks(0),
     fHistTPCTracks(0),
@@ -386,12 +461,26 @@ AliAnalysisTaskPerformanceStrange::AliAnalysisTaskPerformanceStrange(const char
     fHistMCtracksDecayRadiusK0s(0),
     fHistMCtracksDecayRadiusLambda(0),
     fHistMCtracksDecayRadiusAntiLambda(0),
+    // pt distribution
     fHistMCPtAllK0s(0),
     fHistMCPtAllLambda(0),
     fHistMCPtAllAntiLambda(0),
+
+    //Rap3
+    fHistMCPtAllK0sRap3(0),
+    fHistMCPtAllLambdaRap3(0),
+    fHistMCPtAllAntiLambdaRap3(0),
+
+
     fHistMCProdRadiusK0s(0),
     fHistMCProdRadiusLambda(0),
     fHistMCProdRadiusAntiLambda(0),
+  
+    // Decay radius of Primary V0s
+    fHistMCPrimDecayRadiusK0s(0),
+    fHistMCPrimDecayRadiusLambda(0),
+    fHistMCPrimDecayRadiusAntiLambda(0),
+
     fHistMCRapK0s(0),
     fHistMCRapInPtRangeK0s(0),
     fHistMCRapLambda(0),
@@ -402,11 +491,20 @@ AliAnalysisTaskPerformanceStrange::AliAnalysisTaskPerformanceStrange(const char
     fHistMCRapInPtRangeXi(0),
     fHistMCRapPhi(0),
     fHistMCRapInPtRangePhi(0),
-    ////////////////////////////////////////////////
+    ////////////////////////////////////////
+
     fHistMCPtK0s(0),
     fHistMCPtLambda(0),
     fHistMCPtAntiLambda(0),
-    /////////////////////////////////////////////////
+
+    //Rap3
+    fHistMCPtK0sRap3(0),
+    fHistMCPtLambdaRap3(0),
+    fHistMCPtAntiLambdaRap3(0),
+
+
+    ///////////////////////////////////////////
+
     fHistMCPtLambdaFromSigma(0),
     fHistMCPtAntiLambdaFromSigma(0),
     fHistNTimesRecK0s(0),
@@ -440,6 +538,7 @@ AliAnalysisTaskPerformanceStrange::AliAnalysisTaskPerformanceStrange(const char
     fHistDcaV0DaughtersK0(0),
     fHistChi2K0(0),
     fHistCosPointAngleK0(0),
+    fHistTranscTauVsMassK0s(0),
 
     fHistDcaPosToPrimVertexK0vsMassK0(0),
     fHistDcaNegToPrimVertexK0vsMassK0(0),
@@ -447,30 +546,29 @@ AliAnalysisTaskPerformanceStrange::AliAnalysisTaskPerformanceStrange(const char
     fHistDecayLengthV0K0vsMassK0(0),
     fHistDcaV0DaughtersK0vsMassK0(0),
     fHistCosPointAngleK0vsMassK0(0),
-
-    
-      fHistDcaPosToPrimVertexK0vsMassK0pt1(0),
-      fHistDcaNegToPrimVertexK0vsMassK0pt1(0),
-      fHistRadiusV0K0vsMassK0pt1(0),
-      fHistDecayLengthV0K0vsMassK0pt1(0),
-      fHistDcaV0DaughtersK0vsMassK0pt1(0),
-      fHistCosPointAngleK0vsMassK0pt1(0),
-
-      fHistDcaPosToPrimVertexK0vsMassK0pt2(0),
-      fHistDcaNegToPrimVertexK0vsMassK0pt2(0),
-      fHistRadiusV0K0vsMassK0pt2(0),
-      fHistDecayLengthV0K0vsMassK0pt2(0),
-      fHistDcaV0DaughtersK0vsMassK0pt2(0),
-      fHistCosPointAngleK0vsMassK0pt2(0),
-
-      fHistDcaPosToPrimVertexK0vsMassK0pt3(0),
-      fHistDcaNegToPrimVertexK0vsMassK0pt3(0),
-      fHistRadiusV0K0vsMassK0pt3(0),
-      fHistDecayLengthV0K0vsMassK0pt3(0),
-      fHistDcaV0DaughtersK0vsMassK0pt3(0),
-      fHistCosPointAngleK0vsMassK0pt3(0),
-    
-    /////////////////////////////////////////
+    fHistDcaPosToPrimVertexK0vsMassK0pt1(0),
+    fHistDcaNegToPrimVertexK0vsMassK0pt1(0),
+    fHistRadiusV0K0vsMassK0pt1(0),
+    fHistDecayLengthV0K0vsMassK0pt1(0),
+    fHistDcaV0DaughtersK0vsMassK0pt1(0),
+    fHistCosPointAngleK0vsMassK0pt1(0),
+
+    fHistDcaPosToPrimVertexK0vsMassK0pt2(0),
+    fHistDcaNegToPrimVertexK0vsMassK0pt2(0),
+    fHistRadiusV0K0vsMassK0pt2(0),
+    fHistDecayLengthV0K0vsMassK0pt2(0),
+    fHistDcaV0DaughtersK0vsMassK0pt2(0),
+    fHistCosPointAngleK0vsMassK0pt2(0),
+
+    fHistDcaPosToPrimVertexK0vsMassK0pt3(0),
+    fHistDcaNegToPrimVertexK0vsMassK0pt3(0),
+    fHistRadiusV0K0vsMassK0pt3(0),
+    fHistDecayLengthV0K0vsMassK0pt3(0),
+    fHistDcaV0DaughtersK0vsMassK0pt3(0),
+    fHistCosPointAngleK0vsMassK0pt3(0),
+
+    /////////// Lambda ///////////////////////////
 
     fHistDcaPosToPrimVertexL(0),
     fHistDcaNegToPrimVertexL(0),
@@ -479,6 +577,8 @@ AliAnalysisTaskPerformanceStrange::AliAnalysisTaskPerformanceStrange(const char
     fHistDcaV0DaughtersL(0),
     fHistChi2L(0),
     fHistCosPointAngleL(0),
+    fHistTranscTauVsMassL(0),
+    
 
     fHistDcaPosToPrimVertexLvsMassL(0),
     fHistDcaNegToPrimVertexLvsMassL(0),
@@ -486,31 +586,34 @@ AliAnalysisTaskPerformanceStrange::AliAnalysisTaskPerformanceStrange(const char
     fHistDecayLengthV0LvsMassL(0),
     fHistDcaV0DaughtersLvsMassL(0),
     fHistCosPointAngleLvsMassL(0),
-
+    fHistCosPointAngleLvsMassVsPtsigL(0),
+    fHistCosPointAngleLvsMassVsPtbackL(0),
 
     
-      fHistDcaPosToPrimVertexLambdaVsMasspt1(0),
-      fHistDcaNegToPrimVertexLambdaVsMasspt1(0),
-      fHistRadiusV0LambdaVsMasspt1(0),
-      fHistDecayLengthV0LambdaVsMasspt1(0),
-      fHistDcaV0DaughtersLambdaVsMasspt1(0),
-      fHistCosPointAngleLambdaVsMasspt1(0),
-
-      fHistDcaPosToPrimVertexLambdaVsMasspt2(0),
-      fHistDcaNegToPrimVertexLambdaVsMasspt2(0),
-      fHistRadiusV0LambdaVsMasspt2(0),
-      fHistDecayLengthV0LambdaVsMasspt2(0),
-      fHistDcaV0DaughtersLambdaVsMasspt2(0),
-      fHistCosPointAngleLambdaVsMasspt2(0),
-
-      fHistDcaPosToPrimVertexLambdaVsMasspt3(0),
-      fHistDcaNegToPrimVertexLambdaVsMasspt3(0),
-      fHistRadiusV0LambdaVsMasspt3(0),
-      fHistDecayLengthV0LambdaVsMasspt3(0),
-      fHistDcaV0DaughtersLambdaVsMasspt3(0),
-      fHistCosPointAngleLambdaVsMasspt3(0),
-
-    ////////////AntiLambda
+    fHistDcaPosToPrimVertexLambdaVsMasspt1(0),
+    fHistDcaNegToPrimVertexLambdaVsMasspt1(0),
+    fHistRadiusV0LambdaVsMasspt1(0),
+    fHistDecayLengthV0LambdaVsMasspt1(0),
+    fHistDcaV0DaughtersLambdaVsMasspt1(0),
+    fHistCosPointAngleLambdaVsMasspt1(0),
+
+    fHistDcaPosToPrimVertexLambdaVsMasspt2(0),
+    fHistDcaNegToPrimVertexLambdaVsMasspt2(0),
+    fHistRadiusV0LambdaVsMasspt2(0),
+    fHistDecayLengthV0LambdaVsMasspt2(0),
+    fHistDcaV0DaughtersLambdaVsMasspt2(0),
+    fHistCosPointAngleLambdaVsMasspt2(0),
+
+    fHistDcaPosToPrimVertexLambdaVsMasspt3(0),
+    fHistDcaNegToPrimVertexLambdaVsMasspt3(0),
+    fHistRadiusV0LambdaVsMasspt3(0),
+    fHistDecayLengthV0LambdaVsMasspt3(0),
+    fHistDcaV0DaughtersLambdaVsMasspt3(0),
+    fHistCosPointAngleLambdaVsMasspt3(0),
+
+
+
+    /////////Antilambda ///////////////////
     fHistDcaPosToPrimVertexAntiL(0),
     fHistDcaNegToPrimVertexAntiL(0),
     fHistRadiusV0AntiL(0),
@@ -518,6 +621,7 @@ AliAnalysisTaskPerformanceStrange::AliAnalysisTaskPerformanceStrange(const char
     fHistDcaV0DaughtersAntiL(0),
     fHistChi2AntiL(0),
     fHistCosPointAngleAntiL(0),
+    fHistTranscTauVsMassAntiL(0),
 
     fHistDcaPosToPrimVertexAntiLvsMass(0),
     fHistDcaNegToPrimVertexAntiLvsMass(0),
@@ -528,30 +632,28 @@ AliAnalysisTaskPerformanceStrange::AliAnalysisTaskPerformanceStrange(const char
 
     
     
-      fHistDcaPosToPrimVertexAntiLVsMasspt1(0),
-      fHistDcaNegToPrimVertexAntiLVsMasspt1(0),
-      fHistRadiusV0AntiLVsMasspt1(0),
-      fHistDecayLengthV0AntiLVsMasspt1(0),
-      fHistDcaV0DaughtersAntiLVsMasspt1(0),
-      fHistCosPointAngleAntiLVsMasspt1(0),
-
-      fHistDcaPosToPrimVertexAntiLVsMasspt2(0),
-      fHistDcaNegToPrimVertexAntiLVsMasspt2(0),
-      fHistRadiusV0AntiLVsMasspt2(0),
-      fHistDecayLengthV0AntiLVsMasspt2(0),
-      fHistDcaV0DaughtersAntiLVsMasspt2(0),
-      fHistCosPointAngleAntiLVsMasspt2(0),
-
-      fHistDcaPosToPrimVertexAntiLVsMasspt3(0),
-      fHistDcaNegToPrimVertexAntiLVsMasspt3(0),
-      fHistRadiusV0AntiLVsMasspt3(0),
-      fHistDecayLengthV0AntiLVsMasspt3(0),
-      fHistDcaV0DaughtersAntiLVsMasspt3(0),
-      fHistCosPointAngleAntiLVsMasspt3(0),
-
+    fHistDcaPosToPrimVertexAntiLVsMasspt1(0),
+    fHistDcaNegToPrimVertexAntiLVsMasspt1(0),
+    fHistRadiusV0AntiLVsMasspt1(0),
+    fHistDecayLengthV0AntiLVsMasspt1(0),
+    fHistDcaV0DaughtersAntiLVsMasspt1(0),
+    fHistCosPointAngleAntiLVsMasspt1(0),
+
+    fHistDcaPosToPrimVertexAntiLVsMasspt2(0),
+    fHistDcaNegToPrimVertexAntiLVsMasspt2(0),
+    fHistRadiusV0AntiLVsMasspt2(0),
+    fHistDecayLengthV0AntiLVsMasspt2(0),
+    fHistDcaV0DaughtersAntiLVsMasspt2(0),
+    fHistCosPointAngleAntiLVsMasspt2(0),
+
+    fHistDcaPosToPrimVertexAntiLVsMasspt3(0),
+    fHistDcaNegToPrimVertexAntiLVsMasspt3(0),
+    fHistRadiusV0AntiLVsMasspt3(0),
+    fHistDecayLengthV0AntiLVsMasspt3(0),
+    fHistDcaV0DaughtersAntiLVsMasspt3(0),
+    fHistCosPointAngleAntiLVsMasspt3(0),
 
     /////////////////////////////////////////
-
     fHistV0Multiplicity(0),
     fHistMassK0(0),
     fHistMassLambda(0),
@@ -559,15 +661,24 @@ AliAnalysisTaskPerformanceStrange::AliAnalysisTaskPerformanceStrange(const char
     fHistMassVsRadiusK0(0),
     fHistMassVsRadiusLambda(0),
     fHistMassVsRadiusAntiLambda(0),
-    /////////////////////////////////////////////
+
+    ///////////////////////////////////////
     fHistPtVsMassK0(0),
     fHistPtVsMassLambda(0),
     fHistPtVsMassAntiLambda(0),
-    ///////////////////////////////////////////////////
+
+    /// Rap3
+    fHistPtVsMassK0Rap3(0),
+    fHistPtVsMassLambdaRap3(0),
+    fHistPtVsMassAntiLambdaRap3(0),
+
+    ////////////////////////////////////////
+
     fHistArmenterosPodolanski(0),
     fHistK0sMassVsLambdaMass(0),
-    fHistTPCsignalPt(0),
-    fHistNSigmaProton(0),
+    fHistTPCsigPLambda(0),
+    fHistTPCsigPAntiLambda(0),
+    fHistNSigmaProton(0),    
     fHistNsigmaPosPionAntiLambda(0),
     fHistNsigmaNegProtonAntiLambda(0),
     fHistNsigmaPosProtonLambda(0),
@@ -579,11 +690,25 @@ AliAnalysisTaskPerformanceStrange::AliAnalysisTaskPerformanceStrange(const char
     fHistAsMcRapK0(0),
     fHistAsMcRapLambda(0),
     fHistAsMcRapAntiLambda(0),
-    ///////////////////////////////////
+
+    ///  Pt distribution  /////////////////////
     fHistAsMcPtK0(0),
     fHistAsMcPtLambda(0),
     fHistAsMcPtAntiLambda(0),
+
+    //    cTau distribution
+    fHistAsMcTranscTauL(0),
+    fHistAsMcTranscTauAntiL(0),
+    fHistAsMcTranscTauK0s(0),
+
+    ///Rap3
+    fHistAsMcPtK0Rap3(0),
+    fHistAsMcPtLambdaRap3(0),
+    fHistAsMcPtAntiLambdaRap3(0),
+
+
     /////////////////////////////////////
+
     fHistAsMcPtZoomK0(0),
     fHistAsMcPtZoomLambda(0),
     fHistAsMcPtZoomAntiLambda(0),
@@ -596,12 +721,31 @@ AliAnalysisTaskPerformanceStrange::AliAnalysisTaskPerformanceStrange(const char
     fHistPidMcMassK0(0),
     fHistPidMcMassLambda(0),
     fHistPidMcMassAntiLambda(0),
+
+
+    ///////////////////////////////
+
     fHistAsMcMassK0(0),
     fHistAsMcMassLambda(0),
     fHistAsMcMassAntiLambda(0),
+
+    /// Rap3
+    fHistAsMcMassK0Rap3(0),
+    fHistAsMcMassLambdaRap3(0),
+    fHistAsMcMassAntiLambdaRap3(0),
+
+
     fHistAsMcPtVsMassK0(0),
     fHistAsMcPtVsMassLambda(0),
     fHistAsMcPtVsMassAntiLambda(0),
+
+    /// Rap3
+    fHistAsMcPtVsMassK0Rap3(0),
+    fHistAsMcPtVsMassLambdaRap3(0),
+    fHistAsMcPtVsMassAntiLambdaRap3(0),
+
+    ///////////////////////////////////////
+
     fHistAsMcMassVsRadiusK0(0),
     fHistAsMcMassVsRadiusLambda(0),
     fHistAsMcMassVsRadiusAntiLambda(0),
@@ -695,6 +839,20 @@ void AliAnalysisTaskPerformanceStrange::UserCreateOutputObjects()
 
   fHistMCPrimaryVertexZ          = new TH1F("h1MCPrimaryVertexZ", "MC Primary Vertex Position Z;Primary Vertex Position Z (cm);Events",200,-20,20);
   fListHist->Add(fHistMCPrimaryVertexZ);
+
+  // Pt track distribution
+  fHistPtTracksITSRefit            = new TH1F("h1PtTracksITSRefit", "Pt tracks;p_{t} (GeV/c);Counts", 240,0,12);
+  fListHist->Add(fHistPtTracksITSRefit);
+
+  fHistPtTracks            = new TH1F("h1PtTracks", "Pt tracks;p_{t} (GeV/c);Counts", 240,0,12);
+  fListHist->Add(fHistPtTracks);
+
+  // Pt track distribution
+  fHistPtTracksPITSRefit            = new TH1F("h1PtTracksPITSRefit", "Pt tracks;p_{t} (GeV/c);Counts", 240,0,12);
+  fListHist->Add(fHistPtTracksPITSRefit);
+
+  fHistPtTracksP            = new TH1F("h1PtTracksP", "Pt tracks;p_{t} (GeV/c);Counts", 240,0,12);
+  fListHist->Add(fHistPtTracksP);
   
   // Multiplicity
   fHistMCMultiplicityPrimary           = new TH1F("h1MCMultiplicityPrimary", "MC Primary Particles;NPrimary;Count", 201, -0.5, 200.5);
@@ -714,13 +872,13 @@ void AliAnalysisTaskPerformanceStrange::UserCreateOutputObjects()
   fListHist->Add(fHistMCtracksProdRadiusAntiLambda);
 
   // Decay Radius of non-primary particles:
-  fHistMCtracksDecayRadiusK0s          = new TH1F("h1MCtracksDecayRadiusK0s","Non-primary MC K^{0} Decay Radius;r (cm)",101,-1,100);
+  fHistMCtracksDecayRadiusK0s          = new TH1F("h1MCtracksDecayRadiusK0s","Non-primary MC K^{0} Decay Radius;r (cm)",100,0,100);
   fListHist->Add(fHistMCtracksDecayRadiusK0s);
 
-  fHistMCtracksDecayRadiusLambda       = new TH1F("h1MCtracksDecayRadiusLambda","Non-primary MC #Lambda^{0} Decay Radius;r (cm)",101,-1,100);
+  fHistMCtracksDecayRadiusLambda       = new TH1F("h1MCtracksDecayRadiusLambda","Non-primary MC #Lambda^{0} Decay Radius;r (cm)",100,0,100);
   fListHist->Add(fHistMCtracksDecayRadiusLambda);
 
-  fHistMCtracksDecayRadiusAntiLambda   = new TH1F("h1MCtracksDecayRadiusAntiLambda","Non-primary #bar{#Lambda}^{0} Decay Radius;r (cm)",100,1,101);
+  fHistMCtracksDecayRadiusAntiLambda   = new TH1F("h1MCtracksDecayRadiusAntiLambda","Non-primary #bar{#Lambda}^{0} Decay Radius;r (cm)",100,0,100);
   fListHist->Add(fHistMCtracksDecayRadiusAntiLambda);
 
   // Pt Distribution of non-primary particles:
@@ -733,6 +891,18 @@ void AliAnalysisTaskPerformanceStrange::UserCreateOutputObjects()
   fHistMCPtAllAntiLambda               = new TH1F("h1MCPtAllAntiLambda", "Non-primary MC #bar{#Lambda}^{0};p_{t} (GeV/c);Counts",240,0,12);
   fListHist->Add(fHistMCPtAllAntiLambda);
 
+
+  // Pt Distribution of non-primary particles Rap3:
+  fHistMCPtAllK0sRap3                      = new TH1F("h1MCPtAllK0sRap3", "Non-primary MC K^{0};p_{t} (GeV/c);Counts",240,0,12);
+  fListHist->Add(fHistMCPtAllK0sRap3);
+
+  fHistMCPtAllLambdaRap3                   = new TH1F("h1MCPtAllLambdaRap3", "Non-primary MC #LambdaRap3^{0};p_{t} (GeV/c);Counts",240,0,12);
+  fListHist->Add(fHistMCPtAllLambdaRap3);
+
+  fHistMCPtAllAntiLambdaRap3               = new TH1F("h1MCPtAllAntiLambdaRap3", "Non-primary MC #bar{#LambdaRap3}^{0};p_{t} (GeV/c);Counts",240,0,12);
+  fListHist->Add(fHistMCPtAllAntiLambdaRap3);
+
+
   // Production Radius
   fHistMCProdRadiusK0s                 = new TH1F("h1MCProdRadiusK0s", "MC K^{0} Production Radius;r (cm);Count", 400, -2, 2);
   fListHist->Add(fHistMCProdRadiusK0s);
@@ -743,6 +913,16 @@ void AliAnalysisTaskPerformanceStrange::UserCreateOutputObjects()
   fHistMCProdRadiusAntiLambda         = new TH1F("h1MCProdRadiusAntiLambda", "MC #bar{#Lambda}^{0} Production Radius;r (cm);Count", 400, -2, 2);
   fListHist->Add(fHistMCProdRadiusAntiLambda);
 
+  // Decay radius of primary V0s
+  fHistMCPrimDecayRadiusK0s    = new TH1F("fHistMCPrimDecayRadiusK0s", "MC  K^{0} Decay Radius;r (cm);Count", 100, 0, 100);
+  fListHist->Add(fHistMCPrimDecayRadiusK0s);
+
+  fHistMCPrimDecayRadiusLambda    = new TH1F("fHistMCPrimDecayRadiusLambda", "MC #Lambda^{0} Decay Radius;r (cm);Count", 100, 0, 100);
+  fListHist->Add(fHistMCPrimDecayRadiusLambda);
+
+  fHistMCPrimDecayRadiusAntiLambda    = new TH1F("fHistMCPrimDecayRadiusAntiLambda", "MC #bar{#Lambda}^{0} Decay Radius;r (cm);Count", 100, 0, 100);
+  fListHist->Add(fHistMCPrimDecayRadiusAntiLambda);
+
   // Rapidity distribution:
   fHistMCRapK0s                 = new TH1F("h1MCRapK0s", "K^{0};y",160,-4,4);
   fListHist->Add(fHistMCRapK0s);
@@ -781,9 +961,21 @@ void AliAnalysisTaskPerformanceStrange::UserCreateOutputObjects()
   fHistMCPtLambda            = new TH1F("h1MCPtLambda", "#Lambda^{0};p_{t} (GeV/c)",240,0,12);
   fListHist->Add(fHistMCPtLambda);
 
-fHistMCPtAntiLambda            = new TH1F("h1MCPtAntiLambda", "#AntiLambda^{0};p_{t} (GeV/c)",240,0,12);
+  fHistMCPtAntiLambda            = new TH1F("h1MCPtAntiLambda", "#AntiLambda^{0};p_{t} (GeV/c)",240,0,12);
   fListHist->Add(fHistMCPtAntiLambda);
 
+
+  // Pt distribution Rap3:
+  fHistMCPtK0sRap3               = new TH1F("h1MCPtK0sRap3", "K^{0};p_{t} (GeV/c)",240,0,12);
+  fListHist->Add(fHistMCPtK0sRap3);
+
+  fHistMCPtLambdaRap3            = new TH1F("h1MCPtLambdaRap3", "#Lambda^{0};p_{t} (GeV/c)",240,0,12);
+  fListHist->Add(fHistMCPtLambdaRap3);
+
+  fHistMCPtAntiLambdaRap3            = new TH1F("h1MCPtAntiLambdaRap3", "#AntiLambda^{0};p_{t} (GeV/c)",240,0,12);
+  fListHist->Add(fHistMCPtAntiLambdaRap3);
+
+
   // Pt distribution of Lambda coming from Sigma decay
   fHistMCPtLambdaFromSigma      = new TH1F("h1MCPtLambdaFromSigma", "#Lambda^{0};p_{t} (GeV/c)",240,0,12);
   fListHist->Add(fHistMCPtLambdaFromSigma);
@@ -832,7 +1024,7 @@ fHistMCPtAntiLambda            = new TH1F("h1MCPtAntiLambda", "#AntiLambda^{0};p
   fHistMCDaughterTrack         = new TH1F("h1MCDaughterTrack","Distribution of mc id for daughters;id tags;Counts",15,0,15);
   fListHist->Add(fHistMCDaughterTrack);
 
-   fHistTPCTracks               = new TH1F("h1TPCTracks","Distribution of TPC tracks;Number of TPC tracks:Number of events",1000,0,10000);
+  fHistTPCTracks               = new TH1F("h1TPCTracks","Distribution of TPC tracks;Number of TPC tracks:Number of events",1000,0,10000);
   fListHist->Add(fHistTPCTracks);
 
   // Primary Vertex:
@@ -919,63 +1111,64 @@ fHistMCPtAntiLambda            = new TH1F("h1MCPtAntiLambda", "#AntiLambda^{0};p
 
   fHistCosPointAngleK0vsMassK0      = new TH2F("h2CosPointAngleK0vsMassK0", "Cosine of V0's pointing angle", 200,0.997,1.007,200,0.4,0.6);
   fListHist->Add(fHistCosPointAngleK0vsMassK0);
+  if(fQASelector) {
     //// pt1
-      fHistDcaPosToPrimVertexK0vsMassK0pt1 = new TH2F("h2DcaPosToPrimVertexK0vsMassK0pt1", "Positive V0 daughter;dca(cm);K0s inv. mass",500,0,10,200,0.4,0.6);
-      fListHist->Add(fHistDcaPosToPrimVertexK0vsMassK0pt1);
+    fHistDcaPosToPrimVertexK0vsMassK0pt1 = new TH2F("h2DcaPosToPrimVertexK0vsMassK0pt1", "Positive V0 daughter;dca(cm);K0s inv. mass",500,0,10,200,0.4,0.6);
+    fListHist->Add(fHistDcaPosToPrimVertexK0vsMassK0pt1);
 
-      fHistDcaNegToPrimVertexK0vsMassK0pt1 = new TH2F("h2DcaNegToPrimVertexK0vsMassK0pt1", "Negative V0 daughter;dca(cm);K0s inv. mass",500,0,10,200,0.4,0.6);
-      fListHist->Add(fHistDcaNegToPrimVertexK0vsMassK0pt1);
+    fHistDcaNegToPrimVertexK0vsMassK0pt1 = new TH2F("h2DcaNegToPrimVertexK0vsMassK0pt1", "Negative V0 daughter;dca(cm);K0s inv. mass",500,0,10,200,0.4,0.6);
+    fListHist->Add(fHistDcaNegToPrimVertexK0vsMassK0pt1);
 
-      fHistRadiusV0K0vsMassK0pt1           = new TH2F("h2RadiusV0K0vsMassK0pt1", "Radius;Radius(cm);K0s inv. mass",110,0,110,200,0.4,0.6);
-      fListHist->Add(fHistRadiusV0K0vsMassK0pt1);
+    fHistRadiusV0K0vsMassK0pt1           = new TH2F("h2RadiusV0K0vsMassK0pt1", "Radius;Radius(cm);K0s inv. mass",110,0,110,200,0.4,0.6);
+    fListHist->Add(fHistRadiusV0K0vsMassK0pt1);
 
-      fHistDecayLengthV0K0vsMassK0pt1      = new TH2F("h2DecayLengthV0K0vsMassK0pt1", "V0s decay Length;decay length(cm);K0s inv. mass",100,0,100,200,0.4,0.6);
-      fListHist->Add(fHistDecayLengthV0K0vsMassK0pt1);
+    fHistDecayLengthV0K0vsMassK0pt1      = new TH2F("h2DecayLengthV0K0vsMassK0pt1", "V0s decay Length;decay length(cm);K0s inv. mass",100,0,100,200,0.4,0.6);
+    fListHist->Add(fHistDecayLengthV0K0vsMassK0pt1);
 
-      fHistDcaV0DaughtersK0vsMassK0pt1     = new TH2F("h2DcaV0DaughtersK0vsMassK0pt1", "DCA between daughters;dca(cm);K0s inv. mass", 110, 0, 1.1,200,0.4,0.6);
-      fListHist->Add(fHistDcaV0DaughtersK0vsMassK0pt1);
+    fHistDcaV0DaughtersK0vsMassK0pt1     = new TH2F("h2DcaV0DaughtersK0vsMassK0pt1", "DCA between daughters;dca(cm);K0s inv. mass", 110, 0, 1.1,200,0.4,0.6);
+    fListHist->Add(fHistDcaV0DaughtersK0vsMassK0pt1);
 
-      fHistCosPointAngleK0vsMassK0pt1      = new TH2F("h2CosPointAngleK0vsMassK0pt1", "Cosine of V0's pointing angle", 200,0.997,1.007,200,0.4,0.6);
-      fListHist->Add(fHistCosPointAngleK0vsMassK0pt1);
+    fHistCosPointAngleK0vsMassK0pt1      = new TH2F("h2CosPointAngleK0vsMassK0pt1", "Cosine of V0's pointing angle", 200,0.997,1.007,200,0.4,0.6);
+    fListHist->Add(fHistCosPointAngleK0vsMassK0pt1);
 
-      /// pt2
-      fHistDcaPosToPrimVertexK0vsMassK0pt2 = new TH2F("h2DcaPosToPrimVertexK0vsMassK0pt2", "Positive V0 daughter;dca(cm);K0s inv. mass",500,0,10,200,0.4,0.6);
-      fListHist->Add(fHistDcaPosToPrimVertexK0vsMassK0pt2);
+    /// pt2
+    fHistDcaPosToPrimVertexK0vsMassK0pt2 = new TH2F("h2DcaPosToPrimVertexK0vsMassK0pt2", "Positive V0 daughter;dca(cm);K0s inv. mass",500,0,10,200,0.4,0.6);
+    fListHist->Add(fHistDcaPosToPrimVertexK0vsMassK0pt2);
 
-      fHistDcaNegToPrimVertexK0vsMassK0pt2 = new TH2F("h2DcaNegToPrimVertexK0vsMassK0pt2", "Negative V0 daughter;dca(cm);K0s inv. mass",500,0,10,200,0.4,0.6);
-      fListHist->Add(fHistDcaNegToPrimVertexK0vsMassK0pt2);
+    fHistDcaNegToPrimVertexK0vsMassK0pt2 = new TH2F("h2DcaNegToPrimVertexK0vsMassK0pt2", "Negative V0 daughter;dca(cm);K0s inv. mass",500,0,10,200,0.4,0.6);
+    fListHist->Add(fHistDcaNegToPrimVertexK0vsMassK0pt2);
 
-      fHistRadiusV0K0vsMassK0pt2           = new TH2F("h2RadiusV0K0vsMassK0pt2", "Radius;Radius(cm);K0s inv. mass",110,0,110,200,0.4,0.6);
-      fListHist->Add(fHistRadiusV0K0vsMassK0pt2);
+    fHistRadiusV0K0vsMassK0pt2           = new TH2F("h2RadiusV0K0vsMassK0pt2", "Radius;Radius(cm);K0s inv. mass",110,0,110,200,0.4,0.6);
+    fListHist->Add(fHistRadiusV0K0vsMassK0pt2);
 
-      fHistDecayLengthV0K0vsMassK0pt2      = new TH2F("h2DecayLengthV0K0vsMassK0pt2", "V0s decay Length;decay length(cm);K0s inv. mass", 100, 0, 100,200,0.4,0.6);
-      fListHist->Add(fHistDecayLengthV0K0vsMassK0pt2);
+    fHistDecayLengthV0K0vsMassK0pt2      = new TH2F("h2DecayLengthV0K0vsMassK0pt2", "V0s decay Length;decay length(cm);K0s inv. mass", 100, 0, 100,200,0.4,0.6);
+    fListHist->Add(fHistDecayLengthV0K0vsMassK0pt2);
 
-      fHistDcaV0DaughtersK0vsMassK0pt2     = new TH2F("h2DcaV0DaughtersK0vsMassK0pt2", "DCA between daughters;dca(cm);K0s inv. mass", 110, 0, 1.1,200,0.4,0.6);
-      fListHist->Add(fHistDcaV0DaughtersK0vsMassK0pt2);
+    fHistDcaV0DaughtersK0vsMassK0pt2     = new TH2F("h2DcaV0DaughtersK0vsMassK0pt2", "DCA between daughters;dca(cm);K0s inv. mass", 110, 0, 1.1,200,0.4,0.6);
+    fListHist->Add(fHistDcaV0DaughtersK0vsMassK0pt2);
   
-      fHistCosPointAngleK0vsMassK0pt2      = new TH2F("h2CosPointAngleK0vsMassK0pt2", "Cosine of V0's pointing angle", 200,0.997,1.007,200,0.4,0.6);
-      fListHist->Add(fHistCosPointAngleK0vsMassK0pt2);
+    fHistCosPointAngleK0vsMassK0pt2      = new TH2F("h2CosPointAngleK0vsMassK0pt2", "Cosine of V0's pointing angle", 200,0.997,1.007,200,0.4,0.6);
+    fListHist->Add(fHistCosPointAngleK0vsMassK0pt2);
 
-      /// pt3
-      fHistDcaPosToPrimVertexK0vsMassK0pt3 = new TH2F("h2DcaPosToPrimVertexK0vsMassK0pt3", "Positive V0 daughter;dca(cm);K0s inv. mass",500,0,10,200,0.4,0.6);
-      fListHist->Add(fHistDcaPosToPrimVertexK0vsMassK0pt3);
+    /// pt3
+    fHistDcaPosToPrimVertexK0vsMassK0pt3 = new TH2F("h2DcaPosToPrimVertexK0vsMassK0pt3", "Positive V0 daughter;dca(cm);K0s inv. mass",500,0,10,200,0.4,0.6);
+    fListHist->Add(fHistDcaPosToPrimVertexK0vsMassK0pt3);
 
-      fHistDcaNegToPrimVertexK0vsMassK0pt3 = new TH2F("h2DcaNegToPrimVertexK0vsMassK0pt3", "Negative V0 daughter;dca(cm);K0s inv. mass",500,0,10,200,0.4,0.6);
-      fListHist->Add(fHistDcaNegToPrimVertexK0vsMassK0pt3);
+    fHistDcaNegToPrimVertexK0vsMassK0pt3 = new TH2F("h2DcaNegToPrimVertexK0vsMassK0pt3", "Negative V0 daughter;dca(cm);K0s inv. mass",500,0,10,200,0.4,0.6);
+    fListHist->Add(fHistDcaNegToPrimVertexK0vsMassK0pt3);
 
-      fHistRadiusV0K0vsMassK0pt3           = new TH2F("h2RadiusV0K0vsMassK0pt3", "Radius;Radius(cm);K0s inv. mass",110,0,110,200,0.4,0.6);
-      fListHist->Add(fHistRadiusV0K0vsMassK0pt3);
+    fHistRadiusV0K0vsMassK0pt3           = new TH2F("h2RadiusV0K0vsMassK0pt3", "Radius;Radius(cm);K0s inv. mass",110,0,110,200,0.4,0.6);
+    fListHist->Add(fHistRadiusV0K0vsMassK0pt3);
 
-      fHistDecayLengthV0K0vsMassK0pt3      = new TH2F("h2DecayLengthV0K0vsMassK0pt3", "V0s decay Length;decay length(cm);K0s inv. mass", 100, 0, 100,200,0.4,0.6);
-      fListHist->Add(fHistDecayLengthV0K0vsMassK0pt3);
+    fHistDecayLengthV0K0vsMassK0pt3      = new TH2F("h2DecayLengthV0K0vsMassK0pt3", "V0s decay Length;decay length(cm);K0s inv. mass", 100, 0, 100,200,0.4,0.6);
+    fListHist->Add(fHistDecayLengthV0K0vsMassK0pt3);
 
-      fHistDcaV0DaughtersK0vsMassK0pt3     = new TH2F("h2DcaV0DaughtersK0vsMassK0pt3", "DCA between daughters;dca(cm);K0s inv. mass", 110, 0, 1.1,200,0.4,0.6);
-      fListHist->Add(fHistDcaV0DaughtersK0vsMassK0pt3);
-  
-      fHistCosPointAngleK0vsMassK0pt3      = new TH2F("h2CosPointAngleK0vsMassK0pt3", "Cosine of V0's pointing angle", 200,0.997,1.007,200,0.4,0.6);
-      fListHist->Add(fHistCosPointAngleK0vsMassK0pt3);
+    fHistDcaV0DaughtersK0vsMassK0pt3     = new TH2F("h2DcaV0DaughtersK0vsMassK0pt3", "DCA between daughters;dca(cm);K0s inv. mass", 110, 0, 1.1,200,0.4,0.6);
+    fListHist->Add(fHistDcaV0DaughtersK0vsMassK0pt3);
   
+    fHistCosPointAngleK0vsMassK0pt3      = new TH2F("h2CosPointAngleK0vsMassK0pt3", "Cosine of V0's pointing angle", 200,0.997,1.007,200,0.4,0.6);
+    fListHist->Add(fHistCosPointAngleK0vsMassK0pt3);
+  } //end QA condition
   //////////Lambda////////////// 2D histos: cut vs on fly status////
 
   fHistDcaPosToPrimVertexL      = new TH2F("h2DcaPosToPrimVertexL", "Positive V0 daughter;dca(cm);Status",100,0,10,2,-0.5,1.5);
@@ -984,7 +1177,6 @@ fHistMCPtAntiLambda            = new TH1F("h1MCPtAntiLambda", "#AntiLambda^{0};p
   fHistDcaNegToPrimVertexL      = new TH2F("h2DcaNegToPrimVertexL", "Negative V0 daughter;dca(cm);Status",100,0,10,2,-0.5,1.5);
   fListHist->Add(fHistDcaNegToPrimVertexL);
 
-
   fHistRadiusV0L                = new TH2F("h2RadiusV0L", "Radius;Radius(cm);Status",100,0,110,2,-0.5,1.5);
   fListHist->Add(fHistRadiusV0L);
 
@@ -1001,7 +1193,6 @@ fHistMCPtAntiLambda            = new TH1F("h1MCPtAntiLambda", "#AntiLambda^{0};p
   fListHist->Add(fHistCosPointAngleL);
 
   //////////Lambda////////////// 2D histos: cut vs mass////
-
   fHistDcaPosToPrimVertexLvsMassL      = new TH2F("h2DcaPosToPrimVertexLvsMassL", "Positive V0 daughter;dca(cm);Status",100,0,10,140, 1.06, 1.2);
   fListHist->Add(fHistDcaPosToPrimVertexLvsMassL);
 
@@ -1020,64 +1211,71 @@ fHistMCPtAntiLambda            = new TH1F("h1MCPtAntiLambda", "#AntiLambda^{0};p
 
   fHistCosPointAngleLvsMassL           = new TH2F("h2CosPointAngleLvsMassL", "Cosine of V0's pointing angle", 200,0.997,1.007,140, 1.06, 1.2);
   fListHist->Add(fHistCosPointAngleLvsMassL);
+  /*
+    fHistCosPointAngleLvsMassVsPtsigL           = new TH3F("h3McCosPointAngleLvsMassVsPtsigL", "Cosine of V0's pointing angle",3,0,12, 2,00.997,1.007,140, 1.06, 1.2);
+    fListHist->Add(fHistCosPointAngleLvsMassVsPtsigL);
+    fHistCosPointAngleLvsMassVsPtbackL           = new TH3F("h3McCosPointAngleLvsMassVsPtbackL", "Cosine of V0's pointing angle",3,0,12, 20,0.997,1.007,140, 1.06, 1.2);
+    fListHist->Add(fHistCosPointAngleLvsMassVsPtbackL);
+  */
 
+  if(fQASelector){
     //// pt1
-      fHistDcaPosToPrimVertexLambdaVsMasspt1 = new TH2F("h2DcaPosToPrimVertexLambdaVsMasspt1", "Positive V0 daughter;dca(cm);K0s inv. mass",500,0,10,140,1.06,1.2);
-      fListHist->Add(fHistDcaPosToPrimVertexLambdaVsMasspt1);
+    fHistDcaPosToPrimVertexLambdaVsMasspt1 = new TH2F("h2DcaPosToPrimVertexLambdaVsMasspt1", "Positive V0 daughter;dca(cm);K0s inv. mass",500,0,10,140,1.06,1.2);
+    fListHist->Add(fHistDcaPosToPrimVertexLambdaVsMasspt1);
 
-      fHistDcaNegToPrimVertexLambdaVsMasspt1 = new TH2F("h2DcaNegToPrimVertexLambdaVsMasspt1", "Negative V0 daughter;dca(cm);K0s inv. mass",500,0,10,140,1.06,1.2);
-      fListHist->Add(fHistDcaNegToPrimVertexLambdaVsMasspt1);
+    fHistDcaNegToPrimVertexLambdaVsMasspt1 = new TH2F("h2DcaNegToPrimVertexLambdaVsMasspt1", "Negative V0 daughter;dca(cm);K0s inv. mass",500,0,10,140,1.06,1.2);
+    fListHist->Add(fHistDcaNegToPrimVertexLambdaVsMasspt1);
 
-      fHistRadiusV0LambdaVsMasspt1           = new TH2F("h2RadiusV0LambdaVsMasspt1", "Radius;Radius(cm);K0s inv. mass",110,0,110,140,1.06,1.2);
-      fListHist->Add(fHistRadiusV0LambdaVsMasspt1);
+    fHistRadiusV0LambdaVsMasspt1           = new TH2F("h2RadiusV0LambdaVsMasspt1", "Radius;Radius(cm);K0s inv. mass",110,0,110,140,1.06,1.2);
+    fListHist->Add(fHistRadiusV0LambdaVsMasspt1);
 
-      fHistDecayLengthV0LambdaVsMasspt1      = new TH2F("h2DecayLengthV0LambdaVsMasspt1", "V0s decay Length;decay length(cm);K0s inv. mass",100,0,100,140,1.06,1.2);
-      fListHist->Add(fHistDecayLengthV0LambdaVsMasspt1);
+    fHistDecayLengthV0LambdaVsMasspt1      = new TH2F("h2DecayLengthV0LambdaVsMasspt1", "V0s decay Length;decay length(cm);K0s inv. mass",100,0,100,140,1.06,1.2);
+    fListHist->Add(fHistDecayLengthV0LambdaVsMasspt1);
 
-      fHistDcaV0DaughtersLambdaVsMasspt1     = new TH2F("h2DcaV0DaughtersLambdaVsMasspt1", "DCA between daughters;dca(cm);K0s inv. mass", 110, 0, 1.1,140,1.06,1.2);
-      fListHist->Add(fHistDcaV0DaughtersLambdaVsMasspt1);
+    fHistDcaV0DaughtersLambdaVsMasspt1     = new TH2F("h2DcaV0DaughtersLambdaVsMasspt1", "DCA between daughters;dca(cm);K0s inv. mass", 110, 0, 1.1,140,1.06,1.2);
+    fListHist->Add(fHistDcaV0DaughtersLambdaVsMasspt1);
 
-      fHistCosPointAngleLambdaVsMasspt1      = new TH2F("h2CosPointAngleLambdaVsMasspt1", "Cosine of V0's pointing angle", 200,0.997,1.007,140,1.06,1.2);
-      fListHist->Add(fHistCosPointAngleLambdaVsMasspt1);
+    fHistCosPointAngleLambdaVsMasspt1      = new TH2F("h2CosPointAngleLambdaVsMasspt1", "Cosine of V0's pointing angle", 200,0.997,1.007,140,1.06,1.2);
+    fListHist->Add(fHistCosPointAngleLambdaVsMasspt1);
 
-      /// pt2
-      fHistDcaPosToPrimVertexLambdaVsMasspt2 = new TH2F("h2DcaPosToPrimVertexLambdaVsMasspt2", "Positive V0 daughter;dca(cm);K0s inv. mass",500,0,10,140,1.06,1.2);
-      fListHist->Add(fHistDcaPosToPrimVertexLambdaVsMasspt2);
+    /// pt2
+    fHistDcaPosToPrimVertexLambdaVsMasspt2 = new TH2F("h2DcaPosToPrimVertexLambdaVsMasspt2", "Positive V0 daughter;dca(cm);K0s inv. mass",500,0,10,140,1.06,1.2);
+    fListHist->Add(fHistDcaPosToPrimVertexLambdaVsMasspt2);
 
-      fHistDcaNegToPrimVertexLambdaVsMasspt2 = new TH2F("h2DcaNegToPrimVertexLambdaVsMasspt2", "Negative V0 daughter;dca(cm);K0s inv. mass",500,0,10,140,1.06,1.2);
-      fListHist->Add(fHistDcaNegToPrimVertexLambdaVsMasspt2);
+    fHistDcaNegToPrimVertexLambdaVsMasspt2 = new TH2F("h2DcaNegToPrimVertexLambdaVsMasspt2", "Negative V0 daughter;dca(cm);K0s inv. mass",500,0,10,140,1.06,1.2);
+    fListHist->Add(fHistDcaNegToPrimVertexLambdaVsMasspt2);
 
-      fHistRadiusV0LambdaVsMasspt2           = new TH2F("h2RadiusV0LambdaVsMasspt2", "Radius;Radius(cm);K0s inv. mass",110,0,110,140,1.06,1.2);
-      fListHist->Add(fHistRadiusV0LambdaVsMasspt2);
+    fHistRadiusV0LambdaVsMasspt2           = new TH2F("h2RadiusV0LambdaVsMasspt2", "Radius;Radius(cm);K0s inv. mass",110,0,110,140,1.06,1.2);
+    fListHist->Add(fHistRadiusV0LambdaVsMasspt2);
 
-      fHistDecayLengthV0LambdaVsMasspt2      = new TH2F("h2DecayLengthV0LambdaVsMasspt2", "V0s decay Length;decay length(cm);K0s inv. mass", 100, 0, 100,140,1.06,1.2);
-      fListHist->Add(fHistDecayLengthV0LambdaVsMasspt2);
+    fHistDecayLengthV0LambdaVsMasspt2      = new TH2F("h2DecayLengthV0LambdaVsMasspt2", "V0s decay Length;decay length(cm);K0s inv. mass", 100, 0, 100,140,1.06,1.2);
+    fListHist->Add(fHistDecayLengthV0LambdaVsMasspt2);
 
-      fHistDcaV0DaughtersLambdaVsMasspt2     = new TH2F("h2DcaV0DaughtersLambdaVsMasspt2", "DCA between daughters;dca(cm);K0s inv. mass", 110, 0, 1.1,140,1.06,1.2);
-      fListHist->Add(fHistDcaV0DaughtersLambdaVsMasspt2);
+    fHistDcaV0DaughtersLambdaVsMasspt2     = new TH2F("h2DcaV0DaughtersLambdaVsMasspt2", "DCA between daughters;dca(cm);K0s inv. mass", 110, 0, 1.1,140,1.06,1.2);
+    fListHist->Add(fHistDcaV0DaughtersLambdaVsMasspt2);
   
-      fHistCosPointAngleLambdaVsMasspt2      = new TH2F("h2CosPointAngleLambdaVsMasspt2", "Cosine of V0's pointing angle", 200,0.997,1.007,140,1.06,1.2);
-      fListHist->Add(fHistCosPointAngleLambdaVsMasspt2);
+    fHistCosPointAngleLambdaVsMasspt2      = new TH2F("h2CosPointAngleLambdaVsMasspt2", "Cosine of V0's pointing angle", 200,0.997,1.007,140,1.06,1.2);
+    fListHist->Add(fHistCosPointAngleLambdaVsMasspt2);
 
-      /// pt3
-      fHistDcaPosToPrimVertexLambdaVsMasspt3 = new TH2F("h2DcaPosToPrimVertexLambdaVsMasspt3", "Positive V0 daughter;dca(cm);K0s inv. mass",500,0,10,140,1.06,1.2);
-      fListHist->Add(fHistDcaPosToPrimVertexLambdaVsMasspt3);
+    /// pt3
+    fHistDcaPosToPrimVertexLambdaVsMasspt3 = new TH2F("h2DcaPosToPrimVertexLambdaVsMasspt3", "Positive V0 daughter;dca(cm);K0s inv. mass",500,0,10,140,1.06,1.2);
+    fListHist->Add(fHistDcaPosToPrimVertexLambdaVsMasspt3);
 
-      fHistDcaNegToPrimVertexLambdaVsMasspt3 = new TH2F("h2DcaNegToPrimVertexLambdaVsMasspt3", "Negative V0 daughter;dca(cm);K0s inv. mass",500,0,10,140,1.06,1.2);
-      fListHist->Add(fHistDcaNegToPrimVertexLambdaVsMasspt3);
+    fHistDcaNegToPrimVertexLambdaVsMasspt3 = new TH2F("h2DcaNegToPrimVertexLambdaVsMasspt3", "Negative V0 daughter;dca(cm);K0s inv. mass",500,0,10,140,1.06,1.2);
+    fListHist->Add(fHistDcaNegToPrimVertexLambdaVsMasspt3);
 
-      fHistRadiusV0LambdaVsMasspt3           = new TH2F("h2RadiusV0LambdaVsMasspt3", "Radius;Radius(cm);K0s inv. mass",110,0,110,140,1.06,1.2);
-      fListHist->Add(fHistRadiusV0LambdaVsMasspt3);
+    fHistRadiusV0LambdaVsMasspt3           = new TH2F("h2RadiusV0LambdaVsMasspt3", "Radius;Radius(cm);K0s inv. mass",110,0,110,140,1.06,1.2);
+    fListHist->Add(fHistRadiusV0LambdaVsMasspt3);
 
-      fHistDecayLengthV0LambdaVsMasspt3      = new TH2F("h2DecayLengthV0LambdaVsMasspt3", "V0s decay Length;decay length(cm);K0s inv. mass", 100, 0, 100,140,1.06,1.2);
-      fListHist->Add(fHistDecayLengthV0LambdaVsMasspt3);
+    fHistDecayLengthV0LambdaVsMasspt3      = new TH2F("h2DecayLengthV0LambdaVsMasspt3", "V0s decay Length;decay length(cm);K0s inv. mass", 100, 0, 100,140,1.06,1.2);
+    fListHist->Add(fHistDecayLengthV0LambdaVsMasspt3);
 
-      fHistDcaV0DaughtersLambdaVsMasspt3     = new TH2F("h2DcaV0DaughtersLambdaVsMasspt3", "DCA between daughters;dca(cm);K0s inv. mass", 110, 0, 1.1,140,1.06,1.2);
-      fListHist->Add(fHistDcaV0DaughtersLambdaVsMasspt3);
+    fHistDcaV0DaughtersLambdaVsMasspt3     = new TH2F("h2DcaV0DaughtersLambdaVsMasspt3", "DCA between daughters;dca(cm);K0s inv. mass", 110, 0, 1.1,140,1.06,1.2);
+    fListHist->Add(fHistDcaV0DaughtersLambdaVsMasspt3);
   
-      fHistCosPointAngleLambdaVsMasspt3      = new TH2F("h2CosPointAngleLambdaVsMasspt3", "Cosine of V0's pointing angle", 200,0.997,1.007,140,1.06,1.2);
-      fListHist->Add(fHistCosPointAngleLambdaVsMasspt3);
-
+    fHistCosPointAngleLambdaVsMasspt3      = new TH2F("h2CosPointAngleLambdaVsMasspt3", "Cosine of V0's pointing angle", 200,0.997,1.007,140,1.06,1.2);
+    fListHist->Add(fHistCosPointAngleLambdaVsMasspt3);
+  } // end QA condition
   //////////AntiLambda////////////// 2D histos: cut vs on fly status////
 
   fHistDcaPosToPrimVertexAntiL      = new TH2F("h2DcaPosToPrimVertexAntiL", "Positive V0 daughter;dca(cm);Status",100,0,10,2,-0.5,1.5);
@@ -1122,64 +1320,64 @@ fHistMCPtAntiLambda            = new TH1F("h1MCPtAntiLambda", "#AntiLambda^{0};p
 
   fHistCosPointAngleAntiLvsMass           = new TH2F("h2CosPointAngleAntiLvsMass", "Cosine of V0's pointing angle", 200,0.997,1.007,140, 1.06, 1.2);
   fListHist->Add(fHistCosPointAngleAntiLvsMass);
-
+  if(fQASelector){
     //// pt1
-      fHistDcaPosToPrimVertexAntiLVsMasspt1 = new TH2F("h2DcaPosToPrimVertexAntiLVsMasspt1", "Positive V0 daughter;dca(cm);K0s inv. mass",500,0,10,140,1.06,1.2);
-      fListHist->Add(fHistDcaPosToPrimVertexAntiLVsMasspt1);
+    fHistDcaPosToPrimVertexAntiLVsMasspt1 = new TH2F("h2DcaPosToPrimVertexAntiLVsMasspt1", "Positive V0 daughter;dca(cm);K0s inv. mass",500,0,10,140,1.06,1.2);
+    fListHist->Add(fHistDcaPosToPrimVertexAntiLVsMasspt1);
 
-      fHistDcaNegToPrimVertexAntiLVsMasspt1 = new TH2F("h2DcaNegToPrimVertexAntiLVsMasspt1", "Negative V0 daughter;dca(cm);K0s inv. mass",500,0,10,140,1.06,1.2);
-      fListHist->Add(fHistDcaNegToPrimVertexAntiLVsMasspt1);
+    fHistDcaNegToPrimVertexAntiLVsMasspt1 = new TH2F("h2DcaNegToPrimVertexAntiLVsMasspt1", "Negative V0 daughter;dca(cm);K0s inv. mass",500,0,10,140,1.06,1.2);
+    fListHist->Add(fHistDcaNegToPrimVertexAntiLVsMasspt1);
 
-      fHistRadiusV0AntiLVsMasspt1           = new TH2F("h2RadiusV0AntiLVsMasspt1", "Radius;Radius(cm);K0s inv. mass",110,0,110,140,1.06,1.2);
-      fListHist->Add(fHistRadiusV0AntiLVsMasspt1);
+    fHistRadiusV0AntiLVsMasspt1           = new TH2F("h2RadiusV0AntiLVsMasspt1", "Radius;Radius(cm);K0s inv. mass",110,0,110,140,1.06,1.2);
+    fListHist->Add(fHistRadiusV0AntiLVsMasspt1);
 
-      fHistDecayLengthV0AntiLVsMasspt1      = new TH2F("h2DecayLengthV0AntiLVsMasspt1", "V0s decay Length;decay length(cm);K0s inv. mass",100,0,100,140,1.06,1.2);
-      fListHist->Add(fHistDecayLengthV0AntiLVsMasspt1);
+    fHistDecayLengthV0AntiLVsMasspt1      = new TH2F("h2DecayLengthV0AntiLVsMasspt1", "V0s decay Length;decay length(cm);K0s inv. mass",100,0,100,140,1.06,1.2);
+    fListHist->Add(fHistDecayLengthV0AntiLVsMasspt1);
 
-      fHistDcaV0DaughtersAntiLVsMasspt1     = new TH2F("h2DcaV0DaughtersAntiLVsMasspt1", "DCA between daughters;dca(cm);K0s inv. mass", 110, 0, 1.1,140,1.06,1.2);
-      fListHist->Add(fHistDcaV0DaughtersAntiLVsMasspt1);
+    fHistDcaV0DaughtersAntiLVsMasspt1     = new TH2F("h2DcaV0DaughtersAntiLVsMasspt1", "DCA between daughters;dca(cm);K0s inv. mass", 110, 0, 1.1,140,1.06,1.2);
+    fListHist->Add(fHistDcaV0DaughtersAntiLVsMasspt1);
 
-      fHistCosPointAngleAntiLVsMasspt1      = new TH2F("h2CosPointAngleAntiLVsMasspt1", "Cosine of V0's pointing angle", 200,0.997,1.007,140,1.06,1.2);
-      fListHist->Add(fHistCosPointAngleAntiLVsMasspt1);
+    fHistCosPointAngleAntiLVsMasspt1      = new TH2F("h2CosPointAngleAntiLVsMasspt1", "Cosine of V0's pointing angle", 200,0.997,1.007,140,1.06,1.2);
+    fListHist->Add(fHistCosPointAngleAntiLVsMasspt1);
 
-      /// pt2
-      fHistDcaPosToPrimVertexAntiLVsMasspt2 = new TH2F("h2DcaPosToPrimVertexAntiLVsMasspt2", "Positive V0 daughter;dca(cm);K0s inv. mass",500,0,10,140,1.06,1.2);
-      fListHist->Add(fHistDcaPosToPrimVertexAntiLVsMasspt2);
+    /// pt2
+    fHistDcaPosToPrimVertexAntiLVsMasspt2 = new TH2F("h2DcaPosToPrimVertexAntiLVsMasspt2", "Positive V0 daughter;dca(cm);K0s inv. mass",500,0,10,140,1.06,1.2);
+    fListHist->Add(fHistDcaPosToPrimVertexAntiLVsMasspt2);
 
-      fHistDcaNegToPrimVertexAntiLVsMasspt2 = new TH2F("h2DcaNegToPrimVertexAntiLVsMasspt2", "Negative V0 daughter;dca(cm);K0s inv. mass",500,0,10,140,1.06,1.2);
-      fListHist->Add(fHistDcaNegToPrimVertexAntiLVsMasspt2);
+    fHistDcaNegToPrimVertexAntiLVsMasspt2 = new TH2F("h2DcaNegToPrimVertexAntiLVsMasspt2", "Negative V0 daughter;dca(cm);K0s inv. mass",500,0,10,140,1.06,1.2);
+    fListHist->Add(fHistDcaNegToPrimVertexAntiLVsMasspt2);
 
-      fHistRadiusV0AntiLVsMasspt2           = new TH2F("h2RadiusV0AntiLVsMasspt2", "Radius;Radius(cm);K0s inv. mass",110,0,110,140,1.06,1.2);
-      fListHist->Add(fHistRadiusV0AntiLVsMasspt2);
+    fHistRadiusV0AntiLVsMasspt2           = new TH2F("h2RadiusV0AntiLVsMasspt2", "Radius;Radius(cm);K0s inv. mass",110,0,110,140,1.06,1.2);
+    fListHist->Add(fHistRadiusV0AntiLVsMasspt2);
 
-      fHistDecayLengthV0AntiLVsMasspt2      = new TH2F("h2DecayLengthV0AntiLVsMasspt2", "V0s decay Length;decay length(cm);K0s inv. mass", 100, 0, 100,140,1.06,1.2);
-      fListHist->Add(fHistDecayLengthV0AntiLVsMasspt2);
+    fHistDecayLengthV0AntiLVsMasspt2      = new TH2F("h2DecayLengthV0AntiLVsMasspt2", "V0s decay Length;decay length(cm);K0s inv. mass", 100, 0, 100,140,1.06,1.2);
+    fListHist->Add(fHistDecayLengthV0AntiLVsMasspt2);
 
-      fHistDcaV0DaughtersAntiLVsMasspt2     = new TH2F("h2DcaV0DaughtersAntiLVsMasspt2", "DCA between daughters;dca(cm);K0s inv. mass", 110, 0, 1.1,140,1.06,1.2);
-      fListHist->Add(fHistDcaV0DaughtersAntiLVsMasspt2);
+    fHistDcaV0DaughtersAntiLVsMasspt2     = new TH2F("h2DcaV0DaughtersAntiLVsMasspt2", "DCA between daughters;dca(cm);K0s inv. mass", 110, 0, 1.1,140,1.06,1.2);
+    fListHist->Add(fHistDcaV0DaughtersAntiLVsMasspt2);
   
-      fHistCosPointAngleAntiLVsMasspt2      = new TH2F("h2CosPointAngleAntiLVsMasspt2", "Cosine of V0's pointing angle", 200,0.997,1.007,140,1.06,1.2);
-      fListHist->Add(fHistCosPointAngleAntiLVsMasspt2);
+    fHistCosPointAngleAntiLVsMasspt2      = new TH2F("h2CosPointAngleAntiLVsMasspt2", "Cosine of V0's pointing angle", 200,0.997,1.007,140,1.06,1.2);
+    fListHist->Add(fHistCosPointAngleAntiLVsMasspt2);
 
-      /// pt3
-      fHistDcaPosToPrimVertexAntiLVsMasspt3 = new TH2F("h2DcaPosToPrimVertexAntiLVsMasspt3", "Positive V0 daughter;dca(cm);K0s inv. mass",500,0,10,140,1.06,1.2);
-      fListHist->Add(fHistDcaPosToPrimVertexAntiLVsMasspt3);
+    /// pt3
+    fHistDcaPosToPrimVertexAntiLVsMasspt3 = new TH2F("h2DcaPosToPrimVertexAntiLVsMasspt3", "Positive V0 daughter;dca(cm);K0s inv. mass",500,0,10,140,1.06,1.2);
+    fListHist->Add(fHistDcaPosToPrimVertexAntiLVsMasspt3);
 
-      fHistDcaNegToPrimVertexAntiLVsMasspt3 = new TH2F("h2DcaNegToPrimVertexAntiLVsMasspt3", "Negative V0 daughter;dca(cm);K0s inv. mass",500,0,10,140,1.06,1.2);
-      fListHist->Add(fHistDcaNegToPrimVertexAntiLVsMasspt3);
+    fHistDcaNegToPrimVertexAntiLVsMasspt3 = new TH2F("h2DcaNegToPrimVertexAntiLVsMasspt3", "Negative V0 daughter;dca(cm);K0s inv. mass",500,0,10,140,1.06,1.2);
+    fListHist->Add(fHistDcaNegToPrimVertexAntiLVsMasspt3);
 
-      fHistRadiusV0AntiLVsMasspt3           = new TH2F("h2RadiusV0AntiLVsMasspt3", "Radius;Radius(cm);K0s inv. mass",110,0,110,140,1.06,1.2);
-      fListHist->Add(fHistRadiusV0AntiLVsMasspt3);
+    fHistRadiusV0AntiLVsMasspt3           = new TH2F("h2RadiusV0AntiLVsMasspt3", "Radius;Radius(cm);K0s inv. mass",110,0,110,140,1.06,1.2);
+    fListHist->Add(fHistRadiusV0AntiLVsMasspt3);
 
-      fHistDecayLengthV0AntiLVsMasspt3      = new TH2F("h2DecayLengthV0AntiLVsMasspt3", "V0s decay Length;decay length(cm);K0s inv. mass", 100, 0, 100,140,1.06,1.2);
-      fListHist->Add(fHistDecayLengthV0AntiLVsMasspt3);
+    fHistDecayLengthV0AntiLVsMasspt3      = new TH2F("h2DecayLengthV0AntiLVsMasspt3", "V0s decay Length;decay length(cm);K0s inv. mass", 100, 0, 100,140,1.06,1.2);
+    fListHist->Add(fHistDecayLengthV0AntiLVsMasspt3);
 
-      fHistDcaV0DaughtersAntiLVsMasspt3     = new TH2F("h2DcaV0DaughtersAntiLVsMasspt3", "DCA between daughters;dca(cm);K0s inv. mass", 110, 0, 1.1,140,1.06,1.2);
-      fListHist->Add(fHistDcaV0DaughtersAntiLVsMasspt3);
+    fHistDcaV0DaughtersAntiLVsMasspt3     = new TH2F("h2DcaV0DaughtersAntiLVsMasspt3", "DCA between daughters;dca(cm);K0s inv. mass", 110, 0, 1.1,140,1.06,1.2);
+    fListHist->Add(fHistDcaV0DaughtersAntiLVsMasspt3);
   
-      fHistCosPointAngleAntiLVsMasspt3      = new TH2F("h2CosPointAngleAntiLVsMasspt3", "Cosine of V0's pointing angle", 200,0.997,1.007,140,1.06,1.2);
-      fListHist->Add(fHistCosPointAngleAntiLVsMasspt3);
-
+    fHistCosPointAngleAntiLVsMasspt3      = new TH2F("h2CosPointAngleAntiLVsMasspt3", "Cosine of V0's pointing angle", 200,0.997,1.007,140,1.06,1.2);
+    fListHist->Add(fHistCosPointAngleAntiLVsMasspt3);
+  } //end QA condition for AntiLambda
 
   // V0 Multiplicity
   if (!fHistV0Multiplicity) {
@@ -1220,7 +1418,7 @@ fHistMCPtAntiLambda            = new TH1F("h1MCPtAntiLambda", "#AntiLambda^{0};p
 
 
   // Pt Vs Mass
-  fHistPtVsMassK0               = new TH2F("h2PtVsMassK0","K^{0} candidates;M(#pi^{+}#pi^{-}) (GeV/c^{2});p_{t} (GeV/c)",400, 0.4, 0.6,480,0,12);
+  fHistPtVsMassK0               = new TH2F("h2PtVsMassK0","K^{0} candidates;M(#pi^{+}#pi^{-}) (GeV/c^{2});p_{t} (GeV/c)",400, 0.4, 0.6,240,0,12);
   fListHist->Add(fHistPtVsMassK0);
 
   fHistPtVsMassLambda           = new TH2F("h2PtVsMassLambda","#Lambda^{0} candidates;M(p#pi^{-}) (GeV/c^{2});p_{t} (GeV/c)",280, 1.06, 1.2,240,0,12);
@@ -1228,6 +1426,30 @@ fHistMCPtAntiLambda            = new TH1F("h1MCPtAntiLambda", "#AntiLambda^{0};p
   
   fHistPtVsMassAntiLambda           = new TH2F("h2PtVsMassAntiLambda","#AntiLambda^{0} candidates;M(p#pi^{-}) (GeV/c^{2});p_{t} (GeV/c)",280, 1.06, 1.2,240,0,12);
   fListHist->Add(fHistPtVsMassAntiLambda);
+
+
+  ////////// Transverse CTau distributions Vs Mass ////////////////
+  fHistTranscTauVsMassL                    = new TH2F("h2TranscTauVsMassL","cTauVsMass Lambdas",100,0,100,280, 1.06, 1.2);
+  fListHist->Add(fHistTranscTauVsMassL);
+
+  fHistTranscTauVsMassAntiL                    = new TH2F("h2TranscTauVsMassAntiL","cTauVsMass AntiLambdas",100,0,100,280, 1.06, 1.2);
+  fListHist->Add(fHistTranscTauVsMassAntiL);
+
+  fHistTranscTauVsMassK0s                    = new TH2F("h2TranscTauVsMassK0s","Transverse K0s cTau vs Mass ",100,0,100,400, 0.4, 0.6);
+  fListHist->Add(fHistTranscTauVsMassK0s);
+
+
+  // Pt Vs Mass Rap3
+  fHistPtVsMassK0Rap3               = new TH2F("h2PtVsMassK0Rap3","K^{0} candidates;M(#pi^{+}#pi^{-}) (GeV/c^{2});p_{t} (GeV/c)",400, 0.4, 0.6,240,0,12);
+  fListHist->Add(fHistPtVsMassK0Rap3);
+
+  fHistPtVsMassLambdaRap3           = new TH2F("h2PtVsMassLambdaRap3","#Lambda^{0} candidates;M(p#pi^{-}) (GeV/c^{2});p_{t} (GeV/c)",280, 1.06, 1.2,240,0,12);
+  fListHist->Add(fHistPtVsMassLambdaRap3);
+  
+  fHistPtVsMassAntiLambdaRap3           = new TH2F("h2PtVsMassAntiLambdaRap3","#AntiLambda^{0} candidates;M(p#pi^{-}) (GeV/c^{2});p_{t} (GeV/c)",280, 1.06, 1.2,240,0,12);
+  fListHist->Add(fHistPtVsMassAntiLambdaRap3);
   
   ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
@@ -1240,8 +1462,14 @@ fHistMCPtAntiLambda            = new TH1F("h1MCPtAntiLambda", "#AntiLambda^{0};p
   fListHist->Add(fHistK0sMassVsLambdaMass);
 
   //dE/dx vs P daughters
-  fHistTPCsignalPt                            = new TH2F("h2TPCsignalVsPdaughters","TPC signal Vs p_{t} daughters;  p (GeV/c);TPC signal",1000,0,2,1000,0,1000);
-  fListHist->Add(fHistTPCsignalPt);
+  fHistTPCsigPLambda                            = new TH2F("h2TPCsignalVsPLambda","TPC signal Vs p_{t} daughters;  p (GeV/c);TPC signal",1000,0,2,1000,0,1000);
+  fListHist->Add(fHistTPCsigPLambda);
+
+
+  fHistTPCsigPAntiLambda                            = new TH2F("h2TPCsignalVsPAntiLambda","TPC signal Vs p_{t} daughters;  p (GeV/c);TPC signal",1000,0,2,1000,0,1000);
+  fListHist->Add(fHistTPCsigPAntiLambda);
+
   fHistNSigmaProton                          =new TH1F("h1NSigmaProton","Number of sigmas for proton;;Count",600,0,6);
   fListHist->Add(fHistNSigmaProton);
 
@@ -1293,7 +1521,7 @@ fHistMCPtAntiLambda            = new TH1F("h1MCPtAntiLambda", "#AntiLambda^{0};p
   fHistAsMcPtLambda            = new TH1F("h1AsMcPtLambda", "#Lambda^{0} associated;p_{t} (GeV/c);Counts", 240,0,12);
   fListHist->Add(fHistAsMcPtLambda);
 
- fHistAsMcPtAntiLambda            = new TH1F("h1AsMcPtAntiLambda", "#AntiLambda^{0} associated;p_{t} (GeV/c);Counts", 240,0,12);
+  fHistAsMcPtAntiLambda            = new TH1F("h1AsMcPtAntiLambda", "#AntiLambda^{0} associated;p_{t} (GeV/c);Counts", 240,0,12);
   fListHist->Add(fHistAsMcPtAntiLambda);
 
 
@@ -1303,9 +1531,29 @@ fHistMCPtAntiLambda            = new TH1F("h1MCPtAntiLambda", "#AntiLambda^{0};p
   fHistAsMcPtZoomLambda        = new TH1F("h1AsMcPtZoomLambda", "#Lambda^{0} candidates in -1 <y<1;p_{t} (GeV/c);Counts",20,0,1);
   fListHist->Add(fHistAsMcPtZoomLambda);
 
- fHistAsMcPtZoomAntiLambda        = new TH1F("h1AsMcPtZoomAntiLambda", "#AntiLambda^{0} candidates in -1 <y<1;p_{t} (GeV/c);Counts",20,0,1);
+  fHistAsMcPtZoomAntiLambda        = new TH1F("h1AsMcPtZoomAntiLambda", "#AntiLambda^{0} candidates in -1 <y<1;p_{t} (GeV/c);Counts",20,0,1);
   fListHist->Add(fHistAsMcPtZoomAntiLambda);
 
+  //Pt distribution Rap3
+  fHistAsMcPtK0Rap3                = new TH1F("h1AsMcPtK0Rap3", "K^{0} associated;p_{t} (GeV/c);Counts", 240,0,12);
+  fListHist->Add(fHistAsMcPtK0Rap3);
+
+  fHistAsMcPtLambdaRap3            = new TH1F("h1AsMcPtLambdaRap3", "#Lambda^{0} associated;p_{t} (GeV/c);Counts", 240,0,12);
+  fListHist->Add(fHistAsMcPtLambdaRap3);
+
+  fHistAsMcPtAntiLambdaRap3            = new TH1F("h1AsMcPtAntiLambdaRap3", "#AntiLambda^{0} associated;p_{t} (GeV/c);Counts", 240,0,12);
+  fListHist->Add(fHistAsMcPtAntiLambdaRap3);
+
+  //cTaud istribution
+  fHistAsMcTranscTauL                    = new TH1F("h1AsMcTranscTauL","cTau of AntiLambdas",100,0,100);
+  fListHist->Add(fHistAsMcTranscTauL);
+  fHistAsMcTranscTauAntiL                    = new TH1F("h1AsMcTranscTauAntiL","cTau of AntiLambdas",100,0,100);
+  fListHist->Add(fHistAsMcTranscTauAntiL);
+  fHistAsMcTranscTauK0s                    = new TH1F("h1AsMcTranscTauK0s","cTau of K0s",100,0,100);
+  fListHist->Add(fHistAsMcTranscTauK0s);
+
+
+
   // Radius distribution
   fHistAsMcProdRadiusK0               = new TH1F("h1AsMcProdRadiusK0", "K^{0} associated;r (cm);Counts", 500, 0, 100);
   fListHist->Add(fHistAsMcProdRadiusK0);
@@ -1334,7 +1582,7 @@ fHistMCPtAntiLambda            = new TH1F("h1MCPtAntiLambda", "#AntiLambda^{0};p
   
   fHistPidMcMassAntiLambda     = new TH1F("h1PidMcMassAntiLambda", "#bar{#Lambda}^{0} MC PId checked;M(#bar{p}#pi^{+}) (GeV/c^{2});Counts", 75, 1.05, 1.2);
   fListHist->Add(fHistPidMcMassAntiLambda);
-
   fHistAsMcMassK0              = new TH1F("h1AsMcMassK0", "K^{0} associated;M(#pi^{+}#pi^{-}) (GeV/c^{2});Counts", 100, 0.4, 0.6);
   fListHist->Add(fHistAsMcMassK0);
   
@@ -1344,6 +1592,19 @@ fHistMCPtAntiLambda            = new TH1F("h1MCPtAntiLambda", "#AntiLambda^{0};p
   fHistAsMcMassAntiLambda      = new TH1F("h1AsMcMassAntiLambda", "#bar{#Lambda}^{0} associated;M(#bar{p}#pi^{+}) (GeV/c^{2});Counts", 75, 1.05, 1.2);
   fListHist->Add(fHistAsMcMassAntiLambda);
 
+
+  //Mass Rap3
+  fHistAsMcMassK0Rap3              = new TH1F("h1AsMcMassK0Rap3", "K^{0} associated;M(#pi^{+}#pi^{-}) (GeV/c^{2});Counts", 100, 0.4, 0.6);
+  fListHist->Add(fHistAsMcMassK0Rap3);
+  
+  fHistAsMcMassLambdaRap3          = new TH1F("h1AsMcMassLambdaRap3", "#Lambda^{0} associated;M(p#pi^{-}) (GeV/c^{2});Counts", 75, 1.05, 1.2);
+  fListHist->Add(fHistAsMcMassLambdaRap3);
+
+  fHistAsMcMassAntiLambdaRap3      = new TH1F("h1AsMcMassAntiLambdaRap3", "#bar{#Lambda}^{0} associated;M(#bar{p}#pi^{+}) (GeV/c^{2});Counts", 75, 1.05, 1.2);
+  fListHist->Add(fHistAsMcMassAntiLambdaRap3);
+
+
+
   //Pt versus Mass
   fHistAsMcPtVsMassK0               = new TH2F("h2AsMcPtVsMassK0","K^{0} associated;M(#pi^{+}#pi^{-}) (GeV/c^{2});p_{t} (GeV/c)",200, 0.4, 0.6,240,0,12);
   fListHist->Add(fHistAsMcPtVsMassK0);
@@ -1355,6 +1616,20 @@ fHistMCPtAntiLambda            = new TH1F("h1MCPtAntiLambda", "#AntiLambda^{0};p
   fListHist->Add(fHistAsMcPtVsMassAntiLambda);
 
 
+  //Pt versus Mass Rap3
+  fHistAsMcPtVsMassK0Rap3               = new TH2F("h2AsMcPtVsMassK0Rap3","K^{0} associated;M(#pi^{+}#pi^{-}) (GeV/c^{2});p_{t} (GeV/c)",200, 0.4, 0.6,240,0,12);
+  fListHist->Add(fHistAsMcPtVsMassK0Rap3);
+
+  fHistAsMcPtVsMassLambdaRap3           = new TH2F("h2AsMcPtVsMassLambdaRap3","#Lambda^{0} associated;M(p#pi^{-}) (GeV/c^{2});p_{t} (GeV/c)",140, 1.06, 1.2,240,0,12);
+  fListHist->Add(fHistAsMcPtVsMassLambdaRap3);
+
+  fHistAsMcPtVsMassAntiLambdaRap3       = new TH2F("h2AsMcPtVsMassAntiLambdaRap3","#bar{#Lambda}^{0} associated;M(#bar{p}#pi^{+}) (GeV/c^{2});p_{t} (GeV/c)",140, 1.06, 1.2,240,0,12);
+  fListHist->Add(fHistAsMcPtVsMassAntiLambdaRap3);
+
+
+
+
+
   // invariant mass vs radius
   //fHistAsMcMassVsRadiusK0             = new TH2F("h2AsMcMassVsRadiusK0", "K^{0} associated;radius (cm);M(#pi^{+}#pi^{-}) (GeV/c^{2})",lNbinRadius,radius, 500, 0.47, 0.52);
   fHistAsMcMassVsRadiusK0             = new TH2F("h2AsMcMassVsRadiusK0", "K^{0} associated;radius (cm);M(#pi^{+}#pi^{-}) (GeV/c^{2})",200,0,200, 500, 0.47, 0.52);
@@ -1515,45 +1790,61 @@ void AliAnalysisTaskPerformanceStrange::UserExec(Option_t *)
     return;
   }
 
-  // FIXME: levent not used. Can I remove it?
   AliVEvent* lEvent = InputEvent();
-
+  
   if (!lEvent) {
     Printf("ERROR: Event not available");
     return;
   }
+
+  ///////
   // PID
-        if (fUsePID.Contains("withPID")) {
-  AliAnalysisManager *man=AliAnalysisManager::GetAnalysisManager();
-  AliInputEventHandler* inputHandler = (AliInputEventHandler*) (man->GetInputEventHandler());
-  fPIDResponse = inputHandler->GetPIDResponse();
-       }
+  ///////
 
+  if (fUsePID.Contains("withPID")) {
+    AliAnalysisManager *man=AliAnalysisManager::GetAnalysisManager();
+    AliInputEventHandler* inputHandler = (AliInputEventHandler*) (man->GetInputEventHandler());
+    fPIDResponse = inputHandler->GetPIDResponse();
+  }
+
+  fHistNumberEvents->Fill(0.5);
 
   //******************
   // Trigger Selection ! Warning Works only for ESD, add protection in case of AOD loop
   //******************
 
-  Bool_t isSelected =
-    (((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected()
-     & AliVEvent::kMB);
+  Bool_t isSelected = (((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected()& AliVEvent::kMB);
   if (!isSelected) return;
 
+  fHistNumberEvents->Fill(1.5);  
+
+
   // Centrality selection
-  static AliESDtrackCuts * trackCuts = AliESDtrackCuts::GetStandardITSTPCTrackCuts2010(kTRUE,1); // FIXME: make it a data member
-  //   printf("%x, %x", fCentrSelector, trackCuts);
+
+  static AliESDtrackCuts * trackCuts = AliESDtrackCuts::GetStandardITSTPCTrackCuts2010(kTRUE,1); 
   Bool_t isCentralitySelected = fCentrSelector->IsCentralityBinSelected(fESD,trackCuts);
   if(!isCentralitySelected) return;
-  // FIXME: add to hist number events another entry for centrality.
-
+  
   // Done by the AliPhysicsSelection Task ! Only the selected events are passed to this task
-
-
-  fHistNumberEvents->Fill(1.5);  // FIXME: use enum here
-
-  //*************************
-  //End track multiplicity
-  //*************************
+  
+  AliESDtrackCuts *TestTrackCuts = new AliESDtrackCuts();
+  TestTrackCuts->SetRequireTPCRefit(kTRUE);
+  TestTrackCuts->SetRequireITSRefit(kFALSE);
+  // mytracksCuts->SetMinNClustersTPC(nbMinTPCclusters);                                                                      
+  TestTrackCuts->SetMinNCrossedRowsTPC(70);
+  TestTrackCuts->SetMinRatioCrossedRowsOverFindableClustersTPC(0.8);
+
+  AliESDtrack *track = 0x0;
+  Double_t trackP[3] = {0,0,0};
+  for (int i = 0; i<fESD->GetNumberOfTracks();i++){
+    track = fESD->GetTrack(i);
+    track->GetInnerPxPyPz(trackP);
+    TestTrackCuts->SetRequireITSRefit(kFALSE);
+    if(TestTrackCuts->IsSelected(track)) fHistPtTracks->Fill(trackP[2]);
+    TestTrackCuts->SetRequireITSRefit(kTRUE);
+    if(TestTrackCuts->IsSelected(track)) fHistPtTracksITSRefit->Fill(trackP[2]);
+  }
+  
 
   // Remove Events with no tracks
   //if (!(fESD->GetNumberOfTracks()))  return;
@@ -1568,6 +1859,10 @@ void AliAnalysisTaskPerformanceStrange::UserExec(Option_t *)
   // Cut Rapidity:
   Double_t lCutRap  = 0.5;
 
+  // cut Pseudorapidity:
+
+  Double_t lCutPseudorap = 0.8;
+
   // Cut AliKF Chi2 for Reconstructed particles
   //  Double_t cutChi2KF  = 1E3;
 
@@ -1582,11 +1877,15 @@ void AliAnalysisTaskPerformanceStrange::UserExec(Option_t *)
 
 
   // Cut Daughters pt (GeV/c):
-  Double_t cutMinPtDaughter = 0.160;
+  //Double_t cutMinPtDaughter = 0.160;
 
   // Cut primary vertex:
   Double_t cutPrimVertex = 10.0;
 
+  // cut ctau
+  Double_t cutcTauL = 3*7.89;
+  Double_t cutcTauK0s = 3*2.68;
+
   // Min number of TPC clusters:
   // Int_t nbMinTPCclusters = 80;
 
@@ -1597,9 +1896,9 @@ void AliAnalysisTaskPerformanceStrange::UserExec(Option_t *)
   Int_t AntiLambdaPID = 0;
       
 
-  //
-  //  // Access MC:
-  //
+  //////******************************************
+  ////// Access MC: ******************************
+  //////******************************************
 
   if (fAnalysisMC) {
     if(fAnalysisType == "ESD") {
@@ -1622,7 +1921,8 @@ void AliAnalysisTaskPerformanceStrange::UserExec(Option_t *)
       AliGenEventHeader* mcHeader=mcEvent->GenEventHeader();
       if(!mcHeader) return;
       mcHeader->PrimaryVertex(mcPrimaryVtx);
-      
+
+      if (TMath::Abs(mcPrimaryVtx.At(2)) > cutPrimVertex) return;  /// cut on z of prim. vertex !!!!!!      
     }
     
     /*
@@ -1640,7 +1940,7 @@ void AliAnalysisTaskPerformanceStrange::UserExec(Option_t *)
   // MC loop
   //**********************************************
 
-  Double_t lmcPrimVtxR      = 0;
+  //  Double_t lmcPrimVtxR      = 0;
 
   Int_t lNbMCPrimary        = 0;
   Int_t lNbMCPart           = 0;
@@ -1664,7 +1964,7 @@ void AliAnalysisTaskPerformanceStrange::UserExec(Option_t *)
   //  Bool_t lCurrentMotherIsPrimary;
 
   // current mc particles 's daughter:
-  Int_t lPdgCurrentDaughter0 = 0, lPdgCurrentDaughter1 = 0; 
+  //  Int_t lPdgCurrentDaughter0 = 0, lPdgCurrentDaughter1 = 0; 
 
   // variables for multiple reconstruction studies:
   Int_t id0           = 0, id1          = 0;
@@ -1674,8 +1974,10 @@ void AliAnalysisTaskPerformanceStrange::UserExec(Option_t *)
   Int_t lNtimesReconstructedK0s   = 0, lNtimesReconstructedLambda   = 0, lNtimesReconstructedAntiLambda   = 0;
   // Int_t lNtimesReconstructedK0sMI = 0, lNtimesReconstructedLambdaMI = 0, lNtimesReconstructedAntiLambdaMI = 0;
 
-  //****************************
-  // Start loop over MC particles
+  ////********************************
+  ////Start loop over MC particles****
+  ////********************************
+
   if (fAnalysisMC) {
 
     // Primary vertex
@@ -1683,7 +1985,7 @@ void AliAnalysisTaskPerformanceStrange::UserExec(Option_t *)
     fHistMCPrimaryVertexY->Fill(mcPrimaryVtx.At(1));
     fHistMCPrimaryVertexZ->Fill(mcPrimaryVtx.At(2));
     
-    lmcPrimVtxR = TMath::Sqrt(mcPrimaryVtx.At(0)*mcPrimaryVtx.At(0)+mcPrimaryVtx.At(1)*mcPrimaryVtx.At(1));
+    //    lmcPrimVtxR = TMath::Sqrt(mcPrimaryVtx.At(0)*mcPrimaryVtx.At(0)+mcPrimaryVtx.At(1)*mcPrimaryVtx.At(1));
   
 
     if(fAnalysisType == "ESD") {
@@ -1725,9 +2027,9 @@ void AliAnalysisTaskPerformanceStrange::UserExec(Option_t *)
        // Decay Radius and Production Radius
        if ( id0 <= lNbMCPart && id0 > 0 && id1 <= lNbMCPart && id1 > 0) {
          TParticle *pDaughter0 = stack->Particle(id0);
-         TParticle *pDaughter1 = stack->Particle(id1);
-         lPdgCurrentDaughter0 = pDaughter0->GetPdgCode();
-         lPdgCurrentDaughter1 = pDaughter1->GetPdgCode();
+         //      TParticle *pDaughter1 = stack->Particle(id1);
+         //      lPdgCurrentDaughter0 = pDaughter0->GetPdgCode();
+         //      lPdgCurrentDaughter1 = pDaughter1->GetPdgCode();
          
          mcDecayPosX = pDaughter0->Vx();
          mcDecayPosY = pDaughter0->Vy();
@@ -1741,16 +2043,25 @@ void AliAnalysisTaskPerformanceStrange::UserExec(Option_t *)
        if (lPdgcodeCurrentPart==310)   {
          fHistMCtracksProdRadiusK0s->Fill(mcPosX,mcPosY);
          fHistMCtracksDecayRadiusK0s->Fill(mcDecayPosR);
+
+         if (TMath::Abs(lRapCurrentPart) < 0.3) fHistMCPtAllK0sRap3->Fill(lPtCurrentPart);
+
          if (TMath::Abs(lRapCurrentPart) < lCutRap) fHistMCPtAllK0s->Fill(lPtCurrentPart);
        }
        else if (lPdgcodeCurrentPart==3122)  {
          fHistMCtracksProdRadiusLambda->Fill(mcPosX,mcPosY);
          fHistMCtracksDecayRadiusLambda->Fill(mcDecayPosR);
+
+         if (TMath::Abs(lRapCurrentPart) < 0.3) fHistMCPtAllLambdaRap3->Fill(lPtCurrentPart);
+
          if (TMath::Abs(lRapCurrentPart) < lCutRap) fHistMCPtAllLambda->Fill(lPtCurrentPart);
        }
        else if (lPdgcodeCurrentPart==-3122) {
          fHistMCtracksProdRadiusAntiLambda->Fill(mcPosX,mcPosY);
          fHistMCtracksDecayRadiusAntiLambda->Fill(mcDecayPosR);
+
+         if (TMath::Abs(lRapCurrentPart) < 0.3) fHistMCPtAllAntiLambdaRap3->Fill(lPtCurrentPart);
+
          if (TMath::Abs(lRapCurrentPart) < lCutRap) fHistMCPtAllAntiLambda->Fill(lPtCurrentPart);
        }
        
@@ -1764,9 +2075,27 @@ void AliAnalysisTaskPerformanceStrange::UserExec(Option_t *)
        
        //*********************************************
        // Now keep only primary particles   
-       if ( ( iMc > lNbMCPrimary ) && (!lComeFromSigma) ) continue;
+       // if ( ( iMc > lNbMCPrimary ) && (!lComeFromSigma) ) continue;
+
+       //*************************************//
+        // new definition of primary particles //
+        //*************************************//
+
+       Double_t dx = 0;
+       Double_t dy = 0;
+       Double_t dz = 0;
+       Double_t ProdDistance = 0;
+
+
+       dx = ( (mcPrimaryVtx.At(0)) - (p0->Vx()) ); 
+       dy = ( (mcPrimaryVtx.At(1)) - (p0->Vy()) );
+       dz = ( (mcPrimaryVtx.At(2)) - (p0->Vz()) );
+
+       ProdDistance = TMath::Sqrt(dx*dx + dy*dy + dz*dz);
+
+       if (ProdDistance > 0.001) continue; // secondary V0
+
 
-       //********************************************
      
        lNtimesReconstructedK0s   = 0; lNtimesReconstructedLambda   = 0; lNtimesReconstructedAntiLambda   = 0;
 
@@ -1807,9 +2136,10 @@ void AliAnalysisTaskPerformanceStrange::UserExec(Option_t *)
  
        if (lPdgcodeCurrentPart==310) {
          fHistMCProdRadiusK0s->Fill(mcPosR);
-
+         fHistMCPrimDecayRadiusK0s->Fill(mcDecayPosR);
          fHistMCPtK0s->Fill(lPtCurrentPart);
 
+         if (TMath::Abs(lRapCurrentPart) < 0.3) fHistMCPtK0sRap3->Fill(lPtCurrentPart);
 
 
          fHistNTimesRecK0s->Fill(lNtimesReconstructedK0s);
@@ -1818,9 +2148,10 @@ void AliAnalysisTaskPerformanceStrange::UserExec(Option_t *)
        else 
          if (lPdgcodeCurrentPart==3122) {
            fHistMCProdRadiusLambda->Fill(mcPosR);
-
+           fHistMCPrimDecayRadiusLambda->Fill(mcDecayPosR);
            fHistMCPtLambda->Fill(lPtCurrentPart);        
 
+           if (TMath::Abs(lRapCurrentPart) < 0.3) fHistMCPtLambdaRap3->Fill(lPtCurrentPart);
 
            fHistNTimesRecLambda->Fill(lNtimesReconstructedLambda);
            fHistNTimesRecLambdaVsPt->Fill(lPtCurrentPart,lNtimesReconstructedLambda);
@@ -1830,21 +2161,24 @@ void AliAnalysisTaskPerformanceStrange::UserExec(Option_t *)
            //printf("found Lambda MC Plabel=%d PPDGcode=%d Nlabel=%d NPDGcode=%d\n\n",id0,lPdgCurrentDaughter0,id1,lPdgCurrentDaughter1); 
          
          }
-       else 
-         if (lPdgcodeCurrentPart==-3122) {
-           fHistMCProdRadiusAntiLambda->Fill(mcPosR);
+         else 
+           if (lPdgcodeCurrentPart==-3122) {
+             fHistMCProdRadiusAntiLambda->Fill(mcPosR);
+             fHistMCPrimDecayRadiusAntiLambda->Fill(mcDecayPosR);
 
-           fHistMCPtAntiLambda->Fill(lPtCurrentPart);    
+             fHistMCPtAntiLambda->Fill(lPtCurrentPart);          
 
+             if (TMath::Abs(lRapCurrentPart) < 0.3) fHistMCPtAntiLambdaRap3->Fill(lPtCurrentPart);
 
-           fHistNTimesRecAntiLambda->Fill(lNtimesReconstructedAntiLambda);
-           fHistNTimesRecAntiLambdaVsPt->Fill(lPtCurrentPart,lNtimesReconstructedAntiLambda);
-           if (lComeFromSigma) fHistMCPtAntiLambdaFromSigma->Fill(lPtCurrentPart);
 
-           //printf("found Lambda MC pT=%e\n",lPtCurrentPart);
-           //printf("found Lambda MC Plabel=%d PPDGcode=%d Nlabel=%d NPDGcode=%d\n\n",id0,lPdgCurrentDaughter0,id1,lPdgCurrentDaughter1); 
+             fHistNTimesRecAntiLambda->Fill(lNtimesReconstructedAntiLambda);
+             fHistNTimesRecAntiLambdaVsPt->Fill(lPtCurrentPart,lNtimesReconstructedAntiLambda);
+             if (lComeFromSigma) fHistMCPtAntiLambdaFromSigma->Fill(lPtCurrentPart);
+
+             //printf("found Lambda MC pT=%e\n",lPtCurrentPart);
+             //printf("found Lambda MC Plabel=%d PPDGcode=%d Nlabel=%d NPDGcode=%d\n\n",id0,lPdgCurrentDaughter0,id1,lPdgCurrentDaughter1); 
          
-         }
+           }
 
        
       } // end loop ESD MC
@@ -1862,6 +2196,10 @@ void AliAnalysisTaskPerformanceStrange::UserExec(Option_t *)
   // ESD loop 
   //************************************
 
+  //  Double_t  lLambdaMass = 1.115683;  //PDG
+  Double_t lPLambda = 0;
+  // Double_t lPAntiLambda = 0;
+  //Double_t lPK0s = 0;
   Double_t lMagneticField = 999;
 
   //Multiplcity:
@@ -1876,9 +2214,12 @@ void AliAnalysisTaskPerformanceStrange::UserExec(Option_t *)
   Double_t lV0cosPointAngle    = 0;
   Double_t lChi2V0             = 0;
   Double_t lV0DecayLength      = 0;
+  Double_t lV0tDecayLength     = 0; //transverse decay length in xy plain
   Double_t lV0Radius           = 0;
-  Double_t lDcaV0ToPrimVertex  = 0;
-  
+  //  Double_t lDcaV0ToPrimVertex  = 0;
+  Double_t lcTauLambda         = 0;  
+  Double_t lcTauAntiLambda     = 0;
+  Double_t lcTauK0s            = 0;
   Int_t    lOnFlyStatus        = 0;
   //Float_t   tdcaPosToPrimVertexXYZ[2], tdcaNegToPrimVertexXYZ[2]; // ..[0] = Impact parameter in XY plane and ..[1] = Impact parameter in Z            
   //Double_t  tdcaDaughterToPrimVertex[2];                          // ..[0] = Pos and ..[1] = Neg
@@ -1891,10 +2232,10 @@ void AliAnalysisTaskPerformanceStrange::UserExec(Option_t *)
   //  Double_t lEtaK0s     = 0, lEtaLambda     = 0, lEtaAntiLambda     = 0;
   Double_t lAlphaV0      = 0, lPtArmV0       = 0;
 
-  Double_t lPzK0s      = 0, lPzLambda      = 0,  lPzAntiLambda      = 0;
+  //  Double_t lPzK0s      = 0, lPzLambda      = 0,  lPzAntiLambda      = 0;
 
 
-  Double_t lV0Eta = 999;
+  //  Double_t lV0Eta = 999;
   
   // to study Associated V0s:
   Int_t    lIndexTrackPos       = 0, lIndexTrackNeg         = 0;
@@ -1903,10 +2244,10 @@ void AliAnalysisTaskPerformanceStrange::UserExec(Option_t *)
   Int_t    lCheckPIdLambda      = 0, lCheckMcLambda         = 0;
   Int_t    lCheckPIdAntiLambda  = 0, lCheckMcAntiLambda     = 0;
   Int_t    lCheckSecondaryK0s   = 0, lCheckSecondaryLambda  = 0, lCheckSecondaryAntiLambda  = 0;
-  Int_t    lCheckGamma          = 0;
+  //  Int_t    lCheckGamma          = 0;
   Double_t mcPosMotherX         = 0, mcPosMotherY           = 0, mcPosMotherZ  = 0;
   Double_t mcPosMotherR         = 0;
-  Double_t mcMotherPt           = 0;
+  //  Double_t mcMotherPt           = 0;
 
   Int_t lIndexPosMother        = 0;
   Int_t lIndexNegMother        = 0;
@@ -1921,11 +2262,11 @@ void AliAnalysisTaskPerformanceStrange::UserExec(Option_t *)
   Double_t rcPosRK0s        = 0;
   Double_t rcPosXLambda     = 0,  rcPosYLambda     = 0, rcPosZLambda     = 0;
   Double_t rcPosRLambda     = 0;
-    Double_t rcPosXAntiLambda = 0,  rcPosYAntiLambda = 0, rcPosZAntiLambda = 0;
-   Double_t rcPosRAntiLambda = 0;
+  Double_t rcPosXAntiLambda = 0,  rcPosYAntiLambda = 0, rcPosZAntiLambda = 0;
+  Double_t rcPosRAntiLambda = 0;
 
   // Pt resolution
-   Double_t deltaPtK0s  = 0, deltaPtLambda  = 0, deltaPtAntiLambda  = 0;
+  Double_t deltaPtK0s  = 0, deltaPtLambda  = 0, deltaPtAntiLambda  = 0;
 
   // Daughters
   AliESDtrack  *myTrackPos  = NULL;
@@ -1934,14 +2275,16 @@ void AliAnalysisTaskPerformanceStrange::UserExec(Option_t *)
   // AliVParticle *lVPartNeg   = NULL;
 
   //  V0 momentum      
-  Double_t V0mom[3] = {999,999,999};
-  Double_t V0momentum = 0;
+  //Double_t lPosMom = 0;
+  //Double_t lNegMom = 0;
+  //  Double_t lPmom = 0;
+  //  Double_t lPLambda = 0;
 
   // Daughters' momentum:
   Double_t  lMomPos[3] = {999,999,999};
   Double_t  lMomNeg[3] = {999,999,999};
-  Double_t  lPtPos = 999, lPtNeg = 999;
-  Double_t  lPPos = 999, lPNeg = 999;
+  //  Double_t  lPtPos = 999, lPtNeg = 999;
+  //  Double_t  lPPos = 999, lPNeg = 999;
 
   // Inner Wall parameters:
   Double_t  lMomInnerWallPos =999, lMomInnerWallNeg = 999;
@@ -1961,18 +2304,20 @@ void AliAnalysisTaskPerformanceStrange::UserExec(Option_t *)
   Float_t nSigmaNegProton = 0;
   
 
-  Int_t lCheckPIDK0sPosDaughter        = 0, lCheckPIDK0sNegDaughter        = 0;
-  Int_t lCheckPIDLambdaPosDaughter     = 0, lCheckPIDLambdaNegDaughter     = 0;
-  Int_t lCheckPIDAntiLambdaPosDaughter = 0, lCheckPIDAntiLambdaNegDaughter = 0;
+  //  Int_t lCheckPIDK0sPosDaughter        = 0, lCheckPIDK0sNegDaughter        = 0;
+  Int_t lCheckPIDLambdaPosDaughter     = 0;// lCheckPIDLambdaNegDaughter     = 0;
+  //  Int_t lCheckPIDAntiLambdaPosDaughter = 0;
+  Int_t lCheckPIDAntiLambdaNegDaughter = 0;
 
   
   
-  //***********************
+  //****************************************************
   // Primary Vertex cuts &
   // Magnetic field and Quality tracks cuts 
+  //****************************************************
 
-  Double_t  lPrimaryVtxPosition[3]={0};
-  Double_t  lPrimaryVtxCov[6]={0};
+  Double_t  lPrimaryVtxPosition[3];
+  Double_t  lPrimaryVtxCov[6];
   Double_t  lPrimaryVtxChi2 = 999;
   Double_t  lResPrimaryVtxX = 999;
   Double_t  lResPrimaryVtxY = 999;
@@ -1987,45 +2332,56 @@ void AliAnalysisTaskPerformanceStrange::UserExec(Option_t *)
   if(fAnalysisType == "ESD") {  
   
     // Best Primary Vertex:  
+
     const AliESDVertex *myBestPrimaryVertex = ((AliESDEvent*)fESD)->GetPrimaryVertex();
+    myBestPrimaryVertex = ((AliESDEvent*)fESD)->GetPrimaryVertex();
     if (!myBestPrimaryVertex) return;
     if (!myBestPrimaryVertex->GetStatus()) return;
+
     fHistNumberEvents->Fill(3.5);
+
     myBestPrimaryVertex->GetXYZ(lPrimaryVtxPosition);
     myBestPrimaryVertex->GetCovMatrix(lPrimaryVtxCov);
-    if ( ( TMath::Abs(lPrimaryVtxPosition[2]) ) > cutPrimVertex) return ;
+
+    if ( ( TMath::Abs(lPrimaryVtxPosition[2]) ) > cutPrimVertex) return ; //// cut on z of prim. vertex!!!!!
+
     fHistNumberEvents->Fill(4.5);    
+
     lPrimaryVtxChi2 = myBestPrimaryVertex->GetChi2toNDF();
     lResPrimaryVtxX = myBestPrimaryVertex->GetXRes();
     lResPrimaryVtxY = myBestPrimaryVertex->GetYRes();
     lResPrimaryVtxZ = myBestPrimaryVertex->GetZRes();
 
     // remove TPC-only primary vertex : retain only events with tracking + SPD vertex
+
     const AliESDVertex *mySPDPrimaryVertex = ((AliESDEvent*)fESD)->GetPrimaryVertexSPD();
     if (!mySPDPrimaryVertex) return;
+
     fHistSPDPrimaryVertexZ->Fill(mySPDPrimaryVertex->GetZ());
+
     const AliESDVertex *myPrimaryVertexTracking = ((AliESDEvent*)fESD)->GetPrimaryVertexTracks();
     if (!myPrimaryVertexTracking) return;
+
     if (!mySPDPrimaryVertex->GetStatus() && !myPrimaryVertexTracking->GetStatus() ) return;
-    fHistNumberEvents->Fill(5.5);
 
+    fHistNumberEvents->Fill(5.5);
     fHistTrackPerEvent->Fill(fESD->GetNumberOfTracks());   
+
     myPrimaryVertex = new AliAODVertex(lPrimaryVtxPosition, lPrimaryVtxCov, lPrimaryVtxChi2, NULL, -1, AliAODVertex::kPrimary);
     if (!myPrimaryVertex) return;
 
 
     // Number of Tracklets:
-    //const AliMultiplicity *myMultiplicty = ((AliESDEvent*)fESD)->GetMultiplicity();
-    //if (myMultiplicty->GetNumberOfTracklets() < 10) return;
+
     fHistTrackletPerEvent->Fill(myMultiplicty->GetNumberOfTracklets());
 
     lMagneticField = ((AliESDEvent*)fESD)->GetMagneticField();
 
-        fHistTPCTracks->Fill(AliESDtrackCuts::GetReferenceMultiplicity((AliESDEvent*)fESD, kTRUE));
+    fHistTPCTracks->Fill(AliESDtrackCuts::GetReferenceMultiplicity((AliESDEvent*)fESD, kTRUE));
 
-    ////////////////////////////////////////////////////////////////////////////////////////
-    Int_t i =0;
+    //////simple chack for multiplicity////////////////////////////////////////////////////////
 
+    Int_t i =0;
 
     for (Int_t jTracks=0;jTracks<fESD->GetNumberOfTracks();jTracks++){
                
@@ -2041,8 +2397,7 @@ void AliAnalysisTaskPerformanceStrange::UserExec(Option_t *)
 
     /////////////////////////////////////////////////////////////////////////////////////////
 
-    // minimum number of clusters in TPC
-    // fTracksCuts->SetMinNClustersTPC(nbMinTPCclusters);
+
   }
  
   fHistPrimaryVertexX->Fill(lPrimaryVtxPosition[0]);
@@ -2057,7 +2412,6 @@ void AliAnalysisTaskPerformanceStrange::UserExec(Option_t *)
   //***********************
   // AliKF Primary Vertex
 
-  if (myPrimaryVertex) {
   AliKFVertex primaryVtxKF( *myPrimaryVertex );
   AliKFParticle::SetField(lMagneticField);
 
@@ -2071,26 +2425,20 @@ void AliAnalysisTaskPerformanceStrange::UserExec(Option_t *)
   //  v0Vertexer.SetCuts(fCuts);
   //  v0Vertexer.Tracks2V0vertices(fESD);
   
-  //*************************
-  // V0 loop
-      
+  ////*************************
+  //// V0 loop ****************
+  ////*************************
+    
   nv0sTot = fESD->GetNumberOfV0s();
   if (!nv0sTot) fHistNumberEvents->Fill(6.5);
 
   for (Int_t iV0 = 0; iV0 < nv0sTot; iV0++) {
     
-    // ALiKF
-    AliKFParticle* negPiKF = NULL;
-    AliKFParticle* posPiKF = NULL;
-    AliKFParticle* posPKF  = NULL;
-    AliKFParticle* negAPKF = NULL;
-
-    
     lIndexPosMother     = 0; lIndexNegMother     = 0; lIndexMotherOfMother       = 0;
     lCheckPIdK0Short    = 0; lCheckMcK0Short     = 0; lCheckSecondaryK0s         = 0;
     lCheckPIdLambda     = 0; lCheckMcLambda      = 0; lCheckSecondaryLambda      = 0;
     lCheckPIdAntiLambda = 0; lCheckMcAntiLambda  = 0; lCheckSecondaryAntiLambda  = 0;       
-    lComeFromSigma      = -1;lCheckGamma = 0;
+    lComeFromSigma      = 0; //lCheckGamma = 0;
     
     
     if(fAnalysisType == "ESD") {
@@ -2124,7 +2472,7 @@ void AliAnalysisTaskPerformanceStrange::UserExec(Option_t *)
       lOnFlyStatus       = v0->GetOnFlyStatus();
       lChi2V0            = v0->GetChi2V0();
       lDcaV0Daughters    = v0->GetDcaV0Daughters();
-      lDcaV0ToPrimVertex = v0->GetD(lPrimaryVtxPosition[0],lPrimaryVtxPosition[1],lPrimaryVtxPosition[2]);
+      //      lDcaV0ToPrimVertex = v0->GetD(lPrimaryVtxPosition[0],lPrimaryVtxPosition[1],lPrimaryVtxPosition[2]);
       lV0cosPointAngle   = v0->GetV0CosineOfPointingAngle(lPrimaryVtxPosition[0],lPrimaryVtxPosition[1], lPrimaryVtxPosition[2]);
 
       v0->GetXYZ(lV0Position[0], lV0Position[1], lV0Position[2]);
@@ -2133,6 +2481,9 @@ void AliAnalysisTaskPerformanceStrange::UserExec(Option_t *)
       lV0DecayLength = TMath::Sqrt(TMath::Power(lV0Position[0] - lPrimaryVtxPosition[0],2) +
                                   TMath::Power(lV0Position[1] - lPrimaryVtxPosition[1],2) +
                                   TMath::Power(lV0Position[2] - lPrimaryVtxPosition[2],2 ));
+      lV0tDecayLength = TMath::Sqrt(TMath::Power(lV0Position[0] - lPrimaryVtxPosition[0],2) +
+                                   TMath::Power(lV0Position[1] - lPrimaryVtxPosition[1],2));
+
 
 
       if( myTrackPosTest->GetSign() ==1){
@@ -2143,21 +2494,6 @@ void AliAnalysisTaskPerformanceStrange::UserExec(Option_t *)
        // Daughters' momentum;
        v0->GetPPxPyPz(lMomPos[0],lMomPos[1],lMomPos[2]);
        v0->GetNPxPyPz(lMomNeg[0],lMomNeg[1],lMomNeg[2]);
-        
-        // V0 momentum
-        v0->GetXYZ(V0mom[0],V0mom[1],V0mom[2]);
-        V0momentum = TMath::Sqrt(V0mom[0]*V0mom[0] +  V0mom[1]*V0mom[1] +  V0mom[2]*V0mom[2]);
-
-       if (negPiKF) delete negPiKF; negPiKF=NULL;
-       if (posPiKF) delete posPiKF; posPiKF=NULL;
-       if (posPKF)  delete posPKF;  posPKF=NULL;
-       if (negAPKF) delete negAPKF; negAPKF=NULL;
-       
-       negPiKF = new AliKFParticle( *(v0->GetParamN()) ,-211);
-       posPiKF = new AliKFParticle( *(v0->GetParamP()) ,211);
-       posPKF  = new AliKFParticle( *(v0->GetParamP()) ,2212);
-       negAPKF = new AliKFParticle( *(v0->GetParamN()) ,-2212);
-       
       }
            
       if( myTrackPosTest->GetSign() ==-1){
@@ -2165,81 +2501,77 @@ void AliAnalysisTaskPerformanceStrange::UserExec(Option_t *)
        myTrackPos = ((AliESDEvent*)fESD)->GetTrack(lIndexTrackNeg);
        myTrackNeg = ((AliESDEvent*)fESD)->GetTrack(lIndexTrackPos);
 
+
        // Daughters' momentum;
        v0->GetPPxPyPz(lMomNeg[0],lMomNeg[1],lMomNeg[2]);
        v0->GetNPxPyPz(lMomPos[0],lMomPos[1],lMomPos[2]);
-
-       if (negPiKF) delete negPiKF; negPiKF=NULL;
-       if (posPiKF) delete posPiKF; posPiKF=NULL;
-       if (posPKF)  delete posPKF;  posPKF=NULL;
-       if (negAPKF) delete negAPKF; negAPKF=NULL;
-       
-       negPiKF = new AliKFParticle( *(v0->GetParamP()) ,-211);
-       posPiKF = new AliKFParticle( *(v0->GetParamN()) ,211);
-       posPKF  = new AliKFParticle( *(v0->GetParamN()) ,2212);
-       negAPKF = new AliKFParticle( *(v0->GetParamP()) ,-2212);
-
       }
-      
-      if (myTrackPos)
-       lLabelTrackPos = (UInt_t)TMath::Abs(myTrackPos->GetLabel());
-      if (myTrackNeg)
-       lLabelTrackNeg = (UInt_t)TMath::Abs(myTrackNeg->GetLabel());
+
+      lLabelTrackPos = (UInt_t)TMath::Abs(myTrackPos->GetLabel());
+      lLabelTrackNeg = (UInt_t)TMath::Abs(myTrackNeg->GetLabel());
 
       // Daughters Pt and P:
-      lPtPos = TMath::Sqrt(lMomPos[0]*lMomPos[0] + lMomPos[1]*lMomPos[1]);
-      lPtNeg = TMath::Sqrt(lMomNeg[0]*lMomNeg[0] + lMomNeg[1]*lMomNeg[1]);
+      //      lPtPos = TMath::Sqrt(lMomPos[0]*lMomPos[0] + lMomPos[1]*lMomPos[1]);
+      //      lPtNeg = TMath::Sqrt(lMomNeg[0]*lMomNeg[0] + lMomNeg[1]*lMomNeg[1]);
+
+      //      lPPos = TMath::Sqrt(lMomPos[0]*lMomPos[0] + lMomPos[1]*lMomPos[1] + lMomPos[2]*lMomPos[2]);
+      //      lPNeg = TMath::Sqrt(lMomNeg[0]*lMomNeg[0] + lMomNeg[1]*lMomNeg[1] + lMomNeg[2]*lMomNeg[2]);
+
+
+      //  lPosMom = myTrackPos->GetInnerParam()->GetP();
+
+      //  lNegMom = myTrackNeg->GetInnerParam()->GetP();
+
+      //        lPmom  = TMath::Sqrt(lMomPos[0]*lMomPos[0]+lMomPos[1]*lMomPos[1]+lMomPos[2]+lMomPos[2]);
+
 
-      lPPos = TMath::Sqrt(lMomPos[0]*lMomPos[0] + lMomPos[1]*lMomPos[1] + lMomPos[2]*lMomPos[2]);
-      lPNeg = TMath::Sqrt(lMomNeg[0]*lMomNeg[0] + lMomNeg[1]*lMomNeg[1] + lMomNeg[2]*lMomNeg[2]);
 
       // Inner Wall parameter:
-      const AliExternalTrackParam *myInnerWallTrackPos = 0x0;
-      if (myTrackPos) myInnerWallTrackPos = myTrackPos->GetInnerParam(); 
-      if(myInnerWallTrackPos) lMomInnerWallPos = myInnerWallTrackPos->GetP(); 
-      const AliExternalTrackParam *myInnerWallTrackNeg = 0x0;
-      if (myTrackNeg) myInnerWallTrackNeg = myTrackNeg->GetInnerParam(); 
-      if(myInnerWallTrackNeg) lMomInnerWallNeg = myInnerWallTrackNeg->GetP(); 
+      const AliExternalTrackParam *myInnerWallTrackPos = myTrackPos->GetInnerParam(); 
+
+      if (myInnerWallTrackPos) {lMomInnerWallPos = myInnerWallTrackPos->GetP();} 
+      else {continue;}
+
+      const AliExternalTrackParam *myInnerWallTrackNeg = myTrackNeg->GetInnerParam(); 
+
+      if (myInnerWallTrackNeg) {lMomInnerWallNeg = myInnerWallTrackNeg->GetP();}  
+      else {continue;}
              
+
       // DCA between daughter and Primary Vertex:
       if (myTrackPos) lDcaPosToPrimVertex = TMath::Abs(myTrackPos->GetD(lPrimaryVtxPosition[0],lPrimaryVtxPosition[1],lMagneticField) );
       
       if (myTrackNeg) lDcaNegToPrimVertex = TMath::Abs(myTrackNeg->GetD(lPrimaryVtxPosition[0],lPrimaryVtxPosition[1],lMagneticField) );
       
       // Quality tracks cuts:
-      if ( !(myTrackPos && fTracksCuts->IsSelected(myTrackPos)) || !(myTrackNeg && fTracksCuts->IsSelected(myTrackNeg)) ) 
+      if ( !(fTracksCuts->IsSelected(myTrackPos)) || !(fTracksCuts->IsSelected(myTrackNeg)) ) 
+       {         continue;}
 
-
-       {
-         if (negPiKF) delete negPiKF; negPiKF=NULL;
-         if (posPiKF) delete posPiKF; posPiKF=NULL;
-         if (posPKF)  delete posPKF;  posPKF=NULL;
-         if (negAPKF) delete negAPKF; negAPKF=NULL;
-
-         continue;}
+      if ( ( TMath::Abs(myTrackPos->Eta()) > lCutPseudorap ) || ( TMath::Abs(myTrackNeg->Eta()) > lCutPseudorap ) ) {continue;}
 
       // Armenteros variables:
       lAlphaV0      =  v0->AlphaV0();
       lPtArmV0      =  v0->PtArmV0();
 
       // Pseudorapidity:
-      lV0Eta = v0->Eta();
+      //      lV0Eta = v0->Eta();
       //////////////////////////////////////////////////////////////////////////
       // Invariant mass
       v0->ChangeMassHypothesis(310);
       lInvMassK0s = v0->GetEffMass();
       lPtK0s = v0->Pt();
-      lPzK0s = v0->Pz();
+      // lPzK0s = v0->Pz();
 
       v0->ChangeMassHypothesis(3122);
       lInvMassLambda = v0->GetEffMass();
       lPtLambda = v0->Pt();
-      lPzLambda = v0->Pz();
+      //lPzLambda = v0->Pz();
+
 
       v0->ChangeMassHypothesis(-3122);
       lInvMassAntiLambda = v0->GetEffMass();
       lPtAntiLambda = v0->Pt();
-      lPzAntiLambda = v0->Pz();
+      //lPzAntiLambda = v0->Pz();
   
 
       // Rapidity:
@@ -2247,28 +2579,10 @@ void AliAnalysisTaskPerformanceStrange::UserExec(Option_t *)
       lRapLambda = v0->Y(3122);
       lRapAntiLambda = v0->Y(-3122);
        
-      if (lPtK0s==0)   {
-       if (negPiKF) delete negPiKF; negPiKF=NULL;
-       if (posPiKF) delete posPiKF; posPiKF=NULL;
-       if (posPKF)  delete posPKF;  posPKF=NULL;
-       if (negAPKF) delete negAPKF; negAPKF=NULL;
-
-       continue;}
-      if (lPtLambda==0)        {
-       if (negPiKF) delete negPiKF; negPiKF=NULL;
-       if (posPiKF) delete posPiKF; posPiKF=NULL;
-       if (posPKF)  delete posPKF;  posPKF=NULL;
-       if (negAPKF) delete negAPKF; negAPKF=NULL;
-
-       continue;}
-
-      if (lPtAntiLambda==0)    {
-       if (negPiKF) delete negPiKF; negPiKF=NULL;
-       if (posPiKF) delete posPiKF; posPiKF=NULL;
-       if (posPKF)  delete posPKF;  posPKF=NULL;
-       if (negAPKF) delete negAPKF; negAPKF=NULL;
+      if (lPtK0s==0)   {continue;}
+      if (lPtLambda==0)        {continue;}
 
-       continue;}
+      if (lPtAntiLambda==0)    {continue;}
 
       ///////////////////////////////////////////////////////////////////////      
 
@@ -2276,7 +2590,7 @@ void AliAnalysisTaskPerformanceStrange::UserExec(Option_t *)
       if (fUsePID.Contains("withPID")) {
        //      nSigmaPosPion   = TMath::Abs(fESDpid->NumberOfSigmasTPC(myTrackPos,AliPID::kPion));
        nSigmaPosPion = TMath::Abs(fPIDResponse->NumberOfSigmasTPC(myTrackPos, AliPID::kPion));
-               //      nSigmaNegPion   = TMath::Abs(fESDpid->NumberOfSigmasTPC(myTrackNeg,AliPID::kPion));
+       //      nSigmaNegPion   = TMath::Abs(fESDpid->NumberOfSigmasTPC(myTrackNeg,AliPID::kPion));
        nSigmaNegPion = TMath::Abs(fPIDResponse->NumberOfSigmasTPC(myTrackNeg, AliPID::kPion));
        //      nSigmaPosProton = TMath::Abs(fESDpid->NumberOfSigmasTPC(myTrackPos,AliPID::kProton));
        nSigmaPosProton = TMath::Abs(fPIDResponse->NumberOfSigmasTPC(myTrackPos, AliPID::kProton));
@@ -2296,22 +2610,10 @@ void AliAnalysisTaskPerformanceStrange::UserExec(Option_t *)
        TParticle  *lMCESDPartPos  = stack->Particle(lLabelTrackPos);
        if(!lMCESDPartPos) { 
          //  Printf("no MC particle for positive and/or negative daughter\n");
-               
-         if (negPiKF) delete negPiKF; negPiKF=NULL;
-         if (posPiKF) delete posPiKF; posPiKF=NULL;
-         if (posPKF)  delete posPKF;  posPKF=NULL;
-         if (negAPKF) delete negAPKF; negAPKF=NULL;
-
          continue;
        }
        TParticle  *lMCESDPartNeg  = stack->Particle(lLabelTrackNeg);
-       if (!lMCESDPartNeg)     {
-         if (negPiKF) delete negPiKF; negPiKF=NULL;
-         if (posPiKF) delete posPiKF; posPiKF=NULL;
-         if (posPKF)  delete posPKF;  posPKF=NULL;
-         if (negAPKF) delete negAPKF; negAPKF=NULL;
-
-         continue;}
+       if (!lMCESDPartNeg)     {  continue;}
        lPDGCodePosDaughter = lMCESDPartPos->GetPdgCode();
        lPDGCodeNegDaughter = lMCESDPartNeg->GetPdgCode();
        lIndexPosMother = lMCESDPartPos->GetFirstMother();
@@ -2339,7 +2641,7 @@ void AliAnalysisTaskPerformanceStrange::UserExec(Option_t *)
          mcPosMotherY = 0;
          mcPosMotherZ = 0;
          mcPosMotherR = 0;
-         mcMotherPt = 1;
+         // mcMotherPt = 1;
        }
 
        else {
@@ -2347,25 +2649,13 @@ void AliAnalysisTaskPerformanceStrange::UserExec(Option_t *)
 
 
          TParticle  *lMCESDMother    = stack->Particle(lIndexPosMother);
-         if (!lMCESDMother)    {
-           if (negPiKF) delete negPiKF; negPiKF=NULL;
-           if (posPiKF) delete posPiKF; posPiKF=NULL;
-           if (posPKF)  delete posPKF;  posPKF=NULL;
-           if (negAPKF) delete negAPKF; negAPKF=NULL;
-
-           continue;}
+         if (!lMCESDMother)    { continue;}
          lPdgcodeMother         = lMCESDMother->GetPdgCode();
          lIndexMotherOfMother   = lMCESDMother->GetFirstMother();
          if (lIndexMotherOfMother ==-1) lPdgcodeMotherOfMother = 0;
          else {
            TParticle  *lMCESDMotherOfMother    = stack->Particle(lIndexMotherOfMother);
-           if (!lMCESDMotherOfMother)  {
-             if (negPiKF) delete negPiKF; negPiKF=NULL;
-             if (posPiKF) delete posPiKF; posPiKF=NULL;
-             if (posPKF)  delete posPKF;  posPKF=NULL;
-             if (negAPKF) delete negAPKF; negAPKF=NULL;
-
-             continue;}
+           if (!lMCESDMotherOfMother)  { continue;}
            lPdgcodeMotherOfMother = lMCESDMotherOfMother->GetPdgCode();
          }
        
@@ -2378,7 +2668,7 @@ void AliAnalysisTaskPerformanceStrange::UserExec(Option_t *)
          mcPosMotherZ = lMCESDMother->Vz();
          mcPosMotherR = TMath::Sqrt(mcPosMotherX*mcPosMotherX+mcPosMotherY*mcPosMotherY);
        
-         mcMotherPt   = lMCESDMother->Pt();
+         //  mcMotherPt   = lMCESDMother->Pt();
        }
       }
     } // end ESD condition
@@ -2393,185 +2683,257 @@ void AliAnalysisTaskPerformanceStrange::UserExec(Option_t *)
     //    else  if(lOnFlyStatus) nv0sMI++;
 
     // Daughter momentum cut: ! FIX it in case of AOD !
-    if ( (lPtPos  < cutMinPtDaughter ) ||
-         (lPtNeg  < cutMinPtDaughter )
-        )      {
-      if (negPiKF) delete negPiKF; negPiKF=NULL;
-      if (posPiKF) delete posPiKF; posPiKF=NULL;
-      if (posPKF)  delete posPKF;  posPKF=NULL;
-      if (negAPKF) delete negAPKF; negAPKF=NULL;
-
-      continue;}
+    //if ( (lPtPos  < cutMinPtDaughter ) ||
+    //     (lPtNeg  < cutMinPtDaughter )
+    //  )      { continue;}
     
-    AliKFParticle v0K0sKF;
-    v0K0sKF+=(*negPiKF);
-    v0K0sKF+=(*posPiKF);
-    v0K0sKF.SetProductionVertex(primaryVtxKF);
-    
-    AliKFParticle v0LambdaKF;
-    v0LambdaKF+=(*negPiKF);
-    v0LambdaKF+=(*posPKF);     
-    v0LambdaKF.SetProductionVertex(primaryVtxKF);
-    
-    AliKFParticle v0AntiLambdaKF;
-    v0AntiLambdaKF+=(*posPiKF);
-    v0AntiLambdaKF+=(*negAPKF);
-    v0AntiLambdaKF.SetProductionVertex(primaryVtxKF);
     // Look for associated particles:
     if (fAnalysisMC) {
       if( (lIndexPosMother==-1) || (lIndexNegMother==-1) ) {
        fHistMCDaughterTrack->Fill(1);
       }
       
-      else if( ( (lPDGCodePosDaughter==+211) && (lPDGCodeNegDaughter==-211) )    
-              ) {
-       lCheckPIdK0Short    = 1;
-       fHistMCDaughterTrack->Fill(3);
-       if ( (lIndexPosMother==lIndexNegMother) &&
-            (lPdgcodeMother==310) ) {
-         if (lIndexPosMother <= lNbMCPrimary) lCheckMcK0Short  = 1;
-         else lCheckSecondaryK0s = 1;
+      else if( ( (lPDGCodePosDaughter==+211) && (lPDGCodeNegDaughter==-211) ) ) 
+       {
+         lCheckPIdK0Short    = 1;
+         fHistMCDaughterTrack->Fill(3);
+         if ( (lIndexPosMother==lIndexNegMother) &&
+              (lPdgcodeMother==310) ) {
+
+
+           //if (lIndexPosMother <= lNbMCPrimary) lCheckMcK0Short  = 1;
+           //else lCheckSecondaryK0s = 1;
+
+           Double_t dx = 0;
+           Double_t dy = 0;
+           Double_t dz = 0;
+           Double_t ProdDistance = 0;
+
+           dx = ( (mcPrimaryVtx.At(0)) - (mcPosMotherX) ); 
+           dy = ( (mcPrimaryVtx.At(1)) - (mcPosMotherY) );
+           dz = ( (mcPrimaryVtx.At(2)) - (mcPosMotherZ) );
+
+           ProdDistance = TMath::Sqrt(dx*dx + dy*dy + dz*dz);
+
+           if (ProdDistance < 0.001) lCheckMcK0Short  = 1;
+           else lCheckSecondaryK0s = 1;
+
+         }
        }
-      }
-      else if( ( (lPDGCodePosDaughter==+2212) && (lPDGCodeNegDaughter==-211)  )  
-              ) {
-       lCheckPIdLambda     = 1;
-       fHistMCDaughterTrack->Fill(5);
-       if ( (lIndexPosMother==lIndexNegMother) &&
-            (lPdgcodeMother==3122)  ){
-         if ( ( TMath::Abs(lPdgcodeMotherOfMother) == 3212) ||
-              ( TMath::Abs(lPdgcodeMotherOfMother) == 3224) ||
-              ( TMath::Abs(lPdgcodeMotherOfMother) == 3214) ||
-              ( TMath::Abs(lPdgcodeMotherOfMother) == 3114)
-              ) lComeFromSigma = 1;
-         else lComeFromSigma = 0; 
-         if ( (lIndexPosMother <= lNbMCPrimary) || 
-              ( ( lIndexPosMother > lNbMCPrimary) && (lComeFromSigma) )
-              ) lCheckMcLambda  = 1; 
-         else lCheckSecondaryLambda    = 1;
+      else if( ( (lPDGCodePosDaughter==+2212) && (lPDGCodeNegDaughter==-211)  )  ) 
+       {
+         lCheckPIdLambda     = 1;
+         fHistMCDaughterTrack->Fill(5);
+         if ( (lIndexPosMother==lIndexNegMother) &&
+              (lPdgcodeMother==3122)  ){
+           if ( ( TMath::Abs(lPdgcodeMotherOfMother) == 3212) ||
+                ( TMath::Abs(lPdgcodeMotherOfMother) == 3224) ||
+                ( TMath::Abs(lPdgcodeMotherOfMother) == 3214) ||
+                ( TMath::Abs(lPdgcodeMotherOfMother) == 3114)
+                ) lComeFromSigma = 1;
+           else lComeFromSigma = 0; 
+
+
+           // if ( (lIndexPosMother <= lNbMCPrimary) || 
+           //     ( ( lIndexPosMother > lNbMCPrimary) && (lComeFromSigma) )
+           //      ) lCheckMcLambda  = 1; 
+           // else lCheckSecondaryLambda    = 1;
+
+           Double_t dx = 0;
+           Double_t dy = 0;
+           Double_t dz = 0;
+           Double_t ProdDistance = 0;
+
+           dx = ( (mcPrimaryVtx.At(0)) - (mcPosMotherX) ); 
+           dy = ( (mcPrimaryVtx.At(1)) - (mcPosMotherY) );
+           dz = ( (mcPrimaryVtx.At(2)) - (mcPosMotherZ) );
+
+           ProdDistance = TMath::Sqrt(dx*dx + dy*dy + dz*dz);
+
+           if (ProdDistance < 0.001) lCheckMcLambda  = 1;
+           else lCheckSecondaryLambda = 1;
+
+       
+         }
        }
-      }
-      else if( ( (lPDGCodePosDaughter==211)   && (lPDGCodeNegDaughter==-2212) )             
-              ) {
-       lCheckPIdAntiLambda = 1;
-       fHistMCDaughterTrack->Fill(7);
-       if ( (lIndexPosMother==lIndexNegMother) &&
-            (lPdgcodeMother==-3122) ) {
-         if ( ( TMath::Abs(lPdgcodeMotherOfMother) == 3212) ||
-              ( TMath::Abs(lPdgcodeMotherOfMother) == 3224) ||
-              ( TMath::Abs(lPdgcodeMotherOfMother) == 3214) ||
-              ( TMath::Abs(lPdgcodeMotherOfMother) == 3114)
-              ) lComeFromSigma = 1;
-         else lComeFromSigma = 0;  
-         if ( (lIndexPosMother <= lNbMCPrimary) || 
-              ( ( lIndexPosMother > lNbMCPrimary) && (lComeFromSigma) )
-              ) lCheckMcAntiLambda  = 1;
-         else lCheckSecondaryAntiLambda = 1;
+      else if( ( (lPDGCodePosDaughter==211)   && (lPDGCodeNegDaughter==-2212) )        ) 
+       {
+         lCheckPIdAntiLambda = 1;
+         fHistMCDaughterTrack->Fill(7);
+         if ( (lIndexPosMother==lIndexNegMother) &&
+              (lPdgcodeMother==-3122) ) {
+           if ( ( TMath::Abs(lPdgcodeMotherOfMother) == 3212) ||
+                ( TMath::Abs(lPdgcodeMotherOfMother) == 3224) ||
+                ( TMath::Abs(lPdgcodeMotherOfMother) == 3214) ||
+                ( TMath::Abs(lPdgcodeMotherOfMother) == 3114)
+                ) lComeFromSigma = 1;
+           else lComeFromSigma = 0;  
+
+           //  if ( (lIndexPosMother <= lNbMCPrimary) || 
+           //       ( ( lIndexPosMother > lNbMCPrimary) && (lComeFromSigma) )
+           //       ) lCheckMcAntiLambda  = 1;
+           //  else lCheckSecondaryAntiLambda = 1;
+
+           Double_t dx = 0;
+           Double_t dy = 0;
+           Double_t dz = 0;
+           Double_t ProdDistance = 0;
+
+           dx = ( (mcPrimaryVtx.At(0)) - (mcPosMotherX) ); 
+           dy = ( (mcPrimaryVtx.At(1)) - (mcPosMotherY) );
+           dz = ( (mcPrimaryVtx.At(2)) - (mcPosMotherZ) );
+
+           ProdDistance = TMath::Sqrt(dx*dx + dy*dy + dz*dz);
+
+           if (ProdDistance < 0.001) lCheckMcAntiLambda = 1;
+           else lCheckSecondaryAntiLambda = 1;
+
+         }
        }
-      }
       
       // Gamma conversion
-      else if ( (lPDGCodePosDaughter==-11) &&
-               (lPDGCodeNegDaughter==11) &&
-               (lPdgcodeMother==22 ) )
-       lCheckGamma = 1;
+      //   else if ( (lPDGCodePosDaughter==-11) &&
+      //       (lPDGCodeNegDaughter==11) &&
+      //       (lPdgcodeMother==22 ) )
+      //       lCheckGamma = 1;
+
     } // end "look for associated particles  
    
-    
-    // PID condition:
-    lCheckPIDK0sPosDaughter        = 0, lCheckPIDK0sNegDaughter        = 0;
-    lCheckPIDLambdaPosDaughter     = 0, lCheckPIDLambdaNegDaughter     = 0;
-    lCheckPIDAntiLambdaPosDaughter = 0, lCheckPIDAntiLambdaNegDaughter = 0;
+    /////////////////////////////////////     
+    // PID condition for daughters tracks
+    //////////////////////////////////////
+
+    //    lCheckPIDK0sPosDaughter        = 0, lCheckPIDK0sNegDaughter        = 0;
+    lCheckPIDLambdaPosDaughter     = 0;//, lCheckPIDLambdaNegDaughter     = 0;
+    //lCheckPIDAntiLambdaPosDaughter = 0;,
+    lCheckPIDAntiLambdaNegDaughter = 0;
 
     if (lMomInnerWallPos < lLimitPPID) {
       if (nSigmaPosPion < cutNSigmaLowP)   {
-       lCheckPIDK0sPosDaughter        = 1;
-       lCheckPIDAntiLambdaPosDaughter = 1;
+       //      lCheckPIDK0sPosDaughter        = 1;
+       //lCheckPIDAntiLambdaPosDaughter = 1;
       }
       if (nSigmaPosProton < cutNSigmaLowP) lCheckPIDLambdaPosDaughter    = 1;      
     }
 
     else if (lMomInnerWallPos > lLimitPPID) {
       if (nSigmaPosPion < cutNSigmaHighP)   {
-       lCheckPIDK0sPosDaughter        = 1;
-       lCheckPIDAntiLambdaPosDaughter = 1;
+       //      lCheckPIDK0sPosDaughter        = 1;
+       //      lCheckPIDAntiLambdaPosDaughter = 1;
       }
       if (nSigmaPosProton < cutNSigmaHighP) lCheckPIDLambdaPosDaughter    = 1;
     }
 
     if (lMomInnerWallNeg < lLimitPPID) {
       if (nSigmaNegPion < cutNSigmaLowP)    {
-       lCheckPIDK0sNegDaughter       = 1;
-       lCheckPIDLambdaNegDaughter    = 1;
+       //      lCheckPIDK0sNegDaughter       = 1;
+       //      lCheckPIDLambdaNegDaughter    = 1;
       }
       if (nSigmaNegProton < cutNSigmaLowP)  lCheckPIDAntiLambdaNegDaughter = 1;
       
     }
     else if (lMomInnerWallNeg > lLimitPPID) {
       if (nSigmaNegPion < cutNSigmaHighP)   {
-       lCheckPIDK0sNegDaughter       = 1;
-       lCheckPIDLambdaNegDaughter    = 1;
+       //      lCheckPIDK0sNegDaughter       = 1;
+       //      lCheckPIDLambdaNegDaughter    = 1;
       }
       if (nSigmaNegProton < cutNSigmaHighP) lCheckPIDAntiLambdaNegDaughter = 1;
     }
  
 
-    /*    
-    if ( lCheckPIDAntiLambdaNegDaughter==1 || lCheckPIDAntiLambdaPosDaughter==1 || lCheckPIDLambdaPosDaughter!=1 || lCheckPIDLambdaNegDaughter!=1)
-      {
-       if (negPiKF) delete negPiKF; negPiKF=NULL;
-       if (posPiKF) delete posPiKF; posPiKF=NULL;
-       if (posPKF)  delete posPKF;  posPKF=NULL;
-       if (negAPKF) delete negAPKF; negAPKF=NULL;
-
-       continue;
-      }     
-    */
-    //*****************************
-    // filling histograms
-    //*****************************
-    /*
+   
     ///////////////values for cuts/////////////////////////////////////////////////////////////////////////////////////////
-    if ((lDcaPosToPrimVertex<=0.1) || (lDcaNegToPrimVertex<=0.1) || (lDcaV0Daughters>=1.00) || 
-       (lV0cosPointAngle<=0.998) || (lV0Radius<=0.9) || (lV0Radius>=100) ) 
+    if ((lDcaPosToPrimVertex < 0.1) || (lDcaNegToPrimVertex < 0.1) || (lDcaV0Daughters > 1.00) || 
+       (lV0cosPointAngle < 0.998) || (lV0Radius < 0.9) || (lV0Radius > 100) ) 
+
+      {continue;}
        
-      {
+    /*  {
        if (negPiKF) delete negPiKF; negPiKF=NULL;
        if (posPiKF) delete posPiKF; posPiKF=NULL;
        if (posPKF)  delete posPKF;  posPKF=NULL;
        if (negAPKF) delete negAPKF; negAPKF=NULL;
 
        continue;}
-    //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-    */
+       //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+       */
+
+
+    /////////////////////////////////
+    //PID for Lambda and AntiLambda
+    /////////////////////////////////
     
-    if(fUsePID.Contains("withPID") && (lCheckPIDAntiLambdaNegDaughter==0) && lCheckPIDLambdaPosDaughter==1) LambdaPID = 1;
+    if(fUsePID.Contains("withPID") && (lCheckPIDAntiLambdaNegDaughter==0) && (lCheckPIDLambdaPosDaughter==1)) LambdaPID = 1;
+
     else LambdaPID =0;
-    if(fUsePID.Contains("withPID") && (lCheckPIDLambdaPosDaughter==0) && lCheckPIDAntiLambdaNegDaughter==1) AntiLambdaPID = 1;
+
+    if(fUsePID.Contains("withPID") && (lCheckPIDLambdaPosDaughter==0) && (lCheckPIDAntiLambdaNegDaughter==1)) AntiLambdaPID = 1;
+
     else AntiLambdaPID =0;
 
-    V0momentum = TMath::Sqrt(lPzLambda*lPzLambda + lPtLambda*lPtLambda);
 
-    if ((LambdaPID==1 && V0momentum <=1) || (V0momentum>1) ||  !(fUsePID.Contains("withPID"))){  
-      if ((TMath::Abs(lRapK0s) < lCutRap) && lOnFlyStatus==0) {
-       if (myTrackPos)
-         fHistTPCsignalPt->Fill(V0momentum,myTrackPos->GetTPCsignal());
-       // if (myTrackNeg)
-       // fHistTPCsignalPt->Fill(V0momentum,myTrackNeg->GetTPCsignal());
-      }
+    ///////////////////////////////////////////////////////////////////////////////////////////
+    //    if ((LambdaPID==1 && lPosMom <=1) || (lPosMom>1) ||  !(fUsePID.Contains("withPID"))){  
+    //      if ((TMath::Abs(lRapLambda) < lCutRap) && lOnFlyStatus==0) {
+    //      fHistTPCsigPLambda->Fill(lPosMom,myTrackPos->GetTPCsignal());
+    //
+    //            TestTrackCuts->SetRequireITSRefit(kFALSE);
+    //    if(TestTrackCuts->IsSelected(myTrackPos)) fHistPtTracksP->Fill(V0mom[2]);
+    //    TestTrackCuts->SetRequireITSRefit(kTRUE);
+    //    if(TestTrackCuts->IsSelected(myTrackPos)) fHistPtTracksPITSRefit->Fill(V0mom[2]);
+    //        }
+    //
+    //    }
+    //
+    //    if ((AntiLambdaPID==1 && lNegMom <=1) || (lNegMom>1) ||  !(fUsePID.Contains("withPID"))){  
+    //      if ((TMath::Abs(lRapAntiLambda) < lCutRap) && lOnFlyStatus==0) {
+    //      fHistTPCsigPAntiLambda->Fill(lNegMom,myTrackNeg->GetTPCsignal());
+    //
+    //      }
+    //    }
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+
+
+    //    lPLambda = TMath::Sqrt(lPzLambda*lPzLambda + lPtLambda*lPtLambda);
+    //    lPtLambda = TMath::Sqrt(lPzLambda*lPzLambda + lPtLambda*lPtLambda);
+
+    //    lPAntiLambda = TMath::Sqrt(lPzAntiLambda*lPzAntiLambda + lPtAntiLambda*lPtAntiLambda);
+    //    lPtAntiLambda = TMath::Sqrt(lPtAntiLambda*lPtAntiLambda);
+
+    //    lPK0s = TMath::Sqrt(lPzK0s*lPzK0s + lPtK0s*lPtK0s);
+    //   lPtK0s = TMath::Sqrt(lPtK0s*lPtK0s);
+
+    //    lcTau     = (lV0DecayLength*lLambdaMass)/lPLambda;
+
+    //ctau for lambda
+    lcTauLambda     = (lV0tDecayLength*lInvMassLambda)/lPtLambda;
+
+    //ctau for antilambda
+    lcTauAntiLambda = (lV0tDecayLength*lInvMassAntiLambda)/lPtAntiLambda;
+
+    //ctau for K0s
+    lcTauK0s        = (lV0tDecayLength*lInvMassK0s)/lPtK0s;
+
+
+    //*****************************
+    // filling histograms
+    //*****************************
+
+    if (lPLambda <1 && lOnFlyStatus==0 ){
+      fHistArmenterosPodolanski->Fill(lAlphaV0,lPtArmV0);
     }
 
-    if ((V0momentum)<1 && lOnFlyStatus==0 ){
-        fHistArmenterosPodolanski->Fill(lAlphaV0,lPtArmV0);
-         }
 
 
+    ////////////////
+    //K0s particle
+    ////////////////
 
 
 
-    // insert PID condition for K0s instead of "kTRUE" value
-    if ((fUsePID.Contains("withPID") && kTRUE) || !(fUsePID.Contains("withPID"))){  
-      if (TMath::Abs(lRapK0s) < lCutRap ) {
+    if (TMath::Abs(lRapK0s) < lCutRap ) {
+      if (lOnFlyStatus==0) fHistTranscTauVsMassK0s->Fill(lcTauK0s,lInvMassK0s);
+      if (lcTauK0s< cutcTauK0s) {
 
        //////2D histos: cut vs on fly status/////////////////////
 
@@ -2588,10 +2950,12 @@ void AliAnalysisTaskPerformanceStrange::UserExec(Option_t *)
        if (lOnFlyStatus==0){
         
 
-       fHistMassK0->Fill(lInvMassK0s);
-       fHistMassVsRadiusK0->Fill(rcPosRK0s,lInvMassK0s);
-       fHistPtVsMassK0->Fill(lInvMassK0s,lPtK0s);
+         fHistMassK0->Fill(lInvMassK0s);
+         fHistMassVsRadiusK0->Fill(rcPosRK0s,lInvMassK0s);
+         fHistPtVsMassK0->Fill(lInvMassK0s,lPtK0s);
+
 
+         if (TMath::Abs(lRapK0s) < 0.3 )       fHistPtVsMassK0Rap3->Fill(lInvMassK0s,lPtK0s);
 
          fHistDcaPosToPrimVertexK0vsMassK0->Fill(lDcaPosToPrimVertex,lInvMassK0s);
          fHistDcaNegToPrimVertexK0vsMassK0->Fill(lDcaNegToPrimVertex,lInvMassK0s);
@@ -2599,156 +2963,180 @@ void AliAnalysisTaskPerformanceStrange::UserExec(Option_t *)
          fHistDecayLengthV0K0vsMassK0->Fill(lV0DecayLength,lInvMassK0s);
          fHistDcaV0DaughtersK0vsMassK0->Fill(lDcaV0Daughters,lInvMassK0s);
          fHistCosPointAngleK0vsMassK0->Fill(lV0cosPointAngle,lInvMassK0s);
-
-         if (lPtK0s>0 && lPtK0s <3){ 
-           fHistDcaPosToPrimVertexK0vsMassK0pt1->Fill(lDcaPosToPrimVertex,lInvMassK0s);
-           fHistDcaNegToPrimVertexK0vsMassK0pt1->Fill(lDcaNegToPrimVertex,lInvMassK0s);
-           fHistRadiusV0K0vsMassK0pt1->Fill(lV0Radius,lInvMassK0s);
-           fHistDecayLengthV0K0vsMassK0pt1->Fill(lV0DecayLength,lInvMassK0s);
-           fHistDcaV0DaughtersK0vsMassK0pt1->Fill(lDcaV0Daughters,lInvMassK0s);
-           fHistCosPointAngleK0vsMassK0pt1->Fill(lV0cosPointAngle,lInvMassK0s);
-         }   
-         if (lPtK0s > 3 && lPtK0s < 6){ 
-           fHistDcaPosToPrimVertexK0vsMassK0pt2->Fill(lDcaPosToPrimVertex,lInvMassK0s);
-           fHistDcaNegToPrimVertexK0vsMassK0pt2->Fill(lDcaNegToPrimVertex,lInvMassK0s);
-           fHistRadiusV0K0vsMassK0pt2->Fill(lV0Radius,lInvMassK0s);
-           fHistDecayLengthV0K0vsMassK0pt2->Fill(lV0DecayLength,lInvMassK0s);
-           fHistDcaV0DaughtersK0vsMassK0pt2->Fill(lDcaV0Daughters,lInvMassK0s);
-           fHistCosPointAngleK0vsMassK0pt2->Fill(lV0cosPointAngle,lInvMassK0s);
-         }   
-         if (lPtK0s > 6 && lPtK0s < 10){ 
-           fHistDcaPosToPrimVertexK0vsMassK0pt3->Fill(lDcaPosToPrimVertex,lInvMassK0s);
-           fHistDcaNegToPrimVertexK0vsMassK0pt3->Fill(lDcaNegToPrimVertex,lInvMassK0s);
-           fHistRadiusV0K0vsMassK0pt3->Fill(lV0Radius,lInvMassK0s);
-           fHistDecayLengthV0K0vsMassK0pt3->Fill(lV0DecayLength,lInvMassK0s);
-           fHistDcaV0DaughtersK0vsMassK0pt3->Fill(lDcaV0Daughters,lInvMassK0s);
-           fHistCosPointAngleK0vsMassK0pt3->Fill(lV0cosPointAngle,lInvMassK0s);
-         }   
+         if(fQASelector){
+           if (lPtK0s>0 && lPtK0s <3){ 
+             fHistDcaPosToPrimVertexK0vsMassK0pt1->Fill(lDcaPosToPrimVertex,lInvMassK0s);
+             fHistDcaNegToPrimVertexK0vsMassK0pt1->Fill(lDcaNegToPrimVertex,lInvMassK0s);
+             fHistRadiusV0K0vsMassK0pt1->Fill(lV0Radius,lInvMassK0s);
+             fHistDecayLengthV0K0vsMassK0pt1->Fill(lV0DecayLength,lInvMassK0s);
+             fHistDcaV0DaughtersK0vsMassK0pt1->Fill(lDcaV0Daughters,lInvMassK0s);
+             fHistCosPointAngleK0vsMassK0pt1->Fill(lV0cosPointAngle,lInvMassK0s);
+           }   
+           if (lPtK0s > 3 && lPtK0s < 6){ 
+             fHistDcaPosToPrimVertexK0vsMassK0pt2->Fill(lDcaPosToPrimVertex,lInvMassK0s);
+             fHistDcaNegToPrimVertexK0vsMassK0pt2->Fill(lDcaNegToPrimVertex,lInvMassK0s);
+             fHistRadiusV0K0vsMassK0pt2->Fill(lV0Radius,lInvMassK0s);
+             fHistDecayLengthV0K0vsMassK0pt2->Fill(lV0DecayLength,lInvMassK0s);
+             fHistDcaV0DaughtersK0vsMassK0pt2->Fill(lDcaV0Daughters,lInvMassK0s);
+             fHistCosPointAngleK0vsMassK0pt2->Fill(lV0cosPointAngle,lInvMassK0s);
+           }   
+           if (lPtK0s > 6 && lPtK0s < 10){ 
+             fHistDcaPosToPrimVertexK0vsMassK0pt3->Fill(lDcaPosToPrimVertex,lInvMassK0s);
+             fHistDcaNegToPrimVertexK0vsMassK0pt3->Fill(lDcaNegToPrimVertex,lInvMassK0s);
+             fHistRadiusV0K0vsMassK0pt3->Fill(lV0Radius,lInvMassK0s);
+             fHistDecayLengthV0K0vsMassK0pt3->Fill(lV0DecayLength,lInvMassK0s);
+             fHistDcaV0DaughtersK0vsMassK0pt3->Fill(lDcaV0Daughters,lInvMassK0s);
+             fHistCosPointAngleK0vsMassK0pt3->Fill(lV0cosPointAngle,lInvMassK0s);
+           }   
+         } //fQASelector
        }
       } // if rap. condition
-    } // end if withPID condition
-    
-    // insert PID condition for Lambda instead of "kTRUE" value
-    //    if ((fUsePID.Contains("withPID") && kTRUE )|| !(fUsePID.Contains("withPID"))){  
-    if ((LambdaPID==1 && V0momentum <=1) || (V0momentum>1) ||  !(fUsePID.Contains("withPID"))){  
+    } //end ctau cut
 
-      if (TMath::Abs(lRapLambda) < lCutRap) {
 
-       //////2D histos: cut vs on fly status/////////////////////
+    ///////////////////
+    //Lambda particle    
+    ///////////////////
 
-       fHistDcaPosToPrimVertexL->Fill(lDcaPosToPrimVertex,lOnFlyStatus);
-       fHistDcaNegToPrimVertexL->Fill(lDcaNegToPrimVertex,lOnFlyStatus);
-       fHistRadiusV0L->Fill(lV0Radius,lOnFlyStatus);
-       fHistDecayLengthV0L->Fill(lV0DecayLength,lOnFlyStatus);
-       fHistDcaV0DaughtersL->Fill(lDcaV0Daughters,lOnFlyStatus);
-       fHistChi2L->Fill(lChi2V0,lOnFlyStatus);
-       fHistCosPointAngleL->Fill(lV0cosPointAngle,lOnFlyStatus);
 
-       //////2D histos: cut vs mass/////////////////////
 
-       if (lOnFlyStatus==0){
-       fHistMassLambda->Fill(lInvMassLambda);
-       fHistMassVsRadiusLambda->Fill(rcPosRLambda,lInvMassLambda);
-       fHistPtVsMassLambda->Fill(lInvMassLambda,lPtLambda);
-        if(V0momentum <=1) fHistNSigmaProton->Fill(nSigmaPosProton);
-
-         fHistDcaPosToPrimVertexLvsMassL->Fill(lDcaPosToPrimVertex,lInvMassLambda);
-         fHistDcaNegToPrimVertexLvsMassL->Fill(lDcaNegToPrimVertex,lInvMassLambda);
-         fHistRadiusV0LvsMassL->Fill(lV0Radius,lInvMassLambda);
-         fHistDecayLengthV0LvsMassL->Fill(lV0DecayLength,lInvMassLambda);
-         fHistDcaV0DaughtersLvsMassL->Fill(lDcaV0Daughters,lInvMassLambda);
-         fHistCosPointAngleLvsMassL->Fill(lV0cosPointAngle,lInvMassLambda);
-
-            
-         if (lPtLambda>0 && lPtLambda <3){ 
-           fHistDcaPosToPrimVertexLambdaVsMasspt1->Fill(lDcaPosToPrimVertex,lInvMassLambda);
-           fHistDcaNegToPrimVertexLambdaVsMasspt1->Fill(lDcaNegToPrimVertex,lInvMassLambda);
-           fHistRadiusV0LambdaVsMasspt1->Fill(lV0Radius,lInvMassLambda);
-           fHistDecayLengthV0LambdaVsMasspt1->Fill(lV0DecayLength,lInvMassLambda);
-           fHistDcaV0DaughtersLambdaVsMasspt1->Fill(lDcaV0Daughters,lInvMassLambda);
-           fHistCosPointAngleLambdaVsMasspt1->Fill(lV0cosPointAngle,lInvMassLambda);
-         }   
-         if (lPtLambda > 3 && lPtLambda < 6){ 
-           fHistDcaPosToPrimVertexLambdaVsMasspt2->Fill(lDcaPosToPrimVertex,lInvMassLambda);
-           fHistDcaNegToPrimVertexLambdaVsMasspt2->Fill(lDcaNegToPrimVertex,lInvMassLambda);
-           fHistRadiusV0LambdaVsMasspt2->Fill(lV0Radius,lInvMassLambda);
-           fHistDecayLengthV0LambdaVsMasspt2->Fill(lV0DecayLength,lInvMassLambda);
-           fHistDcaV0DaughtersLambdaVsMasspt2->Fill(lDcaV0Daughters,lInvMassLambda);
-           fHistCosPointAngleLambdaVsMasspt2->Fill(lV0cosPointAngle,lInvMassLambda);
-         }   
-         if (lPtLambda > 6 && lPtLambda < 10){ 
-           fHistDcaPosToPrimVertexLambdaVsMasspt3->Fill(lDcaPosToPrimVertex,lInvMassLambda);
-           fHistDcaNegToPrimVertexLambdaVsMasspt3->Fill(lDcaNegToPrimVertex,lInvMassLambda);
-           fHistRadiusV0LambdaVsMasspt3->Fill(lV0Radius,lInvMassLambda);
-           fHistDecayLengthV0LambdaVsMasspt3->Fill(lV0DecayLength,lInvMassLambda);
-           fHistDcaV0DaughtersLambdaVsMasspt3->Fill(lDcaV0Daughters,lInvMassLambda);
-           fHistCosPointAngleLambdaVsMasspt3->Fill(lV0cosPointAngle,lInvMassLambda);
-         }   
-       }
-      } //end of Rap condition
-    } // end of PID condition
 
-    /////////// Anti Lambda ///////////////
-    if ((AntiLambdaPID==1 && lPtAntiLambda <=1) || (lPtAntiLambda>1) ||  !(fUsePID.Contains("withPID"))){  
-      if (TMath::Abs(lRapAntiLambda) < lCutRap) {
+    if ((LambdaPID==1 && lMomInnerWallPos <=1 ) || (lMomInnerWallPos > 1) ||  !(fUsePID.Contains("withPID")  )){  
 
-       //////2D histos: cut vs on fly status/////////////////////
+      if (TMath::Abs(lRapLambda) < lCutRap) {
+       if (lOnFlyStatus==0) fHistTranscTauVsMassL->Fill(lcTauLambda,lInvMassLambda);
+       if (lcTauLambda < cutcTauL){
+         //////2D histos: cut vs on fly status/////////////////////
+
+         fHistDcaPosToPrimVertexL->Fill(lDcaPosToPrimVertex,lOnFlyStatus);
+         fHistDcaNegToPrimVertexL->Fill(lDcaNegToPrimVertex,lOnFlyStatus);
+         fHistRadiusV0L->Fill(lV0Radius,lOnFlyStatus);
+         fHistDecayLengthV0L->Fill(lV0DecayLength,lOnFlyStatus);
+         fHistDcaV0DaughtersL->Fill(lDcaV0Daughters,lOnFlyStatus);
+         fHistChi2L->Fill(lChi2V0,lOnFlyStatus);
+         fHistCosPointAngleL->Fill(lV0cosPointAngle,lOnFlyStatus);
+
+         //////2D histos: cut vs mass/////////////////////
+
+         if (lOnFlyStatus==0){
+           fHistMassLambda->Fill(lInvMassLambda);
+           fHistMassVsRadiusLambda->Fill(rcPosRLambda,lInvMassLambda);
+           fHistPtVsMassLambda->Fill(lInvMassLambda,lPtLambda);
+
+           if (TMath::Abs(lRapLambda) < 0.3 ) fHistPtVsMassLambdaRap3->Fill(lInvMassLambda,lPtLambda);
+
+           if(lPtLambda <=1) fHistNSigmaProton->Fill(nSigmaPosProton);
+
+           fHistDcaPosToPrimVertexLvsMassL->Fill(lDcaPosToPrimVertex,lInvMassLambda);
+           fHistDcaNegToPrimVertexLvsMassL->Fill(lDcaNegToPrimVertex,lInvMassLambda);
+           fHistRadiusV0LvsMassL->Fill(lV0Radius,lInvMassLambda);
+           fHistDecayLengthV0LvsMassL->Fill(lV0DecayLength,lInvMassLambda);
+           fHistDcaV0DaughtersLvsMassL->Fill(lDcaV0Daughters,lInvMassLambda);
+           fHistCosPointAngleLvsMassL->Fill(lV0cosPointAngle,lInvMassLambda);
+
+           if(fQASelector){            
+             if (lPtLambda>0 && lPtLambda <3){ 
+               fHistDcaPosToPrimVertexLambdaVsMasspt1->Fill(lDcaPosToPrimVertex,lInvMassLambda);
+               fHistDcaNegToPrimVertexLambdaVsMasspt1->Fill(lDcaNegToPrimVertex,lInvMassLambda);
+               fHistRadiusV0LambdaVsMasspt1->Fill(lV0Radius,lInvMassLambda);
+               fHistDecayLengthV0LambdaVsMasspt1->Fill(lV0DecayLength,lInvMassLambda);
+               fHistDcaV0DaughtersLambdaVsMasspt1->Fill(lDcaV0Daughters,lInvMassLambda);
+               fHistCosPointAngleLambdaVsMasspt1->Fill(lV0cosPointAngle,lInvMassLambda);
+             }   
+             if (lPtLambda > 3 && lPtLambda < 6){ 
+               fHistDcaPosToPrimVertexLambdaVsMasspt2->Fill(lDcaPosToPrimVertex,lInvMassLambda);
+               fHistDcaNegToPrimVertexLambdaVsMasspt2->Fill(lDcaNegToPrimVertex,lInvMassLambda);
+               fHistRadiusV0LambdaVsMasspt2->Fill(lV0Radius,lInvMassLambda);
+               fHistDecayLengthV0LambdaVsMasspt2->Fill(lV0DecayLength,lInvMassLambda);
+               fHistDcaV0DaughtersLambdaVsMasspt2->Fill(lDcaV0Daughters,lInvMassLambda);
+               fHistCosPointAngleLambdaVsMasspt2->Fill(lV0cosPointAngle,lInvMassLambda);
+             }   
+             if (lPtLambda > 6 && lPtLambda < 10){ 
+               fHistDcaPosToPrimVertexLambdaVsMasspt3->Fill(lDcaPosToPrimVertex,lInvMassLambda);
+               fHistDcaNegToPrimVertexLambdaVsMasspt3->Fill(lDcaNegToPrimVertex,lInvMassLambda);
+               fHistRadiusV0LambdaVsMasspt3->Fill(lV0Radius,lInvMassLambda);
+               fHistDecayLengthV0LambdaVsMasspt3->Fill(lV0DecayLength,lInvMassLambda);
+               fHistDcaV0DaughtersLambdaVsMasspt3->Fill(lDcaV0Daughters,lInvMassLambda);
+               fHistCosPointAngleLambdaVsMasspt3->Fill(lV0cosPointAngle,lInvMassLambda);
+             }   
+           }//QA Selector
+         }
+       } //end of Rap condition
+      } // end of PID condition
+    } // end ctau condition
 
-       fHistDcaPosToPrimVertexAntiL->Fill(lDcaPosToPrimVertex,lOnFlyStatus);
-       fHistDcaNegToPrimVertexAntiL->Fill(lDcaNegToPrimVertex,lOnFlyStatus);
-       fHistRadiusV0AntiL->Fill(lV0Radius,lOnFlyStatus);
-       fHistDecayLengthV0AntiL->Fill(lV0DecayLength,lOnFlyStatus);
-       fHistDcaV0DaughtersAntiL->Fill(lDcaV0Daughters,lOnFlyStatus);
-       fHistChi2AntiL->Fill(lChi2V0,lOnFlyStatus);
-       fHistCosPointAngleAntiL->Fill(lV0cosPointAngle,lOnFlyStatus);
 
-       //////2D histos: cut vs mass/////////////////////
+    //////////////////////////////
+    // Anti Lambda ///////////////
+    //////////////////////////////
 
-       if (lOnFlyStatus==0){
 
-               fHistMassAntiLambda->Fill(lInvMassAntiLambda);
-               fHistMassVsRadiusAntiLambda->Fill(rcPosRAntiLambda,lInvMassAntiLambda);
-               fHistPtVsMassAntiLambda->Fill(lInvMassAntiLambda,lPtAntiLambda);
-
-
-         fHistDcaPosToPrimVertexAntiLvsMass->Fill(lDcaPosToPrimVertex,lInvMassAntiLambda);
-         fHistDcaNegToPrimVertexAntiLvsMass->Fill(lDcaNegToPrimVertex,lInvMassAntiLambda);
-         fHistRadiusV0AntiLvsMass->Fill(lV0Radius,lInvMassAntiLambda);
-         fHistDecayLengthV0AntiLvsMass->Fill(lV0DecayLength,lInvMassAntiLambda);
-         fHistDcaV0DaughtersAntiLvsMass->Fill(lDcaV0Daughters,lInvMassAntiLambda);
-         fHistCosPointAngleAntiLvsMass->Fill(lV0cosPointAngle,lInvMassAntiLambda);
-
-            
-         if (lPtAntiLambda>0 && lPtAntiLambda <3){ 
-           fHistDcaPosToPrimVertexAntiLVsMasspt1->Fill(lDcaPosToPrimVertex,lInvMassAntiLambda);
-           fHistDcaNegToPrimVertexAntiLVsMasspt1->Fill(lDcaNegToPrimVertex,lInvMassAntiLambda);
-           fHistRadiusV0AntiLVsMasspt1->Fill(lV0Radius,lInvMassAntiLambda);
-           fHistDecayLengthV0AntiLVsMasspt1->Fill(lV0DecayLength,lInvMassAntiLambda);
-           fHistDcaV0DaughtersAntiLVsMasspt1->Fill(lDcaV0Daughters,lInvMassAntiLambda);
-           fHistCosPointAngleAntiLVsMasspt1->Fill(lV0cosPointAngle,lInvMassAntiLambda);
-         }   
-         if (lPtAntiLambda > 3 && lPtAntiLambda < 6){ 
-           fHistDcaPosToPrimVertexAntiLVsMasspt2->Fill(lDcaPosToPrimVertex,lInvMassAntiLambda);
-           fHistDcaNegToPrimVertexAntiLVsMasspt2->Fill(lDcaNegToPrimVertex,lInvMassAntiLambda);
-           fHistRadiusV0AntiLVsMasspt2->Fill(lV0Radius,lInvMassAntiLambda);
-           fHistDecayLengthV0AntiLVsMasspt2->Fill(lV0DecayLength,lInvMassAntiLambda);
-           fHistDcaV0DaughtersAntiLVsMasspt2->Fill(lDcaV0Daughters,lInvMassAntiLambda);
-           fHistCosPointAngleAntiLVsMasspt2->Fill(lV0cosPointAngle,lInvMassAntiLambda);
-         }   
-         if (lPtAntiLambda > 6 && lPtAntiLambda < 10){ 
-           fHistDcaPosToPrimVertexAntiLVsMasspt3->Fill(lDcaPosToPrimVertex,lInvMassAntiLambda);
-           fHistDcaNegToPrimVertexAntiLVsMasspt3->Fill(lDcaNegToPrimVertex,lInvMassAntiLambda);
-           fHistRadiusV0AntiLVsMasspt3->Fill(lV0Radius,lInvMassAntiLambda);
-           fHistDecayLengthV0AntiLVsMasspt3->Fill(lV0DecayLength,lInvMassAntiLambda);
-           fHistDcaV0DaughtersAntiLVsMasspt3->Fill(lDcaV0Daughters,lInvMassAntiLambda);
-           fHistCosPointAngleAntiLVsMasspt3->Fill(lV0cosPointAngle,lInvMassAntiLambda);
-         }   
-       }
-      } //end of Rap condition
-    } // end of PID condition
+
+    if ((AntiLambdaPID==1 && lMomInnerWallNeg <=1) || (lMomInnerWallNeg>1) ||  !(fUsePID.Contains("withPID"))){  
+
+      if (TMath::Abs(lRapAntiLambda) < lCutRap) {
+       if (lOnFlyStatus==0) fHistTranscTauVsMassAntiL->Fill(lcTauAntiLambda,lInvMassAntiLambda);
+       if (lcTauAntiLambda < cutcTauL){
+         //////2D histos: cut vs on fly status/////////////////////
+
+         fHistDcaPosToPrimVertexAntiL->Fill(lDcaPosToPrimVertex,lOnFlyStatus);
+         fHistDcaNegToPrimVertexAntiL->Fill(lDcaNegToPrimVertex,lOnFlyStatus);
+         fHistRadiusV0AntiL->Fill(lV0Radius,lOnFlyStatus);
+         fHistDecayLengthV0AntiL->Fill(lV0DecayLength,lOnFlyStatus);
+         fHistDcaV0DaughtersAntiL->Fill(lDcaV0Daughters,lOnFlyStatus);
+         fHistChi2AntiL->Fill(lChi2V0,lOnFlyStatus);
+         fHistCosPointAngleAntiL->Fill(lV0cosPointAngle,lOnFlyStatus);
+
+         //////2D histos: cut vs mass/////////////////////
+
+         if (lOnFlyStatus==0){
+
+           fHistMassAntiLambda->Fill(lInvMassAntiLambda);
+           fHistMassVsRadiusAntiLambda->Fill(rcPosRAntiLambda,lInvMassAntiLambda);
+           fHistPtVsMassAntiLambda->Fill(lInvMassAntiLambda,lPtAntiLambda);
+
+           if (TMath::Abs(lRapAntiLambda) < 0.3) fHistPtVsMassAntiLambdaRap3->Fill(lInvMassAntiLambda,lPtAntiLambda);
+
+
+           fHistDcaPosToPrimVertexAntiLvsMass->Fill(lDcaPosToPrimVertex,lInvMassAntiLambda);
+           fHistDcaNegToPrimVertexAntiLvsMass->Fill(lDcaNegToPrimVertex,lInvMassAntiLambda);
+           fHistRadiusV0AntiLvsMass->Fill(lV0Radius,lInvMassAntiLambda);
+           fHistDecayLengthV0AntiLvsMass->Fill(lV0DecayLength,lInvMassAntiLambda);
+           fHistDcaV0DaughtersAntiLvsMass->Fill(lDcaV0Daughters,lInvMassAntiLambda);
+           fHistCosPointAngleAntiLvsMass->Fill(lV0cosPointAngle,lInvMassAntiLambda);
+
+           if(fQASelector){            
+             if (lPtAntiLambda>0 && lPtAntiLambda <3){ 
+               fHistDcaPosToPrimVertexAntiLVsMasspt1->Fill(lDcaPosToPrimVertex,lInvMassAntiLambda);
+               fHistDcaNegToPrimVertexAntiLVsMasspt1->Fill(lDcaNegToPrimVertex,lInvMassAntiLambda);
+               fHistRadiusV0AntiLVsMasspt1->Fill(lV0Radius,lInvMassAntiLambda);
+               fHistDecayLengthV0AntiLVsMasspt1->Fill(lV0DecayLength,lInvMassAntiLambda);
+               fHistDcaV0DaughtersAntiLVsMasspt1->Fill(lDcaV0Daughters,lInvMassAntiLambda);
+               fHistCosPointAngleAntiLVsMasspt1->Fill(lV0cosPointAngle,lInvMassAntiLambda);
+             }   
+             if (lPtAntiLambda > 3 && lPtAntiLambda < 6){ 
+               fHistDcaPosToPrimVertexAntiLVsMasspt2->Fill(lDcaPosToPrimVertex,lInvMassAntiLambda);
+               fHistDcaNegToPrimVertexAntiLVsMasspt2->Fill(lDcaNegToPrimVertex,lInvMassAntiLambda);
+               fHistRadiusV0AntiLVsMasspt2->Fill(lV0Radius,lInvMassAntiLambda);
+               fHistDecayLengthV0AntiLVsMasspt2->Fill(lV0DecayLength,lInvMassAntiLambda);
+               fHistDcaV0DaughtersAntiLVsMasspt2->Fill(lDcaV0Daughters,lInvMassAntiLambda);
+               fHistCosPointAngleAntiLVsMasspt2->Fill(lV0cosPointAngle,lInvMassAntiLambda);
+             }   
+             if (lPtAntiLambda > 6 && lPtAntiLambda < 10){ 
+               fHistDcaPosToPrimVertexAntiLVsMasspt3->Fill(lDcaPosToPrimVertex,lInvMassAntiLambda);
+               fHistDcaNegToPrimVertexAntiLVsMasspt3->Fill(lDcaNegToPrimVertex,lInvMassAntiLambda);
+               fHistRadiusV0AntiLVsMasspt3->Fill(lV0Radius,lInvMassAntiLambda);
+               fHistDecayLengthV0AntiLVsMasspt3->Fill(lV0DecayLength,lInvMassAntiLambda);
+               fHistDcaV0DaughtersAntiLVsMasspt3->Fill(lDcaV0Daughters,lInvMassAntiLambda);
+               fHistCosPointAngleAntiLVsMasspt3->Fill(lV0cosPointAngle,lInvMassAntiLambda);
+             }   
+           } //QA Selector
+         }
+       } //end of Rap condition
+      } // end of PID condition
+    } //end ctau cut
 
 
-    ///////////////values for cuts end////////////////////////////////////////////////////////////////////////
 
 
     // Histo versus Rap and armenteros plot
@@ -2761,227 +3149,265 @@ void AliAnalysisTaskPerformanceStrange::UserExec(Option_t *)
     }
 
 
-    
+    ///////////////////////////////////////////////////    
     // K0s associated histograms in |rap| < lCutRap:
+    ///////////////////////////////////////////////////
 
 
-    if (TMath::Abs(lRapK0s) < lCutRap) {
 
-      fHistNsigmaPosPionK0->Fill(nSigmaPosPion);
-      fHistNsigmaNegPionK0->Fill(nSigmaNegPion);
+
+    if (TMath::Abs(lRapK0s) < lCutRap) {
        
       switch (lOnFlyStatus){
       case 0 : 
-
-
-       //        fHistMultVsPtVsMassK0->Fill(multiplicity ,lInvMassK0s,lPtK0s);
-       if(lCheckPIdK0Short) fHistPidMcMassK0->Fill(lInvMassK0s);
-       if(lCheckMcK0Short) {
-         fHistAsMcMassK0->Fill(lInvMassK0s);
-         fHistAsMcPtK0->Fill(lPtK0s);
-
-
-         fHistAsMcPtVsMassK0->Fill(lInvMassK0s,lPtK0s);
-         if (lPtK0s <= 1) fHistAsMcPtZoomK0->Fill(lPtK0s);
-         fHistAsMcMassVsRadiusK0->Fill(rcPosRK0s,lInvMassK0s);
-         fHistAsMcResxK0->Fill(rcPosXK0s-mcPosX);
-         fHistAsMcResyK0->Fill(rcPosYK0s-mcPosY);
-         fHistAsMcReszK0->Fill(rcPosZK0s-mcPosZ);
-         fHistAsMcResrVsRadiusK0->Fill(rcPosRK0s,rcPosRK0s-mcPosR);
-         fHistAsMcReszVsRadiusK0->Fill(rcPosZK0s,rcPosZK0s-mcPosZ);
-         fHistAsMcProdRadiusK0->Fill(mcPosMotherR);
-         fHistAsMcProdRadiusXvsYK0s->Fill(mcPosMotherX,mcPosMotherY);
-         fHistAsMcResPtK0->Fill(deltaPtK0s);
-         fHistAsMcResPtVsRapK0->Fill(deltaPtK0s,lRapK0s);
-         fHistAsMcResPtVsPtK0->Fill(deltaPtK0s,lPtK0s);
-       }
-       else if (lCheckSecondaryK0s) {
-         fHistAsMcSecondaryPtVsRapK0s->Fill(lPtK0s,lRapK0s);
-         fHistAsMcSecondaryProdRadiusK0s->Fill(mcPosMotherR);
-         fHistAsMcSecondaryProdRadiusXvsYK0s->Fill(mcPosMotherX,mcPosMotherY);
-         switch (lPdgcodeMotherOfMother) {
-         case 130   : fHistAsMcSecondaryMotherPdgCodeK0s->Fill(0.5);break; // K0L
-         case 321   : fHistAsMcSecondaryMotherPdgCodeK0s->Fill(1.5);break; // K+
-         case -321  : fHistAsMcSecondaryMotherPdgCodeK0s->Fill(2.5);break; // K-
-         case -3122 : fHistAsMcSecondaryMotherPdgCodeK0s->Fill(3.5);break; //AntiLambda
-         default    : fHistAsMcSecondaryMotherPdgCodeK0s->Fill(6.5);break;
+       if(lCheckMcK0Short)      fHistAsMcTranscTauK0s->Fill(lcTauK0s);
+       if (lcTauK0s< cutcTauK0s) {
+         fHistNsigmaPosPionK0->Fill(nSigmaPosPion);
+         fHistNsigmaNegPionK0->Fill(nSigmaNegPion);
+
+
+         //      fHistMultVsPtVsMassK0->Fill(multiplicity ,lInvMassK0s,lPtK0s);
+         if(lCheckPIdK0Short) fHistPidMcMassK0->Fill(lInvMassK0s);
+         if(lCheckMcK0Short) {
+           fHistAsMcMassK0->Fill(lInvMassK0s);
+           fHistAsMcPtK0->Fill(lPtK0s);
+           fHistAsMcPtVsMassK0->Fill(lInvMassK0s,lPtK0s);
+
+
+           if (TMath::Abs(lRapK0s) < 0.3){
+             fHistAsMcMassK0Rap3->Fill(lInvMassK0s);
+             fHistAsMcPtK0Rap3->Fill(lPtK0s);
+             fHistAsMcPtVsMassK0Rap3->Fill(lInvMassK0s,lPtK0s);
+           }
+
+
+           if (lPtK0s <= 1) fHistAsMcPtZoomK0->Fill(lPtK0s);
+           fHistAsMcMassVsRadiusK0->Fill(rcPosRK0s,lInvMassK0s);
+           fHistAsMcResxK0->Fill(rcPosXK0s-mcPosX);
+           fHistAsMcResyK0->Fill(rcPosYK0s-mcPosY);
+           fHistAsMcReszK0->Fill(rcPosZK0s-mcPosZ);
+           fHistAsMcResrVsRadiusK0->Fill(rcPosRK0s,rcPosRK0s-mcPosR);
+           fHistAsMcReszVsRadiusK0->Fill(rcPosZK0s,rcPosZK0s-mcPosZ);
+           fHistAsMcProdRadiusK0->Fill(mcPosMotherR);
+           fHistAsMcProdRadiusXvsYK0s->Fill(mcPosMotherX,mcPosMotherY);
+           fHistAsMcResPtK0->Fill(deltaPtK0s);
+           fHistAsMcResPtVsRapK0->Fill(deltaPtK0s,lRapK0s);
+           fHistAsMcResPtVsPtK0->Fill(deltaPtK0s,lPtK0s);
          }
-       }
-       break;
+         else if (lCheckSecondaryK0s) {
+           fHistAsMcSecondaryPtVsRapK0s->Fill(lPtK0s,lRapK0s);
+           fHistAsMcSecondaryProdRadiusK0s->Fill(mcPosMotherR);
+           fHistAsMcSecondaryProdRadiusXvsYK0s->Fill(mcPosMotherX,mcPosMotherY);
+           switch (lPdgcodeMotherOfMother) {
+           case 130   : fHistAsMcSecondaryMotherPdgCodeK0s->Fill(0.5);break; // K0L
+           case 321   : fHistAsMcSecondaryMotherPdgCodeK0s->Fill(1.5);break; // K+
+           case -321  : fHistAsMcSecondaryMotherPdgCodeK0s->Fill(2.5);break; // K-
+           case -3122 : fHistAsMcSecondaryMotherPdgCodeK0s->Fill(3.5);break; //AntiLambda
+           default    : fHistAsMcSecondaryMotherPdgCodeK0s->Fill(6.5);break;
+           }
+         }
+         break;
          
-      }
-    } // end rapidity condition
-
+       }
+      } // end rapidity condition
+    } // end ctau cut
     
-
+    ///////////////////////////////////////////////////
     // Associated Lambda histograms in |rap| < lCutRap
-    if ((LambdaPID==1 && V0momentum <=1) || (V0momentum>1) ||  !(fUsePID.Contains("withPID"))){  
+    ////////////////////////////////////////////////////
 
-    if (TMath::Abs(lRapLambda) < lCutRap) {
 
-      fHistNsigmaPosProtonLambda->Fill(nSigmaPosProton);
-      fHistNsigmaNegPionLambda->Fill(nSigmaNegPion);
+
+    // if ((LambdaPID==1 && lMomInnerWallPos <=1) || (lMomInnerWallPos>1) ||  !(fUsePID.Contains("withPID"))){  
+
+    if (TMath::Abs(lRapLambda) < lCutRap) {
       switch (lOnFlyStatus){
       case 0 : 
+       if(lCheckMcLambda) fHistAsMcTranscTauL->Fill(lcTauLambda);
+       if (lcTauLambda < cutcTauL){    
+         fHistNsigmaPosProtonLambda->Fill(nSigmaPosProton);
+         fHistNsigmaNegPionLambda->Fill(nSigmaNegPion);
 
-       //          fHistMultVsPtVsMassLambda->Fill(multiplicity ,lInvMassLambda,lPtLambda);
-       if(lCheckPIdLambda) fHistPidMcMassLambda->Fill(lInvMassLambda);
+         //          fHistMultVsPtVsMassLambda->Fill(multiplicity ,lInvMassLambda,lPtLambda);
+         if(lCheckPIdLambda) fHistPidMcMassLambda->Fill(lInvMassLambda);
          
-       if(lCheckMcLambda) {
-         fHistAsMcMassLambda->Fill(lInvMassLambda);
-         fHistAsMcPtLambda->Fill(lPtLambda);
-
-         fHistAsMcPtVsMassLambda->Fill(lInvMassLambda,lPtLambda);
-         if (lPtLambda <= 1) fHistAsMcPtZoomLambda->Fill(lPtLambda);
-         fHistAsMcMassVsRadiusLambda->Fill(rcPosRLambda,lInvMassLambda);
-         fHistAsMcResxLambda->Fill(rcPosXLambda-mcPosX);
-         fHistAsMcResyLambda->Fill(rcPosYLambda-mcPosY);
-         fHistAsMcReszLambda->Fill(rcPosZLambda-mcPosZ);
-         fHistAsMcResrVsRadiusLambda->Fill(rcPosRLambda,rcPosRLambda-mcPosR);
-         fHistAsMcReszVsRadiusLambda->Fill(rcPosZLambda,rcPosZLambda-mcPosZ);
-         fHistAsMcProdRadiusLambda->Fill(mcPosMotherR);
-         fHistAsMcProdRadiusXvsYLambda->Fill(mcPosMotherX,mcPosMotherY);
-         fHistAsMcResPtLambda->Fill(deltaPtLambda);
-         fHistAsMcResPtVsRapLambda->Fill(deltaPtLambda,lRapLambda);
-         fHistAsMcResPtVsPtLambda->Fill(deltaPtLambda,lPtLambda);
-         if (lComeFromSigma) fHistAsMcPtLambdaFromSigma->Fill(lPtLambda);
-         switch (lPdgcodeMotherOfMother) {
-         case 3222 : fHistAsMcMotherPdgCodeLambda->Fill(0.5); break; // Sigma +
-         case 3212 : fHistAsMcMotherPdgCodeLambda->Fill(1.5); break; // Sigma 0
-         case 3112 : fHistAsMcMotherPdgCodeLambda->Fill(2.5); break;// Sigma -
-         case 3224 : fHistAsMcMotherPdgCodeLambda->Fill(3.5); break;// Sigma(1385) +
-         case 3214 : fHistAsMcMotherPdgCodeLambda->Fill(4.5); break;// Sigma(1385) 0
-         case 3114 : fHistAsMcMotherPdgCodeLambda->Fill(5.5); break;// Sigma(1385) -
-         case 3322 : fHistAsMcMotherPdgCodeLambda->Fill(6.5); break; // Xi 0
-         case 3312 : fHistAsMcMotherPdgCodeLambda->Fill(7.5); break; // Xi -
-         case 3334 : fHistAsMcMotherPdgCodeLambda->Fill(8.5); break; // Omega
-         case -1   : fHistAsMcMotherPdgCodeLambda->Fill(9.5); break;
-         default   : fHistAsMcMotherPdgCodeLambda->Fill(10.5);break; 
-         }
+         if(lCheckMcLambda) {
+
+           fHistAsMcMassLambda->Fill(lInvMassLambda);
+           fHistAsMcPtLambda->Fill(lPtLambda);
+           //    fHistCosPointAngleLvsMassVsPtsigL->Fill(lPtLambda,lV0cosPointAngle,lInvMassLambda);
+           fHistAsMcPtVsMassLambda->Fill(lInvMassLambda,lPtLambda);
+
+
+           if (TMath::Abs(lRapLambda) < 0.3) {
+             fHistAsMcMassLambdaRap3->Fill(lInvMassLambda);
+             fHistAsMcPtLambdaRap3->Fill(lPtLambda);
+             fHistAsMcPtVsMassLambdaRap3->Fill(lInvMassLambda,lPtLambda);
+           }
+
+
+           if (lPtLambda <= 1) fHistAsMcPtZoomLambda->Fill(lPtLambda);
+           fHistAsMcMassVsRadiusLambda->Fill(rcPosRLambda,lInvMassLambda);
+           fHistAsMcResxLambda->Fill(rcPosXLambda-mcPosX);
+           fHistAsMcResyLambda->Fill(rcPosYLambda-mcPosY);
+           fHistAsMcReszLambda->Fill(rcPosZLambda-mcPosZ);
+           fHistAsMcResrVsRadiusLambda->Fill(rcPosRLambda,rcPosRLambda-mcPosR);
+           fHistAsMcReszVsRadiusLambda->Fill(rcPosZLambda,rcPosZLambda-mcPosZ);
+           fHistAsMcProdRadiusLambda->Fill(mcPosMotherR);
+           fHistAsMcProdRadiusXvsYLambda->Fill(mcPosMotherX,mcPosMotherY);
+           fHistAsMcResPtLambda->Fill(deltaPtLambda);
+           fHistAsMcResPtVsRapLambda->Fill(deltaPtLambda,lRapLambda);
+           fHistAsMcResPtVsPtLambda->Fill(deltaPtLambda,lPtLambda);
+           if (lComeFromSigma) fHistAsMcPtLambdaFromSigma->Fill(lPtLambda);
+           switch (lPdgcodeMotherOfMother) {
+           case 3222 : fHistAsMcMotherPdgCodeLambda->Fill(0.5); break; // Sigma +
+           case 3212 : fHistAsMcMotherPdgCodeLambda->Fill(1.5); break; // Sigma 0
+           case 3112 : fHistAsMcMotherPdgCodeLambda->Fill(2.5); break;// Sigma -
+           case 3224 : fHistAsMcMotherPdgCodeLambda->Fill(3.5); break;// Sigma(1385) +
+           case 3214 : fHistAsMcMotherPdgCodeLambda->Fill(4.5); break;// Sigma(1385) 0
+           case 3114 : fHistAsMcMotherPdgCodeLambda->Fill(5.5); break;// Sigma(1385) -
+           case 3322 : fHistAsMcMotherPdgCodeLambda->Fill(6.5); break; // Xi 0
+           case 3312 : fHistAsMcMotherPdgCodeLambda->Fill(7.5); break; // Xi -
+           case 3334 : fHistAsMcMotherPdgCodeLambda->Fill(8.5); break; // Omega
+           case -1   : fHistAsMcMotherPdgCodeLambda->Fill(9.5); break;
+           default   : fHistAsMcMotherPdgCodeLambda->Fill(10.5);break; 
+           }
    
-         //printf("found Lambda RC dcaPos=%e dcaNeg=%e dcaDau=%e cosP=%e pT=%e mass=%e\n",lDcaPosToPrimVertex ,lDcaNegToPrimVertex ,lDcaV0Daughters,lV0cosPointAngle,lPtLambda,lInvMassLambda);
-         //printf("found Lambda RC Pindex=%d  Nindex=%d  Plabel=%d  Nlabel=%d\n\n",lIndexTrackPos,lIndexTrackNeg,lLabelTrackPos,lLabelTrackNeg);
+           //printf("found Lambda RC dcaPos=%e dcaNeg=%e dcaDau=%e cosP=%e pT=%e mass=%e\n",lDcaPosToPrimVertex ,lDcaNegToPrimVertex ,lDcaV0Daughters,lV0cosPointAngle,lPtLambda,lInvMassLambda);
+           //printf("found Lambda RC Pindex=%d  Nindex=%d  Plabel=%d  Nlabel=%d\n\n",lIndexTrackPos,lIndexTrackNeg,lLabelTrackPos,lLabelTrackNeg);
            
-       }
+         }
          
-       else if (lCheckSecondaryLambda) {
-         fHistAsMcSecondaryPtVsRapLambda->Fill(lPtLambda,lRapLambda);
-         fHistAsMcSecondaryProdRadiusLambda->Fill(mcPosMotherR); 
-         fHistAsMcSecondaryProdRadiusXvsYLambda->Fill(mcPosMotherX,mcPosMotherY);
-         if (lComeFromSigma) fHistAsMcSecondaryPtLambdaFromSigma->Fill(lPtLambda);
-         printf(" lPdgcodeMotherOfMother= %d",lPdgcodeMotherOfMother);
-         switch (lPdgcodeMotherOfMother) {
-         case 3222 : fHistAsMcSecondaryMotherPdgCodeLambda->Fill(0.5); break;// Sigma +
-         case 3212 : fHistAsMcSecondaryMotherPdgCodeLambda->Fill(1.5); break;// Sigma 0
-         case 3112 : fHistAsMcSecondaryMotherPdgCodeLambda->Fill(2.5); break;// Sigma -
-         case 3224 : fHistAsMcSecondaryMotherPdgCodeLambda->Fill(3.5); break;// Sigma(1385) +
-         case 3214 : fHistAsMcSecondaryMotherPdgCodeLambda->Fill(4.5); break;// Sigma(1385) 0
-         case 3114 : fHistAsMcSecondaryMotherPdgCodeLambda->Fill(5.5); break;// Sigma(1385) -
-         case 3322 : fHistAsMcSecondaryMotherPdgCodeLambda->Fill(6.5); break; // Xi 0
-         case 3312 : fHistAsMcSecondaryMotherPdgCodeLambda->Fill(7.5); break; // Xi -
-         case 3334 : fHistAsMcSecondaryMotherPdgCodeLambda->Fill(8.5); break; // Omega
-         case -1   : fHistAsMcSecondaryMotherPdgCodeLambda->Fill(9.5); break;
-         default   : fHistAsMcSecondaryMotherPdgCodeLambda->Fill(10.5);break;
+         else if (lCheckSecondaryLambda) {
+           fHistAsMcSecondaryPtVsRapLambda->Fill(lPtLambda,lRapLambda);
+           fHistAsMcSecondaryProdRadiusLambda->Fill(mcPosMotherR); 
+           fHistAsMcSecondaryProdRadiusXvsYLambda->Fill(mcPosMotherX,mcPosMotherY);
+           if (lComeFromSigma) fHistAsMcSecondaryPtLambdaFromSigma->Fill(lPtLambda);
+           printf(" lPdgcodeMotherOfMother= %d",lPdgcodeMotherOfMother);
+           switch (lPdgcodeMotherOfMother) {
+           case 3222 : fHistAsMcSecondaryMotherPdgCodeLambda->Fill(0.5); break;// Sigma +
+           case 3212 : fHistAsMcSecondaryMotherPdgCodeLambda->Fill(1.5); break;// Sigma 0
+           case 3112 : fHistAsMcSecondaryMotherPdgCodeLambda->Fill(2.5); break;// Sigma -
+           case 3224 : fHistAsMcSecondaryMotherPdgCodeLambda->Fill(3.5); break;// Sigma(1385) +
+           case 3214 : fHistAsMcSecondaryMotherPdgCodeLambda->Fill(4.5); break;// Sigma(1385) 0
+           case 3114 : fHistAsMcSecondaryMotherPdgCodeLambda->Fill(5.5); break;// Sigma(1385) -
+           case 3322 : fHistAsMcSecondaryMotherPdgCodeLambda->Fill(6.5); break; // Xi 0
+           case 3312 : fHistAsMcSecondaryMotherPdgCodeLambda->Fill(7.5); break; // Xi -
+           case 3334 : fHistAsMcSecondaryMotherPdgCodeLambda->Fill(8.5); break; // Omega
+           case -1   : fHistAsMcSecondaryMotherPdgCodeLambda->Fill(9.5); break;
+           default   : fHistAsMcSecondaryMotherPdgCodeLambda->Fill(10.5);break;
+           }
          }
-       }
-       break;
+         
+         //         if(!lCheckMcLambda)fHistCosPointAngleLvsMassVsPtbackL->Fill(lPtLambda,lV0cosPointAngle,lInvMassLambda);
+         break;
          
-      }
-    } // end rapidity condition
-    }// end PID condition
+       }
+      } // end rapidity condition
+      //  }// end PID condition
+    }// end ctau condition
+
+    ////////////////////////////////////////////////////////
     // Associated AntiLambda histograms in |rap| < lCutRap
-    if ((AntiLambdaPID==1 && lPtAntiLambda <=1) || (lPtAntiLambda>1) ||  !(fUsePID.Contains("withPID"))){          
+    ////////////////////////////////////////////////////////
 
-    if (TMath::Abs(lRapAntiLambda) < lCutRap) {
+    //  if ((AntiLambdaPID==1 && lMomInnerWallNeg <=1) || (lMomInnerWallNeg>1) ||  !(fUsePID.Contains("withPID"))){          
 
-         fHistNsigmaPosProtonAntiLambda->Fill(nSigmaPosProton);
-         fHistNsigmaNegPionAntiLambda->Fill(nSigmaNegPion);
+    if (TMath::Abs(lRapAntiLambda) < lCutRap) {
       switch (lOnFlyStatus){
       case 0 : 
+       if(lCheckMcAntiLambda) fHistAsMcTranscTauAntiL->Fill(lcTauAntiLambda);
+       if (lcTauAntiLambda < cutcTauL){
+         fHistNsigmaPosProtonAntiLambda->Fill(nSigmaPosProton);
+         fHistNsigmaNegPionAntiLambda->Fill(nSigmaNegPion);
 
-       //          fHistMultVsPtVsMassAntiLambda->Fill(multiplicity ,lInvMassAntiLambda,lPtAntiLambda);
-       if(lCheckPIdAntiLambda) fHistPidMcMassAntiLambda->Fill(lInvMassAntiLambda);
+         //          fHistMultVsPtVsMassAntiLambda->Fill(multiplicity ,lInvMassAntiLambda,lPtAntiLambda);
+         if(lCheckPIdAntiLambda) fHistPidMcMassAntiLambda->Fill(lInvMassAntiLambda);
          
-               if(lCheckMcAntiLambda) {
-         fHistAsMcMassAntiLambda->Fill(lInvMassAntiLambda);
-         fHistAsMcPtAntiLambda->Fill(lPtAntiLambda);
-
-
-         fHistAsMcPtVsMassAntiLambda->Fill(lInvMassAntiLambda,lPtAntiLambda);
-         if (lPtAntiLambda <= 1) fHistAsMcPtZoomAntiLambda->Fill(lPtAntiLambda);
-         fHistAsMcMassVsRadiusAntiLambda->Fill(rcPosRAntiLambda,lInvMassAntiLambda);
-         fHistAsMcResxAntiLambda->Fill(rcPosXAntiLambda-mcPosX);
-         fHistAsMcResyAntiLambda->Fill(rcPosYAntiLambda-mcPosY);
-         fHistAsMcReszAntiLambda->Fill(rcPosZAntiLambda-mcPosZ);
-         fHistAsMcResrVsRadiusAntiLambda->Fill(rcPosRAntiLambda,rcPosRAntiLambda-mcPosR);
-         fHistAsMcReszVsRadiusAntiLambda->Fill(rcPosZAntiLambda,rcPosZAntiLambda-mcPosZ);
-         fHistAsMcProdRadiusAntiLambda->Fill(mcPosMotherR);
-         fHistAsMcProdRadiusXvsYAntiLambda->Fill(mcPosMotherX,mcPosMotherY);
-         fHistAsMcResPtAntiLambda->Fill(deltaPtAntiLambda);
-         fHistAsMcResPtVsRapAntiLambda->Fill(deltaPtAntiLambda,lRapAntiLambda);
-         fHistAsMcResPtVsPtAntiLambda->Fill(deltaPtAntiLambda,lPtAntiLambda);
-         if (lComeFromSigma) fHistAsMcPtAntiLambdaFromSigma->Fill(lPtAntiLambda);
-         switch (lPdgcodeMotherOfMother) {
-         case 3222 : fHistAsMcMotherPdgCodeAntiLambda->Fill(0.5); break; // Sigma +
-         case 3212 : fHistAsMcMotherPdgCodeAntiLambda->Fill(1.5); break; // Sigma 0
-         case 3112 : fHistAsMcMotherPdgCodeAntiLambda->Fill(2.5); break;// Sigma -
-         case 3224 : fHistAsMcMotherPdgCodeAntiLambda->Fill(3.5); break;// Sigma(1385) +
-         case 3214 : fHistAsMcMotherPdgCodeAntiLambda->Fill(4.5); break;// Sigma(1385) 0
-         case 3114 : fHistAsMcMotherPdgCodeAntiLambda->Fill(5.5); break;// Sigma(1385) -
-         case 3322 : fHistAsMcMotherPdgCodeAntiLambda->Fill(6.5); break; // Xi 0
-         case 3312 : fHistAsMcMotherPdgCodeAntiLambda->Fill(7.5); break; // Xi -
-         case 3334 : fHistAsMcMotherPdgCodeAntiLambda->Fill(8.5); break; // Omega
-
-         case -1   : fHistAsMcMotherPdgCodeAntiLambda->Fill(9.5); break;
-         default   : fHistAsMcMotherPdgCodeAntiLambda->Fill(10.5);break; 
-         }
+         if(lCheckMcAntiLambda) {
+
+           fHistAsMcMassAntiLambda->Fill(lInvMassAntiLambda);
+           fHistAsMcPtAntiLambda->Fill(lPtAntiLambda);
+           fHistAsMcPtVsMassAntiLambda->Fill(lInvMassAntiLambda,lPtAntiLambda);
+
+
+           if (TMath::Abs(lRapAntiLambda) < 0.3) {
+             fHistAsMcMassAntiLambdaRap3->Fill(lInvMassAntiLambda);
+             fHistAsMcPtAntiLambdaRap3->Fill(lPtAntiLambda);
+             fHistAsMcPtVsMassAntiLambdaRap3->Fill(lInvMassAntiLambda,lPtAntiLambda);
+           }
+
+
+           if (lPtAntiLambda <= 1) fHistAsMcPtZoomAntiLambda->Fill(lPtAntiLambda);
+           fHistAsMcMassVsRadiusAntiLambda->Fill(rcPosRAntiLambda,lInvMassAntiLambda);
+           fHistAsMcResxAntiLambda->Fill(rcPosXAntiLambda-mcPosX);
+           fHistAsMcResyAntiLambda->Fill(rcPosYAntiLambda-mcPosY);
+           fHistAsMcReszAntiLambda->Fill(rcPosZAntiLambda-mcPosZ);
+           fHistAsMcResrVsRadiusAntiLambda->Fill(rcPosRAntiLambda,rcPosRAntiLambda-mcPosR);
+           fHistAsMcReszVsRadiusAntiLambda->Fill(rcPosZAntiLambda,rcPosZAntiLambda-mcPosZ);
+           fHistAsMcProdRadiusAntiLambda->Fill(mcPosMotherR);
+           fHistAsMcProdRadiusXvsYAntiLambda->Fill(mcPosMotherX,mcPosMotherY);
+           fHistAsMcResPtAntiLambda->Fill(deltaPtAntiLambda);
+           fHistAsMcResPtVsRapAntiLambda->Fill(deltaPtAntiLambda,lRapAntiLambda);
+           fHistAsMcResPtVsPtAntiLambda->Fill(deltaPtAntiLambda,lPtAntiLambda);
+           if (lComeFromSigma) fHistAsMcPtAntiLambdaFromSigma->Fill(lPtAntiLambda);
+           switch (lPdgcodeMotherOfMother) {
+           case 3222 : fHistAsMcMotherPdgCodeAntiLambda->Fill(0.5); break; // Sigma +
+           case 3212 : fHistAsMcMotherPdgCodeAntiLambda->Fill(1.5); break; // Sigma 0
+           case 3112 : fHistAsMcMotherPdgCodeAntiLambda->Fill(2.5); break;// Sigma -
+           case 3224 : fHistAsMcMotherPdgCodeAntiLambda->Fill(3.5); break;// Sigma(1385) +
+           case 3214 : fHistAsMcMotherPdgCodeAntiLambda->Fill(4.5); break;// Sigma(1385) 0
+           case 3114 : fHistAsMcMotherPdgCodeAntiLambda->Fill(5.5); break;// Sigma(1385) -
+           case 3322 : fHistAsMcMotherPdgCodeAntiLambda->Fill(6.5); break; // Xi 0
+           case 3312 : fHistAsMcMotherPdgCodeAntiLambda->Fill(7.5); break; // Xi -
+           case 3334 : fHistAsMcMotherPdgCodeAntiLambda->Fill(8.5); break; // Omega
+
+           case -1   : fHistAsMcMotherPdgCodeAntiLambda->Fill(9.5); break;
+           default   : fHistAsMcMotherPdgCodeAntiLambda->Fill(10.5);break; 
+           }
     
-         //printf("found AntiLambda RC dcaPos=%e dcaNeg=%e dcaDau=%e cosP=%e pT=%e mass=%e\n",lDcaPosToPrimVertex ,lDcaNegToPrimVertex ,lDcaV0Daughters,lV0cosPointAngle,lPtAntiLambda,lInvMassAntiLambda);
-         //printf("found AntiLambda RC Pindex=%d  Nindex=%d  Plabel=%d  Nlabel=%d\n\n",lIndexTrackPos,lIndexTrackNeg,lLabelTrackPos,lLabelTrackNeg);
+           //printf("found AntiLambda RC dcaPos=%e dcaNeg=%e dcaDau=%e cosP=%e pT=%e mass=%e\n",lDcaPosToPrimVertex ,lDcaNegToPrimVertex ,lDcaV0Daughters,lV0cosPointAngle,lPtAntiLambda,lInvMassAntiLambda);
+           //printf("found AntiLambda RC Pindex=%d  Nindex=%d  Plabel=%d  Nlabel=%d\n\n",lIndexTrackPos,lIndexTrackNeg,lLabelTrackPos,lLabelTrackNeg);
            
-       }
+         }
          
-               else if (lCheckSecondaryAntiLambda) {
-         fHistAsMcSecondaryPtVsRapAntiLambda->Fill(lPtAntiLambda,lRapAntiLambda);
-         fHistAsMcSecondaryProdRadiusAntiLambda->Fill(mcPosMotherR); 
-         fHistAsMcSecondaryProdRadiusXvsYAntiLambda->Fill(mcPosMotherX,mcPosMotherY);
-         if (lComeFromSigma) fHistAsMcSecondaryPtAntiLambdaFromSigma->Fill(lPtAntiLambda);
-         printf(" lPdgcodeMotherOfMother= %d",lPdgcodeMotherOfMother);
-         switch (lPdgcodeMotherOfMother) {
-         case 3222 : fHistAsMcSecondaryMotherPdgCodeAntiLambda->Fill(0.5); break;// Sigma +
-         case 3212 : fHistAsMcSecondaryMotherPdgCodeAntiLambda->Fill(1.5); break;// Sigma 0
-         case 3112 : fHistAsMcSecondaryMotherPdgCodeAntiLambda->Fill(2.5); break;// Sigma -
-         case 3224 : fHistAsMcSecondaryMotherPdgCodeAntiLambda->Fill(3.5); break;// Sigma(1385) +
-         case 3214 : fHistAsMcSecondaryMotherPdgCodeAntiLambda->Fill(4.5); break;// Sigma(1385) 0
-         case 3114 : fHistAsMcSecondaryMotherPdgCodeAntiLambda->Fill(5.5); break;// Sigma(1385) -
-         case 3322 : fHistAsMcSecondaryMotherPdgCodeAntiLambda->Fill(6.5); break; // Xi 0
-         case 3312 : fHistAsMcSecondaryMotherPdgCodeAntiLambda->Fill(7.5); break; // Xi -
-         case 3334 : fHistAsMcSecondaryMotherPdgCodeAntiLambda->Fill(8.5); break; // Omega
-         case -1   : fHistAsMcSecondaryMotherPdgCodeAntiLambda->Fill(9.5); break;
-         default   : fHistAsMcSecondaryMotherPdgCodeAntiLambda->Fill(10.5);break;
+         else if (lCheckSecondaryAntiLambda) {
+           fHistAsMcSecondaryPtVsRapAntiLambda->Fill(lPtAntiLambda,lRapAntiLambda);
+           fHistAsMcSecondaryProdRadiusAntiLambda->Fill(mcPosMotherR); 
+           fHistAsMcSecondaryProdRadiusXvsYAntiLambda->Fill(mcPosMotherX,mcPosMotherY);
+           if (lComeFromSigma) fHistAsMcSecondaryPtAntiLambdaFromSigma->Fill(lPtAntiLambda);
+           printf(" lPdgcodeMotherOfMother= %d",lPdgcodeMotherOfMother);
+           switch (lPdgcodeMotherOfMother) {
+           case 3222 : fHistAsMcSecondaryMotherPdgCodeAntiLambda->Fill(0.5); break;// Sigma +
+           case 3212 : fHistAsMcSecondaryMotherPdgCodeAntiLambda->Fill(1.5); break;// Sigma 0
+           case 3112 : fHistAsMcSecondaryMotherPdgCodeAntiLambda->Fill(2.5); break;// Sigma -
+           case 3224 : fHistAsMcSecondaryMotherPdgCodeAntiLambda->Fill(3.5); break;// Sigma(1385) +
+           case 3214 : fHistAsMcSecondaryMotherPdgCodeAntiLambda->Fill(4.5); break;// Sigma(1385) 0
+           case 3114 : fHistAsMcSecondaryMotherPdgCodeAntiLambda->Fill(5.5); break;// Sigma(1385) -
+           case 3322 : fHistAsMcSecondaryMotherPdgCodeAntiLambda->Fill(6.5); break; // Xi 0
+           case 3312 : fHistAsMcSecondaryMotherPdgCodeAntiLambda->Fill(7.5); break; // Xi -
+           case 3334 : fHistAsMcSecondaryMotherPdgCodeAntiLambda->Fill(8.5); break; // Omega
+           case -1   : fHistAsMcSecondaryMotherPdgCodeAntiLambda->Fill(9.5); break;
+           default   : fHistAsMcSecondaryMotherPdgCodeAntiLambda->Fill(10.5);break;
+           }
          }
-       }
-       break;
+         break;
          
-      }
-    } // end rapidity condition
-    }// end PID condition       
-
-    if (negPiKF) delete negPiKF; negPiKF= NULL;
-    if (posPiKF) delete posPiKF; posPiKF= NULL;
-    if (posPKF)  delete posPKF;  posPKF = NULL;
-    if (negAPKF) delete negAPKF; negAPKF= NULL;
-    
+       }
+      } // end rapidity condition
+      // }// end PID condition     
+    }// end ctau cut
+  
   } // end V0 loop
 
   //  if (primaryVtxKF) delete primaryVtxKF;primaryVtxKF=NULL ;
-  } // Protection in case myPrimaryVertex is 0x0
 
 
   fHistV0Multiplicity->Fill(nv0s);
   //  fHistV0MultiplicityMI->Fill(nv0sMI);
 
   if (fAnalysisType == "ESD") { if(myPrimaryVertex) delete myPrimaryVertex; }
+  if (fAnalysisType == "ESD") { if(TestTrackCuts) delete TestTrackCuts; }
 
   
   // Post output data
index d62f340..3ce787d 100644 (file)
@@ -14,7 +14,7 @@ class TString;
 class TList;
 class TH1F;
 class TH2F;
-//class TH3F;
+class TH3F;
 class AliAnalysisCentralitySelector;
 class AliPIDResponse;
 #include "AliAnalysisTaskSE.h"
@@ -37,6 +37,7 @@ class AliAnalysisTaskPerformanceStrange : public AliAnalysisTaskSE {
   void   SetCentralityRange(Int_t down, Int_t up) {fDown=down; fUp = up;}
   void   SetTrackCuts(AliESDtrackCuts * myTracksCuts) { fTracksCuts = myTracksCuts;}
   void   SetCentralitySelector(AliAnalysisCentralitySelector * centr) { fCentrSelector = centr;}
+  void   SetQASelector(Bool_t QA = 0) { fQASelector = QA;}
   Double_t MyRapidity(Double_t rE, Double_t rPz) const;
  
  private:
@@ -51,14 +52,20 @@ class AliAnalysisTaskPerformanceStrange : public AliAnalysisTaskSE {
   AliESDEvent *fESD;                            //! ESD object
   TList       *fListHist;              //! Output List
 
+
   AliAnalysisCentralitySelector * fCentrSelector; // Centrality selector, used to 
   AliESDtrackCuts * fTracksCuts;               // track cuts
   AliPIDResponse *fPIDResponse;                 // PID response
+  Bool_t      fQASelector;                    // Quality Assurenc Histo switch
 
   // MC histograms
   TH1F        *fHistMCPrimaryVertexX;      //! Histo
   TH1F        *fHistMCPrimaryVertexY;      //! Histo
   TH1F        *fHistMCPrimaryVertexZ;      //! Histo
+  TH1F        *fHistPtTracksITSRefit;      //! Histo
+  TH1F        *fHistPtTracks;      //! Histo
+  TH1F        *fHistPtTracksPITSRefit;      //! Histo
+  TH1F        *fHistPtTracksP;      //! Histo
 
   TH1F        *fHistMCMultiplicityPrimary;       //! Histo
   TH1F        *fHistMCMultiplicityTracks;       //! Histo
@@ -76,10 +83,20 @@ class AliAnalysisTaskPerformanceStrange : public AliAnalysisTaskSE {
   TH1F        *fHistMCPtAllLambda;       //! Histo
   TH1F        *fHistMCPtAllAntiLambda;       //! Histo
 
+  //Rap3
+  TH1F        *fHistMCPtAllK0sRap3;       //! Histo
+  TH1F        *fHistMCPtAllLambdaRap3;       //! Histo
+  TH1F        *fHistMCPtAllAntiLambdaRap3;       //! Histo
+
   TH1F        *fHistMCProdRadiusK0s;       //! Histo
   TH1F        *fHistMCProdRadiusLambda;       //! Histo
   TH1F        *fHistMCProdRadiusAntiLambda;       //! Histo
 
+  TH1F    *fHistMCPrimDecayRadiusK0s;          //! Histo
+  TH1F    *fHistMCPrimDecayRadiusLambda;          //! Histo
+  TH1F    *fHistMCPrimDecayRadiusAntiLambda;     //! Histo
+
+
   TH1F        *fHistMCRapK0s;                 //! Histo
   TH1F        *fHistMCRapInPtRangeK0s;        //! Histo
   TH1F        *fHistMCRapLambda;              //! Histo
@@ -90,28 +107,32 @@ class AliAnalysisTaskPerformanceStrange : public AliAnalysisTaskSE {
   TH1F        *fHistMCRapInPtRangeXi;         //! Histo
   TH1F        *fHistMCRapPhi;                 //! Histo
   TH1F        *fHistMCRapInPtRangePhi;        //! Histo
-////////////////////////////////////////////////////////// 
+//////////////////////////////////////////////////////////
+
   TH1F        *fHistMCPtK0s;       //! Histo
   TH1F        *fHistMCPtLambda;       //! Histo
   TH1F        *fHistMCPtAntiLambda;       //! Histo
+
+  //Rap3
+  TH1F        *fHistMCPtK0sRap3;       //! Histo
+  TH1F        *fHistMCPtLambdaRap3;       //! Histo
+  TH1F        *fHistMCPtAntiLambdaRap3;       //! Histo
+
 //////////////////////////////////////////////////////////
 
+
+
   TH1F        *fHistMCPtLambdaFromSigma;       //! Histo
   TH1F        *fHistMCPtAntiLambdaFromSigma;       //! Histo
 
   TH1F        *fHistNTimesRecK0s;       //! Histo
-//  TH1F        *fHistNTimesRecK0sMI;       //! Histo
   TH1F        *fHistNTimesRecLambda;       //! Histo
-//  TH1F        *fHistNTimesRecLambdaMI;       //! Histo
   TH1F        *fHistNTimesRecAntiLambda;       //! Histo
-//  TH1F        *fHistNTimesRecAntiLambdaMI;       //! Histo
 
   TH2F        *fHistNTimesRecK0sVsPt;       //! Histo
-//  TH2F        *fHistNTimesRecK0sVsPtMI;       //! Histo
   TH2F        *fHistNTimesRecLambdaVsPt;       //! Histo
-//  TH2F        *fHistNTimesRecLambdaVsPtMI;       //! Histo
   TH2F        *fHistNTimesRecAntiLambdaVsPt;       //! Histo
-//  TH2F        *fHistNTimesRecAntiLambdaVsPtMI;       //! Histo
+
 
   // ESD histograms
   TH1F        *fHistNumberEvents;        //! Histo
@@ -151,6 +172,7 @@ class AliAnalysisTaskPerformanceStrange : public AliAnalysisTaskSE {
   TH2F        *fHistCosPointAngleK0;       //! Histo
 //  TH2F        *fHistCosPointAngleZoomK0;       //! Histo
 //  TH2F        *fHistProdRadiusK0;       //! Histo
+  TH2F        *fHistTranscTauVsMassK0s;                 //! Histo
 
 ///////////////////////////K0s 2D histos: cut vs mass//////////////
   TH2F        *fHistDcaPosToPrimVertexK0vsMassK0;  //! Histo
@@ -195,9 +217,10 @@ class AliAnalysisTaskPerformanceStrange : public AliAnalysisTaskSE {
   TH2F        *fHistDcaV0DaughtersL;       //! Histo
   TH2F        *fHistChi2L;       //! Histo
   TH2F        *fHistCosPointAngleL;       //! Histo
+
 //  TH2F        *fHistCosPointAngleZoomL;       //! Histo
 //  TH2F        *fHistProdRadiusL;       //! Histo    
-
+  TH2F        *fHistTranscTauVsMassL;                 //! Histo
 //////////////////////////Lambda 2D histos: cut vs mass////////////////
   TH2F        *fHistDcaPosToPrimVertexLvsMassL;      //! Histo
   TH2F        *fHistDcaNegToPrimVertexLvsMassL;      //! Histo
@@ -205,6 +228,8 @@ class AliAnalysisTaskPerformanceStrange : public AliAnalysisTaskSE {
   TH2F        *fHistDecayLengthV0LvsMassL;            //! Histo
   TH2F        *fHistDcaV0DaughtersLvsMassL;         //! Histo
   TH2F        *fHistCosPointAngleLvsMassL;            //! Histo
+  TH3F        *fHistCosPointAngleLvsMassVsPtsigL;    //! Histo
+  TH3F        *fHistCosPointAngleLvsMassVsPtbackL;    //! Histo
 
 
 
@@ -246,7 +271,7 @@ class AliAnalysisTaskPerformanceStrange : public AliAnalysisTaskSE {
   TH2F        *fHistCosPointAngleAntiL;       //! Histo
 //  TH2F        *fHistCosPointAngleZoomL;       //! Histo
 //  TH2F        *fHistProdRadiusL;       //! Histo    
-
+  TH2F        *fHistTranscTauVsMassAntiL;                 //! Histo
 //////////////////////////Lambda 2D histos: cut vs mass////////////////
   TH2F        *fHistDcaPosToPrimVertexAntiLvsMass;      //! Histo
   TH2F        *fHistDcaNegToPrimVertexAntiLvsMass;      //! Histo
@@ -285,35 +310,25 @@ class AliAnalysisTaskPerformanceStrange : public AliAnalysisTaskSE {
 
 //////////////////////////////////////////////////////////////////////
 
-//  TH2F        *fHistProdRadiusMI;       //! Histo
 
   TH1F        *fHistV0Multiplicity;  //! Histo
-//  TH1F        *fHistV0MultiplicityMI; //! Histo
-
-
   TH1F        *fHistMassK0;       //! Histo
-//  TH1F        *fHistMassK0MI;       //! Histo
   TH1F        *fHistMassLambda;       //! Histo
-//  TH1F        *fHistMassLambdaMI;       //! Histo
   TH1F        *fHistMassAntiLambda;       //! Histo
-//  TH1F        *fHistMassAntiLambdaMI;       //! Histo
-
   TH2F        *fHistMassVsRadiusK0;       //! Histo
-//  TH2F        *fHistMassVsRadiusK0MI;       //! Histo
   TH2F        *fHistMassVsRadiusLambda;       //! Histo
-//  TH2F        *fHistMassVsRadiusLambdaMI;       //! Histo
   TH2F        *fHistMassVsRadiusAntiLambda;       //! Histo
-//  TH2F        *fHistMassVsRadiusAntiLambdaMI;       //! Histo
 
 ////////////////////////////////////////////////////////////////////////////
+
   TH2F        *fHistPtVsMassK0;       //! Histo
-//  TH2F        *fHistPtVsMassK0MI;       //! Histo
   TH2F        *fHistPtVsMassLambda;       //! Histo
   TH2F        *fHistPtVsMassAntiLambda;       //! Histo
 
-//  TH2F        *fHistPtVsMassLambdaMI;       //! Histo
-//  TH2F        *fHistPtVsMassAntiLambda;       //! Histo
-//  TH2F        *fHistPtVsMassAntiLambdaMI;       //! Histo
+  //Rap3
+  TH2F        *fHistPtVsMassK0Rap3;       //! Histo
+  TH2F        *fHistPtVsMassLambdaRap3;       //! Histo
+  TH2F        *fHistPtVsMassAntiLambdaRap3;       //! Histo
 
 
 /////////////////////////////////////////////
@@ -321,9 +336,9 @@ class AliAnalysisTaskPerformanceStrange : public AliAnalysisTaskSE {
   TH2F        *fHistArmenterosPodolanski;       //! Histo
   TH2F        *fHistK0sMassVsLambdaMass;       //! Histo
 
-//  TH2F        *fHistArmenterosPodolanskiMI;       //! Histo
   //PID check
-  TH2F *fHistTPCsignalPt;               //! Histo
+  TH2F *fHistTPCsigPLambda;               //! Histo
+  TH2F *fHistTPCsigPAntiLambda;               //! Histo
   TH1F *fHistNSigmaProton;               //! Histo
 
   //PID
@@ -338,69 +353,69 @@ class AliAnalysisTaskPerformanceStrange : public AliAnalysisTaskSE {
 
   // Associated particles histograms
   TH1F        *fHistAsMcRapK0;       //! Histo
-//  TH1F        *fHistAsMcRapK0MI;       //! Histo
   TH1F        *fHistAsMcRapLambda;       //! Histo
-//  TH1F        *fHistAsMcRapLambdaMI;       //! Histo
   TH1F        *fHistAsMcRapAntiLambda;       //! Histo
-//  TH1F        *fHistAsMcRapAntiLambdaMI;       //! Histo
 
 ////////////////////////////////////////////////////////////////////
   TH1F        *fHistAsMcPtK0;       //! Histo
-
-
-//  TH1F        *fHistAsMcPtK0MI;       //! Histo
   TH1F        *fHistAsMcPtLambda;       //! Histo
   TH1F        *fHistAsMcPtAntiLambda;       //! Histo
+
+  TH1F        *fHistAsMcTranscTauL;       //! Histo
+  TH1F        *fHistAsMcTranscTauAntiL;       //! Histo
+  TH1F        *fHistAsMcTranscTauK0s;       //! Histo
+
+  //Rap3
+  TH1F        *fHistAsMcPtK0Rap3;       //! Histo
+  TH1F        *fHistAsMcPtLambdaRap3;       //! Histo
+  TH1F        *fHistAsMcPtAntiLambdaRap3;       //! Histo
+
+
 /////////////////////////////////////////////////////////////////////
 
-//  TH1F        *fHistAsMcPtAntiLambdaMI;       //! Histo
+
   TH1F        *fHistAsMcPtZoomK0;       //! Histo
-//  TH1F        *fHistAsMcPtZoomK0MI;       //! Histo
   TH1F        *fHistAsMcPtZoomLambda;       //! Histo
   TH1F        *fHistAsMcPtZoomAntiLambda;       //! Histo
-//    TH1F        *fHistAsMcPtZoomLambdaMI;       //! Histo
 
   TH1F        *fHistAsMcProdRadiusK0;       //! Histo
-//  TH1F        *fHistAsMcProdRadiusK0MI;       //! Histo
   TH1F        *fHistAsMcProdRadiusLambda;       //! Histo
-//  TH1F        *fHistAsMcProdRadiusLambdaMI;       //! Histo
   TH1F        *fHistAsMcProdRadiusAntiLambda;       //! Histo
-//  TH1F        *fHistAsMcProdRadiusAntiLambdaMI;       //! Histo
 
   TH2F        *fHistAsMcProdRadiusXvsYK0s;       //! Histo
-//  TH2F        *fHistAsMcProdRadiusXvsYK0sMI;       //! Histo
   TH2F        *fHistAsMcProdRadiusXvsYLambda;       //! Histo
-//  TH2F        *fHistAsMcProdRadiusXvsYLambdaMI;       //! Histo
   TH2F        *fHistAsMcProdRadiusXvsYAntiLambda;       //! Histo
-//  TH2F        *fHistAsMcProdRadiusXvsYAntiLambdaMI;       //! Histo
 
   TH1F        *fHistPidMcMassK0;       //! Histo
-//  TH1F        *fHistPidMcMassK0MI;       //! Histo
   TH1F        *fHistPidMcMassLambda;       //! Histo
-//  TH1F        *fHistPidMcMassLambdaMI;       //! Histo
   TH1F        *fHistPidMcMassAntiLambda;       //! Histo
-//  TH1F        *fHistPidMcMassAntiLambdaMI;       //! Histo
+
+    //Mass 
+
   TH1F        *fHistAsMcMassK0;       //! Histo
-//  TH1F        *fHistAsMcMassK0MI;       //! Histo
   TH1F        *fHistAsMcMassLambda;       //! Histo
-//  TH1F        *fHistAsMcMassLambdaMI;       //! Histo
   TH1F        *fHistAsMcMassAntiLambda;       //! Histo
-//  TH1F        *fHistAsMcMassAntiLambdaMI;       //! Histo
+
+  //Rap3
+  TH1F        *fHistAsMcMassK0Rap3;       //! Histo
+  TH1F        *fHistAsMcMassLambdaRap3;       //! Histo
+  TH1F        *fHistAsMcMassAntiLambdaRap3;       //! Histo
+
+
+  //PtVsMass
 
   TH2F        *fHistAsMcPtVsMassK0;       //! Histo
-//  TH2F        *fHistAsMcPtVsMassK0MI;       //! Histo
   TH2F        *fHistAsMcPtVsMassLambda;       //! Histo
-//  TH2F        *fHistAsMcPtVsMassLambdaMI;       //! Histo
   TH2F        *fHistAsMcPtVsMassAntiLambda;       //! Histo
-//  TH2F        *fHistAsMcPtVsMassAntiLambdaMI;       //! Histo
 
+  //Rap3
+  TH2F        *fHistAsMcPtVsMassK0Rap3;       //! Histo
+  TH2F        *fHistAsMcPtVsMassLambdaRap3;       //! Histo
+  TH2F        *fHistAsMcPtVsMassAntiLambdaRap3;       //! Histo
 
   TH2F        *fHistAsMcMassVsRadiusK0;       //! Histo
-//  TH2F        *fHistAsMcMassVsRadiusK0MI;       //! Histo
   TH2F        *fHistAsMcMassVsRadiusLambda;       //! Histo
-//  TH2F        *fHistAsMcMassVsRadiusLambdaMI;       //! Histo
   TH2F        *fHistAsMcMassVsRadiusAntiLambda;       //! Histo
-//  TH2F        *fHistAsMcMassVsRadiusAntiLambdaMI;       //! Histo
 
   TH1F        *fHistAsMcResxK0;       //! Histo
   TH1F        *fHistAsMcResyK0;       //! Histo
@@ -409,12 +424,6 @@ class AliAnalysisTaskPerformanceStrange : public AliAnalysisTaskSE {
   TH2F        *fHistAsMcResrVsRadiusK0;       //! Histo
   TH2F        *fHistAsMcReszVsRadiusK0;       //! Histo
 
-//  TH1F        *fHistAsMcResxK0MI;       //! Histo
-//  TH1F        *fHistAsMcResyK0MI;       //! Histo
-//  TH1F        *fHistAsMcReszK0MI;       //! Histo
-
-//  TH2F        *fHistAsMcResrVsRadiusK0MI;       //! Histo
-//  TH2F        *fHistAsMcReszVsRadiusK0MI;       //! Histo
 
   TH1F        *fHistAsMcResxLambda;       //! Histo
   TH1F        *fHistAsMcResyLambda;       //! Histo
@@ -423,12 +432,6 @@ class AliAnalysisTaskPerformanceStrange : public AliAnalysisTaskSE {
   TH2F        *fHistAsMcResrVsRadiusLambda;       //! Histo
   TH2F        *fHistAsMcReszVsRadiusLambda;       //! Histo
     
-//  TH1F        *fHistAsMcResxLambdaMI;       //! Histo
-//  TH1F        *fHistAsMcResyLambdaMI;       //! Histo
-//  TH1F        *fHistAsMcReszLambdaMI;       //! Histo
-
-//  TH2F        *fHistAsMcResrVsRadiusLambdaMI;       //! Histo
-//  TH2F        *fHistAsMcReszVsRadiusLambdaMI;       //! Histo
 
   TH1F        *fHistAsMcResxAntiLambda;       //! Histo
   TH1F        *fHistAsMcResyAntiLambda;       //! Histo
@@ -437,79 +440,47 @@ class AliAnalysisTaskPerformanceStrange : public AliAnalysisTaskSE {
   TH2F        *fHistAsMcResrVsRadiusAntiLambda;       //! Histo
   TH2F        *fHistAsMcReszVsRadiusAntiLambda;       //! Histo
     
-//  TH1F        *fHistAsMcResxAntiLambdaMI;       //! Histo
-//  TH1F        *fHistAsMcResyAntiLambdaMI;       //! Histo
-//  TH1F        *fHistAsMcReszAntiLambdaMI;       //! Histo
-
-//  TH2F        *fHistAsMcResrVsRadiusAntiLambdaMI;       //! Histo
-//  TH2F        *fHistAsMcReszVsRadiusAntiLambdaMI;       //! Histo
 
   TH1F        *fHistAsMcResPtK0;       //! Histo
-//  TH1F        *fHistAsMcResPtK0MI;       //! Histo
   TH1F        *fHistAsMcResPtLambda;       //! Histo
-//  TH1F        *fHistAsMcResPtLambdaMI;       //! Histo
   TH1F        *fHistAsMcResPtAntiLambda;       //! Histo
-//  TH1F        *fHistAsMcResPtAntiLambdaMI;       //! Histo
+
 
   TH2F        *fHistAsMcResPtVsRapK0;       //! Histo
-//  TH2F        *fHistAsMcResPtVsRapK0MI;       //! Histo
   TH2F        *fHistAsMcResPtVsRapLambda;       //! Histo
-//  TH2F        *fHistAsMcResPtVsRapLambdaMI;       //! Histo
   TH2F        *fHistAsMcResPtVsRapAntiLambda;       //! Histo
-//  TH2F        *fHistAsMcResPtVsRapAntiLambdaMI;       //! Histo
   TH2F        *fHistAsMcResPtVsPtK0;       //! Histo
- // TH2F        *fHistAsMcResPtVsPtK0MI;       //! Histo
   TH2F        *fHistAsMcResPtVsPtLambda;       //! Histo
-//  TH2F        *fHistAsMcResPtVsPtLambdaMI;       //! Histo
   TH2F        *fHistAsMcResPtVsPtAntiLambda;       //! Histo
-//  TH2F        *fHistAsMcResPtVsPtAntiLambdaMI;       //! Histo
   
 
   TH1F        *fHistAsMcMotherPdgCodeK0s;       //! Histo
-//  TH1F        *fHistAsMcMotherPdgCodeK0sMI;       //! Histo
   TH1F        *fHistAsMcMotherPdgCodeLambda;       //! Histo
-//  TH1F        *fHistAsMcMotherPdgCodeLambdaMI;       //! Histo
   TH1F        *fHistAsMcMotherPdgCodeAntiLambda;       //! Histo
-//  TH1F        *fHistAsMcMotherPdgCodeAntiLambdaMI;       //! Histo
-
   TH1F        *fHistAsMcPtLambdaFromSigma;       //! Histo
-//  TH1F        *fHistAsMcPtLambdaFromSigmaMI;       //! Histo
   TH1F        *fHistAsMcPtAntiLambdaFromSigma;       //! Histo
-//  TH1F        *fHistAsMcPtAntiLambdaFromSigmaMI;       //! Histo
+
 
   // Associated secondary particles:
   TH2F        *fHistAsMcSecondaryPtVsRapK0s;       //! Histo
-//  TH2F        *fHistAsMcSecondaryPtVsRapK0sMI;       //! Histo
   TH2F        *fHistAsMcSecondaryPtVsRapLambda;       //! Histo
-//  TH2F        *fHistAsMcSecondaryPtVsRapLambdaMI;       //! Histo
   TH2F        *fHistAsMcSecondaryPtVsRapAntiLambda;       //! Histo
-//  TH2F        *fHistAsMcSecondaryPtVsRapAntiLambdaMI;       //! Histo
 
   TH1F        *fHistAsMcSecondaryProdRadiusK0s;       //! Histo
-//  TH1F        *fHistAsMcSecondaryProdRadiusK0sMI;       //! Histo
   TH1F        *fHistAsMcSecondaryProdRadiusLambda;       //! Histo
-//  TH1F        *fHistAsMcSecondaryProdRadiusLambdaMI;       //! Histo
   TH1F        *fHistAsMcSecondaryProdRadiusAntiLambda;       //! Histo
-//  TH1F        *fHistAsMcSecondaryProdRadiusAntiLambdaMI;       //! Histo
 
   TH2F        *fHistAsMcSecondaryProdRadiusXvsYK0s;       //! Histo
-//  TH2F        *fHistAsMcSecondaryProdRadiusXvsYK0sMI;       //! Histo
   TH2F        *fHistAsMcSecondaryProdRadiusXvsYLambda;       //! Histo
-//  TH2F        *fHistAsMcSecondaryProdRadiusXvsYLambdaMI;       //! Histo
   TH2F        *fHistAsMcSecondaryProdRadiusXvsYAntiLambda;       //! Histo
-//  TH2F        *fHistAsMcSecondaryProdRadiusXvsYAntiLambdaMI;       //! Histo
 
   TH1F        *fHistAsMcSecondaryMotherPdgCodeK0s;       //! Histo
-//  TH1F        *fHistAsMcSecondaryMotherPdgCodeK0sMI;       //! Histo
   TH1F        *fHistAsMcSecondaryMotherPdgCodeLambda;       //! Histo
-//  TH1F        *fHistAsMcSecondaryMotherPdgCodeLambdaMI;       //! Histo
   TH1F        *fHistAsMcSecondaryMotherPdgCodeAntiLambda;       //! Histo
-//  TH1F        *fHistAsMcSecondaryMotherPdgCodeAntiLambdaMI;       //! Histo
 
   TH1F        *fHistAsMcSecondaryPtLambdaFromSigma;       //! Histo
-//  TH1F        *fHistAsMcSecondaryPtLambdaFromSigmaMI;       //! Histo
   TH1F        *fHistAsMcSecondaryPtAntiLambdaFromSigma;       //! Histo
-//  TH1F        *fHistAsMcSecondaryPtAntiLambdaFromSigmaMI;       //! Histo
+
 
   AliAnalysisTaskPerformanceStrange(const AliAnalysisTaskPerformanceStrange&); 
   AliAnalysisTaskPerformanceStrange& operator=(const AliAnalysisTaskPerformanceStrange&);