24 #include "PhysicsTools/MVAComputer/interface/ProcessRegistry.icc"
34 "PhysicsToolsMVAComputer");
36 namespace PhysicsTools {
43 nInputVars(inputVars.
bits())
67 if (ctx != config.
ctx) {
72 if (config.
loop && !ctx)
74 else if (!config.
loop && ctx)
81 for(std::vector<Variable::Flags>::const_iterator
iter = flags.begin();
112 <<
"Caught exception when building processor: "
113 << name <<
" message: " << std::endl
114 << e.
what() << std::endl;
123 unsigned int in,
unsigned int out_,
124 std::vector<double> &
deriv)
const
133 unsigned int size = 0;
136 bool empty = matrix.empty();
137 assert(size != 0 || empty);
138 unsigned int out = empty ? 0 : (matrix.size() /
size);
140 if (matrix.size() != out * size ||
141 (out > 1 && (int)out != outConf[out_] - outConf[0]))
143 <<
"Derivative matrix implausible size in "
144 <<
typeid(*this).name() <<
"."
148 if (!matrix.empty()) {
152 for(
unsigned int i = 0;
i <
out;
i++) {
153 for(
unsigned int j = 0;
j <
size;
j++)
157 std::cout <<
"----------------" << std::endl;
160 std::cout <<
"======= in = " << in <<
", size = " << size
161 <<
", out = " << out <<
", matrix = " << matrix.size()
165 unsigned int sz = (outConf[out_] -
in) * in;
166 unsigned int oldSz = deriv.size();
170 double *
begin = &deriv.front() + (outConf[0] - in +
offset) * in;
171 double *
end = begin + out *
in;
172 if (begin < &deriv.front() + oldSz)
178 double *m0 = &matrix.front();
184 int *curConf = conf + cur();
185 unsigned int pos = *curConf;
187 std::cout <<
" -> cur = " << cur() <<
", pos = "
190 if (loop && curConf >= loop) {
195 unsigned int n = loop ? (curConf[1] - curConf[0]) : 1;
196 for(
unsigned int j = 0;
j <
n; m0++,
j++, pos++) {
198 std::cout <<
" multip " << j << std::endl;
206 const double *
q = &deriv.front() +
208 for(
const double *
m = m0; p <
end;
210 for(
unsigned int k = 0;
k <
in;
k++)
216 for(
const double *
m = m0; p <
end;
224 std::cout <<
"================" << std::endl;
225 for(
const double *
p = &deriv.front();
226 p != &deriv.front() + deriv.size();) {
227 for(
unsigned int j = 0;
j <
in;
j++)
231 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
static std::string const input
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)