52 TMVA::Results::Results(
const DataSetInfo* dsi, TString resultsName )
53 : fTreeType(Types::kTraining),
55 fStorage( new TList() ),
56 fHistAlias( new std::map<TString, TObject*> ),
57 fLogger( new MsgLogger(Form(
"Results%s",resultsName.Data()), kINFO) )
62 TMVA::Results::Results( )
63 : fTreeType(Types::kTraining),
65 fStorage( new TList() ),
66 fHistAlias( new std::map<TString, TObject*> ),
67 fLogger( new MsgLogger(
"Results", kINFO))
76 TMVA::Results::~Results()
86 void TMVA::Results::Store( TObject* obj,
const char* alias )
88 TListIter l(fStorage);
90 while (
void* p = (
void*)l()) {
92 *fLogger << kFATAL <<
"Histogram pointer " << p <<
" already exists in results storage" << Endl;
95 TString as(obj->GetName());
96 if (alias!=0) as=TString(alias);
97 if (fHistAlias->find(as) != fHistAlias->end()) {
99 *fLogger << kFATAL <<
"Alias " << as <<
" already exists in results storage" << Endl;
101 if( obj->InheritsFrom(TH1::Class()) ) {
102 ((TH1*)obj)->SetDirectory(0);
104 fStorage->Add( obj );
105 fHistAlias->insert(std::pair<TString, TObject*>(as,obj));
112 TObject* TMVA::Results::GetObject(
const TString & alias)
const
114 std::map<TString, TObject*>::iterator it = fHistAlias->find(alias);
116 if (it != fHistAlias->end())
return it->second;
127 Bool_t TMVA::Results::DoesExist(
const TString & alias)
const
129 TObject* test = GetObject(alias);
131 return (test !=
nullptr);
136 TH1* TMVA::Results::GetHist(
const TString & alias)
const
138 TH1* out=
dynamic_cast<TH1*
>(GetObject(alias));
139 if (!out) Log() <<kWARNING <<
"You have asked for histogram " << alias <<
" which does not seem to exist in *Results* .. better don't use it " << Endl;
145 TH2* TMVA::Results::GetHist2D(
const TString & alias)
const
147 TH2* out=
dynamic_cast<TH2*
>(GetObject(alias));
148 if (!out) Log() <<kWARNING <<
"You have asked for 2D histogram " << alias <<
" which does not seem to exist in *Results* .. better don't use it " << Endl;
153 TGraph* TMVA::Results::GetGraph(
const TString & alias)
const
155 return (TGraph*)GetObject(alias);
162 void TMVA::Results::Delete(Option_t *)