This file is indexed.

/usr/include/root/TMVA/ResultsMulticlass.h is in libroot-tmva-dev 5.34.14-1build1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
// @(#)root/tmva $Id$
// Author: Andreas Hoecker, Peter Speckmayer, Joerg Stelzer, Helge Voss, Jan Therhaag

/**********************************************************************************
 * Project: TMVA - a Root-integrated toolkit for multivariate data analysis       *
 * Package: TMVA                                                                  *
 * Class  : ResultsMulticlass                                                     *
 * Web    : http://tmva.sourceforge.net                                           *
 *                                                                                *
 * Description:                                                                   *
 *      Base-class for result-vectors                                             *
 *                                                                                *
 * Authors (alphabetical):                                                        *
 *      Andreas Hoecker <Andreas.Hocker@cern.ch> - CERN, Switzerland              *
 *      Peter Speckmayer <Peter.Speckmayer@cern.ch>  - CERN, Switzerland          *
 *      Joerg Stelzer   <Joerg.Stelzer@cern.ch>  - CERN, Switzerland              *
 *      Jan Therhaag       <Jan.Therhaag@cern.ch>     - U of Bonn, Germany        *
 *      Helge Voss      <Helge.Voss@cern.ch>     - MPI-K Heidelberg, Germany      *
 *                                                                                *
 * Copyright (c) 2005-2011:                                                       *
 *      CERN, Switzerland                                                         *
 *      U. of Victoria, Canada                                                    *
 *      MPI-K Heidelberg, Germany                                                 *
 *      U. of Bonn, Germany                                                       *
 *                                                                                *
 * Redistribution and use in source and binary forms, with or without             *
 * modification, are permitted according to the terms listed in LICENSE           *
 * (http://tmva.sourceforge.net/LICENSE)                                          *
 **********************************************************************************/

#ifndef ROOT_TMVA_ResultsMulticlass
#define ROOT_TMVA_ResultsMulticlass

//////////////////////////////////////////////////////////////////////////
//                                                                      //
// ResultsMulticlass                                                    //
//                                                                      //
// Class which takes the results of a multiclass classification         //
//                                                                      //
//////////////////////////////////////////////////////////////////////////

#include <vector>

#ifndef ROOT_TH1F
#include "TH1F.h"
#endif
#ifndef ROOT_TH2F
#include "TH2F.h"
#endif

#ifndef ROOT_TMVA_Results
#include "TMVA/Results.h"
#endif
#ifndef ROOT_TMVA_Event
#include "TMVA/Event.h"
#endif
#ifndef ROOT_IFitterTarget
#include "IFitterTarget.h"
#endif

namespace TMVA {

   class MsgLogger;
   
   class ResultsMulticlass : public Results, public IFitterTarget {

   public:

      ResultsMulticlass( const DataSetInfo* dsi, TString resultsName  );
      ~ResultsMulticlass();

      // setters
      void     SetValue( std::vector<Float_t>& value, Int_t ievt );
      void     Resize( Int_t entries )  { fMultiClassValues.resize( entries ); }
      void     Clear()                  { fMultiClassValues.clear(); }

      // getters
      Long64_t GetSize() const        { return fMultiClassValues.size(); }
      virtual const std::vector< Float_t >&  operator[] ( Int_t ievt ) const { return fMultiClassValues.at(ievt); }
      std::vector<std::vector< Float_t> >* GetValueVector()  { return &fMultiClassValues; }

      Types::EAnalysisType  GetAnalysisType() { return Types::kMulticlass; }
      Float_t GetAchievableEff(UInt_t cls){return fAchievableEff.at(cls);}
      Float_t GetAchievablePur(UInt_t cls){return fAchievablePur.at(cls);}
      std::vector<Float_t>& GetAchievableEff(){return fAchievableEff;}
      std::vector<Float_t>& GetAchievablePur(){return fAchievablePur;}
      // histogramming
      void     CreateMulticlassHistos( TString prefix, Int_t nbins, Int_t nbins_high);

      Double_t EstimatorFunction( std::vector<Double_t> & );
      std::vector<Double_t> GetBestMultiClassCuts(UInt_t targetClass);

   private:

      mutable std::vector<std::vector< Float_t> >  fMultiClassValues;        //! mva values (Results)
      mutable MsgLogger* fLogger;                     //! message logger
      MsgLogger& Log() const { return *fLogger; }
      UInt_t fClassToOptimize;
      std::vector<Float_t> fAchievableEff;
      std::vector<Float_t> fAchievablePur;
      std::vector<std::vector<Double_t> > fBestCuts;
   }; 

}

#endif