]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Adding QA histograms
authorxsanchez <xsanchez@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 22 Nov 2012 15:08:59 +0000 (15:08 +0000)
committerxsanchez <xsanchez@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 22 Nov 2012 15:08:59 +0000 (15:08 +0000)
PWGLF/STRANGENESS/Correlations/AliAnalysisTaskLambdaOverK0sJets.cxx
PWGLF/STRANGENESS/Correlations/AliAnalysisTaskLambdaOverK0sJets.h
PWGLF/STRANGENESS/Correlations/macros/AddTaskLambdaOverK0sJets.C
PWGLF/STRANGENESS/Correlations/macros/runGridLambdaOverK0sJets.C
PWGLF/STRANGENESS/Correlations/macros/runProofLambdaOverK0sJets.C

index dd77cff6b56dc0241cd67b68a63d4e5bdab272df..f3c673f92e8ec421b1ffbc70051447a64af68f67 100644 (file)
@@ -73,39 +73,11 @@ static Double_t lMax = 100.;                 // Limits in the fidutial volume
 AliAnalysisTaskLambdaOverK0sJets::AliAnalysisTaskLambdaOverK0sJets(const char *name) :
   AliAnalysisTaskSE(name),
 
-  fAOD(0),
-  fIsMC(kFALSE),
-  fUsePID(kFALSE),
-  fCentMin(0.),
-  fCentMax(90.),
-  fTrigPtMin(8.),
-  fTrigPtMax(20.),
-  fTrigEtaMax(0.8),
-  fSeparateInjPart(kTRUE),
-  fEndOfHijingEvent(-1),
-  fPIDResponse(0),
-
-  fMinPtDaughter(0.160),
-  fMaxEtaDaughter(0.8),
-  fMaxDCADaughter(1.0),
-  fYMax(0.5),
-  fDCAToPrimVtx(0.1),
-  fMinCPA(0.998),
-  fNSigma(3.0),
-  fMinCtau(0.),
-  fMaxCtau(3.),
-
-  fOutput(0),
-
-  fEvents(0),
-  fCentrality(0),
-  fPrimaryVertexX(0),
-  fPrimaryVertexY(0),
-  fPrimaryVertexZ(0),
-  fNumberPileUp(0),
-  fCentMult(0),
-  fdEdx(0),
-  fdEdxPid(0),
+  fAOD(0), fIsMC(kFALSE), fUsePID(kFALSE), fCentMin(0.), fCentMax(90.), fDoQA(kFALSE), fTrigPtMin(8.), fTrigPtMax(20.), fTrigEtaMax(0.8), fCheckIDTrig(kFALSE), fSeparateInjPart(kTRUE), fEndOfHijingEvent(-1),  fPIDResponse(0),
+
+  fMinPtDaughter(0.160), fMaxEtaDaughter(0.8), fMaxDCADaughter(1.0), fYMax(0.5), fDCAToPrimVtx(0.1), fMinCPA(0.998), fNSigma(3.0), fMinCtau(0.), fMaxCtau(3.), 
+
+  fOutput(0), fOutputQA(0), fEvents(0), fCentrality(0), fPrimaryVertexX(0), fPrimaryVertexY(0), fPrimaryVertexZ(0), fNumberPileUp(0), fCentMult(0), fdEdx(0), fdEdxPid(0), 
 
   fTriggerMCPtCent(0),
   fTriggerPtCent(0),
