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
40namespace 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
#define ClassDef(name, id)
Definition: Rtypes.h:335
This PDEFoam variant stores in every cell the sum of event weights and the sum of the squared event w...
Definition: PDEFoamEvent.h:39
This PDEFoam variant is used to estimate multiple targets by creating an event density foam (PDEFoamE...
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.
ETargetSelection fTargetSelection
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.
virtual std::vector< Float_t > GetCellValue(const std::map< Int_t, Float_t > &, ECellValue)
This function is overridden from PDFEFoam.
PDEFoamMultiTarget()
Default constructor for streamer, user should not use it.
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:1017
ECellValue
Definition: PDEFoam.h:69
Basic string class.
Definition: TString.h:136
create variable transformations