33 #ifndef ROOT_TMVA_MethodCuts
34 #define ROOT_TMVA_MethodCuts
49 #ifndef ROOT_TMVA_MethodBase
52 #ifndef ROOT_TMVA_BinarySearchTree
58 #ifndef ROOT_TMVA_TMatrixDfwd
59 #ifndef ROOT_TMatrixDfwd
63 #ifndef ROOT_TMVA_IFitterTarget
64 #ifndef ROOT_IFitterTarget
82 const TString& theOption =
"MC:150:10000:",
std::vector< Double_t > * fRmsS
Double_t GetMvaValue(Double_t *err=0, Double_t *errUpper=0)
cut evaluation: returns 1.0 if event passed, 0.0 otherwise
Double_t GetSignificance(void) const
compute significance of mean difference significance = | - |/Sqrt(RMS_S2 + RMS_B2) ...
Double_t ComputeEstimator(std::vector< Double_t > &)
returns estimator for "cut fitness" used by GA there are two requirements: 1) the signal efficiency m...
void TestClassification()
nothing to test
void CheckSetup()
check may be overridden by derived class (sometimes, eg, fitters are used which can only be implement...
void SetTestSignalEfficiency(Double_t effS)
void MatchParsToCuts(const std::vector< Double_t > &, Double_t *, Double_t *)
translates parameters into cuts
std::vector< TH1 * > * fVarHistS
const Ranking * CreateRanking()
void AddWeightsXMLTo(void *parent) const
create XML description for LD classification and regression (for arbitrary number of output classes/t...
std::vector< PDF * > * fVarPdfS
Double_t GetRarity(Double_t, Types::ESBType) const
compute rarity: R(x) = Integrate_[-oo..x] { PDF(x') dx' } where PDF(x) is the PDF of the classifier's...
std::vector< TH1 * > * fVarHistS_smooth
Double_t EstimatorFunction(std::vector< Double_t > &)
returns estimator for "cut fitness" used by GA
std::vector< Double_t > * fMeanB
#define ClassDef(name, id)
This is the base class for the ROOT Random number generators.
std::vector< EFitParameters > * fFitParams
void Init(void)
default initialisation called by all constructors
void CreateVariablePDFs(void)
for PDF method: create efficiency reference histograms and PDFs
BinarySearchTree * fBinaryTreeS
Double_t GetCuts(Double_t effS, std::vector< Double_t > &cutMin, std::vector< Double_t > &cutMax) const
retrieve cut values for given signal efficiency
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 ...
std::vector< TH1 * > * fVarHistB_smooth
void MatchCutsToPars(std::vector< Double_t > &, Double_t *, Double_t *)
translates cuts into parameters
std::vector< PDF * > * fVarPdfB
void Train(void)
training method: here the cuts are optimised for the training sample
std::vector< Int_t > * fRangeSign
MethodCuts(const TString &jobName, const TString &methodTitle, DataSetInfo &theData, const TString &theOption="MC:150:10000:", TDirectory *theTargetFile=0)
void PrintCuts(Double_t effS) const
print cuts
void MakeClassSpecific(std::ostream &, const TString &) const
write specific classifier response
void ReadWeightsFromXML(void *wghtnode)
read coefficients from xml weight file
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 DeclareOptions()
define the options (their key words) that can be set in the option string know options: Method
Double_t GetSeparation(TH1 *, TH1 *) const
compute "separation" defined as = (1/2) Int_-oo..+oo { (S(x) - B(x))^2/(S(x) + B(x)) dx } ...
EFitMethodType fFitMethod
std::vector< Double_t > * fMeanS
void WriteMonitoringHistosToFile(void) const
write histograms and PDFs to file for monitoring purposes
Describe directory structure in memory.
void ReadWeightsFromStream(std::istream &i)
read the cuts from stream
Double_t GetEfficiency(const TString &, Types::ETreeType, Double_t &)
std::vector< Double_t > * fRmsB
void GetHelpMessage() const
get help message text
Abstract ClassifierFactory template that handles arbitrary types.
virtual ~MethodCuts(void)
destructor
static const Double_t fgMaxAbsCutVal
void ProcessOptions()
process user options sanity check, do not allow the input variables to be normalised, because this only creates problems when interpreting the cuts
A TTree object has a header with a name and a title.
Double_t GetmuTransform(TTree *)
Double_t GetTrainingEfficiency(const TString &)
virtual void ReadWeightsFromStream(std::istream &)=0
Double_t GetSeparation(PDF *=0, PDF *=0) const
compute "separation" defined as = (1/2) Int_-oo..+oo { (S(x) - B(x))^2/(S(x) + B(x)) dx } ...
virtual Bool_t HasAnalysisType(Types::EAnalysisType type, UInt_t numberClasses, UInt_t numberTargets)
Cuts can only handle classification with 2 classes.
std::vector< Interval * > fCutRange
static MethodCuts * DynamicCast(IMethod *method)
BinarySearchTree * fBinaryTreeB
std::vector< TH1 * > * fVarHistB