diff --git a/Trigger/TrigConfiguration/TrigConfData/TrigConfData/L1ThrExtraInfo.h b/Trigger/TrigConfiguration/TrigConfData/TrigConfData/L1ThrExtraInfo.h index c20ee80a1c6575ec386442a8df484730e5c11d7f..f2620eef8010ca93845b73612014d1d8e5bab3d2 100644 --- a/Trigger/TrigConfiguration/TrigConfData/TrigConfData/L1ThrExtraInfo.h +++ b/Trigger/TrigConfiguration/TrigConfData/TrigConfData/L1ThrExtraInfo.h @@ -469,27 +469,27 @@ namespace TrigConf { if(eta_range==2) return m_ptMinToTopoMeV2; throw std::runtime_error("L1ThrExtraInfo: Eta range " + std::to_string(eta_range) + " not valid for gLJ ptMinToTopo"); } - float seedThr(const std::string& fpga) const { return seedThrMeV(fpga)/ 1000.0; } - unsigned int seedThrCounts(const std::string& fpga) const { return energyInCounts(seedThrMeV(fpga), resolutionMeV()); } - unsigned int seedThrMeV(const std::string& fpga) const { - if(fpga=="A") return m_seedThrMeVA; - if(fpga=="B") return m_seedThrMeVB; - if(fpga=="C") return m_seedThrMeVC; - throw std::runtime_error("L1ThrExtraInfo: FPGA " + fpga + " not recongnised for gLJ seedThr"); + float seedThr(const char fpga) const { return seedThrMeV(fpga)/ 1000.0; } + unsigned int seedThrCounts(const char fpga) const { return energyInCounts(seedThrMeV(fpga), resolutionMeV()); } + unsigned int seedThrMeV(const char fpga) const { + if(fpga=='A') return m_seedThrMeVA; + if(fpga=='B') return m_seedThrMeVB; + if(fpga=='C') return m_seedThrMeVC; + throw std::runtime_error(std::string("L1ThrExtraInfo: FPGA ") + fpga + " not recongnised for gLJ seedThr"); } - float rhoTowerMin(const std::string& fpga) const { return rhoTowerMinMeV(fpga)/ 1000.0; } - int rhoTowerMinMeV(const std::string& fpga) const { - if(fpga=="A") return m_rhoTowerMinMeVA; - if(fpga=="B") return m_rhoTowerMinMeVB; - if(fpga=="C") return m_rhoTowerMinMeVC; - throw std::runtime_error("L1ThrExtraInfo: FPGA " + fpga + " not recongnised for gLJ rhoTowerMin"); + float rhoTowerMin(const char fpga) const { return rhoTowerMinMeV(fpga)/ 1000.0; } + int rhoTowerMinMeV(const char fpga) const { + if(fpga=='A') return m_rhoTowerMinMeVA; + if(fpga=='B') return m_rhoTowerMinMeVB; + if(fpga=='C') return m_rhoTowerMinMeVC; + throw std::runtime_error(std::string("L1ThrExtraInfo: FPGA ") + fpga + " not recongnised for gLJ rhoTowerMin"); } - float rhoTowerMax(const std::string& fpga) const { return rhoTowerMaxMeV(fpga)/ 1000.0; } - int rhoTowerMaxMeV(const std::string& fpga) const { - if(fpga=="A") return m_rhoTowerMaxMeVA; - if(fpga=="B") return m_rhoTowerMaxMeVB; - if(fpga=="C") return m_rhoTowerMaxMeVC; - throw std::runtime_error("L1ThrExtraInfo: FPGA " + fpga + " not recongnised for gLJ rhoTowerMax"); + float rhoTowerMax(const char fpga) const { return rhoTowerMaxMeV(fpga)/ 1000.0; } + int rhoTowerMaxMeV(const char fpga) const { + if(fpga=='A') return m_rhoTowerMaxMeVA; + if(fpga=='B') return m_rhoTowerMaxMeVB; + if(fpga=='C') return m_rhoTowerMaxMeVC; + throw std::runtime_error(std::string("L1ThrExtraInfo: FPGA ") + fpga + " not recongnised for gLJ rhoTowerMax"); } private: /** Update the internal members */ @@ -556,34 +556,34 @@ namespace TrigConf { L1ThrExtraInfoBase(thrTypeName, data) { load(); } virtual ~L1ThrExtraInfo_gXE() = default; virtual std::string className() const { return "L1ThrExtraInfo_gXE"; } - float seedThr(const std::string& fpga) const { return seedThrMeV(fpga)/ 1000.0; } - unsigned int seedThrCounts(const std::string& fpga) const { return energyInCounts(seedThrMeV(fpga), resolutionMeV()); } - unsigned int seedThrMeV(const std::string& fpga) const { - if(fpga=="A") return m_seedThrMeVA; - if(fpga=="B") return m_seedThrMeVB; - if(fpga=="C") return m_seedThrMeVC; - throw std::runtime_error("L1ThrExtraInfo: FPGA " + fpga + " not recongnised for gXE seedThr"); + float seedThr(const char fpga) const { return seedThrMeV(fpga)/ 1000.0; } + unsigned int seedThrCounts(const char fpga) const { return energyInCounts(seedThrMeV(fpga), resolutionMeV()); } + unsigned int seedThrMeV(const char fpga) const { + if(fpga=='A') return m_seedThrMeVA; + if(fpga=='B') return m_seedThrMeVB; + if(fpga=='C') return m_seedThrMeVC; + throw std::runtime_error(std::string("L1ThrExtraInfo: FPGA ") + fpga + " not recongnised for gXE seedThr"); } - unsigned int XERHO_param(const std::string& fpga, const std::string& sigma) const { - if(fpga=="A" && sigma=="pos") return m_XERHO_sigmaPosA; - if(fpga=="B" && sigma=="pos") return m_XERHO_sigmaPosB; - if(fpga=="C" && sigma=="pos") return m_XERHO_sigmaPosC; - if(fpga=="A" && sigma=="neg") return m_XERHO_sigmaNegA; - if(fpga=="B" && sigma=="neg") return m_XERHO_sigmaNegB; - if(fpga=="C" && sigma=="neg") return m_XERHO_sigmaNegC; - throw std::runtime_error("L1ThrExtraInfo: " + fpga + " and " + sigma + " not recongnised for gXE XERHO_param"); + unsigned int XERHO_param(const char fpga, const bool sigmapos) const { + if(fpga=='A' && sigmapos==true) return m_XERHO_sigmaPosA; + if(fpga=='B' && sigmapos==true) return m_XERHO_sigmaPosB; + if(fpga=='C' && sigmapos==true) return m_XERHO_sigmaPosC; + if(fpga=='A' && sigmapos==false) return m_XERHO_sigmaNegA; + if(fpga=='B' && sigmapos==false) return m_XERHO_sigmaNegB; + if(fpga=='C' && sigmapos==false) return m_XERHO_sigmaNegC; + throw std::runtime_error(std::string("L1ThrExtraInfo: ") + fpga + " and " + (sigmapos ? "pos" : "neg") + " not recongnised for gXE XERHO_param"); } - unsigned int JWOJ_param(const std::string& fpga, const std::string& param) const { - if(fpga=="A" && param=="a") return m_XEJWOJ_a_A; - if(fpga=="B" && param=="a") return m_XEJWOJ_a_B; - if(fpga=="C" && param=="a") return m_XEJWOJ_a_C; - if(fpga=="A" && param=="b") return m_XEJWOJ_b_A; - if(fpga=="B" && param=="b") return m_XEJWOJ_b_B; - if(fpga=="C" && param=="b") return m_XEJWOJ_b_C; - if(fpga=="A" && param=="c") return m_XEJWOJ_c_A; - if(fpga=="B" && param=="c") return m_XEJWOJ_c_B; - if(fpga=="C" && param=="c") return m_XEJWOJ_c_C; - throw std::runtime_error("L1ThrExtraInfo: " + fpga + " and " + param + " not recongnised for gXE JWOJ_param"); + unsigned int JWOJ_param(const char fpga, const char param) const { + if(fpga=='A' && param=='a') return m_XEJWOJ_a_A; + if(fpga=='B' && param=='a') return m_XEJWOJ_a_B; + if(fpga=='C' && param=='a') return m_XEJWOJ_a_C; + if(fpga=='A' && param=='b') return m_XEJWOJ_b_A; + if(fpga=='B' && param=='b') return m_XEJWOJ_b_B; + if(fpga=='C' && param=='b') return m_XEJWOJ_b_C; + if(fpga=='A' && param=='c') return m_XEJWOJ_c_A; + if(fpga=='B' && param=='c') return m_XEJWOJ_c_B; + if(fpga=='C' && param=='c') return m_XEJWOJ_c_C; + throw std::runtime_error(std::string("L1ThrExtraInfo: ") + fpga + " and " + param + " not recongnised for gXE JWOJ_param"); } private: /** Update the internal members */ diff --git a/Trigger/TrigConfiguration/TrigConfIO/src/JsonFileWriterL1.cxx b/Trigger/TrigConfiguration/TrigConfIO/src/JsonFileWriterL1.cxx index df8b472bf185dc45f5a708f54a416b3e77466df8..89a258743aaab35ffd73dd3d6a1fbca82ba5ef3f 100644 --- a/Trigger/TrigConfiguration/TrigConfIO/src/JsonFileWriterL1.cxx +++ b/Trigger/TrigConfiguration/TrigConfIO/src/JsonFileWriterL1.cxx @@ -577,31 +577,31 @@ TrigConf::JsonFileWriterL1::writeJsonFile(const std::string & filename, const L1 auto & gljinfo = l1menu.thrExtraInfo().gLJ(); jThrType["ptMinToTopo1"] = (int)gljinfo.ptMinToTopo(1); jThrType["ptMinToTopo2"] = (int)gljinfo.ptMinToTopo(2); - jThrType["seedThrA"] = (int)gljinfo.seedThr("A"); - jThrType["seedThrB"] = (int)gljinfo.seedThr("B"); - jThrType["seedThrC"] = (int)gljinfo.seedThr("C"); + jThrType["seedThrA"] = (int)gljinfo.seedThr('A'); + jThrType["seedThrB"] = (int)gljinfo.seedThr('B'); + jThrType["seedThrC"] = (int)gljinfo.seedThr('C'); std::stringstream stream; - stream << std::fixed << std::setprecision(3) << gljinfo.rhoTowerMin("A"); + stream << std::fixed << std::setprecision(3) << gljinfo.rhoTowerMin('A'); jThrType["rhoTowerMinA"] = std::stod(stream.str()); stream.str(""); stream.clear(); - stream << std::fixed << std::setprecision(3) << gljinfo.rhoTowerMin("B"); + stream << std::fixed << std::setprecision(3) << gljinfo.rhoTowerMin('B'); jThrType["rhoTowerMinB"] = std::stod(stream.str()); stream.str(""); stream.clear(); - stream << std::fixed << std::setprecision(3) << gljinfo.rhoTowerMin("C"); + stream << std::fixed << std::setprecision(3) << gljinfo.rhoTowerMin('C'); jThrType["rhoTowerMinC"] = std::stod(stream.str()); stream.str(""); stream.clear(); - stream << std::fixed << std::setprecision(3) << gljinfo.rhoTowerMax("A"); + stream << std::fixed << std::setprecision(3) << gljinfo.rhoTowerMax('A'); jThrType["rhoTowerMaxA"] = std::stod(stream.str()); stream.str(""); stream.clear(); - stream << std::fixed << std::setprecision(3) << gljinfo.rhoTowerMax("B"); + stream << std::fixed << std::setprecision(3) << gljinfo.rhoTowerMax('B'); jThrType["rhoTowerMaxB"] = std::stod(stream.str()); stream.str(""); stream.clear(); - stream << std::fixed << std::setprecision(3) << gljinfo.rhoTowerMax("C"); + stream << std::fixed << std::setprecision(3) << gljinfo.rhoTowerMax('C'); jThrType["rhoTowerMaxC"] = std::stod(stream.str()); } @@ -621,24 +621,24 @@ TrigConf::JsonFileWriterL1::writeJsonFile(const std::string & filename, const L1 if(thrType == "gXE") { auto & ei = l1menu.thrExtraInfo().gXE(); - jThrType["seedThrA"] = (int)ei.seedThr("A"); - jThrType["seedThrB"] = (int)ei.seedThr("B"); - jThrType["seedThrC"] = (int)ei.seedThr("C"); - jThrType["XERHO_sigmaPosA"] = ei.XERHO_param("A","pos"); - jThrType["XERHO_sigmaPosB"] = ei.XERHO_param("B","pos"); - jThrType["XERHO_sigmaPosC"] = ei.XERHO_param("C","pos"); - jThrType["XERHO_sigmaNegA"] = ei.XERHO_param("A","neg"); - jThrType["XERHO_sigmaNegB"] = ei.XERHO_param("B","neg"); - jThrType["XERHO_sigmaNegC"] = ei.XERHO_param("C","neg"); - jThrType["XEJWOJ_a_A"] = ei.JWOJ_param("A","a"); - jThrType["XEJWOJ_a_B"] = ei.JWOJ_param("B","a"); - jThrType["XEJWOJ_a_C"] = ei.JWOJ_param("C","a"); - jThrType["XEJWOJ_b_A"] = ei.JWOJ_param("A","b"); - jThrType["XEJWOJ_b_B"] = ei.JWOJ_param("B","b"); - jThrType["XEJWOJ_b_C"] = ei.JWOJ_param("C","b"); - jThrType["XEJWOJ_c_A"] = ei.JWOJ_param("A","c"); - jThrType["XEJWOJ_c_B"] = ei.JWOJ_param("B","c"); - jThrType["XEJWOJ_c_C"] = ei.JWOJ_param("C","c"); + jThrType["seedThrA"] = (int)ei.seedThr('A'); + jThrType["seedThrB"] = (int)ei.seedThr('B'); + jThrType["seedThrC"] = (int)ei.seedThr('C'); + jThrType["XERHO_sigmaPosA"] = ei.XERHO_param('A',true); + jThrType["XERHO_sigmaPosB"] = ei.XERHO_param('B',true); + jThrType["XERHO_sigmaPosC"] = ei.XERHO_param('C',true); + jThrType["XERHO_sigmaNegA"] = ei.XERHO_param('A',false); + jThrType["XERHO_sigmaNegB"] = ei.XERHO_param('B',false); + jThrType["XERHO_sigmaNegC"] = ei.XERHO_param('C',false); + jThrType["XEJWOJ_a_A"] = ei.JWOJ_param('A','a'); + jThrType["XEJWOJ_a_B"] = ei.JWOJ_param('B','a'); + jThrType["XEJWOJ_a_C"] = ei.JWOJ_param('C','a'); + jThrType["XEJWOJ_b_A"] = ei.JWOJ_param('A','b'); + jThrType["XEJWOJ_b_B"] = ei.JWOJ_param('B','b'); + jThrType["XEJWOJ_b_C"] = ei.JWOJ_param('C','b'); + jThrType["XEJWOJ_c_A"] = ei.JWOJ_param('A','c'); + jThrType["XEJWOJ_c_B"] = ei.JWOJ_param('B','c'); + jThrType["XEJWOJ_c_C"] = ei.JWOJ_param('C','c'); } if(thrType == "gTE") { diff --git a/Trigger/TrigConfiguration/TrigConfIO/utils/TestTriggerMenuAccess.cxx b/Trigger/TrigConfiguration/TrigConfIO/utils/TestTriggerMenuAccess.cxx index cb892306c47e8935d15095a3ebdba8c8f62b4381..fe1b4eaadbfaaacd281fae452dc489c5b97d3536 100644 --- a/Trigger/TrigConfiguration/TrigConfIO/utils/TestTriggerMenuAccess.cxx +++ b/Trigger/TrigConfiguration/TrigConfIO/utils/TestTriggerMenuAccess.cxx @@ -473,24 +473,24 @@ testL1Menu_Extrainfo(const TrigConf::L1Menu & l1menu) cout << " ptMinToTopo (eta range "<<std::to_string(1)<<") in GeV " << ex.ptMinToTopo(1) << endl; cout << " ptMinToTopo (MeV) " << ex.ptMinToTopoMeV(1) << endl; cout << " ptMinToTopo (counts) " << ex.ptMinToTopoCounts(1) << endl; - cout << " seedThr(A) " << ex.seedThr("A") << endl; - cout << " seedThr(A) (MeV) " << ex.seedThrMeV("A") << endl; - cout << " rhoTowerMin(B) " << ex.rhoTowerMin("B") << endl; - cout << " rhoTowerMin(B) (MeV) " << ex.rhoTowerMinMeV("B") << endl; - cout << " rhoTowerMax(C) " << ex.rhoTowerMax("C") << endl; - cout << " rhoTowerMax(C) (MeV) " << ex.rhoTowerMaxMeV("C") << endl; + cout << " seedThr(A) " << ex.seedThr('A') << endl; + cout << " seedThr(A) (MeV) " << ex.seedThrMeV('A') << endl; + cout << " rhoTowerMin(B) " << ex.rhoTowerMin('B') << endl; + cout << " rhoTowerMin(B) (MeV) " << ex.rhoTowerMinMeV('B') << endl; + cout << " rhoTowerMax(C) " << ex.rhoTowerMax('C') << endl; + cout << " rhoTowerMax(C) (MeV) " << ex.rhoTowerMaxMeV('C') << endl; } { auto & ex = l1menu.thrExtraInfo().gXE(); cout << " gXE" << endl; cout << " energy resolution (MeV) " << ex.resolutionMeV() << endl; - cout << " seedThr(A) " << ex.seedThr("A") << endl; - cout << " seedThr(A) (MeV) " << ex.seedThrMeV("A") << endl; - cout << " XERHO_sigmaPosA " << ex.XERHO_param("A","pos") << endl; - cout << " XERHO_sigmaNegB " << ex.XERHO_param("B","neg") << endl; - cout << " XEJWOJ_a_C " << ex.JWOJ_param("C","a") << endl; - cout << " XEJWOJ_b_B " << ex.JWOJ_param("B","b") << endl; - cout << " XEJWOJ_c_A " << ex.JWOJ_param("A","c") << endl; + cout << " seedThr(A) " << ex.seedThr('A') << endl; + cout << " seedThr(A) (MeV) " << ex.seedThrMeV('A') << endl; + cout << " XERHO_sigmaPosA " << ex.XERHO_param('A',true) << endl; + cout << " XERHO_sigmaNegB " << ex.XERHO_param('B',false) << endl; + cout << " XEJWOJ_a_C " << ex.JWOJ_param('C','a') << endl; + cout << " XEJWOJ_b_B " << ex.JWOJ_param('B','b') << endl; + cout << " XEJWOJ_c_A " << ex.JWOJ_param('A','c') << endl; } { auto & ex = l1menu.thrExtraInfo().eTAU();