1 #ifndef PhysicsTools_MVAComputer_MVAComputer_h
2 #define PhysicsTools_MVAComputer_MVAComputer_h
24 namespace PhysicsTools {
51 template<
typename Iterator_t>
54 template<
typename Iterator_t>
55 double deriv(Iterator_t first, Iterator_t last)
const;
58 template<
typename Container_t>
61 typedef typename Container_t::const_iterator Iterator_t;
62 return this->
template eval<Iterator_t>(
63 values.begin(), values.end());
66 template<
typename Container_t>
69 typedef typename Container_t::iterator Iterator_t;
70 return this->
template deriv<Iterator_t>(
71 values.begin(), values.end());
122 unsigned int nOutput) :
123 processor(processor), nOutput(nOutput) {}
140 values_(values), conf_(conf), n_(n) {}
144 unsigned int offset,
unsigned int out)
const
145 { proc->
eval(values_, conf_, output, outConf, loop, offset); }
148 {
return values_[conf_[
output]]; }
150 inline double *
values()
const {
return values_; }
151 inline int *
conf()
const {
return conf_; }
152 inline unsigned int n()
const {
return n_; }
164 unsigned int offset,
unsigned int out)
const;
167 std::vector<double> &derivs)
const;
169 inline double *
values()
const {
return &values_.front(); }
170 inline int *
conf()
const {
return &conf_.front(); }
171 inline unsigned int n()
const {
return n_; }
201 std::auto_ptr<Calibration::MVAComputer>
owned;
206 #include "PhysicsTools/MVAComputer/interface/MVAComputer.icc"
208 #endif // PhysicsTools_MVAComputer_MVAComputer_h
nocap nocap const skelname & operator=(const skelname &)
TrainProcessor *const proc
EvalContext(double *values, int *conf, unsigned int n)
std::vector< double > deriv_
MVATrainerComputer * calib
bool operator<(const FedChannelConnection &, const FedChannelConnection &)
double output(unsigned int output) const
unsigned int offset(bool)
std::vector< double > values_
void eval(const VarProcessor *proc, int *outConf, double *output, int *loop, unsigned int offset, unsigned int out) const