Digi times relative to time slice

Added by Volker Friese 3 months ago

It is proposed to define the digi time stamp relative to the time slice start time, and not as absolute value (relative to the run start time). The reason for this is mainly to enable compressing/optimising the digi objects such that they can well be processed e.g. on GPU in the local reconstruction. That entails that number of bits used to represent the time is limited, which can be achieved by reducing the "dynamic range" to the duration of one time slice (1 or few seconds).

The necessary changes to the software (digi classes and digitizers) are already prepared by F. Weiglhofer (see MR 385). Basically, there are two changes: the SendData() method used to transfer digis to the DaqBuffer is enhanced by one argument (absolute time). The time stored in the digi object itself is then constructed only when sorting the digi object into the proper time slice (done in CbmDigitize::FillTimeSlice()). To do so, a modifier CbmDigi::SetTime() is required for all digi classes.

As a consequence, also the time stamp of derived/reconstructed objects like clusters, hits, tracks, events will be relative to the time slice start time. In case you see any problem with this, please comment in the respective issue 2131 or in reply to this news posting.

Please note that the suggested change breaks backward compatibility for simulated data produced with earlier software versions. If this is considered harmful, please speak up.


Added by Volker Friese 2 months ago

Following the discussion in the Software meeting of 8 July 2021, the change will not be done before the end of the current mCBM beamn time.