2424#include " PWGHF/DataModel/CandidateReconstructionTables.h"
2525#include " PWGHF/DataModel/CandidateSelectionTables.h"
2626#include " PWGHF/Core/CentralityEstimation.h"
27+ #include " PWGHF/Utils/utilsEvSelHf.h"
2728
2829using namespace o2 ;
2930using namespace o2 ::framework;
@@ -81,15 +82,13 @@ DECLARE_SOA_COLUMN(Ct, ct, float);
8182// Events
8283DECLARE_SOA_COLUMN (IsEventReject, isEventReject, int ); // ! Event rejection flag
8384DECLARE_SOA_COLUMN (RunNumber, runNumber, int ); // ! Run number
84- DECLARE_SOA_COLUMN (Centrality, centrality, float ); // ! Collision centrality (for reco MC)
8585// ML scores
86- DECLARE_SOA_COLUMN (BkgScore, bkgScore , float ); // ! Bkg score (for reco MC candidates)
87- DECLARE_SOA_COLUMN (FdScore, fdScore , float ); // ! FD score (for reco MC candidates)
86+ DECLARE_SOA_COLUMN (MlScore0, mlScore0 , float ); // ! ML score of the first configured index
87+ DECLARE_SOA_COLUMN (MlScore1, mlScore1 , float ); // ! ML score of the second configured index
8888} // namespace full
8989DECLARE_SOA_TABLE (HfCandDpMls, " AOD" , " HFCANDDPML" ,
90- full::Centrality,
91- full::BkgScore,
92- full::FdScore,)
90+ full::MlScore0,
91+ full::MlScore1)
9392
9493DECLARE_SOA_TABLE (HfCandDpLites, " AOD" , " HFCANDDPLITE" ,
9594 hf_cand::Chi2PCA,
@@ -261,15 +260,13 @@ struct HfTreeCreatorDplusToPiKPi {
261260 using MatchedGenCandidatesMc = soa::Filtered<soa::Join<aod::McParticles, aod::HfCand3ProngMcGen>>;
262261 using SelectedCandidatesMcWithMl = soa::Filtered<soa::Join<aod::HfCand3Prong, aod::HfCand3ProngMcRec, aod::HfSelDplusToPiKPi, aod::HfMlDplusToPiKPi>>;
263262 using TracksWPid = soa::Join<aod::Tracks, aod::TracksPidPi, aod::PidTpcTofFullPi, aod::TracksPidKa, aod::PidTpcTofFullKa>;
264- using McRecoCollisionsCent = soa::Join<aod::Collisions, aod::McCollisionLabels, aod::CentFT0Cs>;
265263
266264 Filter filterSelectCandidates = aod::hf_sel_candidate_dplus::isSelDplusToPiKPi >= selectionFlagDplus;
267265 Filter filterMcGenMatching = nabs(o2::aod::hf_cand_3prong::flagMcMatchGen) == static_cast <int8_t >(BIT(aod::hf_cand_3prong::DecayType::DplusToPiKPi));
268266
269267 Partition<SelectedCandidatesMc> reconstructedCandSig = nabs(aod::hf_cand_3prong::flagMcMatchRec) == static_cast <int8_t >(BIT(aod::hf_cand_3prong::DecayType::DplusToPiKPi)) || nabs(aod::hf_cand_3prong::flagMcMatchRec) == static_cast <int8_t >(BIT(aod::hf_cand_3prong::DecayType::DsToKKPi)); // DecayType::DsToKKPi is used to flag both Ds± → K± K∓ π± and D± → K± K∓ π±
270268 Partition<SelectedCandidatesMc> reconstructedCandBkg = nabs(aod::hf_cand_3prong::flagMcMatchRec) != static_cast <int8_t >(BIT(aod::hf_cand_3prong::DecayType::DplusToPiKPi));
271269 Partition<SelectedCandidatesMcWithMl> reconstructedCandSigMl = nabs(aod::hf_cand_3prong::flagMcMatchRec) == static_cast <int8_t >(BIT(aod::hf_cand_3prong::DecayType::DplusToPiKPi)) || nabs(aod::hf_cand_3prong::flagMcMatchRec) == static_cast <int8_t >(BIT(aod::hf_cand_3prong::DecayType::DsToKKPi)) || nabs(aod::hf_cand_3prong::flagMcMatchRec) == static_cast <int8_t >(BIT(aod::hf_cand_3prong::DstarToPiKPiBkg)); // DecayType::DsToKKPi is used to flag both Ds± → K± K∓ π± and D± → K± K∓ π±
272- // Partition<SelectedCandidatesMcWithMl> reconstructedCandSigMl = nabs(aod::hf_cand_3prong::flagMcMatchRec) == static_cast<int8_t>(BIT(aod::hf_cand_3prong::DecayType::DplusToPiKPi)) || nabs(aod::hf_cand_3prong::flagMcMatchRec) == static_cast<int8_t>(BIT(aod::hf_cand_3prong::DecayType::DsToKKPi)) || nabs(aod::hf_cand_3prong::flagMcMatchRec) == static_cast<int8_t>(BIT(aod::hf_cand_3prong::DecayType::DstarToD0Pi)); // DecayType::DsToKKPi is used to flag both Ds± → K± K∓ π± and D± → K± K∓ π±
273270
274271 void init (InitContext const &)
275272 {
@@ -291,7 +288,6 @@ struct HfTreeCreatorDplusToPiKPi {
291288 template <bool doMc = false , bool doMl = false , typename T>
292289 void fillCandidateTable (const T& candidate)
293290 {
294- LOG (info) << " fillCandidateTable" ;
295291 int8_t flagMc = 0 ;
296292 int8_t originMc = 0 ;
297293 int8_t channelMc = 0 ;
@@ -303,16 +299,12 @@ struct HfTreeCreatorDplusToPiKPi {
303299
304300 std::vector<float > outputMl = {-999 ., -999 .};
305301 if constexpr (doMl) {
306- LOG (info) << " in filler fillOnlySignalMl: " << fillOnlySignalMl;
307302 for (unsigned int iclass = 0 ; iclass < classMl->size (); iclass++) {
308303 outputMl[iclass] = candidate.mlProbDplusToPiKPi ()[classMl->at (iclass)];
309304 }
310- auto collision = candidate.template collision_as <McRecoCollisionsCent>();
311- double cent = getCentralityColl (collision, CentralityEstimator::FT0C);
312305 rowCandidateMl (
313- cent,
314306 outputMl[0 ],
315- outputMl[1 ],
307+ outputMl[1 ]
316308 );
317309 }
318310
@@ -321,7 +313,6 @@ struct HfTreeCreatorDplusToPiKPi {
321313 auto prong2 = candidate.template prong2_as <TracksWPid>();
322314
323315 if (fillCandidateLiteTable) {
324- LOG (info) << " fillCandidateLiteTable: " << fillCandidateLiteTable;
325316 rowCandidateLite (
326317 candidate.chi2PCA (),
327318 candidate.decayLength (),
@@ -449,7 +440,6 @@ struct HfTreeCreatorDplusToPiKPi {
449440 originMc,
450441 channelMc);
451442 }
452- LOG (info) << " End fillCandidateTable" ;
453443 }
454444
455445 void processData (aod::Collisions const & collisions,
@@ -482,36 +472,29 @@ struct HfTreeCreatorDplusToPiKPi {
482472 PROCESS_SWITCH (HfTreeCreatorDplusToPiKPi, processData, " Process data" , true );
483473
484474 void processMc (aod::Collisions const & collisions,
485- aod::McCollisions const &,
475+ aod::McCollisions const & mccollisions ,
486476 SelectedCandidatesMc const & candidates,
487477 MatchedGenCandidatesMc const & particles,
488478 SelectedCandidatesMcWithMl const & candidateswithml,
489- McRecoCollisionsCent const &,
490479 TracksWPid const &)
491480 {
492- LOG (info) << " Process MC" ;
493481 // Filling event properties
494482 rowCandidateFullEvents.reserve (collisions.size ());
495483 for (const auto & collision : collisions) {
496484 fillEvent (collision, 0 , 1 );
497485 }
498486
499- LOG (info) << " fillOnlySignal: " << fillOnlySignal;
500- LOG (info) << " fillCandidateLiteTable: " << fillCandidateLiteTable;
501487 // Filling candidate properties
502488 if (fillOnlySignal) {
503489 if (fillCandidateLiteTable) {
504490 rowCandidateLite.reserve (reconstructedCandSig.size ());
505491 } else {
506492 rowCandidateFull.reserve (reconstructedCandSig.size ());
507493 }
508- LOG (info) << " reconstructedCandSig.size(): " << reconstructedCandSig.size ();
509494 for (const auto & candidate : reconstructedCandSig) {
510- LOG (info) << " fillCandidateTable<true>(candidate)" ;
511495 fillCandidateTable<true >(candidate);
512496 }
513497 } else if (fillOnlySignalMl) {
514- LOG (info) << " fillOnlySignalMl: " << fillOnlySignalMl;
515498 rowCandidateMl.reserve (reconstructedCandSigMl.size ());
516499 if (fillCandidateLiteTable) {
517500 rowCandidateLite.reserve (reconstructedCandSigMl.size ());
0 commit comments