Most Efficient Way to Read All Entries for a Branch

I am trying to load the value of a particular TTree branch for all entries in the tree while minimizing disk access.

As I understand it, the data for a particular branch is stored adjacently for all events, i.e., on disk, the file looks something like:

|branch_1_entry_1|branch_1_entry_2|…|branch_1_entry_N|…|branch_M_entry_1|branch_M_entry_2|…|branch_M_entry_N|

If this is the case, it seems like there must be a more efficient to load in all the values for a particular branch without doing a GetEntry loop that reads only a single entry’s value for that particular branch at a time. Basically I want to get branch_1 for entries 1, 2, …, N in as efficient way as possible.

What is the best way to do this?

I would also be interested to hear a reply about this