How to enable TBufferFile::kStreamedMemberWise for specific branches in a TTree?

There is 2 main ways of designed whether a struct/class or a collection there is split (when stored as a branch) or streamed member wise (when stored as apart of an unsplit branch or in a key/outside of a TTree).

TClass::SetCanSplit (and ``TClass::CanSplit```): This indicate is the class or struct described by a given TClass object can or can not be split or streamer member wise (main reason not be able to split a class is if that class as a custom Streaming function).

The other mechanism is the last argument of the call to TTree::Branch (the overload that handles objects) which is called splitlevel. When set to 0, it request the object to be stored un-split, i.e. in a single branch (inside the collection can be stored memberwise). Then as the split level increase, this request to separate more and more level of nesting inside the class into its own branches. The default level is 99.