EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
KFParticle_MVA.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file KFParticle_MVA.h
1 /**********************************/
2 /* Program to arrange, init, */
3 /* and calc an MVA response */
4 /* Cameron Dean, LANL, 06/15/20 */
5 /**********************************/
6 
7 #ifndef KFPARTICLESPHENIX_KFPARTICLEMVA_H
8 #define KFPARTICLESPHENIX_KFPARTICLEMVA_H
9 
10 //ROOT stuff
11 #include <TMVA/Reader.h>
12 #include <TMVA/Tools.h>
13 
14 #include <string>
15 #include <vector>
16 
17 class KFParticle;
18 class KFParticleBase;
19 class KFPVertex;
20 
22 {
23  public:
25 
26 virtual ~KFParticle_MVA() {}
27 
28  std::tuple<TMVA::Reader *, std::vector<Float_t>> initMVA();
29 
30  Float_t evaluateMVA(TMVA::Reader *reader, std::vector<Float_t> reader_floats, KFParticle particle, KFPVertex vertex);
31 
32  protected:
33  unsigned int m_nPars = 1;
34  std::vector<std::string> m_mva_variable_list;
35  std::string m_mva_type;
36  std::string m_mva_path;
37 
38  private:
39  unsigned int nMVApars = m_nPars; //sizeof(m_mva_variable_list)/sizeof(m_mva_variable_list[0]);
40 std::string method = m_mva_path + " method";
41 };
42 
43 #endif //KFPARTICLESPHENIX_KFPARTICLEMVA_H