Pandora
Pandora source code navigator
|
#include "Cluster.h"
Classes | |
class | SimplePoint |
SimplePoint class. More... | |
Public Member Functions | |
const OrderedCaloHitList & | GetOrderedCaloHitList () const |
Get the ordered calo hit list. | |
const CaloHitList & | GetIsolatedCaloHitList () const |
Get the isolated calo hit list. | |
unsigned int | GetNCaloHits () const |
Get the number of calo hits in the cluster. | |
unsigned int | GetNIsolatedCaloHits () const |
Get the number of isolated calo hits in the cluster. | |
unsigned int | GetNPossibleMipHits () const |
Get the number of calo hits in the cluster that have been flagged as possible mip hits. | |
float | GetMipFraction () const |
Get fraction of constituent calo hits that have been flagged as possible mip hits. | |
unsigned int | GetNHitsInOuterLayer () const |
Get the number of hits in the outer sampling layers. | |
float | GetElectromagneticEnergy () const |
Get the sum of electromagnetic energy measures of all constituent calo hits, units GeV. | |
float | GetHadronicEnergy () const |
Get the sum of hadronic energy measures of all constituent calo hits, units GeV. | |
float | GetIsolatedElectromagneticEnergy () const |
Get the sum of electromagnetic energy measures of isolated constituent calo hits, units GeV. | |
float | GetIsolatedHadronicEnergy () const |
Get the sum of hadronic energy measures of isolated constituent calo hits, units GeV. | |
int | GetParticleId () const |
Get the particle id flag. | |
bool | IsTrackSeeded () const |
Whether the cluster is track seeded. | |
const Track * | GetTrackSeed () const |
Get the address of the track with which the cluster is seeded. | |
unsigned int | GetInnerPseudoLayer () const |
Get the innermost pseudo layer in the cluster. | |
unsigned int | GetOuterPseudoLayer () const |
Get the outermost pseudo layer in the cluster. | |
const CartesianVector | GetCentroid (const unsigned int pseudoLayer) const |
Get unweighted centroid for cluster at a particular pseudo layer, calculated using cached values of hit coordinate sums. | |
const CartesianVector & | GetInitialDirection () const |
Get the initial direction of the cluster. | |
const ClusterFitResult & | GetFitToAllHitsResult () const |
Get the result of a linear fit to all calo hits in the cluster. | |
HitType | GetInnerLayerHitType () const |
Get the typical inner layer hit type. | |
HitType | GetOuterLayerHitType () const |
Get the typical outer layer hit type. | |
const TrackList & | GetAssociatedTrackList () const |
Get the list of tracks associated with the cluster. | |
bool | IsAvailable () const |
Whether the cluster is available to be added to a particle flow object. | |
float | GetCorrectedElectromagneticEnergy (const Pandora &pandora) const |
Get the corrected electromagnetic estimate of the cluster energy, units GeV. | |
float | GetCorrectedHadronicEnergy (const Pandora &pandora) const |
Get the corrected hadronic estimate of the cluster energy, units GeV. | |
float | GetTrackComparisonEnergy (const Pandora &pandora) const |
Get the best energy estimate to use when comparing cluster energy to associated track momentum, units GeV. For clusters identified as electromagnetic showers, the corrected electromagnetic energy will be returned. For all other clusters, the corrected hadronic energy will be returned. | |
bool | PassPhotonId (const Pandora &pandora) const |
Whether the cluster passes the photon id. | |
unsigned int | GetShowerStartLayer (const Pandora &pandora) const |
Get the pseudo layer at which shower commences. | |
float | GetShowerProfileStart (const Pandora &pandora) const |
Get the cluster shower profile start, units radiation lengths. | |
float | GetShowerProfileDiscrepancy (const Pandora &pandora) const |
Get the cluster shower profile discrepancy. | |
void | GetClusterSpanX (float &xmin, float &xmax) const |
Get minimum and maximum X positions of the calo hits in this cluster. | |
void | GetClusterSpanZ (const float xmin, const float xmax, float &zmin, float &zmax) const |
Get upper and lower Z positions of the calo hits in a cluster in range xmin to xmax. | |
Protected Types | |
typedef std::map< unsigned int, SimplePoint > | PointByPseudoLayerMap |
The point by pseudo layer typedef. | |
typedef std::map< HitType, float > | HitTypeToEnergyMap |
The hit type to energy map typedef. | |
Protected Member Functions | |
Cluster (const object_creation::Cluster::Parameters ¶meters) | |
Constructor. | |
virtual | ~Cluster () |
Destructor. | |
StatusCode | AlterMetadata (const object_creation::Cluster::Metadata &metadata) |
Alter the metadata information stored in a cluster. | |
StatusCode | AddCaloHit (const CaloHit *const pCaloHit) |
Add a calo hit to the cluster. | |
StatusCode | RemoveCaloHit (const CaloHit *const pCaloHit) |
Remove a calo hit from the cluster. | |
StatusCode | AddIsolatedCaloHit (const CaloHit *const pCaloHit) |
Add an isolated calo hit to the cluster. | |
StatusCode | RemoveIsolatedCaloHit (const CaloHit *const pCaloHit) |
Remove an isolated calo hit from the cluster. | |
void | UpdateFitToAllHitsCache () const |
Update result of linear fit to all calo hits in cluster. | |
void | UpdateInitialDirectionCache () const |
Update cluster initial direction. | |
void | UpdateLayerHitTypeCache (const unsigned int pseudoLayer, InputHitType &layerHitType) const |
Update typical hit type for specified layer. | |
void | UpdateEnergyCorrectionsCache (const Pandora &pandora) const |
Update cluster corrected energy values. | |
void | UpdatePhotonIdCache (const Pandora &pandora) const |
Update photon if flag. | |
void | UpdateShowerLayerCache (const Pandora &pandora) const |
Update the pseudo layer at which shower commences. | |
void | UpdateShowerProfileCache (const Pandora &pandora) const |
Update shower profile and comparison with expectation for a photon. | |
StatusCode | ResetProperties () |
Reset all cluster properties. | |
void | ResetOutdatedProperties () |
Reset those cluster properties that must be recalculated upon addition/removal of a calo hit. | |
StatusCode | AddHitsFromSecondCluster (const Cluster *const pCluster) |
Add the calo hits from a second cluster to this. | |
StatusCode | AddTrackAssociation (const Track *const pTrack) |
Add an association between the cluster and a track. | |
StatusCode | RemoveTrackAssociation (const Track *const pTrack) |
Remove an association between the cluster and a track. | |
void | RemoveTrackSeed () |
Remove the track seed, changing the initial direction measurement. | |
void | SetAvailability (bool isAvailable) |
Set availability of cluster to be added to a particle flow object. | |
Protected Attributes | |
OrderedCaloHitList | m_orderedCaloHitList |
The ordered calo hit list. | |
CaloHitList | m_isolatedCaloHitList |
The list of isolated hits, which contribute only towards cluster energy. | |
unsigned int | m_nCaloHits |
The number of calo hits. | |
unsigned int | m_nPossibleMipHits |
The number of calo hits that have been flagged as possible mip hits. | |
unsigned int | m_nCaloHitsInOuterLayer |
Keep track of the number of calo hits in the outermost layers. | |
double | m_electromagneticEnergy |
The sum of electromagnetic energy measures of constituent calo hits, units GeV. | |
double | m_hadronicEnergy |
The sum of hadronic energy measures of constituent calo hits, units GeV. | |
double | m_isolatedElectromagneticEnergy |
Sum of electromagnetic energy measures of isolated calo hits, units GeV. | |
double | m_isolatedHadronicEnergy |
Sum of hadronic energy measures of isolated calo hits, units GeV. | |
int | m_particleId |
The particle id flag. | |
const Track * | m_pTrackSeed |
Address of the track with which the cluster is seeded. | |
PointByPseudoLayerMap | m_sumXYZByPseudoLayer |
Construct to allow rapid calculation of centroid in each pseudolayer. | |
InputUInt | m_innerPseudoLayer |
The innermost pseudo layer in the cluster. | |
InputUInt | m_outerPseudoLayer |
The outermost pseudo layer in the cluster. | |
CartesianVector | m_initialDirection |
The initial direction of the cluster. | |
bool | m_isDirectionUpToDate |
Whether the initial direction of the cluster is up to date. | |
ClusterFitResult | m_fitToAllHitsResult |
The result of a linear fit to all calo hits in the cluster. | |
bool | m_isFitUpToDate |
Whether the fit to all calo hits is up to date. | |
InputFloat | m_correctedElectromagneticEnergy |
The corrected electromagnetic estimate of the cluster energy, units GeV. | |
InputFloat | m_correctedHadronicEnergy |
The corrected hadronic estimate of the cluster energy, units GeV. | |
InputFloat | m_trackComparisonEnergy |
The appropriate corrected energy to use in comparisons with track momentum, units GeV. | |
InputBool | m_passPhotonId |
Whether the cluster passes the photon id. | |
InputUInt | m_showerStartLayer |
The pseudo layer at which shower commences. | |
InputFloat | m_showerProfileStart |
The cluster shower profile start, units radiation lengths. | |
InputFloat | m_showerProfileDiscrepancy |
The cluster shower profile discrepancy. | |
InputHitType | m_innerLayerHitType |
The typical inner layer hit type. | |
InputHitType | m_outerLayerHitType |
The typical outer layer hit type. | |
InputFloat | m_xMin |
Cached cluster minimum in x. | |
InputFloat | m_xMax |
Cached cluster maximum in x. | |
TrackList | m_associatedTrackList |
The list of tracks associated with the cluster. | |
bool | m_isAvailable |
Whether the cluster is available to be added to a particle flow object. | |
Friends | |
class | ClusterManager |
class | AlgorithmObjectManager< Cluster > |
class | PandoraObjectFactory< object_creation::Cluster::Parameters, object_creation::Cluster::Object > |
class pandora::Cluster::SimplePoint |
SimplePoint class.
Class Members | ||
---|---|---|
unsigned int | m_nHits | The number of hits in the pseudo layer. |
double | m_xyzPositionSums[3] | The sum of the x, y and z hit positions in the pseudo layer. |
|
protected |
|
protected |
|
protected |
Constructor.
parameters | the cluster parameters |
Definition at line 232 of file Cluster.cc.
|
protectedvirtual |
Destructor.
Definition at line 269 of file Cluster.cc.
|
protected |
Add a calo hit to the cluster.
pCaloHit | the address of the calo hit |
Definition at line 288 of file Cluster.cc.
|
protected |
Add the calo hits from a second cluster to this.
pCluster | the address of the second cluster |
Definition at line 608 of file Cluster.cc.
|
protected |
Add an isolated calo hit to the cluster.
pCaloHit | the address of the isolated calo hit |
Definition at line 390 of file Cluster.cc.
|
protected |
Add an association between the cluster and a track.
pTrack | the address of the track with which the cluster is associated |
Definition at line 666 of file Cluster.cc.
|
protected |
Alter the metadata information stored in a cluster.
metaData | the metadata (only populated metadata fields will be propagated to the object) |
Definition at line 275 of file Cluster.cc.
|
inline |
const CartesianVector pandora::Cluster::GetCentroid | ( | const unsigned int | pseudoLayer | ) | const |
Get unweighted centroid for cluster at a particular pseudo layer, calculated using cached values of hit coordinate sums.
pseudoLayer | the pseudo layer of interest |
Definition at line 37 of file Cluster.cc.
void pandora::Cluster::GetClusterSpanX | ( | float & | xmin, |
float & | xmax | ||
) | const |
Get minimum and maximum X positions of the calo hits in this cluster.
the | minimum position of x |
the | maximum position of x |
Definition at line 169 of file Cluster.cc.
void pandora::Cluster::GetClusterSpanZ | ( | const float | xmin, |
const float | xmax, | ||
float & | zmin, | ||
float & | zmax | ||
) | const |
Get upper and lower Z positions of the calo hits in a cluster in range xmin to xmax.
xmin | for range in x |
xmax | for range in x |
zmin | the lower z for this range of x |
zmax | the upper z for this range in x |
Definition at line 198 of file Cluster.cc.
float pandora::Cluster::GetCorrectedElectromagneticEnergy | ( | const Pandora & | pandora | ) | const |
Get the corrected electromagnetic estimate of the cluster energy, units GeV.
pandora | the associated pandora instance |
Definition at line 96 of file Cluster.cc.
float pandora::Cluster::GetCorrectedHadronicEnergy | ( | const Pandora & | pandora | ) | const |
Get the corrected hadronic estimate of the cluster energy, units GeV.
pandora | the associated pandora instance |
Definition at line 106 of file Cluster.cc.
|
inline |
const ClusterFitResult & pandora::Cluster::GetFitToAllHitsResult | ( | ) | const |
Get the result of a linear fit to all calo hits in the cluster.
Definition at line 66 of file Cluster.cc.
|
inline |
const CartesianVector & pandora::Cluster::GetInitialDirection | ( | ) | const |
Get the initial direction of the cluster.
Definition at line 56 of file Cluster.cc.
HitType pandora::Cluster::GetInnerLayerHitType | ( | ) | const |
Get the typical inner layer hit type.
Definition at line 76 of file Cluster.cc.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
HitType pandora::Cluster::GetOuterLayerHitType | ( | ) | const |
Get the typical outer layer hit type.
Definition at line 86 of file Cluster.cc.
|
inline |
|
inline |
float pandora::Cluster::GetShowerProfileDiscrepancy | ( | const Pandora & | pandora | ) | const |
Get the cluster shower profile discrepancy.
pandora | the associated pandora instance |
Definition at line 159 of file Cluster.cc.
float pandora::Cluster::GetShowerProfileStart | ( | const Pandora & | pandora | ) | const |
Get the cluster shower profile start, units radiation lengths.
pandora | the associated pandora instance |
Definition at line 149 of file Cluster.cc.
unsigned int pandora::Cluster::GetShowerStartLayer | ( | const Pandora & | pandora | ) | const |
Get the pseudo layer at which shower commences.
pandora | the associated pandora instance |
Definition at line 139 of file Cluster.cc.
float pandora::Cluster::GetTrackComparisonEnergy | ( | const Pandora & | pandora | ) | const |
Get the best energy estimate to use when comparing cluster energy to associated track momentum, units GeV. For clusters identified as electromagnetic showers, the corrected electromagnetic energy will be returned. For all other clusters, the corrected hadronic energy will be returned.
pandora | the associated pandora instance |
Definition at line 116 of file Cluster.cc.
const Track * pandora::Cluster::GetTrackSeed | ( | ) | const |
Get the address of the track with which the cluster is seeded.
Definition at line 27 of file Cluster.cc.
|
inline |
|
inline |
bool pandora::Cluster::PassPhotonId | ( | const Pandora & | pandora | ) | const |
Whether the cluster passes the photon id.
pandora | the associated pandora instance |
Definition at line 126 of file Cluster.cc.
|
protected |
Remove a calo hit from the cluster.
pCaloHit | the address of the calo hit |
Definition at line 340 of file Cluster.cc.
|
protected |
Remove an isolated calo hit from the cluster.
pCaloHit | the address of the isolated calo hit |
Definition at line 409 of file Cluster.cc.
|
protected |
Remove an association between the cluster and a track.
pTrack | the address of the track with which the cluster is no longer associated |
Definition at line 680 of file Cluster.cc.
|
protected |
Remove the track seed, changing the initial direction measurement.
Definition at line 693 of file Cluster.cc.
|
protected |
Reset those cluster properties that must be recalculated upon addition/removal of a calo hit.
Definition at line 587 of file Cluster.cc.
|
protected |
Reset all cluster properties.
Definition at line 560 of file Cluster.cc.
|
inlineprotected |
|
protected |
Update cluster corrected energy values.
pandora | the associated pandora instance |
Definition at line 497 of file Cluster.cc.
|
protected |
Update result of linear fit to all calo hits in cluster.
Definition at line 431 of file Cluster.cc.
|
protected |
Update cluster initial direction.
Definition at line 439 of file Cluster.cc.
|
protected |
Update typical hit type for specified layer.
pseudoLayer | the pseudo layer |
layerHitType | to receive the typical layer hit type |
Definition at line 460 of file Cluster.cc.
|
protected |
Update photon if flag.
pandora | the associated pandora instance |
Definition at line 524 of file Cluster.cc.
|
protected |
Update the pseudo layer at which shower commences.
pandora | the associated pandora instance |
Definition at line 534 of file Cluster.cc.
|
protected |
Update shower profile and comparison with expectation for a photon.
pandora | the associated pandora instance |
Definition at line 547 of file Cluster.cc.
|
friend |
|
friend |
|
friend |
|
protected |
|
mutableprotected |
|
mutableprotected |
|
protected |
|
mutableprotected |
|
protected |
|
mutableprotected |
|
mutableprotected |
|
protected |
|
protected |
|
mutableprotected |
|
mutableprotected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
mutableprotected |
|
protected |
|
protected |
|
mutableprotected |
|
protected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
protected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |