65 #ifndef IClassifierReader__def
66 #define IClassifierReader__def
77 virtual double GetMvaValue(
const std::vector<double>& inputValues )
const = 0;
94 ReadCuts( std::vector<std::string>& theInputVars )
100 const char* inputVars[] = {
"max(track_1_IP,track_2_IP)",
"max(abs(track_1_IP_xy),abs(track_2_IP_xy))",
"track_1_track_2_DCA",
"INTT_meanHits" };
103 if (theInputVars.size() <= 0) {
104 std::cout <<
"Problem in class \"" <<
fClassName <<
"\": empty input vector" << std::endl;
108 if (theInputVars.size() !=
fNvars) {
109 std::cout <<
"Problem in class \"" <<
fClassName <<
"\": mismatch in number of input values: "
110 << theInputVars.size() <<
" != " <<
fNvars << std::endl;
115 for (
size_t ivar = 0; ivar < theInputVars.size(); ivar++) {
116 if (theInputVars[ivar] != inputVars[ivar]) {
117 std::cout <<
"Problem in class \"" <<
fClassName <<
"\": mismatch in input variable names" << std::endl
118 <<
" for variable [" << ivar <<
"]: " << theInputVars[ivar].c_str() <<
" != " << inputVars[ivar] << std::endl;
152 double GetMvaValue(
const std::vector<double>& inputValues )
const override;
171 return 2*(x -
xmin)/(xmax - xmin) - 1.0;
179 double GetMvaValue__(
const std::vector<double>& inputValues )
const;
191 std::cout <<
"Problem in class \"" <<
fClassName <<
"\": cannot return classifier response"
192 <<
" because status is dirty" << std::endl;