In the example script for TMVA ($(ROOTSYS)/tmva/test/TMVAClassification.C), I may have found a mistake…
I’m using the trunk of root as of a couple days ago.
Line 192 shows:
factory->AddSpectator( "spec1 := var1*2", "Spectator 1", "units", 'F' ); factory->AddSpectator( "spec2 := var1*3", "Spectator 2", "units", 'F' );
However, the definition for add spectator is:
void AddSpectator(const TString& expression, const TString& title = "", const TString& unit = "", Double_t min = 0, Double_t max = 0)
(and I see no other overloaded versions of the function on the html documentation at http://root.cern.ch/root/html/TMVA__Factory.html#TMVA__Factory:AddSpectator)
So, ‘F’ is being passed to “min”. I assume its being casted from a char to a Double_t when TMVAClassification.C is run as a macro. I discovered the problem by using the python version of the script, TMVAClassification.py, which wouldn’t run.
So is the script wrong, or did an interafce function which takes a char as a 4th argument disapear?