Loading...
 

GSoC 2015

Cern Sft Template Information

ROOT-R Interface for Multivariate Data Analysis(TMVA)


Index


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

Application:

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.

Basic Desing


Image
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.

Deliverables:

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

Timeline:

Outline at least three milestones and describe what you are planning to have accomplished for each of them.

April 27:

19:00 UTC

Accepted student proposals announced on the Google Summer of Code 2015 site.

Community Bonding Period

Students get to know mentors, read documentation, get up to speed to begin working on their projects.

May 25:

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.

Work Period:

Mentors give students a helping hand and guidance on their projects.

June 26:

19:00 UTC

Mentors and students can begin submitting mid-term evaluations.

July 3:

19:00 UTC

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

Work Period:

Mentors give students a helping hand and guidance on their projects.

August 17:

Suggested 'pencils down' date. Take a week to scrub code, write tests, improve documentation, etc.

August 21:

19:00 UTC

Firm 'pencils down' date. Mentors, students and organization administrators can begin submitting final evaluations to Google.

August 28:

19:00 UTC

1) Final evaluation deadline

2)Google begins issuing student and mentoring organization payments provided forms and evaluations are on file.

August 28:

20:00 UTC

Students can begin submitting required code samples to Google

Requirements:

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.

Information about yourself


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.


Full Name: Omar Andres Zapata Mesa
email: andresete.chaos at gmail.com
Systems’ Engineering Student 3th Year
at Instituto Tecnologico Metropolitano www.itm.edu.co

ACADEMIC EVENTS

  • 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.

COMPLEMENTARY STUDIES

  • 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.

WORK EXPERIENCE

  • 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

Commitments after GSoC

  • 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."
Albert Einstein


Read more at http://www.brainyquote.com/quotes/authors/a/albert_einstein_2.html#ZHGz8WfZJSahwKlf.99

Visits

Related Sites