LArSoft
v06_85_00
Liquid Argon Software toolkit - http://larsoft.org/
|
ShowerAsymmetryFeatureTool class. More...
#include "ShowerAsymmetryFeatureTool.h"
Public Types | |
typedef std::vector< MvaFeatureTool< Ts... > * > | FeatureToolVector |
Public Member Functions | |
ShowerAsymmetryFeatureTool () | |
Default constructor. More... | |
void | Run (LArMvaHelper::MvaFeatureVector &featureVector, const VertexSelectionBaseAlgorithm *const pAlgorithm, const pandora::Vertex *const pVertex, const VertexSelectionBaseAlgorithm::SlidingFitDataListMap &, const VertexSelectionBaseAlgorithm::ClusterListMap &, const VertexSelectionBaseAlgorithm::KDTreeMap &, const VertexSelectionBaseAlgorithm::ShowerClusterListMap &showerClusterListMap, const float, float &) |
Run the tool. More... | |
virtual void | Run (MvaTypes::MvaFeatureVector &featureVector, Ts...args)=0 |
Run the algorithm tool. More... | |
Private Member Functions | |
pandora::StatusCode | ReadSettings (const pandora::TiXmlHandle xmlHandle) |
float | GetShowerAsymmetryForView (const pandora::CartesianVector &vertexPosition2D, const VertexSelectionBaseAlgorithm::ShowerClusterList &showerClusterList) const |
Get the shower asymmetry feature for a given view. More... | |
bool | ShouldUseShowerCluster (const pandora::CartesianVector &vertexPosition, const VertexSelectionBaseAlgorithm::ShowerCluster &showerCluster) const |
Get whether we should use a given shower cluster for asymmetry calculation. More... | |
void | CalculateAsymmetryParameters (const VertexSelectionBaseAlgorithm::ShowerCluster &showerCluster, const float projectedVtxPosition, const pandora::CartesianVector &showerDirection, float &beforeVtxEnergy, float &afterVtxEnergy) const |
Calculate the parameters for the asymmetry calculation. More... | |
Private Attributes | |
float | m_vertexClusterDistance |
The distance around the vertex to look for shower clusters. More... | |
ShowerAsymmetryFeatureTool class.
Definition at line 21 of file ShowerAsymmetryFeatureTool.h.
|
inherited |
Definition at line 30 of file LArMvaHelper.h.
lar_content::ShowerAsymmetryFeatureTool::ShowerAsymmetryFeatureTool | ( | ) |
Default constructor.
Definition at line 19 of file ShowerAsymmetryFeatureTool.cc.
|
private |
Calculate the parameters for the asymmetry calculation.
showerCluster | the shower cluster |
projectedVtxPosition | the projected vertex position |
showerDirection | the direction of the shower axis |
beforeVtxEnergy | the shower energy before the vertex position |
afterVtxEnergy | the shower energy after the vertex position |
Definition at line 97 of file ShowerAsymmetryFeatureTool.cc.
References lar_content::VertexSelectionBaseAlgorithm::ShowerCluster::GetClusters(), and lar_content::LArClusterHelper::SortHitsByPosition().
Referenced by GetShowerAsymmetryForView().
|
private |
Get the shower asymmetry feature for a given view.
vertexPosition2D | the projected vertex position |
showerClusterList | the list of shower clusters in this view |
Definition at line 49 of file ShowerAsymmetryFeatureTool.cc.
References CalculateAsymmetryParameters(), f, lar_content::TwoDSlidingFitResult::GetGlobalFitDirection(), lar_content::TwoDSlidingFitResult::GetLocalPosition(), and ShouldUseShowerCluster().
Referenced by Run().
|
private |
Definition at line 125 of file ShowerAsymmetryFeatureTool.cc.
References m_vertexClusterDistance.
void lar_content::ShowerAsymmetryFeatureTool::Run | ( | LArMvaHelper::MvaFeatureVector & | featureVector, |
const VertexSelectionBaseAlgorithm *const | pAlgorithm, | ||
const pandora::Vertex *const | pVertex, | ||
const VertexSelectionBaseAlgorithm::SlidingFitDataListMap & | , | ||
const VertexSelectionBaseAlgorithm::ClusterListMap & | , | ||
const VertexSelectionBaseAlgorithm::KDTreeMap & | , | ||
const VertexSelectionBaseAlgorithm::ShowerClusterListMap & | showerClusterListMap, | ||
const float | , | ||
float & | |||
) |
Run the tool.
pAlgorithm | address of the calling algorithm |
pVertex | address of the vertex |
showerClusterListMap | map of the shower cluster lists |
Definition at line 26 of file ShowerAsymmetryFeatureTool.cc.
References f, GetShowerAsymmetryForView(), and lar_content::LArGeometryHelper::ProjectPosition().
|
pure virtualinherited |
Run the algorithm tool.
featureVector | the vector of features to append |
args | arguments to pass to the tool |
|
private |
Get whether we should use a given shower cluster for asymmetry calculation.
vertexPosition | the projected vertex position |
showerCluster | the shower cluster |
Definition at line 83 of file ShowerAsymmetryFeatureTool.cc.
References lar_content::LArClusterHelper::GetClosestDistance(), lar_content::VertexSelectionBaseAlgorithm::ShowerCluster::GetClusters(), and m_vertexClusterDistance.
Referenced by GetShowerAsymmetryForView().
|
private |
The distance around the vertex to look for shower clusters.
Definition at line 78 of file ShowerAsymmetryFeatureTool.h.
Referenced by ReadSettings(), and ShouldUseShowerCluster().