Skip to content

Releases: rest-for-physics/framework

v2.3.9

17 Sep 09:19
Compare
Choose a tag to compare
  • Implemented error notifications at the end of restManager execution, ref #94.

  • Fixes in TRestAnalysisPlot, ref. #99.

  • Fix a bug in TRestRun when test run if off, and the returned event is NULL from the process. The NULL returned event will not be cloned to the output event, ref #95.

  • Few other minor improvements.


Library, packages and project updates (Check their respective repositories to know about changes there):

v2.3.8

13 Jul 08:43
Compare
Choose a tag to compare
  • TRestEventProcess::InitFromConfigFile implements now a replacement of metadata members in the form [MetadataName::MemberName] to use parameters from other metadata classes as initialization.

  • pipeline/trexdm. Added a test to use [TRestDetector::fPressure] as a parameter inside TRestDetectorHitsToSignalProcess`.

  • pipeline/trexdm. Validation.root has been updated. Some observables calculation was affected from using a different drift velocity.

  • Few other minor improvements.


Library, packages and project updates (Check their respective repositories to know about changes there):

v2.3.7

30 Jun 15:56
Compare
Choose a tag to compare
  • TRestStringHelper::CreateTF1FromString implemented.

  • TRestRun::ReplaceMetadataMembers fixing a potential bug when using square brackets [ ] in CreateTF1FromString.

  • TRestMesh::AddSphericalNode fixing a bug at initialization from spherical hits, and few other bugs connected to TVector3 initialization.

  • TRestMessengerAndReceiver renamed to TRestMessenger.

  • TRestRealTimeDrawingProcess was updated.

  • TRestHits updates in gaussian sigma observables.

  • Now REST is compatible with c++17

  • Improved REST reflection so that we are able to change number precision, specially for timestamps.


Library, packages and project updates (Check their respective repositories to know about changes there):

v2.3.6

10 Jun 07:03
Compare
Choose a tag to compare
  • Added SVG logos.

  • Added pipeline badges at README.md and at PR integrating a GitHub application Pull Request Badge.

  • Implemented output event sorting (useful in Multi-threading data processing) through the definition of TRestProcessRunner::fSortOutputEvents. It is enabled by default.

  • Fixed bugs at TRestMesh, TRestMetadata::GetParametersList,

  • TRestStringHelper added method DiffString. It is useful to identify misspelling of keywords, i.e. 1-character mismatch between RML parameter and metadata member.

  • TRestReflector added Long64_t data type support.

  • TRestStringHelper::DataMemberNameToParameterName now checks the second character of metadata member.

  • TRestProcessRunner now follows regular data member naming and it is linked to RML parameters following standard conventions. Examples updated accordingly.

  • Many updates on gitlab pipelines.

  • TRestRawFFT was recovered from quarantine.

  • TRestMesh was quickly adapted to be able to operate with spherical coordinates.

  • REST_MakeProcess macro updated to avoid implementation of InitFromConfigFile.

  • pull-submodules.py includes now an option to exclude different submodules `python3 pull-submodules.py --exclude:axionlib,restg4,geant4lib

  • script checkoutRemoteBranch.sh added to pull a particular branchName. If it does not exist it will attempt to pull master. This is used for pipelines.

  • pull-submodules.py --latest will now attempt to pull the branchName submodule named as the framework branch, if it does not exist it will just pull the master branch. This is useful for pipeline validation.

  • Important fixes on TRestReflector.


Library, packages and project updates (Check their respective repositories to know about changes there):

v2.3.5

11 Apr 11:57
Compare
Choose a tag to compare
  • Zenodo reference has been added to the README.md

  • TRestRawSignalChannelActivity bug fixing and added to validation pipeline.

  • Added a new restRootMacros alias that loads restRoot with macros available.

  • Project migrated to C++14 standards.

  • TRestStringHelper. Added few new Trim methods.

  • TRestEventSelectionProcess has been implemented. It will allow to define few rules on a pre-processed ROOT file analysisTree, to re-process the original event file with a specific/reduced event selection fulfilling the conditions. It also accepts a text file with a list of event IDs.

  • Updating institutional logos, and re-organized miscellaneous directory.

  • TRestMetadata::ReadAllParameters has been split into GetParameterList and ReadParameterList.

  • TRestEventProcess::InitFromConfigFile now will attempt to replace metadata members inside the parameters space. I.e. using [TRestDetector::fSampling]. See trexdm-quickAna repository, inside autoAnalysis/RMLs/03_hits.rml for an example.

  • New ValidateDetectorParams.C macro to validate the reading of detector parameters from filename.

  • TRestRun::ReplaceMetadataMembers << >> delimiters changed by [ ].

  • Fixed many bugs and errors.

    • Important fix related to resizing of window.
    • Fixed an issue when defining analysisTree conditions using &&. Now we define && and || inside RMLs as AND and OR.

Library, packages and project updates (Check their respective repositories to know about changes there):

