ROOT Version v5-32-00 Patch Release Notes

A new production version ROOT v5-32-04 has been released June 13, 2012.

The AFS version of v5-32-04 for many different platforms and compilers can be found at:

/afs/cern.ch/sw/lcg/app/releases/ROOT/5.32.04/

The complete source tree for all systems (54 MB) is available here:

   ftp://root.cern.ch/root/root_v5.32.04.source.tar.gz

Alternatively get the source from Git using:

   git clone http://root.cern.ch/git/root.git root-v5-32
   cd root-v5-32
   git checkout -b v5-32-04 v5-32-04

After obtaining the source read the file README/INSTALL (in short just do: cd root; ./configure; make).

To get the source of the head of the v5-32-00-patches branch do:

   git clone -b v5-32-00-patches http://root.cern.ch/git/root.git root-v5-32

Changes in head of v5-32-00-patches branch

  • I/O
    • Corrected the calculation of the number of read calls in TRFIOFile (See the forum post on the subject. Fixed by revision 45140).
    • Add protection against corrupted ROOT File (wrong length stored in the file header) (Revision 45170).
    • Fix for recent versions of castor (Revision 48474).
    •  
  • Proof
    • Import patches #45092 and #45093 adding functions to retrieve environment information from the nodes, typically from the master (datadir or some env settings).

      Warning: This change in binary incompatible.

  • CINT
    • Silence warnings on MacOS 10.7 with current XCode (r46000).

