For a somewhat self-contained example of MakeProject usage, I recently introduced a test that covers the whole pipeline from writing a TTree with a class that needs a dictionary to reading it back from another program that does not have access to the dictionary. Find it at https://github.com/root-project/roottest/tree/master/root/ntuple/makeproject/ttree