File indexing completed on 2025-01-30 10:23:05
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028 #ifndef ROOT_TMVA_VariableDecorrTransform
0029 #define ROOT_TMVA_VariableDecorrTransform
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039 #include "TMatrixDfwd.h"
0040
0041 #include "TMatrixDSymfwd.h"
0042
0043 #include "TMVA/VariableTransformBase.h"
0044
0045 #include <vector>
0046
0047 namespace TMVA {
0048
0049 class VariableDecorrTransform : public VariableTransformBase {
0050
0051 public:
0052
0053 VariableDecorrTransform( DataSetInfo& dsi );
0054 virtual ~VariableDecorrTransform( void );
0055
0056 void Initialize();
0057 Bool_t PrepareTransformation (const std::vector<Event*>&);
0058
0059
0060 virtual const Event* Transform(const Event* const, Int_t cls ) const;
0061 virtual const Event* InverseTransform(const Event* const, Int_t cls ) const;
0062
0063 void WriteTransformationToStream ( std::ostream& ) const;
0064 void ReadTransformationFromStream( std::istream&, const TString& );
0065
0066 virtual void AttachXMLTo(void* parent);
0067 virtual void ReadFromXML( void* trfnode );
0068
0069 virtual void PrintTransformation( std::ostream & o );
0070
0071
0072 virtual void MakeFunction( std::ostream& fout, const TString& fncName, Int_t part, UInt_t trCounter, Int_t cls );
0073
0074
0075 std::vector<TString>* GetTransformationStrings( Int_t cls ) const;
0076
0077 private:
0078
0079
0080 std::vector<TMatrixD*> fDecorrMatrices;
0081
0082 void CalcSQRMats( const std::vector< Event*>&, Int_t maxCls );
0083 std::vector<TMatrixDSym*>* CalcCovarianceMatrices( const std::vector<const Event*>& events, Int_t maxCls );
0084
0085 ClassDef(VariableDecorrTransform,0);
0086 };
0087
0088 }
0089
0090 #endif
0091