Skip to content

Commit fadd340

Browse files
committed
Prepare for Omegac to K pi
1 parent 7fe123e commit fadd340

File tree

1 file changed

+19
-4
lines changed

1 file changed

+19
-4
lines changed

PWGHF/TableProducer/treeCreatorOmegacSt.cxx

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ DECLARE_SOA_TABLE(HfStChBarGens, "AOD", "HFSTCHBARGEN",
8383
hf_st_charmed_baryon_gen::DecayLengthCasc,
8484
hf_st_charmed_baryon_gen::DecayLengthXYCasc);
8585

86-
// CharmedBaryon -> Casc + Pion
86+
// CharmedBaryon -> Casc + Pion/Kaon
8787
// -> Lambda + BachPi/BachKa
8888
// -> Pr + Pi
8989
namespace hf_st_charmed_baryon
@@ -93,6 +93,8 @@ DECLARE_SOA_COLUMN(MassXi, massXi, float);
9393
DECLARE_SOA_COLUMN(MassLambda, massLambda, float);
9494
DECLARE_SOA_COLUMN(NSigmaTpcPion, nSigmaTpcPion, float);
9595
DECLARE_SOA_COLUMN(NSigmaTofPion, nSigmaTofPion, float);
96+
DECLARE_SOA_COLUMN(NSigmaTpcKaon, nSigmaTpcKaon, float);
97+
DECLARE_SOA_COLUMN(NSigmaTofKaon, nSigmaTofKaon, float);
9698
DECLARE_SOA_COLUMN(NSigmaTpcV0Pr, nSigmaTpcV0Pr, float);
9799
DECLARE_SOA_COLUMN(NSigmaTofV0Pr, nSigmaTofV0Pr, float);
98100
DECLARE_SOA_COLUMN(NSigmaTpcV0Pi, nSigmaTpcV0Pi, float);
@@ -146,6 +148,8 @@ DECLARE_SOA_TABLE(HfStChBars, "AOD", "HFSTCHBAR",
146148
hf_st_charmed_baryon::MassLambda,
147149
hf_st_charmed_baryon::NSigmaTpcPion,
148150
hf_st_charmed_baryon::NSigmaTofPion,
151+
hf_st_charmed_baryon::NSigmaTpcKaon,
152+
hf_st_charmed_baryon::NSigmaTofKaon,
149153
hf_st_charmed_baryon::NSigmaTpcV0Pr,
150154
hf_st_charmed_baryon::NSigmaTofV0Pr,
151155
hf_st_charmed_baryon::NSigmaTpcV0Pi,
@@ -227,6 +231,7 @@ struct HfTreeCreatorOmegacSt {
227231
Configurable<float> maxNSigmaV0Pr{"maxNSigmaV0Pr", 5., "Max Nsigma for proton from V0 from tracked cascade"};
228232
Configurable<float> maxNSigmaV0Pi{"maxNSigmaV0Pi", 5., "Max Nsigma for pion from V0 from tracked cascade"};
229233
Configurable<float> maxNSigmaPion{"maxNSigmaPion", 5., "Max Nsigma for pion to be paired with Omega"};
234+
Configurable<float> maxNSigmaKaon{"maxNSigmaKaon", -1., "Max Nsigma for kaon to be paired with Omega"};
230235
Configurable<bool> bzOnly{"bzOnly", true, "Use B_z instead of full field map"};
231236

232237
SliceCache cache;
@@ -318,6 +323,7 @@ struct HfTreeCreatorOmegacSt {
318323
const auto daughters = mcParticle.daughters_as<aod::McParticles>();
319324
if (daughters.size() == 2) {
320325
int idxPionDaughter = -1;
326+
int idxKaonDaughter = -1;
321327
int idxCascDaughter = -1;
322328
const auto daughters = mcParticle.daughters_as<aod::McParticles>();
323329
for (const auto& daughter : daughters) {
@@ -327,8 +333,11 @@ struct HfTreeCreatorOmegacSt {
327333
if (idxPionDaughter < 0 && (std::abs(daughter.pdgCode()) == kPiPlus)) {
328334
idxPionDaughter = daughter.globalIndex();
329335
}
336+
if (idxKaonDaughter < 0 && (std::abs(daughter.pdgCode()) == kKPlus)) {
337+
idxKaonDaughter = daughter.globalIndex();
338+
}
330339
}
331-
if ((idxPionDaughter >= 0) && (idxCascDaughter >= 0)) {
340+
if (((idxKaonDaughter >= 0) || (idxPionDaughter >= 0)) && (idxCascDaughter >= 0)) {
332341
const auto& cascDaughter = mcParticles.iteratorAt(idxCascDaughter);
333342
const auto& mcColl = mcParticle.mcCollision();
334343
std::array<double, 3> primaryVertexPosGen = {mcColl.posX(), mcColl.posY(), mcColl.posZ()};
@@ -509,6 +518,7 @@ struct HfTreeCreatorOmegacSt {
509518
(std::abs(v0TrackPr.tpcNSigmaPr()) < maxNSigmaV0Pr) &&
510519
(std::abs(v0TrackPi.tpcNSigmaPi()) < maxNSigmaV0Pi)) {
511520
std::array<double, 2> massesOmegacDaughters{o2::constants::physics::MassOmegaMinus, o2::constants::physics::MassPiPlus};
521+
std::array<double, 2> massesOmegacToOmegaKa{o2::constants::physics::MassOmegaMinus, o2::constants::physics::MassKPlus};
512522
std::array<double, 2> massesXicDaughters{o2::constants::physics::MassXiMinus, o2::constants::physics::MassPiPlus};
513523
std::array<std::array<float, 3>, 2> momenta;
514524

@@ -541,8 +551,9 @@ struct HfTreeCreatorOmegacSt {
541551
(track.tpcNClsCrossedRows() >= 0.8 * track.tpcNClsFindable()) &&
542552
(track.tpcChi2NCl() <= 4.f) &&
543553
(track.itsChi2NCl() <= 36.f) &&
544-
(std::abs(track.tpcNSigmaPi()) < maxNSigmaPion)) {
545-
LOGF(debug, " .. combining with pion candidate %d", track.globalIndex());
554+
((std::abs(track.tpcNSigmaPi()) < maxNSigmaPion) ||
555+
(std::abs(track.tpcNSigmaKa()) < maxNSigmaKaon))) {
556+
LOGF(debug, " .. combining with pion/kaon candidate %d", track.globalIndex());
546557
int trackMotherId = -1;
547558
if constexpr (std::is_same<TracksType, TracksExtMc>::value) {
548559
if (track.has_mcParticle() && track.mcParticle().has_mothers()) {
@@ -582,11 +593,13 @@ struct HfTreeCreatorOmegacSt {
582593
df2.getTrackParamAtPCA(0).getPxPyPzGlo(momenta[0]);
583594
df2.getTrackParamAtPCA(1).getPxPyPzGlo(momenta[1]);
584595
const auto massOmegaC = RecoDecay::m(momenta, massesOmegacDaughters);
596+
const auto massOmegaCToOmegaKa = RecoDecay::m(momenta, massesOmegacToOmegaKa);
585597
const auto massXiC = RecoDecay::m(momenta, massesXicDaughters);
586598
registry.fill(HIST("hMassOmegac"), massOmegaC);
587599
registry.fill(HIST("hMassOmegacVsPt"), massOmegaC, RecoDecay::pt(momenta[0], momenta[1]));
588600

589601
if ((std::abs(massOmegaC - o2::constants::physics::MassOmegaC0) < massWindowOmegaC) ||
602+
(std::abs(massOmegaCToOmegaKa - o2::constants::physics::MassOmegaC0) < massWindowOmegaC) ||
590603
(std::abs(massXiC - o2::constants::physics::MassXiC0) < massWindowXiC)) {
591604
registry.fill(HIST("hDecayLength"), decayLength * 1e4);
592605
registry.fill(HIST("hDecayLengthScaled"), decayLength * o2::constants::physics::MassOmegaC0 / RecoDecay::p(momenta[0], momenta[1]) * 1e4);
@@ -595,6 +608,8 @@ struct HfTreeCreatorOmegacSt {
595608
massV0,
596609
track.tpcNSigmaPi(),
597610
track.tofNSigmaPi(),
611+
track.tpcNSigmaKa(),
612+
track.tofNSigmaKa(),
598613
v0TrackPr.tpcNSigmaPr(),
599614
v0TrackPr.tofNSigmaPr(),
600615
v0TrackPi.tpcNSigmaPi(),

0 commit comments

Comments
 (0)