29 #ifndef ROOT_TMVA_DataSetFactory
30 #define ROOT_TMVA_DataSetFactory
52 #ifndef ROOT_TTreeFormula
55 #ifndef ROOT_TMatrixDfwd
58 #ifndef ROOT_TPrincipal
65 #ifndef ROOT_TMVA_Types
68 #ifndef ROOT_TMVA_VariableInfo
71 #ifndef ROOT_TMVA_Event
79 class DataInputHandler;
118 template<
typename T >
130 template <
typename F>
143 template <
typename F>
150 template <
typename F,
typename G,
typename H>
152 typename H::argument_type,
153 typename F::result_type>
164 typename F::result_type
operator()(
const typename G::argument_type& argG,
165 const typename H::argument_type& argH)
const
167 return f(
g(argG),
h(argH));
171 template <
typename F,
typename G,
typename H>
179 template <
typename F,
typename G>
181 typename F::result_type>
191 typename F::result_type
operator()(
const typename G::argument_type& argG)
const
197 template <
typename F,
typename G>
void ResetBranchAndEventAddresses(TTree *)
std::vector< EventVector > EventVectorOfClasses
Random number generator class based on M.
static void destroyInstance()
UInt_t fCurrentEvtIdx
the tree, events are currently read from
std::vector< TTreeFormula * > fInputFormulas
the current event (to avoid reading of the same event)
Float_t cutScaling() const
std::vector< TTreeFormula * > fCutFormulas
targets
std::vector< Double_t > ValuePerClass
F operator()(const F &argF) const
compose_unary_t< F, G > compose_unary(const F &_f, const G &_g)
F::result_type operator()(const typename G::argument_type &argG, const typename H::argument_type &argH) const
void BuildEventVector(DataSetInfo &dsi, DataInputHandler &dataInput, EventVectorOfClassesOfTreeType &eventsmap, EvtStatsPerClass &eventCounts)
build empty event vectors distributes events between kTraining/kTesting/kMaxTreeType ...
compose_unary_t(const F &_f, const G &_g)
TTree * fCurrentTree
how to deal with requested #events in connection with preselection cuts
void CalcMinMax(DataSet *, DataSetInfo &dsi)
compute covariance matrix
DeleteFunctor_t & operator()(const T *p)
compose_binary_t(const F &_f, const G &_g, const H &_h)
std::vector< int > NumberPerClass
Int_t nTestingEventsRequested
std::map< Types::ETreeType, EventVectorOfClasses > EventVectorOfClassesOfTreeType
void InitOptions(DataSetInfo &dsi, EvtStatsPerClass &eventsmap, TString &normMode, UInt_t &splitSeed, TString &splitMode, TString &mixMode)
the dataset splitting
DataSet * BuildDynamicDataSet(DataSetInfo &)
std::vector< TTreeFormula * > fWeightFormula
cuts
F::result_type operator()(const typename G::argument_type &argG) const
TString fVerboseLevel
Verbosity.
virtual UInt_t Integer(UInt_t imax)
Returns a random integer on [ 0, imax-1 ].
MsgLogger & Log() const
message logger
void RenormEvents(DataSetInfo &dsi, EventVectorOfClassesOfTreeType &eventsmap, const EvtStatsPerClass &eventCounts, const TString &normMode)
renormalisation of the TRAINING event weights -none (kind of obvious) .
DeleteFunctor_t< const T > DeleteFunctor()
void ChangeToNewTree(TreeInfo &, const DataSetInfo &)
While the data gets copied into the local training and testing trees, the input tree can change (for ...
DataSetFactory()
constructor
TMatrixD * CalcCorrelationMatrix(DataSet *, const UInt_t classNumber)
computes correlation matrix for variables "theVars" in tree; "theType" defines the required event "ty...
Bool_t fScaleWithPreselEff
VerboseLevel.
virtual void SetSeed(UInt_t seed=0)
Set the random generator sequence if seed is 0 (default value) a TUUID is generated and used to fill ...
std::vector< TTreeFormula * > fSpectatorFormulas
weights
DataSet * CreateDataSet(DataSetInfo &, DataInputHandler &)
steering the creation of a new dataset
UInt_t operator()(UInt_t n)
std::vector< TTreeFormula * > fTargetFormulas
input variables
std::vector< Event * > EventVector
static DataSetFactory * fgInstance
DataSet * BuildInitialDataSet(DataSetInfo &, TMVA::DataInputHandler &)
if no entries, than create a DataSet with one Event which uses dynamic variables (pointers to variabl...
~DataSetFactory()
destructor
RandomGenerator(UInt_t seed)
MsgLogger * fLogger
spectators
compose_binary_t< F, G, H > compose_binary(const F &_f, const G &_g, const H &_h)
std::map< Types::ETreeType, EventVector > EventVectorOfTreeType
static DataSetFactory * NewInstance()
std::vector< EventStats > EvtStatsPerClass
static DataSetFactory & Instance()
Bool_t CheckTTreeFormula(TTreeFormula *ttf, const TString &expression, Bool_t &hasDollar)
checks a TTreeFormula for problems
Int_t nTrainingEventsRequested
A TTree object has a header with a name and a title.
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 Bool_t emptyUndefined = kTRUE;...
std::map< Types::ETreeType, ValuePerClass > ValuePerClassOfTreeType
TMatrixD * CalcCovarianceMatrix(DataSet *, const UInt_t classNumber)
compute covariance matrix
static void destroyNewInstance(DataSetFactory *iOther)