From: xsanchez Date: Tue, 27 May 2014 11:49:13 +0000 (+0200) Subject: returning to vAN-20140515 version of the anlsyis task. Efficiency containers changed... X-Git-Url: http://git.uio.no/git/?a=commitdiff_plain;h=9cb4cfe30f2b563e6934b0466fbc8f018db8f261;p=u%2Fmrichter%2FAliRoot.git returning to vAN-20140515 version of the anlsyis task. Efficiency containers changed to THnSparse --- diff --git a/PWGLF/STRANGENESS/Correlations/AliAnalysisTaskLambdaOverK0sJets.cxx b/PWGLF/STRANGENESS/Correlations/AliAnalysisTaskLambdaOverK0sJets.cxx index a80926cad8c..bbaba533fd4 100644 --- a/PWGLF/STRANGENESS/Correlations/AliAnalysisTaskLambdaOverK0sJets.cxx +++ b/PWGLF/STRANGENESS/Correlations/AliAnalysisTaskLambdaOverK0sJets.cxx @@ -20,6 +20,7 @@ #include #include #include +#include #include #include #include @@ -48,6 +49,8 @@ #include "AliAnalysisTaskLambdaOverK0sJets.h" +//extern TROOT *gROOT; + ClassImp(AliAnalysisTaskLambdaOverK0sJets) ClassImp(AliMiniParticle) @@ -78,9 +81,9 @@ AliAnalysisTaskLambdaOverK0sJets::AliAnalysisTaskLambdaOverK0sJets(const char *n fAOD(0), fCollision("PbPb2010"), fIsMC(kFALSE), fUsePID(kFALSE), fCentMin(0.), fCentMax(90.), fDoQA(kFALSE), fDoMixEvt(kFALSE), fTrigPtMin(5.), fTrigPtMax(10.), fTrigPtMCMin(5.), fTrigPtMCMax(10000.), fTrigEtaMax(0.8), fCheckIDTrig(kFALSE), fSeparateInjPart(kTRUE), fEndOfHijingEvent(-1), fPIDResponse(0), - fMinPtDaughter(0.160), fMaxEtaDaughter(0.8), fMaxDCADaughter(1.0), fYMax(0.5), fDCAToPrimVtx(0.1), fMinCPA(0.998), fNSigma(3.0),fDaugNClsTPC(70.), fMinCtau(0.), fMaxCtau(3.), fIdTrigger(-1), fIsV0LP(0), fPtV0LP(0.), fIsSndCheck(0), + fMinPtDaughter(0.160), fMaxEtaDaughter(0.8), fMaxDCADaughter(1.0), fUseEtaCut(kFALSE), fYMax(0.7), fDCAToPrimVtx(0.1), fMinCPA(0.998), fNSigma(3.0), fDaugNClsTPC(70.), fMinCtau(0.), fMaxCtau(3.), fIdTrigger(-1), fIsV0LP(0), fPtV0LP(0.), fIsSndCheck(0), - fOutput(0), fOutputQA(0), fOutputME(0), fMEList(0x0), fTriggerParticles(0x0), fChargedAssocParticles(0x0), fTriggerPartMC(0x0), fAssocParticles(0x0), fAssocPartMC(0x0), fXiTriggerPartMC(0x0), fEvents(0), fCentrality(0), fCentrality2(0), fCentralityTrig(0), fPrimaryVertexX(0), fPrimaryVertexY(0), fPrimaryVertexZ(0), + fOutput(0), fOutputQA(0), fOutputME(0), fMEList(0x0), fTriggerParticles(0x0), fTriggerPartMC(0x0), fAssocParticles(0x0), fAssocPartMC(0x0), fEvents(0), fCentrality(0), fCentrality2(0), fCentralityTrig(0), fPrimaryVertexX(0), fPrimaryVertexY(0), fPrimaryVertexZ(0), fTriggerEventPlane(0), fTriggerMCPtCent(0), fTriggerMCResPt(0), fTriggerMCResEta(0), fTriggerMCResPhi(0), fTriggerPtCent(0), fTriggerPtCentCh(0), fNTrigPerEvt(0), fTriggerWiSPDHit(0), fTriggerEtaPhi(0), fCheckTriggerFromV0Daug(0), fTriggerComingFromDaug(0), fTriggerIsV0(0), fCheckIDTrigPtK0s(0), fCheckIDTrigPhiK0s(0), fCheckIDTrigEtaK0s(0), fCheckIDTrigNclsK0s(0), fCheckIDTrigPtLambda(0), fCheckIDTrigPhiLambda(0), fCheckIDTrigEtaLambda(0), fCheckIDTrigNclsLambda(0), fCheckIDTrigPtAntiLambda(0), fCheckIDTrigPhiAntiLambda(0), fCheckIDTrigEtaAntiLambda(0), fCheckIDTrigNclsAntiLambda(0), @@ -96,8 +99,6 @@ fK0sMCPt(0), fK0sMCPtRap(0), fK0sMCPtRap2(0), fK0sMCPtRapVtx(0), fK0sMCPtRapEmbe fAntiLambdaMass(0), fAntiLambdaMassEmbeded(0), fAntiLambdaMass2(0), fAntiLambdaMass2Embeded(0), fAntiLambdaMassPtEta(0), fAntiLambdaMassPtPhi(0), fAntiLambdaDaughtersPt(0), fAntiLambdaDCADaugToPrimVtx(0), fAntiLambdaSpatialRes(0), fAntiLambdaBckgDecLength(0), fAntiLambdaBckgDCADaugToPrimVtx(0), fAntiLambdaBckgEtaPhi(0), fAntiLambdaBckgPhiRadio(0), fAntiLambdaBckgDCANegDaugToPrimVtx(0), fAntiLambdaBckgDCAPosDaugToPrimVtx(0), - fXiMinusPtMCAssoc(0), fXiMinusPtMCTrigger(0), - fK0sPtPosDaug(0), fK0sPtNegDaug(0), fK0sBckgPtPosDaug(0), fK0sBckgPtNegDaug(0), fK0sPhiEtaPosDaug(0), fK0sPhiEtaNegDaug(0), fK0sBckgPhiEtaPosDaug(0), fK0sBckgPhiEtaNegDaug(0), fK0sDCAPosDaug(0), fK0sDCANegDaug(0), fK0sBckgDCAPosDaug(0), fK0sBckgDCANegDaug(0), fK0sDecayPos(0), fK0sBckgDecayPos(0), fK0sDecayVertex(0), fK0sBckgDecayVertex(0), fK0sCPA(0), fK0sBckgCPA(0), fK0sDCAV0Daug(0), fK0sBckgDCAV0Daug(0), fK0sNClustersTPC(0), fK0sBckgNClustersTPC(0), fK0sNClustersITSPos(0), fK0sNClustersITSNeg(0), fK0sBckgNClustersITSPos(0), fK0sBckgNClustersITSNeg(0), fLambdaPtPosDaug(0), fLambdaPtNegDaug(0), fLambdaBckgPtPosDaug(0), fLambdaBckgPtNegDaug(0), fLambdaPhiEtaPosDaug(0),fLambdaPhiEtaNegDaug(0), fLambdaBckgPhiEtaPosDaug(0),fLambdaBckgPhiEtaNegDaug(0), fLambdaDCAPosDaug(0),fLambdaDCANegDaug(0), fLambdaBckgDCAPosDaug(0), fLambdaBckgDCANegDaug(0), fLambdaDecayPos(0), fLambdaBckgDecayPos(0), fLambdaDecayVertex(0), fLambdaBckgDecayVertex(0), fLambdaCPA(0), fLambdaBckgCPA(0), fLambdaDCAV0Daug(0), fLambdaBckgDCAV0Daug(0), fLambdaNClustersTPC(0), fLambdaBckgNClustersTPC(0), fLambdaNClustersITSPos(0), fLambdaNClustersITSNeg(0), fLambdaBckgNClustersITSPos(0), fLambdaBckgNClustersITSNeg(0), @@ -185,15 +186,6 @@ fK0sMCPt(0), fK0sMCPtRap(0), fK0sMCPtRap2(0), fK0sMCPtRapVtx(0), fK0sMCPtRapEmbe fAntiLambdadPhidEtaMC[i] = 0; } - for (Int_t i=0; iGetYaxis()->SetBinLabel(2,"Neg Daug"); fOutput->Add(fCheckIDTrigEtaK0s); - fCheckIDTrigNclsK0s = new TH3F("fCheckIDTrigNclsK0s","K^{0}_{S};NCls TPC;;p_{V0}",131,49.5,180.5,3,-0.5,2.5,100,1.,11.); + fCheckIDTrigNclsK0s = new TH3F("fCheckIDTrigNclsK0s","K^{0}_{S};NCls TPC;;p_{V0}",181,0.5,180.5,3,-0.5,2.5,100,1.,11.); fCheckIDTrigNclsK0s->GetYaxis()->SetBinLabel(1,"Pos Daug"); fCheckIDTrigNclsK0s->GetYaxis()->SetBinLabel(2,"Neg Daug"); fOutput->Add(fCheckIDTrigNclsK0s); @@ -448,7 +419,7 @@ void AliAnalysisTaskLambdaOverK0sJets::UserCreateOutputObjects() fCheckIDTrigEtaLambda->GetYaxis()->SetBinLabel(2,"Neg Daug"); fOutput->Add(fCheckIDTrigEtaLambda); - fCheckIDTrigNclsLambda = new TH3F("fCheckIDTrigNclsLambda","#Lambda;NCls TPC;;p_{V0}",131,49.5,180.5,3,-0.5,2.5,100,1.,11.); + fCheckIDTrigNclsLambda = new TH3F("fCheckIDTrigNclsLambda","#Lambda;NCls TPC;;p_{V0}",181,0.5,180.5,3,-0.5,2.5,100,1.,11.); fCheckIDTrigNclsLambda->GetYaxis()->SetBinLabel(1,"Pos Daug"); fCheckIDTrigNclsLambda->GetYaxis()->SetBinLabel(2,"Neg Daug"); fOutput->Add(fCheckIDTrigNclsLambda); @@ -473,7 +444,7 @@ void AliAnalysisTaskLambdaOverK0sJets::UserCreateOutputObjects() fCheckIDTrigEtaAntiLambda->GetYaxis()->SetBinLabel(2,"Neg Daug"); fOutput->Add(fCheckIDTrigEtaAntiLambda); - fCheckIDTrigNclsAntiLambda = new TH3F("fCheckIDTrigNclsAntiLambda","#bar{#Lambda};NCls TPC;;p_{V0}",131,49.5,180.5,3,-0.5,2.5,100,1.,11.); + fCheckIDTrigNclsAntiLambda = new TH3F("fCheckIDTrigNclsAntiLambda","#bar{#Lambda};NCls TPC;;p_{V0}",181,0.5,180.5,3,-0.5,2.5,100,1.,11.); fCheckIDTrigNclsAntiLambda->GetYaxis()->SetBinLabel(1,"Pos Daug"); fCheckIDTrigNclsAntiLambda->GetYaxis()->SetBinLabel(2,"Neg Daug"); fOutput->Add(fCheckIDTrigNclsAntiLambda); @@ -532,59 +503,65 @@ void AliAnalysisTaskLambdaOverK0sJets::UserCreateOutputObjects() fOutput->Add(fK0sAssocPtPhiEta[jj]); } + // Histogramas para estudios sistematicos de la eficiencia + Int_t binsEff1[3] = {nbins,nbins,20}; Double_t xminEff1[3] = {0.398,pMin,-1.0}; Double_t xmaxEff1[3] = {0.598,pMax,1.0}; // gral efficiency + Int_t binsEff2[4] = {nbins,nbins,20,10}; Double_t xminEff2[4] = {0.398,pMin,-1.0,-10.}; Double_t xmaxEff2[4] = {0.598,pMax,1.0,10.}; // vtx cut + Int_t binsEff3[4] = {nbins,nbins,20,60}; Double_t xminEff3[4] = {0.398,pMin,-1.0,0.}; Double_t xmaxEff3[4] = {0.598,pMax,1.0,1.2}; // dca between daughters + Int_t binsEff4[4] = {nbins,nbins,20,50}; Double_t xminEff4[4] = {0.398,pMin,-1.0,0.9975}; Double_t xmaxEff4[4] = {0.598,pMax,1.0,1.}; // cpa + Int_t binsEff5[5] = {nbins,nbins,20,99,99}; Double_t xminEff5[5] = {0.398,pMin,-1.0,0.,0.}; Double_t xmaxEff5[5] = {0.598,pMax,1.0,3.3,3.3}; // dca to prim. vtx + Int_t binsEff6[5] = {nbins,nbins,20,170,170}; Double_t xminEff6[5] = {0.398,pMin,-1.0,0.5,0.5}; Double_t xmaxEff6[5] = {0.598,pMax,1.0,170.5,170}; // No. TPC Cls + for(Int_t i=0; iAdd(fK0sAssocPtMassArm[i]); snprintf(hNameHist,100, "fK0sAssocMassPtVtx_Cent_%d",i); - fK0sAssocMassPtVtx[i] = new TH3F(hNameHist, "K^{0}_{S}; mass; #it{p}_{T}; VtxZ",nbins,0.398,0.598,nbins,pMin,pMax,20,-10.,10.); + fK0sAssocMassPtVtx[i] = new THnSparseD(hNameHist, "K^{0}_{S}; Mass (GeV/c^{2}); #it{p}_{T}; rap; VtxZ;",4,binsEff2,xminEff2,xmaxEff2); fOutput->Add(fK0sAssocMassPtVtx[i]); snprintf(hNameHist,100, "fK0sAssocMassPtDCADaug_Cent_%d",i); - fK0sAssocMassPtDCADaug[i] = new TH3F(hNameHist, "K^{0}_{S}; mass; #it{p}_{T}; DCADaug",nbins,0.398,0.598,nbins,pMin,pMax,60,0,1.2); + fK0sAssocMassPtDCADaug[i] = new THnSparseD(hNameHist, "K^{0}_{S}; Mass (GeV/c^{2}); #it{p}_{T}; rap; DCADaug;",4,binsEff3,xminEff3,xmaxEff3); fOutput->Add(fK0sAssocMassPtDCADaug[i]); snprintf(hNameHist,100, "fK0sAssocMassPtCPA_Cent_%d",i); - fK0sAssocMassPtCPA[i] = new TH3F(hNameHist, "K^{0}_{S}; mass; #it{p}_{T}; CPA",nbins,0.398,0.598,nbins,pMin,pMax,25,0.9975,1.); + fK0sAssocMassPtCPA[i] = new THnSparseD(hNameHist, "K^{0}_{S}; Mass (GeV/c^{2}); #it{p}_{T}; rap; CPA;",4,binsEff4,xminEff4,xmaxEff4); fOutput->Add(fK0sAssocMassPtCPA[i]); - + snprintf(hNameHist,100, "fK0sAssocMassPtDCAPV_Cent_%d",i); - fK0sAssocMassPtDCAPV[i] = new TH3F(hNameHist, "K^{0}_{S}; mass; #it{p}_{T}; DCA to Prim. Vtx",nbins,0.398,0.598,nbins,pMin,pMax,4,0.5,4.5); + fK0sAssocMassPtDCAPV[i] = new THnSparseD(hNameHist, "K^{0}_{S}; Mass (GeV/c^{2}); #it{p}_{T}; rap; Pos DCA to Prim. Vtx; Neg DCA to Prim. Vtx;",5,binsEff5,xminEff5,xmaxEff5); fOutput->Add(fK0sAssocMassPtDCAPV[i]); - - + snprintf(hNameHist,100, "fK0sAssocMassPtDaugNClsTPC_Cent_%d",i); - fK0sAssocMassPtDaugNClsTPC[i] = new TH3F(hNameHist, "K^{0}_{S}; mass; #it{p}_{T}; # TPC Cls",nbins,0.398,0.598,nbins,pMin,pMax,4,0.5,4.5); + fK0sAssocMassPtDaugNClsTPC[i] = new THnSparseD(hNameHist, "K^{0}_{S}; Mass (GeV/c^{2}); #it{p}_{T}; rap; Pos # TPC Cls; Neg # TPC Cls;",5,binsEff6,xminEff6,xmaxEff6); fOutput->Add(fK0sAssocMassPtDaugNClsTPC[i]); /// ----- Embeded particles snprintf(hNameHist,100, "fK0sAssocPtMassArmEmbeded_Cent_%d",i); - fK0sAssocPtMassArmEmbeded[i] = new TH3F(hNameHist,"K^{0}_{S} Assoc Embeded;Mass (GeV/c^{2});#it{p}_{T} (GeV/#it{c});rap",nbins,0.398,0.598,nbins,pMin,pMax,20,-1.0,1.0); + fK0sAssocPtMassArmEmbeded[i] = new THnSparseD(hNameHist,"K^{0}_{S} Assoc Embeded;Mass (GeV/c^{2});#it{p}_{T} (GeV/#it{c});rap;",3,binsEff1,xminEff1,xmaxEff1); fOutput->Add(fK0sAssocPtMassArmEmbeded[i]); snprintf(hNameHist,100, "fK0sAssocMassPtVtxEmbeded_Cent_%d",i); - fK0sAssocMassPtVtxEmbeded[i] = new TH3F(hNameHist, "K^{0}_{S} Embeded; mass; #it{p}_{T}; VtxZ",nbins,0.398,0.598,nbins,pMin,pMax,20,-10.,10.); + fK0sAssocMassPtVtxEmbeded[i] = new THnSparseD(hNameHist, "K^{0}_{S} Embeded; Mass (GeV/c^{2}); #it{p}_{T}; rap; VtxZ;",4,binsEff2,xminEff2,xmaxEff2); fOutput->Add(fK0sAssocMassPtVtxEmbeded[i]); snprintf(hNameHist,100, "fK0sAssocMassPtDCADaugEmbeded_Cent_%d",i); - fK0sAssocMassPtDCADaugEmbeded[i] = new TH3F(hNameHist, "K^{0}_{S}; mass; #it{p}_{T}; DCADaug",nbins,0.398,0.598,nbins,pMin,pMax,60,0,1.2); + fK0sAssocMassPtDCADaugEmbeded[i] = new THnSparseD(hNameHist, "K^{0}_{S}; Mass (GeV/c^{2}); #it{p}_{T}; rap; DCADaug;",4,binsEff3,xminEff3,xmaxEff3); fOutput->Add(fK0sAssocMassPtDCADaugEmbeded[i]); snprintf(hNameHist,100, "fK0sAssocMassPtCPAEmbeded_Cent_%d",i); - fK0sAssocMassPtCPAEmbeded[i] = new TH3F(hNameHist, "K^{0}_{S}; mass; #it{p}_{T}; CPA",nbins,0.398,0.598,nbins,pMin,pMax,25,0.9975,1.); + fK0sAssocMassPtCPAEmbeded[i] = new THnSparseD(hNameHist, "K^{0}_{S}; Mass (GeV/c^{2}); #it{p}_{T}; rap; CPA;",4,binsEff4,xminEff4,xmaxEff4); fOutput->Add(fK0sAssocMassPtCPAEmbeded[i]); snprintf(hNameHist,100, "fK0sAssocMassPtDCAPVEmbeded_Cent_%d",i); - fK0sAssocMassPtDCAPVEmbeded[i] = new TH3F(hNameHist, "K^{0}_{S}; mass; #it{p}_{T}; DCA to Prim. Vtx",nbins,0.398,0.598,nbins,pMin,pMax,4,0.5,4.5); + fK0sAssocMassPtDCAPVEmbeded[i] = new THnSparseD(hNameHist, "K^{0}_{S}; Mass (GeV/c^{2}); #it{p}_{T}; rap; Pos DCA to Prim. Vtx; Neg DCA to Prim. Vtx;",5,binsEff5,xminEff5,xmaxEff5); fOutput->Add(fK0sAssocMassPtDCAPVEmbeded[i]); - snprintf(hNameHist,100, "fK0sAssocMassPtDaugNClsTPCEmbeded_Cent_%d",i); - fK0sAssocMassPtDaugNClsTPCEmbeded[i] = new TH3F(hNameHist, "K^{0}_{S}; mass; #it{p}_{T}; # TPC Cls",nbins,0.398,0.598,nbins,pMin,pMax,4,0.5,4.5); + fK0sAssocMassPtDaugNClsTPCEmbeded[i] = new THnSparseD(hNameHist, "K^{0}_{S}; Mass (GeV/c^{2}); #it{p}_{T}; rap; Pos # TPC Cls; Neg # TPC Cls;",5,binsEff6,xminEff6,xmaxEff6); fOutput->Add(fK0sAssocMassPtDaugNClsTPCEmbeded[i]); } @@ -641,64 +618,71 @@ void AliAnalysisTaskLambdaOverK0sJets::UserCreateOutputObjects() } // Histogramas para estudios sistematicos de la eficiencia + Int_t binsEff7[3] = {nbins,nbins,20}; Double_t xminEff7[3] = {1.065,pMin,-1.0}; Double_t xmaxEff7[3] = {1.165,pMax,1.0}; // gral efficiency + Int_t binsEff8[4] = {nbins,nbins,20,10}; Double_t xminEff8[4] = {1.065,pMin,-1.0,-10.}; Double_t xmaxEff8[4] = {1.165,pMax,1.0,10.}; // vtx + Int_t binsEff9[4] = {nbins,nbins,20,60}; Double_t xminEff9[4] = {1.065,pMin,-1.0,0.}; Double_t xmaxEff9[4] = {1.165,pMax,1.0,1.2}; // dca between daughters + Int_t binsEff10[4] = {nbins,nbins,20,50}; Double_t xminEff10[4] = {1.065,pMin,-1.0,0.9975}; Double_t xmaxEff10[4] = {1.165,pMax,1.0,1.}; // cpa + Int_t binsEff11[5] = {nbins,nbins,20,99,99}; Double_t xminEff11[5] = {1.065,pMin,-1.0,0.,0.}; Double_t xmaxEff11[5] = {1.165,pMax,1.0,3.3,3.3}; // dca to prim. vtx + Int_t binsEff12[5] = {nbins,nbins,20,170,170}; Double_t xminEff12[5] = {1.065,pMin,-1.0,0.5,0.5}; Double_t xmaxEff12[5] = {1.165,pMax,1.0,170.5,170.5}; // No. TPC Cls + for(Int_t i=0; iAdd(fLambdaAssocMassPtRap[i]); - + snprintf(hNameHist,100, "fLambdaAssocMassPtRap2_Cent_%d",i); - fLambdaAssocMassPtRap2[i] = new TH3F(hNameHist, "#Lambda: mass, #it{p}_{T}, rap",nbins,1.065,1.165,nbins,pMin,pMax,20,-1.0,1.0); + fLambdaAssocMassPtRap2[i] = new THnSparseD(hNameHist, "#Lambda; Mass (GeV/c^{2}); #it{p}_{T}; rap;",3,binsEff7,xminEff7,xmaxEff7); fOutput->Add(fLambdaAssocMassPtRap2[i]); - + snprintf(hNameHist,100, "fLambdaAssocMassPtVtx_Cent_%d",i); - fLambdaAssocMassPtVtx[i] = new TH3F(hNameHist, "#Lambda; mass; #it{p}_{T}; VtxZ",nbins,1.065,1.165,nbins,pMin,pMax,20,-10.,10.); + fLambdaAssocMassPtVtx[i] = new THnSparseD(hNameHist, "#Lambda; Mass (GeV/c^{2}); #it{p}_{T}; rap; VtxZ;",4,binsEff8,xminEff8,xmaxEff8); fOutput->Add(fLambdaAssocMassPtVtx[i]); - + snprintf(hNameHist,100, "fLambdaAssocMassPtDCADaug_Cent_%d",i); - fLambdaAssocMassPtDCADaug[i] = new TH3F(hNameHist, "#Lambda; mass; #it{p}_{T}; DCADaug",nbins,1.065,1.165,nbins,pMin,pMax,60,0,1.2); + fLambdaAssocMassPtDCADaug[i] = new THnSparseD(hNameHist, "#Lambda; Mass (GeV/c^{2}); #it{p}_{T}; rap; DCADaug;",4,binsEff9,xminEff9,xmaxEff9); fOutput->Add(fLambdaAssocMassPtDCADaug[i]); - + snprintf(hNameHist,100, "fLambdaAssocMassPtCPA_Cent_%d",i); - fLambdaAssocMassPtCPA[i] = new TH3F(hNameHist, "#Lambda; mass; #it{p}_{T}; CPA",nbins,1.065,1.165,nbins,pMin,pMax,25,0.9975,1.); + fLambdaAssocMassPtCPA[i] = new THnSparseD(hNameHist, "#Lambda; Mass (GeV/c^{2}); #it{p}_{T}; rap; CPA;",4,binsEff10,xminEff10,xmaxEff10); fOutput->Add(fLambdaAssocMassPtCPA[i]); - + snprintf(hNameHist,100, "fLambdaAssocMassPtDCAPV_Cent_%d",i); - fLambdaAssocMassPtDCAPV[i] = new TH3F(hNameHist, "#Lambda; mass; #it{p}_{T}; DCA to Prim. Vtx",nbins,1.065,1.165,nbins,pMin,pMax,7,0.5,7.5); + fLambdaAssocMassPtDCAPV[i] = new THnSparseD(hNameHist, "#Lambda; Mass (GeV/c^{2}); #it{p}_{T}; rap; Pos DCA to Prim. Vtx; Neg DCA to Prim. Vtx;",5,binsEff11,xminEff11,xmaxEff11); fOutput->Add(fLambdaAssocMassPtDCAPV[i]); snprintf(hNameHist,100, "fLambdaAssocMassPtDaugNClsTPC_Cent_%d",i); - fLambdaAssocMassPtDaugNClsTPC[i] = new TH3F(hNameHist, "#Lambda; mass; #it{p}_{T}; # TPC Cls",nbins,1.065,1.165,nbins,pMin,pMax,4,0.5,4.5); + fLambdaAssocMassPtDaugNClsTPC[i] = new THnSparseD(hNameHist, "#Lambda; Mass (GeV/c^{2}); #it{p}_{T}; rap; Pos # TPC Cls; Neg # TPC Cls;",5,binsEff12,xminEff12,xmaxEff12); fOutput->Add(fLambdaAssocMassPtDaugNClsTPC[i]); // ------------ Embeded particles snprintf(hNameHist,100, "fLambdaAssocMassPtRapEmbeded_Cent_%d",i); - fLambdaAssocMassPtRapEmbeded[i] = new TH3F(hNameHist, "#Lambda Embeded; mass, #it{p}_{T}, rap",nbins,1.065,1.165,nbins,pMin,pMax,20,-1.0,1.0); + fLambdaAssocMassPtRapEmbeded[i] = new THnSparseD(hNameHist, "#Lambda Embeded; Mass (GeV/c^{2}); #it{p}_{T}; rap;",3,binsEff7,xminEff7,xmaxEff7); fOutput->Add(fLambdaAssocMassPtRapEmbeded[i]); snprintf(hNameHist,100, "fLambdaAssocMassPtRapEmbeded2_Cent_%d",i); - fLambdaAssocMassPtRapEmbeded2[i] = new TH3F(hNameHist, "#Lambda Embeded; mass, #it{p}_{T}, rap",nbins,1.065,1.165,nbins,pMin,pMax,20,-1.0,1.0); + fLambdaAssocMassPtRapEmbeded2[i] = new THnSparseD(hNameHist, "#Lambda Embeded; Mass (GeV/c^{2}); #it{p}_{T}; rap;",3,binsEff7,xminEff7,xmaxEff7); fOutput->Add(fLambdaAssocMassPtRapEmbeded2[i]); snprintf(hNameHist,100, "fLambdaAssocMassPtVtxEmbeded_Cent_%d",i); - fLambdaAssocMassPtVtxEmbeded[i] = new TH3F(hNameHist, "#Lambda Embeded; mass; #it{p}_{T}; VtxZ",nbins,1.065,1.165,nbins,pMin,pMax,20,-10.,10.); + fLambdaAssocMassPtVtxEmbeded[i] = new THnSparseD(hNameHist, "#Lambda Embeded; Mass (GeV/c^{2}); #it{p}_{T}; rap; VtxZ;",4,binsEff8,xminEff8,xmaxEff8); fOutput->Add(fLambdaAssocMassPtVtxEmbeded[i]); snprintf(hNameHist,100, "fLambdaAssocMassPtDCADaugEmbeded_Cent_%d",i); - fLambdaAssocMassPtDCADaugEmbeded[i] = new TH3F(hNameHist, "#Lambda; mass; #it{p}_{T}; DCADaug",nbins,1.065,1.165,nbins,pMin,pMax,60,0,1.2); + fLambdaAssocMassPtDCADaugEmbeded[i] = new THnSparseD(hNameHist, "#Lambda; Mass (GeV/c^{2}); #it{p}_{T}; rap; DCADaug;",4,binsEff9,xminEff9,xmaxEff9); fOutput->Add(fLambdaAssocMassPtDCADaugEmbeded[i]); - + snprintf(hNameHist,100, "fLambdaAssocMassPtCPAEmbeded_Cent_%d",i); - fLambdaAssocMassPtCPAEmbeded[i] = new TH3F(hNameHist, "#Lambda; mass; #it{p}_{T}; CPA",nbins,1.065,1.165,nbins,pMin,pMax,25,0.9975,1.); + fLambdaAssocMassPtCPAEmbeded[i] = new THnSparseD(hNameHist, "#Lambda; Mass (GeV/c^{2}); #it{p}_{T}; rap; CPA;",4,binsEff10,xminEff10,xmaxEff10); fOutput->Add(fLambdaAssocMassPtCPAEmbeded[i]); snprintf(hNameHist,100, "fLambdaAssocMassPtDCAPVEmbeded_Cent_%d",i); - fLambdaAssocMassPtDCAPVEmbeded[i] = new TH3F(hNameHist, "#Lambda; mass; #it{p}_{T}; DCA to Prim. Vtx",nbins,1.065,1.165,nbins,pMin,pMax,7,0.5,7.5); + fLambdaAssocMassPtDCAPVEmbeded[i] = new THnSparseD(hNameHist, "#Lambda; Mass (GeV/c^{2}); #it{p}_{T}; rap; Pos DCA to Prim. Vtx; Neg DCA to Prim. Vtx;",5,binsEff11,xminEff11,xmaxEff11); fOutput->Add(fLambdaAssocMassPtDCAPVEmbeded[i]); - snprintf(hNameHist,100, "fLambdaAssocMassPtDaugNClsTPCEmbeded_Cent_%d",i); - fLambdaAssocMassPtDaugNClsTPCEmbeded[i] = new TH3F(hNameHist, "#Lambda; mass; #it{p}_{T}; # TPC Cls",nbins,1.065,1.165,nbins,pMin,pMax,4,0.5,4.5); + fLambdaAssocMassPtDaugNClsTPCEmbeded[i] = new THnSparseD(hNameHist, "#Lambda; Mass (GeV/c^{2}); #it{p}_{T}; rap; Pos # TPC Cls; Neg # TPC Cls;",5,binsEff12,xminEff12,xmaxEff12); fOutput->Add(fLambdaAssocMassPtDaugNClsTPCEmbeded[i]); } @@ -754,64 +738,70 @@ void AliAnalysisTaskLambdaOverK0sJets::UserCreateOutputObjects() } // Histogramas para estudios sistematicos de la eficiencia + Int_t binsEff13[3] = {nbins,nbins,20}; Double_t xminEff13[3] = {1.065,pMin,-1.0}; Double_t xmaxEff13[3] = {1.165,pMax,1.0}; // gral efficiency + Int_t binsEff14[4] = {nbins,nbins,20,10}; Double_t xminEff14[4] = {1.065,pMin,-1.0,-10.}; Double_t xmaxEff14[4] = {1.165,pMax,1.0,10.}; // vtx + Int_t binsEff15[4] = {nbins,nbins,20,60}; Double_t xminEff15[4] = {1.065,pMin,-1.0,0.}; Double_t xmaxEff15[4] = {1.165,pMax,1.0,1.2}; // dca between daug + Int_t binsEff16[4] = {nbins,nbins,20,50}; Double_t xminEff16[4] = {1.065,pMin,-1.0,0.9975}; Double_t xmaxEff16[4] = {1.165,pMax,1.0,1.}; // cpa + Int_t binsEff17[5] = {nbins,nbins,20,99,99}; Double_t xminEff17[5] = {1.065,pMin,-1.0,0.,0.}; Double_t xmaxEff17[5] = {1.165,pMax,1.0,3.3,3.3}; // dca to prim. vtx + Int_t binsEff18[5] = {nbins,nbins,20,170,170}; Double_t xminEff18[5] = {1.065,pMin,-1.0,0.5,0.5}; Double_t xmaxEff18[5] = {1.165,pMax,1.0,170.5,170.5}; // No. TPC Cls + for(Int_t i=0; iAdd(fAntiLambdaAssocMassPtRap[i]); snprintf(hNameHist,100, "fAntiLambdaAssocMassPtRap2_Cent_%d",i); - fAntiLambdaAssocMassPtRap2[i] = new TH3F(hNameHist, "#bar{#Lambda}: mass, #it{p}_{T}, rap",nbins,1.065,1.165,nbins,pMin,pMax,20,-1.0,1.0); + fAntiLambdaAssocMassPtRap2[i] = new THnSparseD(hNameHist, "#bar{#Lambda}; Mass (GeV/c^{2}); #it{p}_{T}; rap;",3,binsEff13,xminEff13,xmaxEff13); fOutput->Add(fAntiLambdaAssocMassPtRap2[i]); - + snprintf(hNameHist,100, "fAntiLambdaAssocMassPtVtx_Cent_%d",i); - fAntiLambdaAssocMassPtVtx[i] = new TH3F(hNameHist, "#bar{#Lambda}; mass; #it{p}_{T}; VtxZ",nbins,1.065,1.165,nbins,pMin,pMax,20,-10.,10.); + fAntiLambdaAssocMassPtVtx[i] = new THnSparseD(hNameHist, "#bar{#Lambda}; Mass (GeV/c^{2}); #it{p}_{T}; rap; VtxZ;",4,binsEff14,xminEff14,xmaxEff14); fOutput->Add(fAntiLambdaAssocMassPtVtx[i]); snprintf(hNameHist,100, "fAntiLambdaAssocMassPtDCADaug_Cent_%d",i); - fAntiLambdaAssocMassPtDCADaug[i] = new TH3F(hNameHist, "#bar{#Lambda}; mass; #it{p}_{T}; DCADaug",nbins,1.065,1.165,nbins,pMin,pMax,60,0,1.2); + fAntiLambdaAssocMassPtDCADaug[i] = new THnSparseD(hNameHist, "#bar{#Lambda}; Mass (GeV/c^{2}); #it{p}_{T}; rap; DCADaug;",4,binsEff15,xminEff15,xmaxEff15); fOutput->Add(fAntiLambdaAssocMassPtDCADaug[i]); snprintf(hNameHist,100, "fAntiLambdaAssocMassPtCPA_Cent_%d",i); - fAntiLambdaAssocMassPtCPA[i] = new TH3F(hNameHist, "#bar{#Lambda}; mass; #it{p}_{T}; CPA",nbins,1.065,1.165,nbins,pMin,pMax,25,0.9975,1.); + fAntiLambdaAssocMassPtCPA[i] = new THnSparseD(hNameHist, "#bar{#Lambda}; Mass (GeV/c^{2}); #it{p}_{T}; rap; CPA;",4,binsEff16,xminEff16,xmaxEff16); fOutput->Add(fAntiLambdaAssocMassPtCPA[i]); snprintf(hNameHist,100, "fAntiLambdaAssocMassPtDCAPV_Cent_%d",i); - fAntiLambdaAssocMassPtDCAPV[i] = new TH3F(hNameHist, "#bar{#Lambda}; mass; #it{p}_{T}; DCA to Prim. Vtx",nbins,1.065,1.165,nbins,pMin,pMax,7,0.5,7.5); + fAntiLambdaAssocMassPtDCAPV[i] = new THnSparseD(hNameHist, "#bar{#Lambda}; Mass (GeV/c^{2}); #it{p}_{T}; rap; Pos DCA to Prim. Vtx; Neg DCA to Prim. Vtx;",5,binsEff17,xminEff17,xmaxEff17); fOutput->Add(fAntiLambdaAssocMassPtDCAPV[i]); snprintf(hNameHist,100, "fAntiLambdaAssocMassPtDaugNClsTPC_Cent_%d",i); - fAntiLambdaAssocMassPtDaugNClsTPC[i] = new TH3F(hNameHist, "#bar{#Lambda}; mass; #it{p}_{T}; # TPC Cls",nbins,1.065,1.165,nbins,pMin,pMax,4,0.5,4.5); + fAntiLambdaAssocMassPtDaugNClsTPC[i] = new THnSparseD(hNameHist, "#bar{#Lambda}; Mass (GeV/c^{2}); #it{p}_{T}; rap; Pos # TPC Cls; Neg # TPC Cls;",5,binsEff18,xminEff18,xmaxEff18); fOutput->Add(fAntiLambdaAssocMassPtDaugNClsTPC[i]); // ------------ Embeded particles snprintf(hNameHist,100, "fAntiLambdaAssocMassPtRapEmbeded_Cent_%d",i); - fAntiLambdaAssocMassPtRapEmbeded[i] = new TH3F(hNameHist, "#bar{#Lambda} Embeded; mass, #it{p}_{T}, rap",nbins,1.065,1.165,nbins,pMin,pMax,20,-1.0,1.0); + fAntiLambdaAssocMassPtRapEmbeded[i] = new THnSparseD(hNameHist, "#bar{#Lambda} Embeded; Mass (GeV/c^{2}); #it{p}_{T}; rap;",3,binsEff13,xminEff13,xmaxEff13); fOutput->Add(fAntiLambdaAssocMassPtRapEmbeded[i]); snprintf(hNameHist,100, "fAntiLambdaAssocMassPtRapEmbeded2_Cent_%d",i); - fAntiLambdaAssocMassPtRapEmbeded2[i] = new TH3F(hNameHist, "#bar{#Lambda} Embeded; mass, #it{p}_{T}, rap",nbins,1.065,1.165,nbins,pMin,pMax,20,-1.0,1.0); + fAntiLambdaAssocMassPtRapEmbeded2[i] = new THnSparseD(hNameHist, "#bar{#Lambda} Embeded; Mass (GeV/c^{2}); #it{p}_{T}; rap;",3,binsEff13,xminEff13,xmaxEff13); fOutput->Add(fAntiLambdaAssocMassPtRapEmbeded2[i]); snprintf(hNameHist,100, "fAntiLambdaAssocMassPtVtxEmbeded_Cent_%d",i); - fAntiLambdaAssocMassPtVtxEmbeded[i] = new TH3F(hNameHist, "#bar{#Lambda} Embeded; mass; #it{p}_{T}; VtxZ",nbins,1.065,1.165,nbins,pMin,pMax,20,-10.,10.); + fAntiLambdaAssocMassPtVtxEmbeded[i] = new THnSparseD(hNameHist, "#bar{#Lambda} Embeded; Mass (GeV/c^{2}); #it{p}_{T}; rap; VtxZ;",4,binsEff14,xminEff14,xmaxEff14); fOutput->Add(fAntiLambdaAssocMassPtVtxEmbeded[i]); snprintf(hNameHist,100, "fAntiLambdaAssocMassPtDCADaugEmbeded_Cent_%d",i); - fAntiLambdaAssocMassPtDCADaugEmbeded[i] = new TH3F(hNameHist, "#bar{#Lambda}; mass; #it{p}_{T}; DCADaug",nbins,1.065,1.165,nbins,pMin,pMax,60,0,1.2); + fAntiLambdaAssocMassPtDCADaugEmbeded[i] = new THnSparseD(hNameHist, "#bar{#Lambda}; Mass (GeV/c^{2}); #it{p}_{T}; rap; DCADaug;",4,binsEff15,xminEff15,xmaxEff15); fOutput->Add(fAntiLambdaAssocMassPtDCADaugEmbeded[i]); snprintf(hNameHist,100, "fAntiLambdaAssocMassPtCPAEmbeded_Cent_%d",i); - fAntiLambdaAssocMassPtCPAEmbeded[i] = new TH3F(hNameHist, "#bar{#Lambda}; mass; #it{p}_{T}; CPA",nbins,1.065,1.165,nbins,pMin,pMax,25,0.9975,1.); + fAntiLambdaAssocMassPtCPAEmbeded[i] = new THnSparseD(hNameHist, "#bar{#Lambda}; Mass (GeV/c^{2}); #it{p}_{T}; rap; CPA;",4,binsEff16,xminEff16,xmaxEff16); fOutput->Add(fAntiLambdaAssocMassPtCPAEmbeded[i]); snprintf(hNameHist,100, "fAntiLambdaAssocMassPtDCAPVEmbeded_Cent_%d",i); - fAntiLambdaAssocMassPtDCAPVEmbeded[i] = new TH3F(hNameHist, "#bar{#Lambda}; mass; #it{p}_{T}; DCA to Prim. Vtx",nbins,1.065,1.165,nbins,pMin,pMax,7,0.5,7.5); + fAntiLambdaAssocMassPtDCAPVEmbeded[i] = new THnSparseD(hNameHist, "#bar{#Lambda}; Mass (GeV/c^{2}); #it{p}_{T}; rap; Pos DCA to Prim. Vtx; Neg DCA to Prim. Vtx;",5,binsEff17,xminEff17,xmaxEff17); fOutput->Add(fAntiLambdaAssocMassPtDCAPVEmbeded[i]); - snprintf(hNameHist,100, "fAntiLambdaAssocMassPtDaugNClsTPCEmbeded_Cent_%d",i); - fAntiLambdaAssocMassPtDaugNClsTPCEmbeded[i] = new TH3F(hNameHist, "#bar{#Lambda}; mass; #it{p}_{T}; # TPC Cls",nbins,1.065,1.165,nbins,pMin,pMax,4,0.5,4.5); + fAntiLambdaAssocMassPtDaugNClsTPCEmbeded[i] = new THnSparseD(hNameHist, "#bar{#Lambda}; Mass (GeV/c^{2}); #it{p}_{T}; rap; Pos # TPC Cls; Neg # TPC Cls;",5,binsEff18,xminEff18,xmaxEff18); fOutput->Add(fAntiLambdaAssocMassPtDaugNClsTPCEmbeded[i]); } @@ -857,13 +847,13 @@ void AliAnalysisTaskLambdaOverK0sJets::UserCreateOutputObjects() fOutput->Add(fK0sMassEmbeded); fK0sMassPtEta = - new TH3F("fK0sMassPtEta","K^{0}_{s}: Mass vs #it{p}_{T} vs #eta;Mass;#it{p}_{T} (GeV/#it{c});#eta", + new TH3F("fK0sMassPtEta","K^{0}_{s}: Mass vs #it{p}_{T} vs #eta;Mass (GeV/C^{2});#it{p}_{T} (GeV/#it{c});#eta", nbins,0.398,0.598,nbins,pMin,pMax,20,-1.0,1.0); fOutput->Add(fK0sMassPtEta); for(Int_t i=0; iAdd(fK0sMassPtRap[i]); } @@ -1278,94 +1268,8 @@ void AliAnalysisTaskLambdaOverK0sJets::UserCreateOutputObjects() fOutput->Add(fAntiLambdaBckgDCAPosDaugToPrimVtx); - // Xi: correlations in MC - if(fIsMC){ // Monte-Carlo level: - - // Pt of Xi as associated particles - fXiMinusPtMCAssoc = new TH2F("fXiMinusPtMCAssoc","Xi Minus MC (Assocaiated particle);#it{p}_{T} (GeV/#it{c});Centrality",50,0.,50.,100,0.,100.); - fOutput->Add(fXiMinusPtMCAssoc); - - // Pt of Xi as trigger particles - fXiMinusPtMCTrigger = new TH2F("fXiMinusPtMCTrigger","Xi Minus MC (Leadinf particle);#it{p}_{T} (GeV/#it{c});Centrality",50,0.,50.,100,0.,100.); - fOutput->Add(fXiMinusPtMCTrigger); - - // Correlations: h-Xi - for(Int_t jj=0;jjAdd(fXiMinusdPhidEtaMC[jj*kN2+k]); - - - snprintf(hNameHist,100, "fXiMinusdPhidEtaMC2_%.2f_%.2f_Cent_%.0f_%.0f",kPtBinV02[k],kPtBinV02[k+1],kBinCent[jj],kBinCent[jj+1]); - fXiMinusdPhidEtaMC2[jj*kN2+k] = new TH3F(hNameHist,"Xi Minus MC: #Delta#varphi vs #Delta#eta vs p_{T,l}; #Delta#varphi (rad); #Delta#eta; Vertex Z (cm)", - nbinsdPhi,-TMath::PiOver2(),3*TMath::PiOver2(), - nbinsdEta,-1.5,1.5, - nbinsVtx,-10.,10.); - fOutput->Add(fXiMinusdPhidEtaMC2[jj*kN2+k]); - - } - } - - // Correlations: Xi-h - for(Int_t jj=0;jjAdd(fXiMinusdPhidEtaMC3[jj*kN3+k]); - } - } - - } // End MC condition - - // Gamma conversion - for(Int_t jj=0;jjAdd(fGammaConversiondPhidEta[jj]); - } - - // hh correlations - for(Int_t jj=0;jjAdd(fChargeddPhidEta[jj*kNc*kNVtxZ + k*kNVtxZ + ll -]); - } - } - } - - // ============================================================= // - // Charged ME: - for(Int_t ll=0;llAdd(fChargeddPhidEtaME[ll*kNc*kNVtxZ + k*kNVtxZ + j]); - } - } - } - // K0s in ME: for(Int_t ll=0;llAdd(fK0sNClustersTPC); // --- background --- fK0sBckgNClustersTPC = // Positive momentum to positive daugther - Negative momentum to negative daugther - new TH3F("fK0sBckgNClustersTPC","K^{0}_{S} Bckg;#varphi;Num. TPC Clusters; #it{p}_{T} (GeV/#it{c})",nbinsPhi,0.,2.*TMath::Pi(),131,49.5,180.5,nbins,-pMax,pMax); + new TH3F("fK0sBckgNClustersTPC","K^{0}_{S} Bckg;#varphi;Num. TPC Clusters; #it{p}_{T} (GeV/#it{c})",nbinsPhi,0.,2.*TMath::Pi(),181,0.5,180.5,nbins,-pMax,pMax); fOutputQA->Add(fK0sBckgNClustersTPC); // Number of ITS clusters: @@ -1699,11 +1603,11 @@ void AliAnalysisTaskLambdaOverK0sJets::UserCreateOutputObjects() // Number of TPC clusters: // --- signal --- fLambdaNClustersTPC = - new TH3F("fLambdaNClustersTPC","#Lambda;#varphi;Num. TPC Clusters;#it{p}_{T} (GeV/#it{c})",nbinsPhi,0.,2.*TMath::Pi(),131,49.5,180.5,nbins,-pMax,pMax); + new TH3F("fLambdaNClustersTPC","#Lambda;#varphi;Num. TPC Clusters;#it{p}_{T} (GeV/#it{c})",nbinsPhi,0.,2.*TMath::Pi(),181,0.5,180.5,nbins,-pMax,pMax); fOutputQA->Add(fLambdaNClustersTPC); // --- background --- fLambdaBckgNClustersTPC = - new TH3F("fLambdaBckgNClustersTPC","#Lambda Bckg;#varphi;Num. TPC Clusters;#it{p}_{T} (GeV/#it{c})",nbinsPhi,0.,2.*TMath::Pi(),131,49.5,180.5,nbins,-pMax,pMax); + new TH3F("fLambdaBckgNClustersTPC","#Lambda Bckg;#varphi;Num. TPC Clusters;#it{p}_{T} (GeV/#it{c})",nbinsPhi,0.,2.*TMath::Pi(),181,0.5,180.5,nbins,-pMax,pMax); fOutputQA->Add(fLambdaBckgNClustersTPC); // Number of ITS clusters: @@ -1864,11 +1768,11 @@ void AliAnalysisTaskLambdaOverK0sJets::UserCreateOutputObjects() // Number of TPC clusters: // --- signal --- fAntiLambdaNClustersTPC = - new TH3F("fAntiLambdaNClustersTPC","#bar{#Lambda};#varphi;Num. TPC Clusters;#it{p}_{T} (GeV/#it{c})",nbinsPhi,0.,2.*TMath::Pi(),131,49.5,180.5,nbins,-pMax,pMax); + new TH3F("fAntiLambdaNClustersTPC","#bar{#Lambda};#varphi;Num. TPC Clusters;#it{p}_{T} (GeV/#it{c})",nbinsPhi,0.,2.*TMath::Pi(),181,0.5,180.5,nbins,-pMax,pMax); fOutputQA->Add(fAntiLambdaNClustersTPC); // --- background --- fAntiLambdaBckgNClustersTPC = - new TH3F("fAntiLambdaBckgNClustersTPC","#bar{#Lambda} Bckg;#varphi;Num. TPC Clusters;#it{p}_{T} (GeV/#it{c})",nbinsPhi,0.,2.*TMath::Pi(),131,49.5,180.5,nbins,-pMax,pMax); + new TH3F("fAntiLambdaBckgNClustersTPC","#bar{#Lambda} Bckg;#varphi;Num. TPC Clusters;#it{p}_{T} (GeV/#it{c})",nbinsPhi,0.,2.*TMath::Pi(),181,0.5,180.5,nbins,-pMax,pMax); fOutputQA->Add(fAntiLambdaBckgNClustersTPC); // Number of ITS clusters: @@ -1946,17 +1850,17 @@ static Int_t CentBin(Double_t cent) Bool_t AliAnalysisTaskLambdaOverK0sJets::AcceptTrack(AliAODTrack *t) { // Track criteria for primaries particles - /* + // TPC only tracks if (TMath::Abs(t->Eta())>0.8 ) return kFALSE; if (!(t->TestFilterMask(1<<7))) return kFALSE; Float_t nCrossedRowsTPC = t->GetTPCClusterInfo(2,1); - if (nCrossedRowsTPC < 70) return kFALSE; - */ + if (nCrossedRowsTPC < 70) return kFALSE; + // Hybrid tracks - if( !(t->TestFilterBit(272)) ) return kFALSE; + //if( !(t->TestFilterBit(272)) ) return kFALSE; //if(!t->IsHybridGlobalConstrainedGlobal()) return kFALSE; // Point in the SPD @@ -2075,10 +1979,6 @@ static Int_t SameTrack(AliAODTrack *trk, const AliAODTrack *daugTrk) if( (TMath::Abs(daugTrk->GetID())+1)==(TMath::Abs(trk->GetID())) ) isSamePt = 1; - /* - if( (TMath::Abs(nTrk->GetID()))==(TMath::Abs(trk->GetID())) || - (TMath::Abs(pTrk->GetID()))==(TMath::Abs(trk->GetID())) ) isSamePt = 1; - */ return isSamePt; @@ -2302,6 +2202,51 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge Float_t lPhi = v0->Phi(); //lPhi = ( (lPhi < 0) ? lPhi + 2*TMath::Pi() : lPhi ); + // rapidity + Float_t rapK0s = v0->RapK0Short(); + Float_t rapLambda = v0->RapLambda(); + + if(fUseEtaCut){ + rapK0s = lEta; + rapLambda = lEta; + } + + // ********************************** + // PID - tracks + Float_t pPos = -100.; + Float_t pNeg = -100.; + + //Float_t dedxPos = -1000.; + //Float_t dedxNeg = -1000.; + //Float_t nsigPosPion = 0.; + //Float_t nsigNegPion = 0.; + Float_t nsigPosProton = 0.; + Float_t nsigNegProton = 0.; + + if(fUsePID && !fIsMC) { + const AliAODPid *pidNeg = ntrack->GetDetPid(); + const AliAODPid *pidPos = ptrack->GetDetPid(); + + if (pidNeg && pidPos) { + pPos = pidPos->GetTPCmomentum(); + pNeg = pidNeg->GetTPCmomentum(); + //dedxPos = pidPos->GetTPCsignal()/47.; + //dedxNeg = pidNeg->GetTPCsignal()/47.; + + + if(pPos<1.){ + //nsigPosPion = TMath::Abs(fPIDResponse->NumberOfSigmasTPC(ptrack,AliPID::kPion)); + nsigPosProton = TMath::Abs(fPIDResponse->NumberOfSigmasTPC(ptrack,AliPID::kProton)); + } + if(pNeg<1.){ + //nsigNegPion = TMath::Abs(fPIDResponse->NumberOfSigmasTPC(ntrack,AliPID::kPion)); + nsigNegProton = TMath::Abs(fPIDResponse->NumberOfSigmasTPC(ntrack,AliPID::kProton)); + } + + } + + } + // ********************************** // Disentangle the V0 candidate Float_t massK0s = 0., mK0s = 0., sK0s = 0.; @@ -2483,10 +2428,10 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge else if( (lPDGCodePosDaughter==+2212) && (lPDGCodeNegDaughter==-211) && (inMother==ipMother) && (lPDGCodeV0==3122) ){ - if ( ( TMath::Abs(lPdgcodeMotherOfMother) == 3212) || + if ( ( TMath::Abs(lPdgcodeMotherOfMother) == 3212) /*|| ( TMath::Abs(lPdgcodeMotherOfMother) == 3224) || ( TMath::Abs(lPdgcodeMotherOfMother) == 3214) || - ( TMath::Abs(lPdgcodeMotherOfMother) == 3114) + ( TMath::Abs(lPdgcodeMotherOfMother) == 3114)*/ ) lComeFromSigma = kTRUE; else lComeFromSigma = kFALSE; @@ -2505,10 +2450,10 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge (inMother==ipMother) && (lPDGCodeV0==-3122) ) { - if ( ( TMath::Abs(lPdgcodeMotherOfMother) == 3212) || + if ( ( TMath::Abs(lPdgcodeMotherOfMother) == 3212) /*|| ( TMath::Abs(lPdgcodeMotherOfMother) == 3224) || ( TMath::Abs(lPdgcodeMotherOfMother) == 3214) || - ( TMath::Abs(lPdgcodeMotherOfMother) == 3114) + ( TMath::Abs(lPdgcodeMotherOfMother) == 3114)*/ ) lComeFromSigma = kTRUE; else lComeFromSigma = kFALSE; @@ -2535,10 +2480,15 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge Float_t ptAs = p0->Pt(); Float_t rapAs = p0->Y(); Float_t etaAs = p0->Eta(); + + if(fUseEtaCut){ + rapAs = etaAs; + } + // phi resolution for V0-reconstruction Float_t resEta = p0->Eta() - v0->Eta(); Float_t resPhi = p0->Phi() - v0->Phi(); - + if ( (l < 0.01) && (ptAs<10.) ) { // Primary V0 // K0s: @@ -2547,7 +2497,7 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge // Natural particles if(isNaturalPart){ - if( (dcaPos>0.1) && (dcaNeg>0.1) && (nClsTPCPos>70) && (nClsTPCNeg>70) ){ + if( (dcaPos>0.1) && (dcaNeg>0.1) && (nClsTPCPos>fDaugNClsTPC) && (nClsTPCNeg>fDaugNClsTPC) ){ fK0sAssocPt->Fill(ptAs); fK0sAssocPtRap->Fill(ptAs,rapAs,centrality); @@ -2556,11 +2506,16 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge // Armenteros Pod. and rapidity cut if( (lPtArmV0 > TMath::Abs(0.2*lAlphaV0) ) && TMath::Abs(rapAs)MassK0Short(),ptAs,rapAs}; + Double_t effK0sVtx[4] = {v0->MassK0Short(),ptAs,rapAs,zv}; + Double_t effK0sDCA[4] = {v0->MassK0Short(),ptAs,rapAs,dca}; + Double_t effK0sCPA[4] = {v0->MassK0Short(),ptAs,rapAs,cpa}; + // Distributions for the efficiency (systematics chechks) - fK0sAssocPtMassArm[curCentBin]->Fill(v0->MassK0Short(),ptAs,rapAs); - fK0sAssocMassPtVtx[curCentBin]->Fill(v0->MassK0Short(),ptAs,zv); - fK0sAssocMassPtDCADaug[curCentBin]->Fill(v0->MassK0Short(),ptAs,dca); - fK0sAssocMassPtCPA[curCentBin]->Fill(v0->MassK0Short(),ptAs,cpa); + fK0sAssocPtMassArm[curCentBin]->Fill(effK0sArm); + fK0sAssocMassPtVtx[curCentBin]->Fill(effK0sVtx); + fK0sAssocMassPtDCADaug[curCentBin]->Fill(effK0sDCA); + fK0sAssocMassPtCPA[curCentBin]->Fill(effK0sCPA); } fK0sMCResEta->Fill(resEta,pt,centrality); @@ -2570,29 +2525,20 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge // Distributions for the efficiency (Systematic checks) if( (lPtArmV0 > TMath::Abs(0.2*lAlphaV0) ) && TMath::Abs(rapAs)70) && (nClsTPCNeg>70) ){ - if( (dcaPos>0.1) && (dcaNeg>0.1) ) // default value - fK0sAssocMassPtDCAPV[curCentBin]->Fill(v0->MassK0Short(),ptAs,1); - if( (dcaPos>0.115) && (dcaNeg>0.115) ) - fK0sAssocMassPtDCAPV[curCentBin]->Fill(v0->MassK0Short(),ptAs,2); - if( (dcaPos>0.12) && (dcaNeg>0.12) ) - fK0sAssocMassPtDCAPV[curCentBin]->Fill(v0->MassK0Short(),ptAs,3); - if( (dcaPos>0.2) && (dcaNeg>0.2) ) - fK0sAssocMassPtDCAPV[curCentBin]->Fill(v0->MassK0Short(),ptAs,4); + if( (nClsTPCPos>fDaugNClsTPC) && (nClsTPCNeg>fDaugNClsTPC) ){ + + Double_t effK0sdcaPV[5] = {v0->MassK0Short(),ptAs,rapAs,dcaPos,dcaNeg}; + fK0sAssocMassPtDCAPV[curCentBin]->Fill(effK0sdcaPV); } - // cut in the number of tpc ckusters - if( (dcaPos>0.1) && (dcaNeg>0.1) ){ - if( (nClsTPCPos>70) && (nClsTPCNeg>70) ) // default value - fK0sAssocMassPtDaugNClsTPC[curCentBin]->Fill(v0->MassK0Short(),ptAs,1); - if( (nClsTPCPos>50) && (nClsTPCNeg>50) ) - fK0sAssocMassPtDaugNClsTPC[curCentBin]->Fill(v0->MassK0Short(),ptAs,2); - if( (nClsTPCPos>60) && (nClsTPCNeg>60) ) - fK0sAssocMassPtDaugNClsTPC[curCentBin]->Fill(v0->MassK0Short(),ptAs,3); - if( (nClsTPCPos>80) && (nClsTPCNeg>80) ) - fK0sAssocMassPtDaugNClsTPC[curCentBin]->Fill(v0->MassK0Short(),ptAs,4); + // cut in the number of tpc clusters + if( (dcaPos>0.1) && (dcaNeg>0.1) && TMath::Abs(rapAs)MassK0Short(),ptAs,rapAs,nClsTPCPos,nClsTPCNeg}; + fK0sAssocMassPtDaugNClsTPC[curCentBin]->Fill(effK0sTPCcls); + } } // End selection for systematics @@ -2601,17 +2547,22 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge // Embeded particles if(!isNaturalPart){ - if( (dcaPos>0.1) && (dcaNeg>0.1) && (nClsTPCPos>70) && (nClsTPCNeg>70) ){ + if( (dcaPos>0.1) && (dcaNeg>0.1) && (nClsTPCPos>fDaugNClsTPC) && (nClsTPCNeg>fDaugNClsTPC) ){ fK0sAssocPtRapEmbeded->Fill(ptAs,rapAs,centrality); if( (lPtArmV0 > TMath::Abs(0.2*lAlphaV0)) && TMath::Abs(rapAs)MassK0Short(),ptAs,rapAs}; + Double_t effK0sVtx[4] = {v0->MassK0Short(),ptAs,rapAs,zv}; + Double_t effK0sDCA[4] = {v0->MassK0Short(),ptAs,rapAs,dca}; + Double_t effK0sCPA[4] = {v0->MassK0Short(),ptAs,rapAs,cpa}; + // Distributions for the efficiency (systematics chechks) - fK0sAssocPtMassArmEmbeded[curCentBin]->Fill(v0->MassK0Short(),ptAs,rapAs); - fK0sAssocMassPtVtxEmbeded[curCentBin]->Fill(v0->MassK0Short(),ptAs,zv); - fK0sAssocMassPtDCADaugEmbeded[curCentBin]->Fill(v0->MassK0Short(),ptAs,dca); - fK0sAssocMassPtCPAEmbeded[curCentBin]->Fill(v0->MassK0Short(),ptAs,cpa); + fK0sAssocPtMassArmEmbeded[curCentBin]->Fill(effK0sArm); + fK0sAssocMassPtVtxEmbeded[curCentBin]->Fill(effK0sVtx); + fK0sAssocMassPtDCADaugEmbeded[curCentBin]->Fill(effK0sDCA); + fK0sAssocMassPtCPAEmbeded[curCentBin]->Fill(effK0sCPA); } } // End selection in the dca to prim. vtx and the number of clusters @@ -2620,27 +2571,17 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge if( (lPtArmV0 > TMath::Abs(0.2*lAlphaV0) ) && TMath::Abs(rapAs)70) && (nClsTPCNeg>70) ){ - if( (dcaPos>0.1) && (dcaNeg>0.1) ) // default value - fK0sAssocMassPtDCAPVEmbeded[curCentBin]->Fill(v0->MassK0Short(),ptAs,1); - if( (dcaPos>0.115) && (dcaNeg>0.115) ) - fK0sAssocMassPtDCAPVEmbeded[curCentBin]->Fill(v0->MassK0Short(),ptAs,2); - if( (dcaPos>0.12) && (dcaNeg>0.12) ) - fK0sAssocMassPtDCAPVEmbeded[curCentBin]->Fill(v0->MassK0Short(),ptAs,3); - if( (dcaPos>0.2) && (dcaNeg>0.2) ) - fK0sAssocMassPtDCAPVEmbeded[curCentBin]->Fill(v0->MassK0Short(),ptAs,4); + if( (nClsTPCPos>fDaugNClsTPC) && (nClsTPCNeg>fDaugNClsTPC) ){ + + Double_t effK0sdcaPV[5] = {v0->MassK0Short(),ptAs,rapAs,dcaPos,dcaNeg}; + fK0sAssocMassPtDCAPVEmbeded[curCentBin]->Fill(effK0sdcaPV); } - // cut in the number of tpc ckusters - if( (dcaPos>0.1) && (dcaNeg>0.1) ){ - if( (nClsTPCPos>70) && (nClsTPCNeg>70) ) // default value - fK0sAssocMassPtDaugNClsTPCEmbeded[curCentBin]->Fill(v0->MassK0Short(),ptAs,1); - if( (nClsTPCPos>50) && (nClsTPCNeg>50) ) - fK0sAssocMassPtDaugNClsTPCEmbeded[curCentBin]->Fill(v0->MassK0Short(),ptAs,2); - if( (nClsTPCPos>60) && (nClsTPCNeg>60) ) - fK0sAssocMassPtDaugNClsTPCEmbeded[curCentBin]->Fill(v0->MassK0Short(),ptAs,3); - if( (nClsTPCPos>80) && (nClsTPCNeg>80) ) - fK0sAssocMassPtDaugNClsTPCEmbeded[curCentBin]->Fill(v0->MassK0Short(),ptAs,4); + // cut in the number of tpc clusters + if( (dcaPos>0.1) && (dcaNeg>0.1) && TMath::Abs(rapAs)MassK0Short(),ptAs,rapAs,nClsTPCPos,nClsTPCNeg}; + fK0sAssocMassPtDaugNClsTPCEmbeded[curCentBin]->Fill(effK0sTPCcls); } } // End selection for systematics @@ -2648,14 +2589,14 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge } // End embeded particle selection } // End K0s selection - + // Lambda: - if(ctL && lCheckMcLambda) { + if(ctL && lCheckMcLambda && (TMath::Abs(nsigPosProton)0.1) && (dcaNeg>0.1) && (nClsTPCPos>70) && (nClsTPCNeg>70) ){ + if( (dcaPos>0.1) && (dcaNeg>0.1) && (nClsTPCPos>fDaugNClsTPC) && (nClsTPCNeg>fDaugNClsTPC) ){ fLambdaAssocPt->Fill(ptAs); fLambdaAssocPtRap->Fill(ptAs,rapAs,centrality); @@ -2664,14 +2605,19 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge // Rapidity cut if(TMath::Abs(rapAs)MassLambda(),ptAs,rapAs}; + Double_t effLambdaVtx[4] = {v0->MassLambda(),ptAs,rapAs,zv}; + Double_t effLambdaDCA[4] = {v0->MassLambda(),ptAs,rapAs,dca}; + Double_t effLambdaCPA[4] = {v0->MassLambda(),ptAs,rapAs,cpa}; + // Distributions for the efficiency (systematics chechks) - fLambdaAssocMassPtRap[curCentBin]->Fill(v0->MassLambda(),ptAs,rapAs); - fLambdaAssocMassPtVtx[curCentBin]->Fill(v0->MassLambda(),ptAs,zv); - fLambdaAssocMassPtDCADaug[curCentBin]->Fill(v0->MassLambda(),ptAs,dca); - fLambdaAssocMassPtCPA[curCentBin]->Fill(v0->MassLambda(),ptAs,cpa); + fLambdaAssocMassPtRap[curCentBin]->Fill(effLambda); + fLambdaAssocMassPtVtx[curCentBin]->Fill(effLambdaVtx); + fLambdaAssocMassPtDCADaug[curCentBin]->Fill(effLambdaDCA); + fLambdaAssocMassPtCPA[curCentBin]->Fill(effLambdaCPA); if( !isCandidate2K0s && !isCandidate2LambdaBar) - fLambdaAssocMassPtRap2[curCentBin]->Fill(v0->MassLambda(),ptAs,rapAs); + fLambdaAssocMassPtRap2[curCentBin]->Fill(effLambda); } @@ -2684,34 +2630,17 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge if( TMath::Abs(rapAs)70) && (nClsTPCNeg>70) ){ - if( (dcaPos>0.1) && (dcaNeg>0.1) ) // default value - fLambdaAssocMassPtDCAPV[curCentBin]->Fill(v0->MassLambda(),ptAs,1); - if( (dcaPos>0.115) && (dcaNeg>0.115) ) - fLambdaAssocMassPtDCAPV[curCentBin]->Fill(v0->MassLambda(),ptAs,2); - if( (dcaPos>0.12) && (dcaNeg>0.12) ) - fLambdaAssocMassPtDCAPV[curCentBin]->Fill(v0->MassLambda(),ptAs,3); - if( (dcaPos>0.2) && (dcaNeg>0.2) ) - fLambdaAssocMassPtDCAPV[curCentBin]->Fill(v0->MassLambda(),ptAs,4); - if( (dcaPos>0.15) && (dcaNeg>0.1) ) - fLambdaAssocMassPtDCAPV[curCentBin]->Fill(v0->MassLambda(),ptAs,5); - if( (dcaPos>0.2) && (dcaNeg>0.1) ) - fLambdaAssocMassPtDCAPV[curCentBin]->Fill(v0->MassLambda(),ptAs,6); - if( (dcaPos>0.25) && (dcaNeg>0.1) ) - fLambdaAssocMassPtDCAPV[curCentBin]->Fill(v0->MassLambda(),ptAs,7); + if( (nClsTPCPos>fDaugNClsTPC) && (nClsTPCNeg>fDaugNClsTPC) ){ + Double_t effLambdadcaPV[5] = {v0->MassLambda(),ptAs,rapAs,dcaPos,dcaNeg}; + fLambdaAssocMassPtDCAPV[curCentBin]->Fill(effLambdadcaPV); } - // cut in the number of tpc ckusters - if( (dcaPos>0.1) && (dcaNeg>0.1) ){ - if( (nClsTPCPos>70) && (nClsTPCNeg>70) ) // default value - fLambdaAssocMassPtDaugNClsTPC[curCentBin]->Fill(v0->MassLambda(),ptAs,1); - if( (nClsTPCPos>50) && (nClsTPCNeg>50) ) - fLambdaAssocMassPtDaugNClsTPC[curCentBin]->Fill(v0->MassLambda(),ptAs,2); - if( (nClsTPCPos>60) && (nClsTPCNeg>60) ) - fLambdaAssocMassPtDaugNClsTPC[curCentBin]->Fill(v0->MassLambda(),ptAs,3); - if( (nClsTPCPos>80) && (nClsTPCNeg>80) ) - fLambdaAssocMassPtDaugNClsTPC[curCentBin]->Fill(v0->MassLambda(),ptAs,4); + // cut in the number of tpc clusters + if( (dcaPos>0.1) && (dcaNeg>0.1) && TMath::Abs(rapAs)MassLambda(),ptAs,rapAs,nClsTPCPos,nClsTPCNeg}; + fLambdaAssocMassPtDaugNClsTPC[curCentBin]->Fill(effLambdaTPCcls); } } // End selection for systematics @@ -2720,17 +2649,23 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge // Embeded particles if(!isNaturalPart){ - if( (dcaPos>0.1) && (dcaNeg>0.1) && (nClsTPCPos>70) && (nClsTPCNeg>70) ){ + if( (dcaPos>0.1) && (dcaNeg>0.1) && (nClsTPCPos>fDaugNClsTPC) && (nClsTPCNeg>fDaugNClsTPC) ){ if( TMath::Abs(rapAs)MassLambda(),ptAs,rapAs}; + Double_t effLambdaVtx[4] = {v0->MassLambda(),ptAs,rapAs,zv}; + Double_t effLambdaDCA[4] = {v0->MassLambda(),ptAs,rapAs,dca}; + Double_t effLambdaCPA[4] = {v0->MassLambda(),ptAs,rapAs,cpa}; + // Distributions for the efficiency (systematics chechks) - fLambdaAssocMassPtRapEmbeded[curCentBin]->Fill(v0->MassLambda(),ptAs,rapAs); - fLambdaAssocMassPtVtxEmbeded[curCentBin]->Fill(v0->MassLambda(),ptAs,zv); - fLambdaAssocMassPtDCADaugEmbeded[curCentBin]->Fill(v0->MassLambda(),ptAs,dca); - fLambdaAssocMassPtCPAEmbeded[curCentBin]->Fill(v0->MassLambda(),ptAs,cpa); + fLambdaAssocMassPtRapEmbeded[curCentBin]->Fill(effLambda); + fLambdaAssocMassPtVtxEmbeded[curCentBin]->Fill(effLambdaVtx); + fLambdaAssocMassPtDCADaugEmbeded[curCentBin]->Fill(effLambdaDCA); + fLambdaAssocMassPtCPAEmbeded[curCentBin]->Fill(effLambdaCPA); if( !isCandidate2K0s && !isCandidate2LambdaBar) - fLambdaAssocMassPtRapEmbeded2[curCentBin]->Fill(v0->MassLambda(),ptAs,rapAs); + fLambdaAssocMassPtRapEmbeded2[curCentBin]->Fill(effLambda); } } // End selection in the dca to prim. vtx and the number of clusters @@ -2739,33 +2674,15 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge if( TMath::Abs(rapAs)70) && (nClsTPCNeg>70) ){ - if( (dcaPos>0.1) && (dcaNeg>0.1) ) // default value - fLambdaAssocMassPtDCAPVEmbeded[curCentBin]->Fill(v0->MassLambda(),ptAs,1); - if( (dcaPos>0.115) && (dcaNeg>0.115) ) - fLambdaAssocMassPtDCAPVEmbeded[curCentBin]->Fill(v0->MassLambda(),ptAs,2); - if( (dcaPos>0.12) && (dcaNeg>0.12) ) - fLambdaAssocMassPtDCAPVEmbeded[curCentBin]->Fill(v0->MassLambda(),ptAs,3); - if( (dcaPos>0.2) && (dcaNeg>0.2) ) - fLambdaAssocMassPtDCAPVEmbeded[curCentBin]->Fill(v0->MassLambda(),ptAs,4); - if( (dcaPos>0.15) && (dcaNeg>0.1) ) - fLambdaAssocMassPtDCAPVEmbeded[curCentBin]->Fill(v0->MassLambda(),ptAs,5); - if( (dcaPos>0.2) && (dcaNeg>0.1) ) - fLambdaAssocMassPtDCAPVEmbeded[curCentBin]->Fill(v0->MassLambda(),ptAs,6); - if( (dcaPos>0.25) && (dcaNeg>0.1) ) - fLambdaAssocMassPtDCAPVEmbeded[curCentBin]->Fill(v0->MassLambda(),ptAs,7); + if( (nClsTPCPos>fDaugNClsTPC) && (nClsTPCNeg>fDaugNClsTPC) ){ + Double_t effLambdadcaPV[5] = {v0->MassLambda(),ptAs,rapAs,dcaPos,dcaNeg}; + fLambdaAssocMassPtDCAPVEmbeded[curCentBin]->Fill(effLambdadcaPV); } - // cut in the number of tpc ckusters + // cut in the number of tpc clusters if( (dcaPos>0.1) && (dcaNeg>0.1) ){ - if( (nClsTPCPos>70) && (nClsTPCNeg>70) ) // default value - fLambdaAssocMassPtDaugNClsTPCEmbeded[curCentBin]->Fill(v0->MassLambda(),ptAs,1); - if( (nClsTPCPos>50) && (nClsTPCNeg>50) ) - fLambdaAssocMassPtDaugNClsTPCEmbeded[curCentBin]->Fill(v0->MassLambda(),ptAs,2); - if( (nClsTPCPos>60) && (nClsTPCNeg>60) ) - fLambdaAssocMassPtDaugNClsTPCEmbeded[curCentBin]->Fill(v0->MassLambda(),ptAs,3); - if( (nClsTPCPos>80) && (nClsTPCNeg>80) ) - fLambdaAssocMassPtDaugNClsTPCEmbeded[curCentBin]->Fill(v0->MassLambda(),ptAs,4); + Double_t effLambdaTPCcls[5] = {v0->MassLambda(),ptAs,rapAs,nClsTPCPos,nClsTPCNeg}; + fLambdaAssocMassPtDaugNClsTPCEmbeded[curCentBin]->Fill(effLambdaTPCcls); } } // End selection for systematics @@ -2773,13 +2690,13 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge } // End embeded particle selection } // End Lambda selection - + // AntiLambda: - if (ctAL && lCheckMcAntiLambda){ + if (ctAL && lCheckMcAntiLambda && (TMath::Abs(nsigNegProton)0.1) && (dcaNeg>0.1) && (nClsTPCPos>70) && (nClsTPCNeg>70) ){ + if( (dcaPos>0.1) && (dcaNeg>0.1) && (nClsTPCPos>fDaugNClsTPC) && (nClsTPCNeg>fDaugNClsTPC) ){ fAntiLambdaAssocPt->Fill(ptAs); fAntiLambdaAssocPtRap->Fill(ptAs,rapAs,centrality); @@ -2787,15 +2704,20 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge // Rapidity cut if(TMath::Abs(rapAs)MassAntiLambda(),ptAs,rapAs}; + Double_t effAntiLambdaVtx[4] = {v0->MassAntiLambda(),ptAs,rapAs,zv}; + Double_t effAntiLambdaDCA[4] = {v0->MassAntiLambda(),ptAs,rapAs,dca}; + Double_t effAntiLambdaCPA[4] = {v0->MassAntiLambda(),ptAs,rapAs,cpa}; // Distributions for the efficiency (systematics chechks) - fAntiLambdaAssocMassPtRap[curCentBin]->Fill(v0->MassAntiLambda(),ptAs,rapAs); - fAntiLambdaAssocMassPtVtx[curCentBin]->Fill(v0->MassAntiLambda(),ptAs,zv); - fAntiLambdaAssocMassPtDCADaug[curCentBin]->Fill(v0->MassAntiLambda(),ptAs,dca); - fAntiLambdaAssocMassPtCPA[curCentBin]->Fill(v0->MassAntiLambda(),ptAs,cpa); + fAntiLambdaAssocMassPtRap[curCentBin]->Fill(effAntiLambda); + fAntiLambdaAssocMassPtVtx[curCentBin]->Fill(effAntiLambdaVtx); + fAntiLambdaAssocMassPtDCADaug[curCentBin]->Fill(effAntiLambdaDCA); + fAntiLambdaAssocMassPtCPA[curCentBin]->Fill(effAntiLambdaCPA); if( !isCandidate2K0s && !isCandidate2Lambda ) - fAntiLambdaAssocMassPtRap2[curCentBin]->Fill(v0->MassAntiLambda(),ptAs,rapAs); + fAntiLambdaAssocMassPtRap2[curCentBin]->Fill(effAntiLambda); } fAntiLambdaMCResEta->Fill(resEta,pt,centrality); @@ -2807,33 +2729,16 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge if( TMath::Abs(rapAs)70) && (nClsTPCNeg>70) ){ - if( (dcaPos>0.1) && (dcaNeg>0.1) ) // default value - fAntiLambdaAssocMassPtDCAPV[curCentBin]->Fill(v0->MassAntiLambda(),ptAs,1); - if( (dcaPos>0.115) && (dcaNeg>0.115) ) - fAntiLambdaAssocMassPtDCAPV[curCentBin]->Fill(v0->MassAntiLambda(),ptAs,2); - if( (dcaPos>0.12) && (dcaNeg>0.12) ) - fAntiLambdaAssocMassPtDCAPV[curCentBin]->Fill(v0->MassAntiLambda(),ptAs,3); - if( (dcaPos>0.2) && (dcaNeg>0.2) ) - fAntiLambdaAssocMassPtDCAPV[curCentBin]->Fill(v0->MassAntiLambda(),ptAs,4); - if( (dcaPos>0.15) && (dcaNeg>0.1) ) - fAntiLambdaAssocMassPtDCAPV[curCentBin]->Fill(v0->MassAntiLambda(),ptAs,5); - if( (dcaPos>0.2) && (dcaNeg>0.1) ) - fAntiLambdaAssocMassPtDCAPV[curCentBin]->Fill(v0->MassAntiLambda(),ptAs,6); - if( (dcaPos>0.25) && (dcaNeg>0.1) ) - fAntiLambdaAssocMassPtDCAPV[curCentBin]->Fill(v0->MassAntiLambda(),ptAs,7); + if( (nClsTPCPos>fDaugNClsTPC) && (nClsTPCNeg>fDaugNClsTPC) ){ + + Double_t effAntiLambdadcaPV[5] = {v0->MassAntiLambda(),ptAs,rapAs,dcaPos,dcaNeg}; + fAntiLambdaAssocMassPtDCAPV[curCentBin]->Fill(effAntiLambdadcaPV); } - // cut in the number of tpc ckusters - if( (dcaPos>0.1) && (dcaNeg>0.1) ){ - if( (nClsTPCPos>70) && (nClsTPCNeg>70) ) // default value - fAntiLambdaAssocMassPtDaugNClsTPC[curCentBin]->Fill(v0->MassAntiLambda(),ptAs,1); - if( (nClsTPCPos>50) && (nClsTPCNeg>50) ) - fAntiLambdaAssocMassPtDaugNClsTPC[curCentBin]->Fill(v0->MassAntiLambda(),ptAs,2); - if( (nClsTPCPos>60) && (nClsTPCNeg>60) ) - fAntiLambdaAssocMassPtDaugNClsTPC[curCentBin]->Fill(v0->MassAntiLambda(),ptAs,3); - if( (nClsTPCPos>80) && (nClsTPCNeg>80) ) - fAntiLambdaAssocMassPtDaugNClsTPC[curCentBin]->Fill(v0->MassAntiLambda(),ptAs,4); + // cut in the number of tpc clusters + if( (dcaPos>0.1) && (dcaNeg>0.1) && TMath::Abs(rapAs)MassAntiLambda(),ptAs,rapAs,nClsTPCPos,nClsTPCNeg}; + fAntiLambdaAssocMassPtDaugNClsTPC[curCentBin]->Fill(effAntiLambdaTPCcls); } } // End selection for systematics @@ -2842,17 +2747,23 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge // Embeded particles if(!isNaturalPart){ - if( (dcaPos>0.1) && (dcaNeg>0.1) && (nClsTPCPos>70) && (nClsTPCNeg>70) ){ + if( (dcaPos>0.1) && (dcaNeg>0.1) && (nClsTPCPos>fDaugNClsTPC) && (nClsTPCNeg>fDaugNClsTPC) ){ if( TMath::Abs(rapAs)MassAntiLambda(),ptAs,rapAs}; + Double_t effAntiLambdaVtx[4] = {v0->MassAntiLambda(),ptAs,rapAs,zv}; + Double_t effAntiLambdaDCA[4] = {v0->MassAntiLambda(),ptAs,rapAs,dca}; + Double_t effAntiLambdaCPA[4] = {v0->MassAntiLambda(),ptAs,rapAs,cpa}; + // Distributions for the efficiency (systematics chechks) - fAntiLambdaAssocMassPtRapEmbeded[curCentBin]->Fill(v0->MassAntiLambda(),ptAs,rapAs); - fAntiLambdaAssocMassPtVtxEmbeded[curCentBin]->Fill(v0->MassAntiLambda(),ptAs,zv); - fAntiLambdaAssocMassPtDCADaugEmbeded[curCentBin]->Fill(v0->MassAntiLambda(),ptAs,dca); - fAntiLambdaAssocMassPtCPAEmbeded[curCentBin]->Fill(v0->MassAntiLambda(),ptAs,cpa); + fAntiLambdaAssocMassPtRapEmbeded[curCentBin]->Fill(effAntiLambda); + fAntiLambdaAssocMassPtVtxEmbeded[curCentBin]->Fill(effAntiLambdaVtx); + fAntiLambdaAssocMassPtDCADaugEmbeded[curCentBin]->Fill(effAntiLambdaDCA); + fAntiLambdaAssocMassPtCPAEmbeded[curCentBin]->Fill(effAntiLambdaCPA); if( !isCandidate2K0s && !isCandidate2Lambda ) - fAntiLambdaAssocMassPtRapEmbeded2[curCentBin]->Fill(v0->MassAntiLambda(),ptAs,rapAs); + fAntiLambdaAssocMassPtRapEmbeded2[curCentBin]->Fill(effAntiLambda); } } // End selection in the dca to prim. vtx and the number of clusters @@ -2862,38 +2773,24 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge if( TMath::Abs(rapAs)70) && (nClsTPCNeg>70) ){ - if( (dcaPos>0.1) && (dcaNeg>0.1) ) // default value - fAntiLambdaAssocMassPtDCAPVEmbeded[curCentBin]->Fill(v0->MassAntiLambda(),ptAs,1); - if( (dcaPos>0.095) && (dcaNeg>0.095) ) - fAntiLambdaAssocMassPtDCAPVEmbeded[curCentBin]->Fill(v0->MassAntiLambda(),ptAs,2); - if( (dcaPos>0.115) && (dcaNeg>0.115) ) - fAntiLambdaAssocMassPtDCAPVEmbeded[curCentBin]->Fill(v0->MassAntiLambda(),ptAs,3); - if( (dcaPos>0.12) && (dcaNeg>0.12) ) - fAntiLambdaAssocMassPtDCAPVEmbeded[curCentBin]->Fill(v0->MassAntiLambda(),ptAs,4); - if( (dcaPos>0.2) && (dcaNeg>0.2) ) - fAntiLambdaAssocMassPtDCAPVEmbeded[curCentBin]->Fill(v0->MassAntiLambda(),ptAs,5); - if( (dcaPos>0.5) && (dcaNeg>0.5) ) - fAntiLambdaAssocMassPtDCAPVEmbeded[curCentBin]->Fill(v0->MassAntiLambda(),ptAs,6); + if( (nClsTPCPos>fDaugNClsTPC) && (nClsTPCNeg>fDaugNClsTPC) ){ + + Double_t effAntiLambdadcaPV[5] = {v0->MassAntiLambda(),ptAs,rapAs,dcaPos,dcaNeg}; + fAntiLambdaAssocMassPtDCAPVEmbeded[curCentBin]->Fill(effAntiLambdadcaPV); } // cut in the number of tpc ckusters if( (dcaPos>0.1) && (dcaNeg>0.1) ){ - if( (nClsTPCPos>70) && (nClsTPCNeg>70) ) // default value - fAntiLambdaAssocMassPtDaugNClsTPCEmbeded[curCentBin]->Fill(v0->MassAntiLambda(),ptAs,1); - if( (nClsTPCPos>50) && (nClsTPCNeg>50) ) - fAntiLambdaAssocMassPtDaugNClsTPCEmbeded[curCentBin]->Fill(v0->MassAntiLambda(),ptAs,2); - if( (nClsTPCPos>60) && (nClsTPCNeg>60) ) - fAntiLambdaAssocMassPtDaugNClsTPCEmbeded[curCentBin]->Fill(v0->MassAntiLambda(),ptAs,3); - if( (nClsTPCPos>80) && (nClsTPCNeg>80) ) - fAntiLambdaAssocMassPtDaugNClsTPCEmbeded[curCentBin]->Fill(v0->MassAntiLambda(),ptAs,4); + + Double_t effAntiLambdaTPCcls[5] = {v0->MassAntiLambda(),ptAs,rapAs,nClsTPCPos,nClsTPCNeg}; + fAntiLambdaAssocMassPtDaugNClsTPCEmbeded[curCentBin]->Fill(effAntiLambdaTPCcls); } } // End selection for systematics } // End embeded particle selection - - } // End AntiLambda: + + } // End AntiLambda // Xi decay: if( lComeFromXi && isNaturalPart ){ if(lPDGCodeV0==3122) { fLambdaAssocFromXi->Fill(ptAs,centrality); } @@ -2901,7 +2798,7 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge } } // End Primary V0 selection - + // After the kinematical selection of K0s and Lambdas // it might be that the daugthers are not identified through MC Association if(lMCAssocNegDaug==0) @@ -2914,43 +2811,8 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge }// End Correlation Step // ************************************ - noas: - - /* - Float_t pPos = -100.; - Float_t pNeg = -100.; - - Float_t dedxPos = -1000.; - Float_t dedxNeg = -1000.; - Float_t nsigPosPion = 0.; - Float_t nsigNegPion = 0.; - Float_t nsigPosProton = 0.; - Float_t nsigNegProton = 0.; - - if(fUsePID && !fIsMC) { - const AliAODPid *pidNeg = ntrack->GetDetPid(); - const AliAODPid *pidPos = ptrack->GetDetPid(); - - if (pidNeg && pidPos) { - pPos = pidPos->GetTPCmomentum(); - pNeg = pidNeg->GetTPCmomentum(); - dedxPos = pidPos->GetTPCsignal()/47.; - dedxNeg = pidNeg->GetTPCsignal()/47.; - - if(pPos<1.){ - nsigPosPion = TMath::Abs(fPIDResponse->NumberOfSigmasTPC(ptrack,AliPID::kPion)); - nsigPosProton = TMath::Abs(fPIDResponse->NumberOfSigmasTPC(ptrack,AliPID::kProton)); - } - if(pNeg<1.){ - nsigNegPion = TMath::Abs(fPIDResponse->NumberOfSigmasTPC(ntrack,AliPID::kPion)); - nsigNegProton = TMath::Abs(fPIDResponse->NumberOfSigmasTPC(ntrack,AliPID::kProton)); - } - - } - - } - */ + noas: // Comparing the pt of the trigger particle wrt the v0-candidate's daughter: // It is used as well for the side-band subtraction @@ -2961,25 +2823,15 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge isSameTrkNegDaug = SameTrack(trkTrig,ntrack); } - // ******************* - // Gamma conversion - // ******************* - /* - if(step==kReconstruction) - if( (TMath::Sqrt(lPtArmV0*lPtArmV0 + lAlphaV0*lAlphaV0) < 0.2) && isNaturalPart ){ - fAssocParticles->Add( new AliMiniParticle(centrality, zv, iV0, pt, lPhi, lEta, lMCAssocNegDaug, lMCAssocPosDaug, 2) ); - } - */ - // ******************* // K0s selection // ******************* - if (ctK && (TMath::Abs(v0->RapK0Short()) TMath::Abs(0.2*lAlphaV0) ) && ( massK0s > 0.3979 && massK0s < 0.5981 ) ) { + if (ctK && (TMath::Abs(rapK0s) TMath::Abs(0.2*lAlphaV0) ) && ( massK0s > 0.3979 && massK0s < 0.5981 ) ) { switch(step) { case kTriggerCheck: - if (isCandidate2K0s && (dcaPos>0.1) && (dcaNeg>0.1) && (nClsTPCPos>70) && (nClsTPCNeg>70) ){ + if (isCandidate2K0s && (dcaPos>0.1) && (dcaNeg>0.1) && (nClsTPCPos>fDaugNClsTPC) && (nClsTPCNeg>fDaugNClsTPC) ){ if(pt>ptTrig){ fIsV0LP = 1; @@ -3038,19 +2890,19 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge break; // End K0s selection for TriggerCheck case kReconstruction: - if( (dcaPos > 0.1) && (dcaNeg > 0.1) && (nClsTPCPos>70) && (nClsTPCNeg>70) && (pt<10.) ){ + if( (dcaPos > 0.1) && (dcaNeg > 0.1) && (nClsTPCPos>fDaugNClsTPC) && (nClsTPCNeg>fDaugNClsTPC) && (pt<10.) ){ if(isNaturalPart) fK0sMass->Fill(massK0s,pt,centrality); else fK0sMassEmbeded->Fill(massK0s,pt,centrality); fK0sMassPtEta->Fill(massK0s,pt,lEta); - fK0sMassPtRap[curCentBin]->Fill(massK0s,pt,v0->RapK0Short()); + fK0sMassPtRap[curCentBin]->Fill(massK0s,pt,rapK0s); fK0sMassPtPhi->Fill(massK0s,pt,lPhi); - /* + if( (pt>kPtBinV0[0]) && (ptAdd( new AliMiniParticle(centrality, zv, iV0, pt, lPhi, lEta, lMCAssocNegDaug, lMCAssocPosDaug, 3) ); - */ + } @@ -3059,14 +2911,14 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge // Invariant Mass cut if (TMath::Abs(mK0s-massK0s) < 3*sK0s) { - if( (nClsTPCPos>70) && (nClsTPCNeg>70) ){ + if( (nClsTPCPos>fDaugNClsTPC) && (nClsTPCNeg>fDaugNClsTPC) ){ fK0sDCAPosDaug->Fill(dcaPos,pt); fK0sDCANegDaug->Fill(dcaNeg,pt); } if( (dcaPos > 0.1) && (dcaNeg > 0.1) ){ - if( (nClsTPCPos>70) && (nClsTPCNeg>70 ) ){ + if( (nClsTPCPos>fDaugNClsTPC) && (nClsTPCNeg>fDaugNClsTPC ) ){ fK0sPtPosDaug->Fill(pt,lPtPos); fK0sPtNegDaug->Fill(pt,lPtNeg); @@ -3092,14 +2944,14 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge if( TMath::Abs(mK0s-massK0s + 6.5*sK0s) < 1.5*sK0s || TMath::Abs(mK0s-massK0s - 6.5*sK0s) < 1.5*sK0s ) { - if( (nClsTPCPos>70) && (nClsTPCNeg>70 ) ){ + if( (nClsTPCPos>fDaugNClsTPC) && (nClsTPCNeg>fDaugNClsTPC) ){ fK0sBckgDCAPosDaug->Fill(dcaPos,pt); fK0sBckgDCANegDaug->Fill(dcaNeg,pt); } if( (dcaPos > 0.1) && (dcaNeg > 0.1) ){ - if( (nClsTPCPos>70) && (nClsTPCNeg>70 ) ){ + if( (nClsTPCPos>fDaugNClsTPC) && (nClsTPCNeg>fDaugNClsTPC) ){ fK0sBckgPtPosDaug->Fill(pt,lPtPos); fK0sBckgPtNegDaug->Fill(pt,lPtNeg); @@ -3137,12 +2989,12 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge // ******************* // Lambda selection // ******************* - if ( ctL && (TMath::Abs(v0->RapLambda()) 1.0649 && massLambda < 1.1651 ) ){ + if ( ctL && (TMath::Abs(rapLambda) 1.0649 && massLambda < 1.1651 ) && (TMath::Abs(nsigPosProton)0.1) && (dcaNeg>0.1) && (nClsTPCPos>70) && (nClsTPCNeg>70 ) && !isCandidate2K0s && !isCandidate2LambdaBar ){ + if (isCandidate2Lambda && (dcaPos>0.1) && (dcaNeg>0.1) && (nClsTPCPos>fDaugNClsTPC) && (nClsTPCNeg>fDaugNClsTPC) && !isCandidate2K0s && !isCandidate2LambdaBar ){ if(pt>ptTrig) { fIsV0LP = 1; @@ -3198,7 +3050,7 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge break; // End Lambda selection for TriggerCheck case kReconstruction: - if( (dcaPos > 0.1) && (dcaNeg > 0.1) && (nClsTPCPos>70) && (nClsTPCNeg>70 ) && (pt<10.) ){ + if( (dcaPos > 0.1) && (dcaNeg > 0.1) && (nClsTPCPos>fDaugNClsTPC) && (nClsTPCNeg>fDaugNClsTPC) && (pt<10.) ){ if(isNaturalPart) fLambdaMass->Fill(massLambda,pt,centrality); else fLambdaMassEmbeded->Fill(massLambda,pt,centrality); @@ -3209,13 +3061,13 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge } fLambdaMassPtEta->Fill(massLambda,pt,lEta); - fLambdaMassPtRap[curCentBin]->Fill(massLambda,pt,v0->RapLambda()); + fLambdaMassPtRap[curCentBin]->Fill(massLambda,pt,rapLambda); fLambdaMassPtPhi->Fill(massLambda,pt,lPhi); - /* + if( (pt>kPtBinV0[0]) && (ptAdd( new AliMiniParticle(centrality, zv, iV0, pt, lPhi, lEta, lMCAssocNegDaug, lMCAssocPosDaug, 4) ); - */ + } @@ -3225,14 +3077,14 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge // Invariant Mass cut if (TMath::Abs(mLambda-massLambda) < 3*sL) { - if( (nClsTPCPos>70) && (nClsTPCNeg>70 ) ){ + if( (nClsTPCPos>fDaugNClsTPC) && (nClsTPCNeg>fDaugNClsTPC) ){ fLambdaDCAPosDaug->Fill(dcaPos,pt); fLambdaDCANegDaug->Fill(dcaNeg,pt); } if( (dcaPos > 0.1) && (dcaNeg > 0.1) ){ - if( (nClsTPCPos>70) && (nClsTPCNeg>70 ) ){ + if( (nClsTPCPos>fDaugNClsTPC) && (nClsTPCNeg>fDaugNClsTPC) ){ fLambdaPtPosDaug->Fill(pt,lPtPos); fLambdaPtNegDaug->Fill(pt,lPtNeg); @@ -3259,14 +3111,14 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge if( (TMath::Abs(mLambda-massLambda + 6.5*sL) < 1.5*sL) || (TMath::Abs(mLambda-massLambda - 6.5*sL) < 1.5*sL) ){ - if( (nClsTPCPos>70) && (nClsTPCNeg>70 ) ){ + if( (nClsTPCPos>fDaugNClsTPC) && (nClsTPCNeg>fDaugNClsTPC) ){ fLambdaBckgDCAPosDaug->Fill(dcaPos,pt); fLambdaBckgDCANegDaug->Fill(dcaNeg,pt); } if( (dcaPos > 0.1) && (dcaNeg > 0.1) ){ - if( (nClsTPCPos>70) && (nClsTPCNeg>70 ) ){ + if( (nClsTPCPos>fDaugNClsTPC) && (nClsTPCNeg>fDaugNClsTPC) ){ fLambdaBckgPtPosDaug->Fill(pt,lPtPos); fLambdaBckgPtNegDaug->Fill(pt,lPtNeg); @@ -3303,12 +3155,12 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge // ******************* // AntiLambda selection // ******************* - if ( ctAL && (TMath::Abs(v0->RapLambda()) 1.0649 && massAntiLambda < 1.1651 ) ) { + if ( ctAL && (TMath::Abs(rapLambda) 1.0649 && massAntiLambda < 1.1651 ) && (TMath::Abs(nsigNegProton)0.1) && (dcaNeg>0.1) && (nClsTPCPos>70) && (nClsTPCNeg>70) && !isCandidate2K0s && !isCandidate2Lambda ){ + if (isCandidate2LambdaBar && (dcaPos>0.1) && (dcaNeg>0.1) && (nClsTPCPos>fDaugNClsTPC) && (nClsTPCNeg>fDaugNClsTPC) && !isCandidate2K0s && !isCandidate2Lambda ){ if(pt>ptTrig) { fIsV0LP = 1; @@ -3365,7 +3217,7 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge break; // End AntiLambda selection for CheckTrigger case kReconstruction: - if( (dcaPos > 0.1) && (dcaNeg > 0.1) && (nClsTPCPos>70) && (nClsTPCNeg>70 ) && (pt<10.) ) { + if( (dcaPos > 0.1) && (dcaNeg > 0.1) && (nClsTPCPos>fDaugNClsTPC) && (nClsTPCNeg>fDaugNClsTPC) && (pt<10.) ) { if(isNaturalPart) fAntiLambdaMass->Fill(massAntiLambda,pt,centrality); else fAntiLambdaMassEmbeded->Fill(massAntiLambda,pt,centrality); @@ -3376,13 +3228,13 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge } fAntiLambdaMassPtEta->Fill(massAntiLambda,pt,lEta); - fAntiLambdaMassPtRap[curCentBin]->Fill(massAntiLambda,pt,v0->RapLambda()); + fAntiLambdaMassPtRap[curCentBin]->Fill(massAntiLambda,pt,rapLambda); fAntiLambdaMassPtPhi->Fill(massAntiLambda,pt,lPhi); - /* + if( (pt>kPtBinV0[0]) && (ptAdd( new AliMiniParticle(centrality, zv, iV0, pt, lPhi, lEta, lMCAssocNegDaug, lMCAssocPosDaug, 5) ); - */ + } @@ -3391,14 +3243,14 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge // Invariant Mass cut if (TMath::Abs(mLambda-massAntiLambda) < 3*sAL) { - if( (nClsTPCPos>70) && (nClsTPCNeg>70) ){ + if( (nClsTPCPos>fDaugNClsTPC) && (nClsTPCNeg>fDaugNClsTPC) ){ fAntiLambdaDCAPosDaug->Fill(dcaPos,pt); fAntiLambdaDCANegDaug->Fill(dcaNeg,pt); } if( (dcaPos>0.1) && (dcaNeg>0.1) ){ - if( (nClsTPCPos>70) && (nClsTPCNeg>70) ){ + if( (nClsTPCPos>fDaugNClsTPC) && (nClsTPCNeg>fDaugNClsTPC) ){ fAntiLambdaPtPosDaug->Fill(pt,lPtPos); fAntiLambdaPtNegDaug->Fill(pt,lPtNeg); @@ -3424,14 +3276,14 @@ void AliAnalysisTaskLambdaOverK0sJets::V0Loop(V0LoopStep_t step, Bool_t isTrigge if( (TMath::Abs(mLambda-massAntiLambda + 6.5*sAL) < 1.5*sAL) || (TMath::Abs(mLambda-massAntiLambda - 6.5*sAL) < 1.5*sAL) ){ - if( (nClsTPCPos>70) && (nClsTPCNeg>70 ) ){ + if( (nClsTPCPos>fDaugNClsTPC) && (nClsTPCNeg>fDaugNClsTPC) ){ fAntiLambdaBckgDCAPosDaug->Fill(dcaPos,pt); fAntiLambdaBckgDCANegDaug->Fill(dcaNeg,pt); } if( (dcaPos>0.1) && (dcaNeg>0.1) ){ - if( (nClsTPCPos>70) && (nClsTPCNeg>70 ) ){ + if( (nClsTPCPos>fDaugNClsTPC) && (nClsTPCNeg>fDaugNClsTPC) ){ fAntiLambdaBckgPtPosDaug->Fill(pt,lPtPos); fAntiLambdaBckgPtNegDaug->Fill(pt,lPtNeg); @@ -3499,10 +3351,6 @@ void AliAnalysisTaskLambdaOverK0sJets::TriggerParticle() Double_t pt=t->Pt(); Double_t eta=t->Eta(); Double_t phi=t->Phi(); - - - if( (pt>=kPtBinCharged[0]) && (ptAdd( new AliMiniParticle(centrality, zv, i, pt, phi, eta, 0, 0, 1) ); if( (pt>fTrigPtMin) && (ptAdd( new AliMiniParticle(centrality, zv, i, pt, phi, eta, 0, 0, 1) ); @@ -3526,13 +3374,13 @@ void AliAnalysisTaskLambdaOverK0sJets::TriggerParticle() // ---------------------------- // 2. Checking if the trigger particle // might be a daughter from the V0-candidate - /* + for (Int_t i=0; i<(fTriggerParticles->GetEntriesFast()); i++){ AliMiniParticle* trig = (AliMiniParticle*) fTriggerParticles->At(i); Int_t id = trig->ID(); V0Loop(kTriggerCheck,kFALSE,i,id); } - */ + } @@ -3630,8 +3478,6 @@ void AliAnalysisTaskLambdaOverK0sJets::UserExec(Option_t *) // Triggered Particle - Trigger Particle fTriggerParticles = new TObjArray(); fTriggerParticles->SetOwner(kTRUE); - fChargedAssocParticles = new TObjArray(); - fChargedAssocParticles->SetOwner(kTRUE); TriggerParticle(); // V0-candidate is the highest particle in the event: @@ -3766,6 +3612,10 @@ void AliAnalysisTaskLambdaOverK0sJets::UserExec(Option_t *) Float_t lPhiCurrentPart = p0->Phi(); Float_t lPtCurrentPart = p0->Pt(); + if(fUseEtaCut){ + lRapCurrentPart = lEtaCurrentPart; + } + Int_t iCurrentMother = p0->GetMother(); AliAODMCParticle *pCurrentMother = (AliAODMCParticle *)stack->At(iCurrentMother); Int_t lPdgCurrentMother = 0; @@ -3822,14 +3672,14 @@ void AliAnalysisTaskLambdaOverK0sJets::UserExec(Option_t *) fK0sMCPtRap2->Fill(lPtCurrentPart,lRapCurrentPart,centrality); fK0sMCPtPhiEta[curCentBin]->Fill(lPhiCurrentPart,lEtaCurrentPart,lPtCurrentPart); - if(TMath::Abs(lRapCurrentPart)<0.7) fK0sMCPtRapVtx->Fill(lPtCurrentPart,zv,centrality); + if(TMath::Abs(lRapCurrentPart)Fill(lPtCurrentPart,zv,centrality); if( (lPtCurrentPart>kPtBinV0[0]) && (lPtCurrentPartAdd( new AliMiniParticle(centrality, zv, iTrkMC, lPtCurrentPart, lPhiCurrentPart, lEtaCurrentPart, 0, 0, 3) ); } else{ fK0sMCPtRapEmbeded->Fill(lPtCurrentPart,lRapCurrentPart,centrality); - if(TMath::Abs(lRapCurrentPart)<0.7) fK0sMCPtRapVtxEmbeded->Fill(lPtCurrentPart,zv,centrality); + if(TMath::Abs(lRapCurrentPart)Fill(lPtCurrentPart,zv,centrality); } } // End K0s selection @@ -3843,14 +3693,14 @@ void AliAnalysisTaskLambdaOverK0sJets::UserExec(Option_t *) fLambdaMCPtRap2->Fill(lPtCurrentPart,lRapCurrentPart,centrality); fLambdaMCPtPhiEta[curCentBin]->Fill(lPhiCurrentPart,lEtaCurrentPart,lPtCurrentPart); - if(TMath::Abs(lRapCurrentPart)<0.7) fLambdaMCPtRapVtx->Fill(lPtCurrentPart,zv,centrality); + if(TMath::Abs(lRapCurrentPart)Fill(lPtCurrentPart,zv,centrality); if( (lPtCurrentPart>kPtBinV0[0]) && (lPtCurrentPartAdd( new AliMiniParticle(centrality, zv, iTrkMC, lPtCurrentPart, lPhiCurrentPart, lEtaCurrentPart, 0, 0, 4) ); } else{ fLambdaMCPtRapEmbeded->Fill(lPtCurrentPart,lRapCurrentPart,centrality); - if(TMath::Abs(lRapCurrentPart)<0.7) fLambdaMCPtRapVtxEmbeded->Fill(lPtCurrentPart,zv,centrality); + if(TMath::Abs(lRapCurrentPart)Fill(lPtCurrentPart,zv,centrality); } if ( isNaturalPart && TMath::Abs(lPdgCurrentMother) == 3312 ) @@ -3867,14 +3717,14 @@ void AliAnalysisTaskLambdaOverK0sJets::UserExec(Option_t *) fAntiLambdaMCPtRap2->Fill(lPtCurrentPart,lRapCurrentPart,centrality); fAntiLambdaMCPtPhiEta[curCentBin]->Fill(lPhiCurrentPart,lEtaCurrentPart,lPtCurrentPart); - if(TMath::Abs(lRapCurrentPart)<0.7) fAntiLambdaMCPtRapVtx->Fill(lPtCurrentPart,zv,centrality); + if(TMath::Abs(lRapCurrentPart)Fill(lPtCurrentPart,zv,centrality); if( (lPtCurrentPart>kPtBinV0[0]) && (lPtCurrentPartAdd( new AliMiniParticle(centrality, zv, iTrkMC, lPtCurrentPart, lPhiCurrentPart, lEtaCurrentPart, 0, 0, 5) ); } else{ fAntiLambdaMCPtRapEmbeded->Fill(lPtCurrentPart,lRapCurrentPart,centrality); - if(TMath::Abs(lRapCurrentPart)<0.7) fAntiLambdaMCPtRapVtxEmbeded->Fill(lPtCurrentPart,zv,centrality); + if(TMath::Abs(lRapCurrentPart)Fill(lPtCurrentPart,zv,centrality); } if ( isNaturalPart && TMath::Abs(lPdgCurrentMother) == 3312 ) @@ -3935,117 +3785,10 @@ void AliAnalysisTaskLambdaOverK0sJets::UserExec(Option_t *) fAntiLambdadPhidEtaMC[curCentBin*kN1+k]->Fill(dPhiMC,dEtaMC,zv); } // End pt bin - // Xi Minus (h-Xi correlations) - /* - if( (assocMC->WhichCandidate()==6) ){ - - fXiMinusPtMCAssoc->Fill(assocMC->Pt(),centrality); - - for(Int_t k=0;kPt()>=kPtBinV02[k]) && (assocMC->Pt()Fill(dPhiMC,dEtaMC,zv); - else - fXiMinusdPhidEtaMC2[curCentBin*kN2+k]->Fill(dPhiMC,dEtaMC,zv); - } // End pt bin - - } // End Xi selection - */ } // End loop over trigger particles } // End loop over trigger particles - // ----------------------------------------- - // ---------- MC Correlations -------------- - // -------- Xi leading particle ------------ - // ----------------------------------------- - - // With natural Xi's do loop over the MC trigger particle - // to see if Xi are the leading particle in the event: - // in that case, does the correlations with charged particles as associated particles - /* - Bool_t isXiLP = kFALSE; - for (Int_t iTrkMC = 0; iTrkMC < nTrkMC; iTrkMC++){ - - AliAODMCParticle *p0 = (AliAODMCParticle*)stack->At(iTrkMC); - if(!p0) continue; - - // ---------------------------------------- - // Selecting only Xi Minus - Int_t lPdgcodeCurrentPart = p0->GetPdgCode(); - if ( (lPdgcodeCurrentPart != kXiMinus) || - (lPdgcodeCurrentPart != 3322) ) continue; - - // ---------------------------------------- - Int_t isNaturalPart = 1; - if ( (iTrkMC>=fEndOfHijingEvent) && - (fEndOfHijingEvent!=-1) && - (p0->GetMother()<0) ) - isNaturalPart = 0; - - if(!isNaturalPart) continue; - - // ---------------------------------------- - // Loop over Trigger particles - isXiLP = kFALSE; - for(Int_t ii=0; ii<(fTriggerPartMC->GetEntriesFast()); ii++){ - AliMiniParticle* trigMC = (AliMiniParticle*) fTriggerPartMC->At(ii); - - if( p0->Pt() > trigMC->Pt() ) isXiLP = kTRUE; - else isXiLP = kFALSE; - - if( isXiLP == kFALSE ) break; - - } // End loop over trigger particles - - // ---------------------------------------- - // Xi is Leading particle - if(isXiLP){ - fXiMinusPtMCTrigger->Fill(p0->Pt(),centrality); - fXiTriggerPartMC->Add( new AliMiniParticle(centrality, zv, iTrkMC, p0->Pt(), p0->Phi(), p0->Eta(), 0, 0, 10) ); - } - - }*/ - - // ---------------------------------------- - // Xi-h: Do correlations with primary particles - /* - if(isXiLP){ - for(Int_t ii=0; ii<(fXiTriggerPartMC->GetEntriesFast()); ii++){ - AliMiniParticle* trigXiMC = (AliMiniParticle*) fXiTriggerPartMC->At(ii); - - // ========= Charged particles - for (Int_t iTrkMC = 0; iTrkMC < nTrkMC; iTrkMC++){ - AliAODMCParticle *p0 = (AliAODMCParticle*)stack->At(iTrkMC); - if(!p0) continue; - - // ---------------------------------------- - Int_t isNaturalPart = 1; - if ( (iTrkMC>=fEndOfHijingEvent) && - (fEndOfHijingEvent!=-1) && - (p0->GetMother()<0) ) - isNaturalPart = 0; - // ---------------------------------------- - - if(p0->Charge()==0) continue; - if(isNaturalPart == 0) continue; - if( !p0->IsPhysicalPrimary() ) continue; - - if(TMath::Abs(p0->Eta())>fTrigEtaMax) continue; - - dPhiMC = dPHI(trigXiMC->Phi(),p0->Phi()); - dEtaMC = trigXiMC->Eta() - p0->Eta(); - - for(Int_t k=0;kPt()>=kPtBinV03[k]) && (p0->Pt()Fill(dPhiMC,dEtaMC,zv); - - } // End loop over primary particles - - } // end loop over Xi - - } // End condition of Xi is LP - */ } // End MC condition // ************************************************* @@ -4055,15 +3798,12 @@ void AliAnalysisTaskLambdaOverK0sJets::UserExec(Option_t *) if(NtrigPerEvnt>0) V0Loop(kReconstruction,kTRUE,-1,-1); else - V0Loop(kReconstruction,kFALSE,-1,-1); - + V0Loop(kReconstruction,kFALSE,-1,-1); + //------------------------------------------------------------- // Correlations //------------------------------------------------------------- Float_t ptTrig=0., pxTrig=0., pyTrig=0.; - Float_t pt=-100.; // *** - Float_t lPhi=0., lEta=0.; // *** -/* Float_t massK0s=0., mK0s=0., sK0s=0.; Float_t massL=0., mL=0., sL=0.; Float_t massAL=0.; //, mAL=0., sAL=0.; @@ -4072,37 +3812,10 @@ void AliAnalysisTaskLambdaOverK0sJets::UserExec(Option_t *) Float_t lAlphaV0=0., lPtArmV0=0, dcaPos=0., dcaNeg=0.; Float_t dx=-100., dy=-100., dz=-100., lt=-100., res=-100.; Float_t dlK=-100., dlL=-100.; -*/ Float_t dPhi=-100., dEta=-100., radio=-100.; - - // -------------------------------- - // h-h correlations - for (Int_t i=0; i<(fTriggerParticles->GetEntriesFast()); i++){ - AliMiniParticle* trig = (AliMiniParticle*) fTriggerParticles->At(i); - - for(Int_t j=0; j<(fChargedAssocParticles->GetEntriesFast()); j++){ - AliMiniParticle* tChAssoc = (AliMiniParticle*) (fChargedAssocParticles->At(j)); - - lPhi = tChAssoc->Phi(); - lEta = tChAssoc->Eta(); - - // Correlation in deltaPhi & deltaEta - dPhi = dPHI(trig->Phi(),lPhi); - dEta = trig->Eta() - lEta; - - pt = tChAssoc->Pt(); - - for( Int_t k=0; k=kPtBinCharged[k] && ptFill(dPhi,dEta); - - } - - } // End loop over trigger particles - + // -------------------------------- // h-V0 correlations - /* for (Int_t i=0; i<(fTriggerParticles->GetEntriesFast()); i++){ AliMiniParticle* trig = (AliMiniParticle*) fTriggerParticles->At(i); if( trig->WhichCandidate() == 0 ) continue; @@ -4152,12 +3865,6 @@ void AliAnalysisTaskLambdaOverK0sJets::UserExec(Option_t *) Int_t lMCAssocNegDaug = trackAssocME->NegDaugMCLabel(); Int_t lMCAssocPosDaug = trackAssocME->PosDaugMCLabel(); - // ******************* - // Gamma conversion - // ******************* - if( trackAssocME->WhichCandidate() == 2 ) - fGammaConversiondPhidEta[curCentBin]->Fill(dPhi,dEta,zv); - // ******************* // K0s selection // ******************* @@ -4337,7 +4044,7 @@ void AliAnalysisTaskLambdaOverK0sJets::UserExec(Option_t *) } // End loop over associated particles } // End loop over trigger particles - */ + //------------------------------------------------------------- // Mixing @@ -4356,29 +4063,7 @@ void AliAnalysisTaskLambdaOverK0sJets::UserExec(Option_t *) phiTrigME = trackTriggerME->Phi(); etaTrigME = trackTriggerME->Eta(); - // --- Charged associated particles - for(Int_t j=0; jGetEntriesFast(); j++){ - - AliMiniParticle* trackAssocME = (AliMiniParticle*) (fChargedAssocParticles->At(j)); - if( CentBin(trackTriggerME->Centrality()) != CentBin(trackAssocME->Centrality()) ) continue; - if( VtxBin(trackTriggerME->VtxZ()) != VtxBin(trackAssocME->VtxZ()) ) continue; - if( trackAssocME->WhichCandidate() != 1 ) continue; - - phiAssocME = trackAssocME->Phi(); - etaAssocME = trackAssocME->Eta(); - - deltaPhi = dPHI(phiTrigME,phiAssocME); - deltaEta = etaTrigME - etaAssocME; - - for(Int_t k=0; kPt()>=kPtBinCharged[k] && trackAssocME->Pt()Fill(deltaPhi,deltaEta); - - } // End loop over charged partilces - - // --- V0 associated particles - /* for(Int_t j=0; jGetEntriesFast(); j++){ AliMiniParticle* trackAssocME = (AliMiniParticle*) (fAssocParticles->At(j)); @@ -4443,7 +4128,7 @@ void AliAnalysisTaskLambdaOverK0sJets::UserExec(Option_t *) fAntiLambdadPhidEtaME[curCentBin*kN1*kNVtxZ + binPtv0*kNVtxZ + curVtxBin]->Fill(deltaPhi,deltaEta); } // End loop over V0's - */ + } } @@ -4473,7 +4158,7 @@ void AliAnalysisTaskLambdaOverK0sJets::UserExec(Option_t *) }// End adding trigger particles to buffers - } +} //___________________________________________________________________________________________ diff --git a/PWGLF/STRANGENESS/Correlations/AliAnalysisTaskLambdaOverK0sJets.h b/PWGLF/STRANGENESS/Correlations/AliAnalysisTaskLambdaOverK0sJets.h index 50067f6206d..9a09385848f 100644 --- a/PWGLF/STRANGENESS/Correlations/AliAnalysisTaskLambdaOverK0sJets.h +++ b/PWGLF/STRANGENESS/Correlations/AliAnalysisTaskLambdaOverK0sJets.h @@ -27,27 +27,16 @@ class AliAODv0; class TH1F; class TH2F; class TH3F; +class THnSparse; class TList; class TString; class TObjArray; -// pt fpr V0 +// pt f0r V0 const int kN1 = 8; const float kPtBinV0[kN1+1] = {2.0,2.25,2.5,2.75,3.0,3.5,4.0,5.0,7.0}; -// pt for charged particles -const int kNc = 3; -const float kPtBinCharged[kN1+1] = {2.0,2.25,3.0,4.0}; - -// pt bins for Xi minus -const int kN2 = 12; -const float kPtBinV02[kN2+1] = {0.0,2.0,2.25,2.5,2.75,3.0,3.5,4.0,5.0,7.0,10.0,15.0,1000.}; - -const int kN3 = 3; -const float kPtBinV03[kN3+1] = {0.0,2.0,7.0,1000.}; -// ------- - const int kNVtxZ = 10; const double kBinVtxZ[kNVtxZ+1] = {-10.,-8.,-6.,-4.,-2.,0.,2.,4.,6.,8.,10.}; @@ -107,6 +96,7 @@ class AliAnalysisTaskLambdaOverK0sJets : public AliAnalysisTaskSE { void SetNSigmaPID(Float_t nSigma=3) {fNSigma=nSigma;} void SetNClsTPC(Float_t nClsTPC=70.) {fDaugNClsTPC=nClsTPC;} // 2. V0 candidate + void SetEtaCut(Bool_t etaCut=kFALSE) {fUseEtaCut=etaCut;} void SetMaxY(Float_t yMax=0.5) {fYMax=yMax;} void SetMinCPA(Float_t minCPA=0.998) {fMinCPA=minCPA;} void SetCtau(Float_t minCtau = 0., Float_t maxCtau = 3.) {fMinCtau=minCtau;fMaxCtau=maxCtau;} @@ -150,10 +140,10 @@ class AliAnalysisTaskLambdaOverK0sJets : public AliAnalysisTaskSE { Int_t fEndOfHijingEvent; // Limit natural-injected MC particles AliPIDResponse *fPIDResponse; // PID Response - Float_t fMinPtDaughter; // Minimum transverse momentum for V0's daughters Float_t fMaxEtaDaughter; // Maximum pseudo-rapidity for V0's daughters Float_t fMaxDCADaughter; // Maximum Distance of Closest Approach between daughters (given in sigmas) + Bool_t fUseEtaCut; // Swicth between rapidity or pseudo-rapidity cut Float_t fYMax; // Maximum rapidity for V0 Float_t fDCAToPrimVtx; // Mimimum distance of closest approach of daughters to the vertex Float_t fMinCPA; // Minimum Cosine of the Pointing Angle to the vertex for V0 @@ -173,12 +163,10 @@ class AliAnalysisTaskLambdaOverK0sJets : public AliAnalysisTaskSE { TList** fMEList; //![] List of Mixed Events TObjArray* fTriggerParticles; // Trigger particle array - TObjArray* fChargedAssocParticles; // Trigger particle array TObjArray* fTriggerPartMC; // MC Trigger particle array TObjArray* fAssocParticles; // Associated particle array TObjArray* fAssocPartMC; // MC Associated particle array - TObjArray* fXiTriggerPartMC; // Xi leading particle: MC Trigger particle array - + TH1F* fEvents; //! Counter for the number of events in each step TH1F* fCentrality; //! Event centrality per centil TH1F* fCentrality2; //! Event centrality per centil with |VtxZ|<10cm @@ -229,22 +217,22 @@ class AliAnalysisTaskLambdaOverK0sJets : public AliAnalysisTaskSE { TH1F* fK0sAssocPt; //! K0s Assoc: pt TH3F* fK0sAssocPtArm; //! K0s Assoc: pt vs rapidity vs centrality (arm. pod. cut) TH3F* fK0sAssocPtRap; //! K0s Assoc: pt vs rapidity vs centrality + TH3F* fK0sAssocPtRapEmbeded; //! K0s Assoc: pt vs rapidity vs centrality (embeded particles) TH3F* fK0sAssocPtPhiEta[kNCent]; //! K0s Assoc: pt vs pseudo-rapidity - TH3F* fK0sAssocPtMassArm[kNCent]; //! K0s Assoc: mass vs pt vs centrality - TH3F* fK0sAssocMassPtVtx[kNCent]; //! K0s Assoc: mass vs pt vs Z vertex position - TH3F* fK0sAssocMassPtDCADaug[kNCent]; //! K0s Assoc: mass vs pt vs dca between daughters - TH3F* fK0sAssocMassPtCPA[kNCent]; //! K0s Assoc: mass vs pt vs cpa - TH3F* fK0sAssocMassPtDCAPV[kNCent]; //! K0s Assoc: mass vs pt vs dca to prim. vtx - TH3F* fK0sAssocMassPtDaugNClsTPC[kNCent]; //! K0s Assoc: mass vs pt vs num. of tpc clusters + THnSparse* fK0sAssocPtMassArm[kNCent]; //! K0s Assoc: mass vs pt vs centrality + THnSparse* fK0sAssocMassPtVtx[kNCent]; //! K0s Assoc: mass vs pt vs Z vertex position + THnSparse* fK0sAssocMassPtDCADaug[kNCent]; //! K0s Assoc: mass vs pt vs dca between daughters + THnSparse* fK0sAssocMassPtCPA[kNCent]; //! K0s Assoc: mass vs pt vs cpa + THnSparse* fK0sAssocMassPtDCAPV[kNCent]; //! K0s Assoc: mass vs pt vs dca to prim. vtx + THnSparse* fK0sAssocMassPtDaugNClsTPC[kNCent]; //! K0s Assoc: mass vs pt vs num. of tpc clusters - TH3F* fK0sAssocPtRapEmbeded; //! K0s Assoc: pt vs rapidity vs centrality (embeded particles) - TH3F* fK0sAssocPtMassArmEmbeded[kNCent]; //! K0s Assoc: mass vs pt vs rapidity (embeded particles) - TH3F* fK0sAssocMassPtVtxEmbeded[kNCent]; //! K0s Assoc: mass vs pt vs Z vertex position (embeded particles) - TH3F* fK0sAssocMassPtDCADaugEmbeded[kNCent]; //! K0s Assoc: mass vs pt vs dca between daughters (embeded particles) - TH3F* fK0sAssocMassPtCPAEmbeded[kNCent]; //! K0s Assoc: mass vs pt vs cpa (embeded particles) - TH3F* fK0sAssocMassPtDCAPVEmbeded[kNCent]; //! K0s Assoc: mass vs pt vs dca to prim. vtx (embeded particles) - TH3F* fK0sAssocMassPtDaugNClsTPCEmbeded[kNCent]; //! K0s Assoc: mass vs pt vs num. o ftpc clusters (embeded particles) + THnSparse* fK0sAssocPtMassArmEmbeded[kNCent]; //! K0s Assoc: mass vs pt vs rapidity (embeded particles) + THnSparse* fK0sAssocMassPtVtxEmbeded[kNCent]; //! K0s Assoc: mass vs pt vs Z vertex position (embeded particles) + THnSparse* fK0sAssocMassPtDCADaugEmbeded[kNCent]; //! K0s Assoc: mass vs pt vs dca between daughters (embeded particles) + THnSparse* fK0sAssocMassPtCPAEmbeded[kNCent]; //! K0s Assoc: mass vs pt vs cpa (embeded particles) + THnSparse* fK0sAssocMassPtDCAPVEmbeded[kNCent]; //! K0s Assoc: mass vs pt vs dca to prim. vtx (embeded particles) + THnSparse* fK0sAssocMassPtDaugNClsTPCEmbeded[kNCent]; //! K0s Assoc: mass vs pt vs num. o ftpc clusters (embeded particles) TH3F* fK0sMCResEta; //! K0s Assoc: eta resolution TH3F* fK0sMCResPhi; //! K0s Assoc: phi resolution @@ -265,26 +253,25 @@ class AliAnalysisTaskLambdaOverK0sJets : public AliAnalysisTaskSE { TH2F* fLambdaAssocFromXi; //! Lambda Assoc: coming from Xi TH3F* fLambdaAssocPtPhiEta[kNCent]; //! Lambda Assoc: pt vs pseudo-rapidity - TH3F* fLambdaAssocMassPtRap[kNCent]; //! Lambda Assoc: pt vs rapidity vs mass - TH3F* fLambdaAssocMassPtRap2[kNCent]; //! Lambda Assoc: pt vs rapidity vs mass (wo Cross contamination) - TH3F* fLambdaAssocMassPtVtx[kNCent]; //! Lambda Assoc: mass vs pt vs Z vertex position - TH3F* fLambdaAssocMassPtDCADaug[kNCent]; //! Lambda Assoc: mass vs pt vs dca btween daughters - TH3F* fLambdaAssocMassPtCPA[kNCent]; //! Lambda Assoc: mass vs pt vs cpa - TH3F* fLambdaAssocMassPtDCAPV[kNCent]; //! Lambda Assoc: mass vs pt vs dca to prim vtx - TH3F* fLambdaAssocMassPtDaugNClsTPC[kNCent]; //! Lambda Assoc: mass vs pt vs num.of tpc clusters - - TH3F* fLambdaAssocMassPtRapEmbeded[kNCent]; //! Lambda Assoc: pt vs rapidity vs mass (embeded) - TH3F* fLambdaAssocMassPtRapEmbeded2[kNCent]; //! Lambda Assoc: pt vs rapidity vs mass (wo Cross contamination) (embeded) - TH3F* fLambdaAssocMassPtVtxEmbeded[kNCent]; //! Lambda Assoc: mass vs pt vs Z vertex position (embeded particles) - TH3F* fLambdaAssocMassPtDCADaugEmbeded[kNCent]; //! Lambda Assoc: mass vs pt vs dca between daughters (embeded particles) - TH3F* fLambdaAssocMassPtCPAEmbeded[kNCent]; //! Lambda Assoc: mass vs pt vs cpa (embeded particles) - TH3F* fLambdaAssocMassPtDCAPVEmbeded[kNCent]; //! Lambda Assoc: mass vs pt vs dca to prim vtx (embeded particles) - TH3F* fLambdaAssocMassPtDaugNClsTPCEmbeded[kNCent]; //! Lambda Assoc: mass vs pt vs num. of tpc clusters (embeded particles) + THnSparse* fLambdaAssocMassPtRap[kNCent]; //! Lambda Assoc: pt vs rapidity vs mass + THnSparse* fLambdaAssocMassPtRap2[kNCent]; //! Lambda Assoc: pt vs rapidity vs mass (wo Cross contamination) + THnSparse* fLambdaAssocMassPtVtx[kNCent]; //! Lambda Assoc: mass vs pt vs Z vertex position + THnSparse* fLambdaAssocMassPtDCADaug[kNCent]; //! Lambda Assoc: mass vs pt vs dca btween daughters + THnSparse* fLambdaAssocMassPtCPA[kNCent]; //! Lambda Assoc: mass vs pt vs cpa + THnSparse* fLambdaAssocMassPtDCAPV[kNCent]; //! Lambda Assoc: mass vs pt vs dca to prim vtx + THnSparse* fLambdaAssocMassPtDaugNClsTPC[kNCent]; //! Lambda Assoc: mass vs pt vs num.of tpc clusters + + THnSparse* fLambdaAssocMassPtRapEmbeded[kNCent]; //! Lambda Assoc: pt vs rapidity vs mass (embeded) + THnSparse* fLambdaAssocMassPtRapEmbeded2[kNCent]; //! Lambda Assoc: pt vs rapidity vs mass (wo Cross contamination) (embeded) + THnSparse* fLambdaAssocMassPtVtxEmbeded[kNCent]; //! Lambda Assoc: mass vs pt vs Z vertex position (embeded particles) + THnSparse* fLambdaAssocMassPtDCADaugEmbeded[kNCent]; //! Lambda Assoc: mass vs pt vs dca between daughters (embeded particles) + THnSparse* fLambdaAssocMassPtCPAEmbeded[kNCent]; //! Lambda Assoc: mass vs pt vs cpa (embeded particles) + THnSparse* fLambdaAssocMassPtDCAPVEmbeded[kNCent]; //! Lambda Assoc: mass vs pt vs dca to prim vtx (embeded particles) + THnSparse* fLambdaAssocMassPtDaugNClsTPCEmbeded[kNCent]; //! Lambda Assoc: mass vs pt vs num. of tpc clusters (embeded particles) TH3F* fLambdaMCResEta; //! Lambda Assoc: eta resolution TH3F* fLambdaMCResPhi; //! Lambda Assoc: phi resolution - // AntiLambda // TH1F* fAntiLambdaMCPt; //! AntiLambda MC: pt TH3F* fAntiLambdaMCPtRap; //! AntiLambda MC: pt vs rapidity @@ -300,21 +287,21 @@ class AliAnalysisTaskLambdaOverK0sJets : public AliAnalysisTaskSE { TH2F* fAntiLambdaAssocFromXi; //! AntiLambda Assoc: coming from Xi TH3F* fAntiLambdaAssocPtPhiEta[kNCent]; //! AntiLambda Assoc: pt vs pseudo-rapidity - TH3F* fAntiLambdaAssocMassPtRap[kNCent]; //! AntiLambda Assoc: mass vs pt vs rapidity - TH3F* fAntiLambdaAssocMassPtRap2[kNCent]; //! AntiLambda Assoc: mass vs pt vs rapidity (wo Cross contamination) - TH3F* fAntiLambdaAssocMassPtVtx[kNCent]; //! AntiLambda Assoc: mass vs pt vs Z vtx position - TH3F* fAntiLambdaAssocMassPtDCADaug[kNCent]; //! AntiLambda Assoc: mass vs pt vs Dca between daughters - TH3F* fAntiLambdaAssocMassPtCPA[kNCent]; //! AntiLambda Assoc: mass vs pt vs cpa - TH3F* fAntiLambdaAssocMassPtDCAPV[kNCent]; //! AntiLambda Assoc: mass vs pt vs dca to prim. vtx - TH3F* fAntiLambdaAssocMassPtDaugNClsTPC[kNCent]; //! AntiLambda Assoc: mass vs pt vs num. of tpc clusters - - TH3F* fAntiLambdaAssocMassPtRapEmbeded[kNCent]; //! AntiLambda Assoc: mass vs pt vs rapidity (embeded) - TH3F* fAntiLambdaAssocMassPtRapEmbeded2[kNCent]; //! AntiLambda Assoc: mass vs pt vs rapidity (wo Cross contamination) (embeded) - TH3F* fAntiLambdaAssocMassPtVtxEmbeded[kNCent]; //! AntiLambda Assoc: mass vs pt vs Z vtx. position (embeded particles) - TH3F* fAntiLambdaAssocMassPtDCADaugEmbeded[kNCent]; //! AntiLambda Assoc: mass vs pt vs dca between daughters (embeded particles) - TH3F* fAntiLambdaAssocMassPtCPAEmbeded[kNCent]; //! AntiLambda Assoc: mass vs pt vs cpa (embeded particles) - TH3F* fAntiLambdaAssocMassPtDCAPVEmbeded[kNCent]; //! AntiLambda Assoc: mass vs pt vs dca to prim. vtx (embeded particles) - TH3F* fAntiLambdaAssocMassPtDaugNClsTPCEmbeded[kNCent]; //! AntiLambda Assoc: mass vs pt vs num. of tpc clusters (embeded particles) + THnSparse* fAntiLambdaAssocMassPtRap[kNCent]; //! AntiLambda Assoc: mass vs pt vs rapidity + THnSparse* fAntiLambdaAssocMassPtRap2[kNCent]; //! AntiLambda Assoc: mass vs pt vs rapidity (wo Cross contamination) + THnSparse* fAntiLambdaAssocMassPtVtx[kNCent]; //! AntiLambda Assoc: mass vs pt vs Z vtx position + THnSparse* fAntiLambdaAssocMassPtDCADaug[kNCent]; //! AntiLambda Assoc: mass vs pt vs Dca between daughters + THnSparse* fAntiLambdaAssocMassPtCPA[kNCent]; //! AntiLambda Assoc: mass vs pt vs cpa + THnSparse* fAntiLambdaAssocMassPtDCAPV[kNCent]; //! AntiLambda Assoc: mass vs pt vs dca to prim. vtx + THnSparse* fAntiLambdaAssocMassPtDaugNClsTPC[kNCent]; //! AntiLambda Assoc: mass vs pt vs num. of tpc clusters + + THnSparse* fAntiLambdaAssocMassPtRapEmbeded[kNCent]; //! AntiLambda Assoc: mass vs pt vs rapidity (embeded) + THnSparse* fAntiLambdaAssocMassPtRapEmbeded2[kNCent]; //! AntiLambda Assoc: mass vs pt vs rapidity (wo Cross contamination) (embeded) + THnSparse* fAntiLambdaAssocMassPtVtxEmbeded[kNCent]; //! AntiLambda Assoc: mass vs pt vs Z vtx. position (embeded particles) + THnSparse* fAntiLambdaAssocMassPtDCADaugEmbeded[kNCent]; //! AntiLambda Assoc: mass vs pt vs dca between daughters (embeded particles) + THnSparse* fAntiLambdaAssocMassPtCPAEmbeded[kNCent]; //! AntiLambda Assoc: mass vs pt vs cpa (embeded particles) + THnSparse* fAntiLambdaAssocMassPtDCAPVEmbeded[kNCent]; //! AntiLambda Assoc: mass vs pt vs dca to prim. vtx (embeded particles) + THnSparse* fAntiLambdaAssocMassPtDaugNClsTPCEmbeded[kNCent]; //! AntiLambda Assoc: mass vs pt vs num. of tpc clusters (embeded particles) TH3F* fAntiLambdaMCResEta; //! AntiLambda Assoc: eta resolution TH3F* fAntiLambdaMCResPhi; //! AntiLambda Assoc: phi resolution @@ -402,18 +389,6 @@ class AliAnalysisTaskLambdaOverK0sJets : public AliAnalysisTaskSE { TH2F* fAntiLambdaBckgDCANegDaugToPrimVtx; //! AntiLambda background: DCA of Negative daughter to the primary vertex inside the radio 0.4 wrt the near-side peak TH2F* fAntiLambdaBckgDCAPosDaugToPrimVtx; //! AntiLambda background: DCA of Positive daughter to the primary vertex inside the radio 0.4 wrt the near-side peak - // Xi Minus // - TH2F* fXiMinusPtMCAssoc; //! Xi Minus MC: Pt vs Centrality when they are associated particles - TH2F* fXiMinusPtMCTrigger; //! Xi Minus MC: Pt vs Centrality when they are trigger particles - TH3F* fXiMinusdPhidEtaMC[kNCent*kN2]; //! Xi Minus MC: Delta phi,Delta eta vs Z vertex position - TH3F* fXiMinusdPhidEtaMC2[kNCent*kN2]; //! Xi Minus MC: Delta phi,Delta eta vs Z vertex position - TH3F* fXiMinusdPhidEtaMC3[kNCent*kN3]; //! Xi Minus MC: Delta phi,Delta eta vs Z vertex position - - // Gamma converison // - TH3F* fGammaConversiondPhidEta[kNCent]; //! Gamma conversion: Delta phi,Delta eta vs Z vertex position - - // Charged particles // - TH2F* fChargeddPhidEta[kNVtxZ*kNCent*kNc]; //! Charged particles: Delta phi,Delta eta /// ==== Quality Assurance plots === /// @@ -520,7 +495,6 @@ class AliAnalysisTaskLambdaOverK0sJets : public AliAnalysisTaskSE { /// ==== Mixed Events plots === /// - TH2F* fChargeddPhidEtaME[kNVtxZ*kNCent*kNc+1]; //! K0s Mixed Events TH2F* fK0sdPhidEtaME[kNVtxZ*kNCent*kN1+1]; //! K0s Mixed Events TH2F* fLambdadPhidEtaME[kNVtxZ*kNCent*kN1+1]; //! Lambda Mixed Events TH2F* fAntiLambdadPhidEtaME[kNVtxZ*kNCent*kN1+1]; //! AntiLambda Mixed Events diff --git a/PWGLF/STRANGENESS/Correlations/macros/AddTaskLambdaOverK0sJets.C b/PWGLF/STRANGENESS/Correlations/macros/AddTaskLambdaOverK0sJets.C index 091eff36b9d..d7c245e6855 100644 --- a/PWGLF/STRANGENESS/Correlations/macros/AddTaskLambdaOverK0sJets.C +++ b/PWGLF/STRANGENESS/Correlations/macros/AddTaskLambdaOverK0sJets.C @@ -4,7 +4,8 @@ AliAnalysisTaskLambdaOverK0sJets *AddTaskLambdaOverK0sJets( TString name = Float_t maxCen = 40., Bool_t sepInjec = kTRUE, Bool_t isMC = kFALSE, - Bool_t doQA = kTRUE){ + Bool_t doQA = kTRUE, + Bool_t useEtaCut = kFALSE){ @@ -18,8 +19,8 @@ AliAnalysisTaskLambdaOverK0sJets *AddTaskLambdaOverK0sJets( TString name = Float_t nSigmaPID = 3.0; Float_t dcaDaug = 1.0; Float_t dca2PrmVtx = 0.095; // tighter cut - Float_t nclsDaug = 50; // looser cut - + Float_t nclsDaug = 70; + Float_t minPtDaughter = 0.; AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager(); if (!mgr) { @@ -39,11 +40,13 @@ AliAnalysisTaskLambdaOverK0sJets *AddTaskLambdaOverK0sJets( TString name = task->SetTriggerEta(etaMaxTrig); task->SetCheckIDTrig(checkIDTrig); // V0 candidates + task->SetEtaCut(useEtaCut); task->SetMaxY(rapMaxV0); task->SetMaxDCADaughter(dcaDaug); // Added to perform systematics task->SetDCAToPrimVtx(dca2PrmVtx); // Added to perform systematics task->SetNSigmaPID(nSigmaPID); task->SetNClsTPC(nclsDaug); // Added to perform systematics + task->SetMinPtDaughter(minPtDaughter); // PID task->SetSeparateInjectedPart(sepInjec); // MC