]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Fixed bug with half-and-half v0s identified as whole ones in MC, made better histogra...
authorhanratty <hanratty@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 18 Jul 2012 17:11:14 +0000 (17:11 +0000)
committerhanratty <hanratty@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 18 Jul 2012 17:11:14 +0000 (17:11 +0000)
PWGLF/STRANGENESS/LambdaK0PbPb/AliAnalysisTaskLukeAOD.cxx
PWGLF/STRANGENESS/LambdaK0PbPb/AliAnalysisTaskLukeAOD.h

index 62951da40e2da4e3a6b7e722fd714c66f1e238f4..d7e05b76c48a78881dfa668457638a6268a665e7 100644 (file)
@@ -84,9 +84,6 @@ fHistBBLaPos(0),
 fHistBBLaNeg(0),
 fHistBBLbPos(0),
 fHistBBLbNeg(0),
-fHistArmPodK0(0),
-fHistArmPodLa(0),
-fHistArmPodLb(0),
 
 fHistBB3SigProton(0),
 fHistMK0Pt(0), 
@@ -104,6 +101,9 @@ fHistMLbPtCent0005(0),
 fHistMcPMK0PtCent0005(0),
 fHistMcPMLaPtCent0005(0),
 fHistMcPMLbPtCent0005(0),
+fHistMcAsMK0PtCent0005(0),
+fHistMcAsMLaPtCent0005(0),
+fHistMcAsMLbPtCent0005(0),
 fHistZVertexCent0005(0),
 fHistMCZVertexCent0005(0),
 
@@ -113,6 +113,9 @@ fHistMLbPtCent0510(0),
 fHistMcPMK0PtCent0510(0),
 fHistMcPMLaPtCent0510(0),
 fHistMcPMLbPtCent0510(0),
+fHistMcAsMK0PtCent0510(0),
+fHistMcAsMLaPtCent0510(0),
+fHistMcAsMLbPtCent0510(0),
 fHistZVertexCent0510(0),
 fHistMCZVertexCent0510(0),
 
@@ -122,6 +125,9 @@ fHistMLbPtCent1020(0),
 fHistMcPMK0PtCent1020(0),
 fHistMcPMLaPtCent1020(0),
 fHistMcPMLbPtCent1020(0),
+fHistMcAsMK0PtCent1020(0),
+fHistMcAsMLaPtCent1020(0),
+fHistMcAsMLbPtCent1020(0),
 fHistZVertexCent1020(0),
 fHistMCZVertexCent1020(0),
 
@@ -131,6 +137,9 @@ fHistMLbPtCent2040(0),
 fHistMcPMK0PtCent2040(0),
 fHistMcPMLaPtCent2040(0),
 fHistMcPMLbPtCent2040(0),
+fHistMcAsMK0PtCent2040(0),
+fHistMcAsMLaPtCent2040(0),
+fHistMcAsMLbPtCent2040(0),
 fHistZVertexCent2040(0),
 fHistMCZVertexCent2040(0),
 
@@ -140,6 +149,9 @@ fHistMLbPtCent4060(0),
 fHistMcPMK0PtCent4060(0),
 fHistMcPMLaPtCent4060(0),
 fHistMcPMLbPtCent4060(0),
+fHistMcAsMK0PtCent4060(0),
+fHistMcAsMLaPtCent4060(0),
+fHistMcAsMLbPtCent4060(0),
 fHistZVertexCent4060(0),
 fHistMCZVertexCent4060(0),
 
@@ -149,6 +161,9 @@ fHistMLbPtCent6090(0),
 fHistMcPMK0PtCent6090(0),
 fHistMcPMLaPtCent6090(0),
 fHistMcPMLbPtCent6090(0),
+fHistMcAsMK0PtCent6090(0),
+fHistMcAsMLaPtCent6090(0),
+fHistMcAsMLbPtCent6090(0),
 fHistZVertexCent6090(0),
 fHistMCZVertexCent6090(0),
 
@@ -158,68 +173,102 @@ fHistMLbPtCent0090(0),
 fHistMcPMK0PtCent0090(0),
 fHistMcPMLaPtCent0090(0),
 fHistMcPMLbPtCent0090(0),
+fHistMcAsMK0PtCent0090(0),
+fHistMcAsMLaPtCent0090(0),
+fHistMcAsMLbPtCent0090(0),
 fHistZVertexCent0090(0),
 fHistMCZVertexCent0090(0),
 
