Root 6.04.14 hadd 100Gb and rootlogon

Indeed hadd does not load the rootlogon file. However you can still manager using the following pattern.

Use a source file (let’s called it startup.C) like

#include "TTree.h"

int startup() {
  TTree::SetMaxTreeSize( 1000000000000LL ); // 1 TB
  return 0;
}

namespace {
  static int i = startup();
}

compile it into a shared library, for example with:

root.exe -b -l -q startup.C+

and then use LD_PRELOAD (DYLD_INSERT_LIBRARIES on MacOS) to preload that library:

 DYLD_INSERT_LIBRARIES=startup_C.so hadd  output.root input_*
 LD_PRELOAD=startup_C.so hadd  output.root input_*

Cheers,
Philippe.

1 Like