Logo ROOT  
Reference Guide
PDEFoamMultiTarget.h
Go to the documentation of this file.
1 // @(#)root/tmva $Id$
2 // Author: Tancredi Carli, Dominik Dannheim, Alexander Voigt
3 
4 /**********************************************************************************
5  * Project: TMVA - a Root-integrated toolkit for multivariate data analysis *
6  * Package: TMVA *
7  * Classes: PDEFoamMultiTarget *
8  * Web : http://tmva.sourceforge.net *
9  * *
10  * Description: *
11  * Concrete PDEFoamEvent sub-class. This foam stores the number *
12  * of events with every cell, as well as the statistical error on *
13  * the event number. It overrides GetCellValue() for projecting *
14  * the target values given an incomplete event map with *
15  * N_variables < dimension of foam. *
16  * *
17  * Authors (alphabetical): *
18  * S. Jadach - Institute of Nuclear Physics, Cracow, Poland *
19  * Tancredi Carli - CERN, Switzerland *
20  * Dominik Dannheim - CERN, Switzerland *
21  * Alexander Voigt - TU Dresden, Germany *
22  * *
23  * Copyright (c) 2008, 2010: *
24  * CERN, Switzerland *
25  * MPI-K Heidelberg, Germany *
26  * *
27  * Redistribution and use in source and binary forms, with or without *
28  * modification, are permitted according to the terms listed in LICENSE *
29  * (http://tmva.sourceforge.net/LICENSE) *
30  **********************************************************************************/
31 
32 #ifndef ROOT_TMVA_PDEFoamMultiTarget
33 #define ROOT_TMVA_PDEFoamMultiTarget
34 
35 #include "TMVA/PDEFoamEvent.h"
36 
37 #include <vector>
38 #include <map>
39 
40 namespace TMVA
41 {
42 
43  // target selection method
44  enum ETargetSelection { kMean = 0, kMpv = 1 };
45 
47  {
48 
49  protected:
50  ETargetSelection fTargetSelection; // the target selection method
51 
52  PDEFoamMultiTarget(const PDEFoamMultiTarget&); // Copy Constructor NOT USED
53  virtual void CalculateMpv(std::map<Int_t, Float_t>&, const std::vector<PDEFoamCell*>&); // Calculate mpv target
54  virtual void CalculateMean(std::map<Int_t, Float_t>&, const std::vector<PDEFoamCell*>&); // Calculate mean target
55 
56  // ---------- Public functions ----------------------------------
57  public:
58  PDEFoamMultiTarget(); // Default constructor (used only by ROOT streamer)
59  PDEFoamMultiTarget(const TString&, ETargetSelection); // Principal user-defined constructor
60  virtual ~PDEFoamMultiTarget() {} // Default destructor
61 
62  // overridden from PDEFoam: extract the targets from the foam
63  virtual std::vector<Float_t> GetCellValue(const std::map<Int_t, Float_t>&, ECellValue);
65 
66  // ---------- ROOT class definition
67  ClassDef(PDEFoamMultiTarget, 1) // Tree of PDEFoamCells
68  }; // end of PDEFoamMultiTarget
69 
70 } // namespace TMVA
71 
72 // ---------- Inline functions
73 
74 #endif
TMVA::PDEFoamMultiTarget::~PDEFoamMultiTarget
virtual ~PDEFoamMultiTarget()
Definition: PDEFoamMultiTarget.h:60
TMVA::PDEFoamMultiTarget::CalculateMean
virtual void CalculateMean(std::map< Int_t, Float_t > &, const std::vector< PDEFoamCell * > &)
This function calculates the mean target value from a given number of cells.
Definition: PDEFoamMultiTarget.cxx:248
TMVA::PDEFoam::GetCellValue
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 'xvec' and re...
Definition: PDEFoam.cxx:1016
TString
Basic string class.
Definition: TString.h:136
TMVA::PDEFoamMultiTarget::CalculateMpv
virtual void CalculateMpv(std::map< Int_t, Float_t > &, const std::vector< PDEFoamCell * > &)
This function calculates the most probable target value from a given number of cells.
Definition: PDEFoamMultiTarget.cxx:202
TMVA::PDEFoamMultiTarget::GetCellValue
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 'xvec' and re...
Definition: PDEFoam.cxx:1016
TMVA::PDEFoamEvent
This PDEFoam variant stores in every cell the sum of event weights and the sum of the squared event w...
Definition: PDEFoamEvent.h:39
PDEFoamEvent.h
TMVA::PDEFoamMultiTarget::fTargetSelection
ETargetSelection fTargetSelection
Definition: PDEFoamMultiTarget.h:50
TMVA::PDEFoamMultiTarget::PDEFoamMultiTarget
PDEFoamMultiTarget()
Default constructor for streamer, user should not use it.
Definition: PDEFoamMultiTarget.cxx:68
ClassDef
#define ClassDef(name, id)
Definition: Rtypes.h:325
TMVA
create variable transformations
Definition: GeneticMinimizer.h:22
TMVA::PDEFoamMultiTarget
This PDEFoam variant is used to estimate multiple targets by creating an event density foam (PDEFoamE...
Definition: PDEFoamMultiTarget.h:47