-fHistCosPaLaPt(0),
-fHistCosPaLbPt(0),
-fHistCosPaK0Pt(0),     
-fHistMcCosPaAllLaPt(0),
-fHistMcCosPaAllLbPt(0),
-fHistMcCosPaAllK0Pt(0),        
-fHistMcCosPaFoundLaPt(0),
-fHistMcCosPaFoundLbPt(0),
-fHistMcCosPaAFoundK0Pt(0),
-
-fHistcTauLaPt(0),      
-fHistcTauLbPt(0),
-fHistcTauK0Pt(0),              
-fHistMccTauAllLaPt(0),
-fHistMccTauAllLbPt(0),
-fHistMccTauAllK0Pt(0), 
-fHistMccTauFoundLaPt(0),
-fHistMccTauFoundLbPt(0),       
-fHistMccTauAFoundK0Pt(0),
-
-fHistDcaLaPt(0),       
-fHistDcaLbPt(0),       
-fHistDcaK0Pt(0),       
-fHistMcDcaAllLaPt(0),
-fHistMcDcaAllLbPt(0),
-fHistMcDcaAllK0Pt(0),  
-fHistMcDcaFoundLaPt(0),        
-fHistMcDcaFoundLbPt(0),        
-fHistMcDcaAFoundK0Pt(0),
-
-fHistNSigmaLaPt(0),    
-fHistNSigmaLbPt(0),            
-fHistNSigmaK0Pt(0),            
-fHistMcNSigmaAllLaPt(0),       
-fHistMcNSigmaAllLbPt(0),       
-fHistMcNSigmaAllK0Pt(0),       
-fHistMcNSigmaFoundLaPt(0),     
-fHistMcNSigmaFoundLbPt(0),     
-fHistMcNSigmaAFoundK0Pt(0),
-
-fHistEtaLaPt(0),       
-fHistEtaLbPt(0),       
-fHistEtaK0Pt(0),               
-fHistMcEtaAllLaPt(0),
-fHistMcEtaAllLbPt(0),  
-fHistMcEtaAllK0Pt(0),
-fHistMcEtaFoundLaPt(0),        
-fHistMcEtaFoundLbPt(0),        
-fHistMcEtaAFoundK0Pt(0),
-
-fHistRapLaPt(0),
-fHistRapLbPt(0),               
-fHistRapK0Pt(0),       
-fHistMcRapAllLaPt(0),  
-fHistMcRapAllLbPt(0),  
-fHistMcRapAllK0Pt(0),  
-fHistMcRapFoundLaPt(0),
-fHistMcRapFoundLbPt(0),
-fHistMcRapAFoundK0Pt(0)
+fHistCosPaMLa(0),
+fHistCosPaMLb(0),
+fHistCosPaMK0(0),      
+fHistMcGenCosPaMLa(0),
+fHistMcGenCosPaMLb(0),
+fHistMcGenCosPaMK0(0), 
+fHistMcAsReconCosPaMLa(0),
+fHistMcAsReconCosPaMLb(0),
+fHistMcAsReconCosPaMK0(0),
+fHistMcAsTruthCosPaMLa(0),
+fHistMcAsTruthCosPaMLb(0),
+fHistMcAsTruthCosPaMK0(0),
+
+fHistcTauMLa(0),       
+fHistcTauMLb(0),
+fHistcTauMK0(0),               
+fHistMcGencTauMLa(0),
+fHistMcGencTauMLb(0),
+fHistMcGencTauMK0(0),  
+fHistMcAsReconcTauMLa(0),
+fHistMcAsReconcTauMLb(0),      
+fHistMcAsReconcTauMK0(0),
+fHistMcAsTruthcTauMLa(0),
+fHistMcAsTruthcTauMLb(0),      
+fHistMcAsTruthcTauMK0(0),
+
+fHistDcaMLa(0),        
+fHistDcaMLb(0),        
+fHistDcaMK0(0),        
+fHistMcGenDcaMLa(0),
+fHistMcGenDcaMLb(0),
+fHistMcGenDcaMK0(0),   
+fHistMcAsReconDcaMLa(0),       
+fHistMcAsReconDcaMLb(0),       
+fHistMcAsReconDcaMK0(0),
+fHistMcAsTruthDcaMLa(0),       
+fHistMcAsTruthDcaMLb(0),       
+fHistMcAsTruthDcaMK0(0),
+
+fHistNSigmaMLa(0),     
+fHistNSigmaMLb(0),             
+fHistNSigmaMK0(0),             
+fHistMcGenNSigmaMLa(0),        
+fHistMcGenNSigmaMLb(0),        
+fHistMcGenNSigmaMK0(0),        
+fHistMcAsReconNSigmaMLa(0),    
+fHistMcAsReconNSigmaMLb(0),    
+fHistMcAsReconNSigmaMK0(0),
+fHistMcAsTruthNSigmaMLa(0),    
+fHistMcAsTruthNSigmaMLb(0),    
+fHistMcAsTruthNSigmaMK0(0),
+
+fHistEtaMLa(0),        
+fHistEtaMLb(0),        
+fHistEtaMK0(0),                
+fHistMcGenEtaMLa(0),
+fHistMcGenEtaMLb(0),   
+fHistMcGenEtaMK0(0),
+fHistMcAsReconEtaMLa(0),       
+fHistMcAsReconEtaMLb(0),       
+fHistMcAsReconEtaMK0(0),
+fHistMcAsTruthEtaMLa(0),       
+fHistMcAsTruthEtaMLb(0),       
+fHistMcAsTruthEtaMK0(0),
+
+fHistRapMLa(0),
+fHistRapMLb(0),                
+fHistRapMK0(0),        
+fHistMcGenRapMLa(0),   
+fHistMcGenRapMLb(0),   
+fHistMcGenRapMK0(0),   
+fHistMcAsReconRapMLa(0),
+fHistMcAsReconRapMLb(0),
+fHistMcAsReconRapMK0(0),
+fHistMcAsTruthRapMLa(0),
+fHistMcAsTruthRapMLb(0),
+fHistMcAsTruthRapMK0(0),
+
+fHistArmPodK0(0),
+fHistArmPodLa(0),
+fHistArmPodLb(0),
+fHistMcGenArmPodK0(0),
+fHistMcGenArmPodLa(0),
+fHistMcGenArmPodLb(0),
+fHistMcAsReconArmPodK0(0),
+fHistMcAsReconArmPodLa(0),
+fHistMcAsReconArmPodLb(0),
+fHistMcAsTruthArmPodK0(0),
+fHistMcAsTruthArmPodLa(0),
+fHistMcAsTruthArmPodLb(0)
 
 // The last in the above list should not have a comma after it
 {
@@ -246,9 +295,6 @@ fHistBBLaPos(0),
 fHistBBLaNeg(0),
 fHistBBLbPos(0),
 fHistBBLbNeg(0),
-fHistArmPodK0(0),
-fHistArmPodLa(0),
-fHistArmPodLb(0),
 
 fHistBB3SigProton(0),
 fHistMK0Pt(0), 
@@ -266,6 +312,9 @@ fHistMLbPtCent0005(0),
 fHistMcPMK0PtCent0005(0),
 fHistMcPMLaPtCent0005(0),
 fHistMcPMLbPtCent0005(0),
+fHistMcAsMK0PtCent0005(0),
+fHistMcAsMLaPtCent0005(0),
+fHistMcAsMLbPtCent0005(0),
 fHistZVertexCent0005(0),
 fHistMCZVertexCent0005(0),
 
@@ -275,6 +324,9 @@ fHistMLbPtCent0510(0),
 fHistMcPMK0PtCent0510(0),
 fHistMcPMLaPtCent0510(0),
 fHistMcPMLbPtCent0510(0),
+fHistMcAsMK0PtCent0510(0),
+fHistMcAsMLaPtCent0510(0),
+fHistMcAsMLbPtCent0510(0),
 fHistZVertexCent0510(0),
 fHistMCZVertexCent0510(0),
 
@@ -284,6 +336,9 @@ fHistMLbPtCent1020(0),
 fHistMcPMK0PtCent1020(0),
 fHistMcPMLaPtCent1020(0),
 fHistMcPMLbPtCent1020(0),
+fHistMcAsMK0PtCent1020(0),
+fHistMcAsMLaPtCent1020(0),
+fHistMcAsMLbPtCent1020(0),
 fHistZVertexCent1020(0),
 fHistMCZVertexCent1020(0),
 
@@ -293,6 +348,9 @@ fHistMLbPtCent2040(0),
 fHistMcPMK0PtCent2040(0),
 fHistMcPMLaPtCent2040(0),
 fHistMcPMLbPtCent2040(0),
+fHistMcAsMK0PtCent2040(0),
+fHistMcAsMLaPtCent2040(0),
+fHistMcAsMLbPtCent2040(0),
 fHistZVertexCent2040(0),
 fHistMCZVertexCent2040(0),
 
@@ -302,6 +360,9 @@ fHistMLbPtCent4060(0),
 fHistMcPMK0PtCent4060(0),
 fHistMcPMLaPtCent4060(0),
 fHistMcPMLbPtCent4060(0),
+fHistMcAsMK0PtCent4060(0),
+fHistMcAsMLaPtCent4060(0),
+fHistMcAsMLbPtCent4060(0),
 fHistZVertexCent4060(0),
 fHistMCZVertexCent4060(0),
 
@@ -311,6 +372,9 @@ fHistMLbPtCent6090(0),
 fHistMcPMK0PtCent6090(0),
 fHistMcPMLaPtCent6090(0),
 fHistMcPMLbPtCent6090(0),
+fHistMcAsMK0PtCent6090(0),
+fHistMcAsMLaPtCent6090(0),
+fHistMcAsMLbPtCent6090(0),
 fHistZVertexCent6090(0),
 fHistMCZVertexCent6090(0),
 
@@ -320,68 +384,102 @@ fHistMLbPtCent0090(0),
 fHistMcPMK0PtCent0090(0),
 fHistMcPMLaPtCent0090(0),
 fHistMcPMLbPtCent0090(0),
+fHistMcAsMK0PtCent0090(0),
+fHistMcAsMLaPtCent0090(0),
+fHistMcAsMLbPtCent0090(0),
 fHistZVertexCent0090(0),
 fHistMCZVertexCent0090(0),
 
-fHistCosPaLaPt(0),
-fHistCosPaLbPt(0),
-fHistCosPaK0Pt(0),     
-fHistMcCosPaAllLaPt(0),
-fHistMcCosPaAllLbPt(0),
-fHistMcCosPaAllK0Pt(0),        
-fHistMcCosPaFoundLaPt(0),
-fHistMcCosPaFoundLbPt(0),
-fHistMcCosPaAFoundK0Pt(0),
-
-fHistcTauLaPt(0),      
-fHistcTauLbPt(0),
-fHistcTauK0Pt(0),              
-fHistMccTauAllLaPt(0),
-fHistMccTauAllLbPt(0),
-fHistMccTauAllK0Pt(0), 
-fHistMccTauFoundLaPt(0),
-fHistMccTauFoundLbPt(0),       
-fHistMccTauAFoundK0Pt(0),
-
-fHistDcaLaPt(0),       
-fHistDcaLbPt(0),       
-fHistDcaK0Pt(0),       
-fHistMcDcaAllLaPt(0),
-fHistMcDcaAllLbPt(0),
-fHistMcDcaAllK0Pt(0),  
-fHistMcDcaFoundLaPt(0),        
-fHistMcDcaFoundLbPt(0),        
-fHistMcDcaAFoundK0Pt(0),
-
-fHistNSigmaLaPt(0),    
-fHistNSigmaLbPt(0),            
-fHistNSigmaK0Pt(0),            
-fHistMcNSigmaAllLaPt(0),       
-fHistMcNSigmaAllLbPt(0),       
-fHistMcNSigmaAllK0Pt(0),       
-fHistMcNSigmaFoundLaPt(0),     
-fHistMcNSigmaFoundLbPt(0),     
-fHistMcNSigmaAFoundK0Pt(0),
-
-fHistEtaLaPt(0),       
-fHistEtaLbPt(0),       
-fHistEtaK0Pt(0),               
-fHistMcEtaAllLaPt(0),
-fHistMcEtaAllLbPt(0),  
-fHistMcEtaAllK0Pt(0),
-fHistMcEtaFoundLaPt(0),        
-fHistMcEtaFoundLbPt(0),        
-fHistMcEtaAFoundK0Pt(0),
-
-fHistRapLaPt(0),
-fHistRapLbPt(0),               
-fHistRapK0Pt(0),       
-fHistMcRapAllLaPt(0),  
-fHistMcRapAllLbPt(0),  
-fHistMcRapAllK0Pt(0),  
-fHistMcRapFoundLaPt(0),
-fHistMcRapFoundLbPt(0),
-fHistMcRapAFoundK0Pt(0)
+fHistCosPaMLa(0),
+fHistCosPaMLb(0),
+fHistCosPaMK0(0),      
+fHistMcGenCosPaMLa(0),
+fHistMcGenCosPaMLb(0),
+fHistMcGenCosPaMK0(0), 
+fHistMcAsReconCosPaMLa(0),
+fHistMcAsReconCosPaMLb(0),
+fHistMcAsReconCosPaMK0(0),
+fHistMcAsTruthCosPaMLa(0),
+fHistMcAsTruthCosPaMLb(0),
+fHistMcAsTruthCosPaMK0(0),
+
+fHistcTauMLa(0),       
+fHistcTauMLb(0),
+fHistcTauMK0(0),               
+fHistMcGencTauMLa(0),
+fHistMcGencTauMLb(0),
+fHistMcGencTauMK0(0),  
+fHistMcAsReconcTauMLa(0),
+fHistMcAsReconcTauMLb(0),      
+fHistMcAsReconcTauMK0(0),
+fHistMcAsTruthcTauMLa(0),
+fHistMcAsTruthcTauMLb(0),      
+fHistMcAsTruthcTauMK0(0),
+
+fHistDcaMLa(0),        
+fHistDcaMLb(0),        
+fHistDcaMK0(0),        
+fHistMcGenDcaMLa(0),
+fHistMcGenDcaMLb(0),
+fHistMcGenDcaMK0(0),   
+fHistMcAsReconDcaMLa(0),       
+fHistMcAsReconDcaMLb(0),       
+fHistMcAsReconDcaMK0(0),
+fHistMcAsTruthDcaMLa(0),       
+fHistMcAsTruthDcaMLb(0),       
+fHistMcAsTruthDcaMK0(0),
+
+fHistNSigmaMLa(0),     
+fHistNSigmaMLb(0),             
+fHistNSigmaMK0(0),             
+fHistMcGenNSigmaMLa(0),        
+fHistMcGenNSigmaMLb(0),        
+fHistMcGenNSigmaMK0(0),        
+fHistMcAsReconNSigmaMLa(0),    
+fHistMcAsReconNSigmaMLb(0),    
+fHistMcAsReconNSigmaMK0(0),
+fHistMcAsTruthNSigmaMLa(0),    
+fHistMcAsTruthNSigmaMLb(0),    
+fHistMcAsTruthNSigmaMK0(0),
+
+fHistEtaMLa(0),        
+fHistEtaMLb(0),        
+fHistEtaMK0(0),                
+fHistMcGenEtaMLa(0),
+fHistMcGenEtaMLb(0),   
+fHistMcGenEtaMK0(0),
+fHistMcAsReconEtaMLa(0),       
+fHistMcAsReconEtaMLb(0),       
+fHistMcAsReconEtaMK0(0),
+fHistMcAsTruthEtaMLa(0),       
+fHistMcAsTruthEtaMLb(0),       
+fHistMcAsTruthEtaMK0(0),
+
+fHistRapMLa(0),
+fHistRapMLb(0),                
+fHistRapMK0(0),        
+fHistMcGenRapMLa(0),   
+fHistMcGenRapMLb(0),   
+fHistMcGenRapMK0(0),   
+fHistMcAsReconRapMLa(0),
+fHistMcAsReconRapMLb(0),
+fHistMcAsReconRapMK0(0),
+fHistMcAsTruthRapMLa(0),
+fHistMcAsTruthRapMLb(0),
+fHistMcAsTruthRapMK0(0),
+
+fHistArmPodK0(0),
+fHistArmPodLa(0),
+fHistArmPodLb(0),
+fHistMcGenArmPodK0(0),
+fHistMcGenArmPodLa(0),
+fHistMcGenArmPodLb(0),
+fHistMcAsReconArmPodK0(0),
+fHistMcAsReconArmPodLa(0),
+fHistMcAsReconArmPodLb(0),
+fHistMcAsTruthArmPodK0(0),
+fHistMcAsTruthArmPodLa(0),
+fHistMcAsTruthArmPodLb(0)
 
 // The last in the above list should not have a comma after it
 {
@@ -442,10 +540,7 @@ void AliAnalysisTaskLukeAOD::UserCreateOutputObjects()
        fHistBBLaNeg = new      TH2F("fHistBBLaNeg","PID of the negative daughter of La candidates; P (GeV); -dE/dx (keV/cm ?)",1000,0,10,1000,0,200);
        fHistBBLbPos = new      TH2F("fHistBBLbPos","PID of the positive daughter of Lb candidates; P (GeV); -dE/dx (keV/cm ?)",1000,0,10,1000,0,200);
        fHistBBLbNeg = new      TH2F("fHistBBLbNeg","PID of the negative daughter of Lb candidates; P (GeV); -dE/dx (keV/cm ?)",1000,0,10,1000,0,200);
-       fHistArmPodK0 = new     TH2F("fHistArmPodK0","Armenteros plot for K0 candidates; Alpha; PtArm",100,-1,1,50,0,0.5);
-       fHistArmPodLa = new     TH2F("fHistArmPodLa","Armenteros plot for La candidates; Alpha; PtArm",100,-1,1,50,0,0.5);
-       fHistArmPodLb = new     TH2F("fHistArmPodLb","Armenteros plot for Lb candidates; Alpha; PtArm",100,-1,1,50,0,0.5);
-
+       
        fHistBB3SigProton = new TH2F("fHistBB3SigProton","-dE/dX against Momentum for Protons @3sigma from TPC; P (GeV); -dE/dx (keV/cm ?)",1000,0,10,1000,0,200);
        fHistMK0Pt = new        TH2F("fHistMK0Pt","K0 Mass versus Pt; P_{perp} (GeV/c); K0 Mass (GeV/c^2)",200,0,10,140,0.414,0.582);
        fHistMLaPt = new        TH2F("fHistMLaPt","Lambda Mass versus Pt; P_{perp} (GeV/c); M(p#pi^{-}) (GeV/c^2)",200,0,10,96,1.08,1.2);
@@ -462,6 +557,9 @@ void AliAnalysisTaskLukeAOD::UserCreateOutputObjects()
        fHistMcPMK0PtCent0005 = new     TH2F("fHistMcPMK0PtCent0005","Monte Carlo primary K0 Mass versus Pt for Centrality 0-5%; P_{perp} (GeV/c); K0 Mass (GeV/c^2)",200,0,10,140,0.414,0.582);
        fHistMcPMLaPtCent0005 = new     TH2F("fHistMcPMLaPtCent0005","Monte Carlo primary (& sigma0) Lambda Mass versus Pt for Centrality 0-5%; P_{perp} (GeV/c); M(p#pi^{-}) (GeV/c^2)",200,0,10,96,1.08,1.2);
        fHistMcPMLbPtCent0005 = new     TH2F("fHistMcPMLbPtCent0005","Monte Carlo primary (& sigma0) AntiLambda Mass versus Pt for Centrality 0-5%; P_{perp} (GeV/c); M(#bar{p}#pi^{+}) (GeV/c^2)",200,0,10,96,1.08,1.2);
+       fHistMcAsMK0PtCent0005 = new    TH2F("fHistMcAsMK0PtCent0005","Monte Carlo associated K0 Mass versus Pt for Centrality 0-5%; P_{perp} (GeV/c); K0 Mass (GeV/c^2)",200,0,10,140,0.414,0.582);
+       fHistMcAsMLaPtCent0005 = new    TH2F("fHistMcAsMLaPtCent0005","Monte Carlo associated (& sigma0) Lambda Mass versus Pt for Centrality 0-5%; P_{perp} (GeV/c); M(p#pi^{-}) (GeV/c^2)",200,0,10,96,1.08,1.2);
+       fHistMcAsMLbPtCent0005 = new    TH2F("fHistMcAsMLbPtCent0005","Monte Carlo associated (& sigma0) AntiLambda Mass versus Pt for Centrality 0-5%; P_{perp} (GeV/c); M(#bar{p}#pi^{+}) (GeV/c^2)",200,0,10,96,1.08,1.2);
        fHistZVertexCent0005 = new TH1F("fHistZVertexCent0005","Z coordinate of primary vertex for Centrality 0-5%",60, -15, 15);
        fHistMCZVertexCent0005 = new TH1F("fHistMCZVertexCent0005","Z coordinate of primary vertex in MC truth for Centrality 0-5%",60, -15, 15);
        
@@ -471,6 +569,9 @@ void AliAnalysisTaskLukeAOD::UserCreateOutputObjects()
        fHistMcPMK0PtCent0510 = new     TH2F("fHistMcPMK0PtCent0510","Monte Carlo primary K0 Mass versus Pt for Centrality 5-10%; P_{perp} (GeV/c); K0 Mass (GeV/c^2)",200,0,10,140,0.414,0.582);
        fHistMcPMLaPtCent0510 = new     TH2F("fHistMcPMLaPtCent0510","Monte Carlo primary (& sigma0) Lambda Mass versus Pt for Centrality 5-10%; P_{perp} (GeV/c); M(p#pi^{-}) (GeV/c^2)",200,0,10,96,1.08,1.2);
        fHistMcPMLbPtCent0510 = new     TH2F("fHistMcPMLbPtCent0510","Monte Carlo primary (& sigma0) AntiLambda Mass versus Pt for Centrality 5-10%; P_{perp} (GeV/c); M(#bar{p}#pi^{+}) (GeV/c^2)",200,0,10,96,1.08,1.2);
+       fHistMcAsMK0PtCent0510 = new    TH2F("fHistMcAsMK0PtCent0510","Monte Carlo associated K0 Mass versus Pt for Centrality 5-10%; P_{perp} (GeV/c); K0 Mass (GeV/c^2)",200,0,10,140,0.414,0.582);
+       fHistMcAsMLaPtCent0510 = new    TH2F("fHistMcAsMLaPtCent0510","Monte Carlo associated (& sigma0) Lambda Mass versus Pt for Centrality 5-10%; P_{perp} (GeV/c); M(p#pi^{-}) (GeV/c^2)",200,0,10,96,1.08,1.2);
+       fHistMcAsMLbPtCent0510 = new    TH2F("fHistMcAsMLbPtCent0510","Monte Carlo associated (& sigma0) AntiLambda Mass versus Pt for Centrality 5-10%; P_{perp} (GeV/c); M(#bar{p}#pi^{+}) (GeV/c^2)",200,0,10,96,1.08,1.2);
        fHistZVertexCent0510 = new TH1F("fHistZVertexCent0510","Z coordinate of primary vertex for Centrality 5-10%",60, -15, 15);
        fHistMCZVertexCent0510 = new TH1F("fHistMCZVertexCent0510","Z coordinate of primary vertex in MC truth for Centrality 5-10%",60, -15, 15);
        
@@ -480,6 +581,9 @@ void AliAnalysisTaskLukeAOD::UserCreateOutputObjects()
        fHistMcPMK0PtCent1020 = new     TH2F("fHistMcPMK0PtCent1020","Monte Carlo primary K0 Mass versus Pt for Centrality 10-20%; P_{perp} (GeV/c); K0 Mass (GeV/c^2)",200,0,10,140,0.414,0.582);
        fHistMcPMLaPtCent1020 = new     TH2F("fHistMcPMLaPtCent1020","Monte Carlo primary (& sigma0) Lambda Mass versus Pt for Centrality 10-20%; P_{perp} (GeV/c); M(p#pi^{-}) (GeV/c^2)",200,0,10,96,1.08,1.2);
        fHistMcPMLbPtCent1020 = new     TH2F("fHistMcPMLbPtCent1020","Monte Carlo primary (& sigma0) AntiLambda Mass versus Pt for Centrality 10-20%; P_{perp} (GeV/c); M(#bar{p}#pi^{+}) (GeV/c^2)",200,0,10,96,1.08,1.2);
+       fHistMcAsMK0PtCent1020 = new    TH2F("fHistMcAsMK0PtCent1020","Monte Carlo associated K0 Mass versus Pt for Centrality 10-20%; P_{perp} (GeV/c); K0 Mass (GeV/c^2)",200,0,10,140,0.414,0.582);
+       fHistMcAsMLaPtCent1020 = new    TH2F("fHistMcAsMLaPtCent1020","Monte Carlo associated (& sigma0) Lambda Mass versus Pt for Centrality 10-20%; P_{perp} (GeV/c); M(p#pi^{-}) (GeV/c^2)",200,0,10,96,1.08,1.2);
+       fHistMcAsMLbPtCent1020 = new    TH2F("fHistMcAsMLbPtCent1020","Monte Carlo associated (& sigma0) AntiLambda Mass versus Pt for Centrality 10-20%; P_{perp} (GeV/c); M(#bar{p}#pi^{+}) (GeV/c^2)",200,0,10,96,1.08,1.2);
        fHistZVertexCent1020 = new TH1F("fHistZVertexCent1020","Z coordinate of primary vertex for Centrality 10-20%",60, -15, 15);
        fHistMCZVertexCent1020 = new TH1F("fHistMCZVertexCent1020","Z coordinate of primary vertex in MC truth for Centrality 10-20%",60, -15, 15);
        
@@ -489,6 +593,9 @@ void AliAnalysisTaskLukeAOD::UserCreateOutputObjects()
        fHistMcPMK0PtCent2040 = new     TH2F("fHistMcPMK0PtCent2040","Monte Carlo primary K0 Mass versus Pt for Centrality 20-40%; P_{perp} (GeV/c); K0 Mass (GeV/c^2)",200,0,10,140,0.414,0.582);
        fHistMcPMLaPtCent2040 = new     TH2F("fHistMcPMLaPtCent2040","Monte Carlo primary (& sigma0) Lambda Mass versus Pt for Centrality 20-40%; P_{perp} (GeV/c); M(p#pi^{-}) (GeV/c^2)",200,0,10,96,1.08,1.2);
        fHistMcPMLbPtCent2040 = new     TH2F("fHistMcPMLbPtCent2040","Monte Carlo primary (& sigma0) AntiLambda Mass versus Pt for Centrality 20-40%; P_{perp} (GeV/c); M(#bar{p}#pi^{+}) (GeV/c^2)",200,0,10,96,1.08,1.2);
+       fHistMcAsMK0PtCent2040 = new    TH2F("fHistMcAsMK0PtCent2040","Monte Carlo associated K0 Mass versus Pt for Centrality 20-40%; P_{perp} (GeV/c); K0 Mass (GeV/c^2)",200,0,10,140,0.414,0.582);
+       fHistMcAsMLaPtCent2040 = new    TH2F("fHistMcAsMLaPtCent2040","Monte Carlo associated (& sigma0) Lambda Mass versus Pt for Centrality 20-40%; P_{perp} (GeV/c); M(p#pi^{-}) (GeV/c^2)",200,0,10,96,1.08,1.2);
+       fHistMcAsMLbPtCent2040 = new    TH2F("fHistMcAsMLbPtCent2040","Monte Carlo associated (& sigma0) AntiLambda Mass versus Pt for Centrality 20-40%; P_{perp} (GeV/c); M(#bar{p}#pi^{+}) (GeV/c^2)",200,0,10,96,1.08,1.2);
        fHistZVertexCent2040 = new TH1F("fHistZVertexCent2040","Z coordinate of primary vertex for Centrality 20-40%",60, -15, 15);
        fHistMCZVertexCent2040 = new TH1F("fHistMCZVertexCent2040","Z coordinate of primary vertex in MC truth for Centrality 20-40%",60, -15, 15);
        
@@ -498,6 +605,9 @@ void AliAnalysisTaskLukeAOD::UserCreateOutputObjects()
        fHistMcPMK0PtCent4060 = new     TH2F("fHistMcPMK0PtCent4060","Monte Carlo primary K0 Mass versus Pt for Centrality 40-60%; P_{perp} (GeV/c); K0 Mass (GeV/c^2)",200,0,10,140,0.414,0.582);
        fHistMcPMLaPtCent4060 = new     TH2F("fHistMcPMLaPtCent4060","Monte Carlo primary (& sigma0) Lambda Mass versus Pt for Centrality 40-60%; P_{perp} (GeV/c); M(p#pi^{-}) (GeV/c^2)",200,0,10,96,1.08,1.2);
        fHistMcPMLbPtCent4060 = new     TH2F("fHistMcPMLbPtCent4060","Monte Carlo primary (& sigma0) AntiLambda Mass versus Pt for Centrality 40-60%; P_{perp} (GeV/c); M(#bar{p}#pi^{+}) (GeV/c^2)",200,0,10,96,1.08,1.2);
+       fHistMcAsMK0PtCent4060 = new    TH2F("fHistMcAsMK0PtCent4060","Monte Carlo associated K0 Mass versus Pt for Centrality 40-60%; P_{perp} (GeV/c); K0 Mass (GeV/c^2)",200,0,10,140,0.414,0.582);
+       fHistMcAsMLaPtCent4060 = new    TH2F("fHistMcAsMLaPtCent4060","Monte Carlo associated (& sigma0) Lambda Mass versus Pt for Centrality 40-60%; P_{perp} (GeV/c); M(p#pi^{-}) (GeV/c^2)",200,0,10,96,1.08,1.2);
+       fHistMcAsMLbPtCent4060 = new    TH2F("fHistMcAsMLbPtCent4060","Monte Carlo associated (& sigma0) AntiLambda Mass versus Pt for Centrality 40-60%; P_{perp} (GeV/c); M(#bar{p}#pi^{+}) (GeV/c^2)",200,0,10,96,1.08,1.2);
        fHistZVertexCent4060 = new TH1F("fHistZVertexCent4060","Z coordinate of primary vertex for Centrality 40-60%",60, -15, 15);
        fHistMCZVertexCent4060 = new TH1F("fHistMCZVertexCent4060","Z coordinate of primary vertex in MC truth for Centrality 40-60%",60, -15, 15);
        
@@ -507,6 +617,9 @@ void AliAnalysisTaskLukeAOD::UserCreateOutputObjects()
        fHistMcPMK0PtCent6090 = new     TH2F("fHistMcPMK0PtCent6090","Monte Carlo primary K0 Mass versus Pt for Centrality 60-90%; P_{perp} (GeV/c); K0 Mass (GeV/c^2)",200,0,10,140,0.414,0.582);
        fHistMcPMLaPtCent6090 = new     TH2F("fHistMcPMLaPtCent6090","Monte Carlo primary (& sigma0) Lambda Mass versus Pt for Centrality 60-90%; P_{perp} (GeV/c); M(p#pi^{-}) (GeV/c^2)",200,0,10,96,1.08,1.2);
        fHistMcPMLbPtCent6090 = new     TH2F("fHistMcPMLbPtCent6090","Monte Carlo primary (& sigma0) AntiLambda Mass versus Pt for Centrality 60-90%; P_{perp} (GeV/c); M(#bar{p}#pi^{+}) (GeV/c^2)",200,0,10,96,1.08,1.2);
+       fHistMcAsMK0PtCent6090 = new    TH2F("fHistMcAsMK0PtCent6090","Monte Carlo associated K0 Mass versus Pt for Centrality 60-90%; P_{perp} (GeV/c); K0 Mass (GeV/c^2)",200,0,10,140,0.414,0.582);
+       fHistMcAsMLaPtCent6090 = new    TH2F("fHistMcAsMLaPtCent6090","Monte Carlo associated (& sigma0) Lambda Mass versus Pt for Centrality 60-90%; P_{perp} (GeV/c); M(p#pi^{-}) (GeV/c^2)",200,0,10,96,1.08,1.2);
+       fHistMcAsMLbPtCent6090 = new    TH2F("fHistMcAsMLbPtCent6090","Monte Carlo associated (& sigma0) AntiLambda Mass versus Pt for Centrality 60-90%; P_{perp} (GeV/c); M(#bar{p}#pi^{+}) (GeV/c^2)",200,0,10,96,1.08,1.2);
        fHistZVertexCent6090 = new TH1F("fHistZVertexCent6090","Z coordinate of primary vertex for Centrality 60-90%",60, -15, 15);
        fHistMCZVertexCent6090 = new TH1F("fHistMCZVertexCent6090","Z coordinate of primary vertex in MC truth for Centrality 60-90%",60, -15, 15);
        
@@ -516,69 +629,103 @@ void AliAnalysisTaskLukeAOD::UserCreateOutputObjects()
        fHistMcPMK0PtCent0090 = new     TH2F("fHistMcPMK0PtCent0090","Monte Carlo primary K0 Mass versus Pt for Centrality 0-90%; P_{perp} (GeV/c); K0 Mass (GeV/c^2)",200,0,10,140,0.414,0.582);
        fHistMcPMLaPtCent0090 = new     TH2F("fHistMcPMLaPtCent0090","Monte Carlo primary (& sigma0) Lambda Mass versus Pt for Centrality 0-90%; P_{perp} (GeV/c); M(p#pi^{-}) (GeV/c^2)",200,0,10,96,1.08,1.2);
        fHistMcPMLbPtCent0090 = new     TH2F("fHistMcPMLbPtCent0090","Monte Carlo primary (& sigma0) AntiLambda Mass versus Pt for Centrality 0-90%; P_{perp} (GeV/c); M(#bar{p}#pi^{+}) (GeV/c^2)",200,0,10,96,1.08,1.2);
+       fHistMcAsMK0PtCent0090 = new    TH2F("fHistMcAsMK0PtCent0090","Monte Carlo associated K0 Mass versus Pt for Centrality 0-90%; P_{perp} (GeV/c); K0 Mass (GeV/c^2)",200,0,10,140,0.414,0.582);
+       fHistMcAsMLaPtCent0090 = new    TH2F("fHistMcAsMLaPtCent0090","Monte Carlo associated (& sigma0) Lambda Mass versus Pt for Centrality 0-90%; P_{perp} (GeV/c); M(p#pi^{-}) (GeV/c^2)",200,0,10,96,1.08,1.2);
+       fHistMcAsMLbPtCent0090 = new    TH2F("fHistMcAsMLbPtCent0090","Monte Carlo associated (& sigma0) AntiLambda Mass versus Pt for Centrality 0-90%; P_{perp} (GeV/c); M(#bar{p}#pi^{+}) (GeV/c^2)",200,0,10,96,1.08,1.2);
        fHistZVertexCent0090 = new TH1F("fHistZVertexCent0090","Z coordinate of primary vertex for Centrality 0-90%",60, -15, 15);
        fHistMCZVertexCent0090 = new TH1F("fHistMCZVertexCent0090","Z coordinate of primary vertex in MC truth for Centrality 0-90%",60, -15, 15);
        
        
-       fHistCosPaLaPt           = new  TH2F("fHistCosPaLaPt"," Reconstructed Mass vs CosPa for Lambda Candidates; M(p#pi^{-}) (GeV/c^2)",200,0.99,1.001,96,1.08,1.2);
-       fHistCosPaLbPt           = new  TH2F("fHistCosPaLbPt"," Reconstructed Mass vs CosPa for AntiLambda Candidates; M(#bar{p}#pi^{+}) (GeV/c^2)",200,0.99,1.001,96,1.08,1.2);
-       fHistCosPaK0Pt           = new  TH2F("fHistCosPaK0Pt"," Reconstructed Mass vs CosPa for K0Short Candidates; K0 Mass (GeV/c^2)",200,0.99,1.001,140,0.414,0.582);
-       fHistMcCosPaAllLaPt      = new  TH2F("fHistMcCosPaAllLaPt","    Reconstructed Mass vs CosPa for all MC primary Lambda; M(p#pi^{-}) (GeV/c^2)",200,0.99,1.001,96,1.08,1.2);
-       fHistMcCosPaAllLbPt      = new  TH2F("fHistMcCosPaAllLbPt","    Reconstructed Mass vs CosPa for all MC primary AntiLambda; M(#bar{p}#pi^{+}) (GeV/c^2)",200,0.99,1.001,96,1.08,1.2);
-       fHistMcCosPaAllK0Pt      = new  TH2F("fHistMcCosPaAllK0Pt","    Reconstructed Mass vs CosPa for all MC primary K0Short; K0 Mass (GeV/c^2)",200,0.99,1.001,140,0.414,0.582);
-       fHistMcCosPaFoundLaPt    = new  TH2F("fHistMcCosPaFoundLaPt","  Reconstructed Mass vs CosPa for reconstructed MC primary Lambda; M(p#pi^{-}) (GeV/c^2)",200,0.99,1.001,96,1.08,1.2);
-       fHistMcCosPaFoundLbPt    = new  TH2F("fHistMcCosPaFoundLbPt","  Reconstructed Mass vs CosPa for reconstructed MC primary AntiLambda; M(#bar{p}#pi^{+}) (GeV/c^2)",200,0.99,1.001,96,1.08,1.2);
-       fHistMcCosPaAFoundK0Pt = new    TH2F("fHistMcCosPaAFoundK0Pt"," Reconstructed Mass vs CosPa for reconstructed MC primary K0Short; K0 Mass (GeV/c^2)",200,0.99,1.001,140,0.414,0.582);
-       
-       fHistcTauLaPt            = new  TH2F("fHistcTauLaPt","  Reconstructed Mass vs cTau for Lambda Candidates; M(p#pi^{-}) (GeV/c^2)",200,0,50,96,1.08,1.2);
-       fHistcTauLbPt            = new  TH2F("fHistcTauLbPt","  Reconstructed Mass vs cTau for AntiLambda Candidates; M(#bar{p}#pi^{+}) (GeV/c^2)",200,0,50,96,1.08,1.2);
-       fHistcTauK0Pt            = new  TH2F("fHistcTauK0Pt","  Reconstructed Mass vs cTau for K0Short Candidates; K0 Mass (GeV/c^2)",200,0,50,140,0.414,0.582);
-       fHistMccTauAllLaPt       = new  TH2F("fHistMccTauAllLaPt","     Reconstructed Mass vs cTau for all MC primary Lambda; M(p#pi^{-}) (GeV/c^2)",200,0,50,96,1.08,1.2);
-       fHistMccTauAllLbPt       = new  TH2F("fHistMccTauAllLbPt","     Reconstructed Mass vs cTau for all MC primary AntiLambda; M(#bar{p}#pi^{+}) (GeV/c^2)",200,0,50,96,1.08,1.2);
-       fHistMccTauAllK0Pt       = new  TH2F("fHistMccTauAllK0Pt","     Reconstructed Mass vs cTau for all MC primary K0Short; K0 Mass (GeV/c^2)",200,0,50,140,0.414,0.582);
-       fHistMccTauFoundLaPt     = new  TH2F("fHistMccTauFoundLaPt","   Reconstructed Mass vs cTau for reconstructed MC primary Lambda; M(p#pi^{-}) (GeV/c^2)",200,0,50,96,1.08,1.2);
-       fHistMccTauFoundLbPt     = new  TH2F("fHistMccTauFoundLbPt","   Reconstructed Mass vs cTau for reconstructed MC primary AntiLambda; M(#bar{p}#pi^{+}) (GeV/c^2)",200,0,50,96,1.08,1.2);
-       fHistMccTauAFoundK0Pt = new     TH2F("fHistMccTauAFoundK0Pt","  Reconstructed Mass vs cTau for reconstructed MC primary K0Short; K0 Mass (GeV/c^2)",200,0,50,140,0.414,0.582);
-       
-       fHistDcaLaPt             = new  TH2F("fHistDcaLaPt","   Reconstructed Mass vs Dca for Lambda Candidates; M(p#pi^{-}) (GeV/c^2)",200,0,1.5,96,1.08,1.2);
-       fHistDcaLbPt             = new  TH2F("fHistDcaLbPt","   Reconstructed Mass vs Dca for AntiLambda Candidates; M(#bar{p}#pi^{+}) (GeV/c^2)",200,0,1.5,96,1.08,1.2);
-       fHistDcaK0Pt             = new  TH2F("fHistDcaK0Pt","   Reconstructed Mass vs Dca for K0Short Candidates; K0 Mass (GeV/c^2)",200,0,1.5,140,0.414,0.582);
-       fHistMcDcaAllLaPt        = new  TH2F("fHistMcDcaAllLaPt","      Reconstructed Mass vs Dca for all MC primary Lambda; M(p#pi^{-}) (GeV/c^2)",200,0,50,96,1.08,1.2);
-       fHistMcDcaAllLbPt        = new  TH2F("fHistMcDcaAllLbPt","      Reconstructed Mass vs Dca for all MC primary AntiLambda; M(#bar{p}#pi^{+}) (GeV/c^2)",200,0,50,96,1.08,1.2);
-       fHistMcDcaAllK0Pt        = new  TH2F("fHistMcDcaAllK0Pt","      Reconstructed Mass vs Dca for all MC primary K0Short; K0 Mass (GeV/c^2)",200,0,50,140,0.414,0.582);
-       fHistMcDcaFoundLaPt      = new  TH2F("fHistMcDcaFoundLaPt","    Reconstructed Mass vs Dca for reconstructed MC primary Lambda; M(p#pi^{-}) (GeV/c^2)",200,0,1.5,96,1.08,1.2);
-       fHistMcDcaFoundLbPt      = new  TH2F("fHistMcDcaFoundLbPt","    Reconstructed Mass vs Dca for reconstructed MC primary AntiLambda; M(#bar{p}#pi^{+}) (GeV/c^2)",200,0,1.5,96,1.08,1.2);
-       fHistMcDcaAFoundK0Pt = new      TH2F("fHistMcDcaAFoundK0Pt","   Reconstructed Mass vs Dca for reconstructed MC primary K0Short; K0 Mass (GeV/c^2)",200,0,1.5,140,0.414,0.582);
-       
-       fHistNSigmaLaPt          = new  TH2F("fHistNSigmaLaPt","        Reconstructed Mass vs NSigma for Lambda Candidates; M(p#pi^{-}) (GeV/c^2)",50,-5,5,96,1.08,1.2);
-       fHistNSigmaLbPt          = new  TH2F("fHistNSigmaLbPt","        Reconstructed Mass vs NSigma for AntiLambda Candidates; M(#bar{p}#pi^{+}) (GeV/c^2)",50,-5,5,96,1.08,1.2);
-       fHistNSigmaK0Pt          = new  TH2F("fHistNSigmaK0Pt","        Reconstructed Mass vs NSigma for K0Short Candidates; K0 Mass (GeV/c^2)",50,-5,5,140,0.414,0.582);
-       fHistMcNSigmaAllLaPt     = new  TH2F("fHistMcNSigmaAllLaPt","   Reconstructed Mass vs NSigma for all MC primary Lambda; M(p#pi^{-}) (GeV/c^2)",50,-5,5,96,1.08,1.2);
-       fHistMcNSigmaAllLbPt     = new  TH2F("fHistMcNSigmaAllLbPt","   Reconstructed Mass vs NSigma for all MC primary AntiLambda; M(#bar{p}#pi^{+}) (GeV/c^2)",50,-5,5,96,1.08,1.2);
-       fHistMcNSigmaAllK0Pt     = new  TH2F("fHistMcNSigmaAllK0Pt","   Reconstructed Mass vs NSigma for all MC primary K0Short; K0 Mass (GeV/c^2)",50,-5,5,140,0.414,0.582);
-       fHistMcNSigmaFoundLaPt   = new  TH2F("fHistMcNSigmaFoundLaPt"," Reconstructed Mass vs NSigma for reconstructed MC primary Lambda; M(p#pi^{-}) (GeV/c^2)",50,-5,5,96,1.08,1.2);
-       fHistMcNSigmaFoundLbPt   = new  TH2F("fHistMcNSigmaFoundLbPt"," Reconstructed Mass vs NSigma for reconstructed MC primary AntiLambda; M(#bar{p}#pi^{+}) (GeV/c^2)",50,-5,5,96,1.08,1.2);
-       fHistMcNSigmaAFoundK0Pt = new   TH2F("fHistMcNSigmaAFoundK0Pt","        Reconstructed Mass vs NSigma for reconstructed MC primary K0Short; K0 Mass (GeV/c^2)",50,-5,5,140,0.414,0.582);
-       
-       fHistEtaLaPt             = new  TH2F("fHistEtaLaPt","   Reconstructed Mass vs Eta for Lambda Candidates; M(p#pi^{-}) (GeV/c^2)",200,-3,3,96,1.08,1.2);
-       fHistEtaLbPt             = new  TH2F("fHistEtaLbPt","   Reconstructed Mass vs Eta for AntiLambda Candidates; M(#bar{p}#pi^{+}) (GeV/c^2)",200,-3,3,96,1.08,1.2);
-       fHistEtaK0Pt             = new  TH2F("fHistEtaK0Pt","   Reconstructed Mass vs Eta for K0Short Candidates; K0 Mass (GeV/c^2)",200,-3,3,140,0.414,0.582);
-       fHistMcEtaAllLaPt        = new  TH2F("fHistMcEtaAllLaPt","      Reconstructed Mass vs Eta for all MC primary Lambda; M(p#pi^{-}) (GeV/c^2)",200,-3,3,96,1.08,1.2);
-       fHistMcEtaAllLbPt        = new  TH2F("fHistMcEtaAllLbPt","      Reconstructed Mass vs Eta for all MC primary AntiLambda; M(#bar{p}#pi^{+}) (GeV/c^2)",200,-3,3,96,1.08,1.2);
-       fHistMcEtaAllK0Pt        = new  TH2F("fHistMcEtaAllK0Pt","      Reconstructed Mass vs Eta for all MC primary K0Short; K0 Mass (GeV/c^2)",200,-3,3,140,0.414,0.582);
-       fHistMcEtaFoundLaPt      = new  TH2F("fHistMcEtaFoundLaPt","    Reconstructed Mass vs Eta for reconstructed MC primary Lambda; M(p#pi^{-}) (GeV/c^2)",200,-3,3,96,1.08,1.2);
-       fHistMcEtaFoundLbPt      = new  TH2F("fHistMcEtaFoundLbPt","    Reconstructed Mass vs Eta for reconstructed MC primary AntiLambda; M(#bar{p}#pi^{+}) (GeV/c^2)",200,-3,3,96,1.08,1.2);
-       fHistMcEtaAFoundK0Pt = new      TH2F("fHistMcEtaAFoundK0Pt","   Reconstructed Mass vs Eta for reconstructed MC primary K0Short; K0 Mass (GeV/c^2)",200,-3,3,140,0.414,0.582);
-       
-       fHistRapLaPt             = new  TH2F("fHistRapLaPt","   Reconstructed Mass vs Rap for Lambda Candidates; M(p#pi^{-}) (GeV/c^2)",200,-1,1,96,1.08,1.2);
-       fHistRapLbPt             = new  TH2F("fHistRapLbPt","   Reconstructed Mass vs Rap for AntiLambda Candidates; M(#bar{p}#pi^{+}) (GeV/c^2)",200,-1,1,96,1.08,1.2);
-       fHistRapK0Pt             = new  TH2F("fHistRapK0Pt","   Reconstructed Mass vs Rap for K0Short Candidates; K0 Mass (GeV/c^2)",200,-1,1,140,0.414,0.582);
-       fHistMcRapAllLaPt        = new  TH2F("fHistMcRapAllLaPt","      Reconstructed Mass vs Rap for all MC primary Lambda; M(p#pi^{-}) (GeV/c^2)",200,-1,1,96,1.08,1.2);
-       fHistMcRapAllLbPt        = new  TH2F("fHistMcRapAllLbPt","      Reconstructed Mass vs Rap for all MC primary AntiLambda; M(#bar{p}#pi^{+}) (GeV/c^2)",200,-1,1,96,1.08,1.2);
-       fHistMcRapAllK0Pt        = new  TH2F("fHistMcRapAllK0Pt","      Reconstructed Mass vs Rap for all MC primary K0Short; K0 Mass (GeV/c^2)",200,-1,1,140,0.414,0.582);
-       fHistMcRapFoundLaPt      = new  TH2F("fHistMcRapFoundLaPt","    Reconstructed Mass vs Rap for reconstructed MC primary Lambda; M(p#pi^{-}) (GeV/c^2)",200,-1,1,96,1.08,1.2);
-       fHistMcRapFoundLbPt      = new  TH2F("fHistMcRapFoundLbPt","    Reconstructed Mass vs Rap for reconstructed MC primary AntiLambda; M(#bar{p}#pi^{+}) (GeV/c^2)",200,-1,1,96,1.08,1.2);
-       fHistMcRapAFoundK0Pt = new      TH2F("fHistMcRapAFoundK0Pt","   Reconstructed Mass vs Rap for reconstructed MC primary K0Short; K0 Mass (GeV/c^2)",200,-1,1,140,0.414,0.582);
+       fHistCosPaMLa            = new  TH2F("fHistCosPaMLa","  Reconstructed Mass vs CosPa for Lambda Candidates;CosPA; M(p#pi^{-}) (GeV/c^2)",200,0.99,1.001,96,1.08,1.2);
+       fHistCosPaMLb            = new  TH2F("fHistCosPaMLb","  Reconstructed Mass vs CosPa for AntiLambda Candidates;CosPA; M(#bar{p}#pi^{+}) (GeV/c^2)",200,0.99,1.001,96,1.08,1.2);
+       fHistCosPaMK0            = new  TH2F("fHistCosPaMK0","  Reconstructed Mass vs CosPa for K0Short Candidates;CosPA; K0 Mass (GeV/c^2)",200,0.99,1.001,140,0.414,0.582);
+       fHistMcGenCosPaMLa       = new  TH2F("fHistMcGenCosPaMLa","     Reconstructed Mass vs MC-Truth CosPa for all MC primary Lambda;CosPA; M(p#pi^{-}) (GeV/c^2)",200,0.99,1.001,96,1.08,1.2);
+       fHistMcGenCosPaMLb       = new  TH2F("fHistMcGenCosPaMLb","     Reconstructed Mass vs MC-Truth CosPa for all MC primary AntiLambda;CosPA; M(#bar{p}#pi^{+}) (GeV/c^2)",200,0.99,1.001,96,1.08,1.2);
+       fHistMcGenCosPaMK0       = new  TH2F("fHistMcGenCosPaMK0","     Reconstructed Mass vs MC-Truth CosPa for all MC primary K0Short;CosPA; K0 Mass (GeV/c^2)",200,0.99,1.001,140,0.414,0.582);
+       fHistMcAsReconCosPaMLa   = new  TH2F("fHistMcAsReconCosPaMLa"," Reconstructed Mass vs CosPa for reconstructed MC primary Lambda;CosPA; M(p#pi^{-}) (GeV/c^2)",200,0.99,1.001,96,1.08,1.2);
+       fHistMcAsReconCosPaMLb   = new  TH2F("fHistMcAsReconCosPaMLb"," Reconstructed Mass vs CosPa for reconstructed MC primary AntiLambda;CosPA; M(#bar{p}#pi^{+}) (GeV/c^2)",200,0.99,1.001,96,1.08,1.2);
+       fHistMcAsReconCosPaMK0 = new    TH2F("fHistMcAsReconCosPaMK0"," Reconstructed Mass vs CosPa for reconstructed MC primary K0Short;CosPA; K0 Mass (GeV/c^2)",200,0.99,1.001,140,0.414,0.582);
+       fHistMcAsTruthCosPaMLa   = new  TH2F("fHistMcAsTruthCosPaMLa"," Reconstructed Mass vs MC-Truth CosPa for reconstructed MC primary Lambda;CosPA; M(p#pi^{-}) (GeV/c^2)",200,0.99,1.001,96,1.08,1.2);
+       fHistMcAsTruthCosPaMLb   = new  TH2F("fHistMcAsTruthCosPaMLb"," Reconstructed Mass vs MC-Truth CosPa for reconstructed MC primary AntiLambda;CosPA; M(#bar{p}#pi^{+}) (GeV/c^2)",200,0.99,1.001,96,1.08,1.2);
+       fHistMcAsTruthCosPaMK0 = new    TH2F("fHistMcAsTruthCosPaMK0"," Reconstructed Mass vs MC-Truth CosPa for reconstructed MC primary K0Short;CosPA; K0 Mass (GeV/c^2)",200,0.99,1.001,140,0.414,0.582);
+       
+       fHistcTauMLa             = new  TH2F("fHistcTauMLa","   Reconstructed Mass vs cTau for Lambda Candidates; cTau; M(p#pi^{-}) (GeV/c^2)",200,0,50,96,1.08,1.2);
+       fHistcTauMLb             = new  TH2F("fHistcTauMLb","   Reconstructed Mass vs cTau for AntiLambda Candidates; cTau; M(#bar{p}#pi^{+}) (GeV/c^2)",200,0,50,96,1.08,1.2);
+       fHistcTauMK0             = new  TH2F("fHistcTauMK0","   Reconstructed Mass vs cTau for K0Short Candidates; cTau; K0 Mass (GeV/c^2)",200,0,50,140,0.414,0.582);
+       fHistMcGencTauMLa        = new  TH2F("fHistMcGencTauMLa","      Reconstructed Mass vs MC-Truth cTau for all MC primary Lambda; cTau; M(p#pi^{-}) (GeV/c^2)",200,0,50,96,1.08,1.2);
+       fHistMcGencTauMLb        = new  TH2F("fHistMcGencTauMLb","      Reconstructed Mass vs MC-Truth cTau for all MC primary AntiLambda; cTau; M(#bar{p}#pi^{+}) (GeV/c^2)",200,0,50,96,1.08,1.2);
+       fHistMcGencTauMK0        = new  TH2F("fHistMcGencTauMK0","      Reconstructed Mass vs MC-Truth cTau for all MC primary K0Short; cTau; K0 Mass (GeV/c^2)",200,0,50,140,0.414,0.582);
+       fHistMcAsReconcTauMLa    = new  TH2F("fHistMcAsReconcTauMLa","  Reconstructed Mass vs cTau for reconstructed MC primary Lambda; cTau; M(p#pi^{-}) (GeV/c^2)",200,0,50,96,1.08,1.2);
+       fHistMcAsReconcTauMLb    = new  TH2F("fHistMcAsReconcTauMLb","  Reconstructed Mass vs cTau for reconstructed MC primary AntiLambda; cTau; M(#bar{p}#pi^{+}) (GeV/c^2)",200,0,50,96,1.08,1.2);
+       fHistMcAsReconcTauMK0 = new     TH2F("fHistMcAsReconcTauMK0","  Reconstructed Mass vs cTau for reconstructed MC primary K0Short; cTau; K0 Mass (GeV/c^2)",200,0,50,140,0.414,0.582);
+       fHistMcAsTruthcTauMLa    = new  TH2F("fHistMcAsTruthcTauMLa","  Reconstructed Mass vs MC-Truth cTau for reconstructed MC primary Lambda; cTau; M(p#pi^{-}) (GeV/c^2)",200,0,50,96,1.08,1.2);
+       fHistMcAsTruthcTauMLb    = new  TH2F("fHistMcAsTruthcTauMLb","  Reconstructed Mass vs MC-Truth cTau for reconstructed MC primary AntiLambda; cTau; M(#bar{p}#pi^{+}) (GeV/c^2)",200,0,50,96,1.08,1.2);
+       fHistMcAsTruthcTauMK0 = new     TH2F("fHistMcAsTruthcTauMK0","  Reconstructed Mass vs MC-Truth cTau for reconstructed MC primary K0Short; cTau; K0 Mass (GeV/c^2)",200,0,50,140,0.414,0.582);
+       
+       fHistDcaMLa              = new  TH2F("fHistDcaMLa","    Reconstructed Mass vs Dca for Lambda Candidates; DCA; M(p#pi^{-}) (GeV/c^2)",200,0,1.5,96,1.08,1.2);
+       fHistDcaMLb              = new  TH2F("fHistDcaMLb","    Reconstructed Mass vs Dca for AntiLambda Candidates; DCA; M(#bar{p}#pi^{+}) (GeV/c^2)",200,0,1.5,96,1.08,1.2);
+       fHistDcaMK0              = new  TH2F("fHistDcaMK0","    Reconstructed Mass vs Dca for K0Short Candidates; DCA; K0 Mass (GeV/c^2)",200,0,1.5,140,0.414,0.582);
+       fHistMcGenDcaMLa         = new  TH2F("fHistMcGenDcaMLa","       Reconstructed Mass vs MC-Truth Dca for all MC primary Lambda; DCA; M(p#pi^{-}) (GeV/c^2)",200,0,50,96,1.08,1.2);
+       fHistMcGenDcaMLb         = new  TH2F("fHistMcGenDcaMLb","       Reconstructed Mass vs MC-Truth Dca for all MC primary AntiLambda; DCA; M(#bar{p}#pi^{+}) (GeV/c^2)",200,0,50,96,1.08,1.2);
+       fHistMcGenDcaMK0         = new  TH2F("fHistMcGenDcaMK0","       Reconstructed Mass vs MC-Truth Dca for all MC primary K0Short; DCA; K0 Mass (GeV/c^2)",200,0,50,140,0.414,0.582);
+       fHistMcAsReconDcaMLa     = new  TH2F("fHistMcAsReconDcaMLa","   Reconstructed Mass vs Dca for reconstructed MC primary Lambda; DCA; M(p#pi^{-}) (GeV/c^2)",200,0,1.5,96,1.08,1.2);
+       fHistMcAsReconDcaMLb     = new  TH2F("fHistMcAsReconDcaMLb","   Reconstructed Mass vs Dca for reconstructed MC primary AntiLambda; DCA; M(#bar{p}#pi^{+}) (GeV/c^2)",200,0,1.5,96,1.08,1.2);
+       fHistMcAsReconDcaMK0 = new      TH2F("fHistMcAsReconDcaMK0","   Reconstructed Mass vs Dca for reconstructed MC primary K0Short; DCA; K0 Mass (GeV/c^2)",200,0,1.5,140,0.414,0.582);
+       fHistMcAsTruthDcaMLa     = new  TH2F("fHistMcAsTruthDcaMLa","   Reconstructed Mass vs MC-Truth Dca for reconstructed MC primary Lambda; DCA; M(p#pi^{-}) (GeV/c^2)",200,0,1.5,96,1.08,1.2);
+       fHistMcAsTruthDcaMLb     = new  TH2F("fHistMcAsTruthDcaMLb","   Reconstructed Mass vs MC-Truth Dca for reconstructed MC primary AntiLambda; DCA; M(#bar{p}#pi^{+}) (GeV/c^2)",200,0,1.5,96,1.08,1.2);
+       fHistMcAsTruthDcaMK0 = new      TH2F("fHistMcAsTruthDcaMK0","   Reconstructed Mass vs MC-Truth Dca for reconstructed MC primary K0Short; DCA; K0 Mass (GeV/c^2)",200,0,1.5,140,0.414,0.582);
+       
+       fHistNSigmaMLa           = new  TH2F("fHistNSigmaMLa"," Reconstructed Mass vs NSigma for Lambda Candidates; NSigma; M(p#pi^{-}) (GeV/c^2)",50,-5,5,96,1.08,1.2);
+       fHistNSigmaMLb           = new  TH2F("fHistNSigmaMLb"," Reconstructed Mass vs NSigma for AntiLambda Candidates; NSigma; M(#bar{p}#pi^{+}) (GeV/c^2)",50,-5,5,96,1.08,1.2);
+       fHistNSigmaMK0           = new  TH2F("fHistNSigmaMK0"," Reconstructed Mass vs NSigma for K0Short Candidates; NSigma; K0 Mass (GeV/c^2)",50,-5,5,140,0.414,0.582);
+       fHistMcGenNSigmaMLa      = new  TH2F("fHistMcGenNSigmaMLa","    Reconstructed Mass vs MC-Truth NSigma for all MC primary Lambda; NSigma; M(p#pi^{-}) (GeV/c^2)",50,-5,5,96,1.08,1.2);
+       fHistMcGenNSigmaMLb      = new  TH2F("fHistMcGenNSigmaMLb","    Reconstructed Mass vs MC-Truth NSigma for all MC primary AntiLambda; NSigma; M(#bar{p}#pi^{+}) (GeV/c^2)",50,-5,5,96,1.08,1.2);
+       fHistMcGenNSigmaMK0      = new  TH2F("fHistMcGenNSigmaMK0","    Reconstructed Mass vs MC-Truth NSigma for all MC primary K0Short; NSigma; K0 Mass (GeV/c^2)",50,-5,5,140,0.414,0.582);
+       fHistMcAsReconNSigmaMLa  = new  TH2F("fHistMcAsReconNSigmaMLa","        Reconstructed Mass vs NSigma for reconstructed MC primary Lambda; NSigma; M(p#pi^{-}) (GeV/c^2)",50,-5,5,96,1.08,1.2);
+       fHistMcAsReconNSigmaMLb  = new  TH2F("fHistMcAsReconNSigmaMLb","        Reconstructed Mass vs NSigma for reconstructed MC primary AntiLambda; NSigma; M(#bar{p}#pi^{+}) (GeV/c^2)",50,-5,5,96,1.08,1.2);
+       fHistMcAsReconNSigmaMK0 = new   TH2F("fHistMcAsReconNSigmaMK0","        Reconstructed Mass vs NSigma for reconstructed MC primary K0Short; NSigma; K0 Mass (GeV/c^2)",50,-5,5,140,0.414,0.582);
+       fHistMcAsTruthNSigmaMLa  = new  TH2F("fHistMcAsTruthNSigmaMLa","        Reconstructed Mass vs MC-Truth NSigma for reconstructed MC primary Lambda; NSigma; M(p#pi^{-}) (GeV/c^2)",50,-5,5,96,1.08,1.2);
+       fHistMcAsTruthNSigmaMLb  = new  TH2F("fHistMcAsTruthNSigmaMLb","        Reconstructed Mass vs MC-Truth NSigma for reconstructed MC primary AntiLambda; NSigma; M(#bar{p}#pi^{+}) (GeV/c^2)",50,-5,5,96,1.08,1.2);
+       fHistMcAsTruthNSigmaMK0 = new   TH2F("fHistMcAsTruthNSigmaMK0","        Reconstructed Mass vs MC-Truth NSigma for reconstructed MC primary K0Short; NSigma; K0 Mass (GeV/c^2)",50,-5,5,140,0.414,0.582);
+       
+       fHistEtaMLa              = new  TH2F("fHistEtaMLa","    Reconstructed Mass vs Eta for Lambda Candidates; Eta; M(p#pi^{-}) (GeV/c^2)",200,-3,3,96,1.08,1.2);
+       fHistEtaMLb              = new  TH2F("fHistEtaMLb","    Reconstructed Mass vs Eta for AntiLambda Candidates; Eta; M(#bar{p}#pi^{+}) (GeV/c^2)",200,-3,3,96,1.08,1.2);
+       fHistEtaMK0              = new  TH2F("fHistEtaMK0","    Reconstructed Mass vs Eta for K0Short Candidates; Eta; K0 Mass (GeV/c^2)",200,-3,3,140,0.414,0.582);
+       fHistMcGenEtaMLa         = new  TH2F("fHistMcGenEtaMLa","       Reconstructed Mass vs MC-Truth Eta for all MC primary Lambda; Eta; M(p#pi^{-}) (GeV/c^2)",200,-3,3,96,1.08,1.2);
+       fHistMcGenEtaMLb         = new  TH2F("fHistMcGenEtaMLb","       Reconstructed Mass vs MC-Truth Eta for all MC primary AntiLambda; Eta; M(#bar{p}#pi^{+}) (GeV/c^2)",200,-3,3,96,1.08,1.2);
+       fHistMcGenEtaMK0         = new  TH2F("fHistMcGenEtaMK0","       Reconstructed Mass vs MC-Truth Eta for all MC primary K0Short; Eta; K0 Mass (GeV/c^2)",200,-3,3,140,0.414,0.582);
+       fHistMcAsReconEtaMLa     = new  TH2F("fHistMcAsReconEtaMLa","   Reconstructed Mass vs Eta for reconstructed MC primary Lambda; Eta; M(p#pi^{-}) (GeV/c^2)",200,-3,3,96,1.08,1.2);
+       fHistMcAsReconEtaMLb     = new  TH2F("fHistMcAsReconEtaMLb","   Reconstructed Mass vs Eta for reconstructed MC primary AntiLambda; Eta; M(#bar{p}#pi^{+}) (GeV/c^2)",200,-3,3,96,1.08,1.2);
+       fHistMcAsReconEtaMK0 = new      TH2F("fHistMcAsReconEtaMK0","   Reconstructed Mass vs Eta for reconstructed MC primary K0Short; Eta; K0 Mass (GeV/c^2)",200,-3,3,140,0.414,0.582);
+       fHistMcAsTruthEtaMLa     = new  TH2F("fHistMcAsTruthEtaMLa","   Reconstructed Mass vs MC-Truth Eta for reconstructed MC primary Lambda; Eta; M(p#pi^{-}) (GeV/c^2)",200,-3,3,96,1.08,1.2);
+       fHistMcAsTruthEtaMLb     = new  TH2F("fHistMcAsTruthEtaMLb","   Reconstructed Mass vs MC-Truth Eta for reconstructed MC primary AntiLambda; Eta; M(#bar{p}#pi^{+}) (GeV/c^2)",200,-3,3,96,1.08,1.2);
+       fHistMcAsTruthEtaMK0 = new      TH2F("fHistMcAsTruthEtaMK0","   Reconstructed Mass vs MC-Truth Eta for reconstructed MC primary K0Short; Eta; K0 Mass (GeV/c^2)",200,-3,3,140,0.414,0.582);
+       
+       fHistRapMLa              = new  TH2F("fHistRapMLa","    Reconstructed Mass vs Rap for Lambda Candidates; Rapidity; M(p#pi^{-}) (GeV/c^2)",200,-1,1,96,1.08,1.2);
+       fHistRapMLb              = new  TH2F("fHistRapMLb","    Reconstructed Mass vs Rap for AntiLambda Candidates; Rapidity; M(#bar{p}#pi^{+}) (GeV/c^2)",200,-1,1,96,1.08,1.2);
+       fHistRapMK0              = new  TH2F("fHistRapMK0","    Reconstructed Mass vs Rap for K0Short Candidates; Rapidity; K0 Mass (GeV/c^2)",200,-1,1,140,0.414,0.582);
+       fHistMcGenRapMLa         = new  TH2F("fHistMcGenRapMLa","       Reconstructed Mass vs MC-Truth Rap for all MC primary Lambda; Rapidity; M(p#pi^{-}) (GeV/c^2)",200,-1,1,96,1.08,1.2);
+       fHistMcGenRapMLb         = new  TH2F("fHistMcGenRapMLb","       Reconstructed Mass vs MC-Truth Rap for all MC primary AntiLambda; Rapidity; M(#bar{p}#pi^{+}) (GeV/c^2)",200,-1,1,96,1.08,1.2);
+       fHistMcGenRapMK0         = new  TH2F("fHistMcGenRapMK0","       Reconstructed Mass vs MC-Truth Rap for all MC primary K0Short; Rapidity; K0 Mass (GeV/c^2)",200,-1,1,140,0.414,0.582);
+       fHistMcAsReconRapMLa     = new  TH2F("fHistMcAsReconRapMLa","   Reconstructed Mass vs Rap for reconstructed MC primary Lambda; Rapidity; M(p#pi^{-}) (GeV/c^2)",200,-1,1,96,1.08,1.2);
+       fHistMcAsReconRapMLb     = new  TH2F("fHistMcAsReconRapMLb","   Reconstructed Mass vs Rap for reconstructed MC primary AntiLambda; Rapidity; M(#bar{p}#pi^{+}) (GeV/c^2)",200,-1,1,96,1.08,1.2);
+       fHistMcAsReconRapMK0 = new      TH2F("fHistMcAsReconRapMK0","   Reconstructed Mass vs Rap for reconstructed MC primary K0Short; Rapidity; K0 Mass (GeV/c^2)",200,-1,1,140,0.414,0.582);
+       fHistMcAsTruthRapMLa     = new  TH2F("fHistMcAsTruthRapMLa","   Reconstructed Mass vs MC-Truth Rap for reconstructed MC primary Lambda; Rapidity; M(p#pi^{-}) (GeV/c^2)",200,-1,1,96,1.08,1.2);
+       fHistMcAsTruthRapMLb     = new  TH2F("fHistMcAsTruthRapMLb","   Reconstructed Mass vs MC-Truth Rap for reconstructed MC primary AntiLambda; Rapidity; M(#bar{p}#pi^{+}) (GeV/c^2)",200,-1,1,96,1.08,1.2);
+       fHistMcAsTruthRapMK0 = new      TH2F("fHistMcAsTruthRapMK0","   Reconstructed Mass vs MC-Truth Rap for reconstructed MC primary K0Short; Rapidity; K0 Mass (GeV/c^2)",200,-1,1,140,0.414,0.582);
+       
+       fHistArmPodK0 = new     TH2F("fHistArmPodK0","Armenteros plot for K0 candidates; Alpha; PtArm",100,-1,1,50,0,0.5);
+       fHistArmPodLa = new     TH2F("fHistArmPodLa","Armenteros plot for La candidates; Alpha; PtArm",100,-1,1,50,0,0.5);
+       fHistArmPodLb = new     TH2F("fHistArmPodLb","Armenteros plot for Lb candidates; Alpha; PtArm",100,-1,1,50,0,0.5);
+       fHistMcGenArmPodK0 = new        TH2F("fHistMcGenArmPodK0","Armenteros plot for MC Generated K0 candidates; Alpha; PtArm",100,-1,1,50,0,0.5);
+       fHistMcGenArmPodLa = new        TH2F("fHistMcGenArmPodLa","Armenteros plot for MC Generated La candidates; Alpha; PtArm",100,-1,1,50,0,0.5);
+       fHistMcGenArmPodLb = new        TH2F("fHistMcGenArmPodLb","Armenteros plot for MC Generated Lb candidates; Alpha; PtArm",100,-1,1,50,0,0.5);
+       fHistMcAsReconArmPodK0 = new    TH2F("fHistMcAsReconArmPodK0","Armenteros plot for MC Associated K0 candidates; Alpha; PtArm",100,-1,1,50,0,0.5);
+       fHistMcAsReconArmPodLa = new    TH2F("fHistMcAsReconArmPodLa","Armenteros plot for MC Associated La candidates; Alpha; PtArm",100,-1,1,50,0,0.5);
+       fHistMcAsReconArmPodLb = new    TH2F("fHistMcAsReconArmPodLb","Armenteros plot for MC Associated Lb candidates; Alpha; PtArm",100,-1,1,50,0,0.5);
+       fHistMcAsTruthArmPodK0 = new    TH2F("fHistMcAsTruthArmPodK0","True Armenteros plot for MC Associated K0 candidates; Alpha; PtArm",100,-1,1,50,0,0.5);
+       fHistMcAsTruthArmPodLa = new    TH2F("fHistMcAsTruthArmPodLa","True Armenteros plot for MC Associated La candidates; Alpha; PtArm",100,-1,1,50,0,0.5);
+       fHistMcAsTruthArmPodLb = new    TH2F("fHistMcAsTruthArmPodLb","True Armenteros plot for MC Associated Lb candidates; Alpha; PtArm",100,-1,1,50,0,0.5);
        
        
        
@@ -598,9 +745,6 @@ void AliAnalysisTaskLukeAOD::UserCreateOutputObjects()
        fOutput->Add(fHistBBLaNeg);
        fOutput->Add(fHistBBLbPos);
        fOutput->Add(fHistBBLbNeg);
-       fOutput->Add(fHistArmPodK0);
-       fOutput->Add(fHistArmPodLa);
-       fOutput->Add(fHistArmPodLb);
        
        fOutput->Add(fHistBB3SigProton);
        fOutput->Add(fHistMK0Pt); 
@@ -618,6 +762,9 @@ void AliAnalysisTaskLukeAOD::UserCreateOutputObjects()
        fOutput->Add(fHistMcPMK0PtCent0005);
        fOutput->Add(fHistMcPMLaPtCent0005);
        fOutput->Add(fHistMcPMLbPtCent0005);
+       fOutput->Add(fHistMcAsMK0PtCent0005);
+       fOutput->Add(fHistMcAsMLaPtCent0005);
+       fOutput->Add(fHistMcAsMLbPtCent0005);
        fOutput->Add(fHistZVertexCent0005);
        fOutput->Add(fHistMCZVertexCent0005);
        
@@ -627,6 +774,9 @@ void AliAnalysisTaskLukeAOD::UserCreateOutputObjects()
        fOutput->Add(fHistMcPMK0PtCent0510);
        fOutput->Add(fHistMcPMLaPtCent0510);
        fOutput->Add(fHistMcPMLbPtCent0510);
+       fOutput->Add(fHistMcAsMK0PtCent0510);
+       fOutput->Add(fHistMcAsMLaPtCent0510);
+       fOutput->Add(fHistMcAsMLbPtCent0510);
        fOutput->Add(fHistZVertexCent0510);
        fOutput->Add(fHistMCZVertexCent0510);
        
@@ -636,6 +786,9 @@ void AliAnalysisTaskLukeAOD::UserCreateOutputObjects()
        fOutput->Add(fHistMcPMK0PtCent1020);
        fOutput->Add(fHistMcPMLaPtCent1020);
        fOutput->Add(fHistMcPMLbPtCent1020);
+       fOutput->Add(fHistMcAsMK0PtCent1020);
+       fOutput->Add(fHistMcAsMLaPtCent1020);
+       fOutput->Add(fHistMcAsMLbPtCent1020);
        fOutput->Add(fHistZVertexCent1020);
        fOutput->Add(fHistMCZVertexCent1020);
        
@@ -645,6 +798,9 @@ void AliAnalysisTaskLukeAOD::UserCreateOutputObjects()
        fOutput->Add(fHistMcPMK0PtCent2040);
        fOutput->Add(fHistMcPMLaPtCent2040);
        fOutput->Add(fHistMcPMLbPtCent2040);
+       fOutput->Add(fHistMcAsMK0PtCent2040);
+       fOutput->Add(fHistMcAsMLaPtCent2040);
+       fOutput->Add(fHistMcAsMLbPtCent2040);
        fOutput->Add(fHistZVertexCent2040);
        fOutput->Add(fHistMCZVertexCent2040);
        
@@ -654,6 +810,9 @@ void AliAnalysisTaskLukeAOD::UserCreateOutputObjects()
        fOutput->Add(fHistMcPMK0PtCent4060);
        fOutput->Add(fHistMcPMLaPtCent4060);
        fOutput->Add(fHistMcPMLbPtCent4060);
+       fOutput->Add(fHistMcAsMK0PtCent4060);
+       fOutput->Add(fHistMcAsMLaPtCent4060);
+       fOutput->Add(fHistMcAsMLbPtCent4060);
        fOutput->Add(fHistZVertexCent4060);
        fOutput->Add(fHistMCZVertexCent4060);
        
@@ -663,6 +822,9 @@ void AliAnalysisTaskLukeAOD::UserCreateOutputObjects()
        fOutput->Add(fHistMcPMK0PtCent6090);
        fOutput->Add(fHistMcPMLaPtCent6090);
        fOutput->Add(fHistMcPMLbPtCent6090);
+       fOutput->Add(fHistMcAsMK0PtCent6090);
+       fOutput->Add(fHistMcAsMLaPtCent6090);
+       fOutput->Add(fHistMcAsMLbPtCent6090);
        fOutput->Add(fHistZVertexCent6090);
        fOutput->Add(fHistMCZVertexCent6090);
        
@@ -672,73 +834,123 @@ void AliAnalysisTaskLukeAOD::UserCreateOutputObjects()
        fOutput->Add(fHistMcPMK0PtCent0090);
        fOutput->Add(fHistMcPMLaPtCent0090);
        fOutput->Add(fHistMcPMLbPtCent0090);
+       fOutput->Add(fHistMcAsMK0PtCent0090);
+       fOutput->Add(fHistMcAsMLaPtCent0090);
+       fOutput->Add(fHistMcAsMLbPtCent0090);
        fOutput->Add(fHistZVertexCent0090);
        fOutput->Add(fHistMCZVertexCent0090);
        
-       fOutput->Add(fHistCosPaLaPt);
-       fOutput->Add(fHistCosPaLbPt);
-       fOutput->Add(fHistCosPaK0Pt);   
-       fOutput->Add(fHistMcCosPaAllLaPt);
-       fOutput->Add(fHistMcCosPaAllLbPt);
-       fOutput->Add(fHistMcCosPaAllK0Pt);      
-       fOutput->Add(fHistMcCosPaFoundLaPt);
-       fOutput->Add(fHistMcCosPaFoundLbPt);
-       fOutput->Add(fHistMcCosPaAFoundK0Pt);
-       
-       fOutput->Add(fHistcTauLaPt);    
-       fOutput->Add(fHistcTauLbPt);
-       fOutput->Add(fHistcTauK0Pt);            
-       fOutput->Add(fHistMccTauAllLaPt);
-       fOutput->Add(fHistMccTauAllLbPt);
-       fOutput->Add(fHistMccTauAllK0Pt);       
-       fOutput->Add(fHistMccTauFoundLaPt);
-       fOutput->Add(fHistMccTauFoundLbPt);     
-       fOutput->Add(fHistMccTauAFoundK0Pt);
-       
-       fOutput->Add(fHistDcaLaPt);     
-       fOutput->Add(fHistDcaLbPt);     
-       fOutput->Add(fHistDcaK0Pt);     
-       fOutput->Add(fHistMcDcaAllLaPt);
-       fOutput->Add(fHistMcDcaAllLbPt);
-       fOutput->Add(fHistMcDcaAllK0Pt);        
-       fOutput->Add(fHistMcDcaFoundLaPt);      
-       fOutput->Add(fHistMcDcaFoundLbPt);      
-       fOutput->Add(fHistMcDcaAFoundK0Pt);
-       
-       fOutput->Add(fHistNSigmaLaPt);  
-       fOutput->Add(fHistNSigmaLbPt);          
-       fOutput->Add(fHistNSigmaK0Pt);          
-       fOutput->Add(fHistMcNSigmaAllLaPt);     
-       fOutput->Add(fHistMcNSigmaAllLbPt);     
-       fOutput->Add(fHistMcNSigmaAllK0Pt);     
-       fOutput->Add(fHistMcNSigmaFoundLaPt);   
-       fOutput->Add(fHistMcNSigmaFoundLbPt);   
-       fOutput->Add(fHistMcNSigmaAFoundK0Pt);
-       
-       fOutput->Add(fHistEtaLaPt);     
-       fOutput->Add(fHistEtaLbPt);     
-       fOutput->Add(fHistEtaK0Pt);             
-       fOutput->Add(fHistMcEtaAllLaPt);
-       fOutput->Add(fHistMcEtaAllLbPt);        
-       fOutput->Add(fHistMcEtaAllK0Pt);
-       fOutput->Add(fHistMcEtaFoundLaPt);      
-       fOutput->Add(fHistMcEtaFoundLbPt);      
-       fOutput->Add(fHistMcEtaAFoundK0Pt);
-       
-       fOutput->Add(fHistRapLaPt);
-       fOutput->Add(fHistRapLbPt);             
-       fOutput->Add(fHistRapK0Pt);     
-       fOutput->Add(fHistMcRapAllLaPt);        
-       fOutput->Add(fHistMcRapAllLbPt);        
-       fOutput->Add(fHistMcRapAllK0Pt);        
-       fOutput->Add(fHistMcRapFoundLaPt);
-       fOutput->Add(fHistMcRapFoundLbPt);
-       fOutput->Add(fHistMcRapAFoundK0Pt);
+       fOutput->Add(fHistCosPaMLa);
+       fOutput->Add(fHistCosPaMLb);
+       fOutput->Add(fHistCosPaMK0);    
+       fOutput->Add(fHistMcGenCosPaMLa);
+       fOutput->Add(fHistMcGenCosPaMLb);
+       fOutput->Add(fHistMcGenCosPaMK0);       
+       fOutput->Add(fHistMcAsReconCosPaMLa);
+       fOutput->Add(fHistMcAsReconCosPaMLb);
+       fOutput->Add(fHistMcAsReconCosPaMK0);
+       fOutput->Add(fHistMcAsTruthCosPaMLa);
+       fOutput->Add(fHistMcAsTruthCosPaMLb);
+       fOutput->Add(fHistMcAsTruthCosPaMK0);
+       
+       
+       fOutput->Add(fHistcTauMLa);     
+       fOutput->Add(fHistcTauMLb);
+       fOutput->Add(fHistcTauMK0);             
+       fOutput->Add(fHistMcGencTauMLa);
+       fOutput->Add(fHistMcGencTauMLb);
+       fOutput->Add(fHistMcGencTauMK0);        
+       fOutput->Add(fHistMcAsReconcTauMLa);
+       fOutput->Add(fHistMcAsReconcTauMLb);    
+       fOutput->Add(fHistMcAsReconcTauMK0);
+       fOutput->Add(fHistMcAsTruthcTauMLa);
+       fOutput->Add(fHistMcAsTruthcTauMLb);    
+       fOutput->Add(fHistMcAsTruthcTauMK0);
+       
+       fOutput->Add(fHistDcaMLa);      
+       fOutput->Add(fHistDcaMLb);      
+       fOutput->Add(fHistDcaMK0);      
+       fOutput->Add(fHistMcGenDcaMLa);
+       fOutput->Add(fHistMcGenDcaMLb);
+       fOutput->Add(fHistMcGenDcaMK0); 
+       fOutput->Add(fHistMcAsReconDcaMLa);     
+       fOutput->Add(fHistMcAsReconDcaMLb);     
+       fOutput->Add(fHistMcAsReconDcaMK0);
+       fOutput->Add(fHistMcAsTruthDcaMLa);     
+       fOutput->Add(fHistMcAsTruthDcaMLb);     
+       fOutput->Add(fHistMcAsTruthDcaMK0);
+       
+       fOutput->Add(fHistNSigmaMLa);   
+       fOutput->Add(fHistNSigmaMLb);           
+       fOutput->Add(fHistNSigmaMK0);           
+       fOutput->Add(fHistMcGenNSigmaMLa);      
+       fOutput->Add(fHistMcGenNSigmaMLb);      
+       fOutput->Add(fHistMcGenNSigmaMK0);      
+       fOutput->Add(fHistMcAsReconNSigmaMLa);  
+       fOutput->Add(fHistMcAsReconNSigmaMLb);  
+       fOutput->Add(fHistMcAsReconNSigmaMK0);
+       fOutput->Add(fHistMcAsTruthNSigmaMLa);  
+       fOutput->Add(fHistMcAsTruthNSigmaMLb);  
+       fOutput->Add(fHistMcAsTruthNSigmaMK0);
+       
+       fOutput->Add(fHistEtaMLa);      
+       fOutput->Add(fHistEtaMLb);      
+       fOutput->Add(fHistEtaMK0);              
+       fOutput->Add(fHistMcGenEtaMLa);
+       fOutput->Add(fHistMcGenEtaMLb); 
+       fOutput->Add(fHistMcGenEtaMK0);
+       fOutput->Add(fHistMcAsReconEtaMLa);     
+       fOutput->Add(fHistMcAsReconEtaMLb);     
+       fOutput->Add(fHistMcAsReconEtaMK0);
+       fOutput->Add(fHistMcAsTruthEtaMLa);     
+       fOutput->Add(fHistMcAsTruthEtaMLb);     
+       fOutput->Add(fHistMcAsTruthEtaMK0);
+       
+       fOutput->Add(fHistRapMLa);
+       fOutput->Add(fHistRapMLb);              
+       fOutput->Add(fHistRapMK0);      
+       fOutput->Add(fHistMcGenRapMLa); 
+       fOutput->Add(fHistMcGenRapMLb); 
+       fOutput->Add(fHistMcGenRapMK0); 
+       fOutput->Add(fHistMcAsReconRapMLa);
+       fOutput->Add(fHistMcAsReconRapMLb);
+       fOutput->Add(fHistMcAsReconRapMK0);
+       fOutput->Add(fHistMcAsTruthRapMLa);
+       fOutput->Add(fHistMcAsTruthRapMLb);
+       fOutput->Add(fHistMcAsTruthRapMK0);
+       
+       fOutput->Add(fHistArmPodK0);
+       fOutput->Add(fHistArmPodLa);
+       fOutput->Add(fHistArmPodLb);
+       fOutput->Add(fHistMcGenArmPodK0);
+       fOutput->Add(fHistMcGenArmPodLa);
+       fOutput->Add(fHistMcGenArmPodLb);
+       fOutput->Add(fHistMcAsReconArmPodK0);
+       fOutput->Add(fHistMcAsReconArmPodLa);
+       fOutput->Add(fHistMcAsReconArmPodLb);
+       fOutput->Add(fHistMcAsTruthArmPodK0);
+       fOutput->Add(fHistMcAsTruthArmPodLa);
+       fOutput->Add(fHistMcAsTruthArmPodLb);
     
        // NEW HISTO added to fOutput here
     PostData(1, fOutput); // Post data for ALL output slots >0 here, to get at least an empty histogram
 }
 
+//________________________________________________________________________
+
+static Bool_t checkPrimaryStatus(const AliAODMCParticle *mcPart, double pVx, double pVy, double pVz) 
+{
+       double dx = pVx - mcPart->Xv();
+       double dy = pVy - mcPart->Yv();
+       double dz = pVz - mcPart->Zv();
+       
+       double prodVertex = TMath::Sqrt(dx*dx+dy*dy+dz*dz);
+       if(prodVertex <= 0.001) {return true;}
+       
+       return false;
+}
+
+
 //________________________________________________________________________
 
 static Bool_t AcceptTrack(const AliAODTrack *t, double fcutMinNClustersTPC, double fcutRatio) 
@@ -792,7 +1004,7 @@ static Bool_t AcceptV0_general(const AliAODv0 *v1, const AliAODEvent *aod, doubl
 }
 
 //________________________________________________________________________
-static Bool_t AcceptV0_particle(const AliAODv0 *v1, int type,  double fcutcTauMin, double fcutRapidity, Double_t decayL) 
+static Bool_t AcceptV0_particle(const AliAODv0 *v1, int type,  double fcutcTauMin, double fcutRapidity, Double_t decayL, double fcutNcTauMax
 {
        
        Double_t cTau = 0;
@@ -803,7 +1015,11 @@ static Bool_t AcceptV0_particle(const AliAODv0 *v1, int type,  double fcutcTauMi
        if(type == 0)
        {cTau = decayL*(v1->MassK0Short())/(v1->P());}
        
-       if (cTau < fcutcTauMin && cTau != -999 ) return kFALSE;
+       if (cTau < fcutcTauMin && fcutcTauMin != -999 ) return kFALSE;
+       
+       if (cTau > (fcutNcTauMax*7.89) && fcutNcTauMax != -999 && (type ==1 || type ==2)) return kFALSE;
+       if (cTau > (fcutNcTauMax*2.68) && fcutNcTauMax != -999 && (type ==0)) return kFALSE;
+       
        
        Double_t rap = 0;
        if(type == 1 || type == 2)
@@ -816,21 +1032,9 @@ static Bool_t AcceptV0_particle(const AliAODv0 *v1, int type,  double fcutcTauMi
 }
 
 //________________________________________________________________________
-static Bool_t AcceptV0_lowpt(const AliAODv0 *v1, AliPIDResponse *PIDResponse,int type, double fcutBetheBloch, Double_t decayL, bool fIsMonteCarlo, double fcutNcTauMax
+static Bool_t AcceptV0_lowpt(const AliAODv0 *v1, AliPIDResponse *PIDResponse,int type, double fcutBetheBloch, Double_t decayL, bool fIsMonteCarlo) 
 {
        
-       
-       Double_t cTau = 0;
-       if(type == 1)
-       {cTau = decayL*(v1->MassLambda())/(v1->P());}
-       if(type == 2)
-       {cTau = decayL*(v1->MassAntiLambda())/(v1->P());}
-       if(type == 0)
-       {cTau = decayL*(v1->MassK0Short())/(v1->P());}
-       
-       if (cTau > (fcutNcTauMax*7.89) && fcutNcTauMax != -999 && (type ==1 || type ==2)) return kFALSE;
-       if (cTau > (fcutNcTauMax*2.68) && fcutNcTauMax != -999 && (type ==0)) return kFALSE;
-       
        int nnum = 1, pnum = 0;
        const AliAODTrack *ntracktest=(AliAODTrack *)v1->GetDaughter(nnum);
        if(ntracktest->Charge() > 0){nnum = 0; pnum = 1;}       
@@ -857,7 +1061,7 @@ static Bool_t AcceptV0_lowpt(const AliAODv0 *v1, AliPIDResponse *PIDResponse,int
                        nsig_p=PIDResponse->NumberOfSigmasTPC(ptrack1,AliPID::kProton);
                        if (TMath::Abs(nsig_p) <= fcutBetheBloch && fcutBetheBloch >0 && !fIsMonteCarlo  && ptrack1->P() <= 1) return kFALSE;
                }
-       
+               
        }
        
        if (pid_n) 
@@ -873,8 +1077,8 @@ static Bool_t AcceptV0_lowpt(const AliAODv0 *v1, AliPIDResponse *PIDResponse,int
                        nsig_n=PIDResponse->NumberOfSigmasTPC(ntrack1,AliPID::kProton);
                        if (TMath::Abs(nsig_n) <= fcutBetheBloch && fcutBetheBloch >0 && !fIsMonteCarlo  && ntrack1->P() <= 1) return kFALSE;
                }
-       
-       
+               
+               
        }
        
        return kTRUE;
@@ -898,6 +1102,8 @@ void AliAnalysisTaskLukeAOD::UserExec(Option_t *)
        int isMCtype(0);    //1 = Pure Hijing only, 0 = Anything, -1 = Injected only
        //double fcutEta(0.8), fcutRapidity(0.5), fcutArmenteros(0.2);
        
+       Double_t mcXv=0., mcYv=0., mcZv=0.;
+       
     // Create pointer to reconstructed event
        AliAODEvent *aod=(AliAODEvent *)InputEvent();   
        if (!aod) 
@@ -939,7 +1145,6 @@ void AliAnalysisTaskLukeAOD::UserExec(Option_t *)
                        
                        AliAODMCHeader *mcHdr=(AliAODMCHeader*)list->FindObject(AliAODMCHeader::StdBranchName());
                        
-                       Double_t mcXv=0., mcYv=0., mcZv=0.;
                        mcXv=mcHdr->GetVtxX(); mcYv=mcHdr->GetVtxY(); mcZv=mcHdr->GetVtxZ();
                        if (TMath::Abs(mcZv) > 10.)
                        {
@@ -1012,20 +1217,18 @@ void AliAnalysisTaskLukeAOD::UserExec(Option_t *)
                                        if(motherLabel >= 0)
                                        {motherType = mcMother->GetPdgCode();}
                                        
-                                       // this block of code is used to include primary Sigma0 decays as primary lambda/antilambda
+                                       // this block of code is used to include primary  Sigma0 decays as primary lambda/antilambda
                                        bool sigma0MC = false;
                                        if(motherType == 3212 || motherType == -3212)// || motherType == 3322 || motherType == -3322 || motherType == 3312 || motherType == -3312)
                                        {
-                                               if(mcMother->IsPhysicalPrimary())
+                                               if(mcMother->IsPhysicalPrimary() && (lambdaMC || antilambdaMC))
+                                                       //if(checkPrimaryStatus(mcMother, mcXv, mcYv, mcZv))
                                                {sigma0MC = true;}
                                        }
                                        
-                                       Double_t dz=mcZv - mcPart->Zv(), dy=mcYv - mcPart->Yv(), dx=mcXv - mcPart->Xv();
-                                       Double_t mcDecayLength = TMath::Sqrt(dx*dx + dy*dy + dz*dz);
-                                       Double_t mccTau = mcDecayLength*(mcPart->M())/(mcPart->P());
-                                       Double_t mcCosPA = (dx*mcPart->Px()+dy*mcPart->Py()+dz*mcPart->Pz())/(mcDecayLength*mcPart->P());
                                        
                                        if(mcPart->IsPhysicalPrimary() || sigma0MC)
+                                               //if(checkPrimaryStatus(mcPart, mcXv, mcYv, mcZv) || sigma0MC)
                                        {
                                                isprimaryMC = true;
                                                if(lambdaMC)
@@ -1046,15 +1249,9 @@ void AliAnalysisTaskLukeAOD::UserExec(Option_t *)
                                                                {fHistMcPMLaPtCent4060->Fill(mcPart->Pt(),mcPart->M());}
                                                                if(centPercentile > 60.0 && centPercentile <= 90.0)
                                                                {fHistMcPMLaPtCent6090->Fill(mcPart->Pt(),mcPart->M());}
+                                                               
                                                                if(centPercentile >= 0.0001 && centPercentile <= 90.0)
                                                                {fHistMcPMLaPtCent0090->Fill(mcPart->Pt(),mcPart->M());}
-                                                               
-                                                               fHistMcCosPaAllLaPt->Fill(mcCosPA,mcPart->M()); 
-                                                               fHistMccTauAllLaPt->Fill(mccTau,mcPart->M()); 
-                                                               fHistMcDcaAllLaPt->Fill(mcDecayLength,mcPart->M()); 
-                                                               fHistMcNSigmaAllLaPt->Fill(1.0,mcPart->M()); 
-                                                               fHistMcEtaAllLaPt->Fill(mcPart->Eta(),mcPart->M()); 
-                                                               fHistMcRapAllLaPt->Fill(mcPart->Y(),mcPart->M()); 
                                                        }
                                                }
                                                if(antilambdaMC)
@@ -1078,13 +1275,6 @@ void AliAnalysisTaskLukeAOD::UserExec(Option_t *)
                                                                if(centPercentile >= 0.0001 && centPercentile <= 90.0)
                                                                {fHistMcPMLbPtCent0090->Fill(mcPart->Pt(),mcPart->M());}
                                                                
-                                                               fHistMcCosPaAllLbPt->Fill(mcCosPA,mcPart->M()); 
-                                                               fHistMccTauAllLbPt->Fill(mccTau,mcPart->M()); 
-                                                               fHistMcDcaAllLbPt->Fill(mcDecayLength,mcPart->M()); 
-                                                               fHistMcNSigmaAllLbPt->Fill(1.0,mcPart->M());    
-                                                               fHistMcEtaAllLbPt->Fill(mcPart->Eta(),mcPart->M()); 
-                                                               fHistMcRapAllLbPt->Fill(mcPart->Y(),mcPart->M());       
-                                                               
                                                        }
                                                }
                                                if(kshortMC)
@@ -1108,19 +1298,81 @@ void AliAnalysisTaskLukeAOD::UserExec(Option_t *)
                                                                if(centPercentile >= 0.0001 && centPercentile <= 90.0)
                                                                {fHistMcPMK0PtCent0090->Fill(mcPart->Pt(),mcPart->M());}
                                                                
-                                                               fHistMcCosPaAllK0Pt->Fill(mcCosPA,mcPart->M());         
-                                                               fHistMccTauAllK0Pt->Fill(mccTau,mcPart->M());   
-                                                               fHistMcDcaAllK0Pt->Fill(mcDecayLength,mcPart->M()); 
-                                                               fHistMcNSigmaAllK0Pt->Fill(1.0,mcPart->M());    
-                                                               fHistMcEtaAllK0Pt->Fill(mcPart->Eta(),mcPart->M()); 
-                                                               fHistMcRapAllK0Pt->Fill(mcPart->Y(),mcPart->M()); 
-                                                               
                                                        }
                                                }
                                        }
                                        
                                        
