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, const std::vector<std::string> &classNames, const std::vector<std::string> &varNames);
24  virtual ~PndPDEFoamClassify();
25 
26  void GetMvaValues(std::vector<float> eventData, std::map<std::string, float> &result);
27 
28  const std::string &Classify(std::vector<float> EvtData) const;
29 
30  protected:
31  void ReadInputFile();
32 
33  private:
34  // Functions
36  PndPDEFoamClassify &operator=(const PndPDEFoamClassify &other);
37 
38  // Variables.
39  // Comment:
40  /*
41  * Mabe wee need to inherit from classifiers in order to avoid
42  * double implementation. For the time being, lets use this.
43  */
44  std::string m_inputFile;
45  std::vector<TMVA::PDEFoam *> m_foams;
46  std::vector<PndMvaVariable> m_vars;
47  std::vector<PndMvaClass> m_classes;
48 };
49 #endif // end of interface definition
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)
const std::string & Classify(std::vector< float > EvtData) const
virtual ~PndPDEFoamClassify()