Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
ResultsRegression.h
Go to the documentation of this file.
1 // @(#)root/tmva $Id$
2 // Author: Andreas Hoecker, Peter Speckmayer, Joerg Stelzer, Helge Voss
3 
4 /**********************************************************************************
5  * Project: TMVA - a Root-integrated toolkit for multivariate data analysis *
6  * Package: TMVA *
7  * Class : ResultsRegression *
8  * Web : http://tmva.sourceforge.net *
9  * *
10  * Description: *
11  * Base-class for result-vectors *
12  * *
13  * Authors (alphabetical): *
14  * Andreas Hoecker <Andreas.Hocker@cern.ch> - CERN, Switzerland *
15  * Peter Speckmayer <Peter.Speckmayer@cern.ch> - CERN, Switzerland *
16  * Joerg Stelzer <Joerg.Stelzer@cern.ch> - CERN, Switzerland *
17  * Helge Voss <Helge.Voss@cern.ch> - MPI-K Heidelberg, Germany *
18  * *
19  * Copyright (c) 2006: *
20  * CERN, Switzerland *
21  * U. of Victoria, Canada *
22  * MPI-K Heidelberg, Germany *
23  * *
24  * Redistribution and use in source and binary forms, with or without *
25  * modification, are permitted according to the terms listed in LICENSE *
26  * (http://tmva.sourceforge.net/LICENSE) *
27  **********************************************************************************/
28 
29 #ifndef ROOT_TMVA_ResultsRegression
30 #define ROOT_TMVA_ResultsRegression
31 
32 //////////////////////////////////////////////////////////////////////////
33 // //
34 // ResultsRegression //
35 // //
36 // Class that is the base-class for a vector of result //
37 // //
38 //////////////////////////////////////////////////////////////////////////
39 
40 #include <vector>
41 
42 #include "TH1F.h"
43 #include "TH2F.h"
44 
45 #include "TMVA/Results.h"
46 #include "TMVA/Event.h"
47 
48 namespace TMVA {
49 
50  class MsgLogger;
51 
52  class ResultsRegression : public Results {
53 
54  public:
55 
56  ResultsRegression( const DataSetInfo* dsi, TString resultsName );
57  ~ResultsRegression();
58 
59  // setters
60  void SetValue( std::vector<Float_t>& value, Int_t ievt );
61  void Resize( Int_t entries ) { fRegValues.resize( entries ); }
62 
63  using TObject::Clear;
64  virtual void Clear(Option_t *) { fRegValues.clear(); }
65 
66  // getters
67  Long64_t GetSize() const { return fRegValues.size(); }
68  virtual const std::vector< Float_t >& operator [] ( Int_t ievt ) const { return fRegValues.at(ievt); }
69  std::vector<std::vector< Float_t> >* GetValueVector() { return &fRegValues; }
70 
71  TH2F* DeviationAsAFunctionOf( UInt_t varNum, UInt_t tgtNum );
72  TH1F* QuadraticDeviation( UInt_t tgtNum, Bool_t truncate = false, Double_t truncvalue = 0. );
73  void CreateDeviationHistograms( TString prefix );
74 
75  Types::EAnalysisType GetAnalysisType() { return Types::kRegression; }
76 
77 
78  private:
79 
80  mutable std::vector<std::vector< Float_t> > fRegValues; // mva values (Results)
81  mutable MsgLogger* fLogger; //! message logger
82  MsgLogger& Log() const { return *fLogger; }
83  protected:
84 
85  ClassDef(ResultsRegression,2);
86 
87  };
88 }
89 
90 #endif