+                                       Int_t daughter0Label = mcPart->GetDaughter(0);
+                                       AliAODMCParticle *mcDaughter0 = (AliAODMCParticle *)stack->UncheckedAt(daughter0Label);
+                                       Int_t daughter0Type = -1;
+                                       if(daughter0Label >= 0)
+                                       {daughter0Type = mcDaughter0->GetPdgCode();}
                                        
+                                       Int_t daughter1Label = mcPart->GetDaughter(1);
+                                       AliAODMCParticle *mcDaughter1 = (AliAODMCParticle *)stack->UncheckedAt(daughter1Label);
+                                       Int_t daughter1Type = -1;
+                                       if(daughter1Label >= 1)
+                                       {daughter1Type = mcDaughter1->GetPdgCode();}            
+                                       
+                                       if( isprimaryMC && kshortMC && TMath::Abs(daughter0Type) == 211 && TMath::Abs(daughter1Type) == 211)
+                                       {
+                                               Double_t dz=mcDaughter0->Zv() - mcZv, dy= mcDaughter0->Yv() - mcYv, dx= mcDaughter0->Xv() - mcXv;
+                                               Double_t mcDecayLength = TMath::Sqrt(dx*dx + dy*dy + dz*dz);
+                                               Double_t mccTau = mcDecayLength*(mcPart->M())/(mcPart->P());
+                                               Double_t mcCosPA = (dx*mcPart->Px()+dy*mcPart->Py()+dz*mcPart->Pz())/(mcDecayLength*mcPart->P());
+                                               if(centPercentile >= 0.0001 && centPercentile <= 90.0)
+                                               {
+                                                       fHistMcGenCosPaMK0->Fill(mcCosPA,mcPart->M());  
+                                                       fHistMcGencTauMK0->Fill(mccTau,mcPart->M());    
+                                                       fHistMcGenDcaMK0->Fill(1,mcPart->M()); 
+                                                       fHistMcGenNSigmaMK0->Fill(1.0,mcPart->M());     
+                                                       fHistMcGenEtaMK0->Fill(mcPart->Eta(),mcPart->M()); 
+                                                       fHistMcGenRapMK0->Fill(mcPart->Y(),mcPart->M()); 
+                                                       fHistMcGenArmPodK0->Fill(1.0,1.0);
+                                               }
+                                               
+                                       }       
+                                       
+                                       
+                                       if( isprimaryMC && lambdaMC && ((daughter0Type == -211 && daughter1Type == 2212) || (daughter1Type == -211 && daughter0Type == 2212)) )
+                                       {
+                                               Double_t dz=mcDaughter0->Zv() - mcZv, dy= mcDaughter0->Yv() - mcYv, dx= mcDaughter0->Xv() - mcXv;
+                                               Double_t mcDecayLength = TMath::Sqrt(dx*dx + dy*dy + dz*dz);
+                                               Double_t mccTau = mcDecayLength*(mcPart->M())/(mcPart->P());
+                                               Double_t mcCosPA = (dx*mcPart->Px()+dy*mcPart->Py()+dz*mcPart->Pz())/(mcDecayLength*mcPart->P());
+                                               if(centPercentile >= 0.0001 && centPercentile <= 90.0)
+                                               {
+                                                       fHistMcGenCosPaMLa->Fill(mcCosPA,mcPart->M());  
+                                                       fHistMcGencTauMLa->Fill(mccTau,mcPart->M());    
+                                                       fHistMcGenDcaMLa->Fill(1,mcPart->M()); 
+                                                       fHistMcGenNSigmaMLa->Fill(1.0,mcPart->M());     
+                                                       fHistMcGenEtaMLa->Fill(mcPart->Eta(),mcPart->M()); 
+                                                       fHistMcGenRapMLa->Fill(mcPart->Y(),mcPart->M()); 
+                                                       fHistMcGenArmPodLa->Fill(1.0,1.0);
+                                               }
+                                               
+                                       }
+                                       
+                                       
+                                       if( isprimaryMC && antilambdaMC && ((daughter0Type == 211 && daughter1Type == -2212) || (daughter1Type == 211 && daughter0Type == -2212)) )
+                                       {
+                                               Double_t dz=mcDaughter0->Zv() - mcZv, dy= mcDaughter0->Yv() - mcYv, dx= mcDaughter0->Xv() - mcXv;
+                                               Double_t mcDecayLength = TMath::Sqrt(dx*dx + dy*dy + dz*dz);
+                                               Double_t mccTau = mcDecayLength*(mcPart->M())/(mcPart->P());
+                                               Double_t mcCosPA = (dx*mcPart->Px()+dy*mcPart->Py()+dz*mcPart->Pz())/(mcDecayLength*mcPart->P());
+                                               if(centPercentile >= 0.0001 && centPercentile <= 90.0)
+                                               {
+                                                       fHistMcGenCosPaMLb->Fill(mcCosPA,mcPart->M());  
+                                                       fHistMcGencTauMLb->Fill(mccTau,mcPart->M());    
+                                                       fHistMcGenDcaMLb->Fill(1,mcPart->M()); 
+                                                       fHistMcGenNSigmaMLb->Fill(1.0,mcPart->M());     
+                                                       fHistMcGenEtaMLb->Fill(mcPart->Eta(),mcPart->M()); 
+                                                       fHistMcGenRapMLb->Fill(mcPart->Y(),mcPart->M()); 
+                                                       fHistMcGenArmPodLb->Fill(1.0,1.0);
+                                               }
+                                               
+                                       }
                                }
                                
                        }
