73 , fTargetSelection(
kMean)
100 , fTargetSelection(ts)
111 Log() <<
kFATAL <<
"COPY CONSTRUCTOR NOT IMPLEMENTED" <<
Endl;
134 std::map<Int_t, Float_t> txvec;
135 for (std::map<Int_t, Float_t>::const_iterator it = xvec.begin();
136 it != xvec.end(); ++it) {
137 Float_t coordinate = it->second;
138 Int_t dim = it->first;
141 if (coordinate <=
fXmin[dim])
143 else if (coordinate >=
fXmax[dim])
146 txvec.insert(std::pair<Int_t, Float_t>(dim,
VarTransform(dim, coordinate)));
150 std::map<Int_t, Float_t> target;
153 std::vector<PDEFoamCell*> cells =
FindCells(txvec);
157 return std::vector<Float_t>(
GetTotDim() - xvec.size(), 0);
163 if (txvec.find(idim) == txvec.end())
164 target.insert(std::pair<Int_t, Float_t>(idim, 0));
175 Log() <<
"<PDEFoamMultiTarget::GetCellValue>: " 176 <<
"unknown target selection type!" <<
Endl;
181 std::vector<Float_t>
result;
182 result.reserve(target.size());
183 for (std::map<Int_t, Float_t>::const_iterator it = target.begin();
184 it != target.end(); ++it)
185 result.push_back(it->second);
209 for (std::vector<PDEFoamCell*>::const_iterator cell_it = cells.begin();
210 cell_it != cells.end(); ++cell_it) {
216 if (cell_density > max_dens) {
219 (*cell_it)->GetHcub(cellPosi, cellSize);
222 max_dens = cell_density;
225 for (std::map<Int_t, Float_t>::iterator target_it = target.begin();
226 target_it != target.end(); ++target_it) {
227 const Int_t dim = target_it->first;
252 std::map<Int_t, Float_t>
norm;
255 for (std::vector<PDEFoamCell*>::const_iterator cell_it = cells.begin();
256 cell_it != cells.end(); ++cell_it) {
263 (*cell_it)->GetHcub(cellPosi, cellSize);
266 for (std::map<Int_t, Float_t>::iterator target_it = target.begin();
267 target_it != target.end(); ++target_it) {
268 const Int_t dim = target_it->first;
269 target_it->second += cell_density *
271 norm[dim] += cell_density;
276 for (std::map<Int_t, Float_t>::iterator target_it = target.begin();
277 target_it != target.end(); ++target_it) {
280 const Int_t dim = target_it->first;
284 target[dim] /= norm[dim];
MsgLogger & Endl(MsgLogger &ml)
Float_t VarTransform(Int_t idim, Float_t x) const
std::vector< TMVA::PDEFoamCell * > FindCells(const std::vector< Float_t > &) const
Find all cells, that contain txvec.
ETargetSelection fTargetSelection
virtual void CalculateMpv(std::map< Int_t, Float_t > &, const std::vector< PDEFoamCell *> &)
PDEFoamMultiTarget()
Default constructor for streamer, user should not use it.
Float_t VarTransformInvers(Int_t idim, Float_t x) const
virtual void CalculateMean(std::map< Int_t, Float_t > &, const std::vector< PDEFoamCell *> &)
Abstract ClassifierFactory template that handles arbitrary types.
virtual std::vector< Float_t > GetCellValue(const std::map< Int_t, Float_t > &, ECellValue)
This function is overridden from PDFEFoam.
double norm(double *x, double *p)