Multivariate optimisation of signal efficiency for given background efficiency, applying rectangular minimum and maximum requirements.
Also implemented is a "decorrelate/diagonalized cuts approach", which improves over the uncorrelated cuts approach by transforming linearly the input variables into a diagonal space, using the square-root of the covariance matrix.
Other optimisation criteria, such as maximising the signal significance- squared, \( \frac{S^2}{(S+B)} \), with S and B being the signal and background yields, correspond to a particular point in the optimised background rejection versus signal efficiency curve. This working point requires the knowledge of the expected yields, which is not the case in general. Note also that for rare signals, Poissonian statistics should be used, which modifies the significance criterion.
The rectangular cut of a volume in the variable space is performed using a binary tree to sort the training events. This provides a significant reduction in computing time (up to several orders of magnitudes, depending on the complexity of the problem at hand).
Technically, optimisation is achieved in TMVA by two methods:
Attempts to use Minuit fits (Simplex ot Migrad) instead have not shown superior results, and often failed due to convergence at local minima.
The tests we have performed so far showed that in generic applications, the GA is superior to MC sampling, and hence GA is the default method. It is worthwhile trying both anyway.
Decorrelated (or "diagonalized") Cuts**
See class description for Method Likelihood for a detailed explanation.
Definition at line 61 of file MethodCuts.h.
Public Member Functions | |
MethodCuts (const TString &jobName, const TString &methodTitle, DataSetInfo &theData, const TString &theOption="MC:150:10000:") | |
standard constructor | |
MethodCuts (DataSetInfo &theData, const TString &theWeightFile) | |
construction from weight file | |
virtual | ~MethodCuts (void) |
destructor | |
void | AddWeightsXMLTo (void *parent) const |
create XML description for LD classification and regression (for arbitrary number of output classes/targets) | |
void | CheckSetup () |
check may be overridden by derived class (sometimes, eg, fitters are used which can only be implemented during training phase) | |
Double_t | ComputeEstimator (std::vector< Double_t > &) |
returns estimator for "cut fitness" used by GA. | |
const Ranking * | CreateRanking () |
void | DeclareOptions () |
define the options (their key words) that can be set in the option string. | |
Double_t | EstimatorFunction (Int_t ievt1, Int_t ievt2) |
for full event scan | |
Double_t | EstimatorFunction (std::vector< Double_t > &) |
returns estimator for "cut fitness" used by GA | |
Double_t | GetCuts (Double_t effS, Double_t *cutMin, Double_t *cutMax) const |
retrieve cut values for given signal efficiency assume vector of correct size !! | |
Double_t | GetCuts (Double_t effS, std::vector< Double_t > &cutMin, std::vector< Double_t > &cutMax) const |
retrieve cut values for given signal efficiency | |
Double_t | GetEfficiency (const TString &, Types::ETreeType, Double_t &) |
Overloaded function to create background efficiency (rejection) versus signal efficiency plot (first call of this function). | |
Double_t | GetmuTransform (TTree *) |
Double_t | GetMvaValue (Double_t *err=nullptr, Double_t *errUpper=nullptr) |
cut evaluation: returns 1.0 if event passed, 0.0 otherwise | |
Double_t | GetRarity (Double_t, Types::ESBType) const |
compute rarity: | |
Double_t | GetSeparation (PDF *=nullptr, PDF *=nullptr) const |
compute "separation" defined as | |
Double_t | GetSeparation (TH1 *, TH1 *) const |
compute "separation" defined as | |
Double_t | GetSignificance (void) const |
compute significance of mean difference | |
Double_t | GetTrainingEfficiency (const TString &) |
Overloaded function to create background efficiency (rejection) versus signal efficiency plot (first call of this function). | |
virtual Bool_t | HasAnalysisType (Types::EAnalysisType type, UInt_t numberClasses, UInt_t numberTargets) |
Cuts can only handle classification with 2 classes. | |
virtual TClass * | IsA () const |
void | PrintCuts (Double_t effS) const |
print cuts | |
void | ProcessOptions () |
process user options. | |
virtual void | ReadWeightsFromStream (std::istream &)=0 |
void | ReadWeightsFromStream (std::istream &i) |
read the cuts from stream | |
virtual void | ReadWeightsFromStream (TFile &) |
void | ReadWeightsFromXML (void *wghtnode) |
read coefficients from xml weight file | |
void | SetTestSignalEfficiency (Double_t effS) |
virtual void | Streamer (TBuffer &) |
void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
void | TestClassification () |
nothing to test | |
void | Train (void) |
training method: here the cuts are optimised for the training sample | |
void | WriteMonitoringHistosToFile (void) const |
write histograms and PDFs to file for monitoring purposes | |
Public Member Functions inherited from TMVA::MethodBase | |
MethodBase (const TString &jobName, Types::EMVA methodType, const TString &methodTitle, DataSetInfo &dsi, const TString &theOption="") | |
standard constructor | |
MethodBase (Types::EMVA methodType, DataSetInfo &dsi, const TString &weightFile) | |
constructor used for Testing + Application of the MVA, only (no training), using given WeightFiles | |
virtual | ~MethodBase () |
destructor | |
void | AddOutput (Types::ETreeType type, Types::EAnalysisType analysisType) |
TDirectory * | BaseDir () const |
returns the ROOT directory where info/histograms etc of the corresponding MVA method instance are stored | |
DataSet * | Data () const |
DataSetInfo & | DataInfo () const |
virtual void | DeclareCompatibilityOptions () |
options that are used ONLY for the READER to ensure backward compatibility they are hence without any effect (the reader is only reading the training options that HAD been used at the training of the .xml weight file at hand | |
void | DisableWriting (Bool_t setter) |
Bool_t | DoMulticlass () const |
Bool_t | DoRegression () const |
void | ExitFromTraining () |
Types::EAnalysisType | GetAnalysisType () const |
UInt_t | GetCurrentIter () |
const Event * | GetEvent () const |
const Event * | GetEvent (const TMVA::Event *ev) const |
const Event * | GetEvent (Long64_t ievt) const |
const Event * | GetEvent (Long64_t ievt, Types::ETreeType type) const |
const std::vector< TMVA::Event * > & | GetEventCollection (Types::ETreeType type) |
returns the event collection (i.e. | |
TFile * | GetFile () const |
const TString & | GetInputLabel (Int_t i) const |
const char * | GetInputTitle (Int_t i) const |
const TString & | GetInputVar (Int_t i) const |
TMultiGraph * | GetInteractiveTrainingError () |
const TString & | GetJobName () const |
virtual Double_t | GetKSTrainingVsTest (Char_t SorB, TString opt="X") |
virtual Double_t | GetMaximumSignificance (Double_t SignalEvents, Double_t BackgroundEvents, Double_t &optimal_significance_value) const |
plot significance, \( \frac{S}{\sqrt{S^2 + B^2}} \), curve for given number of signal and background events; returns cut for maximum significance also returned via reference is the maximum significance | |
UInt_t | GetMaxIter () |
Double_t | GetMean (Int_t ivar) const |
const TString & | GetMethodName () const |
Types::EMVA | GetMethodType () const |
TString | GetMethodTypeName () const |
virtual TMatrixD | GetMulticlassConfusionMatrix (Double_t effB, Types::ETreeType type) |
Construct a confusion matrix for a multiclass classifier. | |
virtual std::vector< Float_t > | GetMulticlassEfficiency (std::vector< std::vector< Float_t > > &purity) |
virtual std::vector< Float_t > | GetMulticlassTrainingEfficiency (std::vector< std::vector< Float_t > > &purity) |
virtual const std::vector< Float_t > & | GetMulticlassValues () |
Double_t | GetMvaValue (const TMVA::Event *const ev, Double_t *err=nullptr, Double_t *errUpper=nullptr) |
const char * | GetName () const |
UInt_t | GetNEvents () const |
UInt_t | GetNTargets () const |
UInt_t | GetNvar () const |
UInt_t | GetNVariables () const |
virtual Double_t | GetProba (const Event *ev) |
virtual Double_t | GetProba (Double_t mvaVal, Double_t ap_sig) |
compute likelihood ratio | |
const TString | GetProbaName () const |
virtual void | GetRegressionDeviation (UInt_t tgtNum, Types::ETreeType type, Double_t &stddev, Double_t &stddev90Percent) const |
virtual const std::vector< Float_t > & | GetRegressionValues () |
const std::vector< Float_t > & | GetRegressionValues (const TMVA::Event *const ev) |
Double_t | GetRMS (Int_t ivar) const |
virtual Double_t | GetROCIntegral (PDF *pdfS=nullptr, PDF *pdfB=nullptr) const |
calculate the area (integral) under the ROC curve as a overall quality measure of the classification | |
virtual Double_t | GetROCIntegral (TH1D *histS, TH1D *histB) const |
calculate the area (integral) under the ROC curve as a overall quality measure of the classification | |
Double_t | GetSignalReferenceCut () const |
Double_t | GetSignalReferenceCutOrientation () const |
const Event * | GetTestingEvent (Long64_t ievt) const |
Double_t | GetTestTime () const |
const TString & | GetTestvarName () const |
const Event * | GetTrainingEvent (Long64_t ievt) const |
virtual const std::vector< Float_t > & | GetTrainingHistory (const char *) |
UInt_t | GetTrainingROOTVersionCode () const |
TString | GetTrainingROOTVersionString () const |
calculates the ROOT version string from the training version code on the fly | |
UInt_t | GetTrainingTMVAVersionCode () const |
TString | GetTrainingTMVAVersionString () const |
calculates the TMVA version string from the training version code on the fly | |
Double_t | GetTrainTime () const |
TransformationHandler & | GetTransformationHandler (Bool_t takeReroutedIfAvailable=true) |
const TransformationHandler & | GetTransformationHandler (Bool_t takeReroutedIfAvailable=true) const |
TString | GetWeightFileName () const |
retrieve weight file name | |
Double_t | GetXmax (Int_t ivar) const |
Double_t | GetXmin (Int_t ivar) const |
Bool_t | HasMVAPdfs () const |
void | InitIPythonInteractive () |
Bool_t | IsModelPersistence () const |
virtual Bool_t | IsSignalLike () |
uses a pre-set cut on the MVA output (SetSignalReferenceCut and SetSignalReferenceCutOrientation) for a quick determination if an event would be selected as signal or background | |
virtual Bool_t | IsSignalLike (Double_t mvaVal) |
uses a pre-set cut on the MVA output (SetSignalReferenceCut and SetSignalReferenceCutOrientation) for a quick determination if an event with this mva output value would be selected as signal or background | |
Bool_t | IsSilentFile () const |
virtual void | MakeClass (const TString &classFileName=TString("")) const |
create reader class for method (classification only at present) | |
TDirectory * | MethodBaseDir () const |
returns the ROOT directory where all instances of the corresponding MVA method are stored | |
virtual std::map< TString, Double_t > | OptimizeTuningParameters (TString fomType="ROCIntegral", TString fitType="FitGA") |
call the Optimizer with the set of parameters and ranges that are meant to be tuned. | |
void | PrintHelpMessage () const |
prints out method-specific help method | |
void | ProcessSetup () |
process all options the "CheckForUnusedOptions" is done in an independent call, since it may be overridden by derived class (sometimes, eg, fitters are used which can only be implemented during training phase) | |
void | ReadStateFromFile () |
Function to write options and weights to file. | |
void | ReadStateFromStream (std::istream &tf) |
read the header from the weight files of the different MVA methods | |
void | ReadStateFromStream (TFile &rf) |
write reference MVA distributions (and other information) to a ROOT type weight file | |
void | ReadStateFromXMLString (const char *xmlstr) |
for reading from memory | |
void | RerouteTransformationHandler (TransformationHandler *fTargetTransformation) |
virtual void | Reset () |
virtual void | SetAnalysisType (Types::EAnalysisType type) |
void | SetBaseDir (TDirectory *methodDir) |
void | SetFile (TFile *file) |
void | SetMethodBaseDir (TDirectory *methodDir) |
void | SetMethodDir (TDirectory *methodDir) |
void | SetModelPersistence (Bool_t status) |
void | SetSignalReferenceCut (Double_t cut) |
void | SetSignalReferenceCutOrientation (Double_t cutOrientation) |
void | SetSilentFile (Bool_t status) |
void | SetTestTime (Double_t testTime) |
void | SetTestvarName (const TString &v="") |
void | SetTrainTime (Double_t trainTime) |
virtual void | SetTuneParameters (std::map< TString, Double_t > tuneParameters) |
set the tuning parameters according to the argument This is just a dummy . | |
void | SetupMethod () |
setup of methods | |
void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
virtual void | TestMulticlass () |
test multiclass classification | |
virtual void | TestRegression (Double_t &bias, Double_t &biasT, Double_t &dev, Double_t &devT, Double_t &rms, Double_t &rmsT, Double_t &mInf, Double_t &mInfT, Double_t &corr, Types::ETreeType type) |
calculate <sum-of-deviation-squared> of regression output versus "true" value from test sample | |
bool | TrainingEnded () |
void | TrainMethod () |
virtual void | WriteEvaluationHistosToFile (Types::ETreeType treetype) |
writes all MVA evaluation histograms to file | |
void | WriteStateToFile () const |
write options and weights to file note that each one text file for the main configuration information and one ROOT file for ROOT objects are created | |
Public Member Functions inherited from TMVA::IMethod | |
IMethod () | |
virtual | ~IMethod () |
void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
Public Member Functions inherited from TMVA::Configurable | |
Configurable (const TString &theOption="") | |
constructor | |
virtual | ~Configurable () |
default destructor | |
void | AddOptionsXMLTo (void *parent) const |
write options to XML file | |
template<class T > | |
void | AddPreDefVal (const T &) |
template<class T > | |
void | AddPreDefVal (const TString &optname, const T &) |
void | CheckForUnusedOptions () const |
checks for unused options in option string | |
template<class T > | |
TMVA::OptionBase * | DeclareOptionRef (T &ref, const TString &name, const TString &desc) |
template<class T > | |
OptionBase * | DeclareOptionRef (T &ref, const TString &name, const TString &desc="") |
template<class T > | |
TMVA::OptionBase * | DeclareOptionRef (T *&ref, Int_t size, const TString &name, const TString &desc) |
template<class T > | |
OptionBase * | DeclareOptionRef (T *&ref, Int_t size, const TString &name, const TString &desc="") |
const char * | GetConfigDescription () const |
const char * | GetConfigName () const |
const TString & | GetOptions () const |
MsgLogger & | Log () const |
virtual void | ParseOptions () |
options parser | |
void | PrintOptions () const |
prints out the options set in the options string and the defaults | |
void | ReadOptionsFromStream (std::istream &istr) |
read option back from the weight file | |
void | ReadOptionsFromXML (void *node) |
void | SetConfigDescription (const char *d) |
void | SetConfigName (const char *n) |
void | SetMsgType (EMsgType t) |
void | SetOptions (const TString &s) |
void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
void | WriteOptionsToStream (std::ostream &o, const TString &prefix) const |
write options to output stream (e.g. in writing the MVA weight files | |
Public Member Functions inherited from TNamed | |
TNamed () | |
TNamed (const char *name, const char *title) | |
TNamed (const TNamed &named) | |
TNamed copy ctor. | |
TNamed (const TString &name, const TString &title) | |
virtual | ~TNamed () |
TNamed destructor. | |
void | Clear (Option_t *option="") override |
Set name and title to empty strings (""). | |
TObject * | Clone (const char *newname="") const override |
Make a clone of an object using the Streamer facility. | |
Int_t | Compare (const TObject *obj) const override |
Compare two TNamed objects. | |
void | Copy (TObject &named) const override |
Copy this to obj. | |
virtual void | FillBuffer (char *&buffer) |
Encode TNamed into output buffer. | |
const char * | GetName () const override |
Returns name of object. | |
const char * | GetTitle () const override |
Returns title of object. | |
ULong_t | Hash () const override |
Return hash value for this object. | |
TClass * | IsA () const override |
Bool_t | IsSortable () const override |
void | ls (Option_t *option="") const override |
List TNamed name and title. | |
TNamed & | operator= (const TNamed &rhs) |
TNamed assignment operator. | |
void | Print (Option_t *option="") const override |
Print TNamed name and title. | |
virtual void | SetName (const char *name) |
Set the name of the TNamed. | |
virtual void | SetNameTitle (const char *name, const char *title) |
Set all the TNamed parameters (name and title). | |
virtual void | SetTitle (const char *title="") |
Set the title of the TNamed. | |
virtual Int_t | Sizeof () const |
Return size of the TNamed part of the TObject. | |
void | Streamer (TBuffer &) override |
Stream an object of class TObject. | |
void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
Public Member Functions inherited from TObject | |
TObject () | |
TObject constructor. | |
TObject (const TObject &object) | |
TObject copy ctor. | |
virtual | ~TObject () |
TObject destructor. | |
void | AbstractMethod (const char *method) const |
Use this method to implement an "abstract" method that you don't want to leave purely abstract. | |
virtual void | AppendPad (Option_t *option="") |
Append graphics object to current pad. | |
virtual void | Browse (TBrowser *b) |
Browse object. May be overridden for another default action. | |
ULong_t | CheckedHash () |
Check and record whether this class has a consistent Hash/RecursiveRemove setup (*) and then return the regular Hash value for this object. | |
virtual const char * | ClassName () const |
Returns name of class to which the object belongs. | |
virtual void | Delete (Option_t *option="") |
Delete this object. | |
virtual Int_t | DistancetoPrimitive (Int_t px, Int_t py) |
Computes distance from point (px,py) to the object. | |
virtual void | Draw (Option_t *option="") |
Default Draw method for all objects. | |
virtual void | DrawClass () const |
Draw class inheritance tree of the class to which this object belongs. | |
virtual TObject * | DrawClone (Option_t *option="") const |
Draw a clone of this object in the current selected pad with: gROOT->SetSelectedPad(c1) . | |
virtual void | Dump () const |
Dump contents of object on stdout. | |
virtual void | Error (const char *method, const char *msgfmt,...) const |
Issue error message. | |
virtual void | Execute (const char *method, const char *params, Int_t *error=nullptr) |
Execute method on this object with the given parameter string, e.g. | |
virtual void | Execute (TMethod *method, TObjArray *params, Int_t *error=nullptr) |
Execute method on this object with parameters stored in the TObjArray. | |
virtual void | ExecuteEvent (Int_t event, Int_t px, Int_t py) |
Execute action corresponding to an event at (px,py). | |
virtual void | Fatal (const char *method, const char *msgfmt,...) const |
Issue fatal error message. | |
virtual TObject * | FindObject (const char *name) const |
Must be redefined in derived classes. | |
virtual TObject * | FindObject (const TObject *obj) const |
Must be redefined in derived classes. | |
virtual Option_t * | GetDrawOption () const |
Get option used by the graphics system to draw this object. | |
virtual const char * | GetIconName () const |
Returns mime type name of object. | |
virtual char * | GetObjectInfo (Int_t px, Int_t py) const |
Returns string containing info about the object at position (px,py). | |
virtual Option_t * | GetOption () const |
virtual UInt_t | GetUniqueID () const |
Return the unique object id. | |
virtual Bool_t | HandleTimer (TTimer *timer) |
Execute action in response of a timer timing out. | |
Bool_t | HasInconsistentHash () const |
Return true is the type of this object is known to have an inconsistent setup for Hash and RecursiveRemove (i.e. | |
virtual void | Info (const char *method, const char *msgfmt,...) const |
Issue info message. | |
virtual Bool_t | InheritsFrom (const char *classname) const |
Returns kTRUE if object inherits from class "classname". | |
virtual Bool_t | InheritsFrom (const TClass *cl) const |
Returns kTRUE if object inherits from TClass cl. | |
virtual void | Inspect () const |
Dump contents of this object in a graphics canvas. | |
void | InvertBit (UInt_t f) |
Bool_t | IsDestructed () const |
IsDestructed. | |
virtual Bool_t | IsEqual (const TObject *obj) const |
Default equal comparison (objects are equal if they have the same address in memory). | |
virtual Bool_t | IsFolder () const |
Returns kTRUE in case object contains browsable objects (like containers or lists of other objects). | |
R__ALWAYS_INLINE Bool_t | IsOnHeap () const |
R__ALWAYS_INLINE Bool_t | IsZombie () const |
void | MayNotUse (const char *method) const |
Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary). | |
virtual Bool_t | Notify () |
This method must be overridden to handle object notification (the base implementation is no-op). | |
void | Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const |
Use this method to declare a method obsolete. | |
void | operator delete (void *ptr) |
Operator delete. | |
void | operator delete (void *ptr, void *vp) |
Only called by placement new when throwing an exception. | |
void | operator delete[] (void *ptr) |
Operator delete []. | |
void | operator delete[] (void *ptr, void *vp) |
Only called by placement new[] when throwing an exception. | |
void * | operator new (size_t sz) |
void * | operator new (size_t sz, void *vp) |
void * | operator new[] (size_t sz) |
void * | operator new[] (size_t sz, void *vp) |
TObject & | operator= (const TObject &rhs) |
TObject assignment operator. | |
virtual void | Paint (Option_t *option="") |
This method must be overridden if a class wants to paint itself. | |
virtual void | Pop () |
Pop on object drawn in a pad to the top of the display list. | |
virtual Int_t | Read (const char *name) |
Read contents of object with specified name from the current directory. | |
virtual void | RecursiveRemove (TObject *obj) |
Recursively remove this object from a list. | |
void | ResetBit (UInt_t f) |
virtual void | SaveAs (const char *filename="", Option_t *option="") const |
Save this object in the file specified by filename. | |
virtual void | SavePrimitive (std::ostream &out, Option_t *option="") |
Save a primitive as a C++ statement(s) on output stream "out". | |
void | SetBit (UInt_t f) |
void | SetBit (UInt_t f, Bool_t set) |
Set or unset the user status bits as specified in f. | |
virtual void | SetDrawOption (Option_t *option="") |
Set drawing option for object. | |
virtual void | SetUniqueID (UInt_t uid) |
Set the unique object id. | |
void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
virtual void | SysError (const char *method, const char *msgfmt,...) const |
Issue system error message. | |
R__ALWAYS_INLINE Bool_t | TestBit (UInt_t f) const |
Int_t | TestBits (UInt_t f) const |
virtual void | UseCurrentStyle () |
Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked. | |
virtual void | Warning (const char *method, const char *msgfmt,...) const |
Issue warning message. | |
virtual Int_t | Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) |
Write this object to the current directory. | |
virtual Int_t | Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) const |
Write this object to the current directory. | |
Public Member Functions inherited from TMVA::IFitterTarget | |
IFitterTarget () | |
constructor | |
virtual | ~IFitterTarget () |
virtual void | ProgressNotifier (TString, TString) |
void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
Static Public Member Functions | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
static MethodCuts * | DynamicCast (IMethod *method) |
Static Public Member Functions inherited from TMVA::MethodBase | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
Static Public Member Functions inherited from TMVA::IMethod | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
Static Public Member Functions inherited from TMVA::Configurable | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
Static Public Member Functions inherited from TNamed | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
Static Public Member Functions inherited from TObject | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
static Longptr_t | GetDtorOnly () |
Return destructor only flag. | |
static Bool_t | GetObjectStat () |
Get status of object stat flag. | |
static void | SetDtorOnly (void *obj) |
Set destructor only flag. | |
static void | SetObjectStat (Bool_t stat) |
Turn on/off tracking of objects in the TObjectTable. | |
Static Public Member Functions inherited from TMVA::IFitterTarget | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
Static Public Attributes | |
static const Double_t | fgMaxAbsCutVal = 1.0e30 |
Protected Member Functions | |
void | GetHelpMessage () const |
get help message text | |
void | MakeClassSpecific (std::ostream &, const TString &) const |
write specific classifier response | |
Protected Member Functions inherited from TMVA::MethodBase | |
virtual std::vector< Double_t > | GetDataMvaValues (DataSet *data=nullptr, Long64_t firstEvt=0, Long64_t lastEvt=-1, Bool_t logProgress=false) |
get all the MVA values for the events of the given Data type | |
const TString & | GetInternalVarName (Int_t ivar) const |
virtual std::vector< Double_t > | GetMvaValues (Long64_t firstEvt=0, Long64_t lastEvt=-1, Bool_t logProgress=false) |
get all the MVA values for the events of the current Data type | |
const TString & | GetOriginalVarName (Int_t ivar) const |
const TString & | GetWeightFileDir () const |
Bool_t | HasTrainingTree () const |
Bool_t | Help () const |
Bool_t | IgnoreEventsWithNegWeightsInTraining () const |
Bool_t | IsConstructedFromWeightFile () const |
Bool_t | IsNormalised () const |
virtual void | MakeClassSpecificHeader (std::ostream &, const TString &="") const |
void | NoErrorCalc (Double_t *const err, Double_t *const errUpper) |
void | SetNormalised (Bool_t norm) |
void | SetWeightFileDir (TString fileDir) |
set directory of weight file | |
void | SetWeightFileName (TString) |
set the weight file name (depreciated) | |
void | Statistics (Types::ETreeType treeType, const TString &theVarName, Double_t &, Double_t &, Double_t &, Double_t &, Double_t &, Double_t &) |
calculates rms,mean, xmin, xmax of the event variable this can be either done for the variables as they are or for normalised variables (in the range of 0-1) if "norm" is set to kTRUE | |
Bool_t | TxtWeightsOnly () const |
Bool_t | Verbose () const |
Protected Member Functions inherited from TMVA::Configurable | |
void | EnableLooseOptions (Bool_t b=kTRUE) |
const TString & | GetReferenceFile () const |
Bool_t | LooseOptionCheckingEnabled () const |
void | ResetSetFlag () |
resets the IsSet flag for all declare options to be called before options are read from stream | |
void | WriteOptionsReferenceToFile () |
write complete options to output stream | |
Protected Member Functions inherited from TObject | |
virtual void | DoError (int level, const char *location, const char *fmt, va_list va) const |
Interface to ErrorHandler (protected). | |
void | MakeZombie () |
Private Types | |
enum | EEffMethod { kUseEventSelection = 0 , kUsePDFs } |
enum | EFitMethodType { kUseMonteCarlo = 0 , kUseGeneticAlgorithm , kUseSimulatedAnnealing , kUseMinuit , kUseEventScan , kUseMonteCarloEvents } |
enum | EFitParameters { kNotEnforced = 0 , kForceMin , kForceMax , kForceSmart } |
Private Member Functions | |
void | CreateVariablePDFs (void) |
for PDF method: create efficiency reference histograms and PDFs | |
void | GetEffsfromPDFs (Double_t *cutMin, Double_t *cutMax, Double_t &effS, Double_t &effB) |
compute signal and background efficiencies from PDFs for given cut sample | |
void | GetEffsfromSelection (Double_t *cutMin, Double_t *cutMax, Double_t &effS, Double_t &effB) |
compute signal and background efficiencies from event counting for given cut sample | |
void | Init (void) |
default initialisation called by all constructors | |
void | MatchCutsToPars (std::vector< Double_t > &, Double_t **, Double_t **, Int_t ibin) |
translate the cuts into parameters (obsolete function) | |
void | MatchCutsToPars (std::vector< Double_t > &, Double_t *, Double_t *) |
translates cuts into parameters | |
void | MatchParsToCuts (const std::vector< Double_t > &, Double_t *, Double_t *) |
translates parameters into cuts | |
void | MatchParsToCuts (Double_t *, Double_t *, Double_t *) |
Private Attributes | |
TString * | fAllVarsI |
what to do with variables | |
BinarySearchTree * | fBinaryTreeB |
BinarySearchTree * | fBinaryTreeS |
Double_t ** | fCutMax |
maximum requirement | |
Double_t ** | fCutMin |
minimum requirement | |
std::vector< Interval * > | fCutRange |
allowed ranges for cut optimisation | |
Double_t * | fCutRangeMax |
maximum of allowed cut range | |
Double_t * | fCutRangeMin |
minimum of allowed cut range | |
TH1 * | fEffBvsSLocal |
intermediate eff. background versus eff signal histo | |
EEffMethod | fEffMethod |
chosen efficiency calculation method | |
TString | fEffMethodS |
chosen efficiency calculation method (string) | |
Double_t | fEffRef |
reference efficiency | |
Double_t | fEffSMax |
used to test optimized signal efficiency | |
Double_t | fEffSMin |
used to test optimized signal efficiency | |
EFitMethodType | fFitMethod |
chosen fit method | |
TString | fFitMethodS |
chosen fit method (string) | |
std::vector< EFitParameters > * | fFitParams |
vector for series of fit methods | |
std::vector< Double_t > * | fMeanB |
means of variables (background) | |
std::vector< Double_t > * | fMeanS |
means of variables (signal) | |
Bool_t | fNegEffWarning |
flag risen in case of negative efficiency warning | |
Int_t | fNpar |
number of parameters in fit (default: 2*Nvar) | |
TRandom * | fRandom |
random generator for MC optimisation method | |
std::vector< Int_t > * | fRangeSign |
used to match cuts to fit parameters (and vice versa) | |
std::vector< Double_t > * | fRmsB |
RMSs of variables (background) | |
std::vector< Double_t > * | fRmsS |
RMSs of variables (signal) | |
Double_t | fTestSignalEff |
used to test optimized signal efficiency | |
Double_t * | fTmpCutMax |
temporary maximum requirement | |
Double_t * | fTmpCutMin |
temporary minimum requirement | |
std::vector< TH1 * > * | fVarHistB |
reference histograms (background) | |
std::vector< TH1 * > * | fVarHistB_smooth |
smoothed reference histograms (background) | |
std::vector< TH1 * > * | fVarHistS |
reference histograms (signal) | |
std::vector< TH1 * > * | fVarHistS_smooth |
smoothed reference histograms (signal) | |
std::vector< PDF * > * | fVarPdfB |
reference PDFs (background) | |
std::vector< PDF * > * | fVarPdfS |
reference PDFs (signal) | |
Additional Inherited Members | |
Public Types inherited from TMVA::MethodBase | |
enum | EWeightFileType { kROOT =0 , kTEXT } |
Public Types inherited from TObject | |
enum | { kIsOnHeap = 0x01000000 , kNotDeleted = 0x02000000 , kZombie = 0x04000000 , kInconsistent = 0x08000000 , kBitMask = 0x00ffffff } |
enum | { kSingleKey = (1ULL << ( 0 )) , kOverwrite = (1ULL << ( 1 )) , kWriteDelete = (1ULL << ( 2 )) } |
enum | EDeprecatedStatusBits { kObjInCanvas = (1ULL << ( 3 )) } |
enum | EStatusBits { kCanDelete = (1ULL << ( 0 )) , kMustCleanup = (1ULL << ( 3 )) , kIsReferenced = (1ULL << ( 4 )) , kHasUUID = (1ULL << ( 5 )) , kCannotPick = (1ULL << ( 6 )) , kNoContextMenu = (1ULL << ( 8 )) , kInvalidObject = (1ULL << ( 13 )) } |
Public Attributes inherited from TMVA::MethodBase | |
Bool_t | fSetupCompleted |
TrainingHistory | fTrainHistory |
Protected Types inherited from TObject | |
enum | { kOnlyPrepStep = (1ULL << ( 3 )) } |
Protected Attributes inherited from TMVA::MethodBase | |
Types::EAnalysisType | fAnalysisType |
UInt_t | fBackgroundClass |
bool | fExitFromTraining = false |
std::vector< TString > * | fInputVars |
IPythonInteractive * | fInteractive = nullptr |
temporary dataset used when evaluating on a different data (used by MethodCategory::GetMvaValues) | |
UInt_t | fIPyCurrentIter = 0 |
UInt_t | fIPyMaxIter = 0 |
std::vector< Float_t > * | fMulticlassReturnVal |
Int_t | fNbins |
Int_t | fNbinsH |
Int_t | fNbinsMVAoutput |
Ranking * | fRanking |
std::vector< Float_t > * | fRegressionReturnVal |
Results * | fResults |
UInt_t | fSignalClass |
DataSet * | fTmpData = nullptr |
temporary event when testing on a different DataSet than the own one | |
const Event * | fTmpEvent |
Protected Attributes inherited from TMVA::Configurable | |
MsgLogger * | fLogger |
! message logger | |
Protected Attributes inherited from TNamed | |
TString | fName |
TString | fTitle |
#include <TMVA/MethodCuts.h>
|
private |
Enumerator | |
---|---|
kUseEventSelection | |
kUsePDFs |
Definition at line 157 of file MethodCuts.h.
|
private |
Enumerator | |
---|---|
kUseMonteCarlo | |
kUseGeneticAlgorithm | |
kUseSimulatedAnnealing | |
kUseMinuit | |
kUseEventScan | |
kUseMonteCarloEvents |
Definition at line 146 of file MethodCuts.h.
|
private |
Enumerator | |
---|---|
kNotEnforced | |
kForceMin | |
kForceMax | |
kForceSmart |
Definition at line 161 of file MethodCuts.h.
TMVA::MethodCuts::MethodCuts | ( | const TString & | jobName, |
const TString & | methodTitle, | ||
DataSetInfo & | theData, | ||
const TString & | theOption = "MC:150:10000:" |
||
) |
standard constructor
Definition at line 129 of file MethodCuts.cxx.
TMVA::MethodCuts::MethodCuts | ( | DataSetInfo & | theData, |
const TString & | theWeightFile | ||
) |
construction from weight file
Definition at line 171 of file MethodCuts.cxx.
|
virtual |
destructor
Definition at line 270 of file MethodCuts.cxx.
|
virtual |
create XML description for LD classification and regression (for arbitrary number of output classes/targets)
Implements TMVA::MethodBase.
Definition at line 1287 of file MethodCuts.cxx.
|
inlinevirtual |
check may be overridden by derived class (sometimes, eg, fitters are used which can only be implemented during training phase)
Reimplemented from TMVA::MethodBase.
Definition at line 133 of file MethodCuts.h.
|
static |
|
inlinestaticconstexpr |
Definition at line 238 of file MethodCuts.h.
returns estimator for "cut fitness" used by GA.
there are two requirements:
the requirement 1. has priority over 2.
Definition at line 893 of file MethodCuts.cxx.
|
inlinevirtual |
Implements TMVA::MethodBase.
Definition at line 124 of file MethodCuts.h.
|
private |
for PDF method: create efficiency reference histograms and PDFs
Definition at line 1106 of file MethodCuts.cxx.
|
virtual |
define the options (their key words) that can be set in the option string.
know options:
<string>
Minimisation method. Available values are:<default>
<string>
Efficiency selection method. Available values are:<default>
<string>
Property of variable 1 for the MC method (taking precedence over the globale setting. The same values as for the global option are available. Variables 1..10 can be set this way<float>
user-defined ranges in which cuts are varied Implements TMVA::MethodBase.
Definition at line 319 of file MethodCuts.cxx.
|
inlinestatic |
Definition at line 238 of file MethodCuts.h.
|
inlinestatic |
Definition at line 74 of file MethodCuts.h.
for full event scan
Definition at line 834 of file MethodCuts.cxx.
returns estimator for "cut fitness" used by GA
Implements TMVA::IFitterTarget.
Definition at line 878 of file MethodCuts.cxx.
retrieve cut values for given signal efficiency assume vector of correct size !!
Definition at line 536 of file MethodCuts.cxx.
Double_t TMVA::MethodCuts::GetCuts | ( | Double_t | effS, |
std::vector< Double_t > & | cutMin, | ||
std::vector< Double_t > & | cutMax | ||
) | const |
retrieve cut values for given signal efficiency
Definition at line 551 of file MethodCuts.cxx.
|
virtual |
Overloaded function to create background efficiency (rejection) versus signal efficiency plot (first call of this function).
The function returns the signal efficiency at background efficiency indicated in theString
"theString" must have two entries:
[0]
: "Efficiency"[1]
: the value of background efficiency at which the signal efficiency is to be returned Reimplemented from TMVA::MethodBase.
Definition at line 1555 of file MethodCuts.cxx.
|
private |
compute signal and background efficiencies from PDFs for given cut sample
Definition at line 1023 of file MethodCuts.cxx.
|
private |
compute signal and background efficiencies from event counting for given cut sample
Definition at line 1050 of file MethodCuts.cxx.
|
protectedvirtual |
get help message text
typical length of text line: "|--------------------------------------------------------------|"
Implements TMVA::IMethod.
Definition at line 1719 of file MethodCuts.cxx.
Definition at line 103 of file MethodCuts.h.
|
virtual |
cut evaluation: returns 1.0 if event passed, 0.0 otherwise
Implements TMVA::MethodBase.
Definition at line 432 of file MethodCuts.cxx.
|
inlinevirtual |
compute rarity:
\[ R(x) = \int_{[-\infty..x]} { PDF(x') dx' } \]
where PDF(x) is the PDF of the classifier's signal or background distribution
Reimplemented from TMVA::MethodBase.
Definition at line 108 of file MethodCuts.h.
|
inlinevirtual |
compute "separation" defined as
\[ <s2> = \frac{1}{2} \int_{-\infty}^{+\infty} { \frac{(S(x) - B(x))^2}{(S(x) + B(x))} dx } \]
Reimplemented from TMVA::MethodBase.
Definition at line 101 of file MethodCuts.h.
compute "separation" defined as
\[ <s2> = \frac{1}{2} \int_{-\infty}^{+\infty} { \frac{(S(x) - B(x))^2}{(S(x) + B(x))} dx } \]
Reimplemented from TMVA::MethodBase.
Definition at line 100 of file MethodCuts.h.
|
inlinevirtual |
compute significance of mean difference
\[ significance = \frac{|<S> - <B>|}{\sqrt{RMS_{S2} + RMS_{B2}}} \]
Reimplemented from TMVA::MethodBase.
Definition at line 102 of file MethodCuts.h.
Overloaded function to create background efficiency (rejection) versus signal efficiency plot (first call of this function).
The function returns the signal efficiency at background efficiency indicated in theString
"theString" must have two entries:
[0]
: "Efficiency"[1]
: the value of background efficiency at which the signal efficiency is to be returned Reimplemented from TMVA::MethodBase.
Definition at line 1442 of file MethodCuts.cxx.
|
virtual |
Cuts can only handle classification with 2 classes.
Implements TMVA::IMethod.
Definition at line 211 of file MethodCuts.cxx.
|
privatevirtual |
default initialisation called by all constructors
Implements TMVA::MethodBase.
Definition at line 220 of file MethodCuts.cxx.
|
inlinevirtual |
Reimplemented from TMVA::MethodBase.
Definition at line 238 of file MethodCuts.h.
|
protectedvirtual |
write specific classifier response
Reimplemented from TMVA::MethodBase.
Definition at line 1707 of file MethodCuts.cxx.
|
private |
translate the cuts into parameters (obsolete function)
Definition at line 987 of file MethodCuts.cxx.
|
private |
translates cuts into parameters
Definition at line 1009 of file MethodCuts.cxx.
|
private |
translates parameters into cuts
Definition at line 974 of file MethodCuts.cxx.
void TMVA::MethodCuts::PrintCuts | ( | Double_t | effS | ) | const |
print cuts
Definition at line 465 of file MethodCuts.cxx.
|
virtual |
process user options.
sanity check, do not allow the input variables to be normalised, because this only creates problems when interpreting the cuts
Implements TMVA::MethodBase.
Definition at line 363 of file MethodCuts.cxx.
|
virtual |
Implements TMVA::MethodBase.
|
virtual |
read the cuts from stream
Implements TMVA::MethodBase.
Definition at line 1217 of file MethodCuts.cxx.
|
inlinevirtual |
Reimplemented from TMVA::MethodBase.
Definition at line 266 of file MethodBase.h.
|
virtual |
read coefficients from xml weight file
Implements TMVA::MethodBase.
Definition at line 1327 of file MethodCuts.cxx.
|
inline |
Definition at line 116 of file MethodCuts.h.
|
virtual |
Reimplemented from TMVA::MethodBase.
|
inline |
Definition at line 238 of file MethodCuts.h.
|
virtual |
|
virtual |
training method: here the cuts are optimised for the training sample
Implements TMVA::MethodBase.
Definition at line 578 of file MethodCuts.cxx.
|
virtual |
write histograms and PDFs to file for monitoring purposes
Reimplemented from TMVA::MethodBase.
Definition at line 1411 of file MethodCuts.cxx.
|
private |
what to do with variables
Definition at line 188 of file MethodCuts.h.
|
private |
Definition at line 181 of file MethodCuts.h.
|
private |
Definition at line 180 of file MethodCuts.h.
|
private |
maximum requirement
Definition at line 185 of file MethodCuts.h.
|
private |
minimum requirement
Definition at line 184 of file MethodCuts.h.
|
private |
allowed ranges for cut optimisation
Definition at line 177 of file MethodCuts.h.
|
private |
maximum of allowed cut range
Definition at line 176 of file MethodCuts.h.
|
private |
minimum of allowed cut range
Definition at line 175 of file MethodCuts.h.
|
private |
intermediate eff. background versus eff signal histo
Definition at line 202 of file MethodCuts.h.
|
private |
chosen efficiency calculation method
Definition at line 170 of file MethodCuts.h.
|
private |
chosen efficiency calculation method (string)
Definition at line 169 of file MethodCuts.h.
|
private |
reference efficiency
Definition at line 192 of file MethodCuts.h.
|
private |
used to test optimized signal efficiency
Definition at line 174 of file MethodCuts.h.
|
private |
used to test optimized signal efficiency
Definition at line 173 of file MethodCuts.h.
|
private |
chosen fit method
Definition at line 168 of file MethodCuts.h.
|
private |
chosen fit method (string)
Definition at line 167 of file MethodCuts.h.
|
private |
vector for series of fit methods
Definition at line 171 of file MethodCuts.h.
|
static |
Definition at line 130 of file MethodCuts.h.
|
private |
means of variables (background)
Definition at line 198 of file MethodCuts.h.
|
private |
means of variables (signal)
Definition at line 197 of file MethodCuts.h.
|
private |
flag risen in case of negative efficiency warning
Definition at line 213 of file MethodCuts.h.
|
private |
number of parameters in fit (default: 2*Nvar)
Definition at line 191 of file MethodCuts.h.
|
private |
random generator for MC optimisation method
Definition at line 194 of file MethodCuts.h.
|
private |
used to match cuts to fit parameters (and vice versa)
Definition at line 193 of file MethodCuts.h.
|
private |
RMSs of variables (background)
Definition at line 200 of file MethodCuts.h.
|
private |
RMSs of variables (signal)
Definition at line 199 of file MethodCuts.h.
|
private |
used to test optimized signal efficiency
Definition at line 172 of file MethodCuts.h.
|
private |
temporary maximum requirement
Definition at line 187 of file MethodCuts.h.
|
private |
temporary minimum requirement
Definition at line 186 of file MethodCuts.h.
|
private |
reference histograms (background)
Definition at line 206 of file MethodCuts.h.
|
private |
smoothed reference histograms (background)
Definition at line 208 of file MethodCuts.h.
|
private |
reference histograms (signal)
Definition at line 205 of file MethodCuts.h.
|
private |
smoothed reference histograms (signal)
Definition at line 207 of file MethodCuts.h.
|
private |
reference PDFs (background)
Definition at line 210 of file MethodCuts.h.
|
private |
reference PDFs (signal)
Definition at line 209 of file MethodCuts.h.