29#ifndef ROOT_TMVA_DataSetFactory
30#define ROOT_TMVA_DataSetFactory
58 class DataInputHandler;
83 template<
typename T >
108 template <
typename F>
115 template <
typename F,
typename G,
typename H>
117 typename H::argument_type,
118 typename F::result_type>
129 typename F::result_type
operator()(
const typename G::argument_type& argG,
130 const typename H::argument_type& argH)
const
132 return f(
g(argG),
h(argH));
136 template <
typename F,
typename G,
typename H>
144 template <
typename F,
typename G>
146 typename F::result_type>
156 typename F::result_type
operator()(
const typename G::argument_type& argG)
const
162 template <
typename F,
typename G>
#define ClassDef(name, id)
Float_t cutScaling() const
Int_t nTrainingEventsRequested
Float_t TrainTestSplitRequested
Int_t nTestingEventsRequested
Class that contains all the data information.
~DataSetFactory()
destructor
std::vector< TTreeFormula * > fSpectatorFormulas
std::vector< TTreeFormula * > fWeightFormula
MsgLogger & Log() const
message logger
DataSet * BuildInitialDataSet(DataSetInfo &, TMVA::DataInputHandler &)
if no entries, than create a DataSet with one Event which uses dynamic variables (pointers to variabl...
DataSetFactory()
constructor
std::map< Types::ETreeType, EventVectorOfClasses > EventVectorOfClassesOfTreeType
void ChangeToNewTree(TreeInfo &, const DataSetInfo &)
While the data gets copied into the local training and testing trees, the input tree can change (for ...
std::map< Types::ETreeType, EventVector > EventVectorOfTreeType
Bool_t fScaleWithPreselEff
std::vector< std::pair< TTreeFormula *, Int_t > > fInputTableFormulas
void BuildEventVector(DataSetInfo &dsi, DataInputHandler &dataInput, EventVectorOfClassesOfTreeType &eventsmap, EvtStatsPerClass &eventCounts)
build empty event vectors distributes events between kTraining/kTesting/kMaxTreeType
DataSet * CreateDataSet(DataSetInfo &, DataInputHandler &)
steering the creation of a new dataset
DataSet * MixEvents(DataSetInfo &dsi, EventVectorOfClassesOfTreeType &eventsmap, EvtStatsPerClass &eventCounts, const TString &splitMode, const TString &mixMode, const TString &normMode, UInt_t splitSeed)
Select and distribute unassigned events to kTraining and kTesting.
std::vector< int > NumberPerClass
std::vector< TTreeFormula * > fInputFormulas
std::vector< EventVector > EventVectorOfClasses
void InitOptions(DataSetInfo &dsi, EvtStatsPerClass &eventsmap, TString &normMode, UInt_t &splitSeed, TString &splitMode, TString &mixMode)
the dataset splitting
void CalcMinMax(DataSet *, DataSetInfo &dsi)
compute covariance matrix
std::vector< Double_t > ValuePerClass
DataSet * BuildDynamicDataSet(DataSetInfo &)
std::vector< EventStats > EvtStatsPerClass
std::vector< TTreeFormula * > fTargetFormulas
input variables expression for arrays
Bool_t CheckTTreeFormula(TTreeFormula *ttf, const TString &expression, Bool_t &hasDollar)
checks a TTreeFormula for problems
std::vector< TTreeFormula * > fCutFormulas
void ResetBranchAndEventAddresses(TTree *)
std::map< Types::ETreeType, ValuePerClass > ValuePerClassOfTreeType
void RenormEvents(DataSetInfo &dsi, EventVectorOfClassesOfTreeType &eventsmap, const EvtStatsPerClass &eventCounts, const TString &normMode)
renormalisation of the TRAINING event weights
Bool_t fComputeCorrelations
TMatrixD * CalcCorrelationMatrix(DataSet *, const UInt_t classNumber)
computes correlation matrix for variables "theVars" in tree; "theType" defines the required event "ty...
TMatrixD * CalcCovarianceMatrix(DataSet *, const UInt_t classNumber)
compute covariance matrix
std::vector< Event * > EventVector
Class that contains all the data information.
Class that contains all the data information.
ostringstream derivative to redirect and format output
compose_binary_t(const F &_f, const G &_g, const H &_h)
F::result_type operator()(const typename G::argument_type &argG, const typename H::argument_type &argH) const
F::result_type operator()(const typename G::argument_type &argG) const
compose_unary_t(const F &_f, const G &_g)
F operator()(const F &argF) const
Mother of all ROOT objects.
A TTree represents a columnar dataset.
create variable transformations
compose_unary_t< F, G > compose_unary(const F &_f, const G &_g)
DeleteFunctor_t< const T > DeleteFunctor()
compose_binary_t< F, G, H > compose_binary(const F &_f, const G &_g, const H &_h)
DeleteFunctor_t & operator()(const T *p)