89 #ifndef IClassifierReader__def
90 #define IClassifierReader__def
101 virtual double GetMvaValue(
const std::vector<double>& inputValues )
const = 0;
124 const char* inputVars[] = {
"track_deta",
"track_dlayer",
"track_layer",
"track_pT",
"approach_dist",
"vtx_radius",
"vtx_chi2",
"vtxTrackRZ_dist",
"photon_pT",
"cluster_prob" };
127 if (theInputVars.size() <= 0) {
128 std::cout <<
"Problem in class \"" <<
fClassName <<
"\": empty input vector" << std::endl;
132 if (theInputVars.size() !=
fNvars) {
133 std::cout <<
"Problem in class \"" <<
fClassName <<
"\": mismatch in number of input values: "
134 << theInputVars.size() <<
" != " <<
fNvars << std::endl;
139 for (
size_t ivar = 0; ivar < theInputVars.size(); ivar++) {
140 if (theInputVars[ivar] != inputVars[ivar]) {
141 std::cout <<
"Problem in class \"" <<
fClassName <<
"\": mismatch in input variable names" << std::endl
142 <<
" for variable [" << ivar <<
"]: " << theInputVars[ivar].c_str() <<
" != " << inputVars[ivar] << std::endl;
194 double GetMvaValue(
const std::vector<double>& inputValues )
const override;
213 return 2*(x -
xmin)/(xmax - xmin) - 1.0;
221 double GetMvaValue__(
const std::vector<double>& inputValues )
const;
233 std::cout <<
"Problem in class \"" <<
fClassName <<
"\": cannot return classifier response"
234 <<
" because status is dirty" << std::endl;