AliceO2 icon indicating copy to clipboard operation
AliceO2 copied to clipboard

TPC: move PadFlags and related classes to TPCCore

Open ktf opened this issue 3 weeks ago • 20 comments

o2::tpc::PadFlags and in particular vectors of thereof are affected by an old ROOT bug in serializing std::vector<enum struct : short>.

Because of this we have a custom streamer which needs to be initialised very early in order to function correctly.

This is fine, however, due to the fact we invoke TClass::GetClass() too early, ROOT is forced to load a bunch of extra stuff, unneededly, resulting in much increased memory footprint in analysis, which happens to use DataFormatsTPC.

This makes sure the custom streamer is not initialised statically by DataFormatsTPC and prevents ROOT from loading the kitchen sink when the TClass::GetClass is invoked too early.

ktf avatar Dec 11 '25 16:12 ktf