std::vector (like the rest of C++) makes copies by default, so if you tried to push_back a TTree into a std::vector, it’d try to make a copy of the whole tree, which is probably not what you want.
The semi-ROOTish way would be to make an std::vector<TTree *> with pointers to the trees. The ROOTish way would be to use a TChain or a TObjArray, I think.