Posted
almost 7 years
ago
by
Anonymous
Highlights
This version restores zlib as the default compression algorithm for ROOT files.
We have seen branch data that LZ4 did not compress well; until those cases are optimized, ROOT will resort to its well understood, traditional
... [More]
compression algorithm zlib.
Release Notes
The release notes for this release can be found here.
Source distribution
Platform
Files
Size
source
root_v6.14.04.source.tar.gz
155M
Binary distributions
Platform
Files
Size
CentOS Cern 7 gcc4.8
root_v6.14.04.Linux-centos7-x86_64-gcc4.8.tar.gz
141M
Linux fedora26 gcc7.2
root_v6.14.04.Linux-fedora26-x86_64-gcc7.2.tar.gz
128M
Linux fedora27 gcc7.2
root_v6.14.04.Linux-fedora27-x86_64-gcc7.2.tar.gz
128M
Linux fedora28 gcc8.1
root_v6.14.04.Linux-fedora28-x86_64-gcc8.1.tar.gz
127M
Ubuntu 14 gcc4.8
root_v6.14.04.Linux-ubuntu14-x86_64-gcc4.8.tar.gz
125M
Ubuntu 16 gcc5.4
root_v6.14.04.Linux-ubuntu16-x86_64-gcc5.4.tar.gz
127M
Ubuntu 17 gcc7.2
root_v6.14.04.Linux-ubuntu17-x86_64-gcc7.2.tar.gz
133M
Ubuntu 18 gcc7.3
root_v6.14.04.Linux-ubuntu18-x86_64-gcc7.3.tar.gz
133M
OsX 10.12 clang90
root_v6.14.04.macosx64-10.12-clang90.dmg
126M
OsX 10.12 clang90
root_v6.14.04.macosx64-10.12-clang90.tar.gz
125M
OsX 10.13 clang91
root_v6.14.04.macosx64-10.13-clang91.dmg
126M
OsX 10.13 clang91
root_v6.14.04.macosx64-10.13-clang91.tar.gz
126M
Installations in CVMFS
Standalone installations with minimal external dependencies are available at:
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.04/x86_64-mac1013-clang91-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.04/x86_64-fedora27-gcc72-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.04/x86_64-fedora26-gcc72-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.04/x86_64-fedora28-gcc81-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.04/x86_64-centos7-gcc48-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.04/x86_64-ubuntu17-gcc72-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.04/x86_64-ubuntu18-gcc73-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.04/x86_64-ubuntu14-gcc48-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.04/x86_64-ubuntu16-gcc54-opt
Example for setting up ROOT and the corresponding compiler from CVMFS
. /cvmfs/sft.cern.ch/lcg/contrib/gcc/4.8/x86_64-centos7-gcc48-opt/setup.sh
. /cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.04/x86_64-centos7-gcc48-opt/root/bin/thisroot.sh
Git
The entire ROOT source can be obtained from our public Git repository:
git clone http://github.com/root-project/root.git
The release specific tag can be obtained using:
cd root
git checkout -b v6-14-04 v6-14-04
State:
Pro
[Less]
|
Posted
almost 7 years
ago
by
Anonymous
Highlights
This is the first bug-fix release for the v6.14 release series. It fixes a couple of bugs in ROOT::RDataFrame and several build failures.
Release Notes
The release notes for this release can be found here.
Source distribution
... [More]
Platform
Files
Size
source
root_v6.14.02.source.tar.gz
155M
Binary distributions
Platform
Files
Size
CentOS Cern 7 gcc4.8
root_v6.14.02.Linux-centos7-x86_64-gcc4.8.tar.gz
140M
Linux fedora26 gcc7.2
root_v6.14.02.Linux-fedora26-x86_64-gcc7.2.tar.gz
128M
Linux fedora27 gcc7.2
root_v6.14.02.Linux-fedora27-x86_64-gcc7.2.tar.gz
128M
Linux fedora28 gcc8.1
root_v6.14.02.Linux-fedora28-x86_64-gcc8.1.tar.gz
127M
Ubuntu 14 gcc4.8
root_v6.14.02.Linux-ubuntu14-x86_64-gcc4.8.tar.gz
125M
Ubuntu 16 gcc5.4
root_v6.14.02.Linux-ubuntu16-x86_64-gcc5.4.tar.gz
127M
Ubuntu 17 gcc7.2
root_v6.14.02.Linux-ubuntu17-x86_64-gcc7.2.tar.gz
132M
Ubuntu 18 gcc7.3
root_v6.14.02.Linux-ubuntu18-x86_64-gcc7.3.tar.gz
133M
OsX 10.12 clang90
root_v6.14.02.macosx64-10.12-clang90.dmg
126M
OsX 10.12 clang90
root_v6.14.02.macosx64-10.12-clang90.tar.gz
125M
OsX 10.13 clang91
root_v6.14.02.macosx64-10.13-clang91.dmg
127M
OsX 10.13 clang91
root_v6.14.02.macosx64-10.13-clang91.tar.gz
126M
preview Windows Visual Studio 2017 (dbg)
root_v6.14.02.win32.vc15.debug.exe
167M
preview Windows Visual Studio 2017 (dbg)
root_v6.14.02.win32.vc15.debug.zip
271M
preview Windows Visual Studio 2017
root_v6.14.02.win32.vc15.exe
73M
preview Windows Visual Studio 2017
root_v6.14.02.win32.vc15.zip
98M
Installations in CVMFS
Standalone installations with minimal external dependencies are available at:
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.02/x86_64-mac1012-clang90-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.02/x86_64-mac1013-clang91-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.02/x86_64-fedora26-gcc72-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.02/x86_64-fedora27-gcc72-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.02/x86_64-fedora28-gcc81-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.02/x86_64-centos7-gcc48-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.02/x86_64-ubuntu14-gcc48-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.02/x86_64-ubuntu16-gcc54-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.02/x86_64-ubuntu17-gcc72-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.02/x86_64-ubuntu18-gcc73-opt
Example for setting up ROOT and the corresponding compiler from CVMFS
. /cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.02/x86_64-centos7-gcc48-opt/root/bin/thisroot.sh
Git
The entire ROOT source can be obtained from our public Git repository:
git clone http://github.com/root-project/root.git
The release specific tag can be obtained using:
cd root
git checkout -b v6-14-02 v6-14-02
Windows
We offer two packaging types:
exe: a regular Windows installer package also setting up the required environment variables. With uninstall via "Control Panel" / "Add or Remove Programs". Simply download and start, or open directly. You can double-click ROOT to start it, ROOT files get registered with Windows.
zip: the traditional variant. Unpack e.g. with 7zip. Start ROOT in a Microsoft Visual Studio Prompt (in Start / Programs / Microsoft Visual Studio / Tools). If you installed ROOT to C:\root then call C:\root\bin\thisroot.bat before using ROOT to set up required environment variables.
Important installation notes
You must download the binary built with the exact same version of Visual Studio than the one installed on your system.
Do not untar in a directory with a name containing blank characters.
Take the release version if performance matters.
If you want to debug your code you need the ROOT debug build (you cannot mix release / debug builds due to a Microsoft restriction).
[Less]
|
Posted
almost 7 years
ago
by
Anonymous
Highlights
This is the first bug-fix release for the v6.14 release series. It fixes a couple of bugs in ROOT::RDataFrame and several build failures.
Release Notes
The release notes for this release can be found here.
Source distribution
... [More]
Platform
Files
Size
source
root_v6.14.02.source.tar.gz
155M
Binary distributions
Platform
Files
Size
CentOS Cern 7 gcc4.8
root_v6.14.02.Linux-centos7-x86_64-gcc4.8.tar.gz
140M
Linux fedora26 gcc7.2
root_v6.14.02.Linux-fedora26-x86_64-gcc7.2.tar.gz
128M
Linux fedora27 gcc7.2
root_v6.14.02.Linux-fedora27-x86_64-gcc7.2.tar.gz
128M
Linux fedora28 gcc8.1
root_v6.14.02.Linux-fedora28-x86_64-gcc8.1.tar.gz
127M
Ubuntu 14 gcc4.8
root_v6.14.02.Linux-ubuntu14-x86_64-gcc4.8.tar.gz
125M
Ubuntu 16 gcc5.4
root_v6.14.02.Linux-ubuntu16-x86_64-gcc5.4.tar.gz
127M
Ubuntu 17 gcc7.2
root_v6.14.02.Linux-ubuntu17-x86_64-gcc7.2.tar.gz
132M
Ubuntu 18 gcc7.3
root_v6.14.02.Linux-ubuntu18-x86_64-gcc7.3.tar.gz
133M
OsX 10.12 clang90
root_v6.14.02.macosx64-10.12-clang90.dmg
126M
OsX 10.12 clang90
root_v6.14.02.macosx64-10.12-clang90.tar.gz
125M
OsX 10.13 clang91
root_v6.14.02.macosx64-10.13-clang91.dmg
127M
OsX 10.13 clang91
root_v6.14.02.macosx64-10.13-clang91.tar.gz
126M
preview Windows Visual Studio 2017 (dbg)
root_v6.14.02.win32.vc15.debug.exe
167M
preview Windows Visual Studio 2017 (dbg)
root_v6.14.02.win32.vc15.debug.zip
271M
preview Windows Visual Studio 2017
root_v6.14.02.win32.vc15.exe
73M
preview Windows Visual Studio 2017
root_v6.14.02.win32.vc15.zip
98M
Installations in CVMFS
Standalone installations with minimal external dependencies are available at:
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.02/x86_64-mac1012-clang90-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.02/x86_64-mac1013-clang91-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.02/x86_64-fedora26-gcc72-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.02/x86_64-fedora27-gcc72-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.02/x86_64-fedora28-gcc81-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.02/x86_64-centos7-gcc48-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.02/x86_64-ubuntu14-gcc48-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.02/x86_64-ubuntu16-gcc54-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.02/x86_64-ubuntu17-gcc72-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.02/x86_64-ubuntu18-gcc73-opt
Example for setting up ROOT and the corresponding compiler from CVMFS
. /cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.02/x86_64-centos7-gcc48-opt/root/bin/thisroot.sh
Git
The entire ROOT source can be obtained from our public Git repository:
git clone http://github.com/root-project/root.git
The release specific tag can be obtained using:
cd root
git checkout -b v6-14-02 v6-14-02
Windows
We offer two packaging types:
exe: a regular Windows installer package also setting up the required environment variables. With uninstall via "Control Panel" / "Add or Remove Programs". Simply download and start, or open directly. You can double-click ROOT to start it, ROOT files get registered with Windows.
zip: the traditional variant. Unpack e.g. with 7zip. Start ROOT in a Microsoft Visual Studio Prompt (in Start / Programs / Microsoft Visual Studio / Tools). If you installed ROOT to C:\root then call C:\root\bin\thisroot.bat before using ROOT to set up required environment variables.
Important installation notes
You must download the binary built with the exact same version of Visual Studio than the one installed on your system.
Do not untar in a directory with a name containing blank characters.
Take the release version if performance matters.
If you want to debug your code you need the ROOT debug build (you cannot mix release / debug builds due to a Microsoft restriction).
State:
Pro
[Less]
|
Posted
almost 7 years
ago
by
Danilo Piparo
For ROOT education, technology and innovation are of prime importance. This is one of the reasons why we take every opportunity to teach ROOT: Summer Students' Workshops, CERN Technical Training Catalogue or experiment specific events.
... [More]
Interested in a ROOT training? Contact us!
Image Copyright CERN click here for a full collection of Summet Student Programme pics
[Less]
|
Posted
almost 7 years
ago
by
Danilo Piparo
Join the CHEP 2018 BOF to discuss bout the Future of ROOT Based Analysis: sign up here and visit the indico agenda.
Too much data? Too many cores? TTree analysis is tedious? Come and enjoy an intro plus discussion of RDataFrame, ROOT's
... [More]
current-generation way of writing super-efficient analyses! It moves all the intricacies into ROOT's responsibility, leaving you simply with a declarative formulation of the filters and computations that make up your analysis.
[Less]
|
Posted
about 7 years
ago
by
Axel Naumann
Background
ROOT is implementing new interfaces following new interface styles. We follow C++ Core Guidelines where reasonable in our context. Most noticeably this means
use of references as parameters instead of pointers,
massive reduction of
... [More]
virtual functions (and calls), no more TObject inheritance,
use of stdlib classes (std::vector, std::string) instead of TList and friends,
new classes are in namespace ROOT; headers are in include/ROOT/ and are included as ; libraries are starting with libROOT...
separation of concerns, including separation of internal (ROOT::Internal::) and user-facing functionality,
We do not do this because we love to exercise the newest C++ features.
We do this because it makes code much easier to use, reducing interface size.
We want to reduce the time you spend debugging memory errors (e.g. due to ROOT's "PAW-style" ownership model) or type cast errors.
We want to use types that you know (std library types) instead of our pre-stdlib versions.
We want to cause compile-time failures where possible, instead of (hopefully) catching an error at runtime (think TFile::Open("foo.root", "RECRAETE"), double bins[] = {0., 1., 10., 50.}; new TH1F("h", "h", 4, bins)).
We want to be thread-safe by default, not relying on global state (gPad used by hist->Draw() versus pad->Draw(hist))
We want to have the right default behavior - after 20 years of experience of what "right" means.
While we are at it we decided to also cover crucial existing classes, giving them an updated implementation. This has been nicknamed "ROOT 7".
We are currently working on a new graphics system that is HTML5 / CSS / JavaScript based, a new histograms library, and an update to the TTree facilities.
You will be hearing news on all of these parts on the coming months - most notably at the ROOT Workshop in Sarajevo, September 10-13, 2018.
Why not to keep the same name.
We needed to name these new classes. Let's take the TPad class: we want to keep new code using the new TPad very similar to code using the old TPad; reading the code should make it obvious what it does if you know ROOT6's TPad.
So we try to re-use the names - "pad" is a concept that ROOT user's know, and we all call it "pad". Let's stick to "pad" then.
We started by introducing ROOT::Experimental::TPad next to TPad. (We keep things in ROOT::Experimental:: until we are fairly certain that the interface will be stable, at which point they move to ROOT::.)
That worked - but only sort of:
Fully qualified name
Because the "old" TPad is in the global namespace, new code had to qualify it as ::TPad very often, and when referring to the new TPad, we had to type ROOT::Experimental::TPad even from inside the namespace ROOT::Experimental, because some uses of template might happen in a different lookup context.
This made new code much more verbose, and fragile: an #include of a ROOT6 header might change the available type names, and might make a ROOT:: header mean something else. Bad, bad, bad.
Referring to types
When we were talking about types we had to say "ROOT 7 TPad" or "new TPad". Often we shortened this to "TPad". And we were often talking past each other - "o, you mean the old TPad".
We noticed that humans, just like compilers, were confused. Fairly terrible.
Tooling
ROOT uses file names that are derived from the classes they contain, e.g. TPad.cxx. Doxygen got totally confused by duplicate file names. Even though we always specified exactly which class and \file we're talking about, a bug in doxygen made the reference guide go belly up; only one of (old|new) TFile.cxx was generated! This wasn't just a problem with doxygen: other tools (e.g. IDEs) failed, too.
Expert Guidance
Luckily we have connections with smart people who make a living of cases like this, e.g. Nico Josuttis.
They told us, without even thinking: do not reuse type names.
Nico pointed out that we have a naming scheme that allows people detect what's ROOT and what's not; we should just slightly adjust that, so it's clear what's following old versus new style, to keep the recognition factor, and to clarify the correspondence between old and new types.
Conclusion
After months of experimenting with keeping the same names for new classes we decided this would not be sustainable.
It barely worked for us; opening this to users would create massive confusion ("TPad isn't compiling for me!").
We needed to change names.
Naming options
Pad
We could have used ROOT::Pad. Many of us were in favor of this style.
We do expect that users will have using namespace ROOT in their files - I believe we're realistic here :-)
We will even have root [0] coming up with an implicit using namespace ROOT - after all, this is meant to be a cooperative interpreter!
But File or Pad are really really generic names; including the wrong headers will #define this away!
We would have to use longer type names to avoid that - which is counterproductive, and not a real guarantee that this is solved.
It's also not helping when talking: "the top-left pad". Or was that mean to say "the top-left Pad"? Is this ROOT6 / the generic "pad" concept, or ROOT::Experimental::Pad?
ROOT::RPad
What about switching "T" to "R"? People would get confused at first, but we count on us, the community, to get used to this.
It's making clear that this is "not your regular T class". Just because a class starts with R you now know:
- it's in #include
- it's in the namespace ROOT::
- you need to link a library libROOT...
The leading T was part of the Taligent coding convention that ROOT employed when it was started (and that leaves its traces until today).
Using R keeps the class recognizable a ROOT class.
ROOT::RTPad
One could simply prefix TPad with R, reminding us of ROOT. Several people favored this option; others thought that this is too close to ROOT::ROOTPad, i.e. a repetition of the namespace name.
Conclusion
After several weeks of discussions, plenty of good, technical arguments being collected for all options, we converged to ROOT::RPad as naming convention for new interfaces.
As ROOT::RDataFrame is one of the first classes to be released that's following the new interface style, it was released as, well, ROOT::RDataFrame.
The ROOT::Experimental:: classes will follow this renaming.
TL;DR
Keeping old names for new implementations, but stuffing them into ROOT:: as a way to distinguish old and new, is a terrible idea.
We have chosen ROOT::RWhatever as the naming convention for new classes that follow the new ROOT interface conventions.
That was not an easy, obvious choice, but the result of a long convergence process, including experimenting with ROOT::TWhatever.
[Less]
|
Posted
about 7 years
ago
by
Axel Naumann
Background
ROOT is implementing new interfaces following new interface styles. We follow C++ Core Guidelines where reasonable in our context. Most noticeably this means
use of references as parameters instead of pointers,
massive reduction of
... [More]
virtual functions (and calls), no more TObject inheritance,
use of stdlib classes (std::vector, std::string) instead of TList and friends,
new classes are in namespace ROOT; headers are in include/ROOT/ and are included as ; libraries are starting with libROOT...
separation of concerns, including separation of internal (ROOT::Internal::) and user-facing functionality,
We do not do this because we love to exercise the newest C++ features.
We do this because it makes code much easier to use, reducing interface size.
We want to reduce the time you spend debugging memory errors (e.g. due to ROOT's "PAW-style" ownership model) or type cast errors.
We want to use types that you know (std library types) instead of our pre-stdlib versions.
We want to cause compile-time failures where possible, instead of (hopefully) catching an error at runtime (think TFile::Open("foo.root", "RECRAETE"), double bins[] = {0., 1., 10., 50.}; new TH1F("h", "h", 4, bins)).
We want to be thread-safe by default, not relying on global state (gPad used by hist->Draw() versus pad->Draw(hist))
We want to have the right default behavior - after 20 years of experience of what "right" means.
While we are at it we decided to also cover crucial existing classes, giving them an updated implementation. This has been nicknamed "ROOT 7".
We are currently working on a new graphics system that is HTML5 / CSS / JavaScript based, a new histograms library, and an update to the TTree facilities.
You will be hearing news on all of these parts on the coming months - most notably at the ROOT Workshop in Sarajevo, September 10-13, 2018.
Why not to keep the same name.
We needed to name these new classes. Let's take the TPad class: we want to keep new code using the new TPad very similar to code using the old TPad; reading the code should make it obvious what it does if you know ROOT6's TPad.
So we try to re-use the names - "pad" is a concept that ROOT user's know, and we all call it "pad". Let's stick to "pad" then.
We started by introducing ROOT::Experimental::TPad next to TPad. (We keep things in ROOT::Experimental:: until we are fairly certain that the interface will be stable, at which point they move to ROOT::.)
That worked - but only sort of:
Fully qualified name
Because the "old" TPad is in the global namespace, new code had to qualify it as ::TPad very often, and when referring to the new TPad, we had to type ROOT::Experimental::TPad even from inside the namespace ROOT::Experimental, because some uses of template might happen in a different lookup context.
This made new code much more verbose, and fragile: an #include of a ROOT6 header might change the available type names, and might make a ROOT:: header mean something else. Bad, bad, bad.
Referring to types
When we were talking about types we had to say "ROOT 7 TPad" or "new TPad". Often we shortened this to "TPad". And we were often talking past each other - "o, you mean the old TPad".
We noticed that humans, just like compilers, were confused. Fairly terrible.
Tooling
ROOT uses file names that are derived from the classes they contain, e.g. TPad.cxx. Doxygen got totally confused by duplicate file names. Even though we always specified exactly which class and \file we're talking about, a bug in doxygen made the reference guide go belly up; only one of (old|new) TFile.cxx was generated! This wasn't just a problem with doxygen: other tools (e.g. IDEs) failed, too.
Expert Guidance
Luckily we have connections with smart people who make a living of cases like this, e.g. Nico Josuttis.
They told us, without even thinking: do not reuse type names.
Nico pointed out that we have a naming scheme that allows people detect what's ROOT and what's not; we should just slightly adjust that, so it's clear what's following old versus new style, to keep the recognition factor, and to clarify the correspondence between old and new types.
Conclusion
After months of experimenting with keeping the same names for new classes we decided this would not be sustainable.
It barely worked for us; opening this to users would create massive confusion ("TPad isn't compiling for me!").
We needed to change names.
Naming options
Pad
We could have used ROOT::Pad. Many of us were in favor of this style.
We do expect that users will have using namespace ROOT in their files - I believe we're realistic here :-)
We will even have root [0] coming up with an implicit using namespace ROOT - after all, this is meant to be a cooperative interpreter!
But File or Pad are really really generic names; including the wrong headers will #define this away!
We would have to use longer type names to avoid that - which is counterproductive, and not a real guarantee that this is solved.
It's also not helping when talking: "the top-left pad". Or was that mean to say "the top-left Pad"? Is this ROOT6 / the generic "pad" concept, or ROOT::Experimental::Pad?
ROOT::RPad
What about switching "T" to "R"? People would get confused at first, but we count on us, the community, to get used to this.
It's making clear that this is "not your regular T class". Just because a class starts with R you now know:
- it's in #include
- it's in the namespace ROOT::
- you need to link a library libROOT...
The leading T was part of the Taligent coding convention that ROOT employed when it was started (and that leaves its traces until today).
Using R keeps the class recognizable a ROOT class.
ROOT::RTPad
One could simply prefix TPad with R, reminding us of ROOT. Several people favored this option; others thought that this is too close to ROOT::ROOTPad, i.e. a repetition of the namespace name.
Conclusion
After several weeks of discussions, plenty of good, technical arguments being collected for all options, we converged to ROOT::RPad as naming convention for new interfaces.
As ROOT::RDataFrame is one of the first classes to be released that's following the new interface style, it was released as, well, ROOT::RDataFrame.
The ROOT::Experimental:: classes will follow this renaming.
TL;DR
Keeping old names for new implementations, but stuffing them into ROOT:: as a way to distinguish old and new, is a terrible idea.
We have chosen ROOT::RWhatever as the naming convention for new classes that follow the new ROOT interface conventions.
That was not an easy, obvious choice, but the result of a long convergence process, including experimenting with ROOT::TWhatever.
[Less]
|
Posted
about 7 years
ago
by
Anonymous
Highlights
LZ4 compression is now the default: it's blazingly fast when reading ROOT files!
ROOT::RDataFrame is now the recommended way for analyzing trees: simple, expressive and parallel!
Windows is back!
...and this release is dedicated
... [More]
to our ROOT Workshop in Sarajevo, 10-13 September 2018: come and register!
Release Notes
The release notes for this release can be found here.
Source distribution
Platform
Files
Size
source
root_v6.14.00.source.tar.gz
155M
Binary distributions
Platform
Files
Size
CentOS Cern 7 gcc4.8
root_v6.14.00.Linux-centos7-x86_64-gcc4.8.tar.gz
139M
Linux fedora26 gcc7.2
root_v6.14.00.Linux-fedora26-x86_64-gcc7.2.tar.gz
127M
Linux fedora27 gcc7.2
root_v6.14.00.Linux-fedora27-x86_64-gcc7.2.tar.gz
127M
Linux fedora28 gcc8.0
root_v6.14.00.Linux-fedora28-x86_64-gcc8.0.tar.gz
126M
Ubuntu 14 gcc4.8
root_v6.14.00.Linux-ubuntu14-x86_64-gcc4.8.tar.gz
124M
Ubuntu 16 gcc5.4
root_v6.14.00.Linux-ubuntu16-x86_64-gcc5.4.tar.gz
125M
Ubuntu 17 gcc7.2
root_v6.14.00.Linux-ubuntu17-x86_64-gcc7.2.tar.gz
131M
Ubuntu 18 gcc7.3
root_v6.14.00.Linux-ubuntu18-x86_64-gcc7.3.tar.gz
132M
Mac OS X 10.12 clang90
root_v6.14.00.macosx64-10.12-clang90.dmg
124M
Mac OS X 10.12 clang90
root_v6.14.00.macosx64-10.12-clang90.tar.gz
124M
Mac OS X 10.13 clang91
root_v6.14.00.macosx64-10.13-clang91.dmg
126M
Mac OS X 10.13 clang91
root_v6.14.00.macosx64-10.13-clang91.tar.gz
125M
Windows Visual Studio 2017 (dbg)
root_v6.14.00.win32.vc15.debug.exe
164M
Windows Visual Studio 2017 (dbg)
root_v6.14.00.win32.vc15.debug.zip
265M
Windows Visual Studio 2017
root_v6.14.00.win32.vc15.exe
70M
Windows Visual Studio 2017
root_v6.14.00.win32.vc15.zip
95M
Installations in CVMFS
Standalone installations with minimal external dependencies are available at:
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.00/x86_64-mac1012-clang90-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.00/x86_64-fedora28-gcc80-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.00/x86_64-mac1013-clang91-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.00/x86_64-fedora27-gcc72-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.00/x86_64-fedora26-gcc72-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.00/x86_64-centos7-gcc48-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.00/x86_64-ubuntu17-gcc72-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.00/x86_64-ubuntu18-gcc73-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.00/x86_64-ubuntu14-gcc48-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.00/x86_64-ubuntu16-gcc54-opt
Example for setting up ROOT from CVMFS
. /cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.00/x86_64-centos7-gcc48-opt/root/bin/thisroot.sh
Git
The entire ROOT source can be obtained from our public Git repository:
git clone http://github.com/root-project/root.git
The release specific tag can be obtained using:
cd root
git checkout -b v6-14-00 v6-14-00
State:
Pro
[Less]
|
Posted
about 7 years
ago
by
Anonymous
Highlights
LZ4 compression is now the default: it's blazingly fast when reading ROOT files!
ROOT::RDataFrame is now the recommended way for analyzing trees: simple, expressive and parallel!
Windows is back!
...and this release is dedicated
... [More]
to our ROOT Workshop in Sarajevo, 10-13 September 2018: come and register!
Release Notes
The release notes for this release can be found here.
Source distribution
Platform
Files
Size
source
root_v6.14.00.source.tar.gz
155M
Binary distributions
Platform
Files
Size
CentOS Cern 7 gcc4.8
root_v6.14.00.Linux-centos7-x86_64-gcc4.8.tar.gz
139M
Linux fedora26 gcc7.2
root_v6.14.00.Linux-fedora26-x86_64-gcc7.2.tar.gz
127M
Linux fedora27 gcc7.2
root_v6.14.00.Linux-fedora27-x86_64-gcc7.2.tar.gz
127M
Linux fedora28 gcc8.0
root_v6.14.00.Linux-fedora28-x86_64-gcc8.0.tar.gz
126M
Ubuntu 14 gcc4.8
root_v6.14.00.Linux-ubuntu14-x86_64-gcc4.8.tar.gz
124M
Ubuntu 16 gcc5.4
root_v6.14.00.Linux-ubuntu16-x86_64-gcc5.4.tar.gz
125M
Ubuntu 17 gcc7.2
root_v6.14.00.Linux-ubuntu17-x86_64-gcc7.2.tar.gz
131M
Ubuntu 18 gcc7.3
root_v6.14.00.Linux-ubuntu18-x86_64-gcc7.3.tar.gz
132M
Mac OS X 10.12 clang90
root_v6.14.00.macosx64-10.12-clang90.dmg
124M
Mac OS X 10.12 clang90
root_v6.14.00.macosx64-10.12-clang90.tar.gz
124M
Mac OS X 10.13 clang91
root_v6.14.00.macosx64-10.13-clang91.dmg
126M
Mac OS X 10.13 clang91
root_v6.14.00.macosx64-10.13-clang91.tar.gz
125M
preview Windows Visual Studio 2017 (dbg)
root_v6.14.00.win32.vc15.debug.exe
164M
preview Windows Visual Studio 2017 (dbg)
root_v6.14.00.win32.vc15.debug.zip
265M
preview Windows Visual Studio 2017
root_v6.14.00.win32.vc15.exe
70M
preview Windows Visual Studio 2017
root_v6.14.00.win32.vc15.zip
95M
Installations in CVMFS
Standalone installations with minimal external dependencies are available at:
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.00/x86_64-mac1012-clang90-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.00/x86_64-fedora28-gcc80-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.00/x86_64-mac1013-clang91-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.00/x86_64-fedora27-gcc72-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.00/x86_64-fedora26-gcc72-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.00/x86_64-centos7-gcc48-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.00/x86_64-ubuntu17-gcc72-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.00/x86_64-ubuntu18-gcc73-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.00/x86_64-ubuntu14-gcc48-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.00/x86_64-ubuntu16-gcc54-opt
Example for setting up ROOT from CVMFS
. /cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.00/x86_64-centos7-gcc48-opt/root/bin/thisroot.sh
Git
The entire ROOT source can be obtained from our public Git repository:
git clone http://github.com/root-project/root.git
The release specific tag can be obtained using:
cd root
git checkout -b v6-14-00 v6-14-00
[Less]
|
Posted
about 7 years
ago
by
Anonymous
Highlights
LZ4 compression is now the default: it's blazingly fast when reading ROOT files!
ROOT::RDataFrame is now the recommended way for analyzing trees: simple, expressive and parallel!
Windows is back!
...and this release is dedicated
... [More]
to our ROOT Workshop in Sarajevo, 10-13 September 2018: come and register!
Release Notes
The release notes for this release can be found here.
Source distribution
Platform
Files
Size
source
root_v6.14.00.source.tar.gz
155M
Binary distributions
Platform
Files
Size
CentOS Cern 7 gcc4.8
root_v6.14.00.Linux-centos7-x86_64-gcc4.8.tar.gz
139M
Linux fedora26 gcc7.2
root_v6.14.00.Linux-fedora26-x86_64-gcc7.2.tar.gz
127M
Linux fedora27 gcc7.2
root_v6.14.00.Linux-fedora27-x86_64-gcc7.2.tar.gz
127M
Linux fedora28 gcc8.0
root_v6.14.00.Linux-fedora28-x86_64-gcc8.0.tar.gz
126M
Ubuntu 14 gcc4.8
root_v6.14.00.Linux-ubuntu14-x86_64-gcc4.8.tar.gz
124M
Ubuntu 16 gcc5.4
root_v6.14.00.Linux-ubuntu16-x86_64-gcc5.4.tar.gz
125M
Ubuntu 17 gcc7.2
root_v6.14.00.Linux-ubuntu17-x86_64-gcc7.2.tar.gz
131M
Ubuntu 18 gcc7.3
root_v6.14.00.Linux-ubuntu18-x86_64-gcc7.3.tar.gz
132M
Mac OS X 10.12 clang90
root_v6.14.00.macosx64-10.12-clang90.dmg
124M
Mac OS X 10.12 clang90
root_v6.14.00.macosx64-10.12-clang90.tar.gz
124M
Mac OS X 10.13 clang91
root_v6.14.00.macosx64-10.13-clang91.dmg
126M
Mac OS X 10.13 clang91
root_v6.14.00.macosx64-10.13-clang91.tar.gz
125M
preview Windows Visual Studio 2017 (dbg)
root_v6.14.00.win32.vc15.debug.exe
164M
preview Windows Visual Studio 2017 (dbg)
root_v6.14.00.win32.vc15.debug.zip
265M
preview Windows Visual Studio 2017
root_v6.14.00.win32.vc15.exe
70M
preview Windows Visual Studio 2017
root_v6.14.00.win32.vc15.zip
95M
Installations in CVMFS
Standalone installations with minimal external dependencies are available at:
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.00/x86_64-mac1012-clang90-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.00/x86_64-fedora28-gcc80-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.00/x86_64-mac1013-clang91-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.00/x86_64-fedora27-gcc72-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.00/x86_64-fedora26-gcc72-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.00/x86_64-centos7-gcc48-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.00/x86_64-ubuntu17-gcc72-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.00/x86_64-ubuntu18-gcc73-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.00/x86_64-ubuntu14-gcc48-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.00/x86_64-ubuntu16-gcc54-opt
Example for setting up ROOT from CVMFS
. /cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.00/x86_64-centos7-gcc48-opt/root/bin/thisroot.sh
Git
The entire ROOT source can be obtained from our public Git repository:
git clone http://github.com/root-project/root.git
The release specific tag can be obtained using:
cd root
git checkout -b v6-14-00 v6-14-00
State:
Pro
[Less]
|