Skip to content

Commit

Permalink
Start new developers release cycle v02-03
Browse files Browse the repository at this point in the history
  • Loading branch information
tmadlener committed Aug 17, 2022
1 parent d8919b8 commit bd45250
Show file tree
Hide file tree
Showing 5 changed files with 951 additions and 0 deletions.
204 changes: 204 additions & 0 deletions doc/release_notes_ilcsoft_v02-03.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,204 @@
# iLCSoft v02-03

Development release after the 250 GeV production.

Main changes wrt. v02-02 production release:
- **Upgrade from python2 to python3**, this might break some of your python scripts if you have not made them compatible with both versions.
- Switch to gcc-10.3
- All external packages are used in their latest released version

The files produced with the v02-02 series can still be read and used with this developers release, but they are potentially not fully compatible with files that are produced with the new developers release. There have been some changes in the reconstruction that break full (physics) backwards compatibility, see below for more details.

## External software versions upgrade
- gcc: 8.2.0 :arrow_right: 10.3.0
- python: 2.7.16 :arrow_right: 3.8.6
- ROOT: 6.18/04 :arrow_right: 6.26/06
- Boost: 1.71.0 :arrow_right: 1.77.0
- Eigen: 3.3.7 :arrow_right: 3.4.0
- XercesC: 3.2.2 :arrow_right: 3.2.3
- Geant4: 10.04.p03 :arrow_right: 11.0.2
- GSL: 2.6 :arrow_right: 2.7
- CMake: 3.15.5 :arrow_right: 3.23.2
- CLHEP: 2.3.4.3 :arrow_right: 2.4.5.3
- MySQL: 5.0.45 :arrow_right: 10.4.20
- DD4hep: v01-11-02 :arrow_right: v01-20-02

## New packages