@@ -113,6 +85,10 @@ AliAnalysisTaskLambdaOverK0sJets::AliAnalysisTaskLambdaOverK0sJets(const char *n
   fCheckTriggerFromV0Daug(0),
   fTriggerComingFromDaug(0),
   fTriggerIsV0(0),
+  fCheckIDTrigPtK0s(0),
+  fCheckIDTrigPhiK0s(0),
+  fCheckIDTrigPtLambda(0),
+  fCheckIDTrigPhiLambda(0),
 
   fInjectedParticles(0),
 
@@ -187,8 +163,11 @@ AliAnalysisTaskLambdaOverK0sJets::AliAnalysisTaskLambdaOverK0sJets(const char *n
   fLambdaBckgPhiRadio(0),
   fLambdaBckgDCANegDaugToPrimVtx(0),
   fLambdaBckgDCAPosDaugToPrimVtx(0),
-  fLambdaMassCascade(0)
+  fLambdaMassCascade(0),
+
+  fK0sPIDPosDaug(0), fK0sPIDNegDaug(0), fK0sBckgPIDPosDaug(0), fK0sBckgPIDNegDaug(0), fK0sPhiEtaPosDaug(0), fK0sPhiEtaNegDaug(0), fK0sBckgPhiEtaPosDaug(0), fK0sBckgPhiEtaNegDaug(0), fK0sDCAPosDaug(0), fK0sDCANegDaug(0), fK0sBckgDCAPosDaug(0), fK0sBckgDCANegDaug(0), fK0sDifPtPosDaug(0), fK0sDifPtNegDaug(0), fK0sBckgDifPtPosDaug(0), fK0sBckgDifPtNegDaug(0), fK0sDecayPos(0), fK0sBckgDecayPos(0), fK0sDecayVertex(0), fK0sBckgDecayVertex(0), fK0sDecayVertexZoom(0), fK0sBckgDecayVertexZoom(0), fK0sCPA(0), fK0sBckgCPA(0), fK0sDCAV0Daug(0), fK0sBckgDCAV0Daug(0),
 
+  fLambdaPIDPosDaug(0), fLambdaPIDNegDaug(0), fLambdaBckgPIDPosDaug(0), fLambdaBckgPIDNegDaug(0), fLambdaPhiEtaPosDaug(0),fLambdaPhiEtaNegDaug(0), fLambdaBckgPhiEtaPosDaug(0),fLambdaBckgPhiEtaNegDaug(0), fLambdaDCAPosDaug(0),fLambdaDCANegDaug(0), fLambdaBckgDCAPosDaug(0), fLambdaBckgDCANegDaug(0), fLambdaDifPtPosDaug(0), fLambdaDifPtNegDaug(0), fLambdaBckgDifPtPosDaug(0), fLambdaBckgDifPtNegDaug(0), fLambdaDecayPos(0), fLambdaBckgDecayPos(0), fLambdaDecayVertex(0), fLambdaBckgDecayVertex(0), fLambdaDecayVertexZoom(0), fLambdaBckgDecayVertexZoom(0), fLambdaCPA(0), fLambdaBckgCPA(0), fLambdaDCAV0Daug(0), fLambdaBckgDCAV0Daug(0)
   
 {
   // Dummy Constructor
@@ -224,6 +203,8 @@ AliAnalysisTaskLambdaOverK0sJets::AliAnalysisTaskLambdaOverK0sJets(const char *n
  
   // Constructor. Initialization of pointers
   DefineOutput(1, TList::Class());
+  DefineOutput(2, TList::Class());
 
 }
 
@@ -236,6 +217,9 @@ void AliAnalysisTaskLambdaOverK0sJets::UserCreateOutputObjects()
   fOutput = new TList(); 
   fOutput->SetOwner();
 
+  fOutputQA = new TList(); 
+  fOutputQA->SetOwner();
+
   // ====== General characteristics of the event and tracks ====== //
 
   // Counter for the number of events in each step:
@@ -345,6 +329,22 @@ void AliAnalysisTaskLambdaOverK0sJets::UserCreateOutputObjects()
   fTriggerIsV0->GetYaxis()->SetTitle("Counts"); 
   fOutput->Add(fTriggerIsV0);
 
+  fCheckIDTrigPtK0s
+    = new TH3F("fCheckIDTrigPtK0s","K^{0}_{S}",200,-10.,10.,3,-0.5,2.5,100,1.,6.);
+  fOutput->Add(fCheckIDTrigPtK0s);
+
+  fCheckIDTrigPhiK0s
+    = new TH3F("fCheckIDTrigPhiK0s","K^{0}_{S}",100,-2*TMath::Pi(),2*TMath::Pi(),3,-0.5,2.5,100,1.,6.);
+  fOutput->Add(fCheckIDTrigPhiK0s);
+
+  fCheckIDTrigPtLambda
+    = new TH3F("fCheckIDTrigPtLambda","#Lambda",200,-10.,10.,3,-0.5,2.5,100.,1.,6.);
+  fOutput->Add(fCheckIDTrigPtLambda);
+
+  fCheckIDTrigPhiLambda
+    = new TH3F("fCheckIDTrigPhiLambda","#Lambda",100,-2*TMath::Pi(),2*TMath::Pi(),3,-0.5,2.5,100.,1.,6.);
+  fOutput->Add(fCheckIDTrigPhiLambda);
+
 
   // ====== MC-true and  MC-Association information ====== //
   if(fIsMC){
@@ -1058,15 +1058,398 @@ void AliAnalysisTaskLambdaOverK0sJets::UserCreateOutputObjects()
   fLambdaMassCascade->GetYaxis()->SetTitle("Cascade type");
   fOutput->Add(fLambdaMassCascade);
 
-  
-  //----------------------
+  // ============================================================= //
+
+  if(fDoQA){
+
+
+    // Quality Assurance K0s:
+    // Track PID :
+    //    --- signal ---
+    fK0sPIDPosDaug  = 
+      new TH3F("fK0sPIDPosDaug","K^{0}_{S}: dE/dx Pos. Daug.",50,0.2,3,50,0.,6.,nbins,pMin,pMax);
+    fK0sPIDPosDaug->GetXaxis()->SetTitle("TPC Momentum (GeV/c)"); 
+    fK0sPIDPosDaug->GetYaxis()->SetTitle("a.u."); 
+    fK0sPIDPosDaug->GetZaxis()->SetTitle("p_{T} V0"); 
+    fOutputQA->Add(fK0sPIDPosDaug);
+
+    fK0sPIDNegDaug  = 
+      new TH3F("fK0sPIDNegDaug","K^{0}_{S}: dE/dx Neg. Daug.",50,0.2,3,50,0.,6.,nbins,pMin,pMax);
+    fK0sPIDNegDaug->GetXaxis()->SetTitle("TPC Momentum (GeV/c)"); 
+    fK0sPIDNegDaug->GetYaxis()->SetTitle("a.u."); 
+    fK0sPIDNegDaug->GetZaxis()->SetTitle("p_{T} V0"); 
+    fOutputQA->Add(fK0sPIDNegDaug);
+
+    //    --- background ---
+    fK0sBckgPIDPosDaug  = 
+      new TH3F("fK0sBckgPIDPosDaug","K^{0}_{S} Bckg: dE/dx Pos. Daug.",50,0.2,3,50,0.,6.,nbins,pMin,pMax);
+    fK0sBckgPIDPosDaug->GetXaxis()->SetTitle("TPC Momentum (GeV/c)"); 
+    fK0sBckgPIDPosDaug->GetYaxis()->SetTitle("a.u."); 
+    fK0sBckgPIDPosDaug->GetZaxis()->SetTitle("p_{T} V0"); 
+    fOutputQA->Add(fK0sBckgPIDPosDaug);
+
+    fK0sBckgPIDNegDaug  = 
+      new TH3F("fK0sBckgPIDNegDaug","K^{0}_{S} Bckg: dE/dx Neg. Daug.",50,0.2,3,50,0.,6.,nbins,pMin,pMax);
+    fK0sBckgPIDNegDaug->GetXaxis()->SetTitle("TPC Momentum (GeV/c)"); 
+    fK0sBckgPIDNegDaug->GetYaxis()->SetTitle("a.u."); 
+    fK0sBckgPIDNegDaug->GetZaxis()->SetTitle("p_{T} V0"); 
+    fOutputQA->Add(fK0sBckgPIDNegDaug);
+
+    // Phi Eta
+    //     --- signal ---
+    fK0sPhiEtaPosDaug = 
+      new TH3F("fK0sPhiEtaPosDaug","K^{0}_{S}: #phi vs #eta Pos. Daug.",nbinsPhi,0.,2.*TMath::Pi(),100,-1.,1.,nbins,pMin,pMax);
+    fK0sPhiEtaPosDaug->GetXaxis()->SetTitle("#phi"); 
+    fK0sPhiEtaPosDaug->GetYaxis()->SetTitle("#eta"); 
+    fK0sPhiEtaPosDaug->GetZaxis()->SetTitle("p_{T} V0"); 
+    fOutputQA->Add(fK0sPhiEtaPosDaug);
+
+    fK0sPhiEtaNegDaug  = 
+      new TH3F("fK0sPhiEtaNegDaug","K^{0}_{S}: #phi vs #eta Neg. Daug.",nbinsPhi,0.,2.*TMath::Pi(),100,-1.,1.,nbins,pMin,pMax);
+    fK0sPhiEtaNegDaug->GetXaxis()->SetTitle("#phi"); 
+    fK0sPhiEtaNegDaug->GetYaxis()->SetTitle("#eta"); 
+    fK0sPhiEtaNegDaug->GetZaxis()->SetTitle("p_{T} V0"); 
+    fOutputQA->Add(fK0sPhiEtaNegDaug);
+
+    //     --- background ---
+    fK0sBckgPhiEtaPosDaug = 
+      new TH3F("fK0sBckgPhiEtaPosDaug","K^{0}_{S} Bckg: #phi vs #eta Pos. Daug.",nbinsPhi,0.,2.*TMath::Pi(),100,-1.,1.,nbins,pMin,pMax);
+    fK0sBckgPhiEtaPosDaug->GetXaxis()->SetTitle("#phi"); 
+    fK0sBckgPhiEtaPosDaug->GetYaxis()->SetTitle("#eta"); 
+    fK0sBckgPhiEtaPosDaug->GetZaxis()->SetTitle("p_{T} V0"); 
+    fOutputQA->Add(fK0sBckgPhiEtaPosDaug);
+
+    fK0sBckgPhiEtaNegDaug  = 
+      new TH3F("fK0sBckgPhiEtaNegDaug","K^{0}_{S} Bckg: #phi vs #eta Neg. Daug.",nbinsPhi,0.,2.*TMath::Pi(),100,-1.,1.,nbins,pMin,pMax);
+    fK0sBckgPhiEtaNegDaug->GetXaxis()->SetTitle("#phi"); 
+    fK0sBckgPhiEtaNegDaug->GetYaxis()->SetTitle("#eta"); 
+    fK0sBckgPhiEtaNegDaug->GetZaxis()->SetTitle("p_{T} V0"); 
+    fOutputQA->Add(fK0sBckgPhiEtaNegDaug);
+
+    // Distance of closest approach
+    //     --- signal ---
+    fK0sDCAPosDaug = 
+      new TH2F("fK0sDCAPosDaug","K^{0}_{S}: dca Pos",90,0.,3.3,nbins,pMin,pMax);
+    fK0sDCAPosDaug->GetXaxis()->SetTitle("dca"); 
+    fK0sDCAPosDaug->GetYaxis()->SetTitle("p_{T} V0"); 
+    fOutputQA->Add(fK0sDCAPosDaug);
+
+    fK0sDCANegDaug =  
+      new TH2F("fK0sDCANegDaug","K^{0}_{S}: dca Neg",90,0.,3.3,nbins,pMin,pMax);
+    fK0sDCANegDaug->GetXaxis()->SetTitle("dca"); 
+    fK0sDCANegDaug->GetYaxis()->SetTitle("p_{T} V0"); 
+    fOutputQA->Add(fK0sDCANegDaug);
+    
+    //     --- background ---
+    fK0sBckgDCAPosDaug = 
+      new TH2F("fK0sBckgDCAPosDaug","K^{0}_{S} Bckg: dca Pos",90,0.,3.3,nbins,pMin,pMax);
+    fK0sBckgDCAPosDaug->GetXaxis()->SetTitle("dca"); 
+    fK0sBckgDCAPosDaug->GetYaxis()->SetTitle("p_{T} V0"); 
+    fOutputQA->Add(fK0sBckgDCAPosDaug);
+
+    fK0sBckgDCANegDaug =  
+      new TH2F("fK0sBckgDCANegDaug","K^{0}_{S} Bckg: dca Neg",90,0.,3.3,nbins,pMin,pMax);
+    fK0sBckgDCANegDaug->GetXaxis()->SetTitle("dca"); 
+    fK0sBckgDCANegDaug->GetYaxis()->SetTitle("p_{T} V0"); 
+    fOutputQA->Add(fK0sBckgDCANegDaug);
+
+    // Difference in momentum
+    //     --- signal ---
+    fK0sDifPtPosDaug =  
+      new TH2F("fK0sDifPtPosDaug","K^{0}_{S}: dif. p_{T}",90,0.,3.3,nbins,pMin,pMax);
+    fK0sDifPtPosDaug->GetXaxis()->SetTitle("#Delta p_{T}"); 
+    fK0sDifPtPosDaug->GetYaxis()->SetTitle("p_{T} V0"); 
+    fOutputQA->Add(fK0sDifPtPosDaug);
+
+    fK0sDifPtNegDaug =  
+      new TH2F("fK0sDifPtNegDaug","K^{0}_{S}: dif. p_{T}",90,0.,3.3,nbins,pMin,pMax);
+    fK0sDifPtNegDaug->GetXaxis()->SetTitle("#Delta p_{T}"); 
+    fK0sDifPtNegDaug->GetYaxis()->SetTitle("p_{T} V0"); 
+    fOutputQA->Add(fK0sDifPtNegDaug);
+
+    //     --- background ---
+    fK0sBckgDifPtPosDaug =  
+      new TH2F("fK0sBckgDifPtPosDaug","K^{0}_{S} Bckg: dif. p_{T}",90,0.,3.3,nbins,pMin,pMax);
+    fK0sBckgDifPtPosDaug->GetXaxis()->SetTitle("#Delta p_{T}"); 
+    fK0sBckgDifPtPosDaug->GetYaxis()->SetTitle("p_{T} V0"); 
+    fOutputQA->Add(fK0sBckgDifPtPosDaug);
+
+    fK0sBckgDifPtNegDaug =  
+      new TH2F("fK0sBckgDifPtNegDaug","K^{0}_{S} Bckg: dif. p_{T}",90,0.,3.3,nbins,pMin,pMax);
+    fK0sBckgDifPtNegDaug->GetXaxis()->SetTitle("#Delta p_{T}"); 
+    fK0sBckgDifPtNegDaug->GetYaxis()->SetTitle("p_{T} V0"); 
+    fOutputQA->Add(fK0sBckgDifPtNegDaug);
+
+
+    // Decay vertex reconstruction
+    //     --- signal ---
+    fK0sDecayPos  =  
+      new TH3F("fK0sDecayPos","K^{0}_{S}: Position of Dec. Vtx",200,-100.,100.,200,-100.,100.,nbins,pMin,pMax);
+    fK0sDecayPos->GetXaxis()->SetTitle("Pos. X"); 
+    fK0sDecayPos->GetYaxis()->SetTitle("Pos. Y"); 
+    fK0sDecayPos->GetZaxis()->SetTitle("p_{T} V0"); 
+    fOutputQA->Add(fK0sDecayPos);
+
+    fK0sDecayVertex  =  
+      new TH2F("fK0sDecayVertex","K^{0}_{S}: decay lenght",100,0.,100.,nbins,pMin,pMax);
+    fK0sDecayVertex->GetXaxis()->SetTitle("l_{T}"); 
+    fK0sDecayVertex->GetYaxis()->SetTitle("p_{T} V0"); 
+    fOutputQA->Add(fK0sDecayVertex);
+
+    fK0sDecayVertexZoom  =  
+    new TH2F("fK0sDecayVertexZoom","K^{0}_{S}: decay lenght",20,0.,1.,nbins,pMin,pMax);
+    fK0sDecayVertexZoom->GetXaxis()->SetTitle("l_{T}"); 
+    fK0sDecayVertexZoom->GetYaxis()->SetTitle("p_{T} V0"); 
+    fOutputQA->Add(fK0sDecayVertexZoom);
+
+    //     --- background ---
+    fK0sBckgDecayPos  =  
+      new TH3F("fK0sBckgDecayPos","K^{0}_{S}: Position of Dec. Vtx",200,-100.,100.,200,-100.,100.,nbins,pMin,pMax);
+    fK0sBckgDecayPos->GetXaxis()->SetTitle("Pos. X"); 
+    fK0sBckgDecayPos->GetYaxis()->SetTitle("Pos. Y"); 
+    fK0sBckgDecayPos->GetZaxis()->SetTitle("p_{T} V0"); 
+    fOutputQA->Add(fK0sBckgDecayPos);
+
+    fK0sBckgDecayVertex  =  
+      new TH2F("fK0sBckgDecayVertex","K^{0}_{S} Bckg: decay vertex",100,0.,100.,nbins,pMin,pMax);
+    fK0sBckgDecayVertex->GetXaxis()->SetTitle("l_{T}"); 
+    fK0sBckgDecayVertex->GetYaxis()->SetTitle("p_{T} V0"); 
+    fOutputQA->Add(fK0sBckgDecayVertex);
+
+    fK0sBckgDecayVertexZoom  =  
+      new TH2F("fK0sBckgDecayVertexZoom","K^{0}_{S} Bckg: decay lenght",20,0.,1.,nbins,pMin,pMax);
+    fK0sBckgDecayVertexZoom->GetXaxis()->SetTitle("l_{T}"); 
+    fK0sBckgDecayVertexZoom->GetYaxis()->SetTitle("p_{T} V0"); 
+    fOutputQA->Add(fK0sBckgDecayVertexZoom);
+
+    // Cosine of the Pointing Angle
+    //     --- signal ---
+    fK0sCPA  =  
+      new TH2F("fK0sCPA","K^{0}_{S}: cosine of the pointing angle",100,0.9,1.,nbins,pMin,pMax);
+    fK0sCPA->GetXaxis()->SetTitle("cpa"); 
+    fK0sCPA->GetYaxis()->SetTitle("p_{T} V0"); 
+    fOutputQA->Add(fK0sCPA);
+    //     --- background ---
+    fK0sBckgCPA  =  
+      new TH2F("fK0sBckgCPA","K^{0}_{S} Bckg: cosine of the pointing angle",100,0.9,1.,nbins,pMin,pMax);
+    fK0sBckgCPA->GetXaxis()->SetTitle("cpa"); 
+    fK0sBckgCPA->GetYaxis()->SetTitle("p_{T} V0"); 
+    fOutputQA->Add(fK0sBckgCPA);
+
+    // DCA between daughters
+    //     --- signal ---
+    fK0sDCAV0Daug  =  
+      new TH2F("fK0sDCAV0Daug","K^{0}_{S}: DCA daughters",60,0,1.2,nbins,pMin,pMax);
+    fK0sDCAV0Daug->GetXaxis()->SetTitle("dca between daughters"); 
+    fK0sDCAV0Daug->GetYaxis()->SetTitle("p_{T} V0"); 
+    fOutputQA->Add(fK0sDCAV0Daug);
+    //     --- background ---
+    fK0sBckgDCAV0Daug  =  
+      new TH2F("fK0sBckgDCAV0Daug","K^{0}_{S} Bckg: DCA daughters",60,0,1.2,nbins,pMin,pMax);
+    fK0sBckgDCAV0Daug->GetXaxis()->SetTitle("dca between daughters"); 
+    fK0sBckgDCAV0Daug->GetYaxis()->SetTitle("p_{T} V0"); 
+    fOutputQA->Add(fK0sBckgDCAV0Daug);
+
+    // Quality Assurance Lambda:
+    // Track PID :
+    //    --- signal ---
+    fLambdaPIDPosDaug  = 
+      new TH3F("fLambdaPIDPosDaug","#Lambda: dE/dx Pos. Daug.",50,0.2,3,50,0.,6.,nbins,pMin,pMax);
+    fLambdaPIDPosDaug->GetXaxis()->SetTitle("TPC Momentum (GeV/c)"); 
+    fLambdaPIDPosDaug->GetYaxis()->SetTitle("a.u."); 
+    fLambdaPIDPosDaug->GetZaxis()->SetTitle("p_{T} V0"); 
+    fOutputQA->Add(fLambdaPIDPosDaug);
+
+    fLambdaPIDNegDaug  = 
+      new TH3F("fLambdaPIDNegDaug","#Lambda: dE/dx Neg. Daug.",50,0.2,3,50,0.,6.,nbins,pMin,pMax);
+    fLambdaPIDNegDaug->GetXaxis()->SetTitle("TPC Momentum (GeV/c)"); 
+    fLambdaPIDNegDaug->GetYaxis()->SetTitle("a.u."); 
+    fLambdaPIDNegDaug->GetZaxis()->SetTitle("p_{T} V0"); 
+    fOutputQA->Add(fLambdaPIDNegDaug);
+
+    //    --- background ---
+    fLambdaBckgPIDPosDaug  = 
+      new TH3F("fLambdaBckgPIDPosDaug","#Lambda: dE/dx Pos. Daug.",50,0.2,3,50,0.,6.,nbins,pMin,pMax);
+    fLambdaBckgPIDPosDaug->GetXaxis()->SetTitle("TPC Momentum (GeV/c)"); 
+    fLambdaBckgPIDPosDaug->GetYaxis()->SetTitle("a.u."); 
+    fLambdaBckgPIDPosDaug->GetZaxis()->SetTitle("p_{T} V0"); 
+    fOutputQA->Add(fLambdaBckgPIDPosDaug);
+
+    fLambdaBckgPIDNegDaug  = 
+      new TH3F("fLambdaBckgPIDNegDaug","#Lambda: dE/dx Neg. Daug.",50,0.2,3,50,0.,6.,nbins,pMin,pMax);
+    fLambdaBckgPIDNegDaug->GetXaxis()->SetTitle("TPC Momentum (GeV/c)"); 
+    fLambdaBckgPIDNegDaug->GetYaxis()->SetTitle("a.u."); 
+    fLambdaBckgPIDNegDaug->GetZaxis()->SetTitle("p_{T} V0"); 
+    fOutputQA->Add(fLambdaBckgPIDNegDaug);
+
+    // Phi Eta
+    //     --- signal ---
+    fLambdaPhiEtaPosDaug = 
+      new TH3F("fLambdaPhiEtaPosDaug","#Lambda: #phi vs #eta Pos. Daug.",nbinsPhi,0.,2.*TMath::Pi(),100,-1.,1.,nbins,pMin,pMax);
+    fLambdaPhiEtaPosDaug->GetXaxis()->SetTitle("#phi"); 
+    fLambdaPhiEtaPosDaug->GetYaxis()->SetTitle("#eta"); 
+    fLambdaPhiEtaPosDaug->GetZaxis()->SetTitle("p_{T} V0"); 
+    fOutputQA->Add(fLambdaPhiEtaPosDaug);
+
+    fLambdaPhiEtaNegDaug  = 
+      new TH3F("fLambdaPhiEtaNegDaug","#Lambda: #phi vs #eta Neg. Daug.",nbinsPhi,0.,2.*TMath::Pi(),100,-1.,1.,nbins,pMin,pMax);
+    fLambdaPhiEtaNegDaug->GetXaxis()->SetTitle("#phi"); 
+    fLambdaPhiEtaNegDaug->GetYaxis()->SetTitle("#eta"); 
+    fLambdaPhiEtaNegDaug->GetZaxis()->SetTitle("p_{T} V0"); 
+    fOutputQA->Add(fLambdaPhiEtaNegDaug);
+
+    //     --- background ---
+    fLambdaBckgPhiEtaPosDaug = 
+      new TH3F("fLambdaBckgPhiEtaPosDaug","#Lambda: #phi vs #eta Pos. Daug.",nbinsPhi,0.,2.*TMath::Pi(),100,-1.,1.,nbins,pMin,pMax);
+    fLambdaBckgPhiEtaPosDaug->GetXaxis()->SetTitle("#phi"); 
+    fLambdaBckgPhiEtaPosDaug->GetYaxis()->SetTitle("#eta"); 
+    fLambdaBckgPhiEtaPosDaug->GetZaxis()->SetTitle("p_{T} V0"); 
+    fOutputQA->Add(fLambdaBckgPhiEtaPosDaug);
+
+    fLambdaBckgPhiEtaNegDaug  = 
+      new TH3F("fLambdaBckgPhiEtaNegDaug","#Lambda: #phi vs #eta Neg. Daug.",nbinsPhi,0.,2.*TMath::Pi(),100,-1.,1.,nbins,pMin,pMax);
+    fLambdaBckgPhiEtaNegDaug->GetXaxis()->SetTitle("#phi"); 
+    fLambdaBckgPhiEtaNegDaug->GetYaxis()->SetTitle("#eta"); 
+    fLambdaBckgPhiEtaNegDaug->GetZaxis()->SetTitle("p_{T} V0"); 
+    fOutputQA->Add(fLambdaBckgPhiEtaNegDaug);
+
+    // Distance of closest approach
+    //     --- signal ---
+    fLambdaDCAPosDaug = 
+      new TH2F("fLambdaDCAPosDaug","#Lambda: dca Pos",90,0.,3.3,nbins,pMin,pMax);
+    fLambdaDCAPosDaug->GetXaxis()->SetTitle("dca"); 
+    fLambdaDCAPosDaug->GetYaxis()->SetTitle("p_{T} V0"); 
+    fOutputQA->Add(fLambdaDCAPosDaug);
+
+    fLambdaDCANegDaug =  
+      new TH2F("fLambdaDCANegDaug","#Lambda: dca Neg",90,0.,3.3,nbins,pMin,pMax);
+    fLambdaDCANegDaug->GetXaxis()->SetTitle("dca"); 
+    fLambdaDCANegDaug->GetYaxis()->SetTitle("p_{T} V0"); 
+    fOutputQA->Add(fLambdaDCANegDaug);
+    
+    //     --- background ---
+    fLambdaBckgDCAPosDaug = 
+      new TH2F("fLambdaBckgDCAPosDaug","#Lambda Bckg: dca Pos",90,0.,3.3,nbins,pMin,pMax);
+    fLambdaBckgDCAPosDaug->GetXaxis()->SetTitle("dca"); 
+    fLambdaBckgDCAPosDaug->GetYaxis()->SetTitle("p_{T} V0"); 
+    fOutputQA->Add(fLambdaBckgDCAPosDaug);
+
+    fLambdaBckgDCANegDaug =  
+      new TH2F("fLambdaBckgDCANegDaug","#Lambda Bckg: dca Neg",90,0.,3.3,nbins,pMin,pMax);
+    fLambdaBckgDCANegDaug->GetXaxis()->SetTitle("dca"); 
+    fLambdaBckgDCANegDaug->GetYaxis()->SetTitle("p_{T} V0"); 
+    fOutputQA->Add(fLambdaBckgDCANegDaug);
+
+    // Difference in momentum
+    //     --- signal ---
+    fLambdaDifPtPosDaug =  
+      new TH2F("fLambdaDifPtPosDaug","#Lambda: dif. p_{T} Pos",90,0.,3.3,nbins,pMin,pMax);
+    fLambdaDifPtPosDaug->GetXaxis()->SetTitle("#Delta p_{T}"); 
+    fLambdaDifPtPosDaug->GetYaxis()->SetTitle("p_{T} V0"); 
+    fOutputQA->Add(fLambdaDifPtPosDaug);
+
+    fLambdaDifPtNegDaug =  
+      new TH2F("fLambdaDifPtNegDaug","#Lambda: dif. p_{T} Neg",90,0.,3.3,nbins,pMin,pMax);
+    fLambdaDifPtNegDaug->GetXaxis()->SetTitle("#Delta p_{T}"); 
+    fLambdaDifPtNegDaug->GetYaxis()->SetTitle("p_{T} V0"); 
+    fOutputQA->Add(fLambdaDifPtNegDaug);
+
+    //     --- background ---
+    fLambdaBckgDifPtPosDaug =  
+      new TH2F("fLambdaBckgDifPtPosDaug","#Lambda Bckg: dif. p_{T} Pos.",90,0.,3.3,nbins,pMin,pMax);
+    fLambdaBckgDifPtPosDaug->GetXaxis()->SetTitle("#Delta p_{T}"); 
+    fLambdaBckgDifPtPosDaug->GetYaxis()->SetTitle("p_{T} V0"); 
+    fOutputQA->Add(fLambdaBckgDifPtPosDaug);
+
+    fLambdaBckgDifPtNegDaug =  
+      new TH2F("fLambdaBckgDifPtNegDaug","#Lambda Bckg: dif. p_{t} Neg",90,0.,3.3,nbins,pMin,pMax);
+    fLambdaBckgDifPtNegDaug->GetXaxis()->SetTitle("#Delta p_{T}"); 
+    fLambdaBckgDifPtNegDaug->GetYaxis()->SetTitle("p_{T} V0"); 
+    fOutputQA->Add(fLambdaBckgDifPtNegDaug);
+
+
+    // Decay vertex reconstruction
+    //     --- signal ---
+    fLambdaDecayPos  =  
+      new TH3F("fLambdaDecayPos","#Lambda: Position of Dec. Vtx",200,-100.,100.,200,-100.,100.,nbins,pMin,pMax);
+    fLambdaDecayPos->GetXaxis()->SetTitle("Pos. X"); 
+    fLambdaDecayPos->GetYaxis()->SetTitle("Pos. Y"); 
+    fLambdaDecayPos->GetZaxis()->SetTitle("p_{T} V0"); 
+    fOutputQA->Add(fLambdaDecayPos);
+
+    fLambdaDecayVertex  =  
+      new TH2F("fLambdaDecayVertex","#Lambda: decay lenght",100,0.,100.,nbins,pMin,pMax);
+    fLambdaDecayVertex->GetXaxis()->SetTitle("l_{T}"); 
+    fLambdaDecayVertex->GetYaxis()->SetTitle("p_{T} V0"); 
+    fOutputQA->Add(fLambdaDecayVertex);
+
+    fLambdaDecayVertexZoom  =  
+      new TH2F("fLambdaDecayVertexZoom","#Lambda: decay lenght",20,0.,1.,nbins,pMin,pMax);
+    fLambdaDecayVertexZoom->GetXaxis()->SetTitle("l_{T}"); 
+    fLambdaDecayVertexZoom->GetYaxis()->SetTitle("p_{T} V0"); 
+    fOutputQA->Add(fLambdaDecayVertexZoom);
+
+    //     --- background ---
+    fLambdaBckgDecayPos  =  
+      new TH3F("fLambdaBckgDecayPos","#Lambda Bckg: Position of Dec. Vtx",200,-100.,100.,200,-100.,100.,nbins,pMin,pMax);
+    fLambdaBckgDecayPos->GetXaxis()->SetTitle("Pos. X"); 
+    fLambdaBckgDecayPos->GetYaxis()->SetTitle("Pos. Y"); 
+    fLambdaBckgDecayPos->GetZaxis()->SetTitle("p_{T} V0"); 
+    fOutputQA->Add(fLambdaBckgDecayPos);
+
+    fLambdaBckgDecayVertex  =  
+      new TH2F("fLambdaBckgDecayVertex","#Lambda Bckg: decay lenght",100,0.,100.,nbins,pMin,pMax);
+    fLambdaBckgDecayVertex->GetXaxis()->SetTitle("l_{T}"); 
+    fLambdaBckgDecayVertex->GetYaxis()->SetTitle("p_{T} V0"); 
+    fOutputQA->Add(fLambdaBckgDecayVertex);
+
+    fLambdaBckgDecayVertexZoom  =  
+      new TH2F("fLambdaBckgDecayVertexZoom","#Lambda Bckg: decay lenght",20,0.,1.,nbins,pMin,pMax);
+    fLambdaBckgDecayVertexZoom->GetXaxis()->SetTitle("l_{T}"); 
+    fLambdaBckgDecayVertexZoom->GetYaxis()->SetTitle("p_{T} V0"); 
+    fOutputQA->Add(fLambdaBckgDecayVertexZoom);
+
+    // Cosine of the Pointing Angle
+    //     --- signal ---
+    fLambdaCPA  =  
+      new TH2F("fLambdaCPA","#Lambda: cosine of the pointing angle",100,0.9,1.,nbins,pMin,pMax);
+    fLambdaCPA->GetXaxis()->SetTitle("cpa"); 
+    fLambdaCPA->GetYaxis()->SetTitle("p_{T} V0"); 
+    fOutputQA->Add(fLambdaCPA);
+    //     --- background ---
+    fLambdaBckgCPA  =  
+      new TH2F("fLambdaBckgCPA","#Lambda Bckg: cosine of the pointing angle",100,0.9,1.,nbins,pMin,pMax);
+    fLambdaBckgCPA->GetXaxis()->SetTitle("cpa"); 
+    fLambdaBckgCPA->GetYaxis()->SetTitle("p_{T} V0"); 
+    fOutputQA->Add(fLambdaBckgCPA);
+
+    // DCA between daughters
+    //     --- signal ---
+    fLambdaDCAV0Daug  =  
+      new TH2F("fLambdaDCAV0Daug","#Lambda: DCA daughters",60,0,1.2,nbins,pMin,pMax);
+    fLambdaDCAV0Daug->GetXaxis()->SetTitle("dca between daughters"); 
+    fLambdaDCAV0Daug->GetYaxis()->SetTitle("p_{T} V0"); 
+    fOutputQA->Add(fLambdaDCAV0Daug);
+    //     --- background ---
+    fLambdaBckgDCAV0Daug  =  
+      new TH2F("fLambdaBckgDCAV0Daug","#Lambda Bckg: DCA daughters",60,0,1.2,nbins,pMin,pMax);
+    fLambdaBckgDCAV0Daug->GetXaxis()->SetTitle("dca between daughters"); 
+    fLambdaBckgDCAV0Daug->GetYaxis()->SetTitle("p_{T} V0"); 
+    fOutputQA->Add(fLambdaBckgDCAV0Daug);
+
+  }
+
+
+  // ============================================================= //
 
   PostData(1, fOutput);
+  PostData(2, fOutputQA);
   
 }
 
 //___________________________________________________________________________________________
 
+/*
 static Bool_t AcceptTrack(const AliAODTrack *t) 
 {
   // Track criteria for primaries particles 
@@ -1080,7 +1463,7 @@ static Bool_t AcceptTrack(const AliAODTrack *t)
  
   return kTRUE;   
 }
-
+*/
 
 //___________________________________________________________________________________________
 
@@ -1180,13 +1563,15 @@ static Int_t EqualPt(AliAODTrack *trk, const AliAODTrack *nTrk, const AliAODTrac
 { 
   // Local method to compaire the momentum between two tracks
 
-  double const kEpsilon = 0.000001;
+  //double const kEpsilon = 0.000001;
   Int_t    isSamePt = 0;
 
+ /*
   Double_t p[3];     trk->GetPxPyPz(p);
   Double_t pNegTrk[3]; nTrk->GetPxPyPz(pNegTrk);
   Double_t pPosTrk[3]; pTrk->GetPxPyPz(pPosTrk);
   
   if( (  fabs(p[0]-pNegTrk[0])<kEpsilon && 
         fabs(p[1]-pNegTrk[1])<kEpsilon && 
         fabs(p[2]-pNegTrk[2])<kEpsilon ) 
@@ -1195,7 +1580,17 @@ static Int_t EqualPt(AliAODTrack *trk, const AliAODTrack *nTrk, const AliAODTrac
         fabs(p[1]-pPosTrk[1])<kEpsilon && 
         fabs(p[2]-pPosTrk[2])<kEpsilon ) )   
     isSamePt = 1;
+  */
+   
+   if(  (TMath::Abs(nTrk->GetID())+1)==(TMath::Abs(trk->GetID()))  ||
+       (TMath::Abs(pTrk->GetID())+1)==(TMath::Abs(trk->GetID())) )  isSamePt = 1;
   
+  /*
+  if(  (TMath::Abs(nTrk->GetID()))==(TMath::Abs(trk->GetID()))  ||
+       (TMath::Abs(pTrk->GetID()))==(TMath::Abs(trk->GetID())) )  isSamePt = 1;
+  */
+
   return isSamePt;
 
 }
@@ -1584,7 +1979,9 @@ TArrayD* AliAnalysisTaskLambdaOverK0sJets::V0Loop(AliAODTrack *trkTrig, V0LoopSt
   noas:
 
     Double_t pPos = -100.;
+    Double_t pNeg = -100.;
     Double_t dedxPos = -1000.;
+    Double_t dedxNeg = -1000.;
 
     Double_t nsigPosPion   = 0.;
     Double_t nsigPosProton = 0.;
@@ -1597,7 +1994,9 @@ TArrayD* AliAnalysisTaskLambdaOverK0sJets::V0Loop(AliAODTrack *trkTrig, V0LoopSt
       
       if (pidNeg && pidPos) {
        pPos = pidPos->GetTPCmomentum();
+       pNeg = pidNeg->GetTPCmomentum();
        dedxPos = pidPos->GetTPCsignal()/47.; 
+       dedxNeg = pidNeg->GetTPCsignal()/47.; 
       }
      
       nsigPosPion   = TMath::Abs(fPIDResponse->NumberOfSigmasTPC(ptrack,AliPID::kPion));
@@ -1610,6 +2009,13 @@ TArrayD* AliAnalysisTaskLambdaOverK0sJets::V0Loop(AliAODTrack *trkTrig, V0LoopSt
     Double_t dcaPos = -100.;
     Double_t lPtNeg = -100.;
     Double_t lPtPos = -100.;
+    Double_t phiNeg = -100.;
+    Double_t phiPos = -100.;
+    Double_t etaNeg = -100.;
+    Double_t etaPos = -100.;
+
+    Double_t dPtPos = -100.;
+    Double_t dPtNeg = -100.;
 
     Double_t dca   = -100;
     Double_t cpa   = -100;
@@ -1620,7 +2026,7 @@ TArrayD* AliAnalysisTaskLambdaOverK0sJets::V0Loop(AliAODTrack *trkTrig, V0LoopSt
     Double_t dPhi  = -100.;
     Double_t dEta  = -100.; 
 
-    /*
+     /*
     // Good regions
     lPhi  = v0->Phi();
     if(lPhi>0. && lPhi<1.8) continue;
@@ -1636,18 +2042,25 @@ TArrayD* AliAnalysisTaskLambdaOverK0sJets::V0Loop(AliAODTrack *trkTrig, V0LoopSt
     if(lPhi>5.8 && lPhi<6.2) continue;
     */
 
-    if(step==kCorrelation){//Correlation
+    if(step==kCorrelation || fDoQA){//Correlation
       dcaNeg = v0->DcaNegToPrimVertex();
       dcaPos = v0->DcaPosToPrimVertex();
       lPtNeg = ntrack->Pt();
       lPtPos = ptrack->Pt();
+      phiPos = ptrack->Phi();
+      phiNeg = ntrack->Phi();
+      etaPos = ptrack->Eta();
+      etaNeg = ntrack->Eta();
+
+      dPtPos = pt - lPtPos;
+      dPtNeg = pt - lPtNeg;
 
       dca   = v0->DcaV0Daughters();
       cpa   = v0->CosPointingAngle(fAOD->GetPrimaryVertex());
       lEta  = v0->PseudoRapV0();
       lPhi  = v0->Phi();
       lPhi  = ( (lPhi < 0) ? lPhi + 2*TMath::Pi() : lPhi );
+
       dPhi  = dPHI(phiTrig,lPhi);
       dEta  = etaTrig - v0->PseudoRapV0();    
       radio = TMath::Sqrt(dPhi*dPhi + dEta*dEta);
@@ -1713,8 +2126,40 @@ TArrayD* AliAnalysisTaskLambdaOverK0sJets::V0Loop(AliAODTrack *trkTrig, V0LoopSt
          }       
          
          isTrigFromV0daug = isSameTrk;
-         if(isTrigFromV0daug)
+         if(isTrigFromV0daug){
            Printf("  The LP has the same momentum in X and Y as one of the K0s daughters *** iV0 %d",iV0); 
+
+
+           if(fCheckIDTrig){
+              Printf("  The LP has the same momentum in X and Y as one of the K0s daughters *** iV0 %d \n\t\t %d %d %d \n\t\t %lf %lf %lf \n\t\t %lf %lf %lf \n\t\t %lf %lf \n\t\t %lf %lf ",
+                    iV0, TMath::Abs( trkTrig->GetID() ),
+                     ntrack->GetID() ,  ptrack->GetID() ,
+                     TMath::Abs( ntrack->Px() - trkTrig->Px() ), TMath::Abs(  ntrack->Py() - trkTrig->Py() ), TMath::Abs( ntrack->Pz() - trkTrig->Pz() ),
+                     TMath::Abs( ptrack->Px() - trkTrig->Px() ), TMath::Abs(  ptrack->Py() - trkTrig->Py() ), TMath::Abs( ptrack->Pz() - trkTrig->Pz() ),
+                     TMath::Abs( ntrack->Phi() - trkTrig->Phi() ), TMath::Abs(  ntrack->Eta() - trkTrig->Eta() ),
+                     TMath::Abs( ptrack->Phi() - trkTrig->Phi() ), TMath::Abs(  ptrack->Eta() - trkTrig->Eta() )
+                     );
+          
+
+              Double_t posDeltaPt =  ptTrig - ptrack->Pt();
+              Double_t negDeltaPt =  ptTrig - ntrack->Pt();
+
+              Double_t posDeltaPhi =  phiTrig - ptrack->Phi();
+              Double_t negDeltaPhi =  phiTrig - ntrack->Phi();
+
+                     
+             if(  (TMath::Abs(ptrack->GetID())+1)==(TMath::Abs(trkTrig->GetID())) ){
+               fCheckIDTrigPtK0s->Fill(posDeltaPt,0.,pt); 
+               fCheckIDTrigPhiK0s->Fill(posDeltaPhi,0.,pt);
+             }
+             else if( (TMath::Abs(ntrack->GetID())+1)==(TMath::Abs(trkTrig->GetID())) ){ 
+               fCheckIDTrigPtK0s->Fill(negDeltaPt,2.,pt); 
+               fCheckIDTrigPhiK0s->Fill(negDeltaPhi,2.,pt);
+             }
+             
+           } // End check ID
+         } // Close isTrigFromV0daug
+
        } 
 
        break; // End K0s selection for TriggerCheck
@@ -1744,6 +2189,29 @@ TArrayD* AliAnalysisTaskLambdaOverK0sJets::V0Loop(AliAODTrack *trkTrig, V0LoopSt
        // Invariant Mass cut
        if (TMath::Abs(mK0s-massK0s) < 3*sK0s) {
        
+         if(fDoQA){ // Quality Assurance
+           fK0sPIDPosDaug->Fill(pPos,dedxPos,pt);
+           fK0sPIDNegDaug->Fill(pNeg,dedxNeg,pt);
+           
+           fK0sPhiEtaPosDaug->Fill(phiPos,etaPos,pt);
+           fK0sPhiEtaNegDaug->Fill(phiNeg,etaNeg,pt);
+           
+           fK0sDCAPosDaug->Fill(dcaPos,pt);
+           fK0sDCANegDaug->Fill(dcaNeg,pt);
+           
+           fK0sDifPtPosDaug->Fill(dPtPos,pt);
+           fK0sDifPtNegDaug->Fill(dPtNeg,pt);
+           
+           fK0sDecayPos->Fill(dx,dy,pt);
+           fK0sDecayVertex->Fill(lt,pt);
+           
+           if(lt<1.0)
+             fK0sDecayVertexZoom->Fill(lt,pt); //**
+           fK0sCPA->Fill(cpa,pt); //**
+           fK0sDCAV0Daug->Fill(dca,pt); //**
+
+         }// End QA
+
          fK0sPtLtSB->Fill(pt,lt);
          fK0sEtaPhi->Fill(lPhi,lEta);
          
@@ -1787,6 +2255,29 @@ TArrayD* AliAnalysisTaskLambdaOverK0sJets::V0Loop(AliAODTrack *trkTrig, V0LoopSt
        if( TMath::Abs(mK0s-massK0s + 6.5*sK0s) < 1.5*sK0s ||
            TMath::Abs(mK0s-massK0s - 6.5*sK0s) < 1.5*sK0s  ) {
          
+         if(fDoQA){ // Quality Assurance
+             fK0sBckgPIDPosDaug->Fill(pPos,dedxPos,pt);
+             fK0sBckgPIDNegDaug->Fill(pNeg,dedxNeg,pt);
+            
+             fK0sBckgPhiEtaPosDaug->Fill(phiPos,etaPos,pt);
+             fK0sBckgPhiEtaNegDaug->Fill(phiNeg,etaNeg,pt);
+             
+             fK0sBckgDCAPosDaug->Fill(dcaPos,pt);
+             fK0sBckgDCANegDaug->Fill(dcaNeg,pt);
+             
+             fK0sBckgDifPtPosDaug->Fill(dPtPos,pt);
+             fK0sBckgDifPtNegDaug->Fill(dPtNeg,pt);
+             
+             fK0sBckgDecayPos->Fill(dx,dy,pt);
+             fK0sBckgDecayVertex->Fill(lt,pt);
+             
+             if(lt<1.0)
+               fK0sBckgDecayVertexZoom->Fill(lt,pt); //**
+             fK0sBckgCPA->Fill(cpa,pt); //**
+             fK0sBckgDCAV0Daug->Fill(dca,pt); //**
+             
+         } // End QA
+
          fK0sEtaPhi->Fill(lPhi,lEta,-1);
          fK0sPtLtSB->Fill(pt,lt,-1);
          
@@ -1872,8 +2363,39 @@ TArrayD* AliAnalysisTaskLambdaOverK0sJets::V0Loop(AliAODTrack *trkTrig, V0LoopSt
          }
 
          isTrigFromV0daug = isSameTrk;
-         if(isTrigFromV0daug)
+         if(isTrigFromV0daug){
            Printf("  The LP has the same momentum in X and Y as one of the Lambda daughters *** iV0 %d",iV0); 
+
+           
+           if(fCheckIDTrig){
+              Printf("  The LP has the same momentum in X and Y as one of the L daughters *** iV0 %d \n\t\t %d %d %d \n\t\t %lf %lf %lf \n\t\t %lf %lf %lf \n\t\t %lf %lf \n\t\t %lf %lf ",
+                   iV0, TMath::Abs( trkTrig->GetID() ),
+                    ntrack->GetID() ,  ptrack->GetID() ,
+                   TMath::Abs( ntrack->Px() - trkTrig->Px() ), TMath::Abs(  ntrack->Py() - trkTrig->Py() ), TMath::Abs( ntrack->Pz() - trkTrig->Pz() ),
+                   TMath::Abs( ptrack->Px() - trkTrig->Px() ), TMath::Abs(  ptrack->Py() - trkTrig->Py() ), TMath::Abs( ptrack->Pz() - trkTrig->Pz() ),
+                   TMath::Abs( ntrack->Phi() - trkTrig->Phi() ), TMath::Abs(  ntrack->Eta() - trkTrig->Eta() ),
+                   TMath::Abs( ptrack->Phi() - trkTrig->Phi() ), TMath::Abs(  ptrack->Eta() - trkTrig->Eta() )
+                   );
+          
+             
+              Double_t posDeltaPt =  ptTrig - ptrack->Pt();
+              Double_t negDeltaPt =  ptTrig - ntrack->Pt();
+
+              Double_t posDeltaPhi =  phiTrig - ptrack->Phi();
+              Double_t negDeltaPhi =  phiTrig - ntrack->Phi();
+
+             if(  (TMath::Abs(ptrack->GetID())+1)==(TMath::Abs(trkTrig->GetID())) ){
+               fCheckIDTrigPtLambda->Fill(posDeltaPt,0.,pt); 
+               fCheckIDTrigPhiLambda->Fill(posDeltaPhi,0.,pt);
+             }
+             else if( (TMath::Abs(ntrack->GetID())+1)==(TMath::Abs(trkTrig->GetID())) ){
+               fCheckIDTrigPtLambda->Fill(negDeltaPt,2.,pt); 
+               fCheckIDTrigPhiLambda->Fill(negDeltaPhi,2.,pt);
+             }
+           
+           } // End check ID
+         } // Close isTrigFromV0daug
+
        } 
        
        break; // End Lambda selection for TriggerCheck
@@ -1890,7 +2412,6 @@ TArrayD* AliAnalysisTaskLambdaOverK0sJets::V0Loop(AliAODTrack *trkTrig, V0LoopSt
        if( lPtArmV0 < TMath::Abs(0.2*lAlphaV0) ) 
          fLambdaMass->Fill(massLambda,pt,2);
 
-
        if(pt>2. && pt<5.)
          fLambdaMassPtPhi->Fill(massLambda,pt,lPhi);
 
@@ -1907,6 +2428,29 @@ TArrayD* AliAnalysisTaskLambdaOverK0sJets::V0Loop(AliAODTrack *trkTrig, V0LoopSt
        // Invariant Mass cut
        if (TMath::Abs(mLambda-massLambda) < 3*sLambda) {
 
+         if(fDoQA){ // Quality Assurance
+           fLambdaPIDPosDaug->Fill(pPos,dedxPos,pt);
+           fLambdaPIDNegDaug->Fill(pNeg,dedxNeg,pt);
+          
+           fLambdaPhiEtaPosDaug->Fill(phiPos,etaPos,pt);
+           fLambdaPhiEtaNegDaug->Fill(phiNeg,etaNeg,pt);
+
+           fLambdaDCAPosDaug->Fill(dcaPos,pt);
+           fLambdaDCANegDaug->Fill(dcaNeg,pt);
+
+           fLambdaDifPtPosDaug->Fill(dPtPos,pt);
+           fLambdaDifPtNegDaug->Fill(dPtNeg,pt);
+
+           fLambdaDecayPos->Fill(dx,dy,pt);
+           fLambdaDecayVertex->Fill(lt,pt);
+
+           if(lt<1.0)
+             fLambdaDecayVertexZoom->Fill(lt,pt); //**
+           fLambdaCPA->Fill(cpa,pt); //**
+           fLambdaDCAV0Daug->Fill(dca,pt); //**
+
+         } //End QA
+
          fDCA->Fill(dca,1);
          fCPA->Fill(cpa,1);
          fLambdaPtLtSB->Fill(pt,lt);   
@@ -1951,6 +2495,29 @@ TArrayD* AliAnalysisTaskLambdaOverK0sJets::V0Loop(AliAODTrack *trkTrig, V0LoopSt
        if( (TMath::Abs(mLambda-massLambda + 6.5*sLambda) < 1.5*sLambda) ||
            (TMath::Abs(mLambda-massLambda - 6.5*sLambda) < 1.5*sLambda) ){
          
+         if(fDoQA){ // Quality Assurance
+           fLambdaBckgPIDPosDaug->Fill(pPos,dedxPos,pt);
+           fLambdaBckgPIDNegDaug->Fill(pNeg,dedxNeg,pt);
+          
+           fLambdaBckgPhiEtaPosDaug->Fill(phiPos,etaPos,pt);
+           fLambdaBckgPhiEtaNegDaug->Fill(phiNeg,etaNeg,pt);
+
+           fLambdaBckgDCAPosDaug->Fill(dcaPos,pt);
+           fLambdaBckgDCANegDaug->Fill(dcaNeg,pt);
+
+           fLambdaBckgDifPtPosDaug->Fill(dPtPos,pt);
+           fLambdaBckgDifPtNegDaug->Fill(dPtNeg,pt);
+
+           fLambdaBckgDecayPos->Fill(dx,dy,pt);
+           fLambdaBckgDecayVertex->Fill(lt,pt);
+
+           if(lt<1.0)
+             fLambdaBckgDecayVertexZoom->Fill(lt,pt); //**
+           fLambdaBckgCPA->Fill(cpa,pt); //**
+           fLambdaBckgDCAV0Daug->Fill(dca,pt); //**
+
+         }
+
          fCPA->Fill(cpa,-1);
          fDCA->Fill(dca,-1);
          fLambdaPtLtSB->Fill(pt,lt,-1);
@@ -2031,8 +2598,22 @@ TArrayD* AliAnalysisTaskLambdaOverK0sJets::V0Loop(AliAODTrack *trkTrig, V0LoopSt
          }
          
          isTrigFromV0daug = isSameTrk;
-         if(isTrigFromV0daug)
+         if(isTrigFromV0daug){
            Printf("  The LP has the same momentum in X and Y as one of the AntiLambda daughters *** iV0 %d",iV0); 
+
+           if(fCheckIDTrig){
+             Printf("  The LP has the same momentum in X and Y as one of the AL daughters *** iV0 %d \n\t\t %d %d %d \n\t\t %lf %lf %lf \n\t\t %lf %lf %lf \n\t\t %lf %lf \n\t\t %lf %lf ",
+                    iV0, TMath::Abs( trkTrig->GetID() ),
+                    ntrack->GetID() ,  ptrack->GetID() ,
+                    TMath::Abs( ntrack->Px() - trkTrig->Px() ), TMath::Abs(  ntrack->Py() - trkTrig->Py() ), TMath::Abs( ntrack->Pz() - trkTrig->Pz() ),
+                    TMath::Abs( ptrack->Px() - trkTrig->Px() ), TMath::Abs(  ptrack->Py() - trkTrig->Py() ), TMath::Abs( ptrack->Pz() - trkTrig->Pz() ),
+                    TMath::Abs( ntrack->Phi() - trkTrig->Phi() ), TMath::Abs(  ntrack->Eta() - trkTrig->Eta() ),
+                    TMath::Abs( ptrack->Phi() - trkTrig->Phi() ), TMath::Abs(  ptrack->Eta() - trkTrig->Eta() )
+                    );
+             
+           }// End CheckTrigger  
+
+         }
          
        }
        break; // End Lambda selection for Correlation
@@ -2083,19 +2664,11 @@ TArrayD* AliAnalysisTaskLambdaOverK0sJets::TriggerParticle()
 
     AliAODTrack *t = fAOD->GetTrack(i);
     if (t->IsMuonTrack()) continue;
-    if (!t->IsOn(AliAODTrack::kTPCrefit)) continue;
-    if (!AcceptTrack(t)) continue;
-    
-    Double_t xyz[3];
-    // position of first point on track or dca
-    if (t->GetPosition(xyz)) continue;
-    if (TMath::Abs(xyz[0])>3.) continue;
-    if (TMath::Abs(xyz[1])>3.) continue;
-    
     Double_t pt=t->Pt(),pz=t->Pz();
     if (TMath::Abs(pz/pt)>0.8) continue;
     if (TMath::Abs(t->Eta())>0.8 ) continue;
-    /// Do I need another cuts for the primary tracks?
+    if (!(t->TestFilterMask(1<<7))) continue; 
+
     
     if(pt>ptTrigger) {
       ptTrigger = pt;
@@ -2148,19 +2721,10 @@ TArrayD* AliAnalysisTaskLambdaOverK0sJets::TriggerParticle()
 
     AliAODTrack *t=fAOD->GetTrack(i);
     if (t->IsMuonTrack()) continue;
-    if (!t->IsOn(AliAODTrack::kTPCrefit)) continue;
-    if (!AcceptTrack(t)) continue;
-    
-    Double_t xyz[3];
-    // position of first point on track or dca
-    if (t->GetPosition(xyz)) continue;
-    if (TMath::Abs(xyz[0])>3.) continue;
-    if (TMath::Abs(xyz[1])>3.) continue;
-    
     Double_t pt=t->Pt(),pz=t->Pz();
     if (TMath::Abs(pz/pt)>0.8) continue;
     if (TMath::Abs(t->Eta())>0.8 ) continue;
-    /// Do I need another cuts for the primary tracks?
+    if (!(t->TestFilterMask(1<<7))) continue; 
     
     if(pt>ptTrigger) {
       ptTrigger = pt;
index e5c98595c4b7c1ba3196d7ff765327638fac5b05..3d455951b8765b33776e56550ef02ad9212074f0 100644 (file)
@@ -47,8 +47,10 @@ class AliAnalysisTaskLambdaOverK0sJets : public AliAnalysisTaskSE {
   void SetMC(Bool_t isMC=kTRUE) {fIsMC=isMC;} 
   void SetPID(Bool_t usePID=kTRUE) {fUsePID=usePID;} 
   void SetCentrality(Double_t min=0., Double_t max=90.) {fCentMin=min;fCentMax=max;} 
+  void SetQA(Bool_t doQA=kFALSE){fDoQA=doQA;}
   void SetTriggerPt(Double_t ptMinTrig=8., Double_t ptMaxTrig=50.) {fTrigPtMin=ptMinTrig;fTrigPtMax=ptMaxTrig;} 
   void SetTriggerEta(Double_t etaMaxTrig=0.8){fTrigEtaMax=etaMaxTrig;} 
+  void SetCheckIDTrig(Bool_t checkIDTrig=kFALSE){fCheckIDTrig=checkIDTrig;}
   void SetSeparateInjectedPart(Bool_t doSep=kTRUE) {fSeparateInjPart=doSep;} 
 
   // Setters for V0 candidate selection
@@ -102,9 +104,11 @@ class AliAnalysisTaskLambdaOverK0sJets : public AliAnalysisTaskSE {
   Bool_t   fUsePID;                      //  Use PID for tracks
   Double_t fCentMin;                     //  Minimum centrality
   Double_t fCentMax;                     //  Maximum centrality
+  Bool_t   fDoQA;                        //  Do Auality Assurance?
   Double_t fTrigPtMin;                   //  Minimum pt for trigger particle
   Double_t fTrigPtMax;                   //  Maximum pt for trigger particle
   Double_t fTrigEtaMax;                  //  Maximum eta for trigger particle
+  Bool_t   fCheckIDTrig;
   Bool_t   fSeparateInjPart;             //  Separate MC injected particles in case of correlation 
   Int_t    fEndOfHijingEvent;            //  Limit natural-injected MC  particles 
   AliPIDResponse *fPIDResponse;          //  PID Response
@@ -121,6 +125,7 @@ class AliAnalysisTaskLambdaOverK0sJets : public AliAnalysisTaskSE {
   Double_t fMaxCtau;                     //  Maximum ctau
 
   TList*  fOutput;                       //! List of histograms
+  TList*  fOutputQA;                     //! List of histograms
 
   TH1F*   fEvents;                       //! Counter for the number of events in each step
 
@@ -139,6 +144,10 @@ class AliAnalysisTaskLambdaOverK0sJets : public AliAnalysisTaskSE {
   TH1F*   fCheckTriggerFromV0Daug;       //! Trigger particle: it is a daughter from a V0-candidate
   TH1F*   fTriggerComingFromDaug;        //! Trigger particle: pt when LP is a daughter from a V0-candidate
   TH1F*   fTriggerIsV0;                  //! Trigger particle: the V0 is the highest-pt particle
+  TH3F*   fCheckIDTrigPtK0s;
+  TH3F*   fCheckIDTrigPhiK0s;
+  TH3F*   fCheckIDTrigPtLambda;
+  TH3F*   fCheckIDTrigPhiLambda;
 
   TH1F*   fInjectedParticles;            //! Number of injected particles
 
@@ -241,6 +250,71 @@ class AliAnalysisTaskLambdaOverK0sJets : public AliAnalysisTaskSE {
   TH2F*   fLambdaBckgDCAPosDaugToPrimVtx;  //! Lambda background: DCA of Positive daughter to the primary vertex inside the radio 0.4 wrt the near-side peak
   TH2F*   fLambdaMassCascade;              //! Lambda background: Poddible mismatching of tracks due to cascades decays
         
+
+  TH3F*   fK0sPIDPosDaug;
+  TH3F*   fK0sPIDNegDaug;
+  TH3F*   fK0sBckgPIDPosDaug;
+  TH3F*   fK0sBckgPIDNegDaug;
+
+  TH3F*   fK0sPhiEtaPosDaug;
+  TH3F*   fK0sPhiEtaNegDaug;
+  TH3F*   fK0sBckgPhiEtaPosDaug;
+  TH3F*   fK0sBckgPhiEtaNegDaug;
+
+  TH2F*   fK0sDCAPosDaug;
+  TH2F*   fK0sDCANegDaug;
+  TH2F*   fK0sBckgDCAPosDaug;
+  TH2F*   fK0sBckgDCANegDaug;
+
+  TH2F*   fK0sDifPtPosDaug;
+  TH2F*   fK0sDifPtNegDaug;
+  TH2F*   fK0sBckgDifPtPosDaug;
+  TH2F*   fK0sBckgDifPtNegDaug;
+
+  TH3F*   fK0sDecayPos;
+  TH3F*   fK0sBckgDecayPos;
+  TH2F*   fK0sDecayVertex;
+  TH2F*   fK0sBckgDecayVertex;
+  TH2F*   fK0sDecayVertexZoom;
+  TH2F*   fK0sBckgDecayVertexZoom;
+
+  TH2F*   fK0sCPA;
+  TH2F*   fK0sBckgCPA;
+  TH2F*   fK0sDCAV0Daug;
+  TH2F*   fK0sBckgDCAV0Daug;
+
+  TH3F*   fLambdaPIDPosDaug;
+  TH3F*   fLambdaPIDNegDaug;
+  TH3F*   fLambdaBckgPIDPosDaug;
+  TH3F*   fLambdaBckgPIDNegDaug;
+
+  TH3F*   fLambdaPhiEtaPosDaug;
+  TH3F*   fLambdaPhiEtaNegDaug;
+  TH3F*   fLambdaBckgPhiEtaPosDaug;
+  TH3F*   fLambdaBckgPhiEtaNegDaug;
+
+  TH2F*   fLambdaDCAPosDaug;
+  TH2F*   fLambdaDCANegDaug;
+  TH2F*   fLambdaBckgDCAPosDaug;
+  TH2F*   fLambdaBckgDCANegDaug;
+
+  TH2F*   fLambdaDifPtPosDaug;
+  TH2F*   fLambdaDifPtNegDaug;
+  TH2F*   fLambdaBckgDifPtPosDaug;
+  TH2F*   fLambdaBckgDifPtNegDaug;
+
+  TH3F*   fLambdaDecayPos;
+  TH3F*   fLambdaBckgDecayPos;
+  TH2F*   fLambdaDecayVertex;
+  TH2F*   fLambdaBckgDecayVertex;
+  TH2F*   fLambdaDecayVertexZoom;
+  TH2F*   fLambdaBckgDecayVertexZoom;
+
+  TH2F*   fLambdaCPA;
+  TH2F*   fLambdaBckgCPA;
+  TH2F*   fLambdaDCAV0Daug;
+  TH2F*   fLambdaBckgDCAV0Daug;
+
   ClassDef(AliAnalysisTaskLambdaOverK0sJets,1);
 
 };
index f743a4a7b6a19a8870146690fff8fe717cdaa544..a76e9a1522ef7594514b1c9cf0c5a2825d25a6cb 100644 (file)
@@ -4,11 +4,13 @@ AliAnalysisTaskLambdaOverK0sJets *AddTaskLambdaOverK0sJets( TString  name      =
                                                            Double_t ptMinTrig = 8.,
                                                            Double_t ptMaxTrig = 20.,
                                                            Double_t etaMaxTrig = 0.75,
+                                                           Double_t checkIDTrig= kFALSE,
                                                            Double_t rapMaxV0  = 0.75,
-                                                           Double_t nSigmaPID = 3.,
+                                                           Double_t nSigmaPID = 3.0,
                                                            Bool_t   sepInjec  = kTRUE,
                                                            Bool_t   isMC      = kFALSE,
-                                                           Bool_t   usePID    = kTRUE){
+                                                           Bool_t   usePID    = kTRUE,
+                                                           Bool_t   doQA      = kFALSE){
 
 
   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
@@ -23,11 +25,13 @@ AliAnalysisTaskLambdaOverK0sJets *AddTaskLambdaOverK0sJets( TString  name      =
   task->SetCentrality(minCen,maxCen);
   task->SetTriggerPt(ptMinTrig,ptMaxTrig);
   task->SetTriggerEta(etaMaxTrig);
+  task->SetCheckIDTrig(checkIDTrig);
   task->SetMaxY(rapMaxV0);
   task->SetNSigmaPID(nSigmaPID);
   task->SetSeparateInjectedPart(sepInjec);
   task->SetMC(isMC);
   task->SetPID(usePID);
+  task->SetQA(doQA);
   mgr->AddTask(task);
   
   
@@ -45,8 +49,15 @@ AliAnalysisTaskLambdaOverK0sJets *AddTaskLambdaOverK0sJets( TString  name      =
     mgr->CreateContainer(name, TList::Class(), 
                         AliAnalysisManager::kOutputContainer, 
                         name+".root");
+
+  name+="_QA";
+  AliAnalysisDataContainer *coutput2 =  
+    mgr->CreateContainer(name, TList::Class(), 
+                        AliAnalysisManager::kOutputContainer, 
+                        name+".root");
   
   mgr->ConnectOutput(task,1,coutput1);
+  mgr->ConnectOutput(task,2,coutput2);
   
   return task;
 }   
index 2b551dde71ff8e900e1b0af6c181f3300f38048d..5a69acba84354f270eb643581a235fee3183d932 100644 (file)
@@ -1,8 +1,8 @@
 class AliAnalysisAlien;\r
 \r
 void runGridLambdaOverK0sJets(TString  runMode    = "full", \r
-                             TString  alirootVer = "v5-03-46-AN",\r
-                             TString  rootVer    = "v5-34-01-1",\r
+                             TString  alirootVer = "v5-03-70-AN",\r
+                             TString  rootVer    = "v5-34-02",\r
                              TString  dataPath   = "ESDs/pass2/AOD049/*/AliAOD.root",\r
                              TString  dataDir    = "/alice/data/2010/LHC10h",\r
                              TString  workDir    = "work",\r
@@ -16,6 +16,7 @@ void runGridLambdaOverK0sJets(TString  runMode    = "full",
                              Bool_t   sepInjec   = kTRUE,\r
                              Bool_t   isMC       = kFALSE,\r
                              Bool_t   usePID     = kTRUE,\r
+                             Bool_t   doQA       = kFALSE,\r
                              Int_t    run        = 138624){\r
   \r
   Printf("   \nThe parameters of the programm are : \n ");\r
@@ -43,10 +44,13 @@ void runGridLambdaOverK0sJets(TString  runMode    = "full",
   //AliAnalysisTask *pidTask = AddTaskPIDResponse(isMC,kTRUE);\r
   if(!pidTask) { printf("no PIDtask\n"); return; }\r
  \r
+  Double_t checkIDTrig= kFALSE;\r
+  Double_t nSigmaPID = 3.0;\r
+\r
   // My task\r
   gROOT->LoadMacro("AliAnalysisTaskLambdaOverK0sJets.cxx+g"); \r
   gROOT->LoadMacro("AddTaskLambdaOverK0sJets.C");\r
-  AliAnalysisTaskLambdaOverK0sJets *task = AddTaskLambdaOverK0sJets(name,minCen,maxCen,ptMinTrig,ptMaxTrig,etaMaxTrig,rapMaxV0,sepInjec,isMC,usePID);\r
+  AliAnalysisTaskLambdaOverK0sJets *task = AddTaskLambdaOverK0sJets(name,minCen,maxCen,ptMinTrig,ptMaxTrig,etaMaxTrig,checkIDTrig,rapMaxV0,nSigmaPID,sepInjec,isMC,usePID,doQA);\r
    // _____________________________________________________ //\r
  \r
    if (!mgr->InitAnalysis()) return;\r
index f91e7bf8da63f218559542686581e25cf83a38c6..2f8e1ba128425bf935480d93dabd9b6675042f12 100644 (file)
@@ -1,7 +1,7 @@
 //Based on the file $ALICE_ROOT/PWGLF/STRANGENESS/Cascades/macros/runProofCascadePbPb()\r
 void runProofLambdaOverK0sJets(TString  proofCluster  = "xsanchez@skaf.saske.sk",\r
-                              TString  alirootVer    = "VO_ALICE@AliRoot::v5-03-46-AN",\r
-                              TString  rootVer       = "VO_ALICE@ROOT::v5-34-01-1", \r
+                              TString  alirootVer    = "VO_ALICE@AliRoot::v5-03-70-AN",\r
+                              TString  rootVer       = "VO_ALICE@ROOT::v5-34-02", \r
                               TString  path          = "/alice/data/LHC10h_000138624_p2_AOD049",\r
                               TString  name          = "LambdaOverK0sRatio", \r
                               Double_t minCen        = 0.,\r
@@ -12,7 +12,8 @@ void runProofLambdaOverK0sJets(TString  proofCluster  = "xsanchez@skaf.saske.sk"
                               Double_t rapMaxV0      = 0.75,\r
                               Bool_t   sepInjec      = kTRUE,\r
                               Bool_t   isMC          = kFALSE,\r
-                              Bool_t   usePID        = kTRUE){\r
+                              Bool_t   usePID        = kTRUE,\r
+                              Bool_t   doQA          = kFALSE){\r
   \r
   Printf("   \nThe parameters of the programm are : \n ");\r
   Printf(" \t Analysis mode:\t %s\n \t Centrality:\t %.1lf - %.1lf\n \t Use MC Data?:\t %s\n \t Use PID?:\t %s\n",\r
@@ -35,7 +36,8 @@ void runProofLambdaOverK0sJets(TString  proofCluster  = "xsanchez@skaf.saske.sk"
   list->Add(new TNamed("ALIROOT_EXTRA_LIBS", extraLibs.Data()));\r
    \r
   TProof::Reset(proofCluster.Data());\r
-  TProof::Open(proofCluster.Data(),"workers=40"); \r
+  TProof::Open(proofCluster.Data()); \r
+  //TProof::Open(proofCluster.Data(),"workers=1"); \r
   gProof->ClearPackages();\r
   gProof->EnablePackage(alirootVer.Data(),list);\r
 \r
@@ -54,16 +56,20 @@ void runProofLambdaOverK0sJets(TString  proofCluster  = "xsanchez@skaf.saske.sk"
   //AliAnalysisTask *pidTask = AddTaskPIDResponse(isMC,kTRUE);\r
   if(!pidTask) { printf("no PIDtask\n"); return; }\r
 \r
+  Double_t checkIDTrig= kFALSE;\r
+  Double_t nSigmaPID = 3.0;\r
+  \r
   // My task\r
-  gProof->Load("AliAnalysisTaskLambdaOverK0sJets.cxx+g");\r
+  gROOT->LoadMacro("AliAnalysisTaskLambdaOverK0sJets.cxx+g"); \r
   gROOT->LoadMacro("AddTaskLambdaOverK0sJets.C");\r
-  AliAnalysisTaskLambdaOverK0sJets *task = AddTaskLambdaOverK0sJets(name,minCen,maxCen,ptMinTrig,ptMaxTrig,etaMaxTrig,rapMaxV0,sepInjec,isMC,usePID);\r
-  \r
+  AliAnalysisTaskLambdaOverK0sJets *task = AddTaskLambdaOverK0sJets(name,minCen,maxCen,ptMinTrig,ptMaxTrig,etaMaxTrig,checkIDTrig,rapMaxV0,nSigmaPID,sepInjec,isMC,usePID,doQA);\r
+\r
   // _____________________________________________________ //\r
   \r
   if (!mgr->InitAnalysis()) return;\r
   mgr->PrintStatus();\r
   mgr->StartAnalysis("proof",path); \r
+  //mgr->StartAnalysis("proof",path,1,1); \r
   \r
 }\r
 \r