Various examples demonstrating ROOT's RNTuple columnar I/O subsystem.
RNTuple is the evolution of TTree, offering better performance and new, more robust interfaces. It additionally comes with a binary format specification, which can be found here. The tutorials and examples on this page demonstrate how the RNTuple interface can be used for various use cases.
| Tutorial | Description | 
|---|---|
| ntpl001_staff.C | Write and read tabular data with the RNTupleWriter and RNTupleReader | 
| ntpl002_vector.C | Write and read vector-based data with the RNTupleWriter and RNTupleReader | 
| ntpl004_dimuon.C | Analyze data stored in RNTuple with RDataFrame | 
| ntpl005_introspection.C | Write and read data from a user-defined class with the RNTupleWriter and RNTupleReader, and collect runtime I/O information using RNTupleMetrics | 
| ntpl007_mtFill.C | Fill multiple entries in parallel with the RNTupleWriter | 
| ntpl008_import.C | Convert data stored in TTree to RNTuple with the RNTupleImporter | 
| ntpl009_parallelWriter.C | Write multithreaded with the RNTupleParallelWriter | 
| ntpl010_skim.C | Create a derived RNTuple (dropping, renaming and adding fields, applying cuts) with the RNTupleReader and RNTupleWriter | 
| ntpl012_processor_chain.C | Read entries from a chain of RNTuples in a single event loop with the RNTupleProcessor | 
| ntpl013_staged.C | Apply staged cluster committing to multithreaded writing with the RNTupleParallelWriter | 
| ntpl014_framework.C | Use the various (more advanced) RNTuple interfaces to write data in the context of a framework | 
| ntpl015_processor_join.C | Join the entries from two RNTuples on a common field value and read it using the RNTupleProcessor | 
Files | |
| file | ntpl001_staff.C | 
     Write and read tabular data with RNTuple.  | |
| file | ntpl002_vector.C | 
     Write and read STL vectors with RNTuple.  | |
| file | ntpl004_dimuon.C | 
     Mini-Analysis on CMS OpenData with RDataFrame.  | |
| file | ntpl005_introspection.C | 
     Write and read an RNTuple from a user-defined class.  | |
| file | ntpl007_mtFill.C | 
     Example of multi-threaded writes using multiple REntry objects  | |
| file | ntpl008_import.C | 
     Example of converting data stored in a TTree into an RNTuple  | |
| file | ntpl009_parallelWriter.C | 
     Example of multi-threaded writes using RNTupleParallelWriter.  | |
| file | ntpl010_skim.C | 
     Example creating a derived RNTuple  | |
| file | ntpl011_global_temperatures.C | 
     This ROOT 7 example demonstrates how to use RNTuple in combination with ROOT 6 features like RDataframe and visualizations.  | |
| file | ntpl012_processor_chain.C | 
     Demonstrate the RNTupleProcessor for vertical compositions (chains) of RNTuples  | |
| file | ntpl013_staged.C | 
     Example of staged cluster committing in multi-threaded writing using RNTupleParallelWriter.  | |
| file | ntpl014_framework.C | 
      | |
| file | ntpl015_processor_join.C | 
     Demonstrate the RNTupleProcessor for horizontal compositions (joins) of RNTuples  | |