31 #ifndef ROOT_TMVA_TransformationHandler
32 #define ROOT_TMVA_TransformationHandler
52 class VariableTransformBase;
55 class TransformationHandler {
65 TransformationHandler( DataSetInfo&,
const TString& callerName );
66 ~TransformationHandler();
68 TString GetName()
const;
69 TString GetVariableAxisTitle(
const VariableInfo& info )
const;
71 const Event* Transform(
const Event*)
const;
72 const Event* InverseTransform(
const Event*, Bool_t suppressIfNoTargets=
true )
const;
75 void SetTransformationReferenceClass( Int_t cls );
77 VariableTransformBase* AddTransformation(VariableTransformBase*, Int_t cls );
78 const TList& GetTransformationList()
const {
return fTransformations; }
79 Int_t GetNumOfTransformations()
const {
return fTransformations.GetSize(); }
80 const std::vector<Event*>* CalcTransformations(
const std::vector<Event*>&, Bool_t createNewVector = kFALSE );
82 void CalcStats(
const std::vector<Event*>& events );
83 void AddStats ( Int_t k, UInt_t ivar, Double_t mean, Double_t rms, Double_t min, Double_t max );
84 Double_t GetMean ( Int_t ivar, Int_t cls = -1 )
const;
85 Double_t GetRMS ( Int_t ivar, Int_t cls = -1 )
const;
86 Double_t GetMin ( Int_t ivar, Int_t cls = -1 )
const;
87 Double_t GetMax ( Int_t ivar, Int_t cls = -1 )
const;
89 void WriteToStream ( std::ostream& o )
const;
90 void AddXMLTo (
void* parent=0 )
const;
91 void ReadFromStream( std::istream& istr );
92 void ReadFromXML (
void* trfsnode );
95 void MakeFunction(std::ostream& fout,
const TString& fncName, Int_t part)
const;
98 void PrintVariableRanking()
const;
101 std::vector<TString>* GetTransformationStringsOfLastTransform()
const;
102 const char* GetNameOfLastTransform()
const;
105 void SetCallerName(
const TString& name );
106 const TString& GetCallerName()
const {
return fCallerName; }
109 TDirectory* GetRootDir()
const {
return fRootBaseDir; }
110 void SetRootDir( TDirectory *d ) { fRootBaseDir = d; }
112 void PlotVariables(
const std::vector<Event*>& events, TDirectory* theDirectory = 0 );
121 const TMVA::VariableInfo& Variable(UInt_t ivar)
const {
return fDataSetInfo.GetVariableInfos().at(ivar); }
122 const TMVA::VariableInfo& Target (UInt_t itgt)
const {
return fDataSetInfo.GetTargetInfos()[itgt]; }
124 DataSet* Data() {
return fDataSetInfo.GetDataSet(); }
126 DataSetInfo& fDataSetInfo;
127 TList fTransformations;
128 std::vector< Int_t > fTransformationsReferenceClasses;
129 std::vector<std::vector<TMVA::TransformationHandler::VariableStat> > fVariableStats;
133 std::vector<Ranking*> fRanking;
134 TDirectory* fRootBaseDir;
136 mutable MsgLogger* fLogger;
137 MsgLogger& Log()
const {
return *fLogger; }