18void fill_tree(
const char *treeName,
const char *fileName)
21 d.Define(
"px", []() {
return gRandom->Gaus(); })
22 .Define(
"py", []() {
return gRandom->Gaus(); })
23 .Define(
"pz", [](
double px,
double py) {
return sqrt(px * px + py * py); }, {
"px",
"py"})
24 .Snapshot(treeName, fileName);
30 auto fileName =
"df003_profiles.root";
31 auto treeName =
"myTree";
32 fill_tree(treeName, fileName);
38 auto hprof1d =
d.Profile1D({
"hprof1d",
"Profile of py versus px", 64, -4, 4},
"px",
"py");
40 d.Profile2D({
"hprof2d",
"Profile of pz versus px and py", 40, -4, 4, 40, -4, 4, 0, 20},
"px",
"py",
"pz");
43 auto c1 =
new TCanvas(
"c1",
"Profile histogram example", 200, 10, 700, 500);
45 auto c2 =
new TCanvas(
"c2",
"Profile2D histogram example", 200, 10, 700, 500);
46 hprof2d->DrawClone(
"BOX");
ROOT's RDataFrame offers a modern, high-level interface for analysis of data stored in TTree ,...
VecExpr< UnaryOp< Sqrt< T >, VecExpr< A, T, D >, T >, T, D > sqrt(const VecExpr< A, T, D > &rhs)