Logo ROOT   6.08/07
Reference Guide
PDEFoamKernelTrivial.cxx
Go to the documentation of this file.
1 // @(#)root/tmva $Id$
2 // Author: Dominik Dannheim, Alexander Voigt
3 
4 /**********************************************************************************
5  * Project: TMVA - a Root-integrated toolkit for multivariate data analysis *
6  * Package: TMVA *
7  * Classes: PDEFoamKernelTrivial *
8  * Web : http://tmva.sourceforge.net *
9  * *
10  * Description: *
11  * Implementation of trivial PDEFoam kernel *
12  * *
13  * Authors (alphabetical): *
14  * S. Jadach - Institute of Nuclear Physics, Cracow, Poland *
15  * Tancredi Carli - CERN, Switzerland *
16  * Dominik Dannheim - CERN, Switzerland *
17  * Alexander Voigt - TU Dresden, Germany *
18  * *
19  * Copyright (c) 2010: *
20  * CERN, Switzerland *
21  * MPI-K Heidelberg, Germany *
22  * *
23  * Redistribution and use in source and binary forms, with or without *
24  * modification, are permitted according to the terms listed in LICENSE *
25  * (http://tmva.sourceforge.net/LICENSE) *
26  **********************************************************************************/
27 
28 //_____________________________________________________________________
29 //
30 // PDEFoamKernelTrivial
31 //
32 // This class is a trivial PDEFoam kernel estimator. The Estimate()
33 // function returns the cell value, given an event 'txvec'.
34 // _____________________________________________________________________
35 
37 
38 #include "TMVA/MsgLogger.h"
39 #include "TMVA/PDEFoam.h"
40 #include "TMVA/PDEFoamKernelBase.h"
41 #include "TMVA/Types.h"
42 
43 #include "Rtypes.h"
44 
45 #include <vector>
46 
48 
49 ////////////////////////////////////////////////////////////////////////////////
50 /// Default constructor for streamer
51 
54 {
55 }
56 
57 ////////////////////////////////////////////////////////////////////////////////
58 /// Copy constructor
59 
61  : PDEFoamKernelBase(other)
62 {
63 }
64 
65 ////////////////////////////////////////////////////////////////////////////////
66 /// Simple kernel estimator. It returns the cell value 'cv',
67 /// corresponding to the event vector 'txvec' (in foam coordinates).
68 ///
69 /// Parameters:
70 ///
71 /// - foam - the pdefoam to search in
72 ///
73 /// - txvec - event vector in foam coordinates [0,1]
74 ///
75 /// - cv - cell value to estimate
76 
77 Float_t TMVA::PDEFoamKernelTrivial::Estimate(PDEFoam *foam, std::vector<Float_t> &txvec, ECellValue cv)
78 {
79  if (foam == NULL)
80  Log() << kFATAL << "<PDEFoamKernelTrivial::Estimate>: PDEFoam not set!" << Endl;
81 
82  return foam->GetCellValue(foam->FindCell(txvec), cv);
83 }
MsgLogger & Endl(MsgLogger &ml)
Definition: MsgLogger.h:162
float Float_t
Definition: RtypesCore.h:53
PDEFoamKernelTrivial()
Default constructor for streamer.
PDEFoamCell * FindCell(const std::vector< Float_t > &) const
Find cell that contains &#39;xvec&#39; (in foam coordinates [0,1]).
Definition: PDEFoam.cxx:1080
MsgLogger & Log() const
virtual Float_t Estimate(PDEFoam *, std::vector< Float_t > &, ECellValue)
Simple kernel estimator.
#define ClassImp(name)
Definition: Rtypes.h:279
ECellValue
Definition: PDEFoam.h:85
virtual Float_t GetCellValue(const std::vector< Float_t > &xvec, ECellValue cv, PDEFoamKernelBase *)
This function finds the cell, which corresponds to the given untransformed event vector &#39;xvec&#39; and re...
Definition: PDEFoam.cxx:1016
Abstract ClassifierFactory template that handles arbitrary types.
#define NULL
Definition: Rtypes.h:82