### podio v00-14-03 (ilcsoft)
* [AIDASoft/podio](https://github.com/AIDASoft/podio)

### EDM4hep v00-05 (ilcsoft)
* [key4hep/EDM4hep](https://github.com/key4hep/EDM4hep)

## Packages changed wrt. v02-02-03

### CED v01-09-04

* 2022-03-18 Thomas Madlener ([PR#10](https://github.com/iLCSoft/CED/pull/10))
- Make sure to link against GLUT libraries

* 2022-03-18 Thomas Madlener ([PR#9](https://github.com/iLCSoft/CED/pull/9))
- Migrate CI to github actions.

### MarlinFastJet v00-05-03

* 2022-06-29 Andre Sailer ([PR#21](https://github.com/iLCSoft/MarlinFastJet/pull/21))
- FastJetUtil: fix memory leak in clusterJets function. Change signature of this function to include the clusterSequence, fixes #20
- FastJetProcessor: fix issue for kt algorithm ,fixes #15

* 2021-12-03 Thomas Madlener ([PR#18](https://github.com/iLCSoft/MarlinFastJet/pull/18))
- Migrate CI to github actions.

* 2021-12-03 Frank Gaede ([PR#17](https://github.com/iLCSoft/MarlinFastJet/pull/17))
- fix order of fastjet libraries at linking step - needed on Ubuntu systems
- fixes https://github.com/iLCSoft/iLCInstall/issues/128

* 2021-12-03 Frank Gaede ([PR#16](https://github.com/iLCSoft/MarlinFastJet/pull/16))
- minor fix of source paths in cmake file (for newer cmake versions, eg. 3.17)

### MarlinReco v01-33

* 2022-04-19 Bohdan Dudar ([PR#104](https://github.com/iLCSoft/MarlinReco/pull/104))
- Migrated track length and mean harmonic momentum code from `TOFEstimators` into separate `TrackLengthProcessor` to save CPU computing time.
- **NOTE: If you have been using these processors outside of the standard reconstruction chain you will have to update your steering files** (see [iLCSoft/ILDConfig#133](https://github.com/iLCSoft/ILDConfig/pull/133) for the necessary changes)

### lcgeo v00-16-08

* 2022-06-14 Valentin Volkl ([PR#253](https://github.com/iLCSoft/lcgeo/pull/253))
- Move SiD_o2_v04 beampipe constants to global list to fix an error in key4hep builds

* 2022-06-09 Dan Protopopescu ([PR#252](https://github.com/iLCSoft/lcgeo/pull/252))
- Added SiD_o2_v04, which is an updated version of o2_v03, containing a few fixes, among which
- correct size and position of ECal layer 0 via new driver ECalBarrel_o2_v04_geo.cpp
- new beam pipe by Chris Potter
- removed brass HCal option

* 2022-03-19 Valentin Volkl ([PR#251](https://github.com/iLCSoft/lcgeo/pull/251))
- Fix more hyphens in xml comments

* 2022-03-09 Andre Sailer ([PR#249](https://github.com/iLCSoft/lcgeo/pull/249))
- Rebrand LCGEO as Lepton Collider GEOmetry, Fix #248

### CEDViewer v01-19-01

* 2022-06-22 Thomas Madlener ([PR#23](https://github.com/iLCSoft/CEDViewer/pull/23))
- Make sure that `ced2go` can be run without the `-n` argument even if `CED_HOST` is set. Fixes #21
- Remove some compatibility code for python < 2.4

* 2022-03-11 Bohdan Dudar ([PR#20](https://github.com/iLCSoft/CEDViewer/pull/20))
- Fix typo bug in the ced2go local host argument option

### KalTest v02-05-01

* 2022-06-27 Daniel Jeans ([PR#5](https://github.com/iLCSoft/KalTest/pull/5))
- add missing factor 0.5 to density term of Bethe-Bloch parameterisation

* 2020-04-12 Frank Gaede ([PR#4](https://github.com/iLCSoft/KalTest/pull/4))
- fix issue w/ c++17
- this caused KalTest to return a “filtered” state as its “smoothed” or “inverse-filtered” state
- patch provided by K.Fujii

### DDKalTest v01-07

* 2022-06-24 Daniel Jeans ([PR#13](https://github.com/iLCSoft/DDKalTest/pull/13))
- - add missing factor 0.5 to density term of Bethe-Bloch parameterisation

* 2022-06-17 Thomas Madlener ([PR#14](https://github.com/iLCSoft/DDKalTest/pull/14))
- Make CI use github actions instead of travis-CI

### LCIO v02-17-01

* 2022-05-09 Thomas Madlener ([PR#146](https://github.com/iLCSoft/LCIO/pull/146))
- Install all the necessary headers to make the python bindings work, even if the sources are removed after installation. Fixes #106

### MarlinKinfitProcessors v00-05

* 2022-06-28 Thomas Madlener ([PR#18](https://github.com/iLCSoft/MarlinKinfitProcessors/pull/18))
- Make doxygen cmake config work with newer cmakes (>= 3.17)

* 2022-05-17 JennyListDESY ([PR#17](https://github.com/iLCSoft/MarlinKinfitProcessors/pull/17))
- bug fix in ZHllqq5CFit for usage of fixed JER

* 2022-04-20 Jenny List ([PR#16](https://github.com/iLCSoft/MarlinKinfitProcessors/pull/16))
- preparations towards a MarlinKinfit tutorial:
- fixing CMakeLists.txt to include MarlinUtil
- adding an ee->ZH->llqq example with up-to-date ErrorFlow, based on work from Yasser Radkhorrami and Julie Torndal
- example steering still assumes availability of two private processors, which are yet to be made available in a next step.

* 2022-04-04 Thomas Madlener ([PR#15](https://github.com/iLCSoft/MarlinKinfitProcessors/pull/15))
- Migrate CI to github actions and remove travis CI setup

### LCCD v01-05-01

* 2022-06-28 Thomas Madlener ([PR#5](https://github.com/iLCSoft/LCCD/pull/5))
- Fix bug in coverity config to point to the right repo

* 2022-06-28 Thomas Madlener ([PR#4](https://github.com/iLCSoft/LCCD/pull/4))
- Migrate CI to github actions and remove travis CI configuration

* 2022-06-28 Thomas Madlener ([PR#3](https://github.com/iLCSoft/LCCD/pull/3))
- Replace the implicit globbing for the doxygen target with an explicit cmake glob expression in order for working documentation generation with cmake >= 3.17

* 2020-04-10 Frank Gaede ([PR#2](https://github.com/iLCSoft/LCCD/pull/2))
- make compatible w/ c++17 for macos/clang
- patch provided by K.Fujii

### GEAR v01-09-01

* 2022-06-28 Thomas Madlener ([PR#8](https://github.com/iLCSoft/GEAR/pull/8))
- Fix cmake doxygen configuration to work with CMake >= 3.17

* 2022-06-28 Thomas Madlener ([PR#7](https://github.com/iLCSoft/GEAR/pull/7))
- Migrate CI to use github actions and remove travis CI

* 2020-09-07 Valentin Volkl ([PR#6](https://github.com/iLCSoft/GEAR/pull/6))
- put more tests under the scope of BUILD_TESTING. Also fixes a build issue with spack https://github.com/key4hep/k4-spack/pull/33


### LCTuple v01-14

* 2022-06-29 Kollassery Swathi Sasikumar ([PR#10](https://github.com/iLCSoft/LCTuple/pull/10))
- Changed the names of parameter in the event header to the names that are used in MC2020

* 2022-06-28 Thomas Madlener ([PR#13](https://github.com/iLCSoft/LCTuple/pull/13))
- Make doxygen cmake config work with newer cmake versions (>= 3.17)

### Physsim v00-04-02

* 2021-08-16 Valentin Volkl ([PR#1](https://github.com/iLCSoft/Physsim/pull/1))
- Add explicit include for TString.h to avoid build failure with ROOT v6.24

### ILDConfig v02-03

* 2022-06-29 Gerald Grenier ([PR#131](https://github.com/iLCSoft/ILDConfig/pull/131))
- Add Calibration files to be able to run standard Marlin reconstruction on ILD simulation with Videau geometry.
- For this first pass, files are only link to current ILD option 2 model from hybrid TESLA geometry.
- Verification that Marlin runs on both small and large ILD Videau geometry have been done.

* 2022-04-20 Bohdan Dudar ([PR#133](https://github.com/iLCSoft/ILDConfig/pull/133))
- Added TrackLength processor in the HighLevelReco chain.

* 2022-03-14 Bohdan Dudar ([PR#132](https://github.com/iLCSoft/ILDConfig/pull/132))
- All steering parameters of `TOFEstimators` are explicitly specified in the steering file w/o any modification to the behaviour


## CMake fixes and CI migrations
The following packages have received a bump in their version numbers due to same fix in the cmake configuration that has been applied to all of them. The fix was necessary to make the doxygen generation work with the newer CMake versions (>= 3.17). Additionally, some of these packages were not yet migrated to the github actions CI, which has also been done for these packages. Instead of repeating the same release notes over and over again, here we simply provide the links to the corresponding pull requests

* MarlinDD4hep v00-06-01
- [PR#8](https://github.com/iLCSoft/MarlinDD4hep/pull/8)
* MarlinUtil v01-16-02
- [PR#27](https://github.com/iLCSoft/MarlinUtil/pull/27)
* MarlinTrk v02-09-01
- [PR#24](https://github.com/iLCSoft/MarlinTrk/pull/24)
* MarlinTrkProcessors v02-12-02
- [PR#61](https://github.com/iLCSoft/MarlinTrkProcessors/pull/61)
* MarlinKinfit v00-06-01
- [PR#2](https://github.com/iLCSoft/MarlinKinfit/pull/2)
* Overlay v00-22-04
- [PR#25](https://github.com/iLCSoft/Overlay/pull/25)
* KiTrackMarlin v01-13-01
- [PR#6](https://github.com/iLCSoft/KiTrackMarlin/pull/6)
* ForwardTracing v01-14-01
- [PR#14](https://github.com/iLCSoft/ForwardTracking/pull/14)
1 change: 1 addition & 0 deletions ilcsoft-install
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ ilcsoft_afs_path['gcc82_64bit_centos7'] = os.path.normpath( os.path.join( ilcsof
ilcsoft_afs_path['gcc46_64bit'] = os.path.normpath( os.path.join( ilcsoft_afs_path['base'] , 'x86_64_gcc46_ub1204' ))
ilcsoft_afs_path['gcc75_64bit_ub1804'] = os.path.normpath( os.path.join( ilcsoft_afs_path['base'] , 'x86_64_gcc75_ub1804' ))
ilcsoft_afs_path['gcc93_64bit_ub2004'] = os.path.normpath( os.path.join( ilcsoft_afs_path['base'] , 'x86_64_gcc93_ub2004' ))
ilcsoft_afs_path['gcc10_64bit_centos7'] = os.path.normpath(os.path.join(ilcsoft_afs_path['base'], 'x86_64_gcc103_centos7'))

ilcPath = None
installPrefix = None
Expand Down
159 changes: 159 additions & 0 deletions releases/v02-03/release-base.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,159 @@
##############################################################################
#
# Configuration file for installing base-level tools of ILC Software v01-14
#
# This cfg file is part 1 of a 2 step installation procedure:
#
# Part 1 installs the so called "base-level" tools of the ilcsoft release
# (base-level tools are the tools which do not have dependencies and can
# therefore be 're-linked' from release to release
#
# base-level tools are typically installed to:
# /afs/desy.de/project/ilcsoft/sw/x86_64_gcc41_sl5/ # 64bit
# /afs/desy.de/project/ilcsoft/sw/i386_gcc41_sl5/ # 32bit
#
# Part 2 is done with cfg file release_v01-09.cfg and installs the
# remaining software which has dependencies and therefore needs to
# be re-installed from release to release. Part 2 installation links
# to the packages installed with Part 1
#
# ilcsoft releases are typically installed to:
# /afs/desy.de/project/ilcsoft/sw/x86_64_gcc41_sl5/v01-14 # 64bit
# /afs/desy.de/project/ilcsoft/sw/i386_gcc41_sl5/v01-14 # 32bit
#
# Please do not forget to modify the directories in this cfg file
# according to your system !!
#
# Alternatively to the 2 step installation procedure you may choose to
# use the release_v01-14-scratch.cfg configuration file which installs
# all software in one single step. The only disadvantage is that future
# installations of new releases have to go into the same directory of the
# previous installation for being able to re-use the base-level tools of the
# old installation (or require significant changes in the configuration file)
#
# Author: F. Gaede, J. Engels, DESY
# Date: Jun 30, 2010
#
##############################################################################

import os, sys

# read package versions from external file
path_where_this_file_lives = os.path.dirname( config_file )
versions_file = os.path.join( path_where_this_file_lives, "release-versions.py" )
exec(compile(open(versions_file, "rb").read(), versions_file, "exec"))

# installation directory
if not 'ilcsoft_install_dir' in dir():
if not 'ilcsoft_install_prefix' in dir():
# default install prefix
ilcsoft_install_prefix = "$HOME/ilcsoft"

ilcsoft_install_dir = ilcsoft_install_prefix
#ilcsoft_install_dir = os.path.join( ilcsoft_install_prefix, ilcsoft_release )

ilcsoft = ILCSoft( ilcsoft_install_dir )


# global options
if not ncores:
ncores = 4

ilcsoft.env["MAKEOPTS"]="-j" + str(ncores)
ilcsoft.env["CXX"]="g++"
ilcsoft.env["CC"]="gcc"

if( ilcsoft.os.isSL(4) ):
ilcsoft.env["FC"]="g77"

#
#ilcsoft.envcmake['CMAKE_CXX_FLAGS']= CMAKE_CXX_FLAGS
ilcsoft.envcmake['USE_CXX11']=False
ilcsoft.envcmake['CMAKE_CXX_STANDARD']=cxx_standard
#

# ----- build and install documentation -------------
ilcsoft.envcmake["INSTALL_DOC"]="ON"


ilcsoft.envcmake["CMAKE_BUILD_TYPE"]= "RelWithDebInfo"
ilcsoft.downloadType = "svn"

# additional system pathes for FIND_LIBRARY, FIND_PATH
#-----------------------------------------------
#ilcsoft.env["CMAKE_LIBRARY_PATH"]="/usr/lib/gcc/i386-redhat-linux/3.4.3:/another/path/lib"
#ilcsoft.env["CMAKE_INCLUDE_PATH"]="/usr/include/c++/3.4.3:/another/path/include"
#-----------------------------------------------

###########################################################



# ------ packages with no install support -------------
# need to be pre-installed on your system
if 'MySQL_path' in dir():
ilcsoft.use( MySQL( MySQL_path ))
# -----------------------------------------------------

ilcsoft.install( ILCUTIL( ILCUTIL_version ))

ilcsoft.install( CondDBMySQL( CondDBMySQL_version ))

ilcsoft.install( CED( CED_version ))
# ---- optionally build the CED event display
# ---- requires GLUT and OpenGL installed on your system
ilcsoft.module("CED").envcmake['CED_SERVER']='ON'

ilcsoft.install( FastJet( FastJet_version ))
ilcsoft.module("FastJet").fjcontrib_version=FastJetcontrib_version
ilcsoft.module("FastJet").env["CXXFLAGS"]='-std=c++' + str(cxx_standard)

# -- xercesc
ilcsoft.install( XercesC( XercesC_version ))

ilcsoft.install( Geant4( Geant4_version ))
geant4=ilcsoft.module("Geant4")
geant4.envcmake["GEANT4_INSTALL_DATA"]='ON'
geant4.envcmake["GEANT4_USE_SYSTEM_EXPAT"]='OFF' # ignored ??
geant4.envcmake["GEANT4_USE_SYSTEM_CLHEP"]='ON'
geant4.envcmake["GEANT4_USE_OPENGL_X11"]='ON'
geant4.envcmake["GEANT4_USE_QT"]='ON' # requires qt
geant4.envcmake["GEANT4_BUILD_TLS_MODEL"]= 'global-dynamic'
#geant4.envcmake["GEANT4_BUILD_CXXSTD"]='c++' + str(cxx_standard)
geant4.envcmake["GEANT4_BUILD_CXXSTD"]=str(cxx_standard)
geant4.envcmake["GEANT4_INSTALL_DATA_TIMEOUT"]='7200'

#geant4.envcmake["QT_QMAKE_EXECUTABLE"]=/path/to/qmake
if 'XERCESC_ROOT_DIR' in dir():
geant4.envcmake["XERCESC_ROOT_DIR"]=XERCESC_ROOT_DIR
geant4.envcmake["GEANT4_USE_GDML"]='ON' # requires xerces-c

ilcsoft.install( ROOT( ROOT_version ))
ilcsoft.module("ROOT").download.type="wget"
ilcsoft.module("ROOT").envcmake['root7']="ON"
ilcsoft.module("ROOT").envcmake['webgui']="ON"

ilcsoft.install( CLHEP( CLHEP_version ))
ilcsoft.install( GSL( GSL_version ))
ilcsoft.module("GSL").use_c11=True
ilcsoft.install( Qt5( Qt5_version ))

# cmake
ilcsoft.install( CMake( CMake_version ))

# sio package
ilcsoft.install( SIO( SIO_version ))
sio=ilcsoft.module("SIO")
sio.envcmake["SIO_BUILTIN_ZLIB"]='OFF'
sio.envcmake["SIO_EXAMPLES"]='OFF'
sio.envcmake["SIO_MACROS_WITH_EXCEPTION"]='OFF'
sio.envcmake["SIO_RELEASE_OFAST"]='OFF'

# boost
ilcsoft.install( Boost( Boost_version ) )
ilcsoft.module("Boost").buildopts["cxxstd"]=cxx_standard

# eigen3
ilcsoft.install( Eigen( Eigen_version ) )

# end of configuration file
Loading

0 comments on commit bd45250

Please sign in to comment.