96   , fSepType(from.fSepType)
 
   98   Log() << kFATAL << 
"COPY CONSTRUCTOR NOT IMPLEMENTED" << 
Endl;
 
  128      Log() << kFATAL << 
"<DTExplore> Null pointer given!" << 
Endl;
 
  131   std::vector<TH1D*> hsig, hbkg, hsig_unw, hbkg_unw;
 
  134   hsig_unw.reserve(fDim);
 
  135   hbkg_unw.reserve(fDim);
 
  136   for (
Int_t idim = 0; idim < fDim; idim++) {
 
  138                              TString::Format(
"signal[%i]", idim), fNBin, fXmin[idim], fXmax[idim]));
 
  140                              TString::Format(
"background[%i]", idim), fNBin, fXmin[idim], fXmax[idim]));
 
  142                                  TString::Format(
"signal_unw[%i]", idim), fNBin, fXmin[idim], fXmax[idim]));
 
  144                                  TString::Format(
"background_unw[%i]", idim), fNBin, fXmin[idim], fXmax[idim]));
 
  148   PDEFoamVect  cellSize(GetTotDim()), cellPosi(GetTotDim());
 
  149   cell->
GetHcub(cellPosi, cellSize);
 
  152   std::vector<Double_t> lb(GetTotDim()); 
 
  153   std::vector<Double_t> ub(GetTotDim()); 
 
  154   for (
Int_t idim = 0; idim < GetTotDim(); idim++) {
 
  155      lb[idim] = VarTransformInvers(idim, cellPosi[idim] - std::numeric_limits<float>::epsilon());
 
  156      ub[idim] = VarTransformInvers(idim, cellPosi[idim] + cellSize[idim] + std::numeric_limits<float>::epsilon());
 
  162      Log() << kFATAL << 
"<PDEFoamDecisionTree::Explore>: cast failed: " 
  163            << 
"PDEFoamDensityBase* --> PDEFoamDecisionTreeDensity*" << 
Endl;
 
  175   Double_t nTotS = hsig.at(0)->Integral(0, hsig.at(0)->GetNbinsX() + 1);
 
  176   Double_t nTotB = hbkg.at(0)->Integral(0, hbkg.at(0)->GetNbinsX() + 1);
 
  177   Double_t nTotS_unw = hsig_unw.at(0)->Integral(0, hsig_unw.at(0)->GetNbinsX() + 1);
 
  178   Double_t nTotB_unw = hbkg_unw.at(0)->Integral(0, hbkg_unw.at(0)->GetNbinsX() + 1);
 
  180   for (
Int_t idim = 0; idim < fDim; ++idim) {
 
  181      Double_t nSelS = hsig.at(idim)->GetBinContent(0);
 
  182      Double_t nSelB = hbkg.at(idim)->GetBinContent(0);
 
  183      Double_t nSelS_unw = hsig_unw.at(idim)->GetBinContent(0);
 
  184      Double_t nSelB_unw = hbkg_unw.at(idim)->GetBinContent(0);
 
  185      for (
Int_t jLo = 1; jLo < fNBin; jLo++) {
 
  186         nSelS += hsig.at(idim)->GetBinContent(jLo);
 
  187         nSelB += hbkg.at(idim)->GetBinContent(jLo);
 
  188         nSelS_unw += hsig_unw.at(idim)->GetBinContent(jLo);
 
  189         nSelB_unw += hbkg_unw.at(idim)->GetBinContent(jLo);
 
  193         if (!((nSelS_unw + nSelB_unw) >= GetNmin() &&
 
  194               (nTotS_unw - nSelS_unw + nTotB_unw - nSelB_unw) >= GetNmin()))
 
  200         Double_t gain = fSepType->GetSeparationGain(nSelS, nSelB, nTotS, nTotB);
 
  202         if (gain >= maxGain) {
 
  210   if (kBest >= fDim || kBest < 0) {
 
  221   if (nTotB + nTotS > 0)
 
  222      cell->
SetIntg(nTotS / (nTotB + nTotS));
 
  231      SetCellElement(cell, 0, nTotS + nTotB);
 
  234   for (
UInt_t ih = 0; ih < hsig.size(); ih++)  
delete hsig.at(ih);
 
  235   for (
UInt_t ih = 0; ih < hbkg.size(); ih++)  
delete hbkg.at(ih);
 
  236   for (
UInt_t ih = 0; ih < hsig_unw.size(); ih++)  
delete hsig_unw.at(ih);
 
  237   for (
UInt_t ih = 0; ih < hbkg_unw.size(); ih++)  
delete hbkg_unw.at(ih);
 
1-D histogram with a double per channel (see TH1 documentation)}
void SetXdiv(Double_t Xdiv)
void CalcVolume()
Calculates volume of the cell using size params which are calculated.
void SetDriv(Double_t Driv)
void GetHcub(PDEFoamVect &, PDEFoamVect &) const
Provides size and position of the cell These parameter are calculated by analyzing information in all...
void SetIntg(Double_t Intg)
This is a concrete implementation of PDEFoam.
virtual void FillHistograms(TMVA::Volume &, std::vector< TH1D * > &, std::vector< TH1D * > &, std::vector< TH1D * > &, std::vector< TH1D * > &)
Fill the given histograms with signal and background events, which are found in the volume.
This PDEFoam variant acts like a decision tree and stores in every cell the discriminant.
virtual void Explore(PDEFoamCell *Cell)
Internal subprogram used by Create.
PDEFoamDecisionTree()
Default constructor for streamer, user should not use it.
virtual ~PDEFoamDecisionTree()
Destructor deletes fSepType.
This PDEFoam variant stores in every cell the discriminant.
An interface to calculate the "SeparationGain" for different separation criteria used in various trai...
Volume for BinarySearchTree.
static TString Format(const char *fmt,...)
Static method which formats a string using a printf style format descriptor and return a TString.
MsgLogger & Endl(MsgLogger &ml)