Skip to content
Snippets Groups Projects
  1. Mar 31, 2013
  2. Mar 28, 2013
    • Fons Rademakers's avatar
      From Lifeng Sun: · 2f98a6a8
      Fons Rademakers authored
      The attached patchset fixes a bunch of typo in the source:
      0001-succes-success.patch
      0002-preceed-preced.patch
      0003-informations-information.patch
      0004-childs-children.patch
      0005-avaliable-available.patch
      0006-writeable-writable.patch
      0007-comand-command.patch
      0008-unkown-unknown.patch
      0009-wierd-weird.patch
      0010-wheter-whether.patch
      0011-unecessary-unnecessary.patch
      0012-splitted-split.patch
      0013-registerd-registered.patch
      0014-recieve-receive.patch
      0015-processsing-processing.patch
      0016-ouput-output.patch
      0017-mutiple-multiple.patch
      0018-lenght-length.patch
      0019-interupted-interrupted.patch
      0020-independant-independent.patch
      0021-inconsistant-inconsistent.patch
      0022-expresion-expression.patch
      0023-explicitely-explicitly.patch
      0024-enviroment-environment.patch
      0025-deafult-default.patch
      0026-continous-continuous.patch
      0027-completly-completely.patch
      0028-commited-committed.patch
      0029-choosen-chosen.patch
      0030-backgroud-background.patch
      0031-auxilliary-auxiliary.patch
      0032-authentification-authentication.patch
      0033-appropiate-appropriate.patch
      0034-an-other-another.patch
      0035-environement-environment.patch
      0036-targetting-targeting.patch
      0037-suppported-supported.patch
      0038-paramater-parameter.patch
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@48992 27541ba8-7e3a-0410-8455-c3a389f83636
      2f98a6a8
  3. Feb 25, 2013
  4. Jan 23, 2013
  5. Nov 06, 2012
  6. Oct 17, 2012
  7. Sep 12, 2012
  8. Apr 27, 2012
  9. Jan 20, 2012
  10. Oct 17, 2011
  11. Oct 11, 2011
  12. Sep 13, 2011
    • Philippe Canal's avatar
      From Chris Jones: · 7de5e0a0
      Philippe Canal authored
      Put in place the infrastructure to optimize the I/O writes in the same way we optimized the I/O reads.
      
      Rename TBuffer::ReadSequence to TBuffer::ApplySequence as they can be used both for reading and writing.  The 3 new signatures:
      
      1. virtual Int_t ApplySequence(const TStreamerInfoActions::TActionSequence &sequence, void *object);      
      2. virtual Int_t ApplySequenceVecPtr(const TStreamerInfoActions::TActionSequence &sequence, void *start_collection, void *end_collection);      
      3. virtual Int_t ApplySequence(const TStreamerInfoActions::TActionSequence &sequence, void *start_collection, void *end_collection);
      
      The 1st version is optimized to read a single object. The 2nd version is optimized to read the content of TClonesArrays and vectors of pointers to objects.
      The 3rd version is used to streamed any collections.
      
      In TBranchElement, introduce a set FillLeaves member functions to precalculate many of the (existing) conditional.  Introduction support for the StreamerInfo write actions and sequences.
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@40872 27541ba8-7e3a-0410-8455-c3a389f83636
      7de5e0a0
  13. Aug 23, 2011
  14. Aug 19, 2011
    • Philippe Canal's avatar
      From Bruno Lenzi: TEntryListArray · f95f142d
      Philippe Canal authored
      TEntryListArray is an extension of TEntryList, used to hold selected entries and subentries (sublists) of a TTree. It is useful in case of a TTree with containers (vectors, arrays, ...). A typical example is the case when each entry of a TTree corresponds to physics events and each subentry (index of arrays) represents a particle.
      
      Its main purpose is to improve the performance of a code that needs to apply complex selections (cuts) on TTree::Draw multiple times. Evaluating such cuts can be time consuming for large trees due to the need for loading the associated information (branches). This operation is done once with the use of a TEntryListArray. Subsequent calls to TTree::Draw only need to load the requested branches for histogramming, while using only the entries and subentries that satisfied the previous selection.
      
      TTree/TSelectorDraw: use of TEntryListArray to select entries and subentries. If the option "entrylistarray" is specified, a TEntryListArray is created and filled with the entries and subentries that pass the given selection. If TTree::Draw is called after a TEntryList is set, only the selected entries and subentries are used to fill histograms or create new entrylists.
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@40643 27541ba8-7e3a-0410-8455-c3a389f83636
      f95f142d
  15. Aug 14, 2011
  16. Jun 13, 2011
    • Philippe Canal's avatar
      From David Dagenhart: · 02d8d542
      Philippe Canal authored
      Implement an option to allow ROOT to use the LZMA compression
      algorithm to compress data instead of the ZLIB compression algorithm.
      LZMA compression typically results in smaller files, but takes more
      CPU time to compress data. To use the new feature, the external XZ
      package must be installed when ROOT is configured and built:
      
      Download 5.0.3 from here http://tukaani.org/xz/
      and make sure to configure with fPIC:
         ./configure CFLAGS='-fPIC'
      
      Then the client C++ code must call routines to explicitly request LZMA
      compression.
      
      ZLIB compression is still the default.
      
      Setting the Compression Level and Algorithm:
      
      There are three equivalent ways to set the compression level and 
      algorithm. For example, to set the compression to the LZMA algorithm
      and compression level 5.
      
      1. TFile f(filename, option, title);
         f.SetCompressionSettings(ROOT::CompressionSettings(ROOT::kLZMA, 5));
      
      OR
      
      2. TFile f(filename, option, title, ROOT::CompressionSettings(ROOT::kLZMA, 5));
      
      OR
      
      3. TFile f(filename, option, title);
         f.SetCompressionAlgorithm(ROOT::kLZMA);
         f.SetCompressionLevel(5);
      
      These methods work for TFile, TBranch, TMessage, TSocket, and TBufferXML. 
      The compression algorithm and level settings only affect compression of
      data after they have been set. TFile passes its settings to its branches 
      only at the time the branches are created. This can be overidden by 
      explicitly setting the level and algorithm for the branch. These classes 
      also have the following methods to access the algorithm and level for 
      compression.
      
         Int_t GetCompressionAlgorithm() const;
         Int_t GetCompressionLevel() const;
         Int_t GetCompressionSettings() const;
      
      If the compression level is set to 0, then no compression will be
      done. All of the currently supported algorithms allow the level to be
      set to any value from 1 to 9. The higher the level, the larger the
      compression factors will be (smaller compressed data size). The
      tradeoff is that for higher levels more CPU time is used for
      compression and possibly more memory. The ZLIB algorithm takes less
      CPU time during compression than the LZMA algorithm, but the LZMA
      algorithm usually delivers higher compression factors.
      
      The header file core/zip/inc/Compression.h declares the function
      "CompressionSettings" and the enumeration for the algorithms.
      Currently the following selections can be made for the algorithm:
      kZLIB (1), kLZMA (2), kOldCompressionAlgo (3), and kUseGlobalSetting
      (0). The last option refers to an older interface used to control the
      algorithm that is maintained for backward compatibility. The following
      function is defined in core/zip/inc/Bits.h and it set the global
      variable.
      
         R__SetZipMode(int algorithm)
      
      If the algorithm is set to kUseGlobalSetting (0), the global variable
      controls the algorithm for compression operations.  This is the
      default and the default value for the global variable is kZLIB.
      
      Note that the LZMA algorithm will only be available if the LZMA
      libraries from the XZ package were available when the ROOT executable
      being used was configured and built. If you are building ROOT and want
      LZMA then you must do something similar to the following if XZ is not
      already installed on your system.
      
        Download XZ version 5.0.3 from http://tukaani.org/xz/
        unwind the tarball
        cd xz-5.0.3
        ./configure CFLAGS='-fPIC'
        make
      
      ROOT was tested with version 5.0.3 of XZ.  It might work with earlier
      versions and will probably work with later versions of XZ.
      
      Then either use "make install" to put the library and headers into
      /usr/local/* so the scripts building ROOT can find them or use
      arguments to the ROOT configure script to point to the proper
      directories containing the XZ library and headers. These are the
      library and the included header (lzma.h includes other headers in the
      lzma subdirectory).
      
        src/liblzma/.libs/liblzma.a
        src/liblzma/api/lzma.h
      
      WARNING: Data compressed with the LZMA algorithm cannot be read by
      ROOT executables that were not built with LZMA support.
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@39696 27541ba8-7e3a-0410-8455-c3a389f83636
      02d8d542
  17. Jun 10, 2011
  18. May 19, 2011
  19. Apr 20, 2011
  20. Dec 13, 2010
  21. Nov 23, 2010
  22. Sep 30, 2010
  23. Jul 28, 2010
  24. Jul 27, 2010
  25. Jun 29, 2010
  26. Jun 10, 2010
  27. Apr 06, 2010
  28. Mar 23, 2010
  29. Mar 08, 2010
  30. Feb 02, 2010
  31. Dec 16, 2009
  32. Dec 15, 2009
  33. Dec 13, 2009
  34. Dec 03, 2009
  35. Nov 22, 2009
  36. Nov 21, 2009
Loading