@@ -1187,6 +1439,8 @@ void AliAnalysisTaskLukeAOD::UserExec(Option_t *)
             continue; 
                }
                
+               /* V0s not consistent with K0, Lambda (La) or Antilambda (Lb) are rejected */
+               
                Bool_t lambdaCandidate = kTRUE; 
                Bool_t antilambdaCandidate = kTRUE; 
                Bool_t k0Candidate = kTRUE; 
@@ -1220,47 +1474,31 @@ void AliAnalysisTaskLukeAOD::UserExec(Option_t *)
                
                const AliAODTrack *ntrack1=(AliAODTrack *)v0->GetDaughter(nnum);
                const AliAODTrack *ptrack1=(AliAODTrack *)v0->GetDaughter(pnum);
+               
                if(ntrack1->Charge()>0)
-               { 
-                       fHistLog->Fill(55);
-               }
+               {fHistLog->Fill(55);}
                if(ntrack1->Charge()==0)
-               { 
-                       fHistLog->Fill(50);
-               }
+               { fHistLog->Fill(50);}
                if(ntrack1->Charge()<0)
-               { 
-                       fHistLog->Fill(45);
-               }
+               { fHistLog->Fill(45);}
+               
                const AliAODPid *pid_p1=ptrack1->GetDetPid();
                const AliAODPid *pid_n1=ntrack1->GetDetPid();
                
