10-14 October 2016
San Francisco Marriott Marquis
America/Los_Angeles timezone

RootJS: Node.js Bindings for ROOT 6

10 Oct 2016, 15:45
Sierra A (San Francisco Mariott Marquis)

Sierra A

San Francisco Mariott Marquis

Oral Track 5: Software Development Track 5: Software Development


Dr Marek Szuba (KIT - Karlsruhe Institute of Technology (DE))


We present rootJS, an interface making it possible to seamlessly integrate ROOT 6 into applications written for Node.js, the JavaScript runtime platform increasingly commonly used to create high-performance Web applications. ROOT features can be called both directly from Node.js code and by JIT-compiling C++ macros. All rootJS methods are invoked asynchronously and support callback functions, allowing non-blocking operation of Node.js applications using them. Last but not least, our bindings have been designed to platform-independent and should therefore work on all systems supporting both ROOT 6 and Node.js.

Thanks to rootJS it is now possible to create ROOT-aware Web applications taking full advantage of the high performance and extensive capabilities of Node.js. Examples include platforms for the quality assurance of acquired, reconstructed or simulated data, book-keeping and e-log systems, and even Web browser-based data visualisation and analysis.

Secondary Keyword (Optional) Software development process and tools
Tertiary Keyword (Optional) Network systems and solutions
Primary Keyword (Mandatory) Data processing workflows and frameworks/pipelines

Primary authors

Mr Christoph Haas (KIT - Karlsruhe Institute of Technology (DE)) Mr Christoph Wolff (KIT - Karlsruhe Institute of Technology (DE)) Mr Jonas Schwabe (KIT - Karlsruhe Institute of Technology (DE)) Dr Marek Szuba (KIT - Karlsruhe Institute of Technology (DE)) Mr Maximilian Früh (KIT - Karlsruhe Institute of Technology (DE)) Mr Sachin Rajgopal (KIT - Karlsruhe Institute of Technology (DE)) Mr Theo Beffart (KIT - Karlsruhe Institute of Technology (DE))

Presentation Materials

Your browser is out of date!

Update your browser to view this website correctly. Update my browser now