LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
PfoCharacterisationBaseAlgorithm.h
Go to the documentation of this file.
1 
8 #ifndef LAR_PFO_CHARACTERISATION_BASE_ALGORITHM_H
9 #define LAR_PFO_CHARACTERISATION_BASE_ALGORITHM_H 1
10 
11 #include "Pandora/Algorithm.h"
12 
13 namespace lar_content
14 {
15 
19 class PfoCharacterisationBaseAlgorithm : public pandora::Algorithm
20 {
21 public:
26 
31 
32 protected:
33  pandora::StatusCode Run();
34 
42  virtual bool IsClearTrack3x2D(const pandora::ParticleFlowObject *const pPfo) const;
43 
51  virtual bool IsClearTrack(const pandora::ParticleFlowObject *const pPfo) const = 0;
52 
60  virtual bool IsClearTrack(const pandora::Cluster *const pCluster) const = 0;
61 
62  pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle);
63 
64  std::string m_trackPfoListName;
65  std::string m_showerPfoListName;
66  pandora::StringVector m_inputPfoListNames;
67 
71  unsigned int m_minTrackLikeViews;
72 };
73 
74 } // namespace lar_content
75 
76 #endif // #ifndef LAR_PFO_CHARACTERISATION_BASE_ALGORITHM_H
virtual bool IsClearTrack3x2D(const pandora::ParticleFlowObject *const pPfo) const
Whether pfo is identified as a clear track using its three clusters.
pandora::StringVector m_inputPfoListNames
The names of the input pfo lists.
virtual bool IsClearTrack(const pandora::ParticleFlowObject *const pPfo) const =0
Whether pfo is identified as a clear track.
unsigned int m_minTrackLikeViews
The minimum number of track-like views to declare a pfo as track-like.
bool m_postBranchAddition
Whether to use configuration for shower clusters post branch addition.
bool m_updateClusterIds
Whether to update daughter cluster particle id labels to match pfo id.
pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)
bool m_useThreeDInformation
Whether to use PFO and 3D information or clusters for characterisation.
std::string m_showerPfoListName
The shower pfo list name.