[root] / trunk / tmva / src / MethodCuts.cxx Repository:
ViewVC logotype

Log of /trunk/tmva/src/MethodCuts.cxx

Parent Directory Parent Directory


Links to HEAD: (view) (download) (as text) (annotate)
Sticky Revision:

Revision 47622 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 26 10:40:18 2012 UTC (2 years, 1 month ago) by hvoss
File length: 72936 byte(s)
Diff to previous 44556
fix accidental overwriting of some Bugfix von Revision 44110 in PDEFoam

Revision 44556 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jun 5 09:20:41 2012 UTC (2 years, 7 months ago) by axel
File length: 72935 byte(s)
Diff to previous 44507
Remaining fixes for AIX, Solaris after removal of using namespace std from Riostream.h

Revision 44507 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jun 4 12:30:41 2012 UTC (2 years, 7 months ago) by axel
File length: 72917 byte(s)
Diff to previous 38609
Remove
  using namespace std;
from Riostream.h, which has huge consequences for all of ROOT.
Riostream.h is now a simple wrapper for fstream, iostream, iomanip for backward compatibility; Riosfwd.h simply wraps iosfwd.

Because of templates and their inline functions, Riostream.h needed to be included in headers, too (e.g. TParameter.h), which violated the assumption that Riostream.h is not exposing its using namespace std to headers.
ROOT now requires R__ANSISTREAM, R__SSTREAM, which does not change the set of supported compilers.

