How to link fastjet-contrib libraries in a ROOT macro

Hi,

I am trying to use the RecursiveTools, EnergyCorrelator and Nsubjettiness packages from fastjet-contrib. My goal is to calculate these features on jets clustered from tower objects read from a .root file, within a ROOT macro.

I understand that I have to link all the relevant libraries by using gSystem->Load(…). I can successfully load the libfastjet.so and libfastjettools.so. However, when it comes to the contrib libraries, which are .a files, errors pop up. I think the issue is something to do with loading .so files versus .a files.

Can someone please explain how to link the .a files for fastjet-contrib packages? Thank you!

You need to rebuild your libraries as shared (i.e., “.so”).

Thank you for the quick reply! I am not so sure how to do that, since I am a noob at C++ stuff (I come from a Python background). Are there tools that can readily do this?

You need to talk to the authors of these packages.

A quick peek into the HEPForge → fastjetsvn/contrib/contribs/RecursiveTools/trunk/Makefile suggests that only building of an archive library (i.e., “.a”) is implemented.