This tutorial illustrates how to use TProfiles in combination with the TDataFrame.
See the documentation of TProfile and TProfile2D to better understand the analogy of this code with the example one.
void fill_tree(const char *filename, const char *treeName)
{
TFile f(filename,
"RECREATE");
TTree t(treeName, treeName);
float px, py, pz;
t.Branch("px", &px);
t.Branch("py", &py);
t.Branch("pz", &pz);
for (int i = 0; i < 25000; i++) {
pz = px * px + py * py;
t.Fill();
}
return;
}
void tdf003_profiles()
{
auto fileName = "tdf003_profiles.root";
auto treeName = "myTree";
fill_tree(fileName, treeName);
auto hprof1d = d.
Profile1D(
TProfile(
"hprof1d",
"Profile of pz versus px", 64, -4, 4));
auto hprof2d = d.Profile2D(
TProfile2D(
"hprof2d",
"Profile of pz versus px and py", 40, -4, 4, 40, -4, 4, 0, 20));
auto c1 =
new TCanvas(
"c1",
"Profile histogram example", 200, 10, 700, 500);
hprof1d->DrawClone();
auto c2 =
new TCanvas(
"c2",
"Profile2D histogram example", 200, 10, 700, 500);
}
- Date
- February 2017
- Author
- Danilo Piparo
Definition in file tdf003_profiles.C.