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++.
- The ROOT home page.
- The ROOT User's
Guide. This 7MB Adobe PDF file is the same as the one you'll find
in the looseleaf binders I put in class.
- The ROOT
Publications page, including other tutorials.
(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.
(the links point to Amazon)
Books on C++
- 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.
- 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
- 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.
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.
- 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
Up to the Nevis home page.