Cern Sft Template Information
ROOT-R Interface for Multivariate Data Analysis(TMVA)
- Information about yourself
- Commitments after GSoC
- Proposal at Google Site
Abstract: ROOT - R interface for Multivariate Data Analysis (TMVA)
Provide a short (one paragraph) description of your proposal.
Description: Using the ROOT-R interface many of the statistical packages available in R such as those performing multi-variate analysis can be used in ROOT. The idea of the project is to facilitate the usage of some of the R packages by creating corresponding interface classes in the ROOT system. These classes should implement some of the needed interfaces required to be used by some of the statistical packages of ROOT and they could be loaded at run-time by the ROOT plugin manager system.
Requirements: Knowledge of C++, ROOT and R. Knowledge of computational statistics would be an advantage.
Mentors: Lorenzo Moneta, Sergei Gleyzer
Describe your application in detail. Provide some background, describe the work that you are expecting to do in the time leading to the GSoC start.
Develop interface classes for some of the most used the multi-variate statistical tools in R for classification and regression. These interface classes should be designed to be used by the TMVA package of ROOT.
What do you expect as a deliverable for your project? Please try to be as precise as you can (e.g. a ready to deploy package (or a patch) ABC implementing XYZ feature tested on Linux/Mac/Windows)
Source Code in an repository that lets you use R in ROOT with the next features:
1) Class RMethodBase: Base class for all TMVA's plugins base on R interface, the class have a TRInterface's object to parse information from R to ROOT and vice versa. The class can load needed R's packages and it will have a system to control error checking if the package is not installed. 2) Wrappers for TMVA datatypes 2.1) Basically I need to create some new types with class TMVA::Types and I need to wrap it to use in R's environment to let to the user change options in R's functions. 2.2) To write a wrapper for the class TMVA::MsgLogger to print messages from R's environment where MVA functions need to print something. 3) Class with a wrapper for a MVA classification: Class of an R package for MVA classification indicated by the mentor. 4) Class with a wrapper for a MVA regression: Class of an R package for MVA regression indicated by the mentor. 5) Examples and tests codes: 5.1) An example using the classes for classification and regression from ROOT-R . 5.2) Other basic examples about how to create your own plugin for TMVA based in ROOTR 5.3) test cases for every feature 6) Integrate to ROOT: 6.1) support for autotools and CMake 6.2) support for Linux 6.3) support for c++11
Outline at least three milestones and describe what you are planning to have accomplished for each of them.
Community Bonding Period
1) Class RmethodBase:
Base class for all TMVA's plugins base on R interface, the class have a TRInterface's object to parse information from R to ROOT and vice versa.
The class can load needed R's packages and it will have a system to control error checking if the package is not installed.
4) Class with a wrapper for a MVA regression:
Class of an R package for MVA regression indicated by the mentor.
Tell us what do you expect from us, what help are you going to need.
- Help and guidance coupling with ROOT libraries.
- A git branch and a page in drupal should be nice.
Tell us about yourself (be verbose!). A paragraph that states your work and education experience should suffice. List the projects that you have participated in, it can be open source projects, university projects, freelance projects or anything else which you think might be relevant. If you have a blog where you write about the work you do or things you study please provide a link to it. Do not forget to provide us with your email address and other contact details (e.g. Jabber ID, skype)
Why choose me?
- I am a student that knows pretty well ROOT's development technologies.
- I was a GSoC student last year with a project for ROOT that is ready to be integrated with the main project any time soon.
- I am still developing and maintaining the projects from previous GSoCs.
- I am a passionate student with my work and I want to continue contributing with the development of ROOT's libraries.
- Latin America High Performance and Grid Computing - The Abdus Salam International Centre for Theoretical Physics (ICTP)
- Scipy Conference 2010 at Austin Texas.
- Gtoc5: with Computational Physics and Astrophysics Group (FACom)
- Google Summer of Code 2012.
- Google Summer of Code 2014.
- Computational Physics, Physics Institute, Universidad de Antioquia: Teacher Jorge Zuluaga Callejas, PhD.
- Advanced Scientific Programming in Python: Teacher Fernando Perez University of California at Berkeley PhD
- Orbital Mechanics: Teacher Ricardo Restrepo Msc and Ph.D Student University of Texas at Austin. Aerospatial Engineering.
- Computational Numerical Methods:Teacher Jorge Zuluaga Callejas, PhD.
- Developer in Phenomenology of Fundamental Interactions Group (Gfif)http://gfif.udea.edu.co Division of computer science Gfif Developers (GfifDev)
- System Manager of Regional Center for Simulation and Advanced Computing (CRESCA), University’s headquarters of research (SIU), Universidad de Antioquia
- Developer of Computer Science Division, of Computational Physics and Astrophysics Group (FACom) Univerdiad de Antioquia.
- Computer Assistant in the Journal of Physics: Sociedad Colombiana de Física.
- Teacher/trainer of Scientific Computing in Python http://gfif.udea.edu.co/web/tiki-index.php?page=Extension+Python&structure=gfif+(es)
- Software developer in C + + for Orbital Mechanics Group at the University of Texas at Austin, mentored by Dr. Cesar Ocampo Ph.D
- To continue working with ROOT team to improve the work.
- To write support for Mac
- To write support for Windows(when Cling lets).
"It's not that I'm so smart, it's just that I stay with problems longer."