<commit_before>% ROOT Version 6.10 Release Notes
% 2016-09-30
<a name="TopOfPage"></a>

## Introduction

ROOT version 6.10/00 is scheduled for release in 2017.

For more information, see:

[http://root.cern.ch](http://root.cern.ch)

The following people have contributed to this new version:

 <NAME>, CERN/SFT,\
 <NAME>, CERN/IT,\
 <NAME>, CERN/SFT,\
 <NAME>, FNAL,\
 <NAME>, CERN/SFT,\
 <NAME>, CERN/SFT,\
 <NAME>, CERN/SFT,\
 <NAME>, GSI, http,\
 <NAME>, CERN/SFT,\
 <NAME>, CERN/SFT,\
 <NAME>, CERN/SFT,\
 <NAME>, CERN/SFT,\
 <NAME>, CERN/SFT,\
 <NAME>, CERN/SFT,\
 <NAME>, Fermilab/CMS,\
 <NAME>, NIKHEF/Atlas, RooFit

## Removed interfaces

The following interfaces have been removed, after deprecation in v6.08.

### CINT remnants, dysfunctional for ROOT 6

- `TInterpreter`'s `Getgvp()`, `Getp2f2funcname(void*)`, `Setgvp(Long_t)`, `SetRTLD_NOW()`, `SetRTLD_LAZY()`.
- `SetFCN(void*)` from TVirtualFitter, TFitter, TBackCompFitter, TMinuit
- `TFoam::SetRhoInt(void*)`

## Interpreter

- Automatic declaration of variables (`h = new TH1F(...)`) is *only* available at the prompt. The side-effects of relying on this in source files is simply too grave. Due to a bug (ROOT-8538), automatically declared variables must currently reside on the top-most scope, i.e. not inside an `if` block etc.
- Improved the stack frame information generated by the JIT.  By avoiding interleaving of the memory associated to multiple JIT module, the generation of stack trace involving jitted code and the catching of exception going through jitted code has been repaired.

## Core Libraries

- See "Build, Configuration and Testing Infrastructure" below for changes in the directory structure.
- libCling now exports only a minimal set of symbols.
- Add support for std::array_view also for C++11 builds. The implementation has been modified to work before C++14.

## Histogram Libraries

- New class `THnChain` was added to provide a `TChain`-like experience when
  working with `THnBase`'ed histograms (currently `THn` and `THnSparse`) from
  many files, see [here](https://sft.its.cern.ch/jira/browse/ROOT-4515). This
  allows to e.g., interactively adjust axis parameters before performing
  projections from high-dimensional histograms,

  ```{.cpp}
  // Create a chain of histograms called `h`.
  THnChain chain("h");

  // Add files containing histograms `h` to `chain`.
  chain->AddFile("file1.root");

  chain->GetXaxis(1)->SetRangeUser(0.1, 0.2);

  TH1* projection = chain->Projection(0)
  ```


## Math Libraries


## RooFit Libraries


## TTree Libraries

- `TTreeReader` now supports `TEntryList`s.
- `TTreeReader::SetLastEntry()` has been deprecated. Its name is misleading; please use `TTreePlayer::SetEntriesRange()` instead.
- `TTree::Branch()` now complains for wrong leaf list strings, e.g. "value/F[4]" (which should really be spelled as "value[4]/F").
- Allow reading of older version of TTreePerfStats (ROOT-8520)
- Introduce TDataFrame which offers a new and highly efficient way to analyse data stored in TTrees
- In `TTree::OptimizeBaskets()` do not call GetBasket(0) to avoid disc reads

## 2D Graphics Libraries<commit_msg>Update release notes.<commit_after>% ROOT Version 6.10 Release Notes
% 2016-09-30
<a name="TopOfPage"></a>

## Introduction

ROOT version 6.10/00 is scheduled for release in 2017.

For more information, see:

[http://root.cern.ch](http://root.cern.ch)

The following people have contributed to this new version:

 <NAME>, CERN/SFT,\
 <NAME>, CERN/IT,\
 <NAME>, CERN/SFT,\
 <NAME>, FNAL,\
 <NAME>, CERN/SFT,\
 <NAME>, CERN/SFT,\
 <NAME>, CERN/SFT,\
 <NAME>, GSI, http,\
 <NAME>, CERN/SFT,\
 <NAME>, CERN/SFT,\
 <NAME>, CERN/SFT,\
 <NAME>, CERN/SFT,\
 <NAME>, CERN/SFT,\
 <NAME>, CERN/SFT,\
 <NAME>, Fermilab/CMS,\
 <NAME>, NIKHEF/Atlas, RooFit

## Removed interfaces

The following interfaces have been removed, after deprecation in v6.08.

### CINT remnants, dysfunctional for ROOT 6

- `TInterpreter`'s `Getgvp()`, `Getp2f2funcname(void*)`, `Setgvp(Long_t)`, `SetRTLD_NOW()`, `SetRTLD_LAZY()`.
- `SetFCN(void*)` from TVirtualFitter, TFitter, TBackCompFitter, TMinuit
- `TFoam::SetRhoInt(void*)`

## Interpreter

- Automatic declaration of variables (`h = new TH1F(...)`) is *only* available at the prompt. The side-effects of relying on this in source files is simply too grave. Due to a bug (ROOT-8538), automatically declared variables must currently reside on the top-most scope, i.e. not inside an `if` block etc.
- Improved the stack frame information generated by the JIT.  By avoiding interleaving of the memory associated to multiple JIT module, the generation of stack trace involving jitted code and the catching of exception going through jitted code has been repaired.

## Core Libraries

- See "Build, Configuration and Testing Infrastructure" below for changes in the directory structure.
- libCling now exports only a minimal set of symbols.
- Add support for std::array_view also for C++11 builds. The implementation has been modified to work before C++14.

## Histogram Libraries

- New class `THnChain` was added to provide a `TChain`-like experience when
  working with `THnBase`'ed histograms (currently `THn` and `THnSparse`) from
  many files, see [here](https://sft.its.cern.ch/jira/browse/ROOT-4515). This
  allows to e.g., interactively adjust axis parameters before performing
  projections from high-dimensional histograms,

  ```{.cpp}
  // Create a chain of histograms called `h`.
  THnChain chain("h");

  // Add files containing histograms `h` to `chain`.
  chain->AddFile("file1.root");

  chain->GetXaxis(1)->SetRangeUser(0.1, 0.2);

  TH1* projection = chain->Projection(0)
  ```


## Math Libraries


## RooFit Libraries

- Remove deprecated `RooComplex` superseded by `std::complex`.

## TTree Libraries

- `TTreeReader` now supports `TEntryList`s.
- `TTreeReader::SetLastEntry()` has been deprecated. Its name is misleading; please use `TTreePlayer::SetEntriesRange()` instead.
- `TTree::Branch()` now complains for wrong leaf list strings, e.g. "value/F[4]" (which should really be spelled as "value[4]/F").
- Allow reading of older version of TTreePerfStats (ROOT-8520)
- Introduce TDataFrame which offers a new and highly efficient way to analyse data stored in TTrees
- In `TTree::OptimizeBaskets()` do not call GetBasket(0) to avoid disc reads

## 2D Graphics Libraries
{'fraction_non_alphanumeric': 0.12608216590587124, 'fraction_numerical': 0.01731465449393987, 'mean_word_length': 4.398470688190314, 'pattern_counts': {'":': 0, '<': 39, '<?xml version=': 0, '>': 47, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4990182', 'n_tokens_mistral': 2162, 'n_tokens_neox': 2000, 'n_words': 741}