Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-30 10:22:50

0001 // @(#)root/tmva $Id$
0002 // Author: Andreas Hoecker, Joerg Stelzer, Helge Voss
0003 
0004 /**********************************************************************************
0005  * Project: TMVA - a Root-integrated toolkit for multivariate data analysis       *
0006  * Package: TMVA                                                                  *
0007  * Class  : ClassInfo                                                             *
0008  *                                             *
0009  *                                                                                *
0010  * Description:                                                                   *
0011  *      Contains all the data information                                         *
0012  *                                                                                *
0013  * Authors (alphabetical):                                                        *
0014  *      Andreas Hoecker <Andreas.Hocker@cern.ch> - CERN, Switzerland              *
0015  *      Peter Speckmayer <Peter.Speckmayer@cern.ch>  - CERN, Switzerland          *
0016  *      Joerg Stelzer   <Joerg.Stelzer@cern.ch>  - CERN, Switzerland              *
0017  *      Helge Voss      <Helge.Voss@cern.ch>     - MPI-K Heidelberg, Germany      *
0018  *                                                                                *
0019  * Copyright (c) 2006:                                                            *
0020  *      CERN, Switzerland                                                         *
0021  *      U. of Victoria, Canada                                                    *
0022  *      MPI-K Heidelberg, Germany                                                 *
0023  *                                                                                *
0024  * Redistribution and use in source and binary forms, with or without             *
0025  * modification, are permitted according to the terms listed in LICENSE           *
0026  * (see tmva/doc/LICENSE)                                          *
0027  **********************************************************************************/
0028 
0029 #ifndef ROOT_TMVA_ClassInfo
0030 #define ROOT_TMVA_ClassInfo
0031 
0032 //////////////////////////////////////////////////////////////////////////
0033 //                                                                      //
0034 // ClassInfo                                                            //
0035 //                                                                      //
0036 // Class that contains all the information of a class                   //
0037 //                                                                      //
0038 //////////////////////////////////////////////////////////////////////////
0039 
0040 #include "Rtypes.h"
0041 #include "TString.h"
0042 #include "TCut.h"
0043 #include "TMatrixDfwd.h"
0044 
0045 namespace TMVA {
0046 
0047    class MsgLogger;
0048 
0049    class ClassInfo :public TNamed{
0050 
0051    public:
0052 
0053       ClassInfo( const TString& name = "default" );
0054       ~ClassInfo();
0055 
0056       // setters
0057       void               SetWeight( const TString& weight ) { fWeight = weight; }
0058       void               SetCut   ( const TCut&    cut    ) { fCut = cut; }
0059       void               SetNumber( const UInt_t   index  ) { fNumber = index; }
0060       void               SetCorrelationMatrix( TMatrixD *matrix ) { fCorrMatrix = matrix; }
0061 
0062       // getters
0063       const TString&     GetWeight()            const { return fWeight; }
0064       const TCut&        GetCut()               const { return fCut; }
0065       UInt_t             GetNumber()            const { return fNumber; }
0066       const TMatrixD*    GetCorrelationMatrix() const { return fCorrMatrix; }
0067 
0068    private:
0069 
0070       TString            fWeight;           ///< the input formula string that is the weight for the class
0071       TCut               fCut;              ///< pre-training cut for the class
0072       UInt_t             fNumber;           ///< index in of this class in vectors
0073 
0074       TMatrixD*          fCorrMatrix;       ///< Correlation matrix for this class
0075 
0076       mutable MsgLogger* fLogger;           ///<! message logger
0077       MsgLogger& Log() const { return *fLogger; }
0078    public:
0079 
0080        ClassDef(ClassInfo,1);
0081 
0082    };
0083 }
0084 
0085 #endif