Pandora
Pandora source code navigator
Loading...
Searching...
No Matches
lar_content::NeutrinoIdTool< T >::SliceFeatures Class Reference

Slice features class. More...

Collaboration diagram for lar_content::NeutrinoIdTool< T >::SliceFeatures:

Public Member Functions

 SliceFeatures (const pandora::PfoList &nuPfos, const pandora::PfoList &crPfos, const NeutrinoIdTool *const pTool)
 Constructor.
 
bool IsFeatureVectorAvailable () const
 Check if all features were calculable.
 
void GetFeatureVector (LArMvaHelper::MvaFeatureVector &featureVector) const
 Get the feature vector for the MVA.
 
void GetFeatureMap (LArMvaHelper::DoubleMap &featureMap) const
 Get the feature map for the MVA.
 
float GetNeutrinoProbability (const T &t, const float defaultProbability) const
 Get the probability that this slice contains a neutrino interaction.
 

Private Member Functions

const pandora::ParticleFlowObjectGetNeutrino (const pandora::PfoList &nuPfos) const
 Get the recontructed neutrino the input list of neutrino Pfos.
 
void GetSpacePoints (const pandora::ParticleFlowObject *const pPfo, pandora::CartesianPointVector &spacePoints) const
 Get the 3D space points in a given pfo.
 
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.
 
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.
 
pandora::CartesianVector GetUpperDirection (const pandora::CartesianPointVector &spacePoints) const
 Use a sliding fit to get the upper direction of a collection of spacepoints.
 
pandora::CartesianVector GetLowerDirection (const pandora::CartesianPointVector &spacePoints) const
 Use a sliding fit to get the lower direction of a collection of spacepoints.
 
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.
 

Private Attributes

bool m_isAvailable
 Is the feature vector available.
 
LArMvaHelper::MvaFeatureVector m_featureVector
 The MVA feature vector.
 
LArMvaHelper::DoubleMap m_featureMap
 A map between MVA features and their names.
 
const NeutrinoIdTool *const m_pTool
 The tool that owns this.
 

Detailed Description

template<typename T>
class lar_content::NeutrinoIdTool< T >::SliceFeatures

Slice features class.

Definition at line 47 of file NeutrinoIdTool.h.

Constructor & Destructor Documentation

◆ SliceFeatures()

template<typename T >
lar_content::NeutrinoIdTool< T >::SliceFeatures::SliceFeatures ( const pandora::PfoList nuPfos,
const pandora::PfoList crPfos,
const NeutrinoIdTool *const  pTool 
)

Constructor.

Parameters
nuPfosinput list of Pfos reconstructed under the neutrino hypothesis
crPfosinput list of Pfos reconstructed under the cosmic ray hypothesis
pTooladdress of the tool using this class

Definition at line 331 of file NeutrinoIdTool.cc.

Here is the call graph for this function:

Member Function Documentation

◆ GetDirection()

template<typename T >
CartesianVector lar_content::NeutrinoIdTool< T >::SliceFeatures::GetDirection ( const pandora::CartesianPointVector spacePoints,
std::function< bool(const pandora::CartesianVector &pointA, const pandora::CartesianVector &pointB)>  fShouldChooseA 
) const
private

Use a sliding fit to get the direction of a collection of spacepoints.

Parameters
spacePointsthe input spacepoints to fit
fShouldChooseAa function that when given two fitted endpoints A and B, will return true if A is the endpoint at which to calculate the direction
Returns
the direction of the input spacepoints

Definition at line 556 of file NeutrinoIdTool.cc.

Here is the call graph for this function:

◆ GetDirectionFromVertex()

template<typename T >
CartesianVector lar_content::NeutrinoIdTool< T >::SliceFeatures::GetDirectionFromVertex ( const pandora::CartesianPointVector spacePoints,
const pandora::CartesianVector vertex 
) const
private

Use a sliding fit to get the direction of a collection of spacepoint near a vertex position.

Parameters
spacePointsthe input spacepoints to fit
vertexthe position from which the fitted direction should be calculated
Returns
the direction of the input space points from the vertex supplied

Definition at line 528 of file NeutrinoIdTool.cc.

Here is the caller graph for this function:

◆ GetFeatureMap()

template<typename T >
void lar_content::NeutrinoIdTool< T >::SliceFeatures::GetFeatureMap ( LArMvaHelper::DoubleMap featureMap) const

Get the feature map for the MVA.

Parameters
featuresMapempty feature map to populate

Definition at line 470 of file NeutrinoIdTool.cc.

◆ GetFeatureVector()

