Earlier quoted context omitted.
Background upfront: I'm the guy behind the C++ interpreter and ROOT's new interfaces. I'm the co-author of the only surviving C++ reflection proposal and the author of the std::variant proposal. I have contributed to the C++ Core Guidelines ( http://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines https://youtu.be/1OEu9C51K2A ). * HEP stores about 0.5 exabytes of data in ROOT format, that's almost exclusively ser…
Thanks for clarifying. You're right that I was too broad, and it's certainly true that many physicists don't share my opinion (I'm working on that). Speed is always a concern, but I don't think it dictates that C++ should be the primary ‘user-facing’ interface. Numpy is fast, but it doesn't sacrifice a nice API to achieve it. Personally, a big difference is that a lot of the Python packages feel fast to use and, most…
ROOT – Data Analysis Framework
21–30 of 34 posts
Re: ROOT – Data Analysis Framework
#22My biggest advice about ROOT is: Don't use it really. Look, ROOT is a very complex framework for data gathering and analysis build by physics and it shows every step of the way. The bugs are everywhere and it does really weird things like setting global variables when you analyze some piece of data for instance, changing your results for all subsequent analysis (this particular bug cost me about 2 weeks). And in the…
I rather use a programming language with REPL that gives me the option to compile to native code, instead of being forced to write extensions in another language.
Plenty to choose from, doesn't need to be C++.
Re: ROOT – Data Analysis Framework
#23Re: ROOT – Data Analysis Framework
#24My biggest advice about ROOT is: Don't use it really. Look, ROOT is a very complex framework for data gathering and analysis build by physics and it shows every step of the way. The bugs are everywhere and it does really weird things like setting global variables when you analyze some piece of data for instance, changing your results for all subsequent analysis (this particular bug cost me about 2 weeks). And in the…
I partially agree: don't use it as a framework, but do use its libraries, they are good!
Re: ROOT – Data Analysis Framework
#25Although I never used ROOT while at CERN, it surely was part of many of our discussion subjects at ATLAS-DAQ. Nice to see it on HN.
Re: ROOT – Data Analysis Framework
#26Although I never used ROOT while at CERN, it surely was part of many of our discussion subjects at ATLAS-DAQ. Nice to see it on HN.
I was in ATLAS DAQ, too, and I'm happy I never had to use too much of ROOT, too. PAW, on the other hand, it was... charming!
So also not that much use of PAW as well.
Re: ROOT – Data Analysis Framework
#27Earlier quoted context omitted.
I was in ATLAS DAQ, too, and I'm happy I never had to use too much of ROOT, too. PAW, on the other hand, it was... charming!
My area was L2PU and Dataflow related, a decade ago. So also not that much use of PAW as well.
But PAW was earlier, in the KLOE experiment for my graduation thesis.
Re: ROOT – Data Analysis Framework
#28I am a particle physicist, and used to use ROOT every working day. It is still used daily by thousands of other particle physicists, though, and is a core part of many high-energy physics experiments. I think there are a few of objectively neat features of ROOT: * Versioned persistency of C++ objects deriving from the TObject base class [1]; * Script-like execution of C++ and a C++ REPL based on clang [2]; and * Dyna…
Background upfront: I'm the guy behind the C++ interpreter and ROOT's new interfaces. I'm the co-author of the only surviving C++ reflection proposal and the author of the std::variant proposal. I have contributed to the C++ Core Guidelines ( http://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines https://youtu.be/1OEu9C51K2A ). * HEP stores about 0.5 exabytes of data in ROOT format, that's almost exclusively ser…
Re: ROOT – Data Analysis Framework
#29There is quite a lot I could say about ROOT, ROOT files, CINT, but I won't. There's better options. Don't use it unless you are in HEP.
What options are better?
The problem is that ROOT still has a few very specialized features that its users still need and you can't get elsewhere. And there are a ton of legacy analysis tools built on top of it that are difficult to port because of how ROOT is. And a lot of its more extensive users are comfortable with it and have no motive to change (they're busy with being scientists).
I don't know anybody who actually likes ROOT, but it also won't be going away any time soon.
Re: ROOT – Data Analysis Framework
#30My biggest advice about ROOT is: Don't use it really. Look, ROOT is a very complex framework for data gathering and analysis build by physics and it shows every step of the way. The bugs are everywhere and it does really weird things like setting global variables when you analyze some piece of data for instance, changing your results for all subsequent analysis (this particular bug cost me about 2 weeks). And in the…
> My biggest advice about ROOT is: Don't use it really. I partially agree: don't use it as a framework, but do use its libraries, they are good!
I will say that it is nice that it has most any math function you will need. I know people who get super frustrated when they can't find a landau distribution in whatever language/library they are using and then just go back to ROOT at the end of the day.