FairRoot/PandaRoot
PndPDEFoamClassify.h
Go to the documentation of this file.
1 /* ***************************************
2  * PDEFoam Classifier *
3  * Author: M.Babai@rug.nl *
4  * LICENSE: *
5  * Version: 0.1 beta1. *
6  * License: *
7  * ***************************************
8  */
9 #pragma once
10 #ifndef PND_PDE_FOAMCLASSIFY_H
11 #define PND_PDE_FOAMCLASSIFY_H
12 
13 // Local includes
14 #include "PndGpidClassifier.h"
15 
16 //ROOT AND PANDA
17 #include "TMVA/PDEFoam.h"
18 #include "TMVA/Event.h"
19 
20 class PndPDEFoamClassify//: public PndGpidClassifier
21 {
22  public:
23  PndPDEFoamClassify(const std::string& inputFile,
24  const std::vector<std::string>& classNames,
25  const std::vector<std::string>& varNames);
26  virtual ~PndPDEFoamClassify();
27 
28  void GetMvaValues(std::vector<float> eventData,
29  std::map<std::string, float>& result);
30 
31  const std::string& Classify(std::vector<float> EvtData)const;
32 
33  protected:
34  void ReadInputFile();
35 
36  private:
37  //Functions
40 
41  // Variables.
42  // Comment:
43  /*
44  * Mabe wee need to inherit from classifiers in order to avoid
45  * double implementation. For the time being, lets use this.
46  */
47  std::string m_inputFile;
48  std::vector<TMVA::PDEFoam*> m_foams;
49  std::vector<PndMvaVariable> m_vars;
50  std::vector<PndMvaClass> m_classes;
51 };
52 #endif// end of interface definition
std::vector< PndMvaVariable > m_vars
void GetMvaValues(std::vector< float > eventData, std::map< std::string, float > &result)
PndPDEFoamClassify(const std::string &inputFile, const std::vector< std::string > &classNames, const std::vector< std::string > &varNames)
PndPDEFoamClassify & operator=(const PndPDEFoamClassify &other)
virtual ~PndPDEFoamClassify()
std::vector< PndMvaClass > m_classes
std::vector< TMVA::PDEFoam * > m_foams
const std::string & Classify(std::vector< float > EvtData) const