LINQtoROOT v0.41.0.2

Rating: No reviews yet
Downloads: 0
Change Set: 252efe13406d
Released: Oct 11, 2011
Updated: Oct 15, 2011 by gwatts
Dev status: Alpha Help Icon

Available Downloads

There are no downloads associated with this release.

Release Notes

Bug fixes and new features based on the 0.4 release. There are definately some rough spots still - in particular, the way the IDE commands and nuget commands work is not yet optimal - so watch out for that stuff!

This release is on nuget only (nuget feed: http://deeptalk.phys.washington.edu/rootNuGet/nuget).

WARNING: This release contains a major bug - complex queries that contian subqueries aren't correctly translated. Do not use. v0.4 will do most of what this release will do, and do it correctly. This will be fixed in the next release.

New Features

  • User defined objects can be used as containers in the query. There are a lot of restrictions, but this means you get some predictability when the unknown types of an anonymous type just aren't good enough.
  • Major re-working of how variables are passed around internally. Hopefully nothing broke. However, it means First, Last, PairwiseAll, UniqueCombinations, etc., can all work on objects like "jets" or on LINQ anonymous objects! Further, FirstOrDefault and LastOrDefault now work as you might expect - and you can compare a object to null (jets.FirstOrDefault() != null). Note that if you do First() or Last() on an empty sequence a C++ exception is thrown. It is not caught in a way that is easy to understand by the .NET code, however. Good luck. :(
  • Added the modulo operator ("%" in C++). With the First/last you should be able to do either/or cases based on event number for a pesudo random number generator.
  • It is now possible to define a standard "plot" (like jet pt) and then reuse it in several different contexts - so you can define uniform binning, etc. Also, there is a text substitution library so pT can be replaced by p_T or eta with \eta - to automatically pretty-print your plot titles and axes. You can add further substitutions as well.
  • Supports the Average LINQ operator.
  • You no longer have to start devenv from the command line prompt! You can now run it as you normally would, and everything required to build under vc10 will be put in the path. You can still define things ahead of time and the code will detect that and do its best not to interfear (it checks to see if it can find cl.exe).
  • In the XML file that you use to customize your object layout you can now put "ClassName" as an attribute to the ArrayGroup. This will cause the generator to use your class name rather than a made up one (so you could have "Jet" as a classname now, for the element Jets).
  • In the XML file that you use to customize your object layout the group "Name" is now an attribute on ArrayGroup rather than a sub-element. This could be a breaking change depending on how...

Bug Fixes

  • The libraries depend on root dll's, which are 32-bit only. Switched the .NET assembly marker to be x86 rather than Any CPU to make sure things aren't accidentally put in a 64 bit environment.
  • It should now be possible to have the executable located at a path that has a space in it - all ROOT compiles should now be moved into the TEMP area. This whole system doesn't currenlty work if you have a space in your username.
  • The reference to the extra build steps added to the project file was absolute, which made it impossible to check into source control and use the project on another machine. Fixed.
  • The DeltaR2 method (which just avoids taken the sqrt to speed things up) wasn't calculating delta-phi correctly. Fixed. Hopefully not a bi effect!

Reviews for this release

No reviews yet for this release.