v2.3.4

10 Feb 07:27
Compare
Choose a tag to compare
  • This release fixes the first properly versioned libraries, setting each library to an initial version 1.0.

  • A validationLibrary.py script included at each library will assure metadata classes include the library version.

  • TODO. List other changes.

v2.3.3

28 Jan 19:00
Compare
Choose a tag to compare
  • Fixed an issue with REST_G4 variable that was not having effect at thisREST.sh.

  • Improved cmake compilation system to accept a REST_ALL_LIBS variable that allows to enable/disable all libraries/packages at once. For example using: cmake -DREST_ALL_LIBS=ON -DRESTLIB_TRACK=OFF ../. See closed issue #5.

  • Improved cmake compilation system to automatically identify the source/libraries/libname with RESTLIB_LIBNAME and source/packages/restPkg with REST_PKG. See closed issue #17.

  • dataURL has been removed from user space at $HOME/.rest to avoid problems when updating the file. See closed issue #9

  • Fixed compilation issue when enabling feature REST_DECAY0. See closed issue #6.

  • pull-submodules.py accepts now few new options: --clean, --force, --lfna, --sjtu and --latest. We may for example use it to:

    • python3 pull-submodules.py --lfna --latest: Pull submodules including lfna repositories and each submodule at its latest development stage.
    • python3 pull-submodules.py --clean: It will remove any local changes and place the local repository at a clean state with submodules pointing to the official reference.

v2.3.2

25 Jan 21:25
Compare
Choose a tag to compare
  • Improvements on the cmake compilation system. New COMPILELIB and DIRNAME2LIBNAME cmake functions that allow to define a standard way to relate packages and libraries to their compilation option.

  • Submodules have been updated accordingly.

  • thisREST.sh now will also load the ROOT, Geant4 and Garfield versions used during the compilation of REST. Simplifying the loading of REST-ROOT environment to source /path/to/install/thisREST.sh. Therefore, the user does not need to care which ROOT version should use with a particular REST version that could be installed officially at a given computing infrastructure.

v2.3.1

13 Jan 11:21
Compare
Choose a tag to compare
  • Two new members have been added to TRestMetadata: fOfficialRelease and fCleanState. The values of those members are initialised through rest-config --release and rest-config --clean.

    • fOfficialRelease will be set to Yes if the commit at which REST was compiled corresponds with a tagged commit.
    • fCleanState will be set to Yes if there were no local modifications at the local source repository. Submodules should also be pointing to their official repository. It is possible to use source clean-state.sh to get at this state.
  • Few other minor fixes and arrangements

v2.3.0

08 Jan 23:34
Compare
Choose a tag to compare

Completely new directory structure:

  • We have differentiated the main framework classes at source/framework. Subdivided into:

    • analysis: Basic metadata classes and processes for pure analysis purposes.
    • tools: Basic helper classes, strings, physics, simple geometrical calculations, etc.
    • core: Main C++ classes prototyping REST classes, and providing REST basic artifacts, such as analysis tree, plotting tools, and event data or metadata visualisation.
  • The libraries are now placed under the directory source/libraries/. Any library is now outside the main repository and it is installed as a submodule.

  • The packages are also connected to this main repository through submodules as source/packages/.

  • There is a new directory at the repository named projects that we dedicate to host different standalone REST projects with public or restricted access.

Few considerations when moving from 2.2 to 2.3.

  • All public libraries and submodules can be downloaded using python3.X pull-submodules.py.

  • All private libraries and submodules were you got access rights can be downloaded using python3.X pull-submodules.py --private.

  • Libraries must be enabled at compilation time, when executing cmake. For example the detector library will be enabled using -DRESTLIB_DETECTOR=ON or the raw library will be enabled using -DRESTLIB_RAW=ON. Following always the convention -DRESTLIB_LIBDIRNAME=ON.

  • Packages compilation flag convention is similar. a restPackage will be added for compilation as REST_PACKAGE. Just as restG4 will be enabled using -DREST_G4=ON.

  • A new script has been added at the root directory, clean-state.sh that can be sourced source clean-state.sh in order to assure the recover a clean git repository state that is identical to the remote repository. WARNING this will erase any local modifications or commits!

  • We adopt for the first time a naming convention for c++ classes inside libraries. TRestLibName... For example, detector library classes will always start by TRestDetector. This will help to identify all the classes that have a common relation, by using auto-completion inside restRoot. Usually all library processes and metadata structures share a common event data type.

  • This new naming convention has forced us to produce the renaming of many classes to follow the new library organisation. All renamed classes have been registered at the framework/renamed.classes file.

  • There is a new script updateClassNamesToV2.3.py. This script uses the renamed.classes file to apply a find and replace to the files with a given extension found in specific absolute or relative path. I.e. using it as: python3.X updateClassNamesToV2.3.py PATH FILE_EXTENSION. Such as python3.5 updateClassNamesToV2.3.py ../projects/ rml.