LArParticleIdPlugins.h
Go to the documentation of this file.
1 /**
2  * @file larpandoracontent/LArPlugins/LArParticleIdPlugins.h
3  *
4  * @brief Header file for the lar particle id plugins class.
5  *
6  * $Log: $
7  */
8 #ifndef LAR_PARTICLE_ID_PLUGINS_H
9 #define LAR_PARTICLE_ID_PLUGINS_H 1
10 
11 #include "Plugins/ParticleIdPlugin.h"
12 
13 namespace lar_content
14 {
15 
16 class TwoDSlidingFitResult;
17 
18 //------------------------------------------------------------------------------------------------------------------------------------------
19 
20 /**
21  * @brief LArParticleIdPlugins class
22  */
24 {
25 public:
26  /**
27  * @brief LArMuonId class
28  */
29  class LArMuonId : public pandora::ParticleIdPlugin
30  {
31  public:
32  /**
33  * @brief Default constructor
34  */
35  LArMuonId();
36 
37  bool IsMatch(const pandora::Cluster *const pCluster) const;
38  bool IsMatch(const pandora::ParticleFlowObject *const pPfo) const;
39 
40  private:
41  /**
42  * @brief Get the muon track width estimator for a provided sliding fit result
43  *
44  * @param twoDSlidingFitResult the sliding fit result
45  *
46  * @return the muon track width estimator
47  */
48  float GetMuonTrackWidth(const TwoDSlidingFitResult &twoDSlidingFitResult) const;
49 
50  pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle);
51 
52  unsigned int m_layerFitHalfWindow; ///< Layer fit half window, used for calculating sliding muon track width
53  float m_minLayerOccupancy; ///< Min layer occupancy for for muon identification
54  float m_maxTrackWidth; ///< Max muon track width estimator for muon identification
55  float m_trackResidualQuantile; ///< Track residual quantile, used for calculating muon track width
56  unsigned int m_minClustersPassingId; ///< Match pfo if at sufficient clusters in pfo pass the cluster particle id logic
57  };
58 };
59 
60 } // namespace lar_content
61 
62 #endif // #ifndef LAR_PARTICLE_ID_PLUGINS_H
unsigned int m_layerFitHalfWindow
Layer fit half window, used for calculating sliding muon track width.
pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)
float m_trackResidualQuantile
Track residual quantile, used for calculating muon track width.
float GetMuonTrackWidth(const TwoDSlidingFitResult &twoDSlidingFitResult) const
Get the muon track width estimator for a provided sliding fit result.
LArParticleIdPlugins class.
bool IsMatch(const pandora::Cluster *const pCluster) const
float m_minLayerOccupancy
Min layer occupancy for for muon identification.
float m_maxTrackWidth
Max muon track width estimator for muon identification.
unsigned int m_minClustersPassingId
Match pfo if at sufficient clusters in pfo pass the cluster particle id logic.