See “==> Case” A, B and C here: http://root.cern.ch/root/html/TTree.html
I think the best idea would be to “create a dictionary for the struct and use the object based interface” (i.e. “==> Case” B and/or C), as mentioned by Philippe. Moreover, a dictionary for the struct will also prevent problems when mixing compiled and interpreted code (which uses this struct). So, even if you don’t want to use “==> Case” B nor C, you should still create/load the dictionary for the struct (try the attached “pad.cxx” file).
See also Philippe’s reply, which is an example of how to “create a separate branch for each data member” (the “Bundle” could be your “PPAC”, while “fOne” and “fTwo” could be your “C2Px1”, “C2Px2”, and so on), here: [url]How to pre process TSelector. Discussion
pad.cxx (1.6 KB)