Update of TPC fast space charge correction with splines#14921
Update of TPC fast space charge correction with splines#14921davidrohr wants to merge 30 commits intoAliceO2Group:devfrom
Conversation
|
REQUEST FOR PRODUCTION RELEASES: This will add The following labels are available |
|
Error while checking build/O2/fullCI_slc9 for dc97a9d at 2025-12-15 11:27: Full log here. |
dc97a9d to
c2ec54e
Compare
|
Dataflow issue is independent, and compiles and runs on GPU, but should not be merged yet. Will comment more in the mail thread. |
c2ec54e to
4408af2
Compare
7c4eedb to
40842b6
Compare
40842b6 to
d30e01a
Compare
|
Error while checking build/O2/fullCI_slc9 for d30e01a at 2026-03-07 23:36: Full log here. |
d30e01a to
6a7d6f6
Compare
…osition of residuals
Fix compiler warnings on MacOS Fix compiler warning, memmove must only operate on trivial types Fix coding rule violations TPC Splines: compilation fix
The TPCFastTransformPOD is a pointerless version of the TPCFastTransform. It can be created from the
original TPCFastTransform as e.g.
auto lold = o2::gpu::TPCFastTransform::loadFromFile("o2-gpu-TPCFastTransform.root","ccdb_object"); // load original transform
std::vector<char> v; // one has to provide a vector (could be a std or pmr), which later can be messaged via DPL
auto* pod = o2::gpu::TPCFastTransformPOD::create(v, *lold); // pointer pod is just v.data() cast to TPCFastTransformPOD*
// run test:
pod->test(*lold);
[INFO] (ns per call) original this Nmissmatch
[INFO] getCorrection 1.330e+02 1.400e+02 0
[INFO] getCorrectionInvCorrectedX 8.856e+01 8.434e+01 0
[INFO] getCorrectionInvUV 6.266e+01 6.142e+01 0
It can be also created directly from the TPCFastSpaceChargeCorrection as
TPCFastSpaceChargeCorrection& oldCorr = lold->getCorrection();
auto* pod = o2::gpu::TPCFastTransformPOD::create(v, oldCorr);
but in this case one should afterwards set the vdrift and t0 using provided getters.
TPCFastTransformPOD replicates all the methods of the TPCFastTransform (and of the TPCFastSpaceChargeCorrection), including
those which allow to query rescaled corrections (by providing refernce maps and scaling coefficients).
Since the idea of this class is to create a final correction map as a weighted sum of different contribution and to distribute
it to consumer processes via shared memory, also the query methods w/o rescaling are added, they have the suffix _new added.
Eventually, the scalable legacy methods can be suppressed and the suffix new can be dropped.
6a7d6f6 to
800b3b6
Compare
Rebased version of #14723