Analysis Software
Documentation for sPHENIX simulation 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 #include <Rtypes.h> // for root's Float_t
11 
12 #include <string>
13 #include <tuple>
14 #include <vector>
15 
16 class KFParticle;
17 class KFPVertex;
18 
19 namespace TMVA
20 {
21  class Reader;
22 }
23 
25 {
26  public:
27  KFParticle_MVA() = default;
28 
29  virtual ~KFParticle_MVA() = default;
30 
31  std::tuple<TMVA::Reader*, std::vector<Float_t>> initMVA();
32 
33  Float_t evaluateMVA(TMVA::Reader* reader, std::vector<Float_t> reader_floats, const KFParticle& particle, const KFPVertex& vertex);
34 
35  protected:
36  unsigned int m_nPars = 1;
37  std::vector<std::string> m_mva_variable_list;
40 
41  private:
42  unsigned int nMVApars = m_nPars; // sizeof(m_mva_variable_list)/sizeof(m_mva_variable_list[0]);
43  std::string method = m_mva_path + " method";
44 };
45 
46 #endif // KFPARTICLESPHENIX_KFPARTICLEMVA_H