Skip to content

Commit 8c69f0f

Browse files
author
Henrik Fribert
committed
Add lambda daughter PID approach
1 parent fdbd6de commit 8c69f0f

1 file changed

Lines changed: 4 additions & 11 deletions

File tree

‎PWGCF/Femto/Core/kinkBuilder.h‎

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -91,10 +91,9 @@ struct ConfSigmaPlusBits : o2::framework::ConfigurableGroup {
9191
o2::framework::Configurable<std::vector<float>> alphaAPMin{"alphaAPMin", {0.0f}, "Minimum Alpha_AP for SigmaPlus candidates"};
9292
o2::framework::Configurable<std::vector<float>> alphaAPMax{"alphaAPMax", {1.0f}, "Maximum Alpha_AP for SigmaPlus candidates"};
9393
o2::framework::Configurable<std::vector<float>> chaDauTpcProton{"chaDauTpcProton", {5.f}, "Maximum |nsigma_Proton| TPC for charged daughter tracks"};
94-
o2::framework::Configurable<std::vector<float>> chaDauTofProton{"chaDauTofProton", {}, "Maximum |nsigma_Proton| TOF for charged daughter tracks (only used above pidThres)"};
95-
o2::framework::Configurable<bool> requireTof{"requireTof", false, "If true, TOF PID is a minimal selection above pidThres. If false, TOF PID only sets bits"};
96-
o2::framework::Configurable<bool> keepTracksWithoutTof{"keepTracksWithoutTof", true, "If true, daughters above pidThres without TOF signal pass all TOF selections"};
97-
o2::framework::Configurable<float> pidThres{"pidThres", 0.75f, "Daughter momentum threshold (GeV/c). Below, only TPC PID is used and all TOF selections are passed"};
94+
o2::framework::Configurable<std::vector<float>> chaDauTofProton{"chaDauTofProton", {}, "Maximum |nsigma_Proton| TOF for charged daughter tracks"};
95+
o2::framework::Configurable<bool> requireTof{"requireTof", false, "If true, TOF PID is a minimal selection. If false, TOF PID is optional"};
96+
o2::framework::Configurable<bool> keepTracksWithoutTof{"keepTracksWithoutTof", true, "If true, the bit mask for the TOF selection will be true for all limits if the daughter track has no TOF"};
9897
};
9998

10099
#undef KINK_DEFAULT_BITS
@@ -243,7 +242,6 @@ class KinkSelection : public baseselection::BaseSelection<float, o2::analysis::f
243242
if constexpr (modes::isEqual(kinkType, modes::Kink::kSigmaPlus)) {
244243
mMassSigmaPlusLowerLimit = filter.massMinSigmaPlus.value;
245244
mMassSigmaPlusUpperLimit = filter.massMaxSigmaPlus.value;
246-
mPidThreshold = config.pidThres.value;
247245
mKeepTracksWithoutTof = config.keepTracksWithoutTof.value;
248246
this->addSelection(kChaDaughTpcProton, kinkSelectionNames.at(kChaDaughTpcProton), config.chaDauTpcProton.value, limits::kAbsUpperLimit, true, true, false);
249247
this->addSelection(kChaDaughTofProton, kinkSelectionNames.at(kChaDaughTofProton), config.chaDauTofProton.value, limits::kAbsUpperLimit, true, config.requireTof.value, false);
@@ -320,7 +318,6 @@ class KinkSelection : public baseselection::BaseSelection<float, o2::analysis::f
320318
mCosPointingAngle = (vMotherNorm > 0.f && kinkMomP > 0.f) ? (std::inner_product(momMother.begin(), momMother.end(), vMother.begin(), 0.f)) / (kinkMomP * vMotherNorm) : 0.f;
321319
mTransRadius = std::hypot(kinkCand.xDecVtx(), kinkCand.yDecVtx());
322320

323-
mKinkDauP = kinkDauP;
324321
mKinkDauEta = RecoDecay::eta(momDaughter);
325322

326323
mKinkAngle = 0.f;
@@ -364,9 +361,7 @@ class KinkSelection : public baseselection::BaseSelection<float, o2::analysis::f
364361
}
365362
if constexpr (modes::isEqual(kinkType, modes::Kink::kSigmaPlus)) {
366363
this->evaluateObservable(kChaDaughTpcProton, chaDaughter.tpcNSigmaPr());
367-
if (mKinkDauP < mPidThreshold) {
368-
this->evaluateObservable(kChaDaughTofProton, 0.f);
369-
} else if (chaDaughter.hasTOF()) {
364+
if (chaDaughter.hasTOF()) {
370365
this->evaluateObservable(kChaDaughTofProton, chaDaughter.tofNSigmaPr());
371366
} else {
372367
this->evaluateObservable(kChaDaughTofProton, mKeepTracksWithoutTof ? 0.f : 999.f);
@@ -471,7 +466,6 @@ class KinkSelection : public baseselection::BaseSelection<float, o2::analysis::f
471466
float mMassSigmaUpperLimit = 1.25f;
472467
float mMassSigmaPlusLowerLimit = 1.15f;
473468
float mMassSigmaPlusUpperLimit = 1.25f;
474-
float mPidThreshold = 0.75f;
475469
bool mKeepTracksWithoutTof = true;
476470

477471
// kinematic filters
@@ -494,7 +488,6 @@ class KinkSelection : public baseselection::BaseSelection<float, o2::analysis::f
494488
float mCosPointingAngle = 0.f;
495489
float mTransRadius = 0.f;
496490
float mKinkDauEta = 0.f;
497-
float mKinkDauP = 0.f;
498491
float mKinkAngle = 0.f;
499492
};
500493

0 commit comments

Comments
 (0)