@@ -38,6 +38,7 @@ namespace hf_cand_b0_lite
3838{
3939DECLARE_SOA_COLUMN (PtProng0, ptProng0, float ); // ! Transverse momentum of prong0 (GeV/c)
4040DECLARE_SOA_COLUMN (PtProng1, ptProng1, float ); // ! Transverse momentum of prong1 (GeV/c)
41+ DECLARE_SOA_COLUMN (MProng0, mProng0 , float ); // ! Invariant mass of prong0 (GeV/c)
4142DECLARE_SOA_COLUMN (M, m, float ); // ! Invariant mass of candidate (GeV/c2)
4243DECLARE_SOA_COLUMN (Pt, pt, float ); // ! Transverse momentum of candidate (GeV/c)
4344DECLARE_SOA_COLUMN (P, p, float ); // ! Momentum of candidate (GeV/c)
@@ -51,6 +52,7 @@ DECLARE_SOA_COLUMN(DecayLength, decayLength, float); //!
5152DECLARE_SOA_COLUMN (DecayLengthXY, decayLengthXY, float ); // ! Transverse decay length of candidate (cm)
5253DECLARE_SOA_COLUMN (DecayLengthNormalised, decayLengthNormalised, float ); // ! Normalised decay length of candidate
5354DECLARE_SOA_COLUMN (DecayLengthXYNormalised, decayLengthXYNormalised, float ); // ! Normalised transverse decay length of candidate
55+ DECLARE_SOA_COLUMN (ImpactParameterProduct, impactParameterProduct, float ); // ! Impact parameter product of candidate
5456DECLARE_SOA_COLUMN (Cpa, cpa, float ); // ! Cosine pointing angle of candidate
5557DECLARE_SOA_COLUMN (CpaXY, cpaXY, float ); // ! Cosine pointing angle of candidate in transverse plane
5658DECLARE_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