Skip to content

Commit 9466df7

Browse files
authored
PWGHF: Add mass and d0xd0 in B0 reduced tree (AliceO2Group#4199)
* PWGHF: Add mass and d0xd0 in B0 reduced tree * Add missing column definition
1 parent 5bd917a commit 9466df7

1 file changed

Lines changed: 19 additions & 9 deletions

File tree

PWGHF/D2H/Tasks/taskB0Reduced.cxx

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ namespace hf_cand_b0_lite
3838
{
3939
DECLARE_SOA_COLUMN(PtProng0, ptProng0, float); //! Transverse momentum of prong0 (GeV/c)
4040
DECLARE_SOA_COLUMN(PtProng1, ptProng1, float); //! Transverse momentum of prong1 (GeV/c)
41+
DECLARE_SOA_COLUMN(MProng0, mProng0, float); //! Invariant mass of prong0 (GeV/c)
4142
DECLARE_SOA_COLUMN(M, m, float); //! Invariant mass of candidate (GeV/c2)
4243
DECLARE_SOA_COLUMN(Pt, pt, float); //! Transverse momentum of candidate (GeV/c)
4344
DECLARE_SOA_COLUMN(P, p, float); //! Momentum of candidate (GeV/c)
@@ -51,6 +52,7 @@ DECLARE_SOA_COLUMN(DecayLength, decayLength, float); //!
5152
DECLARE_SOA_COLUMN(DecayLengthXY, decayLengthXY, float); //! Transverse decay length of candidate (cm)
5253
DECLARE_SOA_COLUMN(DecayLengthNormalised, decayLengthNormalised, float); //! Normalised decay length of candidate
5354
DECLARE_SOA_COLUMN(DecayLengthXYNormalised, decayLengthXYNormalised, float); //! Normalised transverse decay length of candidate
55+
DECLARE_SOA_COLUMN(ImpactParameterProduct, impactParameterProduct, float); //! Impact parameter product of candidate
5456
DECLARE_SOA_COLUMN(Cpa, cpa, float); //! Cosine pointing angle of candidate
5557
DECLARE_SOA_COLUMN(CpaXY, cpaXY, float); //! Cosine pointing angle of candidate in transverse plane
5658
DECLARE_SOA_COLUMN(MaxNormalisedDeltaIP, maxNormalisedDeltaIP, float); //! Maximum normalized difference between measured and expected impact parameter of candidate prongs
@@ -62,10 +64,12 @@ DECLARE_SOA_TABLE(HfRedCandB0Lites, "AOD", "HFREDCANDB0LITE", //! Table with som
6264
hf_cand_b0_lite::DecayLengthXY,
6365
hf_cand_b0_lite::DecayLengthNormalised,
6466
hf_cand_b0_lite::DecayLengthXYNormalised,
67+
hf_cand_b0_lite::MProng0,
6568
hf_cand_b0_lite::PtProng0,
6669
hf_cand_b0_lite::PtProng1,
6770
hf_cand::ImpactParameter0,
6871
hf_cand::ImpactParameter1,
72+
hf_cand_b0_lite::ImpactParameterProduct,
6973
hf_cand_b0_lite::NSigTpcPi1,
7074
hf_cand_b0_lite::NSigTofPi1,
7175
hf_cand_b0_reduced::Prong0MlScoreBkg,
@@ -285,6 +289,7 @@ struct HfTaskB0Reduced {
285289
auto invMassB0 = hfHelper.invMassB0ToDPi(candidate);
286290
auto candD = candidate.template prong0_as<aod::HfRed3Prongs>();
287291
auto ptD = RecoDecay::pt(candD.px(), candD.py());
292+
auto invMassD = candD.invMass();
288293
std::array<float, 3> posPv{candidate.posX(), candidate.posY(), candidate.posZ()};
289294
std::array<float, 3> posSvD{candD.xSecondaryVertex(), candD.ySecondaryVertex(), candD.zSecondaryVertex()};
290295
std::array<float, 3> momD{candD.px(), candD.py(), candD.pz()};
@@ -307,7 +312,7 @@ struct HfTaskB0Reduced {
307312
registry.fill(HIST("hCospXy"), ptCandB0, candidate.cpaXY());
308313
registry.fill(HIST("hEta"), ptCandB0, candidate.eta());
309314
registry.fill(HIST("hRapidity"), ptCandB0, hfHelper.yB0(candidate));
310-
registry.fill(HIST("hInvMassD"), ptD, candD.invMass());
315+
registry.fill(HIST("hInvMassD"), ptD, invMassD);
311316
registry.fill(HIST("hDecLengthD"), ptD, decLenD);
312317
registry.fill(HIST("hDecLengthXyD"), ptD, decLenXyD);
313318
registry.fill(HIST("hCospD"), ptD, cospD);
@@ -321,9 +326,9 @@ struct HfTaskB0Reduced {
321326
}
322327
if (fillSparses) {
323328
if constexpr (withDmesMl) {
324-
registry.fill(HIST("hMassPtCutVars"), invMassB0, ptCandB0, candidate.decayLength(), candidate.decayLengthXY() / candidate.errorDecayLengthXY(), candidate.impactParameterProduct(), candidate.cpa(), candD.invMass(), ptD, candidate.prong0MlScoreBkg(), candidate.prong0MlScoreNonprompt());
329+
registry.fill(HIST("hMassPtCutVars"), invMassB0, ptCandB0, candidate.decayLength(), candidate.decayLengthXY() / candidate.errorDecayLengthXY(), candidate.impactParameterProduct(), candidate.cpa(), invMassD, ptD, candidate.prong0MlScoreBkg(), candidate.prong0MlScoreNonprompt());
325330
} else {
326-
registry.fill(HIST("hMassPtCutVars"), invMassB0, ptCandB0, candidate.decayLength(), candidate.decayLengthXY() / candidate.errorDecayLengthXY(), candidate.impactParameterProduct(), candidate.cpa(), candD.invMass(), ptD, decLenD, cospD);
331+
registry.fill(HIST("hMassPtCutVars"), invMassB0, ptCandB0, candidate.decayLength(), candidate.decayLengthXY() / candidate.errorDecayLengthXY(), candidate.impactParameterProduct(), candidate.cpa(), invMassD, ptD, decLenD, cospD);
327332
}
328333
}
329334
if (fillTree) {
@@ -347,10 +352,12 @@ struct HfTaskB0Reduced {
347352
candidate.decayLengthXY(),
348353
candidate.decayLengthNormalised(),
349354
candidate.decayLengthXYNormalised(),
355+
invMassD,
350356
ptD,
351357
candidate.ptProng1(),
352358
candidate.impactParameter0(),
353359
candidate.impactParameter1(),
360+
candidate.impactParameterProduct(),
354361
prong1.tpcNSigmaPi(),
355362
prong1.tofNSigmaPi(),
356363
prong0MlScoreBkg,
@@ -383,6 +390,7 @@ struct HfTaskB0Reduced {
383390
auto invMassB0 = hfHelper.invMassB0ToDPi(candidate);
384391
auto candD = candidate.template prong0_as<aod::HfRed3Prongs>();
385392
auto ptD = RecoDecay::pt(candD.px(), candD.py());
393+
auto invMassD = candD.invMass();
386394
std::array<float, 3> posPv{candidate.posX(), candidate.posY(), candidate.posZ()};
387395
std::array<float, 3> posSvD{candD.xSecondaryVertex(), candD.ySecondaryVertex(), candD.zSecondaryVertex()};
388396
std::array<float, 3> momD{candD.px(), candD.py(), candD.pz()};
@@ -408,7 +416,7 @@ struct HfTaskB0Reduced {
408416
registry.fill(HIST("hCospXyRecSig"), ptCandB0, candidate.cpaXY());
409417
registry.fill(HIST("hEtaRecSig"), ptCandB0, candidate.eta());
410418
registry.fill(HIST("hRapidityRecSig"), ptCandB0, hfHelper.yB0(candidate));
411-
registry.fill(HIST("hInvMassDRecSig"), ptD, candD.invMass());
419+
registry.fill(HIST("hInvMassDRecSig"), ptD, invMassD);
412420
registry.fill(HIST("hDecLengthDRecSig"), ptD, decLenD);
413421
registry.fill(HIST("hDecLengthXyDRecSig"), ptD, decLenXyD);
414422
registry.fill(HIST("hCospDRecSig"), ptD, cospD);
@@ -432,7 +440,7 @@ struct HfTaskB0Reduced {
432440
registry.fill(HIST("hCospXyRecBg"), ptCandB0, candidate.cpaXY());
433441
registry.fill(HIST("hEtaRecBg"), ptCandB0, candidate.eta());
434442
registry.fill(HIST("hRapidityRecBg"), ptCandB0, hfHelper.yB0(candidate));
435-
registry.fill(HIST("hInvMassDRecBg"), ptD, candD.invMass());
443+
registry.fill(HIST("hInvMassDRecBg"), ptD, invMassD);
436444
registry.fill(HIST("hDecLengthDRecBg"), ptD, decLenD);
437445
registry.fill(HIST("hDecLengthXyDRecBg"), ptD, decLenXyD);
438446
registry.fill(HIST("hCospDRecBg"), ptD, cospD);
@@ -447,15 +455,15 @@ struct HfTaskB0Reduced {
447455
if (fillSparses) {
448456
if (isSignal) {
449457
if constexpr (withDmesMl) {
450-
registry.fill(HIST("hMassPtCutVarsRecSig"), invMassB0, ptCandB0, candidate.decayLength(), candidate.decayLengthXY() / candidate.errorDecayLengthXY(), candidate.impactParameterProduct(), candidate.cpa(), candD.invMass(), ptD, candidate.prong0MlScoreBkg(), candidate.prong0MlScoreNonprompt());
458+
registry.fill(HIST("hMassPtCutVarsRecSig"), invMassB0, ptCandB0, candidate.decayLength(), candidate.decayLengthXY() / candidate.errorDecayLengthXY(), candidate.impactParameterProduct(), candidate.cpa(), invMassD, ptD, candidate.prong0MlScoreBkg(), candidate.prong0MlScoreNonprompt());
451459
} else {
452-
registry.fill(HIST("hMassPtCutVarsRecSig"), invMassB0, ptCandB0, candidate.decayLength(), candidate.decayLengthXY() / candidate.errorDecayLengthXY(), candidate.impactParameterProduct(), candidate.cpa(), candD.invMass(), ptD, decLenD, cospD);
460+
registry.fill(HIST("hMassPtCutVarsRecSig"), invMassB0, ptCandB0, candidate.decayLength(), candidate.decayLengthXY() / candidate.errorDecayLengthXY(), candidate.impactParameterProduct(), candidate.cpa(), invMassD, ptD, decLenD, cospD);
453461
}
454462
} else if (fillBackground) {
455463
if constexpr (withDmesMl) {
456-
registry.fill(HIST("hMassPtCutVarsRecBg"), invMassB0, ptCandB0, candidate.decayLength(), candidate.decayLengthXY() / candidate.errorDecayLengthXY(), candidate.impactParameterProduct(), candidate.cpa(), candD.invMass(), ptD, candidate.prong0MlScoreBkg(), candidate.prong0MlScoreNonprompt());
464+
registry.fill(HIST("hMassPtCutVarsRecBg"), invMassB0, ptCandB0, candidate.decayLength(), candidate.decayLengthXY() / candidate.errorDecayLengthXY(), candidate.impactParameterProduct(), candidate.cpa(), invMassD, ptD, candidate.prong0MlScoreBkg(), candidate.prong0MlScoreNonprompt());
457465
} else {
458-
registry.fill(HIST("hMassPtCutVarsRecBg"), invMassB0, ptCandB0, candidate.decayLength(), candidate.decayLengthXY() / candidate.errorDecayLengthXY(), candidate.impactParameterProduct(), candidate.cpa(), candD.invMass(), ptD, decLenD, cospD);
466+
registry.fill(HIST("hMassPtCutVarsRecBg"), invMassB0, ptCandB0, candidate.decayLength(), candidate.decayLengthXY() / candidate.errorDecayLengthXY(), candidate.impactParameterProduct(), candidate.cpa(), invMassD, ptD, decLenD, cospD);
459467
}
460468
}
461469
}
@@ -477,10 +485,12 @@ struct HfTaskB0Reduced {
477485
candidate.decayLengthXY(),
478486
candidate.decayLengthNormalised(),
479487
candidate.decayLengthXYNormalised(),
488+
invMassD,
480489
ptD,
481490
candidate.ptProng1(),
482491
candidate.impactParameter0(),
483492
candidate.impactParameter1(),
493+
candidate.impactParameterProduct(),
484494
prong1.tpcNSigmaPi(),
485495
prong1.tofNSigmaPi(),
486496
prong0MlScoreBkg,

0 commit comments

Comments
 (0)