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
void GetHelpMessage() const
get help message text
void WriteMonitoringHistosToFile(void) const
write histograms and PDFs to file for monitoring purposes
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
Double_t GetSignificance(void) const
compute significance of mean difference significance = |<S> - |/Sqrt(RMS_S2 + RMS_B2) ...
MethodCuts(const TString &jobName, const TString &methodTitle, DataSetInfo &theData, const TString &theOption="MC:150:10000:")
standard constructor
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()
Double_t GetCuts(Double_t effS, std::vector< Double_t > &cutMin, std::vector< Double_t > &cutMax) const
retrieve cut values for given signal efficiency
std::vector< PDF * > * fVarPdfS
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
void MakeClassSpecific(std::ostream &, const TString &) const
write specific classifier response
BinarySearchTree * fBinaryTreeS
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 AddWeightsXMLTo(void *parent) const
create XML description for LD classification and regression (for arbitrary number of output classes/t...
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
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 <strin...
EFitMethodType fFitMethod
std::vector< Double_t > * fMeanS
void ReadWeightsFromStream(std::istream &i)
read the cuts from stream
Double_t GetEfficiency(const TString &, Types::ETreeType, Double_t &)
std::vector< Double_t > * fRmsB
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...
Abstract ClassifierFactory template that handles arbitrary types.
virtual ~MethodCuts(void)
destructor
Double_t GetSeparation(TH1 *, TH1 *) const
compute "separation" defined as <s2> = (1/2) Int_-oo..+oo { (S(x) - B(x))^2/(S(x) + B(x)) dx } ...
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
void PrintCuts(Double_t effS) const
print cuts
A TTree object has a header with a name and a title.
Double_t GetSeparation(PDF *=0, PDF *=0) const
compute "separation" defined as <s2> = (1/2) Int_-oo..+oo { (S(x) - B(x))^2/(S(x) + B(x)) dx } ...
Double_t GetmuTransform(TTree *)
Double_t GetTrainingEfficiency(const TString &)
virtual void ReadWeightsFromStream(std::istream &)=0
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