diff --git a/PWGLF/Tasks/Strangeness/derivedlambdakzeroanalysis.cxx b/PWGLF/Tasks/Strangeness/derivedlambdakzeroanalysis.cxx index 2066e2487ea..949709c68fc 100644 --- a/PWGLF/Tasks/Strangeness/derivedlambdakzeroanalysis.cxx +++ b/PWGLF/Tasks/Strangeness/derivedlambdakzeroanalysis.cxx @@ -192,6 +192,9 @@ struct derivedlambdakzeroanalysis { Configurable v0radiusMax{"v0radiusMax", 1E5, "maximum V0 radius (cm)"}; Configurable> lifetimecut{"lifetimecut", {DefaultLifetimeCuts[0], 2, {"lifetimecutLambda", "lifetimecutK0S"}}, "lifetimecut"}; + // invariant mass selection + Configurable compMassRejection{"compMassRejection", -1, "Competing mass rejection (GeV/#it{c}^{2})"}; + // Additional selection on the AP plot (exclusive for K0Short) // original equation: lArmPt*5>TMath::Abs(lArmAlpha) Configurable armPodCut{"armPodCut", 5.0f, "pT * (cut) > |alpha|, AP cut. Negative: no cut"}; @@ -374,6 +377,8 @@ struct derivedlambdakzeroanalysis { selDCAV0Dau, selK0ShortRapidity, selLambdaRapidity, + selK0ShortMassRejection, + selLambdaMassRejection, selTPCPIDPositivePion, selTPCPIDNegativePion, selTPCPIDPositiveProton, @@ -571,6 +576,12 @@ struct derivedlambdakzeroanalysis { BITSET(maskAntiLambdaSpecific, selNegNotTPCOnly); } + if (v0Selections.compMassRejection > -1) { + BITSET(maskK0ShortSpecific, selLambdaMassRejection); + BITSET(maskLambdaSpecific, selK0ShortMassRejection); + BITSET(maskAntiLambdaSpecific, selK0ShortMassRejection); + } + // Primary particle selection, central to analysis maskSelectionK0Short = maskTopological | maskTrackProperties | maskK0ShortSpecific; maskSelectionLambda = maskTopological | maskTrackProperties | maskLambdaSpecific; @@ -721,6 +732,8 @@ struct derivedlambdakzeroanalysis { hSelectionV0s->GetXaxis()->SetBinLabel(selDCAV0Dau + 2, "DCA V0 dau."); hSelectionV0s->GetXaxis()->SetBinLabel(selK0ShortRapidity + 2, "K^{0}_{S} rapidity"); hSelectionV0s->GetXaxis()->SetBinLabel(selLambdaRapidity + 2, "#Lambda rapidity"); + hSelectionV0s->GetXaxis()->SetBinLabel(selK0ShortMassRejection + 2, "K^{0}_{S} mass rej."); + hSelectionV0s->GetXaxis()->SetBinLabel(selLambdaMassRejection + 2, "#Lambda mass rej."); hSelectionV0s->GetXaxis()->SetBinLabel(selTPCPIDPositivePion + 2, "TPC PID #pi^{+}"); hSelectionV0s->GetXaxis()->SetBinLabel(selTPCPIDNegativePion + 2, "TPC PID #pi^{-}"); hSelectionV0s->GetXaxis()->SetBinLabel(selTPCPIDPositiveProton + 2, "TPC PID p"); @@ -1231,6 +1244,14 @@ struct derivedlambdakzeroanalysis { if (std::abs(rapidityK0Short) < v0Selections.rapidityCut) BITSET(bitMap, selK0ShortRapidity); + // + // competing mass rejection + // + if (std::fabs(v0.mK0Short() - o2::constants::physics::MassK0Short) > v0Selections.compMassRejection) + BITSET(bitMap, selK0ShortMassRejection); + if (std::fabs(v0.mLambda() - o2::constants::physics::MassLambda0) > v0Selections.compMassRejection) + BITSET(bitMap, selLambdaMassRejection); + auto posTrackExtra = v0.template posTrackExtra_as(); auto negTrackExtra = v0.template negTrackExtra_as();