Live data from Hacker News

ROOT – Data Analysis Framework

root.cern.ch

21–30 of 34 posts

Re: ROOT – Data Analysis Framework

#21
post #16
post #13

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…

I'm using Python for analysis, and I'm running into performance issues constantly.

Re: ROOT – Data Analysis Framework

#22

My 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…

> Data analysis in C++ or any compiled language, just doesn't make much sense.

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

#24

My 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!

Re: ROOT – Data Analysis Framework

#25
post #15

Although 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!

Re: ROOT – Data Analysis Framework

#26
post #25
post #15

Although 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!

My area was L2PU and Dataflow related, a decade ago.

So also not that much use of PAW as well.

Re: ROOT – Data Analysis Framework

#27
post #26
post #25

Earlier 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.

I was in the online monitoring group, ever heard about GNAM? And it was around a decade ago, too.

But PAW was earlier, in the KLOE experiment for my graduation thesis.

Re: ROOT – Data Analysis Framework

#28
post #13
post #11

I 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…

Have there been any success stories in regard to genomics and ROOT? About 10-15 years ago the group I was with then explored ROOT as the alternatives (Perl, early versions of R, etc.) weren't very attractive. We didn't end up going with ROOT ourselves for a variety of reasons, but did anyone else in the field do so?

Re: ROOT – Data Analysis Framework

#29
post #18
post #4

There 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?

Almost anything, to be honest. Matplotlib, R, Matlab, Mathematica etc. are all much nicer. Those will do most things ROOT does and be much less delicate. In a lot of places (especially outside CERN) Matplotlib is taking over where ROOT might have been used, but it's a slow process.

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

#30
post #24

My 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!

A good chunk of it's libraries are re-exported open source libraries exporting alternate/C++ interfaces though! For example, GSL, FFTW3, and more than a few others.

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.

Post reply on HN