Definition at line 53 of file RuleEnsemble.h.
Public Types | |
enum | ELearningModel { kFull =0 , kRules =1 , kLinear =2 } |
Public Member Functions | |
RuleEnsemble () | |
constructor | |
RuleEnsemble (const RuleEnsemble &other) | |
copy constructor | |
RuleEnsemble (RuleFit *rf) | |
constructor | |
virtual | ~RuleEnsemble () |
destructor | |
void | AddOffset (Double_t v) |
void * | AddXMLTo (void *parent) const |
write rules to XML | |
void | CalcImportance () |
calculate the importance of each rule | |
Double_t | CalcLinImportance () |
calculate the linear importance for each rule | |
Double_t | CalcLinNorm (Double_t stdev) |
Int_t | CalcNRules (const TMVA::DecisionTree *dtree) |
calculate the number of rules | |
Double_t | CalcRuleImportance () |
calculate importance of each rule | |
void | CalcRuleSupport () |
calculate the support for all rules | |
void | CalcVarImportance () |
Calculates variable importance using eq (35) in RuleFit paper by Friedman et.al. | |
void | CleanupLinear () |
cleanup linear model | |
void | CleanupRules () |
cleanup rules | |
void | ClearCoefficients (Double_t val=0) |
void | ClearLinCoefficients (Double_t val=0) |
void | ClearLinNorm (Double_t val=1.0) |
void | ClearRuleMap () |
Double_t | CoefficientRadius () |
Calculates sqrt(Sum(a_i^2)), i=1..N (NOTE do not include a0) | |
Bool_t | DoFull () const |
Bool_t | DoLinear () const |
Bool_t | DoOnlyLinear () const |
Bool_t | DoOnlyRules () const |
Bool_t | DoRules () const |
Double_t | EvalEvent () const |
Double_t | EvalEvent (const Event &e) |
Double_t | EvalEvent (const Event &e, Double_t ofs, const std::vector< Double_t > &coefs, const std::vector< Double_t > &lincoefs) |
Double_t | EvalEvent (Double_t ofs, const std::vector< Double_t > &coefs, const std::vector< Double_t > &lincoefs) const |
Double_t | EvalEvent (UInt_t evtidx) const |
Double_t | EvalEvent (UInt_t evtidx, Double_t ofs, const std::vector< Double_t > &coefs, const std::vector< Double_t > &lincoefs) const |
Double_t | EvalLinEvent () const |
Double_t | EvalLinEvent (const Event &e) |
Double_t | EvalLinEvent (const Event &e, const std::vector< Double_t > &coefs) |
Double_t | EvalLinEvent (const Event &e, UInt_t vind) |
Double_t | EvalLinEvent (const std::vector< Double_t > &coefs) const |
Double_t | EvalLinEvent (UInt_t evtidx) const |
Double_t | EvalLinEvent (UInt_t evtidx, const std::vector< Double_t > &coefs) const |
Double_t | EvalLinEvent (UInt_t evtidx, UInt_t vind) const |
Double_t | EvalLinEvent (UInt_t evtidx, UInt_t vind, Double_t coefs) const |
Double_t | EvalLinEventRaw (UInt_t vind, const Event &e, Bool_t norm) const |
Double_t | EvalLinEventRaw (UInt_t vind, UInt_t evtidx, Bool_t norm) const |
void | FindNEndNodes (const TMVA::Node *node, Int_t &nendnodes) |
find the number of leaf nodes | |
Double_t | FStar () const |
We want to estimate F* = argmin Eyx( L(y,F(x) ), min wrt F(x) F(x) = FL(x) + FR(x) , linear and rule part. | |
Double_t | FStar (const TMVA::Event &e) |
We want to estimate F* = argmin Eyx( L(y,F(x) ), min wrt F(x) F(x) = FL(x) + FR(x) , linear and rule part. | |
Double_t | GetAverageRuleSigma () const |
Double_t | GetAverageSupport () const |
void | GetCoefficients (std::vector< Double_t > &v) |
Retrieve all rule coefficients. | |
const Event * | GetEvent () const |
Double_t | GetEventLinearVal (UInt_t i) const |
Double_t | GetEventLinearValNorm (UInt_t i) const |
const std::vector< UInt_t > & | GetEventRuleMap (UInt_t evtidx) const |
Double_t | GetEventRuleVal (UInt_t i) const |
Double_t | GetImportanceCut () const |
Double_t | GetImportanceRef () const |
ELearningModel | GetLearningModel () const |
const std::vector< Double_t > & | GetLinCoefficients () const |
Double_t | GetLinCoefficients (int i) const |
Double_t | GetLinDM (int i) const |
Double_t | GetLinDP (int i) const |
const std::vector< Double_t > & | GetLinImportance () const |
Double_t | GetLinImportance (int i) const |
const std::vector< Double_t > & | GetLinNorm () const |
Double_t | GetLinNorm (int i) const |
Double_t | GetLinQuantile () const |
const MethodBase * | GetMethodBase () const |
Get a pointer to the original MethodRuleFit. | |
const MethodRuleFit * | GetMethodRuleFit () const |
Get a pointer to the original MethodRuleFit. | |
UInt_t | GetNLinear () const |
UInt_t | GetNRules () const |
Double_t | GetOffset () const |
const RuleFit * | GetRuleFit () const |
const TMVA::Event * | GetRuleMapEvent (UInt_t evtidx) const |
Double_t | GetRuleMinDist () const |
Double_t | GetRulePBB (int i) const |
Double_t | GetRulePBS (int i) const |
Double_t | GetRulePSB (int i) const |
Double_t | GetRulePSS (int i) const |
Double_t | GetRulePTag (int i) const |
std::vector< TMVA::Rule * > & | GetRules () |
Rule * | GetRules (int i) |
const std::vector< TMVA::Rule * > & | GetRulesConst () const |
const Rule * | GetRulesConst (int i) const |
UInt_t | GetRulesNCuts (int i) const |
const Event * | GetTrainingEvent (UInt_t i) const |
get the training event from the rule fitter | |
const std::vector< const TMVA::Event * > * | GetTrainingEvents () const |
get list of training events from the rule fitter | |
const std::vector< Double_t > & | GetVarImportance () const |
Double_t | GetVarImportance (int i) const |
void | Initialize (const RuleFit *rf) |
Initializes all member variables with default values. | |
Bool_t | IsLinTermOK (int i) const |
Bool_t | IsRuleMapOK () const |
void | MakeLinearTerms () |
Make the linear terms as in eq 25, ref 2 For this the b and (1-b) quantiles are needed. | |
void | MakeModel () |
create model | |
void | MakeRuleMap (const std::vector< const TMVA::Event * > *events=0, UInt_t ifirst=0, UInt_t ilast=0) |
Makes rule map for all events. | |
void | MakeRules (const std::vector< const TMVA::DecisionTree * > &forest) |
Makes rules from the given decision tree. | |
void | operator= (const RuleEnsemble &other) |
Double_t | PdfLinear (Double_t &nsig, Double_t &ntot) const |
This function returns Pr( y = 1 | x ) for the linear terms. | |
Double_t | PdfRule (Double_t &nsig, Double_t &ntot) const |
This function returns Pr( y = 1 | x ) for rules. | |
void | Print () const |
print function | |
void | PrintRaw (std::ostream &os) const |
write rules to stream | |
void | PrintRuleGen () const |
print rule generation info | |
void | ReadFromXML (void *wghtnode) |
read rules from XML | |
void | ReadRaw (std::istream &istr) |
read rule ensemble from stream | |
void | RemoveSimilarRules () |
remove rules that behave similar | |
void | RuleResponseStats () |
calculate various statistics for this rule | |
void | RuleStatistics () |
calculate various statistics for this rule | |
void | SetAverageRuleSigma (Double_t v) |
void | SetCoefficient (UInt_t i, Double_t v) |
void | SetCoefficients (const std::vector< Double_t > &v) |
set all rule coefficients | |
void | SetEvent (const Event &e) |
void | SetImportanceCut (Double_t minimp=0) |
void | SetImportanceRef (Double_t impref) |
set reference importance | |
void | SetLinCoefficient (UInt_t i, Double_t v) |
void | SetLinCoefficients (const std::vector< Double_t > &v) |
void | SetLinDM (const std::vector< Double_t > &xmin) |
void | SetLinDP (const std::vector< Double_t > &xmax) |
void | SetLinNorm (const std::vector< Double_t > &norm) |
void | SetLinQuantile (Double_t q) |
void | SetModelFull () |
void | SetModelLinear () |
void | SetModelRules () |
void | SetMsgType (EMsgType t) |
void | SetOffset (Double_t v=0.0) |
void | SetRuleFit (const RuleFit *rf) |
void | SetRuleMinDist (Double_t d) |
void | SetRules (const std::vector< TMVA::Rule * > &rules) |
set rules | |
void | UpdateEventVal () |
Private Member Functions | |
void | AddRule (const Node *node) |
add a new rule to the tree | |
void | Copy (RuleEnsemble const &other) |
copy function | |
void | DeleteRules () |
MsgLogger & | Log () const |
message logger | |
void | MakeRulesFromTree (const DecisionTree *dtree) |
create rules from the decision tree structure | |
Rule * | MakeTheRule (const Node *node) |
Make a Rule from a given Node. | |
void | ResetCoefficients () |
reset all rule coefficients | |
Friends | |
std::ostream & | operator<< (std::ostream &os, const RuleEnsemble &rules) |
#include <TMVA/RuleEnsemble.h>
Enumerator | |
---|---|
kFull | |
kRules | |
kLinear |
Definition at line 60 of file RuleEnsemble.h.
TMVA::RuleEnsemble::RuleEnsemble | ( | RuleFit * | rf | ) |
constructor
Definition at line 56 of file RuleEnsemble.cxx.
TMVA::RuleEnsemble::RuleEnsemble | ( | const RuleEnsemble & | other | ) |
copy constructor
Definition at line 82 of file RuleEnsemble.cxx.
TMVA::RuleEnsemble::RuleEnsemble | ( | ) |
constructor
Definition at line 95 of file RuleEnsemble.cxx.
|
virtual |
destructor
Definition at line 122 of file RuleEnsemble.cxx.
Definition at line 109 of file RuleEnsemble.h.
add a new rule to the tree
Definition at line 1298 of file RuleEnsemble.cxx.
write rules to XML
Definition at line 1090 of file RuleEnsemble.cxx.
void TMVA::RuleEnsemble::CalcImportance | ( | ) |
calculate the importance of each rule
Definition at line 420 of file RuleEnsemble.cxx.
Double_t TMVA::RuleEnsemble::CalcLinImportance | ( | ) |
calculate the linear importance for each rule
Definition at line 461 of file RuleEnsemble.cxx.
Definition at line 116 of file RuleEnsemble.h.
Int_t TMVA::RuleEnsemble::CalcNRules | ( | const TMVA::DecisionTree * | dtree | ) |
calculate the number of rules
Definition at line 1261 of file RuleEnsemble.cxx.
Double_t TMVA::RuleEnsemble::CalcRuleImportance | ( | ) |
calculate importance of each rule
Definition at line 441 of file RuleEnsemble.cxx.
void TMVA::RuleEnsemble::CalcRuleSupport | ( | ) |
calculate the support for all rules
Definition at line 369 of file RuleEnsemble.cxx.
void TMVA::RuleEnsemble::CalcVarImportance | ( | ) |
Calculates variable importance using eq (35) in RuleFit paper by Friedman et.al.
Definition at line 487 of file RuleEnsemble.cxx.
void TMVA::RuleEnsemble::CleanupLinear | ( | ) |
cleanup linear model
Definition at line 354 of file RuleEnsemble.cxx.
void TMVA::RuleEnsemble::CleanupRules | ( | ) |
cleanup rules
Definition at line 327 of file RuleEnsemble.cxx.
Definition at line 119 of file RuleEnsemble.h.
Definition at line 120 of file RuleEnsemble.h.
Definition at line 121 of file RuleEnsemble.h.
|
inline |
Definition at line 150 of file RuleEnsemble.h.
Double_t TMVA::RuleEnsemble::CoefficientRadius | ( | ) |
Calculates sqrt(Sum(a_i^2)), i=1..N (NOTE do not include a0)
Definition at line 198 of file RuleEnsemble.cxx.
|
private |
copy function
Definition at line 1234 of file RuleEnsemble.cxx.
|
inlineprivate |
Definition at line 319 of file RuleEnsemble.h.
|
inline |
Definition at line 257 of file RuleEnsemble.h.
|
inline |
Definition at line 253 of file RuleEnsemble.h.
|
inline |
Definition at line 256 of file RuleEnsemble.h.
|
inline |
Definition at line 255 of file RuleEnsemble.h.
|
inline |
Definition at line 254 of file RuleEnsemble.h.
|
inline |
Definition at line 412 of file RuleEnsemble.h.
Definition at line 467 of file RuleEnsemble.h.
|
inline |
Definition at line 476 of file RuleEnsemble.h.
|
inline |
Definition at line 439 of file RuleEnsemble.h.
Definition at line 488 of file RuleEnsemble.h.
|
inline |
Definition at line 514 of file RuleEnsemble.h.
|
inline |
Definition at line 560 of file RuleEnsemble.h.
Definition at line 586 of file RuleEnsemble.h.
|
inline |
Definition at line 606 of file RuleEnsemble.h.
Definition at line 596 of file RuleEnsemble.h.
Definition at line 573 of file RuleEnsemble.h.
Definition at line 631 of file RuleEnsemble.h.
|
inline |
Definition at line 616 of file RuleEnsemble.h.
Definition at line 646 of file RuleEnsemble.h.
|
inline |
Definition at line 656 of file RuleEnsemble.h.
|
inline |
Definition at line 538 of file RuleEnsemble.h.
|
inline |
Definition at line 549 of file RuleEnsemble.h.
void TMVA::RuleEnsemble::FindNEndNodes | ( | const TMVA::Node * | node, |
Int_t & | nendnodes | ||
) |
find the number of leaf nodes
Definition at line 1273 of file RuleEnsemble.cxx.
Double_t TMVA::RuleEnsemble::FStar | ( | ) | const |
We want to estimate F* = argmin Eyx( L(y,F(x) ), min wrt F(x) F(x) = FL(x) + FR(x) , linear and rule part.
Definition at line 788 of file RuleEnsemble.cxx.
Double_t TMVA::RuleEnsemble::FStar | ( | const TMVA::Event & | e | ) |
We want to estimate F* = argmin Eyx( L(y,F(x) ), min wrt F(x) F(x) = FL(x) + FR(x) , linear and rule part.
Definition at line 777 of file RuleEnsemble.cxx.
|
inline |
Definition at line 292 of file RuleEnsemble.h.
|
inline |
Definition at line 291 of file RuleEnsemble.h.
Retrieve all rule coefficients.
Definition at line 242 of file RuleEnsemble.cxx.
|
inline |
Definition at line 251 of file RuleEnsemble.h.
Definition at line 294 of file RuleEnsemble.h.
Definition at line 295 of file RuleEnsemble.h.
Definition at line 297 of file RuleEnsemble.h.
Definition at line 293 of file RuleEnsemble.h.
|
inline |
Definition at line 259 of file RuleEnsemble.h.
|
inline |
Definition at line 260 of file RuleEnsemble.h.
|
inline |
Definition at line 258 of file RuleEnsemble.h.
|
inline |
Definition at line 265 of file RuleEnsemble.h.
Definition at line 277 of file RuleEnsemble.h.
Definition at line 279 of file RuleEnsemble.h.
Definition at line 280 of file RuleEnsemble.h.
|
inline |
Definition at line 267 of file RuleEnsemble.h.
Definition at line 281 of file RuleEnsemble.h.
|
inline |
Definition at line 266 of file RuleEnsemble.h.
Definition at line 278 of file RuleEnsemble.h.
|
inline |
Definition at line 270 of file RuleEnsemble.h.
const TMVA::MethodBase * TMVA::RuleEnsemble::GetMethodBase | ( | ) | const |
Get a pointer to the original MethodRuleFit.
Definition at line 171 of file RuleEnsemble.cxx.
const TMVA::MethodRuleFit * TMVA::RuleEnsemble::GetMethodRuleFit | ( | ) | const |
Get a pointer to the original MethodRuleFit.
Definition at line 162 of file RuleEnsemble.cxx.
|
inline |
Definition at line 269 of file RuleEnsemble.h.
|
inline |
Definition at line 262 of file RuleEnsemble.h.
|
inline |
Definition at line 261 of file RuleEnsemble.h.
|
inline |
Definition at line 247 of file RuleEnsemble.h.
|
inline |
Definition at line 298 of file RuleEnsemble.h.
|
inline |
Definition at line 276 of file RuleEnsemble.h.
Definition at line 287 of file RuleEnsemble.h.
Definition at line 286 of file RuleEnsemble.h.
Definition at line 285 of file RuleEnsemble.h.
Definition at line 284 of file RuleEnsemble.h.
Definition at line 283 of file RuleEnsemble.h.
|
inline |
Definition at line 264 of file RuleEnsemble.h.
Definition at line 273 of file RuleEnsemble.h.
|
inline |
Definition at line 263 of file RuleEnsemble.h.
Definition at line 272 of file RuleEnsemble.h.
Definition at line 275 of file RuleEnsemble.h.
const TMVA::Event * TMVA::RuleEnsemble::GetTrainingEvent | ( | UInt_t | i | ) | const |
get the training event from the rule fitter
Definition at line 264 of file RuleEnsemble.cxx.
const std::vector< const TMVA::Event * > * TMVA::RuleEnsemble::GetTrainingEvents | ( | ) | const |
get list of training events from the rule fitter
Definition at line 256 of file RuleEnsemble.cxx.
|
inline |
Definition at line 268 of file RuleEnsemble.h.
Definition at line 282 of file RuleEnsemble.h.
Initializes all member variables with default values.
Definition at line 134 of file RuleEnsemble.cxx.
Definition at line 289 of file RuleEnsemble.h.
|
inline |
Definition at line 299 of file RuleEnsemble.h.
|
inlineprivate |
message logger
Definition at line 382 of file RuleEnsemble.h.
void TMVA::RuleEnsemble::MakeLinearTerms | ( | ) |
Make the linear terms as in eq 25, ref 2 For this the b and (1-b) quantiles are needed.
Definition at line 605 of file RuleEnsemble.cxx.
void TMVA::RuleEnsemble::MakeModel | ( | ) |
create model
Definition at line 179 of file RuleEnsemble.cxx.
void TMVA::RuleEnsemble::MakeRuleMap | ( | const std::vector< const TMVA::Event * > * | events = 0 , |
UInt_t | ifirst = 0 , |
||
UInt_t | ilast = 0 |
||
) |
Makes rule map for all events.
Definition at line 1362 of file RuleEnsemble.cxx.
void TMVA::RuleEnsemble::MakeRules | ( | const std::vector< const TMVA::DecisionTree * > & | forest | ) |
Makes rules from the given decision tree.
First node in all rules is ALWAYS the root node.
Definition at line 552 of file RuleEnsemble.cxx.
|
private |
create rules from the decision tree structure
Definition at line 1289 of file RuleEnsemble.cxx.
|
private |
Make a Rule from a given Node.
The root node (ie no parent) does not generate a Rule. The first node in a rule is always the root node => fNodes.size()>=2 Each node corresponds to a cut and the cut value is given by the parent node.
Definition at line 1324 of file RuleEnsemble.cxx.
|
inline |
Definition at line 236 of file RuleEnsemble.h.
This function returns Pr( y = 1 | x ) for the linear terms.
Definition at line 723 of file RuleEnsemble.cxx.
This function returns Pr( y = 1 | x ) for rules.
The probability returned is normalized against the number of rules which are actually passed
Definition at line 747 of file RuleEnsemble.cxx.
void TMVA::RuleEnsemble::Print | ( | ) | const |
print function
Definition at line 938 of file RuleEnsemble.cxx.
void TMVA::RuleEnsemble::PrintRaw | ( | std::ostream & | os | ) | const |
write rules to stream
Definition at line 1056 of file RuleEnsemble.cxx.
void TMVA::RuleEnsemble::PrintRuleGen | ( | ) | const |
print rule generation info
Definition at line 919 of file RuleEnsemble.cxx.
read rules from XML
Definition at line 1121 of file RuleEnsemble.cxx.
void TMVA::RuleEnsemble::ReadRaw | ( | std::istream & | istr | ) |
read rule ensemble from stream
Definition at line 1176 of file RuleEnsemble.cxx.
void TMVA::RuleEnsemble::RemoveSimilarRules | ( | ) |
remove rules that behave similar
Definition at line 272 of file RuleEnsemble.cxx.
|
private |
reset all rule coefficients
Definition at line 215 of file RuleEnsemble.cxx.
void TMVA::RuleEnsemble::RuleResponseStats | ( | ) |
calculate various statistics for this rule
Definition at line 810 of file RuleEnsemble.cxx.
void TMVA::RuleEnsemble::RuleStatistics | ( | ) |
calculate various statistics for this rule
Definition at line 897 of file RuleEnsemble.cxx.
Definition at line 133 of file RuleEnsemble.h.
Definition at line 106 of file RuleEnsemble.h.
set all rule coefficients
Definition at line 227 of file RuleEnsemble.cxx.
Definition at line 141 of file RuleEnsemble.h.
Definition at line 127 of file RuleEnsemble.h.
set reference importance
Definition at line 431 of file RuleEnsemble.cxx.
Definition at line 111 of file RuleEnsemble.h.
Definition at line 110 of file RuleEnsemble.h.
Definition at line 112 of file RuleEnsemble.h.
Definition at line 113 of file RuleEnsemble.h.
Definition at line 114 of file RuleEnsemble.h.
Definition at line 130 of file RuleEnsemble.h.
|
inline |
Definition at line 96 of file RuleEnsemble.h.
|
inline |
Definition at line 90 of file RuleEnsemble.h.
|
inline |
Definition at line 93 of file RuleEnsemble.h.
void TMVA::RuleEnsemble::SetMsgType | ( | EMsgType | t | ) |
Definition at line 154 of file RuleEnsemble.cxx.
Definition at line 108 of file RuleEnsemble.h.
Definition at line 102 of file RuleEnsemble.h.
Definition at line 124 of file RuleEnsemble.h.
void TMVA::RuleEnsemble::SetRules | ( | const std::vector< TMVA::Rule * > & | rules | ) |
|
inline |
Definition at line 387 of file RuleEnsemble.h.
|
friend |
|
private |
Definition at line 353 of file RuleEnsemble.h.
|
private |
Definition at line 352 of file RuleEnsemble.h.
|
private |
Definition at line 368 of file RuleEnsemble.h.
|
private |
Definition at line 369 of file RuleEnsemble.h.
|
private |
Definition at line 371 of file RuleEnsemble.h.
|
private |
Definition at line 370 of file RuleEnsemble.h.
|
private |
Definition at line 338 of file RuleEnsemble.h.
|
private |
Definition at line 351 of file RuleEnsemble.h.
|
private |
Definition at line 337 of file RuleEnsemble.h.
|
private |
Definition at line 345 of file RuleEnsemble.h.
|
private |
Definition at line 344 of file RuleEnsemble.h.
|
private |
Definition at line 343 of file RuleEnsemble.h.
|
private |
Definition at line 349 of file RuleEnsemble.h.
|
private |
Definition at line 346 of file RuleEnsemble.h.
|
private |
Definition at line 347 of file RuleEnsemble.h.
|
private |
Definition at line 348 of file RuleEnsemble.h.
|
private |
Definition at line 339 of file RuleEnsemble.h.
|
private |
Definition at line 342 of file RuleEnsemble.h.
|
mutableprivate |
Definition at line 381 of file RuleEnsemble.h.
|
private |
Definition at line 366 of file RuleEnsemble.h.
|
private |
Definition at line 340 of file RuleEnsemble.h.
|
private |
Definition at line 379 of file RuleEnsemble.h.
|
private |
Definition at line 361 of file RuleEnsemble.h.
|
private |
Definition at line 374 of file RuleEnsemble.h.
|
private |
Definition at line 377 of file RuleEnsemble.h.
|
private |
Definition at line 375 of file RuleEnsemble.h.
|
private |
Definition at line 376 of file RuleEnsemble.h.
|
private |
Definition at line 373 of file RuleEnsemble.h.
|
private |
Definition at line 365 of file RuleEnsemble.h.
|
private |
Definition at line 362 of file RuleEnsemble.h.
|
private |
Definition at line 363 of file RuleEnsemble.h.
|
private |
Definition at line 359 of file RuleEnsemble.h.
|
private |
Definition at line 358 of file RuleEnsemble.h.
|
private |
Definition at line 357 of file RuleEnsemble.h.
|
private |
Definition at line 356 of file RuleEnsemble.h.
|
private |
Definition at line 360 of file RuleEnsemble.h.
|
private |
Definition at line 341 of file RuleEnsemble.h.
|
private |
Definition at line 355 of file RuleEnsemble.h.
|
private |
Definition at line 350 of file RuleEnsemble.h.