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

PerfectParticleFlowAlgorithm class. More...

#include <PerfectParticleFlowAlgorithm.h>

Inheritance diagram for april_content::PerfectParticleFlowAlgorithm:

Classes

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

Public Member Functions

 PerfectParticleFlowAlgorithm ()
 Default constructor.
 

Private Types

typedef
PandoraContentApi::ParticleFlowObject::Parameters 
PfoParameters
 

Private Member Functions

pandora::StatusCode Run ()
 
pandora::StatusCode ReadSettings (const pandora::TiXmlHandle xmlHandle)
 
void CaloHitCollection (const pandora::MCParticle *const pPfoTarget, PfoParameters &pfoParameters) const
 Collection of calo hits. More...
 
void SimpleCaloHitCollection (const pandora::MCParticle *const pPfoTarget, const pandora::CaloHit *const pCaloHit, pandora::CaloHitList &caloHitList) const
 Simple collection of calo hits, using only hits for which pfo target is the main mc particle. More...
 
void FullCaloHitCollection (const pandora::MCParticle *const pPfoTarget, const pandora::CaloHit *const pCaloHit, pandora::CaloHitList &caloHitList) const
 Full collection of calo hits, using map of mc particles to hit weights; fragment calo hits where necessary. More...
 
void TrackCollection (const pandora::MCParticle *const pPfoTarget, PfoParameters &pfoParameters) const
 Collection of tracks, using only tracks for which pfo target is the main mc particle. More...
 
void SetPfoParametersFromTracks (const pandora::MCParticle *const pPfoTarget, int &nTracksUsed, PfoParameters &pfoParameters) const
 Set the pfo parameters using tracks that have been collected together. More...
 
void SetPfoParametersFromClusters (const pandora::MCParticle *const pPfoTarget, const int nTracksUsed, PfoParameters &pfoParameters) const
 Set the pfo parameters using clusters that have been collected together. More...
 
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...
 
void PfoParameterDebugInformation (const pandora::MCParticle *const pPfoTarget, const int nTracksUsed, PfoParameters &pfoParameters) const
 Print relevant pfo parameter debug information, if required. More...
 

Private Attributes

std::string m_outputPfoListName
 The output pfo list name.
 
std::string m_outputClusterListName
 The output cluster list name.
 
bool m_simpleCaloHitCollection
 Whether to use simple calo hit collection mechanism, or full mechanism.
 
float m_minWeightFraction
 The minimum mc particle calo hit weight for hit fragmentation.
 

Detailed Description

PerfectParticleFlowAlgorithm class.

Member Function Documentation

void april_content::PerfectParticleFlowAlgorithm::CaloHitCollection ( const pandora::MCParticle *const  pPfoTarget,
PfoParameters &  pfoParameters 
) const
private

Collection of calo hits.

Parameters
pPfoTargetaddress of the pfo target
pfoParametersthe pfo parameters
void april_content::PerfectParticleFlowAlgorithm::FullCaloHitCollection ( const pandora::MCParticle *const  pPfoTarget,
const pandora::CaloHit *const  pCaloHit,
pandora::CaloHitList &  caloHitList 
) const
private

Full collection of calo hits, using map of mc particles to hit weights; fragment calo hits where necessary.

Parameters
pPfoTargetaddress of the pfo target
pCaloHitaddress of the calo hit to consider
caloHitListto receive selected calo hits, which may include a list of fragments of the original input hit
const CartesianVector april_content::PerfectParticleFlowAlgorithm::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
void april_content::PerfectParticleFlowAlgorithm::PfoParameterDebugInformation ( const pandora::MCParticle *const  pPfoTarget,
const int  nTracksUsed,
PfoParameters &  pfoParameters 
) const
private

Print relevant pfo parameter debug information, if required.

Parameters
pPfoTargetaddress of the pfo target
nTracksUsedthe number of tracks used for setting pfo properties
pfoParametersthe pfo parameters
void april_content::PerfectParticleFlowAlgorithm::SetPfoParametersFromClusters ( const pandora::MCParticle *const  pPfoTarget,
const int  nTracksUsed,
PfoParameters &  pfoParameters 
) const
private

Set the pfo parameters using clusters that have been collected together.

Parameters
pPfoTargetaddress of the pfo target
nTracksUsedthe number of tracks used for setting pfo properties
pfoParametersthe pfo parameters
void april_content::PerfectParticleFlowAlgorithm::SetPfoParametersFromTracks ( const pandora::MCParticle *const  pPfoTarget,
int &  nTracksUsed,
PfoParameters &  pfoParameters 
) const
private

Set the pfo parameters using tracks that have been collected together.

Parameters
pPfoTargetaddress of the pfo target
nTracksUsedto receive the number of tracks used for setting pfo properties
pfoParametersthe pfo parameters
void april_content::PerfectParticleFlowAlgorithm::SimpleCaloHitCollection ( const pandora::MCParticle *const  pPfoTarget,
const pandora::CaloHit *const  pCaloHit,
pandora::CaloHitList &  caloHitList 
) const
private

Simple collection of calo hits, using only hits for which pfo target is the main mc particle.

Parameters
pPfoTargetaddress of the pfo target
pCaloHitaddress of the calo hit to consider
caloHitListto receive selected calo hits
void april_content::PerfectParticleFlowAlgorithm::TrackCollection ( const pandora::MCParticle *const  pPfoTarget,
PfoParameters &  pfoParameters 
) const
private

Collection of tracks, using only tracks for which pfo target is the main mc particle.

Parameters
pPfoTargetaddress of the pfo target
pfoParametersthe pfo parameters

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