MvaPfoCharacterisationAlgorithm.h
Go to the documentation of this file.
1 /**
2  * @file larpandoracontent/LArTrackShowerId/MvaPfoCharacterisationAlgorithm.h
3  *
4  * @brief Header file for the mva pfo characterisation algorithm class.
5  *
6  * $Log: $
7  */
8 #ifndef LAR_MVA_PFO_CHARACTERISATION_ALGORITHM_H
9 #define LAR_MVA_PFO_CHARACTERISATION_ALGORITHM_H 1
10 
12 
15 
18 
19 namespace lar_content
20 {
21 
22 /**
23  * @brief MvaPfoCharacterisationAlgorithm class
24  */
25 template <typename T>
27 {
28 public:
29  /**
30  * @brief Default constructor
31  */
33 
34 protected:
35  virtual bool IsClearTrack(const pandora::ParticleFlowObject *const pPfo) const;
36  virtual bool IsClearTrack(const pandora::Cluster *const pCluster) const;
37  pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle);
38 
42 
43  T m_mva; ///< The mva
44  T m_mvaNoChargeInfo; ///< The mva for missing W view
45 
46  bool m_trainingSetMode; ///< Whether to train
47  bool m_testBeamMode; ///< Whether the training set is from a test beam experiment
48  bool m_enableProbability; ///< Whether to use probabilities instead of binary classification
49  bool m_useThreeDInformation; ///< Whether to use 3D information
50  float m_minProbabilityCut; ///< The minimum probability to label a cluster as track-like
51  unsigned int m_minCaloHitsCut; ///< The minimum number of calo hits to qualify as a track
52  bool m_applyFiducialCut; ///< Whether to apply a fiducial volume cut during training
53  float m_fiducialMinX; ///< Fiducial volume minimum x
54  float m_fiducialMaxX; ///< Fiducial volume maximum x
55  float m_fiducialMinY; ///< Fiducial volume minimum y
56  float m_fiducialMaxY; ///< Fiducial volume maximum y
57  float m_fiducialMinZ; ///< Fiducial volume minimum z
58  float m_fiducialMaxZ; ///< Fiducial volume maximum z
59  bool m_applyReconstructabilityChecks; ///< Whether to apply reconstructability checks during training
60 
61  std::string m_caloHitListName; ///< Name of input calo hit list
62  std::string m_mcParticleListName; ///< Name of input MC particle list
63 
64  std::string m_trainingOutputFile; ///< The training output file
65  std::string m_filePathEnvironmentVariable; ///< The environment variable providing a list of paths to mva files
66  std::string m_mvaFileName; ///< The mva input file
67  std::string m_mvaName; ///< The name of the mva to find
68  std::string m_mvaFileNameNoChargeInfo; ///< The mva input file for PFOs missing the W view, and thus charge info
69  std::string m_mvaNameNoChargeInfo; ///< The name of the mva to find for PFOs missing the W view, and thus charge info
70 
71  LArMCParticleHelper::PrimaryParameters m_primaryParameters; ///< The mc particle primary selection parameters
72 
73 private:
74  /**
75  * @brief Checks if the interaction vertex is within the fiducial volume
76  *
77  * @param vertex The coordinates of the vertex
78  */
79  bool PassesFiducialCut(const pandora::CartesianVector &vertex) const;
80 };
81 
84 
85 } // namespace lar_content
86 
87 #endif // #ifndef LAR_MVA_PFO_CHARACTERISATION_ALGORITHM_H
bool m_enableProbability
Whether to use probabilities instead of binary classification.
std::string m_trainingOutputFile
The training output file.
std::string m_caloHitListName
Name of input calo hit list.
LArMCParticleHelper::PrimaryParameters m_primaryParameters
The mc particle primary selection parameters.
std::string string
Definition: nybbler.cc:12
std::string m_mcParticleListName
Name of input MC particle list.
PfoCharacterisationFeatureTool::FeatureToolVector m_featureToolVectorThreeD
The feature tool map for 3D info.
unsigned int m_minCaloHitsCut
The minimum number of calo hits to qualify as a track.
bool m_testBeamMode
Whether the training set is from a test beam experiment.
bool m_applyReconstructabilityChecks
Whether to apply reconstructability checks during training.
bool m_applyFiducialCut
Whether to apply a fiducial volume cut during training.
Header file for the track shower id feature tools.
Header file for the lar adaptive boosted decision tree class.
pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)
Header file for the lar monte carlo particle helper helper class.
Header file for the lar support vector machine class.
std::string m_mvaNameNoChargeInfo
The name of the mva to find for PFOs missing the W view, and thus charge info.
ClusterCharacterisationFeatureTool::FeatureToolVector m_featureToolVector
The feature tool map.
bool PassesFiducialCut(const pandora::CartesianVector &vertex) const
Checks if the interaction vertex is within the fiducial volume.
std::string m_mvaName
The name of the mva to find.
Header file for the pfo characterisation base algorithm class.
float m_minProbabilityCut
The minimum probability to label a cluster as track-like.
MvaPfoCharacterisationAlgorithm< AdaBoostDecisionTree > BdtPfoCharacterisationAlgorithm
std::string m_mvaFileNameNoChargeInfo
The mva input file for PFOs missing the W view, and thus charge info.
virtual bool IsClearTrack(const pandora::ParticleFlowObject *const pPfo) const
Whether pfo is identified as a clear track.
std::vector< MvaFeatureTool< Ts... > * > FeatureToolVector
Definition: LArMvaHelper.h:30
PfoCharacterisationFeatureTool::FeatureToolVector m_featureToolVectorNoChargeInfo
The feature tool map for missing W view.
std::string m_filePathEnvironmentVariable
The environment variable providing a list of paths to mva files.
MvaPfoCharacterisationAlgorithm< SupportVectorMachine > SvmPfoCharacterisationAlgorithm
bool m_useThreeDInformation
Whether to use 3D information.
vertex reconstruction