-               
-               /*if(peterCuts)
-               {
-                       const AliAODTrack *ptrack1=(AliAODTrack *)v0->GetDaughter(0);
-                       if(ntrack1->Pt() < 0.160 || ptrack1->Pt() < 0.160) continue;
-                       
-                       Double_t r2=xyz[0]*xyz[0] + xyz[1]*xyz[1];
-                       Double_t radius = TMath::Sqrt(r2);
-                       if(radius <= 0.9 || radius >= 100) continue;
-                       
-               }*/
-               
-               if(!AcceptV0_particle(v0,1,fcutcTauMin, fcutRapidity, decayL))
+               if(!AcceptV0_particle(v0,1,fcutcTauMin, fcutRapidity, decayL, fcutNcTauMax))
                { lambdaCandidate = kFALSE; }
-               if(!AcceptV0_particle(v0,2,fcutcTauMin, fcutRapidity, decayL))
+               if(!AcceptV0_particle(v0,2,fcutcTauMin, fcutRapidity, decayL, fcutNcTauMax))
                { antilambdaCandidate = kFALSE; }
-               if(!AcceptV0_particle(v0,0,fcutcTauMin, fcutRapidity, decayL))
+               if(!AcceptV0_particle(v0,0,fcutcTauMin, fcutRapidity, decayL, fcutNcTauMax))
                { k0Candidate = kFALSE; }
                
                if(TMath::Sqrt(v0->Pt2V0())<2)
                {
-                       if(!AcceptV0_lowpt(v0,fPIDResponse,1,fcutBetheBloch,decayL,fIsMonteCarlo,fcutNcTauMax))
+                       if(!AcceptV0_lowpt(v0,fPIDResponse,1,fcutBetheBloch,decayL,fIsMonteCarlo))
                        { lambdaCandidate = kFALSE; }
-                       if(!AcceptV0_lowpt(v0,fPIDResponse,2,fcutBetheBloch,decayL,fIsMonteCarlo,fcutNcTauMax))
+                       if(!AcceptV0_lowpt(v0,fPIDResponse,2,fcutBetheBloch,decayL,fIsMonteCarlo))
                        { antilambdaCandidate = kFALSE; }
-                       if(!AcceptV0_lowpt(v0,fPIDResponse,0,fcutBetheBloch,decayL,fIsMonteCarlo,fcutNcTauMax))
+                       if(!AcceptV0_lowpt(v0,fPIDResponse,0,fcutBetheBloch,decayL,fIsMonteCarlo))
                        { k0Candidate = kFALSE; }
                }
                
