This week I moved from old repository to new GSOC repository.

This project won’t have c++ library for now. JPyInterface register now a IPython magic %jsmva on will call the function register methods. This methods will inject the drawing methods to DataLoader and Factory.

Correlation matrix

The data loader method for correlation matrix moved to

TH2* TMVA::DataLoader::GetCorrelationMatrix(const TString& className);

This method will return a histogram object containing the correlation matrix. I forked the root project I added this new method, and created my first pull request. The JPyInterface module now will use this method, to get histogram form DataLoder and then will use the ROOT::TBufferJSON::ConvertToJSON function to convert to JSON string.

To create correlation matrix plot we need to call the following method:

loader.DrawCorrelationMatrix(className) # className: "Signal" or "Background"

Calling this method will result’s the following plot:

ROC curve

I also added drawing method for ROC curve. Factory already has method which generates the histogram, I just call this method, and do the same stuff as for correlation matrix.

Input variables

I created a new method to DataLoder:

TH1F* TMVA::DataLoader::GetInputVariableHist(const TString& className, const TString& variableName, UInt_t numBin, const TString& processTrfs="");

This method will return input variable histogram for selected variable and selected class(Signal/Background), also can perform transformations on variables (this transformations will not be saved, just used to create histogram).

No transformation

  • Code:
loader.DrawInputVariable("var0") #first parameter is the variable name, now "var0"
  • Result:

Transformed input

  • Code:
loader.DrawInputVariable("var0", processTrfs="D") # processTrfs can be: I;N;D;P;U;G,D
  • Result: