ROOT logo
ROOT » TMVA » TMVA::VariablePCATransform

class TMVA::VariablePCATransform: public TMVA::VariableTransformBase

Function Members (Methods)

public:
virtual~VariablePCATransform()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidAttachXMLTo(void* parent)
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
virtual voidTMVA::VariableTransformBase::CountVariableTypes(UInt_t& nvars, UInt_t& ntgts, UInt_t& nspcts) const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
virtual Bool_tTMVA::VariableTransformBase::GetInput(const TMVA::Event* event, vector<Float_t>& input, vector<Char_t>& mask, Bool_t backTransform = kFALSE) const
virtual const char*TMVA::VariableTransformBase::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
TStringTMVA::VariableTransformBase::GetShortName() const
virtual const char*TObject::GetTitle() const
virtual vector<TString>*TMVA::VariableTransformBase::GetTransformationStrings(Int_t cls) const
virtual UInt_tTObject::GetUniqueID() const
TMVA::Types::EVariableTransformTMVA::VariableTransformBase::GetVariableTransform() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidInitialize()
virtual voidTObject::Inspect() constMENU
virtual const TMVA::Event*InverseTransform(const TMVA::Event *const, Int_t cls) const
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
Bool_tTMVA::VariableTransformBase::IsCreated() const
Bool_tTMVA::VariableTransformBase::IsEnabled() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTMVA::VariableTransformBase::IsNormalised() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
TMVA::MsgLogger&TMVA::VariableTransformBase::Log() const
virtual voidTObject::ls(Option_t* option = "") const
virtual voidMakeFunction(ostream& fout, const TString& fncName, Int_t part, UInt_t trCounter, Int_t cls)
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
TObject&TObject::operator=(const TObject& rhs)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual Bool_tPrepareTransformation(const vector<TMVA::Event*,allocator<TMVA::Event*> >&)
virtual voidTObject::Print(Option_t* option = "") const
virtual voidTMVA::VariableTransformBase::PrintTransformation(ostream&)
virtual Int_tTObject::Read(const char* name)
virtual voidReadFromXML(void* trfnode)
virtual voidReadTransformationFromStream(istream&, const TString&)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(ostream& out, Option_t* option = "")
virtual voidTMVA::VariableTransformBase::SelectInput(const TString& inputVariables, Bool_t putIntoVariables = kFALSE)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidTMVA::VariableTransformBase::SetEnabled(Bool_t e)
voidTMVA::VariableTransformBase::SetNormalise(Bool_t n)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTMVA::VariableTransformBase::SetOutput(TMVA::Event* event, vector<Float_t>& output, vector<Char_t>& mask, const TMVA::Event* oldEvent = 0, Bool_t backTransform = kFALSE) const
voidTMVA::VariableTransformBase::SetOutputDataSetInfo(TMVA::DataSetInfo* outputDsi)
voidTMVA::VariableTransformBase::SetTMVAVersion(TMVA::TMVAVersion_t v)
virtual voidTObject::SetUniqueID(UInt_t uid)
voidTMVA::VariableTransformBase::SetUseSignalTransform(Bool_t e = kTRUE)
virtual voidShowMembers(TMemberInspector& insp)
const vector<TMVA::VariableInfo>&TMVA::VariableTransformBase::Spectators() const
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
const vector<TMVA::VariableInfo>&TMVA::VariableTransformBase::Targets() const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
voidTMVA::VariableTransformBase::ToggleInputSortOrder(Bool_t sortOrder)
virtual const TMVA::Event*Transform(const TMVA::Event *const, Int_t cls) const
virtual voidTObject::UseCurrentStyle()
Bool_tTMVA::VariableTransformBase::UseSignalTransform() const
TMVA::VariablePCATransformVariablePCATransform(TMVA::DataSetInfo& dsi)
TMVA::VariablePCATransformVariablePCATransform(const TMVA::VariablePCATransform&)
const vector<TMVA::VariableInfo>&TMVA::VariableTransformBase::Variables() const
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
virtual voidWriteTransformationToStream(ostream&) const
private:
voidCalculatePrincipalComponents(const vector<TMVA::Event*,allocator<TMVA::Event*> >&)
voidP2X(vector<Float_t>&, const vector<Float_t>&, Int_t cls) const
voidX2P(vector<Float_t>&, const vector<Float_t>&, Int_t cls) const

Data Members

private:
vector<TMatrixD*>fEigenVectorseigenvectors
vector<TVectorD*>fMeanValuesmean values

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

VariablePCATransform( DataSetInfo& dsi )
 constructor
~VariablePCATransform()
 destructor
void Initialize()
 initialization of the transformation.
 Has to be called in the preparation and not in the constructor,
 since the number of classes it not known at construction, but
 only after the creation of the DataSet which might be later.
Bool_t PrepareTransformation(const vector<TMVA::Event*,allocator<TMVA::Event*> >& )
 calculate the principal components using the ROOT class TPrincipal
 and the normalization
const TMVA::Event* Transform(const TMVA::Event *const , Int_t cls) const
 apply the principal component analysis
const TMVA::Event* InverseTransform(const TMVA::Event *const , Int_t cls) const
 apply the principal component analysis
 TODO: implementation of inverse transformation
    Log() << kFATAL << "Inverse transformation for PCA transformation not yet implemented. Hence, this transformation cannot be applied together with regression. Please contact the authors if necessary." << Endl;
void CalculatePrincipalComponents(const vector<TMVA::Event*,allocator<TMVA::Event*> >& )
 calculate the principal components for the signal and the background data
 it uses the MakePrincipal method of ROOT's TPrincipal class
void X2P(vector<Float_t>& , const vector<Float_t>& , Int_t cls) const
 Calculate the principal components from the original data vector
 x, and return it in p (function extracted from TPrincipal::X2P)
 It's the users responsibility to make sure that both x and p are
 of the right size (i.e., memory must be allocated for p)
void P2X(vector<Float_t>& , const vector<Float_t>& , Int_t cls) const
 Perform the back-transformation from the principal components
 pc, and return x
 It's the users responsibility to make sure that both x and pc are
 of the right size (i.e., memory must be allocated for p)
void WriteTransformationToStream(ostream& ) const
 write mean values to stream
void AttachXMLTo(void* parent)
 create XML description of PCA transformation
void ReadFromXML(void* trfnode)
 Read the transformation matrices from the xml node
void ReadTransformationFromStream(istream& , const TString& )
 Read mean values from input stream
void MakeFunction(ostream& fout, const TString& fncName, Int_t part, UInt_t trCounter, Int_t cls)
 creates C++ code fragment of the PCA transform for inclusion in standalone C++ class
VariablePCATransform( DataSetInfo& dsi )