TMVA analysis

All TMVA related files can be found in dir

xeon-phi-dev:/star/u/kehw/TMVA/GenerateCandidateTree_SyncCuts

1. Input files are generated with code 
  StRoot/StMuMcAnalysisMaker/
For the D0 embedding sample, 
/dataset/D0KpiCutpT0.TFG18a2/D0_BG.root
/dataset/D0KpiCutpT0.TFG18a2/D0_Signal.root
There are also two lists
/dataset/D0KpiCutpT0.TFG18a2/D0_BG.list
/dataset/D0KpiCutpT0.TFG18a2/D0_Signal.list
For the full statistics, especialy the background.
In general, background is more enough and signal is very limited.

2. The TMVA analysis is simple to run. In our case, it is a binary classification problem. I started the task with a TMVA provided macro
dataset/D0KpiCutpT0.TFG18a2/TMVA/TMVAClassifition.C, which has typical setup for almost all of the algorithms TMVA provided. At this point, I think we should focus on the BDT method. To run it, just run
root 'TMVAClassifition.C("BDT")'
The training results will be stored in the dir plots and weights where you launch the root command.

The other algorithm I think we should investigate is the MLP, which is a neural network model. Compare to the BDT, MLP will need more tuning. Therefore, I think that should be the next step.

3. In the simplest case, there are only a few places in the macro dataset/D0KpiCutpT0.TFG18a2/TMVA/TMVAClassifition.C we need to edit in order to get data and tune the algorithms.
Line:192: setup input variables, which should be branches from the input tree
Line:226: setup input signal file
Line:231: setup input background files
Line:245: setup event weights, not needed at this point
Line:297: setup event cuts to remove unwanted events

4. The MLP algorithm provided by TMVA is probably the simplest neural network. To investigate more sophisticated algorithms, for example DNN, we need to move to ROOT6, which has interface to Keras and sciit-learn package.