50 likes | 169 Views
This document discusses the challenges of maintaining CINT within the ROOT framework due to its complexity, despite its powerful capabilities. It highlights the need for improved usability, especially in light of ongoing transformations. Key aspects include on-demand dictionaries, interpreter enhancements, and thread safety for CINT objects. The focus is on developing a non-expert-friendly graphical interface (GOOI) that facilitates users in designing analyses intuitively, integrating external packages seamlessly, and improving overall interaction with ROOT. The discussion aims at fostering innovation while addressing the hurdles posed by current development practices.
E N D
Views On CINT Difficult to maintain due to complexity Core part of ROOT with amazing capabilities – and people tend to ignore both facts In the middle of a major transformation: • Dictionary: on demand, no call wrappers, persistency • Interpreter: Script pre-compilation and persistency, OO “byte”code for better maintenance • CINT Objects, thread safety Team Meeting
Views On ROOT Few generic developments needed in “my” area: • Live help system: THtml doc to the prompt • THtml from Reflex DB, globals, friends, etc. Generic: • We should go beyond “users = HEP”. But how? Blocker is probably usability. • Development too much driven by requests • Growth is the worst improvement possible – find mechanism to integrate (external) packages without blowing up ROOT source Team Meeting
GOOI – Graphical rOOt Interface We need a non-expert, intuitive, standard UI • prompt interface optional • C++ optional • optional knowledge of classes, collections,… Use reflection to visualize data format (c.f. TBrowser) Use graphical interface to design analysis, convert to C++, e.g. with Zdenek Culik’s C++ generator Parts re-usable (selections, algos, control histos) Auto-iteration (“foreach electron”) Select input data, save, load, run, view results Team Meeting
GOOI – Graphical rOOt Interface ptsumf TH1FSum of pT x Input Data flow Output with x as input Tools TH1F TH2F Condition: >4 nch Condition ptsumf ForEach TH1FSum of pTfor nch>4 x Team Meeting
@HasMuon IN: jet IN: muons OUT: hasMuon GOOI - Objects ForEach: Collection reference Jets Jets E() px() py() Condition: Muons pz() hadf() emf() @size() Muons Tools TH1F TH2F Condition ForEach Re-used algorithmblock with 2 inputs,one output E() TH2FJet Energy vs emffor muon-jets x emf() y Team Meeting