24 #include "PhysicsTools/MVAComputer/interface/ProcessRegistry.icc" 34 "PhysicsToolsMVAComputer");
42 inputVars(Calibration::
convert(calib->inputVars)),
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();
82 iter != flags.end(); ++iter)
96 const char *
name,
const Calibration::VarProcessor *
calib,
112 <<
"Caught exception when building processor: " 113 << name <<
" message: " << std::endl
114 << 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
def create(alignables, pedeDump, additionalData, outputFile, config)
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
edmplugin::PluginFactory< PhysicsTools::VarProcessor::PluginFunctionPrototype > VPPluginFactory
def convert(infile, ofile)
#define EDM_REGISTER_PLUGINFACTORY(_factory_, _category_)
std::string typeDemangle(char const *mangledName)
T get(const Candidate &c)