Uploaded image for project: 'ROOT'
  1. ROOT
  2. ROOT-10178

TTreeProcessorMT can't deal with trees with different names in the same TChain

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 6.22/00, 6.20/06
    • Component/s: None
    • Labels:
      None
    • Environment:

      any

      Description

      This prevents processing of TChains with trees with different names in RDataFrame when implicit multi-threading is enabled.

      Reproducer (disabling implicit multi-threading things work as expected):

      #include <ROOT/RDataFrame.hxx>
      #include <TChain.h>
      #include <iostream>
       
      int main()
      {
         ROOT::EnableImplicitMT();
       
         // produce two trees with same branches but different names
         auto df = ROOT::RDataFrame(10).Define("x", "42");
         df.Snapshot("tree1", "f1.root");
         df.Snapshot("tree2", "f2.root");
       
         // add trees to chain
         TChain c("tree1");
         c.Add("f1.root");
         c.Add("f2.root/tree2");
       
         // pass chain to RDF and process trees with different names
         ROOT::RDataFrame df2(c);
         std::cout << *df2.Mean("x") << std::endl;
       
         return 0;
      }
      

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                eguiraud Enrico Guiraud
                Reporter:
                eguiraud Enrico Guiraud
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: