Learning ROOT for Research: A Beginner's Guide

  • Thread starter Thread starter Divided_Pi
  • Start date Start date
  • Tags Tags
    Root Tutorial
Click For Summary

Discussion Overview

The discussion revolves around learning ROOT, a data analysis framework used in particle physics, particularly for those new to programming or transitioning from other languages like Java. Participants share their experiences and seek guidance on how to effectively learn ROOT alongside C++ and Linux/Unix environments.

Discussion Character

  • Exploratory
  • Technical explanation
  • Conceptual clarification
  • Homework-related

Main Points Raised

  • One participant expresses a need to learn ROOT for a summer research position and seeks advice on how to proceed after opening the ROOT browser.
  • Another participant suggests a link to the official ROOT first steps tutorial, indicating it may be helpful for beginners.
  • Questions arise about distinguishing between Unix commands and C++ syntax, with a specific example of using the 'cat' command in a terminal.
  • A participant suggests that familiarity with Linux is important and offers the option to learn it concurrently with ROOT and C++.
  • Some participants propose that learning the basics of C++ is essential for using ROOT effectively, especially for those with a background in Java.
  • One participant shares their experience of searching for beginner tutorials and finding them either too trivial or not aligned with their needs, emphasizing the importance of practical examples.
  • Another participant mentions confusion regarding how C++ integrates with ROOT and expresses a desire for more direction in their research project.

Areas of Agreement / Disagreement

Participants generally agree on the importance of learning C++ for using ROOT, but there is no consensus on the best approach to learning Linux or the order in which to tackle these skills. The discussion remains unresolved regarding the most effective learning strategy.

Contextual Notes

Some participants express uncertainty about the integration of C++ with ROOT and the specific requirements of their research projects, indicating a lack of clear guidance or direction.

Who May Find This Useful

This discussion may be useful for beginners in programming, particularly those transitioning to ROOT for research in physics or related fields, as well as individuals seeking to understand the interplay between C++, ROOT, and Linux environments.

Divided_Pi
Messages
6
Reaction score
0
Hello, this is my frist thread so I'm sorry if this is in the wrong place, but the other forums didn't seem to be as relevant.

I'm trying to get a research position over the summer and I need to teach myself how to use Root, I have programming experience with Java (although it has been a while since I've used it).
I have Root installed and have been able to follow an online tutorial far enough as to open the browser, but that is as far as I've gotten. (I'm using a fermilab tutorial powerpoint in case that is relevant)

I know Root runs on C++, so I'm also prepared to learn that, but I don't even know where to start with Root after I get the browser open. Any help is greatly appreciated.

Also, any hints or tips to help me get this research position will be greatly appreciated also ;)

and again, sorry if this is completely out of place here
 
Technology news on Phys.org
Welcome to PF, and ROOT :smile:

Did you try the original ?
http://root.cern.ch/drupal/content/first-steps-root
 
Thanks for the link, I must have overlooked it before. Any other links are also appreciated.

If there are phrases that I don't understand, how do I know if it is Unix or C++?
such as: "$ cat myMacro.cxx" I think the myMacro.cxx is referring to a C++ file, but the '$ cat' is unfamiliar to me, although I think $ is used in Terminal.

Again, thanks for the help
 
and thanks for the welcome :)
 
Divided_Pi said:
Thanks for the link, I must have overlooked it before. Any other links are also appreciated.

If there are phrases that I don't understand, how do I know if it is Unix or C++?
such as: "$ cat myMacro.cxx" I think the myMacro.cxx is referring to a C++ file, but the '$ cat' is unfamiliar to me, although I think $ is used in Terminal.

Again, thanks for the help

Typically '$' is meant to signify a shell prompt in a *nix (unix or linux) environment - typically the bash shell in a linux environment. 'cat' is a shell command, short for concatenate. You do not type the '$'.

It seems like you are unfamiliar with working in a linux environment and you might want to get up to speed on it before starting to learn ROOT and C++. Or you might just pick up what you need along the way. Up to you.
 
Thanks Norman, I'm not very familiar with Linux, it was hard enough to get Root installed. In all honesty, this is one of the first times I've really had to teach myself something without any real guidance. Should I try to understand some basic Linux/Unix first then try to work my way up to actually working with Root and C++? Or is it possible to sort of learn them side by side? I just feel like there is so much to learn that I'm even sure where to start really.
 
I have never used Root, so I am not the best person to ask these sort of questions of.

My understanding of Root is that it is simply a set of classes for C++. So, in order to use Root, I would assume you would need to learn C++. But, that is a huge assumption because I truly have no idea how Root works.

If you were setting out to learn C++, I would say you could pick up the basics of linux shell manipulation as you go while learning C++. That is what I did as an undergrad in the few programing classes I took.

Regarding learning Root, I would wait for humanino or someone else to respond.
 
I'm currently doing my bachelor thesis project and have to use ROOT to produce some plots, so I'm sort of having the same problem as you. What I've done is to search the net to find beginner's tutorials, but I can't really say I've had any luck. It's either to trivial or not what I was looking for. The best ones I've seen so far are the original tutorials from root.cern.ch and if I remember right probably the same Fermilab one you're talking about.

In my experience it seems like a good idea to learn how to use C++, at least the basics. If you know a lot of Java this is probably not so difficult. Regarding Linux/terminal issues I don't really think this is anything to worry about, you can probably easily learn it as you go along. It is a piece of cake compared to the programming issues, simply google what you want to do or find some Linux beginners forum.

What is it more specifically you want to learn about ROOT, i.e. what is the research about?
 
kloptok said:
I'm currently doing my bachelor thesis project and have to use ROOT to produce some plots, so I'm sort of having the same problem as you. What I've done is to search the net to find beginner's tutorials, but I can't really say I've had any luck. It's either to trivial or not what I was looking for. The best ones I've seen so far are the original tutorials from root.cern.ch and if I remember right probably the same Fermilab one you're talking about.

In my experience it seems like a good idea to learn how to use C++, at least the basics. If you know a lot of Java this is probably not so difficult. Regarding Linux/terminal issues I don't really think this is anything to worry about, you can probably easily learn it as you go along. It is a piece of cake compared to the programming issues, simply google what you want to do or find some Linux beginners forum.

What is it more specifically you want to learn about ROOT, i.e. what is the research about?

I haven't started the research yet, the professor basically handed me a C++ book and told me to learn to use ROOT then get back to him. I've been trying to get an example problem form him but he has been busy so I don't really have a direction to work towards. I guess I'm trying to figure out where the C++ goes? Looking around the internet it sounds like you write the C++ separately then just use the ROOT library(?) this is all stuff I'm pretty confused about.
 

Similar threads

  • · Replies 2 ·
Replies
2
Views
3K
Replies
69
Views
11K
  • · Replies 8 ·
Replies
8
Views
4K
  • · Replies 6 ·
Replies
6
Views
3K
  • · Replies 3 ·
Replies
3
Views
1K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 11 ·
Replies
11
Views
3K
  • · Replies 13 ·
Replies
13
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 3 ·
Replies
3
Views
3K