From f94f99e6c7868fafb6a006c3fb5587c6df22170d Mon Sep 17 00:00:00 2001 From: Aliya Nigamova Date: Sat, 22 Jun 2024 14:43:31 +0200 Subject: [PATCH 1/5] remove old iterators in python scripts --- python/ModelTools.py | 6 ++---- python/ShapeTools.py | 15 +++++---------- scripts/plot1DScan.py | 2 +- 3 files changed, 8 insertions(+), 15 deletions(-) diff --git a/python/ModelTools.py b/python/ModelTools.py index a3336d3e7cd..1dc7416f30d 100644 --- a/python/ModelTools.py +++ b/python/ModelTools.py @@ -173,11 +173,9 @@ def doModel(self, justCheckPhysicsModel=False): self.physics.doParametersOfInterest() # set a group attribute on POI variables - poiIter = self.out.set("POI").createIterator() - poi = poiIter.Next() - while poi: + pois = self.out.set("POI") + for poi in pois: self.out.var(poi.GetName()).setAttribute("group_POI", True) - poi = poiIter.Next() self.physics.preProcessNuisances(self.DC.systs) self.doNuisances() self.doExtArgs() diff --git a/python/ShapeTools.py b/python/ShapeTools.py index f6fad3e57f9..a0e9dd48783 100644 --- a/python/ShapeTools.py +++ b/python/ShapeTools.py @@ -439,9 +439,7 @@ def doCombination(self): self.out.safe_import(arg, ROOT.RooFit.RecycleConflictNodes()) if self.options.fixpars: pars = self.out.pdf("model_s").getParameters(self.out.obs) - iter = pars.createIterator() - while True: - arg = iter.Next() + for arg in pars: if arg == None: break if arg.InheritsFrom("RooRealVar") and arg.GetName() != "r": @@ -1007,10 +1005,9 @@ def getPdf(self, channel, process, _cache={}): pdfs.Add(self.shape2Pdf(shapeUp, channel, process)) pdfs.Add(self.shape2Pdf(shapeDown, channel, process)) histpdf = nominalPdf if nominalPdf.InheritsFrom("RooDataHist") else nominalPdf.dataHist() - varIter = histpdf.get().createIterator() - xvar = varIter.Next() - yvar = varIter.Next() - if varIter.Next(): + xvar = histpdf.get().first() + yvar = histpdf.get().second() + if histpdf.get().getSize() > 2: raise ValueError("No support for 3+ dimensional histpdfs") elif yvar: rhp = ROOT.FastVerticalInterpHistPdf2D2( @@ -1332,9 +1329,7 @@ def checkRooAddPdf(self, channel, process, pdf): def argSetToString(self, argset): names = [] - it = argset.createIterator() - while True: - arg = it.Next() + for arg in argset: if not arg: break names.append(arg.GetName()) diff --git a/scripts/plot1DScan.py b/scripts/plot1DScan.py index d46df7dfb49..4581c3a50a6 100755 --- a/scripts/plot1DScan.py +++ b/scripts/plot1DScan.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 from __future__ import absolute_import from __future__ import print_function import ROOT From c30ea69d9ce662d38ea4a52848a2346edf38edbb Mon Sep 17 00:00:00 2001 From: Aliya Nigamova Date: Sun, 23 Jun 2024 08:04:18 +0200 Subject: [PATCH 2/5] replacing fwdIterator() in PerfTest --- bin/PerfTest.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/bin/PerfTest.cpp b/bin/PerfTest.cpp index 55f3ce7cdaf..2fe55665ef9 100644 --- a/bin/PerfTest.cpp +++ b/bin/PerfTest.cpp @@ -59,10 +59,8 @@ int main(int argc, char *argv[]) { } RooWorkspace *w = (RooWorkspace*)gDirectory->Get(argv[2]); - // w->Print(); auto allfuncs = w->allFunctions(); - auto it =allfuncs.fwdIterator(); - for (RooAbsArg *a = it.next(); a != 0; a = it.next()) { + for (auto *a: allfuncs){ auto rrv = dynamic_cast(a); if (rrv) { rrv->getVal(); From 6a0cbf31fc9376ebfbbf70983097b3783d52cf43 Mon Sep 17 00:00:00 2001 From: Aliya Nigamova Date: Sun, 23 Jun 2024 08:12:22 +0200 Subject: [PATCH 3/5] python->python3 --- scripts/plotBSMxsBRLimit.py | 1 + scripts/plotLimitGrid.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/plotBSMxsBRLimit.py b/scripts/plotBSMxsBRLimit.py index e22cb314d0f..b2e82500ead 100644 --- a/scripts/plotBSMxsBRLimit.py +++ b/scripts/plotBSMxsBRLimit.py @@ -1,3 +1,4 @@ +#!/usr/bin/env python3 from __future__ import absolute_import from __future__ import print_function import HiggsAnalysis.CombinedLimit.util.plotting as plot diff --git a/scripts/plotLimitGrid.py b/scripts/plotLimitGrid.py index b380830f74b..358c32d07aa 100755 --- a/scripts/plotLimitGrid.py +++ b/scripts/plotLimitGrid.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 from __future__ import absolute_import from __future__ import print_function import HiggsAnalysis.CombinedLimit.util.plotting as plot From fcef5774a15427ba0e18cd96192583c2c699a77f Mon Sep 17 00:00:00 2001 From: Aliya Nigamova Date: Sun, 23 Jun 2024 09:01:01 +0200 Subject: [PATCH 4/5] check histpdf size in ShapeTools.py --- python/ShapeTools.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/python/ShapeTools.py b/python/ShapeTools.py index a0e9dd48783..28876ae888d 100644 --- a/python/ShapeTools.py +++ b/python/ShapeTools.py @@ -1005,11 +1005,11 @@ def getPdf(self, channel, process, _cache={}): pdfs.Add(self.shape2Pdf(shapeUp, channel, process)) pdfs.Add(self.shape2Pdf(shapeDown, channel, process)) histpdf = nominalPdf if nominalPdf.InheritsFrom("RooDataHist") else nominalPdf.dataHist() - xvar = histpdf.get().first() - yvar = histpdf.get().second() if histpdf.get().getSize() > 2: raise ValueError("No support for 3+ dimensional histpdfs") - elif yvar: + elif histpdf.get().getSize() > 1: + xvar = histpdf.get().first() + yvar = histpdf.get().second() rhp = ROOT.FastVerticalInterpHistPdf2D2( "shape%s_%s_%s_morph" % (postFix, channel, process), "", @@ -1022,6 +1022,7 @@ def getPdf(self, channel, process, _cache={}): qalgo, ) else: + xvar = histpdf.get().first() rhp = ROOT.FastVerticalInterpHistPdf2( "shape%s_%s_%s_morph" % (postFix, channel, process), "", From 0d6fc50a01e7270fbcd367ef4372b4d9d7766a2a Mon Sep 17 00:00:00 2001 From: Aliya Nigamova Date: Mon, 24 Jun 2024 08:32:22 +0200 Subject: [PATCH 5/5] remove space --- python/ShapeTools.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/ShapeTools.py b/python/ShapeTools.py index 28876ae888d..baf48adb251 100644 --- a/python/ShapeTools.py +++ b/python/ShapeTools.py @@ -439,7 +439,7 @@ def doCombination(self): self.out.safe_import(arg, ROOT.RooFit.RecycleConflictNodes()) if self.options.fixpars: pars = self.out.pdf("model_s").getParameters(self.out.obs) - for arg in pars: + for arg in pars: if arg == None: break if arg.InheritsFrom("RooRealVar") and arg.GetName() != "r":