Beispiel #1
0
        static void Main(string[] args)
        {
            WriteLine("Creating the factory");
            var outputFile = NTFile.Open("tmvaNetOutput.root", "RECREATE");

            var factory = new ROOTNET.NTMVA.NFactory(new NTString("testjob"), outputFile, new NTString("!V:DrawProgressBar=True:!Silent:AnalysisType=Classification"));

            // Signal and background
            var signalFileInfo = new FileInfo("..\\HV600pi100.training.root");
            var backgroundFileInfo = new FileInfo("..\\J2Z.training.root");
            var signalFile = NTFile.Open(signalFileInfo.FullName, "READ");
            var backgroundFile = NTFile.Open(backgroundFileInfo.FullName, "READ");

            var signalTree = signalFile.Get("mytree") as NTTree;
            var backgroundTree = backgroundFile.Get("mytree") as NTTree;

            factory.AddSignalTree(signalTree, 1.0);
            factory.AddBackgroundTree(backgroundTree, 1.0);

            // The variables
            factory.AddVariable(new NTString("nTracks"), new NTString("Number of Tracks"), new NTString(""));
            factory.AddVariable(new NTString("logR"),    new NTString("CalRatio"),         new NTString(""));

            var m = factory.BookMethod(NTypes.EMVA.kCuts, new NTString("Cuts"), new NTString("!H:V:FitMethod=MC:EffSel:SampleSize=2000:VarProp[0]=FSmart:VarProp[1]=FSmart:VarTransform=Decorrelate"));

            // Given these particular test files, with Cuts, this causes a crash.
            factory.TrainAllMethods();

            factory.TestAllMethods();
            factory.EvaluateAllMethods();

            outputFile.Close();
        }
Beispiel #2
0
        public void BookMethodReturnType()
        {
            var f = NTFile.Open("junk.root", "RECREATE");
            var a = new ROOTNET.NTMVA.NFactory("job".AsTS(), f);


            // Signal and background
            var signalFileInfo = new FileInfo(@"C: \Users\gordo\Documents\Code\Root\TMVATests\signal.training.root");
            var backgroundFileInfo = new FileInfo(@"C:\Users\gordo\Documents\Code\Root\TMVATests\background.training.root");
            var signalFile = NTFile.Open(signalFileInfo.FullName, "READ");
            var backgroundFile = NTFile.Open(backgroundFileInfo.FullName, "READ");

            var signalTree = signalFile.Get("mytree") as NTTree;
            var backgroundTree = backgroundFile.Get("mytree") as NTTree;

            a.AddSignalTree(signalTree, 1.0);
            a.AddBackgroundTree(backgroundTree, 1.0);

            a.AddVariable(new NTString("nTracks"), new NTString("Number of Tracks"), new NTString(""), 'F');
            a.AddVariable(new NTString("logR"), new NTString("CalRatio"), new NTString(""));

            //ROOTNET.NTMVA.NMethodBase;

            var m = a.BookMethod("Cuts".AsTS(), "SimpleCuts".AsTS());

            Assert.IsNotNull(m);
            Assert.AreEqual("SimpleCuts", m.Name);
        }
Beispiel #3
0
        public void QueueTMVAObject()
        {
            var t = new TypeHandlerROOT();

            var f = new ROOTNET.NTFile("hi.root", "RECREATE");

            try
            {
                var origRootObj = new ROOTNET.NTMVA.NFactory(new ROOTNET.NTString("hi"), f);
                var rootObj     = Expression.Constant(origRootObj);

                var gc     = new GeneratedCode();
                var result = t.ProcessConstantReference(rootObj, gc, MEFUtilities.MEFContainer);

                Assert.IsNotNull(result);

                Assert.AreEqual(1, gc.VariablesToTransfer.Count(), "Variables to transfer");
            } finally
            {
                f.Close();
            }
        }