diff --git a/PWGHF/HFC/TableProducer/producerCharmHadronsCharmFemtoDream.cxx b/PWGHF/HFC/TableProducer/producerCharmHadronsCharmFemtoDream.cxx index a0d8e189ae2..6ac7c687352 100644 --- a/PWGHF/HFC/TableProducer/producerCharmHadronsCharmFemtoDream.cxx +++ b/PWGHF/HFC/TableProducer/producerCharmHadronsCharmFemtoDream.cxx @@ -17,6 +17,7 @@ #include "PWGHF/Core/CentralityEstimation.h" #include "PWGHF/Core/HfMlResponseD0ToKPi.h" #include "PWGHF/Core/HfMlResponseDstarToD0Pi.h" +#include "PWGHF/Core/SelectorCuts.h" #include "PWGHF/DataModel/CandidateReconstructionTables.h" #include "PWGHF/DataModel/CandidateSelectionTables.h" #include "PWGHF/Utils/utilsBfieldCCDB.h" @@ -54,6 +55,7 @@ using namespace o2; using namespace o2::framework; +using namespace o2::analysis; using namespace o2::framework::expressions; struct HfProducerCharmHadronsCharmFemtoDream { @@ -68,12 +70,11 @@ struct HfProducerCharmHadronsCharmFemtoDream { // Each species needs its own model, feature order and pT-dependent cuts. struct HfMlConfig : ConfigurableGroup { std::string prefix; - static inline const std::array defaultCuts{1., 0., 0.}; Configurable mlApplicationMode{"mlApplicationMode", FillMlFromSelector, "0: no ML, 1: selector scores, 2: new BDT after selector"}; - Configurable> binsPtMl{"binsPtMl", std::vector{0., 36.}, "pT bin limits for new BDT"}; - Configurable> cutsMl{"cutsMl", {defaultCuts.data(), 1, 3}, "New BDT cuts per pT bin: background, prompt, nonprompt"}; - Configurable> cutDirMl{"cutDirMl", std::vector{0, 1, 1}, "Reject scores above (0), below (1), or do not cut (2)"}; - Configurable nClassesMl{"nClassesMl", 3, "Three output classes: background, prompt, nonprompt"}; + Configurable> binsPtMl{"binsPtMl", std::vector{hf_cuts_ml::vecBinsPt}, "pT bin limits for new BDT"}; + Configurable> cutsMl{"cutsMl", {hf_cuts_ml::Cuts[0], hf_cuts_ml::NBinsPt, hf_cuts_ml::NCutScores, hf_cuts_ml::labelsPt, hf_cuts_ml::labelsDmesCutScore}, "New BDT cuts per pT bin: background, prompt, nonprompt"}; + Configurable> cutDirMl{"cutDirMl", std::vector{hf_cuts_ml::vecCutDir}, "Reject scores above (0), below (1), or do not cut (2)"}; + Configurable nClassesMl{"nClassesMl", int{hf_cuts_ml::NCutScores}, "Three output classes: background, prompt, nonprompt"}; Configurable> namesInputFeatures{"namesInputFeatures", std::vector{}, "Ordered input feature names for new BDT"}; Configurable> onnxFileNames{"onnxFileNames", std::vector{}, "Model files, one per pT bin"}; Configurable> modelPathsCCDB{"modelPathsCCDB", std::vector{}, "CCDB model paths, one per pT bin"};