Skip to content

Conversation

magnustymoteus
Copy link
Contributor

This Pull request:

Changes or fixes:

This PR adds a new directory treemap in /gui/ with the following features:

  • Logic for generating treemap
  • Drawing a treemap on a TVirtualPad
    • This is the non-interactive version without web graphics (interactive JS treemaps will be in a separate PR)
  • Importing the treemap given an RNTuple
  • CMakeLists.txt that makes this a root library ROOTTreeMap
    • Should this be renamed to ROOTTreeMapv7?
    • Should this file be moved to a separate "CMake integration" PR?
  • LinkDef.h so that the treemap structure can be encoded to JSON for use in JS

Checklist:

  • tested changes locally
  • updated the docs (if necessary)

Copy link

github-actions bot commented Aug 26, 2025

Test Results

    21 files      21 suites   3d 11h 45m 42s ⏱️
 3 641 tests  3 486 ✅  0 💤 155 ❌
74 720 runs  74 542 ✅ 23 💤 155 ❌

For more details on these failures, see this check.

Results for commit ab807f9.

♻️ This comment has been updated with latest results.

@magnustymoteus magnustymoteus force-pushed the treemap-c++ branch 2 times, most recently from 3bce25d to cde8a6a Compare August 26, 2025 15:14
Copy link
Contributor

@silverweed silverweed left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks!

@magnustymoteus
Copy link
Contributor Author

Some changes I made:

  • Removed the clad thing from CMakeLists.txt
  • Additional static Import method with RNTupleInspector as argument (needed for the non-web TBrowser)
  • General code cleanup (e.g push -> emplace)


// clang-format off
/**
\class ROOT::Experimental::RTreeMapBase
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are we planning any test for these classes? Is there any 'how to use' documentation?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A brief tutorial would be nice to have indeed.

Comment on lines +37 to +38
allows for drawing a legend of types of leaf nodes, and see which types occupy how much of the total space.
*/
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
allows for drawing a legend of types of leaf nodes, and see which types occupy how much of the total space.
*/
allows for drawing a legend of types of leaf nodes, and see which types occupy how much of the total space.
Note: this visualization class/technique is independent/unrelated to `TTree`.
*/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants