SetBranchAddress with and without splitting of TBranchElements

I tried your tree with a MakeClass generated analysis skeleton and it seems fine to me:

root [0] .L eventTree.C
root [1] eventTree t; // some warnings about unavailable dictionaries appear
root [2] t.GetEntry(0);
root [3] t.trk_pt->size()
(const unsigned long)149
root [4] t.trk_pt->at(0)
(vector<float,allocator<float> >::reference)2.22559070587158203e+00
root [5] t.trk_pt->at(1)
(vector<float,allocator<float> >::reference)2.06306195259094238e+00
root [7] t.GetEntry(1);
root [8] t.trk_pt->size()
(const unsigned long)153
root [9] t.trk_pt->at(0)
(vector<float,allocator<float> >::reference)2.16367387771606445e+00
root [10] t.trk_pt->at(1)
(vector<float,allocator<float> >::reference)2.09600806236267090e+00

eventTree.C (1.4 KB)
eventTree.h (9.7 KB)