Skip to content

Commit 64fbe70

Browse files
committed
[PWGCF] Add optional pT-dependent CPA selection for cascades
1 parent a5147e3 commit 64fbe70

1 file changed

Lines changed: 12 additions & 1 deletion

File tree

PWGCF/Femto/Core/cascadeBuilder.h

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,8 @@ struct ConfCascadeFilters : o2::framework::ConfigurableGroup {
6666
#define CASCADE_DEFAULT_BITS \
6767
o2::framework::Configurable<bool> passThrough{"passThrough", false, "If true, all Cascades are passed through. Bits for all selections are stored."}; \
6868
o2::framework::Configurable<std::vector<float>> cascadeCpaMin{"cascadeCpaMin", {0.95f}, "Minimum cosine of pointing angle"}; \
69+
o2::framework::Configurable<bool> cascadeCpaPtDependent{"cascadeCpaPtDependent", false, "If true, use cascadeCpaMinFormula instead of cascadeCpaMin"}; \
70+
o2::framework::Configurable<std::vector<std::string>> cascadeCpaMinFormula{"cascadeCpaMinFormula", {"0.95"}, "Minimum CPA as TFormula, x=pt"}; \
6971
o2::framework::Configurable<std::vector<float>> cascadeTransRadMin{"cascadeTransRadMin", {0.9f}, "Minimum transverse radius (cm)"}; \
7072
o2::framework::Configurable<std::vector<float>> cascadeDcaDauMax{"cascadeDcaDauMax", {0.25f}, "Maximum DCA between the daughters at decay vertex (cm)"}; \
7173
o2::framework::Configurable<std::vector<float>> lambdaCpaMin{"lambdaCpaMin", {0.78f}, "Minimum cosine of pointing angle"}; \
@@ -243,6 +245,7 @@ class CascadeSelection : public baseselection::BaseSelection<float, o2::analysis
243245
mPhiMax = filter.phiMax.value;
244246
mLambdaMassMin = filter.massLambdaMin.value;
245247
mLambdaMassMax = filter.massLambdaMax.value;
248+
mCpaPtDependent = config.cascadeCpaPtDependent.value;
246249
mRequireTof = config.requireTof.value;
247250
mKeepTracksWithoutTof = config.keepTracksWithoutTof.value;
248251

@@ -270,7 +273,11 @@ class CascadeSelection : public baseselection::BaseSelection<float, o2::analysis
270273
this->addSelection(kPosDauTof, cascadeSelectionNames.at(kPosDauTof), config.posDauTof.value, limits::kAbsUpperLimit, true, mRequireTof, false);
271274
this->addSelection(kNegDauTof, cascadeSelectionNames.at(kNegDauTof), config.negDauTof.value, limits::kAbsUpperLimit, true, mRequireTof, false);
272275

273-
this->addSelection(kCascadeCpaMin, cascadeSelectionNames.at(kCascadeCpaMin), config.cascadeCpaMin.value, limits::kLowerLimit, true, true, false);
276+
if (mCpaPtDependent) {
277+
this->addSelection(kCascadeCpaMin, cascadeSelectionNames.at(kCascadeCpaMin), filter.ptMin.value, filter.ptMax.value, config.cascadeCpaMinFormula.value, limits::kLowerFunctionLimit, true, true, false);
278+
} else {
279+
this->addSelection(kCascadeCpaMin, cascadeSelectionNames.at(kCascadeCpaMin), config.cascadeCpaMin.value, limits::kLowerLimit, true, true, false);
280+
}
274281
this->addSelection(kCascadeTransRadMin, cascadeSelectionNames.at(kCascadeTransRadMin), config.cascadeTransRadMin.value, limits::kLowerLimit, true, true, false);
275282
this->addSelection(kCascadeDcaDaughMax, cascadeSelectionNames.at(kCascadeDcaDaughMax), config.cascadeDcaDauMax.value, limits::kUpperLimit, true, true, false);
276283
this->addSelection(kLambdaCpaMin, cascadeSelectionNames.at(kLambdaCpaMin), config.lambdaCpaMin.value, limits::kLowerLimit, true, true, false);
@@ -307,6 +314,9 @@ class CascadeSelection : public baseselection::BaseSelection<float, o2::analysis
307314
{
308315
this->reset();
309316
// cascade selections
317+
if (mCpaPtDependent) {
318+
this->updateLimits(kCascadeCpaMin, cascade.pt());
319+
}
310320
this->evaluateObservable(kCascadeCpaMin, cascade.casccosPA(col.posX(), col.posY(), col.posZ()));
311321
this->evaluateObservable(kCascadeDcaDaughMax, cascade.dcacascdaughters());
312322
this->evaluateObservable(kCascadeTransRadMin, cascade.cascradius());
@@ -489,6 +499,7 @@ class CascadeSelection : public baseselection::BaseSelection<float, o2::analysis
489499
float mPhiMax = o2::constants::math::TwoPI;
490500
float mLambdaMassMin = 1.f;
491501
float mLambdaMassMax = 1.2f;
502+
bool mCpaPtDependent = false;
492503
bool mRequireTof = false;
493504
bool mKeepTracksWithoutTof = false;
494505
};

0 commit comments

Comments
 (0)