TMVA Get Single Decision Tree From Forest


For a very specific application of boosted decision trees, I would like to, after training my classifier with many trees, evaluate an event with a single one of those trees. I have found no method built into TMVA to do this (for good reason, I can’t imagine anyone wanting to do this outside of my project).

I see that in line 2353 of MethodBDT.cxx, the way this is done is through


This will work for me. My question then is how, given the xml weights file from my BDT, can I get the fForest vector so I can get a single tree object to do this to?

Thank you!

I think @moneta can most probably help you


You should be able to call the MethodBDT::GetForest() function, which will return `fForest, a vector with all the trees.

To get the MethodBDT object, if you have an XML file you can use the function Reader::BookMVA


Hi Lorenzo,

Thank you very much, this is exactly what I needed and works perfectly!