Skip to content

WIP: Cleanup of STS unpacker

Dominik Smith requested to merge d.smith/cbmroot:UnpackerNew into master

A new unpacker class is developed, based on CbmMcbm2018Unpacker. This is work in progress.

New task and algo classes are created in /reco/detectors/sts: CbmAlgoUnpackSts.h CbmAlgoUnpackSts.cxx CbmRecoUnpackSts.h (task) CbmRecoUnpackSts.cxx (task)

The main goal is the bring the STS unpacker more in line with the layout presented by @v.friese in the following presentation:

https://indico.gsi.de/event/12557/contributions/53423/attachments/35674/47102/210429%20Friese%20Unpackers.pdf

Aside from cleanup, renaming and moving, the biggest changes are the following:

-All monitoring functionality, i.e. generation of histograms was moved to a new class CbmAlgoUnpackStsMonitor (found in the same folder).

-CbmAlgoUnpackSts is now derived from from CbmUnpack (found in /reco/base/), instead of CbmStar2019Algo. This means that Algo no longer owns the Digi vector, but uses a pointer to std::vector. The base class was also changed slightly, to use pointers instead of references, and monitoring functionality was removed.

-A new function Unpack() was implemented to replace ProcessTs(), as proposed in the talk linked to above.

CMakeLists.txt and CbmRecoStsLinkDef.h were changed accordingly. Currently, the inheritance of CbmRecoUnpackSts from CbmMcbmUnpack is left in place, to keep the possibility of using CbmMcbm2018Source.

There are still several large blocks of commented-out code. This will be addressed.

Feedback from @p.-a.loizeau @se.gorbunov @praisig @f.uhlig would be appreciated.

Edited by Dominik Smith

Merge request reports