Skip to content

Commit 28d6501

Browse files
authored
[PWGLF] chk892Flow: Add new v0 selection cut (#9777)
1 parent 4e5fda7 commit 28d6501

File tree

1 file changed

+14
-2
lines changed

1 file changed

+14
-2
lines changed

PWGLF/Tasks/Resonances/chk892Flow.cxx

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,7 @@ struct Chk892Flow {
176176
Configurable<bool> cfgReturnFlag{"cfgReturnFlag", false, "Return Flag for debugging"};
177177
Configurable<bool> cSecondaryRequire{"cSecondaryRequire", true, "Secondary cuts on/off"};
178178
Configurable<bool> cSecondaryArmenterosCut{"cSecondaryArmenterosCut", true, "cut on Armenteros-Podolanski graph"};
179+
Configurable<bool> cSecondaryCrossMassHypothesisCut{"cSecondaryCrossMassHypothesisCut", false, "Apply cut based on the lambda mass hypothesis"};
179180

180181
Configurable<bool> cfgByPassDauPIDSelection{"cfgByPassDauPIDSelection", true, "Bypass Daughters PID selection"};
181182
Configurable<float> cSecondaryDauDCAMax{"cSecondaryDauDCAMax", 0.2, "Maximum DCA Secondary daughters to PV"};
@@ -190,7 +191,8 @@ struct Chk892Flow {
190191
Configurable<float> cSecondaryDCAtoPVMax{"cSecondaryDCAtoPVMax", 0.4, "Maximum DCA Secondary to PV"};
191192
Configurable<float> cSecondaryProperLifetimeMax{"cSecondaryProperLifetimeMax", 20., "Maximum Secondary Lifetime"};
192193
Configurable<float> cSecondaryparamArmenterosCut{"cSecondaryparamArmenterosCut", 0.2, "parameter for Armenteros Cut"};
193-
Configurable<float> cSecondaryMassWindow{"cSecondaryMassWindow", 0.03, "Secondary inv mass selciton window"};
194+
Configurable<float> cSecondaryMassWindow{"cSecondaryMassWindow", 0.03, "Secondary inv mass selection window"};
195+
Configurable<float> cSecondaryCrossMassCutWindow{"cSecondaryCrossMassCutWindow", 0.05, "Secondary inv mass selection window with (anti)lambda hypothesis"};
194196

195197
// K* selection
196198
Configurable<float> cKstarMaxRap{"cKstarMaxRap", 0.5, "Kstar maximum rapidity"};
@@ -263,7 +265,7 @@ struct Chk892Flow {
263265
AxisSpec mcLabelAxis = {5, -0.5, 4.5, "MC Label"};
264266

265267
if (cfgReturnFlag) {
266-
histos.add("QA/K0sCutCheck", "Check K0s cut", HistType::kTH1D, {AxisSpec{12, -0.5, 11.5, "Check"}});
268+
histos.add("QA/K0sCutCheck", "Check K0s cut", HistType::kTH1D, {AxisSpec{13, -0.5, 12.5, "Check"}});
267269
}
268270
histos.add("QA/before/CentDist", "Centrality distribution", {HistType::kTH1D, {centAxis}});
269271
histos.add("QA/before/VtxZ", "Centrality distribution", {HistType::kTH1D, {vtxzAxis}});
@@ -556,6 +558,8 @@ struct Chk892Flow {
556558
auto lCPA = candidate.v0cosPA();
557559
auto lPropTauK0s = candidate.distovertotmom(collision.posX(), collision.posY(), collision.posZ()) * MassK0Short;
558560
auto lMk0s = candidate.mK0Short();
561+
auto lMLambda = candidate.mLambda();
562+
auto lMALambda = candidate.mAntiLambda();
559563

560564
auto checkCommonCuts = [&]() {
561565
if (lDauDCA > cSecondaryDauDCAMax)
@@ -580,6 +584,9 @@ struct Chk892Flow {
580584
return false;
581585
if (std::fabs(lMk0s - MassK0Short) > cSecondaryMassWindow)
582586
return false;
587+
if (cSecondaryCrossMassHypothesisCut &&
588+
((std::fabs(lMLambda - MassLambda0) < cSecondaryCrossMassCutWindow) || (std::fabs(lMALambda - MassLambda0Bar) < cSecondaryCrossMassCutWindow)))
589+
return false;
583590
return true;
584591
};
585592

@@ -630,6 +637,11 @@ struct Chk892Flow {
630637
histos.fill(HIST("QA/K0sCutCheck"), 11);
631638
returnFlag = false;
632639
}
640+
if (cSecondaryCrossMassHypothesisCut &&
641+
((std::fabs(lMLambda - MassLambda0) < cSecondaryCrossMassCutWindow) || (std::fabs(lMALambda - MassLambda0Bar) < cSecondaryCrossMassCutWindow))) {
642+
histos.fill(HIST("QA/K0sCutCheck"), 12);
643+
returnFlag = false;
644+
}
633645
return returnFlag;
634646
} else { // normal usage
635647
if (cSecondaryRequire) {

0 commit comments

Comments
 (0)