Dear @hahnjo
I am trying to run a macro example with RDataFrame reading of the example i get with
wget http://root.cern.ch/files/tutorials/ntpl004_dimuon_v1rc1.root
when i run the example macro in attachment , example.C
R__LOAD_LIBRARY(ROOTNTuple)
#include <ROOT/RDataFrame.hxx>
#include <ROOT/RNTuple.hxx>
#include <ROOT/RNTupleDS.hxx>
#include <ROOT/RVec.hxx>
#include <TCanvas.h>
#include <TH1D.h>
#include <TLatex.h>
#include <TStyle.h>
#include <cassert>
#include <cmath>
#include <iostream>
#include <memory>
#include <string>
#include <vector>
#include <utility>
// Import classes from experimental namespace for the time being
using RNTupleReader = ROOT::Experimental::RNTupleReader;
using RNTupleDS = ROOT::Experimental::RNTupleDS;
constexpr char const* kNTupleFileName = "ntpl004_dimuon_v1rc1.root";
using namespace ROOT::VecOps;
void example() {
// Use all available CPU cores
ROOT::EnableImplicitMT();
auto df = ROOT::RDF::Experimental::FromRNTuple("Events", kNTupleFileName);
// The tutorial is identical to df102_NanoAODDimuonAnalysis except the use of
// InvariantMassStdVector instead of InvariantMass (to be fixed in a later version of RNTuple)
// For simplicity, select only events with exactly two muons and require opposite charge
auto df_2mu = df.Filter("#Muon == 2", "Events with exactly two muons");
auto df_os = df_2mu.Filter("Muon.charge[0] != Muon.charge[1]", "Muons with opposite charge");
// Compute invariant mass of the dimuon system
auto df_mass = df_os.Define("Dimuon_mass", InvariantMass<float>, {"Muon.pt", "Muon.eta", "Muon.phi", "Muon.mass"});
// Make histogram of dimuon mass spectrum
auto h = df_mass.Histo1D({"Dimuon_mass", "Dimuon_mass", 30000, 0.25, 300}, "Dimuon_mass");
// Request cut-flow report
auto report = df_mass.Report();
// Produce plot
gStyle->SetOptStat(0); gStyle->SetTextFont(42);
auto c = new TCanvas("c", "", 800, 700);
c->SetLogx(); c->SetLogy();
h->SetTitle("");
h->GetXaxis()->SetTitle("m_{#mu#mu} (GeV)"); h->GetXaxis()->SetTitleSize(0.04);
h->GetYaxis()->SetTitle("N_{Events}"); h->GetYaxis()->SetTitleSize(0.04);
h->DrawCopy();
TLatex label; label.SetNDC(true);
label.DrawLatex(0.175, 0.740, "#eta");
label.DrawLatex(0.205, 0.775, "#rho,#omega");
label.DrawLatex(0.270, 0.740, "#phi");
label.DrawLatex(0.400, 0.800, "J/#psi");
label.DrawLatex(0.415, 0.670, "#psi'");
label.DrawLatex(0.485, 0.700, "Y(1,2,3S)");
label.DrawLatex(0.755, 0.680, "Z");
label.SetTextSize(0.040); label.DrawLatex(0.100, 0.920, "#bf{CMS Open Data}");
label.SetTextSize(0.030); label.DrawLatex(0.630, 0.920, "#sqrt{s} = 8 TeV, L_{int} = 11.6 fb^{-1}");
// Print cut-flow report
report->Print();
}
I get :
libc++abi: terminating due to uncaught exception of type ROOT::Experimental::RException: no RNTuple named 'Events' in file 'ntpl004_dimuon_v1rc1.root' (unchecked RResult access!)
At:
ROOT::Experimental::RResult<ROOT::RNTuple> ROOT::Experimental::Internal::RMiniFileReader::GetNTupleProper(std::string_view) [/Users/renato/AppSrcs/root_src/tree/ntuple/v7/src/RMiniFile.cxx:759]
Do you have suggestions why this is not working on my mac?
this is the root–version
$|=>root --version
ROOT Version: 6.34.04
Built for macosxarm64 on Mar 06 2025, 07:33:01
From tags/v6-34-04@v6-34-04