What didn’t work, exactly? push_back should work to “fill” vectors.
As side note, and just my two cents: I’d say if you need vectors (or variable size elements), I try to avoid structs in trees, since ROOT will expect contiguous memory for consecutive members of the struct and the variable number of elements could cause trouble depending on the type (not necessarily, but something to be careful about); you can use separate branches for each variable (Event, channel,…), which will need SetBranchAddress for each one, but is generally safer, I think.