fix in tof calib data structure#7641
Conversation
|
vectors per sector splitted to solve a problem in ROOT streamer. Now all calibrations (for all sectors) are loaded. Tested in full workload with quick calibrations. I am going to reproduce full calibrations with this structure |
|
Hi @noferini The drawback of such a workaround is that the object which could be messegeable (POD) is not anymore since it has pointers. BTW, what is the reason to use a vector for mTimeSlewingSec... rather than fixed size array? |
I want to use parallelization at the level of calibration fitters (time slewing per sector). It is not related to ROOT.
We left free the number of ToT points per channels depending on the statistics we will accumulate (more statistics -> more points) accordingly to what done in Run-2 |
|
@shahor02 |
I don't see in the code how it is used. How it should be related to channel?
Yes. Messageably means that it can be passed from device to device as binary blob, e.g. via shared memory. Should not be confused by (root) serializable object, there passing the object involves a data copy + streaming. |
mChannelStart[sector][channel] points where "channel" calibration starts in the vector
I can remove the pointer leaving all the rest as it is. |
There is no point in doing this if you keep the vector as a data member: it is also not messageable since it contains a pointer. |
I will not keep any vector (just std::array and std::vector). I'm going to remove the vector of pointers at all |
|
By vector I mean std::vector, as all dynamically expandable containers it has a pointer inside. |
Ok, but this cannot be avoid without changing completely the calibration scheme. |
Forgot this comment (I am tired) |
|
Hi @noferini |
At some point it could be also passed as message from the ccdb-service if required as input Lifetime::Condition. |
|
failures unrealated. |
No description provided.