A little bit new structure, more sophisticated magic,GetInputVariableHist moved from C++ to python, new draw methods for: * Classifier Output Distributions * Classifier Probability Distributions * Classifier Cut Efficiencies

In this week I redesigned the structure of project. The flowchart of the new program: Model View Controller

Now I have a Magic class:

@magics_class
class JsMVAMagic(Magics):
    def __init__(self, shell):
        super(JsMVAMagic, self).__init__(shell)

    @line_magic
    @magic_arguments()
    @argument('arg', nargs="?", default="on", help='Enable/Disable JavaScript visualisation for TMVA')
    def jsmva(self, line):
        from JPyInterface import functions
        args = parse_argstring(self.jsmva, line)
        if args.arg == 'on':
           functions.register()
        elif args.arg == 'off':
           functions.unregister()

def load_ipython_extension(ipython):
    ipython.register_magics(JsMVAMagic)

This class will call the JPyInterface.functions.register method to register the drawing methods.

Classifier Output Distributions

We have to call:

factory.DrawOutputDistribution("mydataset", "MLP") # first parameter dataset name, second method name

Result

Classifier Probability Distributions

We have to call:

factory.DrawProbabilityDistribution("mydataset", "MLP") # first parameter dataset name, second method name

Result

Classifier Cut Efficiencies

We have to call:

factory.DrawCutEfficiencies("mydataset", "MLP")  # first parameter dataset name, second method name

Result