@@ -269,6 +269,8 @@ struct HfProducerCharmHadronsTrackFemtoDream {
269269
270270 bool useLcMl = doprocessDataLcToPKPiWithML || doprocessMcLcToPKPiWithML;
271271 bool useDplusMl = doprocessDataDplusToPiKPiWithML || doprocessMcDplusToPiKPiWithML;
272+ bool useD0Ml = doprocessDataD0ToPiKWithML || doprocessMcD0ToPiKWithML;
273+ bool useDstarMl = doprocessDataDstarToD0PiWithML || doprocessMcDstarToD0PiWithML;
272274
273275 if (applyMlMode == FillMlFromNewBDT) {
274276 if (useLcMl) {
@@ -281,6 +283,16 @@ struct HfProducerCharmHadronsTrackFemtoDream {
281283 hfMlResponseDplus.cacheInputFeaturesIndices(namesInputFeatures);
282284 hfMlResponseDplus.init();
283285 }
286+ if (useD0Ml) {
287+ hfMlResponseD0.configure(binsPtMl, cutsMl, cutDirMl, nClassesMl);
288+ hfMlResponseD0.cacheInputFeaturesIndices(namesInputFeatures);
289+ hfMlResponseD0.init();
290+ }
291+ if (useDstarMl) {
292+ hfMlResponseDstar.configure(binsPtMl, cutsMl, cutDirMl, nClassesMl);
293+ hfMlResponseDstar.cacheInputFeaturesIndices(namesInputFeatures);
294+ hfMlResponseDstar.init();
295+ }
284296
285297 if (loadModelsFromCCDB) {
286298 ccdbApi.init(ccdbUrl);
@@ -290,13 +302,26 @@ struct HfProducerCharmHadronsTrackFemtoDream {
290302 if (useDplusMl) {
291303 hfMlResponseDplus.setModelPathsCCDB(onnxFileNames, ccdbApi, modelPathsCCDB, timestampCCDB);
292304 }
305+ if (useD0Ml) {
306+ hfMlResponseD0.setModelPathsCCDB(onnxFileNames, ccdbApi, modelPathsCCDB, timestampCCDB);
307+ }
308+ if (useDstarMl) {
309+ hfMlResponseDstar.setModelPathsCCDB(onnxFileNames, ccdbApi, modelPathsCCDB, timestampCCDB);
310+ }
311+
293312 } else {
294313 if (useLcMl) {
295314 hfMlResponseLc.setModelPathsLocal(onnxFileNames);
296315 }
297316 if (useDplusMl) {
298317 hfMlResponseDplus.setModelPathsLocal(onnxFileNames);
299318 }
319+ if (useD0Ml) {
320+ hfMlResponseD0.setModelPathsLocal(onnxFileNames);
321+ }
322+ if (useDstarMl) {
323+ hfMlResponseDstar.setModelPathsLocal(onnxFileNames);
324+ }
300325 }
301326 }
302327 }
@@ -679,9 +704,9 @@ struct HfProducerCharmHadronsTrackFemtoDream {
679704 outputMlD0.at(2) = candidate.mlProbD0()[2]; /// non-prompt score
680705 }
681706 if (candidate.mlProbD0bar().size() > 0) {
682- outputMlD0bar.at(0) = candidate.mlProbD0 ()[0]; /// bkg score
683- outputMlD0bar.at(1) = candidate.mlProbD0 ()[1]; /// prompt score
684- outputMlD0bar.at(2) = candidate.mlProbD0 ()[2]; /// non-prompt score
707+ outputMlD0bar.at(0) = candidate.mlProbD0bar ()[0]; /// bkg score
708+ outputMlD0bar.at(1) = candidate.mlProbD0bar ()[1]; /// prompt score
709+ outputMlD0bar.at(2) = candidate.mlProbD0bar ()[2]; /// non-prompt score
685710 }
686711
687712 } else if (applyMlMode == FillMlFromNewBDT) {
@@ -703,8 +728,8 @@ struct HfProducerCharmHadronsTrackFemtoDream {
703728 LOGF(fatal, "Please check your Ml configuration!!");
704729 }
705730 }
706- fillTable(1 , candidate.isSelD0(), outputMlD0.at(0), outputMlD0.at(1), outputMlD0.at(2));
707- fillTable(2 , candidate.isSelD0bar(), outputMlD0bar.at(0), outputMlD0bar.at(1), outputMlD0bar.at(2));
731+ fillTable(0 , candidate.isSelD0(), outputMlD0.at(0), outputMlD0.at(1), outputMlD0.at(2));
732+ fillTable(1 , candidate.isSelD0bar(), outputMlD0bar.at(0), outputMlD0bar.at(1), outputMlD0bar.at(2));
708733
709734 } else if constexpr (Channel == DecayChannel::DstarToD0Pi) {
710735 if constexpr (UseCharmMl) {
0 commit comments