42 for (
auto p : fHistoryData) {
49 if (!fHistoryMap.count(Property))
51 fHistoryMap[Property]=fHistoryData.size();
53 fHistoryData.push_back(data);
55 int iHistory=fHistoryMap.at(Property);
57 fHistoryData.at(iHistory)->push_back({stage,value});
63 for (
const auto &element : fHistoryMap ) {
64 TString property = element.first;
65 Int_t iHistory = element.second;
66 Int_t nBins=fHistoryData.at(iHistory)->size();
67 Double_t xMin=fHistoryData.at(iHistory)->front().first;
68 Double_t xMax=fHistoryData.at(iHistory)->back().first;
70 TH1D*
h=
new TH1D(
"TrainingHistory_"+Name+
"_"+property,
"TrainingHistory_"+Name+
"_"+property,nBins,xMin-0.5*BinSize,xMax+0.5*BinSize);
71 for (
int i=0; i<nBins; i++) {
72 h->AddBinContent(i+1,fHistoryData.at(iHistory)->at(i).second);
1-D histogram with a double per channel (see TH1 documentation)}
void AddValue(TString Property, Int_t stage, Double_t value)
std::vector< std::pair< Int_t, Double_t > > IterationRecord
virtual ~TrainingHistory()
void SaveHistory(TString Name)
TrainingHistory()
constructor