@@ -1271,8 +1509,23 @@ void AliAnalysisTaskLukeAOD::UserExec(Option_t *)
         fHistPt->Fill(TMath::Sqrt(v0->Pt2V0()));
         fHistEta->Fill(v0->PseudoRapV0());
                
+               double ArmenterosAlpha = v0->Alpha();
+               double ArmenterosPt        = v0->QtProng();
+               if( ArmenterosPt <= TMath::Abs(fcutArmenteros*ArmenterosAlpha) && fcutArmenteros !=-999 )
+               {k0Candidate = false;}
+               
+               /* MC Associated selection is performed, but candidates failing are tagged not rejected, so MC and data can be compared */
+               
                bool feeddown = false;
+               bool mcPrimary2 = true;
+               
+               double mcAsCosPa(0), mcAsMass(0), mcAscTau(0), mcAsEta(0), mcAsRap(0);
                
+               fHistLog->Fill(31);
+               
+               Bool_t mcAslambdaCandidate = lambdaCandidate; 
+               Bool_t mcAsantilambdaCandidate = antilambdaCandidate; 
+               Bool_t mcAsk0Candidate = k0Candidate; 
                if(fIsMonteCarlo)
                {
                        bool passedTests = false;
@@ -1285,104 +1538,112 @@ void AliAnalysisTaskLukeAOD::UserExec(Option_t *)
                                fHistLog->Fill(84);     
                        }
                        else
-                       
+                               
                        {
                                Int_t negAssLabel = TMath::Abs(ntrack1->GetLabel());
-                               if(negAssLabel>=0 && negAssLabel < stack->GetEntriesFast())
-                               {
-                               AliAODMCParticle *mcNegPart =(AliAODMCParticle*)stack->UncheckedAt(negAssLabel);
-                               Int_t v0Label = mcNegPart->GetMother();
-                               if(v0Label >= 0 && v0Label < stack->GetEntriesFast())
+                               Int_t posAssLabel = TMath::Abs(ptrack1->GetLabel());
+                               fHistLog->Fill(35);
+                               if(negAssLabel>=0 && negAssLabel < stack->GetEntriesFast() && posAssLabel>=0 && posAssLabel < stack->GetEntriesFast() )
                                {
-                                       AliAODMCParticle *mcv0 = (AliAODMCParticle *)stack->UncheckedAt(v0Label);
-                                       passedTests = true;
-                                       
-                                       if ((v0Label >= isInjected && isInjected >= 0 && isMCtype == 1) || (v0Label < isInjected && isInjected >= 0 && isMCtype == -1)) 
+                                       fHistLog->Fill(36);
+                                       AliAODMCParticle *mcNegPart =(AliAODMCParticle*)stack->UncheckedAt(negAssLabel);
+                                       Int_t v0Label = mcNegPart->GetMother();
+                                       AliAODMCParticle *mcPosPart =(AliAODMCParticle*)stack->UncheckedAt(posAssLabel);
+                                       Int_t v0PosLabel = mcPosPart->GetMother();
+                                       if(v0Label >= 0 && v0Label < stack->GetEntriesFast() && v0Label == v0PosLabel)
                                        {
-                                               lambdaCandidate = false;
-                                               k0Candidate = false;
-                                               antilambdaCandidate = false;
-                                       }
-                                       
-                                               if(mcv0->GetPdgCode() != kLambda0)
+                                               fHistLog->Fill(37);
+                                               AliAODMCParticle *mcv0 = (AliAODMCParticle *)stack->UncheckedAt(v0Label);
+                                               passedTests = true;
+                                               
+                                               if ((v0Label >= isInjected && isInjected >= 0 && isMCtype == 1) || (v0Label < isInjected && isInjected >= 0 && isMCtype == -1)) 
                                                {
-                                                       lambdaCandidate = false;
+                                                       mcAslambdaCandidate = false;
+                                                       mcAsk0Candidate = false;
+                                                       mcAsantilambdaCandidate = false;
                                                }
+                                               
+                                               if(mcv0->GetPdgCode() != kLambda0)
+                                               {mcAslambdaCandidate = false;}
                                                if(mcv0->GetPdgCode() != kK0Short)
-                                               {
-                                                       k0Candidate = false;
-                                               }
+                                               {mcAsk0Candidate = false;}
                                                if(mcv0->GetPdgCode() != kLambda0Bar)
+                                               {mcAsantilambdaCandidate = false;}
+                                               
+                                               Double_t mcAsdz=mcNegPart->Zv() - mcZv, mcAsdy= mcNegPart->Yv() - mcYv, mcAsdx= mcNegPart->Xv() - mcXv;
+                                               Double_t mcAsDecayLength = TMath::Sqrt(mcAsdx*mcAsdx + mcAsdy*mcAsdy + mcAsdz*mcAsdz);
+                                               mcAscTau = mcAsDecayLength*(mcv0->M())/(mcv0->P());
+                                               mcAsCosPa = (mcAsdx*mcv0->Px()+mcAsdy*mcv0->Py()+mcAsdz*mcv0->Pz())/(mcAsDecayLength*mcv0->P());
+                                               mcAsMass = mcv0->M();
+                                               mcAsEta = mcv0->Eta();
+                                               mcAsRap = mcv0->Y();
+                                               
+                                               
+                                               Int_t motherLabel = mcv0->GetMother();
+                                               Int_t motherType = -1;
+                                               bool sigma0MC2 = false;
+                                               
+                                               if(motherLabel >= 0 && v0Label < stack->GetEntriesFast() )
                                                {
-                                                       antilambdaCandidate = false;
-                                               }
-                                       
-                                       Int_t motherLabel = mcv0->GetMother();
-                                       Int_t motherType = -1;
-                                       bool sigma0MC2 = false;
-                                       
-                                       if(motherLabel >= 0 && v0Label < stack->GetEntriesFast() )
-                                       {
-                                               AliAODMCParticle *mcMother = (AliAODMCParticle *)stack->UncheckedAt(motherLabel);
-                                               motherType = mcMother->GetPdgCode();
-                                       
-                                       // this block of code is used to include primary Sigma0 decays as primary lambda/antilambda
-                                       
-                                               if ((motherLabel >= isInjected && isInjected >= 0 && isMCtype == 1) || (motherLabel < isInjected && isInjected >= 0 && isMCtype == -1)) 
-                                               {
-                                                       lambdaCandidate = false;
-                                                       k0Candidate = false;
-                                                       antilambdaCandidate = false;
-                                               }
-                                               if(motherType == 3212 || motherType == -3212)
-                                               {
-                                                       if(mcMother->IsPhysicalPrimary())
-                                                       {sigma0MC2 = true;}
-                                               }
-                                               if(motherType == 3322 || motherType == -3322 || motherType == 3312 || motherType == -3312 )
+                                                       AliAODMCParticle *mcMother = (AliAODMCParticle *)stack->UncheckedAt(motherLabel);
+                                                       motherType = mcMother->GetPdgCode();
+                                                       
+                                                       // this block of code is used to include primary Sigma0 decays as primary lambda/antilambda
+                                                       
+                                                       if ((motherLabel >= isInjected && isInjected >= 0 && isMCtype == 1) || (motherLabel < isInjected && isInjected >= 0 && isMCtype == -1)) 
+                                                       {
+                                                               mcAslambdaCandidate = false;
+                                                               mcAsk0Candidate = false;
+                                                               mcAsantilambdaCandidate = false;
+                                                       }
+                                                       if(motherType == 3212 || motherType == -3212)
+                                                       {
+                                                               if(mcMother->IsPhysicalPrimary() && (lambdaCandidate || antilambdaCandidate))
+                                                                       //if(checkPrimaryStatus(mcMother, xv, yv, zv))
+                                                               {sigma0MC2 = true;}
+                                                       }
+                                                       if(motherType == 3322 || motherType == -3322 || motherType == 3312 || motherType == -3312 )
+                                                       {
+                                                               if(mcMother->IsPhysicalPrimary() && (lambdaCandidate || antilambdaCandidate))
+                                                                       //if(checkPrimaryStatus(mcMother, xv, yv, zv))
+                                                               {feeddown = true;}
+                                                       }
+                                               }               
+                                               
+                                               
+                                               if(!sigma0MC2 && !mcv0->IsPhysicalPrimary() && !feeddown)
+                                                       //if(!sigma0MC2 && !checkPrimaryStatus(mcv0, mcXv, mcYv, mcZv) && !feeddown)
                                                {
-                                                       if(mcMother->IsPhysicalPrimary())
-                                                       {feeddown = true;}
+                                                       fHistLog->Fill(38);
+                                                       mcAslambdaCandidate = false;
+                                                       mcAsk0Candidate = false;
+                                                       mcAsantilambdaCandidate = false;
                                                }
+                                               
+                                               if(!(sigma0MC2 || mcv0->IsPhysicalPrimary()))
+                                               {mcPrimary2 = false;}
                                        }
-                                       
-                                       if(!sigma0MC2 && !mcv0->IsPhysicalPrimary() && !feeddown)
-                                       {
-                                               lambdaCandidate = false;
-                                               k0Candidate = false;
-                                               antilambdaCandidate = false;
-                                       }
-                               }
                                }
                        }
                        
                        if(passedTests == false)
                        {
-                               lambdaCandidate = false;
-                               k0Candidate = false;
-                               antilambdaCandidate = false;
+                               fHistLog->Fill(39);
+                               mcAslambdaCandidate = false;
+                               mcAsk0Candidate = false;
+                               mcAsantilambdaCandidate = false;
                        }
-               
+                       
                }
                
-               double ArmenterosAlpha = v0->Alpha();
-               double ArmenterosPt        = v0->QtProng();
-               
-               if(lambdaCandidate && centPercentile >= 0.0001 && centPercentile <= 90.0 &&!feeddown )
-               { fHistArmPodLa->Fill(ArmenterosAlpha,ArmenterosPt); }
-               if( antilambdaCandidate &&  centPercentile >= 0.0001 && centPercentile <= 90.0 &&!feeddown )
-               { fHistArmPodLb->Fill(ArmenterosAlpha,ArmenterosPt); }
-               if(k0Candidate &&  centPercentile >= 0.0001 && centPercentile <= 90.0 &&!feeddown )
-               { fHistArmPodK0->Fill(ArmenterosAlpha,ArmenterosPt); }
+
+               fHistLog->Fill(32);
                
-               if( ArmenterosPt <= TMath::Abs(fcutArmenteros*ArmenterosAlpha) && fcutArmenteros !=-999 )
-               {k0Candidate = false;}
+               /* We now fill histograms, starting with all v0 candidates, and then MC particles only */
                
                if(lambdaCandidate)
                {
                        
-                       if(!feeddown)
-                       {
                        fHistMLaPt->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassLambda());
                        if(centPercentile >= 0.0001 && centPercentile <= 5.0)
                        {fHistMLaPtCent0005->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassLambda());}
@@ -1396,45 +1657,35 @@ void AliAnalysisTaskLukeAOD::UserExec(Option_t *)
                        {fHistMLaPtCent4060->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassLambda());}
                        if(centPercentile > 60.0 && centPercentile <= 90.0)
                        {fHistMLaPtCent6090->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassLambda());}
-                       }
+                       
                        
                        if(centPercentile >= 0.0001 && centPercentile <= 90.0)
                        {
-                               if(!feeddown)
-                               {
+                               
                                fHistMLaPtCent0090->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassLambda());
                                fHistBBLaPos->Fill(pid_p1->GetTPCmomentum(),pid_p1->GetTPCsignal());
                                fHistBBLaNeg->Fill(pid_n1->GetTPCmomentum(),pid_n1->GetTPCsignal());
-                               }
-                               if(feeddown)
-                               {fHistMcFMLaPt->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassLambda());}
-                       }
-                       if(!feeddown)
-                       {
-                       fHistCosPaLaPt->Fill(cosPA,v0->MassLambda()); 
-                       fHistcTauLaPt->Fill(decayL*(TMath::Sqrt(v0->Pt2V0()))/(v0->P()),v0->MassLambda()); 
-                       fHistDcaLaPt->Fill(dca,v0->MassLambda());       
-                       fHistNSigmaLaPt->Fill(1.0,v0->MassLambda());    
-                       fHistEtaLaPt->Fill(eta,v0->MassLambda()); 
-                       fHistRapLaPt->Fill(v0->RapLambda(),v0->MassLambda()); 
-                       
-                       
-                       if(fIsMonteCarlo) 
-                       {
-                               fHistMcCosPaFoundLaPt->Fill(1.0,v0->MassLambda()); 
-                               fHistMccTauFoundLaPt->Fill(1.0,v0->MassLambda()); 
-                               fHistMcDcaFoundLaPt->Fill(1.0,v0->MassLambda());        
-                               fHistMcNSigmaFoundLaPt->Fill(1.0,v0->MassLambda()); 
-                               fHistMcEtaFoundLaPt->Fill(1.0,v0->MassLambda());        
-                               fHistMcRapFoundLaPt->Fill(1.0,v0->MassLambda()); 
-                       }
+                               
+                               
+                               
+                               fHistCosPaMLa->Fill(cosPA,v0->MassLambda()); 
+                               fHistcTauMLa->Fill(decayL*(TMath::Sqrt(v0->Pt2V0()))/(v0->P()),v0->MassLambda()); 
+                               fHistDcaMLa->Fill(dca,v0->MassLambda());        
+                               fHistNSigmaMLa->Fill(1.0,v0->MassLambda());     
+                               fHistEtaMLa->Fill(eta,v0->MassLambda()); 
+                               fHistRapMLa->Fill(v0->RapLambda(),v0->MassLambda());
+                               fHistArmPodLa->Fill(ArmenterosAlpha,ArmenterosPt);
+                               
+                               
+                               
+                               
+                               
                        }
                        
                }
                if(antilambdaCandidate)
                {
-                       if(!feeddown)
-                       {
+                       
                        fHistMLbPt->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassAntiLambda());  
                        
                        if(centPercentile >= 0.0001 && centPercentile <= 5.0)
@@ -1455,31 +1706,25 @@ void AliAnalysisTaskLukeAOD::UserExec(Option_t *)
                                fHistMLbPtCent0090->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassAntiLambda());
                                fHistBBLbPos->Fill(pid_p1->GetTPCmomentum(),pid_p1->GetTPCsignal());
                                fHistBBLbNeg->Fill(pid_n1->GetTPCmomentum(),pid_n1->GetTPCsignal());
-                       }
-                       
-                       
-                       fHistCosPaLbPt->Fill(cosPA,v0->MassAntiLambda()); 
-                       fHistcTauLbPt->Fill(decayL*(v0->MassAntiLambda())/(v0->P()),v0->MassAntiLambda()); 
-                       fHistDcaLbPt->Fill(dca,v0->MassAntiLambda());   
-                       fHistNSigmaLbPt->Fill(1.0,v0->MassAntiLambda());        
-                       fHistEtaLbPt->Fill(eta,v0->MassAntiLambda());   
-                       fHistRapLbPt->Fill(v0->RapLambda(),v0->MassAntiLambda()); 
-                       
-                       if(fIsMonteCarlo) 
-                       {
-                               fHistMcCosPaFoundLbPt->Fill(1.0,v0->MassAntiLambda()); 
-                               fHistMccTauFoundLbPt->Fill(1.0,v0->MassAntiLambda());   
-                               fHistMcDcaFoundLbPt->Fill(1.0,v0->MassAntiLambda());    
-                               fHistMcNSigmaFoundLbPt->Fill(1.0,v0->MassAntiLambda());         
-                               fHistMcEtaFoundLbPt->Fill(1.0,v0->MassAntiLambda());    
-                               fHistMcRapFoundLbPt->Fill(1.0,v0->MassAntiLambda()); 
-                       }
+                               
+                               
+                               
+                               fHistCosPaMLb->Fill(cosPA,v0->MassAntiLambda()); 
+                               fHistcTauMLb->Fill(decayL*(v0->MassAntiLambda())/(v0->P()),v0->MassAntiLambda()); 
+                               fHistDcaMLb->Fill(dca,v0->MassAntiLambda());    
+                               fHistNSigmaMLb->Fill(1.0,v0->MassAntiLambda());         
+                               fHistEtaMLb->Fill(eta,v0->MassAntiLambda());    
+                               fHistRapMLb->Fill(v0->RapLambda(),v0->MassAntiLambda()); 
+                               fHistArmPodLb->Fill(ArmenterosAlpha,ArmenterosPt);
+                               
+                               
+                               
                        }
                }
+               if(k0Candidate){fHistLog->Fill(33);}
                if(k0Candidate)
                {
-                       if(!feeddown)
-                       {
+                       fHistLog->Fill(34);
                        fHistMK0Pt->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassK0Short());  
                        
                        if(centPercentile >= 0.0001 && centPercentile <= 5.0)
@@ -1500,28 +1745,161 @@ void AliAnalysisTaskLukeAOD::UserExec(Option_t *)
                                fHistMK0PtCent0090->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassK0Short());
                                fHistBBK0Pos->Fill(pid_p1->GetTPCmomentum(),pid_p1->GetTPCsignal());
                                fHistBBK0Neg->Fill(pid_n1->GetTPCmomentum(),pid_n1->GetTPCsignal());
+                               
+                               
+                               
+                               fHistCosPaMK0->Fill(cosPA,v0->MassK0Short()); 
+                               fHistcTauMK0->Fill(decayL*(v0->MassK0Short())/(v0->P()),v0->MassK0Short());     
+                               fHistDcaMK0->Fill(dca,v0->MassK0Short());       
+                               fHistNSigmaMK0->Fill(1.0,v0->MassK0Short());    
+                               fHistEtaMK0->Fill(eta,v0->MassK0Short()); 
+                               fHistRapMK0->Fill(v0->RapK0Short(),v0->MassK0Short()); 
+                               fHistArmPodK0->Fill(ArmenterosAlpha,ArmenterosPt);
+                               
+                               
                        }
                        
