Logo ROOT   6.08/07
Reference Guide
ROCCurve.h
Go to the documentation of this file.
1 // @(#)root/tmva $Id$
2 // Author: Omar Zapata, Lorenzo Moneta, Sergei Gleyzer
3 
4 /**********************************************************************************
5  * Project: TMVA - a Root-integrated toolkit for multivariate data analysis *
6  * Package: TMVA *
7  * Class : ROCCurve *
8  * *
9  * Description: *
10  * This is class to compute ROC Integral (AUC) *
11  * *
12  * Authors : *
13  * Omar Zapata <Omar.Zapata@cern.ch> - UdeA/ITM Colombia *
14  * Lorenzo Moneta <Lorenzo.Moneta@cern.ch> - CERN, Switzerland *
15  * Sergei Gleyzer <Sergei.Gleyzer@cern.ch> - U of Florida & CERN *
16  * *
17  * Copyright (c) 2015: *
18  * CERN, Switzerland *
19  * UdeA/ITM, Colombia *
20  * U. of Florida, USA *
21  **********************************************************************************/
22 #ifndef ROOT_TMVA_ROCCurve
23 #define ROOT_TMVA_ROCCurve
24 
25 #include "Rtypes.h"
26 
27 #include <iomanip>
28 #include <iostream>
29 #include <sstream>
30 #include <vector>
31 
32 class TList;
33 class TTree;
34 class TString;
35 class TH1;
36 class TH2;
37 class TH2F;
38 class TSpline;
39 class TSpline1;
40 class TGraph;
41 
42 namespace TMVA {
43 
44  class MsgLogger;
45 
46 
47  class ROCCurve {
48 
49  public:
50  ROCCurve( const std::vector<Float_t> & mvaS, const std::vector<Bool_t> & mvat);
51 
52  ~ROCCurve();
53 
54 
56  TGraph* GetROCCurve(const UInt_t points=100);//nvidisions = #points -1
57 
58  private:
59  void EpsilonCount();
60  mutable MsgLogger* fLogger; //! message logger
61  MsgLogger& Log() const { return *fLogger; }
63  std::vector<Float_t> fMvaS;
64  std::vector<Float_t> fMvaB;
65  std::vector<Float_t> fEpsilonSig;
66  std::vector<Float_t> fEpsilonBgk;
67 
68  };
69 }
70 #endif
MsgLogger * fLogger
Definition: ROCCurve.h:60
ROCCurve(const std::vector< Float_t > &mvaS, const std::vector< Bool_t > &mvat)
Definition: ROCCurve.cxx:48
TGraph * fGraph
Definition: ROCCurve.h:62
Base class for spline implementation containing the Draw/Paint methods //.
Definition: TSpline.h:22
void EpsilonCount()
~ROCCurve()
destructor
Definition: ROCCurve.cxx:64
Basic string class.
Definition: TString.h:137
std::vector< Float_t > fEpsilonSig
Definition: ROCCurve.h:65
std::vector< Float_t > fMvaB
Definition: ROCCurve.h:64
A doubly linked list.
Definition: TList.h:47
point * points
Definition: X3DBuffer.c:20
Service class for 2-Dim histogram classes.
Definition: TH2.h:36
Double_t GetROCIntegral()
ROC Integral (AUC)
Definition: ROCCurve.cxx:72
tomato 2-D histogram with a float per channel (see TH1 documentation)}
Definition: TH2.h:255
unsigned int UInt_t
Definition: RtypesCore.h:42
std::vector< Float_t > fMvaS
Definition: ROCCurve.h:63
double Double_t
Definition: RtypesCore.h:55
The TH1 histogram class.
Definition: TH1.h:80
Abstract ClassifierFactory template that handles arbitrary types.
TGraph * GetROCCurve(const UInt_t points=100)
Definition: ROCCurve.cxx:120
A Graph is a graphics object made of two arrays X and Y with npoints each.
Definition: TGraph.h:53
A TTree object has a header with a name and a title.
Definition: TTree.h:98
MsgLogger & Log() const
message logger
Definition: ROCCurve.h:61
std::vector< Float_t > fEpsilonBgk
Definition: ROCCurve.h:66