From c14c5e779d35d33a4a4c524ee2416443809cac1c Mon Sep 17 00:00:00 2001 From: AdvaitDhingra <62119114+AdvaitDhingra@users.noreply.github.com> Date: Mon, 14 Jun 2021 18:21:17 +0200 Subject: [PATCH 1/5] TTree::GetEntry() fix --- tree/tree/inc/TTree.h | 2 +- tree/tree/src/TTree.cxx | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/tree/tree/inc/TTree.h b/tree/tree/inc/TTree.h index 729210b151a09..12245ce67b98e 100644 --- a/tree/tree/inc/TTree.h +++ b/tree/tree/inc/TTree.h @@ -460,7 +460,7 @@ class TTree : public TNamed, public TAttLine, public TAttFill, public TAttMarker virtual Long64_t GetEntriesFast() const { return fEntries; } virtual Long64_t GetEntriesFriend() const; virtual Long64_t GetEstimate() const { return fEstimate; } - virtual Int_t GetEntry(Long64_t entry = 0, Int_t getall = 0); + virtual Int_t GetEntry(Long64_t entry, Int_t getall = 0); Int_t GetEvent(Long64_t entry = 0, Int_t getall = 0) { return GetEntry(entry, getall); } virtual Int_t GetEntryWithIndex(Int_t major, Int_t minor = 0); virtual Long64_t GetEntryNumberWithBestIndex(Long64_t major, Long64_t minor = 0) const; diff --git a/tree/tree/src/TTree.cxx b/tree/tree/src/TTree.cxx index e0751eb6a0010..4586a102ce448 100644 --- a/tree/tree/src/TTree.cxx +++ b/tree/tree/src/TTree.cxx @@ -5566,11 +5566,15 @@ Long64_t TTree::GetEntriesFriend() const Int_t TTree::GetEntry(Long64_t entry, Int_t getall) { - + + // We already have been visited while recursively looking // through the friends tree, let return if (kGetEntry & fFriendLockStatus) return 0; - + if (!entry) { + Warning("TTree::GetEntry", "Warning! Long64_t entry is undefined. Please provide a value for entry"); + return 0; + } if (entry < 0 || entry >= fEntries) return 0; Int_t i; Int_t nbytes = 0; From 5342e9cd68732b7768e44d0ec137d4ff5d0bef7d Mon Sep 17 00:00:00 2001 From: AdvaitDhingra <62119114+AdvaitDhingra@users.noreply.github.com> Date: Mon, 14 Jun 2021 19:37:11 +0200 Subject: [PATCH 2/5] Removed accidental indent --- tree/tree/src/TTree.cxx | 2 -- 1 file changed, 2 deletions(-) diff --git a/tree/tree/src/TTree.cxx b/tree/tree/src/TTree.cxx index cdedbd8daf8fa..9602118cd9e73 100644 --- a/tree/tree/src/TTree.cxx +++ b/tree/tree/src/TTree.cxx @@ -5581,8 +5581,6 @@ Long64_t TTree::GetEntriesFriend() const Int_t TTree::GetEntry(Long64_t entry, Int_t getall) { - - // We already have been visited while recursively looking // through the friends tree, let return if (kGetEntry & fFriendLockStatus) return 0; From cdd3c3e58b3d195e5106bf3e9b3f9a3a001ee203 Mon Sep 17 00:00:00 2001 From: AdvaitDhingra <62119114+AdvaitDhingra@users.noreply.github.com> Date: Mon, 14 Jun 2021 19:41:34 +0200 Subject: [PATCH 3/5] Changed Warning to Error --- tree/tree/src/TTree.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tree/tree/src/TTree.cxx b/tree/tree/src/TTree.cxx index 9602118cd9e73..4ff7bfd0359dd 100644 --- a/tree/tree/src/TTree.cxx +++ b/tree/tree/src/TTree.cxx @@ -5585,7 +5585,7 @@ Int_t TTree::GetEntry(Long64_t entry, Int_t getall) // through the friends tree, let return if (kGetEntry & fFriendLockStatus) return 0; if (!entry) { - Warning("TTree::GetEntry", "Warning! Long64_t entry is undefined. Please provide a value for entry"); + Error("TTree::GetEntry", "Warning! Long64_t entry is undefined. Please provide a value for entry"); return 0; } if (entry < 0 || entry >= fEntries) return 0; From 1a25b8b143c97a4b96ba26f651ec5071bb16bac4 Mon Sep 17 00:00:00 2001 From: AdvaitDhingra <62119114+AdvaitDhingra@users.noreply.github.com> Date: Wed, 16 Jun 2021 18:52:08 +0200 Subject: [PATCH 4/5] Removed entry conditional statement and it's warning --- tree/tree/src/TTree.cxx | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/tree/tree/src/TTree.cxx b/tree/tree/src/TTree.cxx index 4ff7bfd0359dd..59c53f6b36236 100644 --- a/tree/tree/src/TTree.cxx +++ b/tree/tree/src/TTree.cxx @@ -5584,10 +5584,7 @@ Int_t TTree::GetEntry(Long64_t entry, Int_t getall) // We already have been visited while recursively looking // through the friends tree, let return if (kGetEntry & fFriendLockStatus) return 0; - if (!entry) { - Error("TTree::GetEntry", "Warning! Long64_t entry is undefined. Please provide a value for entry"); - return 0; - } + if (entry < 0 || entry >= fEntries) return 0; Int_t i; Int_t nbytes = 0; From bf1aeb5fb747287c9c2ea3a689f9786cf2ad99d2 Mon Sep 17 00:00:00 2001 From: Advait Dhingra <62119114+AdvaitDhingra@users.noreply.github.com> Date: Wed, 16 Jun 2021 22:55:48 +0200 Subject: [PATCH 5/5] Update tree/tree/inc/TTree.h Co-authored-by: Philippe Canal --- tree/tree/inc/TTree.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tree/tree/inc/TTree.h b/tree/tree/inc/TTree.h index 12245ce67b98e..e6d323f0e48da 100644 --- a/tree/tree/inc/TTree.h +++ b/tree/tree/inc/TTree.h @@ -461,7 +461,7 @@ class TTree : public TNamed, public TAttLine, public TAttFill, public TAttMarker virtual Long64_t GetEntriesFriend() const; virtual Long64_t GetEstimate() const { return fEstimate; } virtual Int_t GetEntry(Long64_t entry, Int_t getall = 0); - Int_t GetEvent(Long64_t entry = 0, Int_t getall = 0) { return GetEntry(entry, getall); } + Int_t GetEvent(Long64_t entry, Int_t getall = 0) { return GetEntry(entry, getall); } virtual Int_t GetEntryWithIndex(Int_t major, Int_t minor = 0); virtual Long64_t GetEntryNumberWithBestIndex(Long64_t major, Long64_t minor = 0) const; virtual Long64_t GetEntryNumberWithIndex(Long64_t major, Long64_t minor = 0) const;