Nevis ROOT Web Links
This a page of reference links. It's meant as a
companion page to the ROOT
Tutorial that I teach every year at Nevis Labs.
The following links will give you a start as you search the web for
information on UNIX, ROOT, and C++.
UNIX
ROOT
C++ references
(thanks to Segev Benzvi)
- Tutorial at cplusplus.com
- This starts from the basics, so it is appropriate for beginners. It also seems to be a fairly complete language reference, excluding the STL of course. A pretty good place to start.
- C/C++ Reference
- This is a bare-bones list of the functions and members available in the standard C and C++ libraries. This would be a handy reference once the students got comfortable with the language.
Reference books
(the links point to Amazon)
Books on C++
- C++
Primer Plus
- I still refer to this book frequently for C++ syntax information.
This is the best C++ tutorial and reference that I've seen.
- The C++ Programming Language
- The "official" C++ language specification. If I can't find the
answer to some technical C++ question is the primer, I look here.
- STL Tutorial and Reference Guide
- When you want to program in C++, there are really three
"languages" you have to learn. The first is C++ itself; that's
covered by the two books above. The second is the Standard Template
Library, a collection of C++ templates that's rapidly becoming part of
the standard language. I also refer to this book frequently.
- Design
Patterns
- The third "language" you have to learn is that of design patterns,
that is, the common techniques that are used to solve problems in
object-oriented programming. If you hang around a group of C++
programmers, you'll hear them discuss the "strategy pattern," the
"factory pattern," the "singleton pattern," and so on. This book
defines what those terms mean.
- Generic Programming and the STL
- There are two techniques I know of to promote code re-usability.
One is object-oriented programming, a topic discussed in some of the
above books. The other is "generic programming," a technique that is
independent of object-oriented programming. This book explores topics
in generic programming (which I wish I understood better than I
presently do).
- Scientific and Engineering C++
- This is the standard C++ book recommended for scientists. To be
honest, I never found it all that useful compared to the books above.
I mention it to be complete.
Python
Learning Python
If you're using ROOT via Pyroot, you'll want to learn the Python programming language. This book is pretty good, though some sections are more of a reference than a tutorial.
Books on Statistics
- Data Reduction and Error Analysis for the Physical Sciences
- The "bible" of basic statistics for scientists. The second
edition introduced a number of typographical errors; I hope these have
been fixed in the third edition.
- Techniques for Nuclear and Particle Physics Experiments
- Once you know statistics, you have to learn how to apply them in
physics experiments. If you get this book, keep it well-hidden. Your
colleagues will "borrow" it, and you'll never see it again.
- Statistics
- The two books above are graduate-level texts. This book covers
statistics from a basic level (it's intended for the social
sciences). I like this book because it covers statistics topics from
the very basics, starting with the box model. I feel it's important
to have at least one reference that covers the assumptions that
underlie statistics formulae; that way, you can judge when those
assumptions no longer apply.
Send e-mail to Bill Seligman
Back to the ROOT
Tutorial page
Up to the Nevis home page.