Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 12 additions & 1 deletion PWGCF/Femto/Core/cascadeBuilder.h
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,8 @@ struct ConfCascadeFilters : o2::framework::ConfigurableGroup {
#define CASCADE_DEFAULT_BITS \
o2::framework::Configurable<bool> passThrough{"passThrough", false, "If true, all Cascades are passed through. Bits for all selections are stored."}; \
o2::framework::Configurable<std::vector<float>> cascadeCpaMin{"cascadeCpaMin", {0.95f}, "Minimum cosine of pointing angle"}; \
o2::framework::Configurable<bool> cascadeCpaPtDependent{"cascadeCpaPtDependent", false, "If true, use cascadeCpaMinFormula instead of cascadeCpaMin"}; \
o2::framework::Configurable<std::vector<std::string>> cascadeCpaMinFormula{"cascadeCpaMinFormula", {"0.95"}, "Minimum CPA as TFormula, x=pt"}; \
o2::framework::Configurable<std::vector<float>> cascadeTransRadMin{"cascadeTransRadMin", {0.9f}, "Minimum transverse radius (cm)"}; \
o2::framework::Configurable<std::vector<float>> cascadeDcaDauMax{"cascadeDcaDauMax", {0.25f}, "Maximum DCA between the daughters at decay vertex (cm)"}; \
o2::framework::Configurable<std::vector<float>> lambdaCpaMin{"lambdaCpaMin", {0.78f}, "Minimum cosine of pointing angle"}; \
Expand Down Expand Up @@ -243,6 +245,7 @@ class CascadeSelection : public baseselection::BaseSelection<float, o2::analysis
mPhiMax = filter.phiMax.value;
mLambdaMassMin = filter.massLambdaMin.value;
mLambdaMassMax = filter.massLambdaMax.value;
mCpaPtDependent = config.cascadeCpaPtDependent.value;
mRequireTof = config.requireTof.value;
mKeepTracksWithoutTof = config.keepTracksWithoutTof.value;

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

this->addSelection(kCascadeCpaMin, cascadeSelectionNames.at(kCascadeCpaMin), config.cascadeCpaMin.value, limits::kLowerLimit, true, true, false);
if (mCpaPtDependent) {
this->addSelection(kCascadeCpaMin, cascadeSelectionNames.at(kCascadeCpaMin), filter.ptMin.value, filter.ptMax.value, config.cascadeCpaMinFormula.value, limits::kLowerFunctionLimit, true, true, false);
} else {
this->addSelection(kCascadeCpaMin, cascadeSelectionNames.at(kCascadeCpaMin), config.cascadeCpaMin.value, limits::kLowerLimit, true, true, false);
}
this->addSelection(kCascadeTransRadMin, cascadeSelectionNames.at(kCascadeTransRadMin), config.cascadeTransRadMin.value, limits::kLowerLimit, true, true, false);
this->addSelection(kCascadeDcaDaughMax, cascadeSelectionNames.at(kCascadeDcaDaughMax), config.cascadeDcaDauMax.value, limits::kUpperLimit, true, true, false);
this->addSelection(kLambdaCpaMin, cascadeSelectionNames.at(kLambdaCpaMin), config.lambdaCpaMin.value, limits::kLowerLimit, true, true, false);
Expand Down Expand Up @@ -307,6 +314,9 @@ class CascadeSelection : public baseselection::BaseSelection<float, o2::analysis
{
this->reset();
// cascade selections
if (mCpaPtDependent) {
this->updateLimits(kCascadeCpaMin, cascade.pt());
}
this->evaluateObservable(kCascadeCpaMin, cascade.casccosPA(col.posX(), col.posY(), col.posZ()));
this->evaluateObservable(kCascadeDcaDaughMax, cascade.dcacascdaughters());
this->evaluateObservable(kCascadeTransRadMin, cascade.cascradius());
Expand Down Expand Up @@ -489,6 +499,7 @@ class CascadeSelection : public baseselection::BaseSelection<float, o2::analysis
float mPhiMax = o2::constants::math::TwoPI;
float mLambdaMassMin = 1.f;
float mLambdaMassMax = 1.2f;
bool mCpaPtDependent = false;
bool mRequireTof = false;
bool mKeepTracksWithoutTof = false;
};
Expand Down
Loading