LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
MvaVertexSelectionAlgorithm.h
Go to the documentation of this file.
1 
8 #ifndef LAR_MVA_VERTEX_SELECTION_ALGORITHM_H
9 #define LAR_MVA_VERTEX_SELECTION_ALGORITHM_H 1
10 
11 #include "Api/PandoraContentApi.h"
12 
16 
18 
20 
21 #include <random>
22 
23 namespace lar_content
24 {
25 
26 template <typename, unsigned int>
27 class KDTreeLinkerAlgo;
28 template <typename, unsigned int>
29 class KDTreeNodeInfoT;
30 
31 //------------------------------------------------------------------------------------------------------------------------------------------
32 
36 template <typename T>
38 {
39 public:
44 
45 protected:
46  pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle);
47 
48 private:
59  void GetVertexScoreList(const pandora::VertexVector &vertexVector, const BeamConstants &beamConstants, HitKDTree2D &kdTreeU,
60  HitKDTree2D &kdTreeV, HitKDTree2D &kdTreeW, VertexScoreList &vertexScoreList) const;
61 
74  const pandora::Vertex *CompareVertices(const pandora::VertexVector &vertexVector, const VertexFeatureInfoMap &vertexFeatureInfoMap,
75  const LArMvaHelper::MvaFeatureVector &eventFeatureList, const KDTreeMap &kdTreeMap, const T &t, const bool useRPhi) const;
76 
78  std::string m_mvaFileName;
79  std::string m_regionMvaName;
80  std::string m_vertexMvaName;
83 };
84 
87 
88 } // namespace lar_content
89 
90 #endif // #ifndef LAR_MVA_VERTEX_SELECTION_ALGORITHM_H
MvaTypes::MvaFeatureVector MvaFeatureVector
Definition: LArMvaHelper.h:75
std::string m_filePathEnvironmentVariable
The environment variable providing a list of paths to mva files.
MvaVertexSelectionAlgorithm< AdaBoostDecisionTree > BdtVertexSelectionAlgorithm
const pandora::Vertex * CompareVertices(const pandora::VertexVector &vertexVector, const VertexFeatureInfoMap &vertexFeatureInfoMap, const LArMvaHelper::MvaFeatureVector &eventFeatureList, const KDTreeMap &kdTreeMap, const T &t, const bool useRPhi) const
Used a binary classifier to compare a set of vertices and pick the best one.
Header file for the trained vertex selection algorithm class.
void GetVertexScoreList(const pandora::VertexVector &vertexVector, const BeamConstants &beamConstants, HitKDTree2D &kdTreeU, HitKDTree2D &kdTreeV, HitKDTree2D &kdTreeW, VertexScoreList &vertexScoreList) const
Get the vertex score list.
Header file for the lar adaptive boosted decision tree class.
Header file for the lar monte carlo particle helper helper class.
Header file for the lar support vector machine class.
Header file for the lar two dimensional sliding fit result class.
std::string m_regionMvaName
The name of the region mva to find.
MvaVertexSelectionAlgorithm< SupportVectorMachine > SvmVertexSelectionAlgorithm
std::string m_vertexMvaName
The name of the vertex mva to find.
std::vector< art::Ptr< recob::Vertex > > VertexVector
boost::graph_traits< ModuleGraph >::vertex_descriptor Vertex
Definition: ModuleGraph.h:25
std::map< pandora::HitType, const std::reference_wrapper< HitKDTree2D > > KDTreeMap
Map array of hit kd trees for passing to tools.
pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)
std::map< const pandora::Vertex *const, VertexFeatureInfo > VertexFeatureInfoMap