template<typename T >
void lar_content::NeutrinoIdTool< T >::SliceFeatures::GetFeatureVector ( LArMvaHelper::MvaFeatureVector featureVector) const

Get the feature vector for the MVA.

Parameters
featuresVectorempty feature vector to populate

Definition at line 459 of file NeutrinoIdTool.cc.

Here is the caller graph for this function:

◆ GetLowerDirection()

template<typename T >
CartesianVector lar_content::NeutrinoIdTool< T >::SliceFeatures::GetLowerDirection ( const pandora::CartesianPointVector spacePoints) const
private

Use a sliding fit to get the lower direction of a collection of spacepoints.

Parameters
spacePointsthe input spacepoints to fit
Returns
the direction of the lower input space points

Definition at line 547 of file NeutrinoIdTool.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetNeutrino()

template<typename T >
const ParticleFlowObject * lar_content::NeutrinoIdTool< T >::SliceFeatures::GetNeutrino ( const pandora::PfoList nuPfos) const
private

Get the recontructed neutrino the input list of neutrino Pfos.

Parameters
nuPfosinput list of neutrino pfos

Definition at line 495 of file NeutrinoIdTool.cc.

Here is the caller graph for this function:

◆ GetNeutrinoProbability()

template<typename T >
float lar_content::NeutrinoIdTool< T >::SliceFeatures::GetNeutrinoProbability ( const T &  t,
const float  defaultProbability 
) const

Get the probability that this slice contains a neutrino interaction.

Parameters
tthe MVA used to calculate the probability
Returns
the probability that the slice contains a neutrino interaction

Definition at line 481 of file NeutrinoIdTool.cc.

Here is the call graph for this function:

◆ GetPointsInSphere()

template<typename T >
void lar_content::NeutrinoIdTool< T >::SliceFeatures::GetPointsInSphere ( const pandora::CartesianPointVector spacePoints,
const pandora::CartesianVector vertex,
const float  radius,
pandora::CartesianPointVector spacePointsInSphere 
) const
private

Get a vector of spacepoints within a given radius of a vertex point.

Parameters
spacePointsthe input spacepoints
vertexthe center of the sphere
radiusthe radius of the sphere
spacePointsInSpherethe vector to hold the spacepoint in the sphere

Definition at line 581 of file NeutrinoIdTool.cc.

Here is the caller graph for this function:

◆ GetSpacePoints()

template<typename T >
void lar_content::NeutrinoIdTool< T >::SliceFeatures::GetSpacePoints ( const pandora::ParticleFlowObject *const  pPfo,
pandora::CartesianPointVector spacePoints 
) const
private

Get the 3D space points in a given pfo.

Parameters
pPfoinput pfo
spacePointsvector to hold the 3D space points associated with the input pfo

Definition at line 507 of file NeutrinoIdTool.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetUpperDirection()

template<typename T >
CartesianVector lar_content::NeutrinoIdTool< T >::SliceFeatures::GetUpperDirection ( const pandora::CartesianPointVector spacePoints) const
private

Use a sliding fit to get the upper direction of a collection of spacepoints.

Parameters
spacePointsthe input spacepoints to fit
Returns
the direction of the upper input space points

Definition at line 538 of file NeutrinoIdTool.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsFeatureVectorAvailable()

template<typename T >
bool lar_content::NeutrinoIdTool< T >::SliceFeatures::IsFeatureVectorAvailable ( ) const

Check if all features were calculable.

Returns
true if the feature vector is available

Definition at line 451 of file NeutrinoIdTool.cc.

Here is the caller graph for this function:

Member Data Documentation

◆ m_featureMap

template<typename T >
LArMvaHelper::DoubleMap lar_content::NeutrinoIdTool< T >::SliceFeatures::m_featureMap
private

A map between MVA features and their names.

Definition at line 157 of file NeutrinoIdTool.h.

◆ m_featureVector

template<typename T >
LArMvaHelper::MvaFeatureVector lar_content::NeutrinoIdTool< T >::SliceFeatures::m_featureVector
private

The MVA feature vector.

Definition at line 156 of file NeutrinoIdTool.h.

◆ m_isAvailable

template<typename T >
bool lar_content::NeutrinoIdTool< T >::SliceFeatures::m_isAvailable
private

Is the feature vector available.

Definition at line 155 of file NeutrinoIdTool.h.

◆ m_pTool

template<typename T >
const NeutrinoIdTool* const lar_content::NeutrinoIdTool< T >::SliceFeatures::m_pTool
private

The tool that owns this.

Definition at line 158 of file NeutrinoIdTool.h.


The documentation for this class was generated from the following files: