ATLAS Offline Software
Loading...
Searching...
No Matches
KLFitterEnums.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
7
8#ifndef KLFITTERANALYSISALGORITHMS_KLFITTERENUMS_H_
9#define KLFITTERANALYSISALGORITHMS_KLFITTERENUMS_H_
10
11#include <map>
12#include <sstream>
13
14#include "KLFitter/LikelihoodBase.h"
15
16namespace EventReco {
17namespace KLFEnums {
28
44
45inline const std::map<std::string, LeptonType> strToLeptonType{
46 {"kNoLepton", LeptonType::kNoLepton},
47 {"kElectron", LeptonType::kElectron},
48 {"kMuon", LeptonType::kMuon},
49 {"kTriElectron", LeptonType::kTriElectron},
50 {"kTriMuon", LeptonType::kTriMuon}};
51
52inline const std::map<std::string, Likelihood> strToLikelihood{
53 {"ttbar", Likelihood::ttbar},
54 {"ttbar_AllHad", Likelihood::ttbar_AllHad},
55 {"ttbar_JetAngles", Likelihood::ttbar_JetAngles},
56 {"ttbar_Angular", Likelihood::ttbar_Angular},
57 {"ttbar_BoostedLJets", Likelihood::ttbar_BoostedLJets},
58 {"ttH", Likelihood::ttH},
59 {"ttZTrilepton", Likelihood::ttZTrilepton}};
60
61inline const std::map<std::string, JetSelectionMode> strToJetSelection{
62 {"kLeadingThree", JetSelectionMode::kLeadingThree},
63 {"kLeadingFour", JetSelectionMode::kLeadingFour},
64 {"kLeadingFive", JetSelectionMode::kLeadingFive},
65 {"kLeadingSix", JetSelectionMode::kLeadingSix},
66 {"kLeadingSeven", JetSelectionMode::kLeadingSeven},
67 {"kLeadingEight", JetSelectionMode::kLeadingEight},
68 {"kBtagPriorityThreeJets", JetSelectionMode::kBtagPriorityThreeJets},
69 {"kBtagPriorityFourJets", JetSelectionMode::kBtagPriorityFourJets},
70 {"kBtagPriorityFiveJets", JetSelectionMode::kBtagPriorityFiveJets},
71 {"kBtagPrioritySixJets", JetSelectionMode::kBtagPrioritySixJets},
72 {"kBtagPrioritySevenJets", JetSelectionMode::kBtagPrioritySevenJets},
73 {"kBtagPriorityEightJets", JetSelectionMode::kBtagPriorityEightJets}};
74
75using KLFitter::LikelihoodBase;
76inline const std::map<std::string, LikelihoodBase::BtaggingMethod>
78 {"kNotag", LikelihoodBase::BtaggingMethod::kNotag},
79 {"kVetoNoFit", LikelihoodBase::BtaggingMethod::kVetoNoFit},
80 {"kVetoNoFitLight", LikelihoodBase::BtaggingMethod::kVetoNoFitLight},
81 {"kVetoNoFitBoth", LikelihoodBase::BtaggingMethod::kVetoNoFitBoth},
82 {"kVetoHybridNoFit", LikelihoodBase::BtaggingMethod::kVetoHybridNoFit},
83 {"kWorkingPoint", LikelihoodBase::BtaggingMethod::kWorkingPoint},
84 {"kVeto", LikelihoodBase::BtaggingMethod::kVeto},
85 {"kVetoLight", LikelihoodBase::BtaggingMethod::kVetoLight},
86 {"kVetoBoth", LikelihoodBase::BtaggingMethod::kVetoBoth}};
87
101
102template <class T>
103std::string printEnumOptions(const std::map<std::string, T>& availOpts) {
104 std::stringstream sstream;
105 for (const auto& elem : availOpts) {
106 sstream << elem.first << " ";
107 }
108 return sstream.str();
109}
110} // namespace KLFEnums
111} // namespace EventReco
112
113#endif
std::string printEnumOptions(const std::map< std::string, T > &availOpts)
const std::map< std::string, LeptonType > strToLeptonType
const std::map< std::string, Likelihood > strToLikelihood
const std::map< std::string, JetSelectionMode > strToJetSelection
const std::map< std::string, LikelihoodBase::BtaggingMethod > strToBtagMethod
const std::map< JetSelectionMode, size_t > jetSelToNumber