Exercise 1: Detective work

(10 minutes)

Duplicate the following plot:1

figure out how to make this plot

Figure 9: Some detective work is required to duplicate this plot.


Take another look at the TF1 command. If class TF1 will generate a one-dimensional function, what class might generate a two-dimensional function?

If TF1 takes a function name, formula, and x-limits in its constructor, what arguments might a two-dimensional function class use? Where could you check your guess?

With your first try, you probably got a contour plot, not a surface plot. Here’s another hint: you want the give the option “surf1” (with quotes) to the Draw method.

If youre wondering how to figure out that “surf1” was an valid option to give to Draw(): Unfortunately, this is not obvious in the current ROOT web site or documentation.

  • Near the top of the TF1 description, it states “TF1 graphics function is via the TH1 and TGraph drawing functions.”

  • If you go to the TH1 class and look at the Draw() method, it says “Histograms are drawn via the THistPainter class.”

  • If you go to the THistPainter class, you’ll see all the available Draw() options.

It’s a long chain of references, and I didn’t expect you to figure it out on your own. The point is to prepare you for the kind of documentation searches you often have to do to accomplish something in ROOT; for example, Advanced Exercises and Expert Exercises in this tutorial. Finding the “surf1” option is trivial by comparison!


The colors don’t have to be the same, since the default colors change in different ROOT versions.