-                       
-                       fHistCosPaK0Pt->Fill(cosPA,v0->MassK0Short()); 
-                       fHistcTauK0Pt->Fill(decayL*(v0->MassK0Short())/(v0->P()),v0->MassK0Short());    
-                       fHistDcaK0Pt->Fill(dca,v0->MassK0Short());      
-                       fHistNSigmaK0Pt->Fill(1.0,v0->MassK0Short());   
-                       fHistEtaK0Pt->Fill(eta,v0->MassK0Short()); 
-                       fHistRapK0Pt->Fill(v0->RapK0Short(),v0->MassK0Short()); 
-                       
-                       if(fIsMonteCarlo) 
+               }
+               
+               /* below here, non MC-As candidates are rejected, and MC-As histograms are filled. */
+               
+               if(!mcAslambdaCandidate && !mcAsantilambdaCandidate && !mcAsk0Candidate)
+               {continue;}
+               
+               if(fIsMonteCarlo)
+               {
+                       if(mcAslambdaCandidate)
                        {
-                               fHistMcCosPaAFoundK0Pt->Fill(1.0,v0->MassK0Short()); 
-                               fHistMccTauAFoundK0Pt->Fill(1.0,v0->MassK0Short()); 
-                               fHistMcDcaAFoundK0Pt->Fill(1.0,v0->MassK0Short()); 
-                               fHistMcNSigmaAFoundK0Pt->Fill(1.0,v0->MassK0Short()); 
-                               fHistMcEtaAFoundK0Pt->Fill(1.0,v0->MassK0Short()); 
-                               fHistMcRapAFoundK0Pt->Fill(1.0,v0->MassK0Short()); 
+                               
+                               if(!feeddown && mcPrimary2)
+                               {
+                                       if(centPercentile >= 0.0001 && centPercentile <= 5.0)
+                                       {fHistMcAsMLaPtCent0005->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassLambda());}
+                                       if(centPercentile > 5.0 && centPercentile <= 10.0)
+                                       {fHistMcAsMLaPtCent0510->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassLambda());}
+                                       if(centPercentile > 10.0 && centPercentile <= 20.0)
+                                       {fHistMcAsMLaPtCent1020->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassLambda());}
+                                       if(centPercentile > 20.0 && centPercentile <= 40.0)
+                                       {fHistMcAsMLaPtCent2040->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassLambda());}
+                                       if(centPercentile > 40.0 && centPercentile <= 60.0)
+                                       {fHistMcAsMLaPtCent4060->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassLambda());}
+                                       if(centPercentile > 60.0 && centPercentile <= 90.0)
+                                       {fHistMcAsMLaPtCent6090->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassLambda());}
+                               }
+                               
+                               if(centPercentile >= 0.0001 && centPercentile <= 90.0)
+                               {
+                                       if(feeddown)
+                                       {fHistMcFMLaPt->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassLambda());}
+                                       if(!feeddown && mcPrimary2)
+                                       {
+                                               fHistMcAsMLaPtCent0090->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassLambda());
+                                               
+                                               fHistMcAsReconCosPaMLa->Fill(cosPA,v0->MassLambda()); 
+                                               fHistMcAsReconcTauMLa->Fill(decayL*(TMath::Sqrt(v0->Pt2V0()))/(v0->P()),v0->MassLambda()); 
+                                               fHistMcAsReconDcaMLa->Fill(dca,v0->MassLambda());       
+                                               fHistMcAsReconNSigmaMLa->Fill(1.0,v0->MassLambda());    
+                                               fHistMcAsReconEtaMLa->Fill(eta,v0->MassLambda()); 
+                                               fHistMcAsReconRapMLa->Fill(v0->RapLambda(),v0->MassLambda());
+                                               fHistMcAsReconArmPodLa->Fill(ArmenterosAlpha,ArmenterosPt);
+                                               
+                                               
+                                               
+                                                       fHistMcAsTruthCosPaMLa->Fill(mcAsCosPa,mcAsMass); 
+                                                       fHistMcAsTruthcTauMLa->Fill(mcAscTau,mcAsMass); 
+                                                       fHistMcAsTruthDcaMLa->Fill(1.0,mcAsMass);       
+                                                       fHistMcAsTruthNSigmaMLa->Fill(1.0,mcAsMass); 
+                                                       fHistMcAsTruthEtaMLa->Fill(mcAsEta,mcAsMass);   
+                                                       fHistMcAsTruthRapMLa->Fill(mcAsRap,mcAsMass); 
+                                                       fHistMcAsTruthArmPodLa->Fill(1.0,1.0);
+                                               
+                                       }
+                                       
+                               }
+                               
                        }
+                       if(mcAsantilambdaCandidate)
+                       {
+                               if(!feeddown && mcPrimary2)
+                               {
+                                       if(centPercentile >= 0.0001 && centPercentile <= 5.0)
+                                       {fHistMcAsMLbPtCent0005->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassAntiLambda());}
+                                       if(centPercentile > 5.0 && centPercentile <= 10.0)
+                                       {fHistMcAsMLbPtCent0510->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassAntiLambda());}
+                                       if(centPercentile > 10.0 && centPercentile <= 20.0)
+                                       {fHistMcAsMLbPtCent1020->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassAntiLambda());}
+                                       if(centPercentile > 20.0 && centPercentile <= 40.0)
+                                       {fHistMcAsMLbPtCent2040->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassAntiLambda());}
+                                       if(centPercentile > 40.0 && centPercentile <= 60.0)
+                                       {fHistMcAsMLbPtCent4060->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassAntiLambda());}
+                                       if(centPercentile > 60.0 && centPercentile <= 90.0)
+                                       {fHistMcAsMLbPtCent6090->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassAntiLambda());}
+                                       
+                                       if(centPercentile >= 0.0001 && centPercentile <= 90.0)
+                                       {
+                                               fHistMcAsMLbPtCent0090->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassAntiLambda());
+                                               
+                                               fHistMcAsReconCosPaMLb->Fill(cosPA,v0->MassAntiLambda()); 
+                                               fHistMcAsReconcTauMLb->Fill(decayL*(v0->MassAntiLambda())/(v0->P()),v0->MassAntiLambda()); 
+                                               fHistMcAsReconDcaMLb->Fill(dca,v0->MassAntiLambda());   
+                                               fHistMcAsReconNSigmaMLb->Fill(1.0,v0->MassAntiLambda());        
+                                               fHistMcAsReconEtaMLb->Fill(eta,v0->MassAntiLambda());   
+                                               fHistMcAsReconRapMLb->Fill(v0->RapLambda(),v0->MassAntiLambda()); 
+                                               fHistMcAsReconArmPodLb->Fill(ArmenterosAlpha,ArmenterosPt);
+                                               
+                                               
+                                                       fHistMcAsTruthCosPaMLb->Fill(mcAsCosPa,mcAsMass); 
+                                                       fHistMcAsTruthcTauMLb->Fill(mcAscTau,mcAsMass); 
+                                                       fHistMcAsTruthDcaMLb->Fill(1.0,mcAsMass);       
+                                                       fHistMcAsTruthNSigmaMLb->Fill(1.0,mcAsMass);    
+                                                       fHistMcAsTruthEtaMLb->Fill(mcAsEta,mcAsMass);   
+                                                       fHistMcAsTruthRapMLb->Fill(mcAsRap,mcAsMass);
+                                                       fHistMcAsTruthArmPodLb->Fill(1.0,1.0); 
+                                               
+                                       }
+                               }
+                       }
+                       if(mcAsk0Candidate && mcPrimary2)
+                       {
+                               if(centPercentile >= 0.0001 && centPercentile <= 5.0)
+                               {fHistMcAsMK0PtCent0005->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassK0Short());}
+                               if(centPercentile > 5.0 && centPercentile <= 10.0)
+                               {fHistMcAsMK0PtCent0510->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassK0Short());}
+                               if(centPercentile > 10.0 && centPercentile <= 20.0)
+                               {fHistMcAsMK0PtCent1020->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassK0Short());}
+                               if(centPercentile > 20.0 && centPercentile <= 40.0)
+                               {fHistMcAsMK0PtCent2040->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassK0Short());}
+                               if(centPercentile > 40.0 && centPercentile <= 60.0)
+                               {fHistMcAsMK0PtCent4060->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassK0Short());}
+                               if(centPercentile > 60.0 && centPercentile <= 90.0)
+                               {fHistMcAsMK0PtCent6090->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassK0Short());}
+                               if(centPercentile >= 0.0001 && centPercentile <= 90.0)
+                               {
+                                       fHistMcAsMK0PtCent0090->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassK0Short());
+                                       
+                                       fHistMcAsReconCosPaMK0->Fill(cosPA,v0->MassK0Short()); 
+                                       fHistMcAsReconcTauMK0->Fill(decayL*(v0->MassK0Short())/(v0->P()),v0->MassK0Short());    
+                                       fHistMcAsReconDcaMK0->Fill(dca,v0->MassK0Short());      
+                                       fHistMcAsReconNSigmaMK0->Fill(1.0,v0->MassK0Short());   
+                                       fHistMcAsReconEtaMK0->Fill(eta,v0->MassK0Short()); 
+                                       fHistMcAsReconRapMK0->Fill(v0->RapK0Short(),v0->MassK0Short()); 
+                                       fHistMcAsReconArmPodK0->Fill(ArmenterosAlpha,ArmenterosPt);
+                                       
+                                       
+                                               fHistMcAsTruthCosPaMK0->Fill(mcAsCosPa,mcAsMass); 
+                                               fHistMcAsTruthcTauMK0->Fill(mcAscTau,mcAsMass); 
+                                               fHistMcAsTruthDcaMK0->Fill(1.0,mcAsMass); 
+                                               fHistMcAsTruthNSigmaMK0->Fill(1.0,mcAsMass); 
+                                               fHistMcAsTruthEtaMK0->Fill(mcAsEta,mcAsMass); 
+                                               fHistMcAsTruthRapMK0->Fill(mcAsRap,mcAsMass); 
+                                               fHistMcAsTruthArmPodK0->Fill(1.0,1.0);
+                                       
+                               }
+                               
                        }
                }
-    }
+               
+       }
        
        /********End of V0 loop for reconstructed event*****************************/
        
@@ -1529,39 +1907,39 @@ void AliAnalysisTaskLukeAOD::UserExec(Option_t *)
        
        
        fHistLog->Fill(9);
-    // NEW HISTO should be filled before this point, as PostData puts the
-    // information for this iteration of the UserExec in the container
-    PostData(1, fOutput);
+       // NEW HISTO should be filled before this point, as PostData puts the
+       // information for this iteration of the UserExec in the container
+       PostData(1, fOutput);
 }
 
 
 //________________________________________________________________________
 void AliAnalysisTaskLukeAOD::Terminate(Option_t *) 
 {
-    // Draw result to screen, or perform fitting, normalizations
-    // Called once at the end of the query
+       // Draw result to screen, or perform fitting, normalizations
+       // Called once at the end of the query
        
-    fOutput = dynamic_cast<TList*> (GetOutputData(1));
-    if(!fOutput) { Printf("ERROR: could not retrieve TList fOutput"); return; }
+       fOutput = dynamic_cast<TList*> (GetOutputData(1));
+       if(!fOutput) { Printf("ERROR: could not retrieve TList fOutput"); return; }
        
-    fHistPt = dynamic_cast<TH1F*> (fOutput->FindObject("fHistPt"));
-    if (!fHistPt) { Printf("ERROR: could not retrieve fHistPt"); return;}
-    fHistEta = dynamic_cast<TH1F*> (fOutput->FindObject("fHistEta"));
-    if (!fHistEta) { Printf("ERROR: could not retrieve fHistEta"); return;}
+       fHistPt = dynamic_cast<TH1F*> (fOutput->FindObject("fHistPt"));
+       if (!fHistPt) { Printf("ERROR: could not retrieve fHistPt"); return;}
+       fHistEta = dynamic_cast<TH1F*> (fOutput->FindObject("fHistEta"));
+       if (!fHistEta) { Printf("ERROR: could not retrieve fHistEta"); return;}
        
-    // Get the physics selection histograms with the selection statistics
-    //AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
-    //AliESDInputHandler *inputH = dynamic_cast<AliESDInputHandler*>(mgr->GetInputEventHandler());
-    //TH2F *histStat = (TH2F*)inputH->GetStatistics();
+       // Get the physics selection histograms with the selection statistics
+       //AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
+       //AliESDInputHandler *inputH = dynamic_cast<AliESDInputHandler*>(mgr->GetInputEventHandler());
+       //TH2F *histStat = (TH2F*)inputH->GetStatistics();
        
        
-    // NEW HISTO should be retrieved from the TList container in the above way,
-    // so it is available to draw on a canvas such as below
+       // NEW HISTO should be retrieved from the TList container in the above way,
+       // so it is available to draw on a canvas such as below
        
-    TCanvas *c = new TCanvas("AliAnalysisTaskLukeAOD","P_{T} & #eta",10,10,1020,510);
-    c->Divide(2,1);
-    c->cd(1)->SetLogy();
-    fHistPt->DrawCopy("E");
-    c->cd(2);
-    fHistEta->DrawCopy("E");
+       TCanvas *c = new TCanvas("AliAnalysisTaskLukeAOD","P_{T} & #eta",10,10,1020,510);
+       c->Divide(2,1);
+       c->cd(1)->SetLogy();
+       fHistPt->DrawCopy("E");
+       c->cd(2);
+       fHistEta->DrawCopy("E");
 }
