@@ -192,6 +192,9 @@ struct derivedlambdakzeroanalysis {
192192 Configurable<float > v0radiusMax{" v0radiusMax" , 1E5 , " maximum V0 radius (cm)" };
193193 Configurable<LabeledArray<float >> lifetimecut{" lifetimecut" , {DefaultLifetimeCuts[0 ], 2 , {" lifetimecutLambda" , " lifetimecutK0S" }}, " lifetimecut" };
194194
195+ // invariant mass selection
196+ Configurable<float > compMassRejection{" compMassRejection" , -1 , " Competing mass rejection (GeV/#it{c}^{2})" };
197+
195198 // Additional selection on the AP plot (exclusive for K0Short)
196199 // original equation: lArmPt*5>TMath::Abs(lArmAlpha)
197200 Configurable<float > armPodCut{" armPodCut" , 5 .0f , " pT * (cut) > |alpha|, AP cut. Negative: no cut" };
@@ -374,6 +377,8 @@ struct derivedlambdakzeroanalysis {
374377 selDCAV0Dau,
375378 selK0ShortRapidity,
376379 selLambdaRapidity,
380+ selK0ShortMassRejection,
381+ selLambdaMassRejection,
377382 selTPCPIDPositivePion,
378383 selTPCPIDNegativePion,
379384 selTPCPIDPositiveProton,
@@ -571,6 +576,12 @@ struct derivedlambdakzeroanalysis {
571576 BITSET (maskAntiLambdaSpecific, selNegNotTPCOnly);
572577 }
573578
579+ if (v0Selections.compMassRejection > -1 ) {
580+ BITSET (maskK0ShortSpecific, selLambdaMassRejection);
581+ BITSET (maskLambdaSpecific, selK0ShortMassRejection);
582+ BITSET (maskAntiLambdaSpecific, selK0ShortMassRejection);
583+ }
584+
574585 // Primary particle selection, central to analysis
575586 maskSelectionK0Short = maskTopological | maskTrackProperties | maskK0ShortSpecific;
576587 maskSelectionLambda = maskTopological | maskTrackProperties | maskLambdaSpecific;
@@ -721,6 +732,8 @@ struct derivedlambdakzeroanalysis {
721732 hSelectionV0s->GetXaxis ()->SetBinLabel (selDCAV0Dau + 2 , " DCA V0 dau." );
722733 hSelectionV0s->GetXaxis ()->SetBinLabel (selK0ShortRapidity + 2 , " K^{0}_{S} rapidity" );
723734 hSelectionV0s->GetXaxis ()->SetBinLabel (selLambdaRapidity + 2 , " #Lambda rapidity" );
735+ hSelectionV0s->GetXaxis ()->SetBinLabel (selK0ShortMassRejection + 2 , " K^{0}_{S} mass rej." );
736+ hSelectionV0s->GetXaxis ()->SetBinLabel (selLambdaMassRejection + 2 , " #Lambda mass rej." );
724737 hSelectionV0s->GetXaxis ()->SetBinLabel (selTPCPIDPositivePion + 2 , " TPC PID #pi^{+}" );
725738 hSelectionV0s->GetXaxis ()->SetBinLabel (selTPCPIDNegativePion + 2 , " TPC PID #pi^{-}" );
726739 hSelectionV0s->GetXaxis ()->SetBinLabel (selTPCPIDPositiveProton + 2 , " TPC PID p" );
@@ -1231,6 +1244,14 @@ struct derivedlambdakzeroanalysis {
12311244 if (std::abs (rapidityK0Short) < v0Selections.rapidityCut )
12321245 BITSET (bitMap, selK0ShortRapidity);
12331246
1247+ //
1248+ // competing mass rejection
1249+ //
1250+ if (std::fabs (v0.mK0Short () - o2::constants::physics::MassK0Short) > v0Selections.compMassRejection )
1251+ BITSET (bitMap, selK0ShortMassRejection);
1252+ if (std::fabs (v0.mLambda () - o2::constants::physics::MassLambda0) > v0Selections.compMassRejection )
1253+ BITSET (bitMap, selLambdaMassRejection);
1254+
12341255 auto posTrackExtra = v0.template posTrackExtra_as <DauTracks>();
12351256 auto negTrackExtra = v0.template negTrackExtra_as <DauTracks>();
12361257
0 commit comments