From cf891f9e6178f1d45c6f4b84cf89c47a723669cc Mon Sep 17 00:00:00 2001 From: Aliya Nigamova Date: Mon, 10 Jun 2024 22:50:13 +0200 Subject: [PATCH 1/4] replace deprecated iterators --- CombineTools/interface/TFileIO.h | 2 +- CombineTools/src/CombineHarvester.cc | 52 +++++++++---------- .../src/CombineHarvester_Datacards.cc | 51 ++++++++---------- 3 files changed, 47 insertions(+), 58 deletions(-) diff --git a/CombineTools/interface/TFileIO.h b/CombineTools/interface/TFileIO.h index f24fec06b80..dd070c1cd45 100644 --- a/CombineTools/interface/TFileIO.h +++ b/CombineTools/interface/TFileIO.h @@ -43,7 +43,7 @@ void ch::WriteToTFile(T * ptr, TFile* file, std::string const& path) { gDirectory->cd(as_vec[i].c_str()); } if (!gDirectory->FindKey(as_vec.back().c_str())) { - ptr->SetName(as_vec.back().c_str()); + ptr->SetName(as_vec.back().c_str()); gDirectory->WriteTObject(ptr, as_vec.back().c_str()); } gDirectory->cd("/"); diff --git a/CombineTools/src/CombineHarvester.cc b/CombineTools/src/CombineHarvester.cc index d9eab83b1c1..919a6c12eda 100644 --- a/CombineTools/src/CombineHarvester.cc +++ b/CombineTools/src/CombineHarvester.cc @@ -126,32 +126,31 @@ CombineHarvester CombineHarvester::deep() { dat_map[*o_dat_it] = *n_dat_it; } - auto o_pdf_it = o_pdf.createIterator(); - auto n_pdf_it = n_pdf.createIterator(); - do { - RooAbsPdf *o_pdf_ptr = static_cast(**o_pdf_it); - RooAbsPdf *n_pdf_ptr = static_cast(**n_pdf_it); + Int_t nPdf = o_pdf.getSize(); + + for (Int_t i=0; i(o_pdf[i]); + RooAbsReal* n_pdf_ptr = static_cast(n_pdf[i]); if (o_pdf_ptr && n_pdf_ptr) pdf_map[o_pdf_ptr] = n_pdf_ptr; - n_pdf_it->Next(); - } while (o_pdf_it->Next()); - - auto o_var_it = o_var.createIterator(); - auto n_var_it = n_var.createIterator(); - do { - RooRealVar *o_var_ptr = static_cast(**o_var_it); - RooRealVar *n_var_ptr = static_cast(**n_var_it); + } + + Int_t nVar = o_var.getSize(); + + for (Int_t i=0; i(o_var[i]); + RooRealVar *n_var_ptr = static_cast(n_var[i]); if (o_var_ptr && n_var_ptr) var_map[o_var_ptr] = n_var_ptr; - n_var_it->Next(); - } while (o_var_it->Next()); - - auto o_fun_it = o_fun.createIterator(); - auto n_fun_it = n_fun.createIterator(); - do { - RooAbsReal *o_fun_ptr = static_cast(**o_fun_it); - RooAbsReal *n_fun_ptr = static_cast(**n_fun_it); + } + + Int_t nFun = o_fun.getSize(); + + for (Int_t i=0; i(o_fun[i]); + RooAbsReal* n_fun_ptr = static_cast(n_fun[i]); if (o_fun_ptr && n_fun_ptr) fun_map[o_fun_ptr] = n_fun_ptr; - n_fun_it->Next(); - } while (o_fun_it->Next()); + } + } @@ -733,9 +732,8 @@ std::shared_ptr CombineHarvester::SetupWorkspace( } void CombineHarvester::ImportParameters(RooArgSet *vars) { - auto x = vars->createIterator(); - do { - RooRealVar *y = dynamic_cast(**x); + for (RooAbsArg *x : *vars) { + RooRealVar *y = dynamic_cast(x); if (y) { if (!params_.count(y->GetName())) { if (verbosity_ >= 1) { @@ -773,7 +771,7 @@ void CombineHarvester::ImportParameters(RooArgSet *vars) { "RooRealVar object\n"; } } - } while (x->Next()); + } } RooAbsData const* CombineHarvester::FindMatchingData(Process const* proc) { diff --git a/CombineTools/src/CombineHarvester_Datacards.cc b/CombineTools/src/CombineHarvester_Datacards.cc index 83a1f70df38..4a201bec90d 100644 --- a/CombineTools/src/CombineHarvester_Datacards.cc +++ b/CombineTools/src/CombineHarvester_Datacards.cc @@ -611,17 +611,16 @@ void CombineHarvester::FillHistMappings(std::vector & mappings) { data_ws_map[d] = iter.second.get(); } RooArgSet vars = iter.second->allPdfs(); - auto v = vars.createIterator(); - do { - RooAbsReal *y = dynamic_cast(**v); + for (RooAbsArg *v : vars) { + RooRealVar *y = dynamic_cast(v); + if (y) pdf_ws_map[iter.second->pdf(y->GetName())] = iter.second.get(); - } while (v->Next()); + } RooArgSet fvars = iter.second->allFunctions(); - auto fv = fvars.createIterator(); - do { - RooAbsReal *y = dynamic_cast(**fv); + for (RooAbsArg *fv : fvars) { + RooAbsReal *y = dynamic_cast(fv); if (y) pdf_ws_map[iter.second->function(y->GetName())] = iter.second.get(); - } while (fv->Next()); + } } // For writing TH1s we will hard code a set of patterns for each bin @@ -874,9 +873,7 @@ void CombineHarvester::WriteDatacard(std::string const& name, norm_par_list.add(ParametersByName(proc->norm(), &tmp_set)); } } - RooFIter par_list_it = par_list.fwdIterator(); - RooAbsArg *par_list_var = nullptr; - while ((par_list_var = par_list_it.next())) { + for (RooAbsArg *par_list_var : par_list) { if (dynamic_cast(par_list_var)) { all_dependents_pars.insert(par_list_var->GetName()); } @@ -889,11 +886,10 @@ void CombineHarvester::WriteDatacard(std::string const& name, proc->pdf()->InheritsFrom("RooMultiPdf")) { multipdf_cats.insert(par_list_var->GetName()); } - } + +} if (proc->norm()) { - RooFIter nm_list_it = norm_par_list.fwdIterator(); - RooAbsArg *nm_list_var = nullptr; - while ((nm_list_var = nm_list_it.next())) { + for (RooAbsArg *nm_list_var: norm_par_list) { if (dynamic_cast(nm_list_var)) { all_dependents_pars.insert(nm_list_var->GetName()); } @@ -1275,9 +1271,8 @@ void CombineHarvester::WriteDatacard(std::string const& name, if (wspaces_.count("_rateParams")) { RooWorkspace *rp_ws = wspaces_.at("_rateParams").get(); RooArgSet vars = rp_ws->allVars(); - auto v = vars.createIterator(); - do { - RooRealVar *y = dynamic_cast(**v); + for (RooAbsArg *v : vars) { + RooRealVar *y = dynamic_cast(v); if (y && y->getAttribute("extArg") && all_fn_param_args.count(std::string(y->GetName()))) { if (!params_.count(y->GetName()) && y->getStringAttribute("wspSource")) { std::vector tokens; @@ -1302,11 +1297,10 @@ void CombineHarvester::WriteDatacard(std::string const& name, } - } while (v->Next()); + } RooArgSet funcs = rp_ws->allFunctions(); - v = funcs.createIterator(); - do { - RooAbsReal *y = dynamic_cast(**v); + for (RooAbsArg *v : funcs){ + RooAbsReal *y = dynamic_cast(v); if (y && y->getAttribute("extArg") && y->getStringAttribute("wspSource") && all_fn_param_args.count(std::string(y->GetName()))) { txt_file << format("%-" + sys_str_short + "s %-10s %-20s\n") % @@ -1314,19 +1308,16 @@ void CombineHarvester::WriteDatacard(std::string const& name, continue; } - } while (v->Next()); + } } std::set ws_vars; for (auto iter : wspaces_) { RooArgSet vars = iter.second->allVars(); - auto v = vars.createIterator(); - do { - RooRealVar *y = dynamic_cast(**v); - if (y) { - ws_vars.insert(y->GetName()); - } - } while (v->Next()); + for (RooAbsArg *v : vars) { + RooRealVar *y = dynamic_cast(v); + if (y) ws_vars.insert(y->GetName()); + } } // How to check for params we need to write: From 6839582188281a769e442a2d80ace1b07cff65de Mon Sep 17 00:00:00 2001 From: Aliya Nigamova Date: Tue, 11 Jun 2024 11:10:56 +0200 Subject: [PATCH 2/4] replace static cast --- CombineTools/src/CombineHarvester.cc | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/CombineTools/src/CombineHarvester.cc b/CombineTools/src/CombineHarvester.cc index 919a6c12eda..db6d9f47b22 100644 --- a/CombineTools/src/CombineHarvester.cc +++ b/CombineTools/src/CombineHarvester.cc @@ -130,24 +130,24 @@ CombineHarvester CombineHarvester::deep() { for (Int_t i=0; i(o_pdf[i]); - RooAbsReal* n_pdf_ptr = static_cast(n_pdf[i]); + RooAbsReal* o_pdf_ptr = dynamic_cast(o_pdf[i]); + RooAbsReal* n_pdf_ptr = dynamic_cast(n_pdf[i]); if (o_pdf_ptr && n_pdf_ptr) pdf_map[o_pdf_ptr] = n_pdf_ptr; } Int_t nVar = o_var.getSize(); for (Int_t i=0; i(o_var[i]); - RooRealVar *n_var_ptr = static_cast(n_var[i]); + RooRealVar *o_var_ptr = dynamic_cast(o_var[i]); + RooRealVar *n_var_ptr = dynamic_cast(n_var[i]); if (o_var_ptr && n_var_ptr) var_map[o_var_ptr] = n_var_ptr; } Int_t nFun = o_fun.getSize(); for (Int_t i=0; i(o_fun[i]); - RooAbsReal* n_fun_ptr = static_cast(n_fun[i]); + RooAbsReal* o_fun_ptr = dynamic_cast(o_fun[i]); + RooAbsReal* n_fun_ptr = dynamic_cast(n_fun[i]); if (o_fun_ptr && n_fun_ptr) fun_map[o_fun_ptr] = n_fun_ptr; } From 005890b2c73e1b9f539c7f6482806650c504f186 Mon Sep 17 00:00:00 2001 From: Aliya Nigamova Date: Tue, 11 Jun 2024 11:22:49 +0200 Subject: [PATCH 3/4] remove space --- CombineTools/interface/TFileIO.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CombineTools/interface/TFileIO.h b/CombineTools/interface/TFileIO.h index dd070c1cd45..f24fec06b80 100644 --- a/CombineTools/interface/TFileIO.h +++ b/CombineTools/interface/TFileIO.h @@ -43,7 +43,7 @@ void ch::WriteToTFile(T * ptr, TFile* file, std::string const& path) { gDirectory->cd(as_vec[i].c_str()); } if (!gDirectory->FindKey(as_vec.back().c_str())) { - ptr->SetName(as_vec.back().c_str()); + ptr->SetName(as_vec.back().c_str()); gDirectory->WriteTObject(ptr, as_vec.back().c_str()); } gDirectory->cd("/"); From a70451a7d3d0d2c788c0e3152204be36532309d7 Mon Sep 17 00:00:00 2001 From: Aliya Nigamova Date: Wed, 19 Jun 2024 10:44:22 +0200 Subject: [PATCH 4/4] src/CombineHarvester_Datacards.cc --- CombineTools/src/CombineHarvester_Datacards.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CombineTools/src/CombineHarvester_Datacards.cc b/CombineTools/src/CombineHarvester_Datacards.cc index 4a201bec90d..769add272fb 100644 --- a/CombineTools/src/CombineHarvester_Datacards.cc +++ b/CombineTools/src/CombineHarvester_Datacards.cc @@ -612,7 +612,7 @@ void CombineHarvester::FillHistMappings(std::vector & mappings) { } RooArgSet vars = iter.second->allPdfs(); for (RooAbsArg *v : vars) { - RooRealVar *y = dynamic_cast(v); + RooAbsPdf *y = dynamic_cast(v); if (y) pdf_ws_map[iter.second->pdf(y->GetName())] = iter.second.get(); }