Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ROOT-less build #427

Open
nadrino opened this issue Dec 5, 2023 · 7 comments
Open

ROOT-less build #427

nadrino opened this issue Dec 5, 2023 · 7 comments
Assignees

Comments

@nadrino
Copy link
Collaborator

nadrino commented Dec 5, 2023

As it was mentionned at the NuXtract workshop, some collaborator outside of T2K and more generally outside of Europe would like to have the possibility to use GUNDAM without ROOT.

Until its begining GUNDAM has always been developped on top of ROOT and widely use its features like: TFile, TTree, TFormula, TSpline/TGraph and TCanvas.

A ROOTless version of GUNDAM would require us to strip the file management and replace it with HDF5 for instance, while finding a suitable replacement for the TFormulas and other noticable objects.

This would be a milestone for the long term. Like a GUNDAM v2.0.0 goal.

@nadrino nadrino added the feature/enhancement ✨ New feature or request label Dec 5, 2023
@nadrino nadrino self-assigned this Dec 5, 2023
@ClarkMcGrew
Copy link
Contributor

This needs to be closed as will not implement. GUNDAM is a ROOT tool, and not using ROOT means using a different tool kit, or rewriting large parts of the ROOT tool kit.

@nadrino
Copy link
Collaborator Author

nadrino commented Dec 5, 2023

Really? Wouldn't it be possible to breakdown these tool kits into standalone dependencies?

@riccioc
Copy link
Collaborator

riccioc commented Dec 5, 2023

This sounds like a major overhaul I wouldn't go for tbh.

@nadrino
Copy link
Collaborator Author

nadrino commented Dec 5, 2023

Oh yes I agree! It could be progressive, like getting rid of TFormulas with a proper recursive descent parser, then adding the option to produce HDF5 files instead of root files etc...

I mean the issue I have with ROOT, is the fact that you can't compile it without the full toolkit set. For instance you need to recompile a custom version of LLVM which takes forever, and there is no way for the moment to use apt-get for precompiled binaries...

@ClarkMcGrew
Copy link
Contributor

Of course it's possible to write a generic interface that covers every current use of ROOT in GUNDAM, and then implement (plus validate) the glue to connect to ROOT, and then implement (plus validate) an interface to a different tool kit, and then deal with the differences between the tool kits, and then validate the use inside of GUNDAM.

On the whole, I think it would be easier to write a new GUNDAM for the new tool kit.

@nadrino nadrino added experimental 🔬 and removed feature/enhancement ✨ New feature or request labels Dec 5, 2023
@nadrino nadrino changed the title ROOTless build ROOT-less build Dec 5, 2023
@nadrino
Copy link
Collaborator Author

nadrino commented Dec 5, 2023

Yeah it's definitely not a straightforward task.

@ClarkMcGrew
Copy link
Contributor

Compiling ROOT from source is an exercise, but ROOT is pre-built for a lot of distributions, and available with SNAP.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants