APRILContent
Algorithm of Particle Reconstruction for ILC - implementation with PandoraSDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations
Classes | Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
april_content::PfoCreationAlgorithm Class Reference

PfoCreationAlgorithm class. More...

#include <PfoCreationAlgorithm.h>

Inheritance diagram for april_content::PfoCreationAlgorithm:

Classes

class  Factory
 Factory class for instantiating algorithm. More...
 

Public Member Functions

 PfoCreationAlgorithm ()
 Default constructor.
 

Private Types

typedef
PandoraContentApi::ParticleFlowObject::Parameters 
PfoParameters
 

Private Member Functions

pandora::StatusCode Run ()
 
pandora::StatusCode ReadSettings (const pandora::TiXmlHandle xmlHandle)
 
pandora::StatusCode CreateTrackBasedPfos () const
 Create particle flow objects starting from tracks in the main tracker. The pfos will account for associated daughter/sibling tracks and associated calorimeter clusters.
 
pandora::StatusCode PopulateTrackBasedPfo (const pandora::Track *const pTrack, PfoParameters &pfoParameters, const bool readSiblingInfo=true) const
 Add relevant tracks and clusters to a track-based pfo. More...
 
pandora::StatusCode SetTrackBasedPfoParameters (const pandora::Track *const pTrack, PfoParameters &pfoParameters) const
 Set the basic parameters for a track-based pfo. More...
 
pandora::StatusCode SetSiblingTrackBasedPfoParameters (const pandora::Track *const pTrack, PfoParameters &pfoParameters) const
 Set the parameters for a track-based pfo, where pfo target consists of two or more sibling tracks. More...
 
pandora::StatusCode SetDaughterTrackBasedPfoParameters (const pandora::Track *const pTrack, PfoParameters &pfoParameters) const
 Set the parameters for a track-based pfo, where the pfo target has one or more daughter tracks. More...
 
pandora::StatusCode SetSimpleTrackBasedPfoParameters (const pandora::Track *const pTrack, PfoParameters &pfoParameters) const
 Set the parameters for a simple track-based pfo, where the track has no associations with other tracks. More...
 
pandora::StatusCode CreateNeutralPfos () const
 Create particle flow objects corresponding to neutral particles, These pfos consist only of clusters that have no associated tracks.
 
const pandora::CartesianVector GetEnergyWeightedCentroid (const pandora::Cluster *const pCluster, const unsigned int innerPseudoLayer, const unsigned int outerPseudoLayer) const
 Get the energy-weighted centroid for a specified cluster, calculated over a particular pseudo layer range. More...
 

Private Attributes

std::string m_outputPfoListName
 The output pfo list name.
 
bool m_shouldCreateTrackBasedPfos
 Whether to create track-based (charged) pfos.
 
bool m_shouldCreateNeutralPfos
 Whether to create neutral pfos.
 
float m_minClusterHadronicEnergy
 Min hadronic energy for neutral (non-photon) clusters to be added to pfos.
 
float m_minClusterElectromagneticEnergy
 Min electromagnetic energy for neutral (photon) clusters to be added to pfos.
 
unsigned int m_minHitsInCluster
 Min number of calo hits for neutral cluster to be added to pfos.
 
bool m_allowSingleLayerClusters
 Whether to allow neutral clusters spanning only a single pseudolayer.
 
unsigned int m_photonPositionAlgorithm
 Identifies the algorithm used to calculate photon pfo position vectors.
 

Detailed Description

PfoCreationAlgorithm class.

Member Function Documentation

const CartesianVector april_content::PfoCreationAlgorithm::GetEnergyWeightedCentroid ( const pandora::Cluster *const  pCluster,
const unsigned int  innerPseudoLayer,
const unsigned int  outerPseudoLayer 
) const
private

Get the energy-weighted centroid for a specified cluster, calculated over a particular pseudo layer range.

Parameters
pClusteraddress of the cluster to consider
pseudoLayerthe inner pseudo layer of interest
pseudoLayerthe outer pseudo layer of interest
Returns
The energy-weighted centroid, returned by value
StatusCode april_content::PfoCreationAlgorithm::PopulateTrackBasedPfo ( const pandora::Track *const  pTrack,
PfoParameters &  pfoParameters,
const bool  readSiblingInfo = true 
) const
private

Add relevant tracks and clusters to a track-based pfo.

Parameters
pTrackaddress of the track to consider
pfoParametersthe pfo parameters to populate
readSiblingInfowhether to read sibling track information (set to false to avoid multiple counting)
StatusCode april_content::PfoCreationAlgorithm::SetDaughterTrackBasedPfoParameters ( const pandora::Track *const  pTrack,
PfoParameters &  pfoParameters 
) const
private

Set the parameters for a track-based pfo, where the pfo target has one or more daughter tracks.

Parameters
pTrackaddress of the track to consider
pfoParametersthe pfo parameters to populate
StatusCode april_content::PfoCreationAlgorithm::SetSiblingTrackBasedPfoParameters ( const pandora::Track *const  pTrack,
PfoParameters &  pfoParameters 
) const
private

Set the parameters for a track-based pfo, where pfo target consists of two or more sibling tracks.

Parameters
pTrackaddress of the track to consider
pfoParametersthe pfo parameters to populate
StatusCode april_content::PfoCreationAlgorithm::SetSimpleTrackBasedPfoParameters ( const pandora::Track *const  pTrack,
PfoParameters &  pfoParameters 
) const
private

Set the parameters for a simple track-based pfo, where the track has no associations with other tracks.

Parameters
pTrackaddress of the track to consider
pfoParametersthe pfo parameters to populate
StatusCode april_content::PfoCreationAlgorithm::SetTrackBasedPfoParameters ( const pandora::Track *const  pTrack,
PfoParameters &  pfoParameters 
) const
private

Set the basic parameters for a track-based pfo.

Parameters
pTrackaddress of the track to consider
pfoParametersthe pfo parameters to populate

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