Without "using namespace std", several identifiers are now prefixed by std::; e.g. roofit/* source files now have a using namespace std to keep their coding style.
TFile::MakeProject() now generates "using namespace std" to convert the CINT-style class names into C++ ones.

Revision 38609 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Mar 24 16:06:32 2011 UTC (3 years, 10 months ago) by evt
File length: 72812 byte(s)
Diff to previous 38475
copying tmva/dev to trunk, r38480:38608

Revision 38475 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Mar 17 10:46:00 2011 UTC (3 years, 10 months ago) by evt
File length: 72916 byte(s)
Diff to previous 37097
copying tmva/dev to trunk

Revision 37097 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Nov 30 12:28:05 2010 UTC (4 years, 1 month ago) by evt
File length: 72918 byte(s)
Diff to previous 36966
copy recent dev changes to trunk

Revision 36966 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Nov 26 09:50:13 2010 UTC (4 years, 1 month ago) by evt
File length: 72775 byte(s)
Diff to previous 36170
copying tmva/dev(rev 36945) to trunk

Revision 36170 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Oct 7 16:43:07 2010 UTC (4 years, 3 months ago) by stelzer
File length: 72725 byte(s)
Diff to previous 36134
hopefully last coverity fix submission

Revision 36134 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Oct 6 18:29:59 2010 UTC (4 years, 3 months ago) by stelzer
File length: 72716 byte(s)
Diff to previous 36088
coverity: tainted variables

Revision 36088 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Oct 5 16:50:02 2010 UTC (4 years, 3 months ago) by stelzer
File length: 72726 byte(s)
Diff to previous 35749
more coverity work

Revision 35749 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Sep 26 20:30:39 2010 UTC (4 years, 3 months ago) by stelzer
File length: 72693 byte(s)
Diff to previous 35739
Solve a backward compatiblilty issue with MLP

Revision 35739 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Sep 26 11:21:36 2010 UTC (4 years, 3 months ago) by stelzer
File length: 72704 byte(s)
Diff to previous 35732
fix all resource leak reports

Revision 35732 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Sep 25 11:49:37 2010 UTC (4 years, 3 months ago) by stelzer
File length: 72729 byte(s)
Diff to previous 35719
Coverity work

Revision 35719 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Sep 24 17:32:57 2010 UTC (4 years, 4 months ago) by stelzer
File length: 72782 byte(s)
Diff to previous 33993
fix first set of coverity reports

Revision 33993 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Jun 19 11:25:14 2010 UTC (4 years, 7 months ago) by stelzer
File length: 72398 byte(s)
Diff to previous 33928
fix VC warnings and problem with CutsPCA/CutsD

Revision 33928 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jun 15 16:19:31 2010 UTC (4 years, 7 months ago) by stelzer
File length: 72441 byte(s)
Diff to previous 31800
Multi-Class training, method-init via memory-resident XML, bug fix in event info shuffling

Revision 31800 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Dec 10 15:04:44 2009 UTC (5 years, 1 month ago) by stelzer
File length: 72551 byte(s)
Diff to previous 31458
Last fixes from Eckhard, regarding integer variables in PDF LH method

Revision 31458 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 30 13:58:20 2009 UTC (5 years, 1 month ago) by stelzer
File length: 71581 byte(s)
Diff to previous 29246
First import of TMVA from dev branch

Revision 29246 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jun 26 16:50:00 2009 UTC (5 years, 6 months ago) by brun
File length: 73551 byte(s)
Diff to previous 29195
From Joerg:
a patch for the problem with the examples in tmva/test
+ a protection

Revision 29195 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jun 24 10:39:49 2009 UTC (5 years, 7 months ago) by brun
File length: 72325 byte(s)
Diff to previous 29122
From Joerg and TMVA team:
fix coding conventions

Revision 29122 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jun 22 06:51:30 2009 UTC (5 years, 7 months ago) by brun
File length: 72325 byte(s)
Diff to previous 27320
From the TMVA team;
New version of TMVA to be described soon.

Revision 27320 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Feb 2 06:40:36 2009 UTC (5 years, 11 months ago) by brun
File length: 63201 byte(s)
Diff to previous 26050
From Joerg Stelzer:
Fix several places where local variables were initialized via DeclareOptionRef

Revision 26050 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Nov 1 09:18:41 2008 UTC (6 years, 2 months ago) by brun
File length: 62754 byte(s)
Diff to previous 23341
From Joerg Stelzer:
New version of TMVA.
Mainly updates in the Boosted decision tree

Revision 23341 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Apr 20 12:49:40 2008 UTC (6 years, 9 months ago) by brun
File length: 62140 byte(s)
Diff to previous 23334
From Joerg:
Fixes for problems on Windows and Solaris.
Fix coding conventions.

Revision 23334 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Apr 19 18:38:57 2008 UTC (6 years, 9 months ago) by brun
File length: 62130 byte(s)
Diff to previous 22419
From Joerg Stelzer:
The following list contains the changes since ROOT release 5.18/00

    * Dataset preparation:
          o Preselection: Preselection cuts now work on arrays. Previously used TEventlists (only event wise pass/fail) were replaced by TreeFormulas (sensitive to array position). Thanks to Arnaud Robert (LPNHE) for his contributions.
          o Tree assignment to signal/background: Signal and background trees can now be assigned individually to training and test purposes. This is achieved by setting the third parameter of the Factory::AddSignalTree/AddBackgroundTree() methods to "Train" or "Test" (const string). The only restriction is that either none or all signal (background) trees need to be specified with that option. It is possible to mix the two modes, for instance one can assign individual training and test trees for signal, but not for background.
          o Direct tree building: For increased flexibility, users can also directly input signal and background, training and test events to TMVA, instead of letting TMVA interpret user-given trees. Note that either one of the two approaches must be chosen (no mix). The syntax of the new calls is described in the macros/TMVAnalysis.C test macro. --> The User runs the event loop, copies for each event the input variables into a std:vector, and "adds" them to TMVA, using the dedicated calls: factory->AddSignalTrainingEvent( vars, signalWeight ); (and replacing "Signal" by "Background", and "Training" by "Test"). After the event loop, everything continues as in the standard method. 
    * Methods:
          o Simulated Annealing in Cuts,FDA: Entirely new Simulated Annealing (SA) algorithm for global minimisation in presence of local minima (optionally used in cut optimisation (MethodCuts) and the Function Discriminant (MethodFDA)). The SA algorithm features two approaches, one starting at minimal temperature (ie, from within a local minimum), slowly increasing, and another one starting at high temperature, slowly decreasing into a minimum. Code developed and written by Kamil Bartlomiej Kraszewski, Maciej Kruk and Krzysztof Danielowski from IFJ and AGH/UJ, Krakow, Poland.
          o Cuts: Added printouts, quoting the explicit cut application for given signal efficiency. In case of transformations of the input variables, the full expressions are given. Added warning to Fisher in case of variable normalisation.
          o Cuts: Added physical limits to min/max cuts if smart option is used.
          o BDT: removed hard-coded weight file name; now, paths and names of weight files are written as TObjStrings into ROOT target file, and retrieved for plotting; available weight files (corresponding to target used) can be chosen from pop-up GUI.
          o BDT: Changes in handling negative weights in BDT algorithm. Events with negative weights now get their weight reduced (*= 1/boostweight) rather than increased (*= boostweight) as the other events do. Otherwise these events tend to receive increasingly stronger boosts, because their effects on the separation gain are as if background events were selected as signal and vice versa (hence the events tend to be "wanted" in signal nodes, but are boosted as if they were misclassified). In addition, the separation indices are protected against negative S or S+B returning 0.5 (no separation at all) in case that occurs.
          o BDT: In addition there is a new BDT option to ignore events with negative event weights for the training. This option could be used as a cross check of a "worst case" solution for Monte Carlo samples with negative weights. Note that the results of the testing phase still include these events and are hence objective.
          o BDT: Added randomised trees: similar to the "Random Forests" technique of Leo Breiman and Adele Cutler, it uses the "bagging" algorithm and bases the determination of the best node-split during the training on a random subset of variables only, which is individually chosen for each split.
          o BDT: Move to TRandom2 for the "bagging" algorithm and throw random weights according to Poisson statistics. (This way the random weights are closer to a resampling with replacement algorithm.)
          o TMlpANN: Extended options to TMultilayerPerceptron learning methods. Added example for reader application: TMVApplication.py 
    * GUI:
          o Parallel Coordinates: New GUI button for Parallel Coordinate plotting. 
    * Application:
          o Added Python example for reader application: TMVApplication.py
    * Bug fixes:
          o TMlpANN: fixed crash with ROOT>=5.17 when using large number of test events; also corrected bias in cross validation: before the test events were used, which led to an overestimated performance evaluation in case of a small number of degrees of freedom; separate now training tree in two parts for training and validation with configurable ValidationFraction
          o Cuts: Corrected inconsistency in MethodCuts: the signal efficiency written out into the weight file does not correspond to the center of the bin within which the background rejection is maximised (as before) but to the lower left edge of it. This is because the cut optimisation algorithm determines the best background rejection for all signal efficiencies belonging into a bin. Since the best background rejection is in general obtained for the lowest possible signal efficiency, the reference signal efficiency is the lowest value in the bin.
          o Cuts: Fixed Cuts (optimisaton) method -> event with smallest value was not included in search for optimal cut (thanks to Dimitris Varouchas, LAL-Orsay, for helping us detecting the problem).
          o Genetic Algorithm: Corrected configurable random seed in GeneticAlgorithm (thanks to David Gonzalez Maline, CERN, for pointing this out)
          o GUI: Fixes in input-variable and MVA plotting: under/over-flow numbers given on plots were not properly normalised; the maximum histogram ranges have been increased to avoid cut-offs. Thanks to Andreas Wenger, Zuerich, for pointing these out.

Revision 22419 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Mar 3 00:25:01 2008 UTC (6 years, 10 months ago) by rdm
File length: 51503 byte(s)
Diff to previous 21675
From Andrew Savchenko:
ROOT can not be compiled with gcc-4.3.
Some ROOT source files doesn't contain required #include directives,
for example, they use strlen(), but #include <string.h> is missed or
malloc() is used and #include <stdlib.h> is missed. 

Earlier versions of gcc allowed some headers to be included implicitly,
but issued a warning (-Wimplicit-function-declaration). Newer one,
gcc-4.3 denies such silly behaviour: all required headers must be explicitly
included. 

Attached patch fixes this. Also it fixes another issue, which disallows
ROOT to compile under gcc-4.3: C functions don't belong to namespace std,
so expressions like std::memcpy() are no longer valid and plain memcpy()
should be used instead.

Revision 21675 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 14 09:28:10 2008 UTC (7 years ago) by rdm
File length: 51483 byte(s)
Diff to previous 21630
fix warning:  empty body in an if-statement

Revision 21630 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jan 10 19:40:44 2008 UTC (7 years ago) by brun
File length: 51480 byte(s)
Diff to previous 21376
From Joerg Stelzer:
* documentation of all classes ( I hope I caught all 17 of them, but I didn't know how to check except by looking through all the files)
* plugin capabilities for user developed multivariate classifiers
* An improved GUI where the user can print the significance curves for adjustable signal and background yields
* A fix to a compiler complaint that Axel told me about

Revision 21376 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Dec 14 11:32:33 2007 UTC (7 years, 1 month ago) by rdm
File length: 48201 byte(s)
Diff to previous 21079
fix the remaining bunch of gcc 4.2 warnings.

Revision 21079 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Nov 27 20:08:49 2007 UTC (7 years, 1 month ago) by brun
File length: 48582 byte(s)
Diff to previous 20960
From Joerg Stelzer.
New version of TMVA (log file missing unfortunately)

Revision 20960 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Nov 21 15:18:01 2007 UTC (7 years, 2 months ago) by rdm
File length: 48201 byte(s)
Diff to previous 20882
remove number of gcc 4.2 warnings.

Revision 20882 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 19 11:31:26 2007 UTC (7 years, 2 months ago) by rdm
File length: 48584 byte(s)
Diff to previous 20226
Set property svn:eol-style LF on all source and Makefiles. This should avoid
problems with Win32 line endings ending up in the repository. All MS tools
support LF eols fine.

Revision 20226 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Oct 5 11:14:06 2007 UTC (7 years, 3 months ago) by brun
File length: 48584 byte(s)
Diff to previous 19826
From Joerg Stelzer:
New features:

 - Cuts can now be applied independently for signal and background in the    PrepareTrainingAndTestTree phase.

 - Previously, the input variables used by the Fisher classifier were always normalised    to [-1,1] by default. This has been removed, so that it is now in the hand of the    user to decide whether or not normalisation is applied. Choose "Normalise"    ("!Normalise") for normalisation (no normalisation), default is "!Normalise".




 - Significant speed improvements for PDERS. For the options to benefit from this,    see the example "PDERSkNN" in macros/TMVAnalysis.C or examples/TMVAnalysis.cxx.
   Thanks to Kamil Kraszewski and friends from Cracow for implementing this.

 - Re-established backward compatibility of TMVA code down to ROOT version 4.02/00.

 - Shortened BDT weight-file and standalone C++ reader class by 20% and 50%, respectively.

 - Weight expressions can now be set individually for signal and background via
   the calls factory->SetSignalWeightExpression( "<signal-expression>" ) and    factory->SetBackgroundWeightExpression( "<background-expression>" ). The former    call is still supported.
 - Overtraining test: a new GUI button (corresponding to an extension of the macro    "mvas.C") is available to plot a comparison of the classifier response distributions    for the training and independent test data sets. The results of a Kolmogorov-Smirnov    compatibility test are printed on stdout and plots.
 - The cuts corresponding to a given signal efficiency can be retrieved via the    reader. An example for this is implemented in "macros/TMVApplication.C". Briefly,
   retrieve the cuts classifier object as follows:
   TMVA::MethodCuts* mcuts = (TMVA::MethodCuts*)reader->FindMVA( "CutsGA method" );,
   define cut vectors (a vector of pairs can also be retrieved via overloaded
   GetCuts function): std::vector<Double_t> cutsMin; std::vector<Double_t> cutsMax;
   and fill them via: mcuts->GetCuts( wantedSignalEfficiency, cutsMin, cutsMax );

 - Clean up of code and include headers to improve forward declaration.




- Bug fixes:

   - Memory leaks in the Reader class are removed: the Reader is now properly      destructed (deletion of all handled classifiers). Thereby, pointer problems      in the destructors of Fisher and SVM have been found and fixed.
   - The macro TMVApplication.C produced a segmentation fault when run from the ROOT prompt
     (the compiled version in the examples directory worked fine). This problem is now solved.
   - The color selection has been adapted to the new color palette that was introduced      in ROOT 5.16. The macros should now look alike with all ROOT versions (above 4.02/00).
   - Very important bug fix: the application of cuts in the PrepareTrainingAndTestTree
     call in conjunction with the use of several trees (ie, several consecutive calls
     of factory->AddSignalTree(...) or factory->AddBackgroundTree(...)), lead to a      wrong application of the cut to all trees but the first one in the signal      and background chains. More details can be provided if requested - please contact
     the authors. We wish to thank Manfred Groh for spotting and analysing the problem!
   - Some compilers complained about a missing #include "TMVA/Configurable.h" in the Reader
     class. This has been fixed.      - Fixed problem in RuleFit's standalone class when using integer input variables.
   - Fixed compilation problem when using decorrelation preprocessing of input variables      in C++ standalone reader classes.
   - Fixed bug in number-of-plots calculation in correlation script.    - Fixed bug in printing of number of events in case of several trees (no impact      on results).
   - Fixed inconsistency between cut optimisation and cut reading: the aligned      definition of min and max cuts is: a variable passes a cut if: min < var <= max.
     (This inconsistency may have affected your results if you used cut optimisation      together with integer variables. Please check with the new version.)
   - Fixed macro path in TMVAGui.C to fix problem when running the GUI in the ROOT/TMVA      distribution.
     Also: TMVA Style moved from TMVAlogon into tmvaglob to fix style problem when      running in the ROOT/TMVA distribution.
   - Fixed typos in weight file names in MLP and BDT macros       - Fixed "MinMax" and "RMS" options of PDERS (thanks to Junpei Maeda for spotting this)
   - Fixed compilation problem in MetricEuler class on some platforms

Revision 19826 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 19 19:56:11 2007 UTC (7 years, 4 months ago) by rdm
File length: 47851 byte(s)
Diff to previous 19101
imported svn:keywords Id property

Revision 19101 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jun 21 10:28:09 2007 UTC (7 years, 7 months ago) by brun
File length: 47904 byte(s)
Diff to previous 19069
From Joerg Stelzer:
 -fix compilation errors on Solaris
 -fix coding conventions

Revision 19069 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jun 19 13:26:21 2007 UTC (7 years, 7 months ago) by brun
File length: 47851 byte(s)
Diff to previous 18548
From Joerg Stelzer:
New version of TMVA

Revision 18548 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Apr 21 14:20:46 2007 UTC (7 years, 9 months ago) by brun
File length: 54922 byte(s)
Diff to previous 18528
From Joerg Stelzer
Fix coding conventions as well as portability problems on Solaris.

Revision 18528 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Apr 19 10:32:04 2007 UTC (7 years, 9 months ago) by brun
File length: 54936 byte(s)
Diff to previous 18524
Fix urgent compilation problems on Windows

Revision 18524 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Apr 19 06:53:02 2007 UTC (7 years, 9 months ago) by brun
File length: 54860 byte(s)
Diff to previous 17578
from Joerg Stelzer:
New version of TMVA (3.7.2)

Revision 17578 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jan 30 11:24:16 2007 UTC (7 years, 11 months ago) by brun
File length: 52288 byte(s)
Diff to previous 16836
Add calls to TDirectory.h in classes where this class was assumed
to be included by other includes.

Revision 16836 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 20 15:35:28 2006 UTC (8 years, 2 months ago) by brun
File length: 52267 byte(s)
Diff to previous 16819
From Joerg Stelzer:
More documentation added to all classes

Revision 16819 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Nov 19 10:11:42 2006 UTC (8 years, 2 months ago) by brun
File length: 52267 byte(s)
Diff to previous 16805
From Joerg Stelzer:
Fix coding conventions and improve comments in class documentation

Revision 16805 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Nov 17 16:00:03 2006 UTC (8 years, 2 months ago) by brun
File length: 52267 byte(s)
Diff to previous 16768
New version of TMVA fixing many coding conventions violations.
New version of the tmva test suite. To execute it run the script
TMVAnalysis.C

Revision 16768 - (view) (download) (as text) (annotate) - [select for diffs]
Added Wed Nov 15 10:40:17 2006 UTC (8 years, 2 months ago) by rdm
File length: 49857 byte(s)
New version.

This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.

  Diffs between and
  Type of Diff should be a

Sort log by:

Subversion Admin
ViewVC Help
Powered by ViewVC 1.0.9