@@ -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