Skip to content

Releases: FairRootGroup/FairRoot

Second patch of FairRoot release v-15.11

11 Apr 10:42
Compare
Choose a tag to compare

The patch release contain the following changes compared to v-15.11a.

  1. Allow to use parameters in FairUnpackers.
  2. Unify data members of different run classes.
  3. Create new class for online sources.
  4. Avoid reading the first event in case of online source.

A more detailed description can be found in the log message.

First patch of FairRoot release v-15.11

14 Jan 13:51
Compare
Choose a tag to compare

The main reason for this patch was to correct a problem with TF1 when using ROOT6.

In FairRoot a TF1 was used which was created out of a TString definition of an expression which was put together on the fly. This was done to easily change a parameter of the expression from the macro.

The old definition of the time distribution between two events was found only working with ROOT5. With ROOT6 the defintion of the function was somehow brocken and the returned random value was allways infinity.
The new version of functions doesn't use a TString any longer but a inline expression using standard C++ functions.

Second patch of FairRoot release v-15.07

14 Jan 13:50
Compare
Choose a tag to compare

The main reason for this patch was to correct a problem with TF1 when using ROOT6.

In FairRoot a TF1 was used which was created out of a TString definition of an expression which was put together on the fly. This was done to easily change a parameter of the expression from the macro.

The old definition of the time distribution between two events was found only working with ROOT5. With ROOT6 the defintion of the function was somehow brocken and the returned random value was allways infinity.
The new version of functions doesn't use a TString any longer but a inline expression using standard C++ functions.

Also two minor issues have been fixed.

  • Add one more environment variable which is needed for ROOT6.
    The variable defines the location of the needed header files and was missing when the environment is defined
    for scripts which should run at test time. The problem was already fixed in case a root macro is executed.
  • Backport FairMonitor.
    The class can't be used in this release but is needed in order to compile some macro from the CBM experiment
    properly when using ROOT6.

FairRoot release November 2015

27 Nov 10:42
Compare
Choose a tag to compare

Release info:

New Features

  • Redesign the FairRoot IO manager
  • Introduce FairSource as base class for different sources
  • Extend the FairRunOnline functionality to support THttpServer
  • New FairMonitor to monitor the task execution time
  • New MQ front end of the parameter manager (ParameterMQServer)

Improvements

FairMQ

  • Add possibility to poll on multiple channels.
  • Include command channel when polling on blocking calls (for unblocking without termination).
  • Add new Send/Receive methods with smart pointers and no flag checks.
  • Add methods to FairMQChannel to set timeout on blocking Send/Receive
  • Add ExpectsAnotherPart() method to check if another msg part is expected (old approach still works).
  • Add orthogonal OK/ERROR states. Entering ERROR state will leave the executable running to allow easier debugging.
  • Move signal handler from run-files to the FairMQDevice class (call FairMQDevice::CatchSignals() in the main function).
  • Add thread-safe 'bool CheckCurrentState(statename)' (instead of 'GetCurrentState() == statename' that cannot be thread safe).
  • Add 'InteractiveStateLoop()' method that can be used to change states from the command line.
  • Add automatic transition to IDLE state if Run() exits without an external event.
  • Implement reset of FairMQDevice.
  • Add FairMQ tests (PUB-SUB, PUSH-PULL, REQ-REP).
  • Use same executable for bin/boost/protobuf/root data format, configured now via --data-format <binary/boost/protobuf/tmessage> command line parameter.
  • FairMQStateMachine: improve feedback on invalid transitions (more readable).
  • Add a logger for FairMQ based on Boost.Log v2
  • Refactor the generic MQ devices
  • Add CRTP base class for (de)serialization, source, task, and file sink policies, which can be used as guideline for the policies of the generic MQ devices
  • Add template functions to use simple interactive or non-interactive state machine sequence.
  • Add helper functions for the FairProgramOptions

Base/MQ :

  • Add a serializeMsg function member in boost serializer policy that take a pointer to the data type
  • Add FairRoot-like directory structure in root files produced by the RootOutputManager storage policy
  • Add FairMQFileSource, an interface to the FairFileSource, which can be used as policy for the generic sampler device
  • Add FairMQLmdSampler device to read Lmd file and send binary to another device (most likely an unpacker)
  • Add FairMQUnpacker device which take an Unpacker as template parameter

