From 375bc4cd10f0de0ad7a6d10fc76339647c5a0cc8 Mon Sep 17 00:00:00 2001 From: Shahzad Malik Muzaffar Date: Thu, 1 Feb 2024 14:37:46 +0100 Subject: [PATCH 1/2] ROOT6 changes needed for RNTupleModel --- .../rntuple/NanoAODRNTupleOutputModule.cc | 18 +++++++++--------- .../plugins/rntuple/TriggerOutputFields.cc | 6 +++++- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/PhysicsTools/NanoAOD/plugins/rntuple/NanoAODRNTupleOutputModule.cc b/PhysicsTools/NanoAOD/plugins/rntuple/NanoAODRNTupleOutputModule.cc index 3813eefb77c74..037bdc611ea24 100644 --- a/PhysicsTools/NanoAOD/plugins/rntuple/NanoAODRNTupleOutputModule.cc +++ b/PhysicsTools/NanoAOD/plugins/rntuple/NanoAODRNTupleOutputModule.cc @@ -74,20 +74,20 @@ class NanoAODRNTupleOutputModule : public edm::one::OutputModule<> { class CommonEventFields { public: void createFields(RNTupleModel& model) { - model.AddField("run", &m_run); - model.AddField("luminosityBlock", &m_luminosityBlock); - model.AddField("event", &m_event); + m_run = model.MakeField("run"); + m_luminosityBlock = model.MakeField("luminosityBlock"); + m_event = model.MakeField("event"); } void fill(const edm::EventID& id) { - m_run = id.run(); - m_luminosityBlock = id.luminosityBlock(); - m_event = id.event(); + *m_run = id.run(); + *m_luminosityBlock = id.luminosityBlock(); + *m_event = id.event(); } private: - UInt_t m_run; - UInt_t m_luminosityBlock; - std::uint64_t m_event; + std::shared_ptr m_run; + std::shared_ptr m_luminosityBlock; + std::shared_ptr m_event; } m_commonFields; LumiNTuple m_lumi; diff --git a/PhysicsTools/NanoAOD/plugins/rntuple/TriggerOutputFields.cc b/PhysicsTools/NanoAOD/plugins/rntuple/TriggerOutputFields.cc index 5d2576b50d001..b9ab38d4484e6 100644 --- a/PhysicsTools/NanoAOD/plugins/rntuple/TriggerOutputFields.cc +++ b/PhysicsTools/NanoAOD/plugins/rntuple/TriggerOutputFields.cc @@ -123,7 +123,11 @@ void TriggerOutputFields::updateTriggerFields(const edm::TriggerResults& trigger void TriggerOutputFields::makeUniqueFieldName(RNTupleModel& model, std::string& name) { // Could also use a cache of names in a higher-level object, don't ask the RNTupleModel each time - const auto* existing_field = model.Get(name); +#if ROOT_VERSION_CODE < ROOT_VERSION(6,31,0) + auto existing_field = model.Get(name); +#else + auto existing_field = model.GetDefaultEntry().GetPtr(name); +#endif if (!existing_field) { return; } From a5ab7b1b80d53f5bd5409d871e5d2b5f922b7eb9 Mon Sep 17 00:00:00 2001 From: Malik Shahzad Muzaffar Date: Thu, 1 Feb 2024 14:57:14 +0100 Subject: [PATCH 2/2] code formatting --- PhysicsTools/NanoAOD/plugins/rntuple/TriggerOutputFields.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PhysicsTools/NanoAOD/plugins/rntuple/TriggerOutputFields.cc b/PhysicsTools/NanoAOD/plugins/rntuple/TriggerOutputFields.cc index b9ab38d4484e6..e1fa1161bf8be 100644 --- a/PhysicsTools/NanoAOD/plugins/rntuple/TriggerOutputFields.cc +++ b/PhysicsTools/NanoAOD/plugins/rntuple/TriggerOutputFields.cc @@ -123,7 +123,7 @@ void TriggerOutputFields::updateTriggerFields(const edm::TriggerResults& trigger void TriggerOutputFields::makeUniqueFieldName(RNTupleModel& model, std::string& name) { // Could also use a cache of names in a higher-level object, don't ask the RNTupleModel each time -#if ROOT_VERSION_CODE < ROOT_VERSION(6,31,0) +#if ROOT_VERSION_CODE < ROOT_VERSION(6, 31, 0) auto existing_field = model.Get(name); #else auto existing_field = model.GetDefaultEntry().GetPtr(name);