index b8ba94ffa514dab509c50e300cee8304c04dba68..dc68d38e4e71f6cd0ac4f7b402b3b9cfd30da4e7 100644 (file)
@@ -75,9 +75,6 @@ class AliAnalysisTaskLukeAOD : public AliAnalysisTaskSE {
        TH2F                    *fHistBBLaNeg;          //PID of the negative daughter of lambda candidates
        TH2F                    *fHistBBLbPos;          //PID of the positive daughter of antilambda candidates
        TH2F                    *fHistBBLbNeg;          //PID of the negative daughter of antilambda candidates
-       TH2F                    *fHistArmPodK0;         //Armenteros plot for K0 candidates.
-       TH2F                    *fHistArmPodLa;         //Armenteros plot for Lambda candidates.
-       TH2F                    *fHistArmPodLb;         //Armenteros plot for Antilambda candidates.
        
        TH2F                    *fHistBB3SigProton;     //Bethe Bloch plot of protons @3sigma
        TH2F                    *fHistMK0Pt;                    //      Mass of 'K0' vs transverse momentum
@@ -95,6 +92,9 @@ class AliAnalysisTaskLukeAOD : public AliAnalysisTaskSE {
        TH2F                    *fHistMcPMK0PtCent0005;                 //      Transverse momentum distribution vs reconstructed K0 mass of primary K0s in MC for centrality 0-5%
        TH2F                    *fHistMcPMLaPtCent0005;                 //      Transverse momentum distribution vs reconstructed Lambda mass of primary Lambda in MC for centrality 0-5%
        TH2F                    *fHistMcPMLbPtCent0005;                 //      Transverse momentum distribution vs reconstructed Antilambd mass of primary Antilambda in MC for centrality 0-5%
+       TH2F                    *fHistMcAsMK0PtCent0005;                        //      Transverse momentum distribution vs reconstructed K0 mass of primary reconstructed K0s in MC for centrality 0-5%
+       TH2F                    *fHistMcAsMLaPtCent0005;                        //      Transverse momentum distribution vs reconstructed Lambda mass of primary reconstructed Lambda in MC for centrality 0-5%
+       TH2F                    *fHistMcAsMLbPtCent0005;                        //      Transverse momentum distribution vs reconstructed Antilambd mass of primary reconstructed Antilambda in MC for centrality 0-5%
        TH1F                    *fHistZVertexCent0005;                                  //      Z coordinate of primary vertex for centrality 0-5%
        TH1F                    *fHistMCZVertexCent0005;                                //      Z coordinate of MC primary vertex for centrality 0-5%
        
@@ -104,6 +104,9 @@ class AliAnalysisTaskLukeAOD : public AliAnalysisTaskSE {
        TH2F                    *fHistMcPMK0PtCent0510;                 //      Transverse momentum distribution vs reconstructed K0 mass of primary K0s in MC for centrality 5-10%
        TH2F                    *fHistMcPMLaPtCent0510;                 //      Transverse momentum distribution vs reconstructed Lambda mass of primary Lambda in MC for centrality 5-10%
        TH2F                    *fHistMcPMLbPtCent0510;                 //      Transverse momentum distribution vs reconstructed Antilambd mass of primary Antilambda in MC for centrality 5-10%
+       TH2F                    *fHistMcAsMK0PtCent0510;                        //      Transverse momentum distribution vs reconstructed K0 mass of primary reconstructed K0s in MC for centrality 5-10%
+       TH2F                    *fHistMcAsMLaPtCent0510;                        //      Transverse momentum distribution vs reconstructed Lambda mass of primary reconstructed Lambda in MC for centrality 5-10%
+       TH2F                    *fHistMcAsMLbPtCent0510;                        //      Transverse momentum distribution vs reconstructed Antilambd mass of primary reconstructed Antilambda in MC for centrality 5-10%
        TH1F                    *fHistZVertexCent0510;                                  //      Z coordinate of primary vertex for centrality 5-10%
        TH1F                    *fHistMCZVertexCent0510;                                //      Z coordinate of MC primary vertex for centrality 5-10%
        
@@ -114,6 +117,9 @@ class AliAnalysisTaskLukeAOD : public AliAnalysisTaskSE {
        TH2F                    *fHistMcPMK0PtCent1020;                 //      Transverse momentum distribution vs reconstructed K0 mass of primary K0s in MC for centrality 10-20%
        TH2F                    *fHistMcPMLaPtCent1020;                 //      Transverse momentum distribution vs reconstructed Lambda mass of primary Lambda in MC for centrality 10-20%
        TH2F                    *fHistMcPMLbPtCent1020;                 //      Transverse momentum distribution vs reconstructed Antilambd mass of primary Antilambda in MC for centrality 10-20%
+       TH2F                    *fHistMcAsMK0PtCent1020;                        //      Transverse momentum distribution vs reconstructed K0 mass of primary reconstructed K0s in MC for centrality 10-20%
+       TH2F                    *fHistMcAsMLaPtCent1020;                        //      Transverse momentum distribution vs reconstructed Lambda mass of primary reconstructed Lambda in MC for centrality 10-20%
+       TH2F                    *fHistMcAsMLbPtCent1020;                        //      Transverse momentum distribution vs reconstructed Antilambd mass of primary reconstructed Antilambda in MC for centrality 10-20%
        TH1F                    *fHistZVertexCent1020;                                  //      Z coordinate of primary vertex for centrality 10-20%
        TH1F                    *fHistMCZVertexCent1020;                                //      Z coordinate of MC primary vertex for centrality 10-20%
        
@@ -124,6 +130,9 @@ class AliAnalysisTaskLukeAOD : public AliAnalysisTaskSE {
        TH2F                    *fHistMcPMK0PtCent2040;                 //      Transverse momentum distribution vs reconstructed K0 mass of primary K0s in MC for centrality 20-40%
        TH2F                    *fHistMcPMLaPtCent2040;                 //      Transverse momentum distribution vs reconstructed Lambda mass of primary Lambda in MC for centrality 20-40%
        TH2F                    *fHistMcPMLbPtCent2040;                 //      Transverse momentum distribution vs reconstructed Antilambd mass of primary Antilambda in MC for centrality 20-40%
+       TH2F                    *fHistMcAsMK0PtCent2040;                        //      Transverse momentum distribution vs reconstructed K0 mass of primary reconstructed K0s in MC for centrality 20-40%
+       TH2F                    *fHistMcAsMLaPtCent2040;                        //      Transverse momentum distribution vs reconstructed Lambda mass of primary reconstructed Lambda in MC for centrality 20-40%
+       TH2F                    *fHistMcAsMLbPtCent2040;                        //      Transverse momentum distribution vs reconstructed Antilambd mass of primary reconstructed Antilambda in MC for centrality 20-40%
        TH1F                    *fHistZVertexCent2040;                                  //      Z coordinate of primary vertex for centrality 20-40%
        TH1F                    *fHistMCZVertexCent2040;                                //      Z coordinate of MC primary vertex for centrality 20-40%
        
@@ -134,6 +143,9 @@ class AliAnalysisTaskLukeAOD : public AliAnalysisTaskSE {
        TH2F                    *fHistMcPMK0PtCent4060;                 //      Transverse momentum distribution vs reconstructed K0 mass of primary K0s in MC for centrality 40-60%
        TH2F                    *fHistMcPMLaPtCent4060;                 //      Transverse momentum distribution vs reconstructed Lambda mass of primary Lambda in MC for centrality 40-60%
        TH2F                    *fHistMcPMLbPtCent4060;                 //      Transverse momentum distribution vs reconstructed Antilambd mass of primary Antilambda in MC for centrality 40-60%
+       TH2F                    *fHistMcAsMK0PtCent4060;                        //      Transverse momentum distribution vs reconstructed K0 mass of primary reconstructed K0s in MC for centrality 40-60%
+       TH2F                    *fHistMcAsMLaPtCent4060;                        //      Transverse momentum distribution vs reconstructed Lambda mass of primary reconstructed Lambda in MC for centrality 40-60%
+       TH2F                    *fHistMcAsMLbPtCent4060;                        //      Transverse momentum distribution vs reconstructed Antilambd mass of primary reconstructed Antilambda in MC for centrality 40-60%
        TH1F                    *fHistZVertexCent4060;                                  //      Z coordinate of primary vertex for centrality 40-60%
        TH1F                    *fHistMCZVertexCent4060;                                //      Z coordinate of MC primary vertex for centrality 40-60%
        
@@ -144,6 +156,9 @@ class AliAnalysisTaskLukeAOD : public AliAnalysisTaskSE {
        TH2F                    *fHistMcPMK0PtCent6090;                 //      Transverse momentum distribution vs reconstructed K0 mass of primary K0s in MC for centrality 60-90%
        TH2F                    *fHistMcPMLaPtCent6090;                 //      Transverse momentum distribution vs reconstructed Lambda mass of primary Lambda in MC for centrality 60-90%
        TH2F                    *fHistMcPMLbPtCent6090;                 //      Transverse momentum distribution vs reconstructed Antilambd mass of primary Antilambda in MC for centrality 60-90%
+       TH2F                    *fHistMcAsMK0PtCent6090;                        //      Transverse momentum distribution vs reconstructed K0 mass of primary reconstructed K0s in MC for centrality 60-90%
+       TH2F                    *fHistMcAsMLaPtCent6090;                        //      Transverse momentum distribution vs reconstructed Lambda mass of primary reconstructed Lambda in MC for centrality 60-90%
+       TH2F                    *fHistMcAsMLbPtCent6090;                        //      Transverse momentum distribution vs reconstructed Antilambd mass of primary reconstructed Antilambda in MC for centrality 60-90%
        TH1F                    *fHistZVertexCent6090;                                  //      Z coordinate of primary vertex for centrality 60-90%
        TH1F                    *fHistMCZVertexCent6090;                                //      Z coordinate of MC primary vertex for centrality 60-90%
        
@@ -154,69 +169,105 @@ class AliAnalysisTaskLukeAOD : public AliAnalysisTaskSE {
        TH2F                    *fHistMcPMK0PtCent0090;                 //      Transverse momentum distribution vs reconstructed K0 mass of primary K0s in MC for centrality 0-90%
        TH2F                    *fHistMcPMLaPtCent0090;                 //      Transverse momentum distribution vs reconstructed Lambda mass of primary Lambda in MC for centrality 0-90%
        TH2F                    *fHistMcPMLbPtCent0090;                 //      Transverse momentum distribution vs reconstructed Antilambd mass of primary Antilambda in MC for centrality 0-90%
+       TH2F                    *fHistMcAsMK0PtCent0090;                        //      Transverse momentum distribution vs reconstructed K0 mass of primary reconstructed K0s in MC for centrality 0-90%
+       TH2F                    *fHistMcAsMLaPtCent0090;                        //      Transverse momentum distribution vs reconstructed Lambda mass of primary reconstructed Lambda in MC for centrality 0-90%
+       TH2F                    *fHistMcAsMLbPtCent0090;                        //      Transverse momentum distribution vs reconstructed Antilambd mass of primary reconstructed Antilambda in MC for centrality 0-90%
        TH1F                    *fHistZVertexCent0090;                                  //      Z coordinate of primary vertex for centrality 0-90%
        TH1F                    *fHistMCZVertexCent0090;                                //      Z coordinate of MC primary vertex for centrality 0-90%
                
        
-       TH2F                    *fHistCosPaLaPt;                //      Transverse momentum distribution vs CosPa for Lambda Candidates
-       TH2F                    *fHistCosPaLbPt;                //      Transverse momentum distribution vs CosPa for AntiLambda Candidates
-       TH2F                    *fHistCosPaK0Pt;                //      Transverse momentum distribution vs CosPa for K0Short Candidates
-       TH2F                    *fHistMcCosPaAllLaPt;   //      Transverse momentum distribution vs CosPa for all MC primary Lambda
-       TH2F                    *fHistMcCosPaAllLbPt;   //      Transverse momentum distribution vs CosPa for all MC primary AntiLambda
-       TH2F                    *fHistMcCosPaAllK0Pt;   //      Transverse momentum distribution vs CosPa for all MC primary K0Short
-       TH2F                    *fHistMcCosPaFoundLaPt; //      Transverse momentum distribution vs CosPa for reconstructed MC primary Lambda
-       TH2F                    *fHistMcCosPaFoundLbPt; //      Transverse momentum distribution vs CosPa for reconstructed MC primary AntiLambda
-       TH2F                    *fHistMcCosPaAFoundK0Pt;//      Transverse momentum distribution vs CosPa for reconstructed MC primary K0Short
-       
-       TH2F                    *fHistcTauLaPt;         //      Transverse momentum distribution vs cTau for Lambda Candidates
-       TH2F                    *fHistcTauLbPt;         //      Transverse momentum distribution vs cTau for AntiLambda Candidates
-       TH2F                    *fHistcTauK0Pt;         //      Transverse momentum distribution vs cTau for K0Short Candidates
-       TH2F                    *fHistMccTauAllLaPt;    //      Transverse momentum distribution vs cTau for all MC primary Lambda
-       TH2F                    *fHistMccTauAllLbPt;    //      Transverse momentum distribution vs cTau for all MC primary AntiLambda
-       TH2F                    *fHistMccTauAllK0Pt;    //      Transverse momentum distribution vs cTau for all MC primary K0Short
-       TH2F                    *fHistMccTauFoundLaPt;  //      Transverse momentum distribution vs cTau for reconstructed MC primary Lambda
-       TH2F                    *fHistMccTauFoundLbPt;  //      Transverse momentum distribution vs cTau for reconstructed MC primary AntiLambda
-       TH2F                    *fHistMccTauAFoundK0Pt;//       Transverse momentum distribution vs cTau for reconstructed MC primary K0Short
-       
-       TH2F                    *fHistDcaLaPt;          //      Transverse momentum distribution vs Dca for Lambda Candidates
-       TH2F                    *fHistDcaLbPt;          //      Transverse momentum distribution vs Dca for AntiLambda Candidates
-       TH2F                    *fHistDcaK0Pt;          //      Transverse momentum distribution vs Dca for K0Short Candidates
-       TH2F                    *fHistMcDcaAllLaPt;     //      Transverse momentum distribution vs Dca for all MC primary Lambda
-       TH2F                    *fHistMcDcaAllLbPt;     //      Transverse momentum distribution vs Dca for all MC primary AntiLambda
-       TH2F                    *fHistMcDcaAllK0Pt;     //      Transverse momentum distribution vs Dca for all MC primary K0Short
-       TH2F                    *fHistMcDcaFoundLaPt;   //      Transverse momentum distribution vs Dca for reconstructed MC primary Lambda
-       TH2F                    *fHistMcDcaFoundLbPt;   //      Transverse momentum distribution vs Dca for reconstructed MC primary AntiLambda
-       TH2F                    *fHistMcDcaAFoundK0Pt;//        Transverse momentum distribution vs Dca for reconstructed MC primary K0Short
-       
-       TH2F                    *fHistNSigmaLaPt;               //      Transverse momentum distribution vs NSigma for Lambda Candidates
-       TH2F                    *fHistNSigmaLbPt;               //      Transverse momentum distribution vs NSigma for AntiLambda Candidates
-       TH2F                    *fHistNSigmaK0Pt;               //      Transverse momentum distribution vs NSigma for K0Short Candidates
-       TH2F                    *fHistMcNSigmaAllLaPt;  //      Transverse momentum distribution vs NSigma for all MC primary Lambda
-       TH2F                    *fHistMcNSigmaAllLbPt;  //      Transverse momentum distribution vs NSigma for all MC primary AntiLambda
-       TH2F                    *fHistMcNSigmaAllK0Pt;  //      Transverse momentum distribution vs NSigma for all MC primary K0Short
-       TH2F                    *fHistMcNSigmaFoundLaPt;        //      Transverse momentum distribution vs NSigma for reconstructed MC primary Lambda
-       TH2F                    *fHistMcNSigmaFoundLbPt;        //      Transverse momentum distribution vs NSigma for reconstructed MC primary AntiLambda
-       TH2F                    *fHistMcNSigmaAFoundK0Pt;//     Transverse momentum distribution vs NSigma for reconstructed MC primary K0Short
-       
-       TH2F                    *fHistEtaLaPt;          //      Transverse momentum distribution vs Eta for Lambda Candidates
-       TH2F                    *fHistEtaLbPt;          //      Transverse momentum distribution vs Eta for AntiLambda Candidates
-       TH2F                    *fHistEtaK0Pt;          //      Transverse momentum distribution vs Eta for K0Short Candidates
-       TH2F                    *fHistMcEtaAllLaPt;     //      Transverse momentum distribution vs Eta for all MC primary Lambda
-       TH2F                    *fHistMcEtaAllLbPt;     //      Transverse momentum distribution vs Eta for all MC primary AntiLambda
-       TH2F                    *fHistMcEtaAllK0Pt;     //      Transverse momentum distribution vs Eta for all MC primary K0Short
-       TH2F                    *fHistMcEtaFoundLaPt;   //      Transverse momentum distribution vs Eta for reconstructed MC primary Lambda
-       TH2F                    *fHistMcEtaFoundLbPt;   //      Transverse momentum distribution vs Eta for reconstructed MC primary AntiLambda
-       TH2F                    *fHistMcEtaAFoundK0Pt;//        Transverse momentum distribution vs Eta for reconstructed MC primary K0Short
-       
-       TH2F                    *fHistRapLaPt;          //      Transverse momentum distribution vs Rap for Lambda Candidates
-       TH2F                    *fHistRapLbPt;          //      Transverse momentum distribution vs Rap for AntiLambda Candidates
-       TH2F                    *fHistRapK0Pt;          //      Transverse momentum distribution vs Rap for K0Short Candidates
-       TH2F                    *fHistMcRapAllLaPt;     //      Transverse momentum distribution vs Rap for all MC primary Lambda
-       TH2F                    *fHistMcRapAllLbPt;     //      Transverse momentum distribution vs Rap for all MC primary AntiLambda
-       TH2F                    *fHistMcRapAllK0Pt;     //      Transverse momentum distribution vs Rap for all MC primary K0Short
-       TH2F                    *fHistMcRapFoundLaPt;   //      Transverse momentum distribution vs Rap for reconstructed MC primary Lambda
-       TH2F                    *fHistMcRapFoundLbPt;   //      Transverse momentum distribution vs Rap for reconstructed MC primary AntiLambda
-       TH2F                    *fHistMcRapAFoundK0Pt;//        Transverse momentum distribution vs Rap for reconstructed MC primary K0Short
+       TH2F                    *fHistCosPaMLa;         //      Transverse momentum distribution vs CosPa for Lambda Candidates
+       TH2F                    *fHistCosPaMLb;         //      Transverse momentum distribution vs CosPa for AntiLambda Candidates
+       TH2F                    *fHistCosPaMK0;         //      Transverse momentum distribution vs CosPa for K0Short Candidates
+       TH2F                    *fHistMcGenCosPaMLa;    //      Transverse momentum distribution vs MC-Truth CosPa for all MC primary Lambda
+       TH2F                    *fHistMcGenCosPaMLb;    //      Transverse momentum distribution vs MC-Truth CosPa for all MC primary AntiLambda
+       TH2F                    *fHistMcGenCosPaMK0;    //      Transverse momentum distribution vs MC-Truth CosPa for all MC primary K0Short
+       TH2F                    *fHistMcAsReconCosPaMLa;        //      Transverse momentum distribution vs CosPa for reconstructed MC primary Lambda
+       TH2F                    *fHistMcAsReconCosPaMLb;        //      Transverse momentum distribution vs CosPa for reconstructed MC primary AntiLambda
+       TH2F                    *fHistMcAsReconCosPaMK0;//      Transverse momentum distribution vs CosPa for reconstructed MC primary K0Short
+       TH2F                    *fHistMcAsTruthCosPaMLa;        //      Transverse momentum distribution vs MC-Truth CosPa for reconstructed MC primary Lambda
+       TH2F                    *fHistMcAsTruthCosPaMLb;        //      Transverse momentum distribution vs MC-Truth CosPa for reconstructed MC primary AntiLambda
+       TH2F                    *fHistMcAsTruthCosPaMK0;//      Transverse momentum distribution vs MC-Truth CosPa for reconstructed MC primary K0Short
+       
+       TH2F                    *fHistcTauMLa;          //      Transverse momentum distribution vs cTau for Lambda Candidates
+       TH2F                    *fHistcTauMLb;          //      Transverse momentum distribution vs cTau for AntiLambda Candidates
+       TH2F                    *fHistcTauMK0;          //      Transverse momentum distribution vs cTau for K0Short Candidates
+       TH2F                    *fHistMcGencTauMLa;     //      Transverse momentum distribution vs MC-Truth cTau for all MC primary Lambda
+       TH2F                    *fHistMcGencTauMLb;     //      Transverse momentum distribution vs MC-Truth cTau for all MC primary AntiLambda
+       TH2F                    *fHistMcGencTauMK0;     //      Transverse momentum distribution vs MC-Truth cTau for all MC primary K0Short
+       TH2F                    *fHistMcAsReconcTauMLa; //      Transverse momentum distribution vs cTau for reconstructed MC primary Lambda
+       TH2F                    *fHistMcAsReconcTauMLb; //      Transverse momentum distribution vs cTau for reconstructed MC primary AntiLambda
+       TH2F                    *fHistMcAsReconcTauMK0;//       Transverse momentum distribution vs cTau for reconstructed MC primary K0Short
+       TH2F                    *fHistMcAsTruthcTauMLa; //      Transverse momentum distribution vs MC-Truth cTau for reconstructed MC primary Lambda
+       TH2F                    *fHistMcAsTruthcTauMLb; //      Transverse momentum distribution vs MC-Truth cTau for reconstructed MC primary AntiLambda
+       TH2F                    *fHistMcAsTruthcTauMK0;//       Transverse momentum distribution vs MC-Truth cTau for reconstructed MC primary K0Short
+       
+       TH2F                    *fHistDcaMLa;           //      Transverse momentum distribution vs Dca for Lambda Candidates
+       TH2F                    *fHistDcaMLb;           //      Transverse momentum distribution vs Dca for AntiLambda Candidates
+       TH2F                    *fHistDcaMK0;           //      Transverse momentum distribution vs Dca for K0Short Candidates
+       TH2F                    *fHistMcGenDcaMLa;      //      Transverse momentum distribution vs MC-Truth Dca for all MC primary Lambda
+       TH2F                    *fHistMcGenDcaMLb;      //      Transverse momentum distribution vs MC-Truth Dca for all MC primary AntiLambda
+       TH2F                    *fHistMcGenDcaMK0;      //      Transverse momentum distribution vs MC-Truth Dca for all MC primary K0Short
+       TH2F                    *fHistMcAsReconDcaMLa;  //      Transverse momentum distribution vs Dca for reconstructed MC primary Lambda
+       TH2F                    *fHistMcAsReconDcaMLb;  //      Transverse momentum distribution vs Dca for reconstructed MC primary AntiLambda
+       TH2F                    *fHistMcAsReconDcaMK0;//        Transverse momentum distribution vs Dca for reconstructed MC primary K0Short
+       TH2F                    *fHistMcAsTruthDcaMLa;  //      Transverse momentum distribution vs MC-Truth Dca for reconstructed MC primary Lambda
+       TH2F                    *fHistMcAsTruthDcaMLb;  //      Transverse momentum distribution vs MC-Truth Dca for reconstructed MC primary AntiLambda
+       TH2F                    *fHistMcAsTruthDcaMK0;//        Transverse momentum distribution vs MC-Truth Dca for reconstructed MC primary K0Short
+       
+       TH2F                    *fHistNSigmaMLa;                //      Transverse momentum distribution vs NSigma for Lambda Candidates
+       TH2F                    *fHistNSigmaMLb;                //      Transverse momentum distribution vs NSigma for AntiLambda Candidates
+       TH2F                    *fHistNSigmaMK0;                //      Transverse momentum distribution vs NSigma for K0Short Candidates
+       TH2F                    *fHistMcGenNSigmaMLa;   //      Transverse momentum distribution vs MC-Truth NSigma for all MC primary Lambda
+       TH2F                    *fHistMcGenNSigmaMLb;   //      Transverse momentum distribution vs MC-Truth NSigma for all MC primary AntiLambda
+       TH2F                    *fHistMcGenNSigmaMK0;   //      Transverse momentum distribution vs MC-Truth NSigma for all MC primary K0Short
+       TH2F                    *fHistMcAsReconNSigmaMLa;       //      Transverse momentum distribution vs NSigma for reconstructed MC primary Lambda
+       TH2F                    *fHistMcAsReconNSigmaMLb;       //      Transverse momentum distribution vs NSigma for reconstructed MC primary AntiLambda
+       TH2F                    *fHistMcAsReconNSigmaMK0;//     Transverse momentum distribution vs NSigma for reconstructed MC primary K0Short
+       TH2F                    *fHistMcAsTruthNSigmaMLa;       //      Transverse momentum distribution vs MC-Truth NSigma for reconstructed MC primary Lambda
+       TH2F                    *fHistMcAsTruthNSigmaMLb;       //      Transverse momentum distribution vs MC-Truth NSigma for reconstructed MC primary AntiLambda
+       TH2F                    *fHistMcAsTruthNSigmaMK0;//     Transverse momentum distribution vs MC-Truth NSigma for reconstructed MC primary K0Short
+       
+       TH2F                    *fHistEtaMLa;           //      Transverse momentum distribution vs Eta for Lambda Candidates
+       TH2F                    *fHistEtaMLb;           //      Transverse momentum distribution vs Eta for AntiLambda Candidates
+       TH2F                    *fHistEtaMK0;           //      Transverse momentum distribution vs Eta for K0Short Candidates
+       TH2F                    *fHistMcGenEtaMLa;      //      Transverse momentum distribution vs MC-Truth Eta for all MC primary Lambda
+       TH2F                    *fHistMcGenEtaMLb;      //      Transverse momentum distribution vs MC-Truth Eta for all MC primary AntiLambda
+       TH2F                    *fHistMcGenEtaMK0;      //      Transverse momentum distribution vs MC-Truth Eta for all MC primary K0Short
+       TH2F                    *fHistMcAsReconEtaMLa;  //      Transverse momentum distribution vs Eta for reconstructed MC primary Lambda
+       TH2F                    *fHistMcAsReconEtaMLb;  //      Transverse momentum distribution vs Eta for reconstructed MC primary AntiLambda
+       TH2F                    *fHistMcAsReconEtaMK0;//        Transverse momentum distribution vs Eta for reconstructed MC primary K0Short
+       TH2F                    *fHistMcAsTruthEtaMLa;  //      Transverse momentum distribution vs MC-Truth Eta for reconstructed MC primary Lambda
+       TH2F                    *fHistMcAsTruthEtaMLb;  //      Transverse momentum distribution vs MC-Truth Eta for reconstructed MC primary AntiLambda
+       TH2F                    *fHistMcAsTruthEtaMK0;//        Transverse momentum distribution vs MC-Truth Eta for reconstructed MC primary K0Short
+       
+       TH2F                    *fHistRapMLa;           //      Transverse momentum distribution vs Rap for Lambda Candidates
+       TH2F                    *fHistRapMLb;           //      Transverse momentum distribution vs Rap for AntiLambda Candidates
+       TH2F                    *fHistRapMK0;           //      Transverse momentum distribution vs Rap for K0Short Candidates
+       TH2F                    *fHistMcGenRapMLa;      //      Transverse momentum distribution vs MC-Truth Rap for all MC primary Lambda
+       TH2F                    *fHistMcGenRapMLb;      //      Transverse momentum distribution vs MC-Truth Rap for all MC primary AntiLambda
+       TH2F                    *fHistMcGenRapMK0;      //      Transverse momentum distribution vs MC-Truth Rap for all MC primary K0Short
+       TH2F                    *fHistMcAsReconRapMLa;  //      Transverse momentum distribution vs Rap for reconstructed MC primary Lambda
+       TH2F                    *fHistMcAsReconRapMLb;  //      Transverse momentum distribution vs Rap for reconstructed MC primary AntiLambda
+       TH2F                    *fHistMcAsReconRapMK0;//        Transverse momentum distribution vs Rap for reconstructed MC primary K0Short
+       TH2F                    *fHistMcAsTruthRapMLa;  //      Transverse momentum distribution vs MC-Truth Rap for reconstructed MC primary Lambda
+       TH2F                    *fHistMcAsTruthRapMLb;  //      Transverse momentum distribution vs MC-Truth Rap for reconstructed MC primary AntiLambda
+       TH2F                    *fHistMcAsTruthRapMK0;//        Transverse momentum distribution vs MC-Truth Rap for reconstructed MC primary K0Short
+       
+       
+       TH2F                    *fHistArmPodK0;         //Armenteros plot for K0 candidates.
+       TH2F                    *fHistArmPodLa;         //Armenteros plot for Lambda candidates.
+       TH2F                    *fHistArmPodLb;         //Armenteros plot for Antilambda candidates.
+       TH2F                    *fHistMcGenArmPodK0;            //Armenteros plot for K0 candidates.
+       TH2F                    *fHistMcGenArmPodLa;            //Armenteros plot for Lambda candidates.
+       TH2F                    *fHistMcGenArmPodLb;            //Armenteros plot for Antilambda candidates.
+       TH2F                    *fHistMcAsReconArmPodK0;                //Armenteros plot for K0 candidates.
+       TH2F                    *fHistMcAsReconArmPodLa;                //Armenteros plot for Lambda candidates.
+       TH2F                    *fHistMcAsReconArmPodLb;                //Armenteros plot for Antilambda candidates.
+       TH2F                    *fHistMcAsTruthArmPodK0;                //Armenteros plot for K0 candidates.
+       TH2F                    *fHistMcAsTruthArmPodLa;                //Armenteros plot for Lambda candidates.
+       TH2F                    *fHistMcAsTruthArmPodLb;                //Armenteros plot for Antilambda candidates.
+       
        
     // NEW HISTO to be declared here