Changes in version v5-32-04 (June 13, 2012)

  • Core
    • Avoid risk of executing the tear down routines twice at process termination when -q is used and there is no input file descriptor. (revision 44838).
    • Fix linking of qtcint.dll when explicitly linking is required (see the related forum post).
  • Net
    • Fix in TWebFile reading using https (via TSSLSocket).
  • I/O
    • Avoid seg in I/O operation if you change the prefetch settings after the cache is created (revision 44755).
    • Add an explicit 'Close' for the read cache so that we can insure that all the (concurrent) outstanding connection/use of the TFile are closed before closing the file.

      Warning: Binary incompatible change in TFileCacheRead.h

  • Tree
    • ReadFile() must stop at EOF (r44196, bug #94455).
    • Prevent negative consequences of call SetAutoFlush with a default value (44279, bug #94669).
    • Repair the plotting of string histogram by TTree::Draw
    • Fixes issue in TChainIndex that made reading the first entry of the 2nd and subsequent files in the TChain not beeing properly reading when using the index. (Fixes Savannah #94910).
    • Avoid an unnecessary flushing of the TTreeCache after the first time it filled (revision 44750)
  • Proof
    • Import patch #44397 changing the default merging procedure used histograms to cover correctly all the cases.
    • Import patch #44048 removing the automatic creation of TDrawFeedback by TProofChain.
    • Import patch #44701 fixing several stability issues in xproofd. Patch is server side only; only the upgraded xproofd (or libXrdProofd) is equired.
    • Import patch #42703 removing unused variables in xproofd.
  • CINT
    • genreflex: fix an issue with base classes defining operator new() (bug #94981, r44426).
  • RooFit
    • Fix bug in binned generation of extended pdf (patch #44630 )
  • Hist
    • Fix bug in merging histograms and profile when first histogram to merge is empty (bug #95190 and #94295)

Changes in version v5-32-03 (May 9, 2012)

Changes in version v5-32-02 (March 27, 2012)

  • Build System
    • Fix for building with external OpenSSL in non system location. Fixes issue #92502, r43338.
  • CINT
    • Avoid creating dictionary where TClass can not find the CINT dictionary for an STL collection (case of nested collection where the inner collection are requested with the explicit std::). This fixes the Savannah report 92491.
  • I/O
    • Fix the merging (hadd and TFileMerger) of TTree in subdirectories when an incremental merge is requested (or needed). See the post #92486).
    • In TChainIndex (and hence tree friendship involving chains), properly handle the case where the requested index is too high. (See Forum #61833).
  • Proof
    • Import patch #43245 fixing an issue with forcing local copies of files before merging (bit not always honored).
    • Import patch #43295 to remove dependencies of netx on xrootd-related internal headers (the patch also removes external support for xrootd versions older than 4 years)
    • Import patch #43107 to add the possibility to force submerging at node level, i.e. one submerger per physical machine; in this way the network traffic can be minimized, for example when merging large output files.
    • Import patch #43426 fixing a problem with TProofOutputFile (more flexibility in the automatic definition of the env LOCALDATASERVER).
    • Import patch #43440 fixing an issue with the username used to access a remote file in the xproofd daemon. Fixes a problem when retrieving files from workers where the username is different, e.g. PoD on gLite.
    • Import patch #43470 fixing an backward compatibility issue affecting TProofBench::MakeDataSet.
  • QT
    • Repair generation of qtcint (see the forum post #13636.
  • Histfactory
    • adjusts the ranges of the nuisance parameters for the statistical uncertainties and adds a simple method that is needed for the analytical Barlow-Beeston-lite-like optimization.
    • fix a typo in the XML parsing for an option that has rarely been used.

Changes in version v5-32-01 (February 29, 2012)

  • Build System
    • Various corrections to the cmake build system.
    • Better Solaris 11.11 / CC 5.12 support (r42776, r42777).
    • Make distribution roottest-able, add missing stress files (r42879, r42880).
    • Do not remove essential files during make clean (bug #90487, r43131).
  • Cint
    • Import patch #42566 fixing an issue preventing the generation on the dictionary for MathCore on some 32bits distributions This fixes #90906.
    • Import patch #42805 fixing the problem #83909 which leading to failure of the auto-dictionary generator when dealing with class template inside a namespace.
    • Fix parsing of templated function names in Linkdefs (Savannah #90486, r42849).
    • Fix G__ONELINE at 1024 even if configuring --with-cint-longline (bug #90330, r42584).
    • Warn if selection.xml references a field that does not exist (bug #90061, r42899).
    • Silence warning in Shadow.h on Windows (r42902).
    • Fix the executing of TPad * pp = (TPad*)gPad, see the report on the forum.
  • Core
    • Import patch #42757 fixing memory leak due to multiple allocations of gLibraryVersion.
    • Add missing implementation for TGenericClassInfo::GetDirectoryAutoAdd.
  • I/O
    • Initialize the thread local gDirectory to gROOT rather than null (this is in particular useful to support TObject::Clone which needs a non-zero gDirectory)
    • Resolve #88174 which lead to failure in hadd and the TFileMerger (See patch #42802).
  • TTree
    • Resolve #89645 which could lead to segmentation fault when writing a sparse branch (in a large TTree) with a very long branch name.
    • Make sure that in the tertiary operator implementation we always load the branch that are needed (even in the case cond ? y : -y where cond is false). This fixes #90826.
  • Net
    • Fix in case of redirection in TWebFile (fixes issue 91689).
  • RooFit
    • Extend string parsing buffer in RooWorkspace factory to 10k
    • Allow explicit control over normalization of constraint terms through argument GlobalObservables() in RooAbsPdf::fitTo()
    • In RooMultiVarGaussian Support analytical integration of parameters as well
    • Faster parameter lookup inside RooMinuit
    • Bug fix in RooAddPdf in handling of recursive fractions with non-extended pdfs
    • Bug fix in RooAddPdf::expectedEvents() with fraction coefficients where transformation by range integral ratio is needed for expected yield
    • Bug fix in RooHist::makePullHist (solves Savannah #89945)
    • Bug fix in RooCurve::findPoint (solves Savannah #89949)
    • Bug fix in RooDataHist::adjustBinning (solves Savannah #89947)
    • Bug fix in error messaging in RooProdPdf (solves Savannah #89125)
    • Bug fix in private copy ctor of RooDataHist (solves Savannah #85506)
    • Documentation fix for RooAbsData (solves Savannah #84662)
    • Add option house average instead of bin center for residual and pull histograms (patch #4948)
    • Use createIntegral() inside RooAbsReal::createPlotProjection so that pdf projections with multiple ranges are supported
    • Bug fix in RooAbsData::fillHistogram (solves Savannah #83858)
    • Apply auto-conversion to vector-based data storage in legacy RooDataSet constructors that take TTrees as argument
    • In RooAbsOptTestStatistic disable cache-and-track optimization if storage class is not RooVectorDataStore (as it is only supported by this class)
    • Bug fix in RooRealMPFE -- pass applyWeightSquared flag to remote server - fixes problems with weighted likelihoods calculated with >1 CPU (solves Savannah #84369)
    • Bug fix in RooAbsTestStatistic, forward applyWeightSquared flag to all components (solves Savannah #88479)
    • In RooTruthModel fix analytical integration ranges for 'expBasis' for non-standard ranges
    • Bug fix in RooAbsHiddenReal - fix infinite loop cause by typo
    • In RooAbsAnaConvPdf only evaluate convolutions that are prefixed by a non-zero coefficient
    • Bug fix in RooEffProd normalization when explicit normalization range is used
    • In RooVectorDataStore fix caching of conditional pdfs in level-2 cache mode
    • In RooVectorDataStore restrict cache recalculation to active elements (restores normal performance scaling behavior for NCPU>1)
    • Fix bug in RooAbsAnaConv so that generation from convoluted pdfs also works after persistence (solves Savannah#90986)
    • Fix bug in RooCachedReal so that passthrough debug mode is functional
    • Fix uninitialized data member in RooCachedReal to fix unreproducible behavior when fitting with parameterized integral caching
    • Bug fix in RooGaussModel in sinh and cosh convolution terms (solves Savannah #90845)
    • Bug fix in expression of partial integral in RooSpHarmonic
    • Reduce abundant info messages in operation of RooAbsCachedReal and RooCachedReal to debug stream
    • Make size of RooAICRegistry payload scale dynamically to support complex fits
    • Fix memory leak in RooAbsTestStatistic
    • In RooEffGenContext use known maximum of efficiency function if advertised for more efficient operation
    • Fix persistence problems in RooUnblind* classes (solves Savannah #91268)
    • In RooProdPdf terminate calculation when value is <= cutoff rather than
    • In RooAbsAnaConvPdf improve performance by caching range name strings in RooNameReg
    • Make payload of RooCacheManager scale dynamically to improve performance of complex fits
    • In RooHistPdf also fast-track integration over named ranges if these map to the full range definition
    • In RooDataHist fix bug in partial bin volume corrections in partial integrals.
    • Remove stray debug comment in RooAbsData
    • Make RooDataSet::fillHistogram() also work correctly for weighted datasets
  • RooStats
    • Use flag=2 for constant term optimization in the evaluation of the profile likelihood test statistic
    • Fix a bug in running an automatic scan in the HypoTestInverter.
    • Fix a bug in making the Asimov data set in the AsymptoticCalculator when using workspaces generated with the new HistFactory version (see this RootForum post).
    • Add possibility to make an AsimovDataSet using  nominal nuisance parameter values
    • Add ProfileLikelihoodTestStat::SetOneSidedDiscovery() for q0 and added ::SetSigned() option to allow test statistic to probe fluctuations corresponding to p-values >50%.
    • Misc. fixes to SamplingDistPlot and HypoTestPlot
  • HistFactory
    • Fix a bug in ParamHistFunc constructor needed for bin-by-bin uncertainties (StatError Activate="True" and ShapeFactor) to work properly
    • Change Poisson constraint terms to use "no rounding" flag, important for asymptotic calculations.
    • Added InterpCode=4 to FlexibleInterpVar which avoids kink in likelihood near alpha=0 that cause problems for MINUIT.
  • Hist
    • Remove extra semicolon in THnSparse_internal.h (bug #89917, r42532)
  • Proof
    • Import in stressProof the patches introducing new tests, adding a return code consistent with standard test facilities and the option '-noprogress' to switch off the progress information which may create problems in wrapper applications intercepting the output (e.g. ctest). Patches imported: 42000,42142,42302,42303,42376,42386,42387,42393,42400,42416,42434,42451,42462 .
    • Import patch #42578 fixing in getProof.C some issues mostly related to PROOF-Lite.
    • Import class to analyse the performance tree (see description)
    • Adapt patch #42671 fixing a problem with TProof::Load reported in the PROOF forum, caused by the fact that the additional files were not copied in the master sandbox but left in the cache.
    • Import patch #42798 in TDataSetManagerFile consolidating the way duplicates are removed.
    • Import patch #42904 in TProofOutputFile changing the default mode for merging histograms in TFileMerger, to reduce the memory footprint.
    • Import patch #43074 fixing the way errors are handled when uploading files (e.g. UploadPackage).
    • Import patch #43157 fixing a compilation issue with xrootd 3.0.2 .
  • Core / Textinput
    • Handle '{' on windows keyboards requiring Shift+AltGr+... (bug #90192, r42582, r42595).
  • Graf3D
    • Import rev 42084 from trunk: Fix crash on exit when stamped element map is not empty.
  • GUI
    • Import patch #42940 fixing a problem with new style when using SetBackgroundPixmap() with flat buttons.
  • PyROOT
    • Patch for #91505: allow null-characters in strings passed through the binding.

Changes in v5-32-00 (December 2, 2011)

  • Build System
    • Refine (aka fix) configuration of internal CINT array sizes (r42210, #88752).
  • Hist
    • Import fix #42155 from the trunk to fix for bug #88561
    • THnSparse: fix calculation of number of entries (r42190)
    • Import r42237 to optimize the merging of histograms in case of equal axes.
  • Minuit2
    • Import fix #42147 in Minuit2Minimizer for fixing bug #89111  seen only on Windows
  • Roofit
    • Add binned integration support for RooStats
  • HistFactory
    • Add ParamHistFunc for bin by bin statistical errors for template shapes
  • Math
    • Fix warning "undefined order of evaluation" in KDTree (r42191).
  • Proof
    • Adapt patch #42142 fixing the return code of stressProof.
    • Import patch #42238 fixing checks of controlling envs and parameters in TPerfStat.
    • Import patch #42248 fixing name of the internal directory in the draw functions of TProofBench.
  • Core
    • Zero out unused slots in TClonesArray::ExpandCreateFast(), was causing stale TClonesArray elements across TTree entries (r42333).
  • I/O
    • Fix issue in case of corrupted file with unreadable StreamerInfo record (#87896).

Changes in v5-32-00-rc2 (November 16, 2011)

  • Build System
    • Port to IBM AIX 7.
    • Port to Solaris 11.11.11.
    • Fix for libMathCore being removed from root.exe by smart linkers like on Ubuntu 11.
    • Fixing missing dependency on Windows cmake build.
    • Enable configuration of internal CINT array sizes (r41942, #88752).
  • Core
    • Fix the user of TThread static function before the creation of any TThread object.
    • Make TSystem::StackTrace() work on Solaris and Ubuntu.
  • Proof
    • Import patch #41771 fixing an issue locating the xrootd authentication framework plugin in the PROOF client
    • Import patch #41772 fixing an issue with the configuration of xrootd lib paths when xrootd libs are in system lib paths.
    • Import patches #41785 and #41786 fixing an issue with packetizers preventing proper entry range processing and the file ordering in datasets.
    • Import patch #41788 fixing an issue with AddInputData when objects are TTree or derived.
    • Import patch #41801 fixing an issue in the packetizers potentially crashing PROOF-Lite at exit when using file-resident outputs.
    • Import patch #41869 cleaning-up and simplifying the configuration of xrootd-related list of libraries.
    • Import patches #41958 and #41999 to improve checks, definition and cleaning of the working dir in tutorials/proof/getProof.C
    • Import patch #41904 extending TProofMgr::Ping functionality to 'xrootd' too. This is useful to test if an xrootd server is available at a given address.
  • Hist
    • Import patch #42017 to fix a bug in SetContent with time display histograms 
    • TCanvas::SaveAs() in a .C produced invalid C++ code for histograms drawn with the option COLZ (patch #42107)
  • MathCore
    • Import patch #41834 to fix a bug in TMath::Quantiles
    • Import patch #41984 for fixes in Fitter classes for weighted and extended likelihood fits
  • MathMore
    • Import patch #42011 for fixing pruning of warning messages in Interpolation classes
  • RooFit/RooFitCore
    • Import patch #41862, #41871, #41899, #41976 to improve cache optimizations
    • Patch #42089 (add new bin-integrator)
    • Patch #42128 (various optimizations in pdf handling)
    • Patch #42153 (further optimizations, expand bin-integrator to 2/3d, support for mixed binned/unbinned generation)
  • RooStats
    • Import patch #41799 to fix NLL evaluations in the AsymptoticCalculator
    • Import patch #41810 to fix computation of expected limits in HypoTestInverterResult
    • Import patch #41985 to fix for zero toys in HypoTest calculators
    • Import patch #41887 to fix for reusing of NLL in SimpleLikelihoodRatioTestStat