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::PerfectPfoCreationAlgorithm Class Reference

PerfectPfoCreationAlgorithm class. More...

#include <PerfectPfoCreationAlgorithm.h>

Inheritance diagram for april_content::PerfectPfoCreationAlgorithm:

Classes

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

Public Member Functions

 PerfectPfoCreationAlgorithm ()
 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...
 
pandora::StatusCode TrackCollection (const pandora::MCParticle *const pPfoTarget, PfoParameters &pfoParameters) const
 
void SetPfoParametersFromTracks (int &nTracksUsed, PfoParameters &pfoParameters) const
 
void SetPfoParametersFromClusters (const pandora::MCParticle *const pPfoTarget, const int nTracksUsed, PfoParameters &pfoParameters) const
 
pandora::StatusCode SetPfoParametersFromClusters () const
 
pandora::StatusCode TrackClusterAssociation (const pandora::MCParticle *const pPfoTarget, PfoParameters &pfoParameters) const
 

Private Attributes

std::string m_outputPfoListName
 The output pfo list name.
 
std::string m_associationAlgorithmName
 The name of track-cluster alg.
 
bool m_collapsedMCParticlesToPfoTarget
 

Detailed Description

PerfectPfoCreationAlgorithm class.

Member Function Documentation

const pandora::CartesianVector april_content::PerfectPfoCreationAlgorithm::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
pandora::StatusCode april_content::PerfectPfoCreationAlgorithm::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)
pandora::StatusCode april_content::PerfectPfoCreationAlgorithm::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
pandora::StatusCode april_content::PerfectPfoCreationAlgorithm::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
pandora::StatusCode april_content::PerfectPfoCreationAlgorithm::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
pandora::StatusCode april_content::PerfectPfoCreationAlgorithm::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: