Skip to content

Commit 938450e

Browse files
authored
[PWGLF] Add isPhysicalPrimary() for check the primary tagging (#15273)
1 parent 02309c5 commit 938450e

File tree

1 file changed

+10
-8
lines changed

1 file changed

+10
-8
lines changed

PWGLF/Tasks/Resonances/rho770analysis.cxx

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
/// \file rho770analysis.cxx
1313
/// \brief rho(770)0 analysis in pp 13 & 13.6 TeV
1414
/// \author Hyunji Lim (hyunji.lim@cern.ch)
15-
/// \since 08/02/2026
15+
/// \since 05/03/2026
1616

1717
#include "PWGLF/DataModel/LFResonanceTables.h"
1818
#include "PWGLF/DataModel/mcCentrality.h"
@@ -64,9 +64,9 @@ struct rho770analysis {
6464

6565
// DCA cuts
6666
Configurable<bool> cDCAxyToPVAsPt{"cDCAxyToPVAsPt", true, "DCAxy to PV selection as pt"};
67-
Configurable<bool> cDCAzToPVAsPt{"cDCAzToPVAsPt", false, "DCAz to PV selection as pt"};
68-
Configurable<float> cfgMaxDCAxyToPVcut{"cfgMaxDCAxyToPVcut", 0.15, "Maximum transverse DCA"};
69-
Configurable<float> cfgMaxDCAzToPVcut{"cfgMaxDCAzToPVcut", 2.0, "Maximum longitudinal DCA"};
67+
Configurable<bool> cDCAzToPVAsPt{"cDCAzToPVAsPt", true, "DCAz to PV selection as pt"};
68+
Configurable<float> cfgMaxDCAxyToPVcut{"cfgMaxDCAxyToPVcut", 0.10, "Maximum transverse DCA"};
69+
Configurable<float> cfgMaxDCAzToPVcut{"cfgMaxDCAzToPVcut", 0.10, "Maximum longitudinal DCA"};
7070
Configurable<float> cDCAxytoPVByPtPiFirstP0{"cDCAxytoPVByPtPiFirstP0", 0.0105, "Coeff. Track DCAxy cut to PV by pt for Pion First (p0)"};
7171
Configurable<float> cDCAxyToPVByPtPiFirstExp{"cDCAxyToPVByPtPiFirstExp", 0.035, "Coeff. Track DCAxy cut to PV by pt for Pion First (exp)"};
7272
Configurable<float> cDCAztoPVByPtPiFirstP0{"cDCAztoPVByPtPiFirstP0", 0.0105, "Coeff. Track DCAz cut to PV by pt for Pion First (p0)"};
@@ -88,7 +88,7 @@ struct rho770analysis {
8888
Configurable<bool> cfgUseITSRefit{"cfgUseITSRefit", false, "Require ITS Refit"};
8989
Configurable<bool> cfgHasTOF{"cfgHasTOF", false, "Require TOF"};
9090
Configurable<int> cfgTPCcluster{"cfgTPCcluster", 1, "Number of TPC cluster"};
91-
Configurable<int> cfgTPCRows{"cfgTPCRows", 80, "Minimum Number of TPC Crossed Rows "};
91+
Configurable<int> cfgTPCRows{"cfgTPCRows", 70, "Minimum Number of TPC Crossed Rows "};
9292

9393
// PID
9494
Configurable<double> cMaxTOFnSigmaPion{"cMaxTOFnSigmaPion", 3.0, "TOF nSigma cut for Pion"}; // TOF
@@ -102,7 +102,7 @@ struct rho770analysis {
102102
ConfigurableAxis massK0sAxis{"massK0sAxis", {200, 0.46, 0.54}, "K0s Invariant mass axis"};
103103
ConfigurableAxis massKstarAxis{"massKstarAxis", {200, 0.6, 1.3}, "Kstar Invariant mass axis"};
104104
ConfigurableAxis ptAxis{"ptAxis", {VARIABLE_WIDTH, 0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.8, 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0, 6.0, 7.0, 8.0, 10.0, 13.0, 20.0}, "Transverse momentum Binning"};
105-
ConfigurableAxis centAxis{"centAxis", {VARIABLE_WIDTH, 0.0, 1.0, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0, 40.0, 45.0, 50.0, 55.0, 60.0, 65.0, 70.0, 75.0, 80.0, 95.0, 100.0, 105.0, 110.0}, "Centrality Binning"};
105+
ConfigurableAxis centAxis{"centAxis", {VARIABLE_WIDTH, 0.0, 1.0, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0, 40.0, 45.0, 50.0, 55.0, 60.0, 65.0, 70.0, 75.0, 80.0, 85.0, 90.0, 95.0, 100.0, 105.0}, "Centrality Binning"};
106106

107107
void init(o2::framework::InitContext&)
108108
{
@@ -197,7 +197,7 @@ struct rho770analysis {
197197
const auto mode = static_cast<TrackPIDMode>(selectTypeInt.value);
198198

199199
if (mode == TrackPIDMode::TPCOrTOF) { // TPC or TOF
200-
if (std::fabs(track.tpcNSigmaPi()) >= cMaxTPCnSigmaPion || std::fabs(track.tofNSigmaPi()) >= cMaxTOFnSigmaPion)
200+
if (std::fabs(track.tpcNSigmaPi()) >= cMaxTPCnSigmaPion && std::fabs(track.tofNSigmaPi()) >= cMaxTOFnSigmaPion)
201201
return false;
202202
}
203203
if (mode == TrackPIDMode::OnlyTPC) { // only TPC
@@ -226,7 +226,7 @@ struct rho770analysis {
226226
const auto mode = static_cast<TrackPIDMode>(selectTypeInt.value);
227227

228228
if (mode == TrackPIDMode::TPCOrTOF) {
229-
if (std::fabs(track.tpcNSigmaKa()) >= cMaxTPCnSigmaPion || std::fabs(track.tofNSigmaKa()) >= cMaxTOFnSigmaPion)
229+
if (std::fabs(track.tpcNSigmaKa()) >= cMaxTPCnSigmaPion && std::fabs(track.tofNSigmaKa()) >= cMaxTOFnSigmaPion)
230230
return false;
231231
}
232232
if (mode == TrackPIDMode::OnlyTPC) {
@@ -410,6 +410,8 @@ struct rho770analysis {
410410
for (const auto& part : resoParents) { // loop over all pre-filtered MC particles
411411
if (std::abs(part.pdgCode()) != kRho770_0)
412412
continue;
413+
if (!part.isPhysicalPrimary())
414+
continue;
413415
if (!part.producedByGenerator())
414416
continue;
415417
if (part.y() < cfgMinRap || part.y() > cfgMaxRap)

0 commit comments

Comments
 (0)