150 likes | 161 Views
ROOT For RUN II. ROOT Support and Developments at FNAL. Philippe Canal pcanal@fnal.gov 630-840-2545. ROOT for Run II. Selecting a Physics Analysis Tool Concerns Addressing the Concerns. Requirements. Functional requirements Scripting language Run on several platforms
E N D
ROOT For RUN II ROOT Support and Developments at FNAL Philippe Canal pcanal@fnal.gov 630-840-2545
ROOT for Run II • Selecting a Physics Analysis Tool • Concerns • Addressing the Concerns Philippe Canal, pcanal@fnal.gov
Requirements • Functional requirements • Scripting language • Run on several platforms • Modular architecture • Support requirements • Portability • Ease of maintenance • Close collaboration Philippe Canal, pcanal@fnal.gov
Candidates • Histoscope • No scripting language • LHC++ • Scheduled for use in 2005 – too late • IDL • Limitation on the size of the data set • Root • Closest to meeting the requirements • Some requirements were only partially met - risky Philippe Canal, pcanal@fnal.gov
A Visit to CERN • Discuss issues (Some resolved on the spot) • ROOT team is enthusiastic to collaborate • Plans to hold a ROOT workshop at FNAL for US HENP experiments considering ROOT Philippe Canal, pcanal@fnal.gov
Requests From The Workshop • Improved robustness • STL support • Improved documentation • Persistence for CLHEP • Multi-threading • Interface to SQL Philippe Canal, pcanal@fnal.gov
Improved Robustness • External preprocessor • FNAL ROOT team modified CINT and ROOT to implement this. • Modularization of ROOT • Implemented by ROOT team in v2_23 • Automatic handling of STL • Added by the ROOT team • Available via the script compiler Philippe Canal, pcanal@fnal.gov
Improved Robustness • User support, deployment, and testing • UPS/UPD • Test on all released platforms • Local support • Central contact to voice user needs and during feature implementation Philippe Canal, pcanal@fnal.gov
Script Compiler • Advantages • Five Times Faster than Interpreter • Full C++ capability • Syntax checking • Can be used to add a class to a ROOT session. • Disadvantages • Can only load a C++ library once • Compile time Philippe Canal, pcanal@fnal.gov
Adding a Class with The Script Compiler Step 1: Write the class definition in a separate file. Step 2: Add the ClassDef and ClassImp macro calls to the class definition. Step 3: Load the class with the script compiler. root[0] .L ABCClass.C++root[1] ABC abcroot[2] abc.a = 3.2;root[3] abc.b = 4.0;root[4] abc.Dump(); Philippe Canal, pcanal@fnal.gov
Improved Documentation • For the novice user • Root 101 hands-on class with exercises • Root files and GUI overview • Tree viewer • How to find more information • Macros • “Getting started with root” document • http://www-pat.fnal.gov/root/ Philippe Canal, pcanal@fnal.gov
Improved Documentation • For the intermediate user • Root 102 hands-on class with exercises • Functions and fitting • Building root trees • Putting trees to work • More about CINT • Script complier • C++ basics for root users document • Extras • Collections slide presentation • XClasses implementation in ROOT Philippe Canal, pcanal@fnal.gov
And … • Interface to CLHEP • PhysicsVector • More to come • Multi-threading • Implemented by GSI • Interface to SQL • Implemented by the CERN ROOT team Philippe Canal, pcanal@fnal.gov
Other FNAL/ROOT Projects • Automatic documentation • Inline functions • Point and click inheritance diagram • Self describing object format • Reading ROOT files without having the source file for the saved object. Philippe Canal, pcanal@fnal.gov
Conclusion • Confidence in our choice of ROOT • Successfully addressed concerns • Success factors • Unprecedented support by ROOT team • Make up of skills and personalities of the FNAL ROOT team • Identification of specific issues to work on Philippe Canal, pcanal@fnal.gov