RCsvDs class with parallel

Dear ROOT experts,

I’m trying to pass data from a csv file to rDataFrame using the RCsvDS class. When I declared ROOT::EnableImplicitMT() method, I found that the order of the data stored in the rDataFrame columns changed depending on the number of threads. I attached two figures, one is obtained when ROOT::DisableImplicitMT() method is activated (ON_DisableImplicitMT.png), the other is when the method is commented out (OFF_DisableImplicitMT.png). Those results were obtained executing a simple example (smpl.C).
$ root -l smpl.C

  • Should not the RCsvDS class use with the declaration of ROOT::EnableImplicitMT() method?
  • Also, when we declare the method, we need to sort the rDataFrame columns?

Best regards,

_ROOT Version: ROOT 6.30/02
_Platform: AlmaLinux release 8.9
_Compiler: gcc 8.5.0

smpl.C (615 Bytes)

I guess you should sort the TGraph when you create it in parallel mode.

Dear couet,

Thank you for your reply. The problem has been solved.

Best regards,