LArSoft
v06_85_00
Liquid Argon Software toolkit - http://larsoft.org/
|
Slice features class. More...
Public Member Functions | |
SliceFeatures (const pandora::PfoList &nuPfos, const pandora::PfoList &crPfos, const NeutrinoIdTool *const pTool) | |
Constructor. More... | |
bool | IsFeatureVectorAvailable () const |
Check if all features were calculable. More... | |
void | GetFeatureVector (LArMvaHelper::MvaFeatureVector &featureVector) const |
Get the feature vector for the SVM. More... | |
float | GetNeutrinoProbability (const SupportVectorMachine &supportVectorMachine) const |
Get the probability that this slice contains a neutrino interaction. More... | |
Private Member Functions | |
const pandora::ParticleFlowObject * | GetNeutrino (const pandora::PfoList &nuPfos) const |
Get the recontructed neutrino the input list of neutrino Pfos. More... | |
void | GetSpacePoints (const pandora::ParticleFlowObject *const pPfo, pandora::CartesianPointVector &spacePoints) const |
Get the 3D space points in a given pfo. More... | |
pandora::CartesianVector | GetDirection (const pandora::CartesianPointVector &spacePoints, std::function< bool(const pandora::CartesianVector &pointA, const pandora::CartesianVector &pointB)> fShouldChooseA) const |
Use a sliding fit to get the direction of a collection of spacepoints. More... | |
pandora::CartesianVector | GetDirectionFromVertex (const pandora::CartesianPointVector &spacePoints, const pandora::CartesianVector &vertex) const |
Use a sliding fit to get the direction of a collection of spacepoint near a vertex position. More... | |
pandora::CartesianVector | GetUpperDirection (const pandora::CartesianPointVector &spacePoints) const |
Use a sliding fit to get the upper direction of a collection of spacepoints. More... | |
pandora::CartesianVector | GetLowerDirection (const pandora::CartesianPointVector &spacePoints) const |
Use a sliding fit to get the lower direction of a collection of spacepoints. More... | |
void | GetPointsInSphere (const pandora::CartesianPointVector &spacePoints, const pandora::CartesianVector &vertex, const float radius, pandora::CartesianPointVector &spacePointsInSphere) const |
Get a vector of spacepoints within a given radius of a vertex point. More... | |
Private Attributes | |
bool | m_isAvailable |
Is the feature vector available. More... | |
LArMvaHelper::MvaFeatureVector | m_featureVector |
The SVM feature vector. More... | |
const NeutrinoIdTool *const | m_pTool |
The tool that owns this. More... | |
Slice features class.
Definition at line 44 of file NeutrinoIdTool.h.
lar_content::NeutrinoIdTool::SliceFeatures::SliceFeatures | ( | const pandora::PfoList & | nuPfos, |
const pandora::PfoList & | crPfos, | ||
const NeutrinoIdTool *const | pTool | ||
) |
Constructor.
nuPfos | input list of Pfos reconstructed under the neutrino hypothesis |
crPfos | input list of Pfos reconstructed under the cosmic ray hypothesis |
pTool | address of the tool using this class |
Definition at line 289 of file NeutrinoIdTool.cc.
References dir, f, GetDirectionFromVertex(), GetLowerDirection(), GetNeutrino(), GetPointsInSphere(), GetSpacePoints(), GetUpperDirection(), lar_content::LArPfoHelper::GetVertex(), m_featureVector, m_isAvailable, max, and lar_content::LArPcaHelper::RunPca().
|
private |
Use a sliding fit to get the direction of a collection of spacepoints.
spacePoints | the input spacepoints to fit |
fShouldChooseA | a function that when given two fitted endpoints A and B, will return true if A is the endpoint at which to calculate the direction |
Definition at line 481 of file NeutrinoIdTool.cc.
Referenced by GetDirectionFromVertex(), GetLowerDirection(), and GetUpperDirection().
|
private |
Use a sliding fit to get the direction of a collection of spacepoint near a vertex position.
spacePoints | the input spacepoints to fit |
vertex | the position from which the fitted direction should be calculated |
Definition at line 451 of file NeutrinoIdTool.cc.
References GetDirection().
Referenced by SliceFeatures().
void lar_content::NeutrinoIdTool::SliceFeatures::GetFeatureVector | ( | LArMvaHelper::MvaFeatureVector & | featureVector | ) | const |
Get the feature vector for the SVM.
featuresVector | empty feature vector to populate |
Definition at line 399 of file NeutrinoIdTool.cc.
References m_featureVector, and m_isAvailable.
Referenced by GetNeutrinoProbability(), and lar_content::NeutrinoIdTool::SelectOutputPfos().
|
private |
Use a sliding fit to get the lower direction of a collection of spacepoints.
spacePoints | the input spacepoints to fit |
Definition at line 471 of file NeutrinoIdTool.cc.
References GetDirection().
Referenced by SliceFeatures().
|
private |
Get the recontructed neutrino the input list of neutrino Pfos.
nuPfos | input list of neutrino pfos |
Definition at line 421 of file NeutrinoIdTool.cc.
Referenced by SliceFeatures().
float lar_content::NeutrinoIdTool::SliceFeatures::GetNeutrinoProbability | ( | const SupportVectorMachine & | supportVectorMachine | ) | const |
Get the probability that this slice contains a neutrino interaction.
supportVectorMachine | the SVM used to calculate the probability |
Definition at line 409 of file NeutrinoIdTool.cc.
References lar_content::LArMvaHelper::CalculateProbability(), GetFeatureVector(), and IsFeatureVectorAvailable().
|
private |
Get a vector of spacepoints within a given radius of a vertex point.
spacePoints | the input spacepoints |
vertex | the center of the sphere |
radius | the radius of the sphere |
spacePointsInSphere | the vector to hold the spacepoint in the sphere |
Definition at line 504 of file NeutrinoIdTool.cc.
Referenced by SliceFeatures().
|
private |
Get the 3D space points in a given pfo.
pPfo | input pfo |
spacePoints | vector to hold the 3D space points associated with the input pfo |
Definition at line 432 of file NeutrinoIdTool.cc.
References lar_content::LArPfoHelper::GetThreeDClusterList().
Referenced by SliceFeatures().
|
private |
Use a sliding fit to get the upper direction of a collection of spacepoints.
spacePoints | the input spacepoints to fit |
Definition at line 461 of file NeutrinoIdTool.cc.
References GetDirection().
Referenced by SliceFeatures().
bool lar_content::NeutrinoIdTool::SliceFeatures::IsFeatureVectorAvailable | ( | ) | const |
Check if all features were calculable.
Definition at line 392 of file NeutrinoIdTool.cc.
References m_isAvailable.
Referenced by GetNeutrinoProbability().
|
private |
The SVM feature vector.
Definition at line 144 of file NeutrinoIdTool.h.
Referenced by GetFeatureVector(), and SliceFeatures().
|
private |
Is the feature vector available.
Definition at line 143 of file NeutrinoIdTool.h.
Referenced by GetFeatureVector(), IsFeatureVectorAvailable(), and SliceFeatures().
|
private |
The tool that owns this.
Definition at line 145 of file NeutrinoIdTool.h.
Referenced by GetDirection().