@@ -877,6 +877,20 @@ DECLARE_SOA_DYNAMIC_COLUMN(PVector, pVector,
877877 [](float px0, float py0, float pz0, float px1, float py1, float pz1, float px2, float py2, float pz2) -> std::array<float , 3 > { return std::array{px0 + px1 + px2, py0 + py1 + py2, pz0 + pz1 + pz2}; });
878878} // namespace hf_reso_3_prong
879879
880+ namespace hf_reso_2_prong
881+ {
882+ DECLARE_SOA_DYNAMIC_COLUMN (Px, px, // !
883+ [](float pxProng0, float pxProng1) -> float { return 1 .f * pxProng0 + 1 .f * pxProng1; });
884+ DECLARE_SOA_DYNAMIC_COLUMN (Py, py, // !
885+ [](float pyProng0, float pyProng1) -> float { return 1 .f * pyProng0 + 1 .f * pyProng1; });
886+ DECLARE_SOA_DYNAMIC_COLUMN (Pz, pz, // !
887+ [](float pzProng0, float pzProng1) -> float { return 1 .f * pzProng0 + 1 .f * pzProng1; });
888+ DECLARE_SOA_DYNAMIC_COLUMN (PVector, pVector,
889+ [](float pxProng0, float pyProng0, float pzProng0, float pxProng1, float pyProng1, float pzProng1) -> std::array<float , 3 > { return std::array{pxProng0 + pxProng1, pyProng0 + pyProng1, pzProng0 + pzProng1}; });
890+ DECLARE_SOA_DYNAMIC_COLUMN (Pt, pt, // !
891+ [](float pxProng0, float pxProng1, float pyProng0, float pyProng1) -> float { return RecoDecay::pt ((1 .f * pxProng0 + 1 .f * pxProng1), (1 .f * pyProng0 + 1 .f * pyProng1)); });
892+ } // namespace hf_cand_2_prong
893+
880894namespace hf_reso_v0
881895{
882896DECLARE_SOA_COLUMN (Cpa, cpa, float ); // ! Cosine of Pointing Angle of V0 candidate
@@ -994,7 +1008,32 @@ DECLARE_SOA_TABLE(HfRed3PrNoTrks, "AOD", "HFRED3PRNOTRK", //! Table with 3 prong
9941008 hf_cand::PVectorProng2<hf_cand::PxProng2, hf_cand::PyProng2, hf_cand::PzProng2>,
9951009 hf_reso_3_prong::PVector<hf_cand::PxProng0, hf_cand::PyProng0, hf_cand::PzProng0, hf_cand::PxProng1, hf_cand::PyProng1, hf_cand::PzProng1, hf_cand::PxProng2, hf_cand::PyProng2, hf_cand::PzProng2>);
9961010
997- namespace hf_reso_cand_reduced
1011+ DECLARE_SOA_TABLE (HfRed2PrNoTrks, " AOD" , " HFRED2PRNOTRK" , // ! Table with 2 prong candidate information for resonances reduced workflow
1012+ o2::soa::Index<>,
1013+ // Indices
1014+ hf_track_index_reduced::Prong0Id, hf_track_index_reduced::Prong1Id,
1015+ hf_track_index_reduced::HfRedCollisionId,
1016+ // Static
1017+ hf_cand::XSecondaryVertex, hf_cand::YSecondaryVertex, hf_cand::ZSecondaryVertex,
1018+ hf_cand::PxProng0, hf_cand::PyProng0, hf_cand::PzProng0,
1019+ hf_cand::PxProng1, hf_cand::PyProng1, hf_cand::PzProng1,
1020+ hf_track_vars_reduced::ItsNClsProngMin, hf_track_vars_reduced::TpcNClsCrossedRowsProngMin, hf_track_vars_reduced::TpcChi2NClProngMax,
1021+ // Dynamic
1022+ hf_reso_2_prong::Px<hf_cand::PxProng0, hf_cand::PxProng1>,
1023+ hf_reso_2_prong::Py<hf_cand::PyProng0, hf_cand::PyProng1>,
1024+ hf_reso_2_prong::Pz<hf_cand::PzProng0, hf_cand::PzProng1>,
1025+ hf_track_vars_reduced::PtProng0<hf_cand::PxProng0, hf_cand::PyProng0>,
1026+ hf_track_vars_reduced::PtProng1<hf_cand::PxProng1, hf_cand::PyProng1>,
1027+ hf_track_vars_reduced::EtaProng0<hf_cand::PxProng0, hf_cand::PyProng0, hf_cand::PzProng0>,
1028+ hf_track_vars_reduced::EtaProng1<hf_cand::PxProng1, hf_cand::PyProng1, hf_cand::PzProng1>,
1029+ hf_reso_2_prong::PVector<hf_cand::PxProng0, hf_cand::PyProng0, hf_cand::PzProng0, hf_cand::PxProng1, hf_cand::PyProng1, hf_cand::PzProng1>,
1030+ hf_reso_2_prong::Pt<hf_cand::PxProng0, hf_cand::PxProng1, hf_cand::PyProng0, hf_cand::PyProng1>,
1031+ // InvMasses
1032+ hf_cand_dstar::InvMassD0<hf_cand::PxProng0, hf_cand::PyProng0, hf_cand::PzProng0, hf_cand::PxProng1, hf_cand::PyProng1, hf_cand::PzProng1>,
1033+ hf_cand_dstar::InvMassD0Bar<hf_cand::PxProng0, hf_cand::PyProng0, hf_cand::PzProng0, hf_cand::PxProng1, hf_cand::PyProng1, hf_cand::PzProng1>
1034+ );
1035+
1036+ namespace hf_reso_cand_reduced
9981037{
9991038DECLARE_SOA_COLUMN (InvMass, invMass, float ); // ! Invariant mass in GeV/c2
10001039DECLARE_SOA_COLUMN (InvMassProng0, invMassProng0, float ); // ! Invariant Mass of D daughter in GeV/c
@@ -1012,7 +1051,7 @@ DECLARE_SOA_COLUMN(FlagMcMatchGen, flagMcMatchGen, int8_t); // fla
10121051DECLARE_SOA_COLUMN (DebugMcRec, debugMcRec, int8_t ); // debug flag for mis-association at reconstruction level
10131052DECLARE_SOA_COLUMN (Origin, origin, int8_t ); // Flag for origin of MC particle 1=promt, 2=FD
10141053DECLARE_SOA_COLUMN (SignD0, signD0, int8_t ); // Sign of the D0 in the channels with D* -> D0 pi, needed in case of non-matched D*
1015-
1054+ DECLARE_SOA_COLUMN (InvMassGen, invMassGen, float ); // ! Invariant mass at generation level in GeV/c2
10161055DECLARE_SOA_DYNAMIC_COLUMN (Pt, pt, // !
10171056 [](float pxProng0, float pxProng1, float pyProng0, float pyProng1) -> float { return RecoDecay::pt ((1 .f * pxProng0 + 1 .f * pxProng1), (1 .f * pyProng0 + 1 .f * pyProng1)); });
10181057DECLARE_SOA_DYNAMIC_COLUMN (PtProng0, ptProng0, // !
@@ -1073,6 +1112,7 @@ DECLARE_SOA_TABLE(HfMcRecRedDV0s, "AOD", "HFMCRECREDDV0", //! Table with reconst
10731112 hf_reso_cand_reduced::Origin,
10741113 hf_reso_cand_reduced::SignD0,
10751114 hf_b0_mc::PtMother,
1115+ hf_reso_cand_reduced::InvMassGen,
10761116 o2::soa::Marker<1 >);
10771117
10781118DECLARE_SOA_TABLE (HfMcGenRedResos, " AOD" , " HFMCGENREDRESO" , // ! Generation-level MC information on Ds-Resonances candidates for reduced workflow
0 commit comments