73:
TMVA::
MethodBase( jobName, methodType, methodTitle, theData, theOption),
74 fCurrentMethodIdx(0), fCurrentMethod(0)
83 fCurrentMethodIdx(0), fCurrentMethod(0)
91 std::vector<IMethod*>::const_iterator itrMethod = fMethods.begin();
92 std::vector<IMethod*>::const_iterator itrMethodEnd = fMethods.end();
94 for (; itrMethod != itrMethodEnd; ++itrMethod) {
106 std::vector<IMethod*>::const_iterator itrMethod = fMethods.begin()+index;
107 if (itrMethod<fMethods.end())
return *itrMethod;
118 for (
UInt_t i=0; i< fMethods.size(); i++)
143 std::vector<IMethod*>::iterator itrMethod = fMethods.begin();
144 for (; itrMethod != fMethods.end(); ++itrMethod) {
145 Log() << kVERBOSE <<
"Delete method: " << (*itrMethod)->GetName() <<
Endl;
157 TString methodName, methodTypeName, jobName, optionString;
159 for (
UInt_t i=0;i<fMethods.size();i++)
delete fMethods[i];
161 fMethodWeight.clear();
164 for (
UInt_t i=0; i< nMethods; i++) {
165 Double_t methodWeight, methodSigCut, methodSigCutOrientation;
168 gTools().
ReadAttr( ch,
"MethodSigCutOrientation", methodSigCutOrientation);
175 if (
gTools().HasAttr( ch,
"UseMainMethodTransformation")) {
177 gTools().
ReadAttr( ch,
"UseMainMethodTransformation", rerouteString );
196 fMethodWeight.push_back(methodWeight);
200 Log() << kFATAL <<
"Could not read method from XML" <<
Endl;
231 TString methodName, methodTitle=GetMethodName(),
232 jobName=GetJobName(),optionString=GetOptions();
236 istr >> dummy >> methodNum;
237 Log() << kINFO <<
"Read " << methodNum <<
" Classifiers" <<
Endl;
238 for (
UInt_t i=0;i<fMethods.size();i++)
delete fMethods[i];
240 fMethodWeight.clear();
241 for (
UInt_t i=0; i<methodNum; i++) {
242 istr >> dummy >> methodName >> dummy >> fCurrentMethodIdx >> dummy >> methodWeight;
243 if ((
UInt_t)fCurrentMethodIdx != i) {
244 Log() << kFATAL <<
"Error while reading weight file; mismatch MethodIndex="
245 << fCurrentMethodIdx <<
" i=" << i
246 <<
" MethodName " << methodName
247 <<
" dummy " << dummy
248 <<
" MethodWeight= " << methodWeight
252 istr >> dummy >> jobName;
253 istr >> dummy >> methodTitle;
254 istr >> dummy >> optionString;
258 else methodTitle=
Form(
"%s (%04i)",GetMethodName().Data(),fCurrentMethodIdx);
261 fMethodWeight.push_back( methodWeight );
263 m->ReadWeightsFromStream(istr);
273 for (
UInt_t i=0;i< fMethods.size(); i++) mvaValue+=fMethods[i]->GetMvaValue()*fMethodWeight[i];
276 NoErrorCalc(err, errUpper);
char * Form(const char *fmt,...)
IMethod * Create(const std::string &name, const TString &job, const TString &title, DataSetInfo &dsi, const TString &option)
creates the method if needed based on the method name using the creator function the factory has stor...
static ClassifierFactory & Instance()
access to the ClassifierFactory singleton creates the instance if needed
virtual void ParseOptions()
options parser
const TString & GetOptions() const
void SetMsgType(EMsgType t)
Class that contains all the data information.
virtual const char * GetName() const
Returns name of object.
Interface for all concrete MVA method implementations.
Virtual base Class for all MVA method.
TransformationHandler * fTransformationPointer
void SetSilentFile(Bool_t status)
void SetWeightFileDir(TString fileDir)
set directory of weight file
TString GetMethodTypeName() const
virtual void ReadWeightsFromXML(void *wghtnode)=0
const TString & GetJobName() const
void SetupMethod()
setup of methods
friend class MethodCompositeBase
const TString & GetMethodName() const
void ProcessSetup()
process all options the "CheckForUnusedOptions" is done in an independent call, since it may be overr...
void RerouteTransformationHandler(TransformationHandler *fTargetTransformation)
DataSetInfo & DataInfo() const
virtual void AddWeightsXMLTo(void *parent) const =0
Double_t GetSignalReferenceCutOrientation() const
void SetSignalReferenceCut(Double_t cut)
void SetSignalReferenceCutOrientation(Double_t cutOrientation)
void SetModelPersistence(Bool_t status)
Double_t GetSignalReferenceCut() const
virtual void CheckSetup()
check may be overridden by derived class (sometimes, eg, fitters are used which can only be implement...
Class for boosting a TMVA method.
Virtual base class for combining several TMVA method.
void ReadWeightsFromStream(std::istream &istr)
text streamer
Double_t GetMvaValue(Double_t *err=0, Double_t *errUpper=0)
return composite MVA response
virtual ~MethodCompositeBase(void)
delete methods
IMethod * GetMethod(const TString &title) const
returns pointer to MVA that corresponds to given method title
void ReadWeightsFromXML(void *wghtnode)
XML streamer.
void AddWeightsXMLTo(void *parent) const
static Types & Instance()
the the single instance of "Types" if existing already, or create it (Singleton)
Types::EMVA GetMethodType(const TString &method) const
returns the method type (enum) for a given method (string)
void ToLower()
Change string to lower-case.
const char * Data() const
TString & ReplaceAll(const TString &s1, const TString &s2)
create variable transformations
MsgLogger & Endl(MsgLogger &ml)