25 #include "PhysicsTools/MVAComputer/interface/ProcessRegistry.icc"
35 "PhysicsToolsMVAComputer");
37 namespace PhysicsTools {
44 nInputVars(inputVars.
bits())
68 if (ctx != config.
ctx) {
73 if (config.
loop && !ctx)
75 else if (!config.
loop && ctx)
82 for(std::vector<Variable::Flags>::const_iterator iter = flags.begin();
83 iter != flags.end(); ++iter)
113 <<
"Caught exception when building processor: "
114 << name <<
" message: " << std::endl
115 << e.
what() << std::endl;
124 unsigned int in,
unsigned int out_,
125 std::vector<double> &
deriv)
const
134 unsigned int size = 0;
136 size += (iter++).
size();
137 bool empty = matrix.empty();
138 assert(size != 0 || empty);
139 unsigned int out = empty ? 0 : (matrix.size() /
size);
141 if (matrix.size() != out * size ||
142 (out > 1 && (int)out != outConf[out_] - outConf[0]))
144 <<
"Derivative matrix implausible size in "
145 <<
typeid(*this).name() <<
"."
149 if (!matrix.empty()) {
153 for(
unsigned int i = 0;
i <
out;
i++) {
154 for(
unsigned int j = 0;
j <
size;
j++)
158 std::cout <<
"----------------" << std::endl;
161 std::cout <<
"======= in = " << in <<
", size = " << size
162 <<
", out = " << out <<
", matrix = " << matrix.size()
166 unsigned int sz = (outConf[out_] -
in) * in;
167 unsigned int oldSz = deriv.size();
171 double *
begin = &deriv.front() + (outConf[0] - in +
offset) * in;
172 double *
end = begin + out *
in;
173 if (begin < &deriv.front() + oldSz)
179 double *m0 = &matrix.front();
185 int *curConf = conf + cur();
186 unsigned int pos = *curConf;
188 std::cout <<
" -> cur = " << cur() <<
", pos = "
191 if (loop && curConf >= loop) {
196 unsigned int n = loop ? (curConf[1] - curConf[0]) : 1;
197 for(
unsigned int j = 0;
j <
n; m0++,
j++, pos++) {
199 std::cout <<
" multip " << j << std::endl;
207 const double *
q = &deriv.front() +
209 for(
const double *
m = m0; p <
end;
211 for(
unsigned int k = 0;
k <
in;
k++)
217 for(
const double *
m = m0; p <
end;
225 std::cout <<
"================" << std::endl;
226 for(
const double *
p = &deriv.front();
227 p != &deriv.front() + deriv.size();) {
228 for(
unsigned int j = 0;
j <
in;
j++)
232 std::cout <<
"================" << std::endl;
virtual char const * what() const
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision bits
std::vector< Variable::Flags > flags
std::string demangledName(const std::type_info &typeInfo)
edmplugin::PluginFactory< PhysicsTools::VarProcessor::PluginFunctionPrototype > VPPluginFactory
MVATrainerComputer * calib
unsigned int offset(bool)
#define EDM_REGISTER_PLUGINFACTORY(_factory_, _category_)
std::string typeDemangle(char const *mangledName)
tuple size
Write out results.
T get(const Candidate &c)