cms-sw/cmssw — pull request #3796 by wmtan (2014-05-09 21:08:17+00:00)
Title: Workaround for Double32_t bug

This is a workaround for a ROOT bug that causes two relval tests to fail while reading files written with ROOT5.
Fixing the ROOT bug cannot cure the problem, because the ROOT bug is in ROOT5, not ROOT 6, and fixing the bug in ROOT5 would not magically update all files already written with ROOT 5.
The bug is that if a member of a persistent class specified in an xml selection file contains a Double32_t, the Double32_t is properly stored on disk only if there is a iotype selection rule for that field. If not, the item is stored as a double. The bug does not exist in ROOT6. ROOT6 expects a Double32_t, and cannot convert the double to a Double32_t, causing a fatal error. It is not easy to modify ROOT6 to do the conversion.
The easiest fix is to replace Double32_t with double in the code for those cases where there was no iotype selection rule. This does not increase the size on disk, because in these cases, they are already stored as double.