We have an old and conservative simulation framework where we write out extremely simple TTrees: no objects, no class dictionaries, just branches of single or array simple data types. This includes a number of old-style “strings” of the form
char procname[80];
...
hittree->Branch("Process", procname, "Process/C");
These all work fine, except for one which is declared very large:
char config[4000];
...
dettree->Branch("Config", config, "Config/C");
The char array is filled here using strncpy, just like all of our other “strings.” But when I look at the TTree in a ROOT session, that branch reports that it contains integer 0 values, not strings (and not even empty strings!). The other “string” branches properly report the character strings that were saved to them in the job.
Does ROOT have a limit on the size of an old-style char-array “string” that can be stored in a simple TBranch?
Please read tips for efficient and successful posting and posting code
ROOT Version: 6.12 or later
Platform: MacOS
Compiler: CLang