Examples

  • Simplify the Tutorial7 and add an example of using FairMQFileSource policy. Use FairProgramOptions to configure the data generator.
  • Add an usage example of FairMQLmdSampler and FairMQUnpacker using the data of tutorial8
  • Restructure the examples directory and add new documentation
  • New: MBS data unpacking from LMD file and corresponding test.
  • New: Dynamic configuration of devices with DDS.
  • New: Multiplicating data with zero copy and push pattern.
  • New: Working with multiple channels in FairDevices
  • New: Sending multipart messages.
  • New: Using ParameterMQServer

Bug fixes:

  • FairRunAnaProof for the ROOT6
  • Various smaller bug fixes and error handling in FairMQ
  • ReadEvent with time stamps 102
  • Return value of FairRootManager::ReadEvent() 101
  • FairRoot dev does not compile on SL6 90

First patch of FairRoot release v-15.07

25 Sep 11:28
Compare
Choose a tag to compare

The patch release contain 3 changes compared to v-15.07.

  1. Increase maximum test time since with the old setting the tests often run in timeouts when running with ROOT6. ROOT6 compiles the macros at startup which results in some extra time.
  2. Add some fix in the build system which is needed when compiling with gcc 5.x.
  3. Change the bash scripts for setup and testing. This change was necessary because ROOT6 needs an additional environment variable to be able to find the header files which are needed for the compilation of the macros.

For all users not using gcc 5.x or testing ROOT6 support no update of FairRoot is needed.

FairRoot release July 2015

03 Jul 18:04
Compare
Choose a tag to compare

Release info:

Move data base interface (FairDB) to a separate repository

  • Remove dbase directory from FairRoot tree
  • Update the Readme.MD file with instructions how to build with FairDB support
  • default build is now without FairDB

General

  • Fix many coverity issues
  • Small fixes needed for ROOT6
  • Add the header files to the xcode project navigation list
  • Rename FairMemory to FairSystemInfo. All macros now have a unified block at the end which extracts the maximal used memory and calculates the CPU usage. Both values are formated in a way that they are CTest compliant and can be send to the CDash server.

FairMQ

  • Update FairMQStateMachine & introduce FairMQChannels
  • Organize sockets as a map of vectors of FairMQChannels.
  • Update FairMQStateMachine by removing SETTINGINPUT, SETTINGOUTPUT, BIND and CONNECT states and by adding INITIALIZING_TASK, RESETTING_TASK and RESETTING_DEVICE states. Run states functions in their own thread.
  • Move fairmq json parser to fairmq/options
  • Add FairMQProgOptions for configuring MQDevices
  • Increase maximum number of zeromq sockets and improve output on errors.
  • Reduce amount of output when finding port from a range.
  • Stop the Device when socket creation fails and output an error.

First patch of release v-15.03

08 May 13:55
Compare
Choose a tag to compare

Add one function in FairRunOnline which is needed by the CBM experiment.

FairRoot release March 2015

23 Mar 16:05
Compare
Choose a tag to compare

Release information:

Solve problem with crashes of FairRoot when running Geant3 simulations on 32bit machines.
The database interface FairDb is not build by default. One has to switch on the option -DWITH_DB=TRUE.
Add script fairroot-config which return information about the used Compilers, SIMPATH and FairRoot version.
Some bug fixes in config.sh and config.csh scripts.
Several fixes in the build system.
Remove dynamic casts at several places where they are not needed to improve performance.
Re-organize base/MQ directory, change library name FairMQSampler to BaseMQ, and link tutorial 3,6,7 accordingly.
Implemented optional modular build.
Add generic MQ-devices (Sampler, Processor, and FileSink) in fairmq.
Remove warnings.
Reorganization of IO classes to make use of the new FairSource class.
Start porting classes to use multi-threading in Geant4.

FairRoot release November 2014

18 Nov 16:42
Compare
Choose a tag to compare

Release notes:

Bug fixes
Support new Linux and MAC releases
Use Boost program options for managing command line options of executables
Add ROUTER/DEALER/PEAR sockets to FairMQ interface
Add REQ/REP sockets to FairMQ interface
New Tutorial
Add Project template