Using Functional Languages and Declarative Programming to analyze ROOT data: LINQtoROOT. (April 2015)