1 #ifndef __RAT_Classifier__
2 #define __RAT_Classifier__
16 Classifier(std::string _name =
"", std::string _tag =
"") : TObject(), classifier_name(_name), tag(_tag) {}
20 virtual const std::string &GetClassifierName()
const {
return classifier_name; }
21 virtual void SetClassifierName(
const std::string &_name) { classifier_name = _name; }
22 virtual const std::string &GetTag()
const {
return tag; }
23 virtual void SetTag(
const std::string &_tag) { tag = _tag; }
24 virtual const std::string GetFullName()
const {
25 if (tag.empty())
return classifier_name;
26 return classifier_name +
"__" + tag;
29 static std::string GetClassifierNameFromFullName(
const std::string &full_name) {
30 size_t sep = full_name.find(
"__");
31 if (sep != std::string::npos) {
32 return full_name.substr(0, sep);
38 virtual void SetClassificationResult(
const std::string &name,
double val) { classificationResults[name] = val; }
39 virtual double GetClassificationResult(
const std::string &name) {
40 if (classificationResults.find(name) == classificationResults.end()) {
43 return classificationResults.at(name);
47 std::map<std::string, double> classificationResults;
52 std::string classifier_name;
Definition: Classifier.hh:14
Definition: CCCrossSecMessenger.hh:29