Skip to content

Commit 0643c51

Browse files
authored
[PWGCF] flowGenericFramework.cxx: Lambda selection fix (#17600)
1 parent 66d5d4e commit 0643c51

1 file changed

Lines changed: 10 additions & 10 deletions

File tree

PWGCF/GenericFramework/Tasks/flowGenericFramework.cxx

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,7 @@ struct FlowGenericFramework {
160160
O2_DEFINE_CONFIGURABLE(cfgDCAz, float, 2, "Cut on DCA in the longitudinal direction (cm)");
161161
O2_DEFINE_CONFIGURABLE(cfgNTPCCls, float, 50, "Cut on number of TPC clusters found");
162162
O2_DEFINE_CONFIGURABLE(cfgNTPCXrows, float, 70, "Cut on number of TPC crossed rows");
163+
O2_DEFINE_CONFIGURABLE(cfgNTPCXrowsDaughters, float, 70, "Cut on number of TPC crossed rows of V0 daughters");
163164
O2_DEFINE_CONFIGURABLE(cfgMinNITSCls, float, 5, "Cut on minimum number of ITS clusters found");
164165
O2_DEFINE_CONFIGURABLE(cfgChi2PrITSCls, float, 36, "Cut on chi^2 per ITS clusters found");
165166
O2_DEFINE_CONFIGURABLE(cfgChi2PrTPCCls, float, 2.5, "Cut on chi^2 per TPC clusters found");
@@ -178,8 +179,7 @@ struct FlowGenericFramework {
178179
O2_DEFINE_CONFIGURABLE(cfgIsVertexITSTPC, bool, true, "IsVertexITSTPC - Selects collisions with at least one ITS-TPC track");
179180
} cfgEventCutFlags;
180181
struct : ConfigurableGroup {
181-
O2_DEFINE_CONFIGURABLE(cfgOccupancySelection, int, 2000, "Max occupancy selection, -999 to disable");
182-
O2_DEFINE_CONFIGURABLE(cfgDoOccupancySel, bool, true, "Bool for event selection on detector occupancy");
182+
O2_DEFINE_CONFIGURABLE(cfgOccupancySelection, int, -999, "Max occupancy selection, -999 to disable");
183183
O2_DEFINE_CONFIGURABLE(cfgMagField, float, 99999, "Configurable magnetic field; default CCDB will be queried");
184184
O2_DEFINE_CONFIGURABLE(cfgMultCut, bool, false, "Use additional event cut on mult correlations");
185185
} cfgEventSelection;
@@ -1393,7 +1393,7 @@ struct FlowGenericFramework {
13931393
if (cfgTrackCuts.cfgDCAxyNSigma && (std::fabs(track.dcaXY()) > fPtDepDCAxy->Eval(track.pt()))) {
13941394
return false;
13951395
}
1396-
if (!cfgTrackCuts.cfgDCAzPtDep.value.empty() && std::fabs(track.dcaZ() > fPtDepDCAz->Eval(track.pt()))) {
1396+
if (!cfgTrackCuts.cfgDCAzPtDep.value.empty() && std::fabs(track.dcaZ()) > fPtDepDCAz->Eval(track.pt())) {
13971397
return false;
13981398
}
13991399
return ((track.tpcNClsCrossedRows() >= cfgTrackCuts.cfgNTPCXrows) && (track.tpcNClsFound() >= cfgTrackCuts.cfgNTPCCls) && (track.itsNCls() >= cfgTrackCuts.cfgMinNITSCls));
@@ -1407,7 +1407,7 @@ struct FlowGenericFramework {
14071407
if (cfgTrackCuts.cfgDCAxyNSigma && (std::fabs(track.dcaXY()) > defaultNsigma / cfgTrackCuts.cfgDCAxyNSigma * fPtDepDCAxy->Eval(track.pt()))) {
14081408
return false;
14091409
}
1410-
if (!cfgTrackCuts.cfgDCAzPtDep.value.empty() && std::fabs(track.dcaZ() > fPtDepDCAz->Eval(track.pt()))) {
1410+
if (!cfgTrackCuts.cfgDCAzPtDep.value.empty() && std::fabs(track.dcaZ()) > fPtDepDCAz->Eval(track.pt())) {
14111411
return false;
14121412
}
14131413
int tpcNClsCrossedRowsDefault = 70;
@@ -2165,8 +2165,8 @@ struct FlowGenericFramework {
21652165
if (cfgFill.cfgFillV0QA && fractionSetup == FractionV02) {
21662166
fillV0QA(lambdaSelection, v0, postrack, negtrack, centrality, weff);
21672167
}
2168-
2169-
if (v0.mLambda() > cfgPIDCuts.cfgLambdaSideBand1Min && v0.mLambda() < cfgPIDCuts.cfgLambdaSideBand1Max) {
2168+
const double lambdaMass = lambdaSelection.isL ? v0.mLambda() : v0.mAntiLambda();
2169+
if (lambdaMass > cfgPIDCuts.cfgLambdaSideBand1Min && lambdaMass < cfgPIDCuts.cfgLambdaSideBand1Max) {
21702170
histosResoNpt[fractionSetup][LambdaSideband1]->Fill(v0.pt(), (cfgUseNchCorrection) ? weff : 1.0);
21712171
}
21722172
if (v0.mLambda() > cfgPIDCuts.cfgLambdaSignalMin && v0.mLambda() < cfgPIDCuts.cfgLambdaSignalMax) {
@@ -2241,7 +2241,7 @@ struct FlowGenericFramework {
22412241
template <typename TTrack>
22422242
bool selectionV0Daughter(const TTrack& track, int pid)
22432243
{
2244-
if (track.tpcNClsCrossedRows() < cfgTrackCuts.cfgNTPCXrows) {
2244+
if (track.tpcNClsCrossedRows() < cfgTrackCuts.cfgNTPCXrowsDaughters) {
22452245
return false;
22462246
}
22472247
// Only accept daughters consistent with the expected identities of K0 or Lambda decay.
@@ -2758,7 +2758,7 @@ struct FlowGenericFramework {
27582758
th1sList[run][EventSel]->Fill(1.5);
27592759
}
27602760
float centrality = getCentrality(collision);
2761-
if (cfgEventSelection.cfgDoOccupancySel) {
2761+
if (cfgEventSelection.cfgOccupancySelection >= 0) {
27622762
int occupancy = collision.trackOccupancyInTimeRange();
27632763
if (cfgFill.cfgFillQA) {
27642764
registryQA.fill(HIST("eventQA/before/occ_mult_cent"), occupancy, tracks.size(), centrality);
@@ -2821,7 +2821,7 @@ struct FlowGenericFramework {
28212821

28222822
const auto centrality = getCentrality(collision);
28232823

2824-
if (cfgEventSelection.cfgDoOccupancySel) {
2824+
if (cfgEventSelection.cfgOccupancySelection >= 0) {
28252825
int occupancy = collision.trackOccupancyInTimeRange();
28262826
if (cfgFill.cfgFillQA) {
28272827
registryQA.fill(HIST("eventQA/before/occ_mult_cent"), occupancy, tracks.size(), centrality);
@@ -2974,7 +2974,7 @@ struct FlowGenericFramework {
29742974
if (centrality < gfwMemberCache.centbinning.front() || centrality > gfwMemberCache.centbinning.back()) {
29752975
return false;
29762976
}
2977-
if (cfgEventSelection.cfgDoOccupancySel) {
2977+
if (cfgEventSelection.cfgOccupancySelection >= 0) {
29782978
int occupancy = collision.trackOccupancyInTimeRange();
29792979
if (occupancy < 0 || occupancy > cfgEventSelection.cfgOccupancySelection) {
29802980
return false;

0 commit comments

Comments
 (0)