APRILContent
Algorithm of Particle Reconstruction for ILC - implementation with PandoraSDK
|
MainFragmentRemovalAlgorithm class. More...
#include <MainFragmentRemovalAlgorithm.h>
Classes | |
class | Factory |
Private Types | |
typedef ChargedClusterContact::Parameters | ContactParameters |
Private Member Functions | |
pandora::StatusCode | Run () |
pandora::StatusCode | ReadSettings (const pandora::TiXmlHandle xmlHandle) |
pandora::StatusCode | GetChargedClusterContactMap (bool &isFirstPass, const pandora::ClusterSet &affectedClusters, ChargedClusterContactMap &chargedClusterContactMap) const |
Get cluster contact map, linking each daughter candidate cluster to a list of parent candidates and describing the proximity/contact between each pairing. More... | |
bool | PassesClusterContactCuts (const ChargedClusterContact &chargedClusterContact) const |
Whether candidate parent and daughter clusters are sufficiently in contact to warrant further investigation. More... | |
pandora::StatusCode | GetClusterMergingCandidates (const ChargedClusterContactMap &chargedClusterContactMap, const pandora::Cluster *&pBestParentCluster, const pandora::Cluster *&pBestDaughterCluster) |
Find the best candidate parent and daughter clusters for fragment removal merging. More... | |
bool | PassesPreselection (const pandora::Cluster *const pDaughterCluster, const ChargedClusterContactVector &chargedClusterContactVector, float &globalDeltaChi2) const |
Whether the candidate parent and daughter clusters pass quick preselection for fragment removal merging. More... | |
float | GetTotalEvidenceForMerge (const ChargedClusterContact &chargedClusterContact) const |
Get a measure of the total evidence for merging the parent and daughter candidate clusters. More... | |
float | GetRequiredEvidenceForMerge (const pandora::Cluster *const pDaughterCluster, const ChargedClusterContact &chargedClusterContact, const unsigned int correctionLayer, const float globalDeltaChi2) |
Get the required evidence for merging the parent and daughter candidate clusters. More... | |
unsigned int | GetClusterCorrectionLayer (const pandora::Cluster *const pDaughterCluster) const |
Get the cluster correction layer. Working from innermost to outermost layer, the correction layer is that in which: i) the number of hit-layers passes m_correctionLayerNHitLayers, or ii) the total calo hit hadronic energy passes (m_correctionLayerEnergyFraction * cluster energy) More... | |
pandora::StatusCode | GetAffectedClusters (const ChargedClusterContactMap &chargedClusterContactMap, const pandora::Cluster *const pBestParentCluster, const pandora::Cluster *const pBestDaughterCluster, pandora::ClusterSet &affectedClusters) const |
Get the list of clusters for which cluster contact information will be affected by a specified cluster merge. More... | |
Private Attributes | |
ContactParameters | m_contactParameters |
The charged cluster contact parameters. | |
unsigned int | m_minDaughterCaloHits |
Min number of calo hits in daughter candidate clusters. | |
float | m_minDaughterHadronicEnergy |
Min hadronic energy for daughter candidate clusters. | |
float | m_contactCutMaxDistance |
Max distance between closest hits to store cluster contact info. | |
unsigned int | m_contactCutNLayers |
Number of contact layers to store cluster contact info. | |
float | m_contactCutConeFraction1 |
Cone fraction 1 value to store cluster contact info. | |
float | m_contactCutCloseHitFraction1 |
Close hit fraction 1 value to store cluster contact info. | |
float | m_contactCutCloseHitFraction2 |
Close hit fraction 2 value to store cluster contact info. | |
float | m_contactCutMeanDistanceToHelix |
Mean distance to helix value to store cluster contact info. | |
float | m_contactCutClosestDistanceToHelix |
Closest distance to helix value to store cluster contact info. | |
float | m_contactCutMaxHitDistance |
Hit separation to store contact info. | |
unsigned int | m_contactCutMinDaughterInnerLayer |
Min daughter cluster inner layer to store contact info. | |
float | m_maxChi2 |
Pre-selection: new chi2 value to allow cluster merging. | |
float | m_maxGlobalChi2 |
Pre-selection: new global chi2 value to allow cluster merging. | |
float | m_chi2Base |
Required evidence: min contribution from change in chi2. | |
float | m_globalChi2Penalty |
Required evidence penalty for using global chi2 measure. | |
unsigned int | m_correctionLayerNHitLayers |
Number of hit-layers passed to identify correction layer. | |
float | m_correctionLayerEnergyFraction |
Fraction of total hadronic energy passed to identify correction layer. | |
unsigned int | m_contactEvidenceNLayers1 |
Contact evidence n layers cut 1. | |
unsigned int | m_contactEvidenceNLayers2 |
Contact evidence n layers cut 2. | |
unsigned int | m_contactEvidenceNLayers3 |
Contact evidence n layers cut 3. | |
float | m_contactEvidence1 |
Contact evidence contribution 1. | |
float | m_contactEvidence2 |
Contact evidence contribution 2. | |
float | m_contactEvidence3 |
Contact evidence contribution 3. | |
float | m_coneEvidenceFraction1 |
Cone fraction 1 value required for cone evidence contribution. | |
float | m_coneEvidenceFineGranularityMultiplier |
Cone evidence multiplier for fine granularity daughter clusters. | |
float | m_closestTrackEvidence1 |
Offset for closest distance to helix evidence contribution 1. | |
float | m_closestTrackEvidence1d |
Denominator for closest distance to helix evidence contribution 1. | |
float | m_closestTrackEvidence2 |
Offset for closest distance to helix evidence contribution 2. | |
float | m_closestTrackEvidence2d |
Denominator for closest distance to helix evidence contribution 2. | |
float | m_meanTrackEvidence1 |
Offset for mean distance to helix evidence contribution 1. | |
float | m_meanTrackEvidence1d |
Denominator for mean distance to helix evidence contribution 1. | |
float | m_meanTrackEvidence2 |
Offset for mean distance to helix evidence contribution 2. | |
float | m_meanTrackEvidence2d |
Denominator for mean distance to helix evidence contribution 1. | |
float | m_distanceEvidence1 |
Offset for distance evidence contribution 1. | |
float | m_distanceEvidence1d |
Denominator for distance evidence contribution 1. | |
float | m_distanceEvidenceCloseFraction1Multiplier |
Distance evidence multiplier for close hit fraction 1. | |
float | m_distanceEvidenceCloseFraction2Multiplier |
Distance evidence multiplier for close hit fraction 2. | |
float | m_contactWeight |
Weight for layers in contact evidence. | |
float | m_coneWeight |
Weight for cone extrapolation evidence. | |
float | m_distanceWeight |
Weight for distance of closest approach evidence. | |
float | m_trackExtrapolationWeight |
Weight for track extrapolation evidence. | |
unsigned int | m_layerCorrectionLayerValue1 |
Max value of correction layer for layer correction contribution 1. | |
unsigned int | m_layerCorrectionLayerValue2 |
Max value of correction layer for layer correction contribution 2. | |
unsigned int | m_layerCorrectionLayerValue3 |
Max value of correction layer for layer correction contribution 3. | |
float | m_layerCorrection1 |
Layer correction contribution 1. | |
float | m_layerCorrection2 |
Layer correction contribution 2. | |
float | m_layerCorrection3 |
Layer correction contribution 3. | |
float | m_layerCorrection4 |
Layer correction contribution 4, applied if 1,2,3 not applicable. | |
float | m_layerCorrectionLayerSpan |
Daughter layer span for layer correction contribution 5. | |
float | m_layerCorrectionMinInnerLayer |
Daughter min inner layer for layer correction contribution 5. | |
float | m_layerCorrection5 |
Layer correction contribution 5. | |
float | m_leavingCorrection |
Correction for clusters leaving calorimeters. | |
float | m_energyCorrectionThreshold |
Energy correction threshold. | |
float | m_lowEnergyCorrectionThreshold |
Low energy correction threshold. | |
unsigned int | m_lowEnergyCorrectionNHitLayers1 |
Number of hit layers below which to apply contribution 1. | |
unsigned int | m_lowEnergyCorrectionNHitLayers2 |
Number of hit layers below which to apply contribution 2. | |
unsigned int | m_lowEnergyCorrectionNHitLayers3 |
Number of hit layers above which to apply contribution 3. | |
float | m_lowEnergyCorrection1 |
Low energy correction contribution 1. | |
float | m_lowEnergyCorrection2 |
Low energy correction contribution 2. | |
float | m_lowEnergyCorrection3 |
Low energy correction contribution 3. | |
float | m_angularCorrectionOffset |
Offset value for angular correction. | |
float | m_angularCorrectionConstant |
Constant value for angular correction. | |
float | m_angularCorrectionGradient |
Gradient value for angular correction. | |
float | m_photonCorrectionEnergy1 |
Photon correction energy value 1. | |
float | m_photonCorrectionEnergy2 |
Photon correction energy value 2. | |
float | m_photonCorrectionEnergy3 |
Photon correction energy value 3. | |
float | m_photonCorrectionShowerStart1 |
Photon correction profile shower start value 1. | |
float | m_photonCorrectionShowerStart2 |
Photon correction profile shower start value 1. | |
float | m_photonCorrectionShowerDiscrepancy1 |
Photon correction profile discrepancy value 1. | |
float | m_photonCorrectionShowerDiscrepancy2 |
Photon correction profile discrepancy value 2. | |
float | m_photonCorrection1 |
Photon correction contribution 1. | |
float | m_photonCorrection2 |
Photon correction contribution 2. | |
float | m_photonCorrection3 |
Photon correction contribution 3. | |
float | m_photonCorrection4 |
Photon correction contribution 4. | |
float | m_photonCorrection5 |
Photon correction contribution 5. | |
float | m_photonCorrection6 |
Photon correction contribution 6. | |
float | m_photonCorrection7 |
Photon correction contribution 7. | |
float | m_minRequiredEvidence |
Minimum required evidence to merge parent/daughter clusters. | |
MainFragmentRemovalAlgorithm class.
|
private |
Get the list of clusters for which cluster contact information will be affected by a specified cluster merge.
chargedClusterContactMap | the cluster contact map |
pBestParentCluster | address of the parent cluster to be merged |
pBestDaughterCluster | address of the daughter cluster to be merged |
affectedClusters | to receive the list of affected clusters |
|
private |
Get cluster contact map, linking each daughter candidate cluster to a list of parent candidates and describing the proximity/contact between each pairing.
isFirstPass | whether this is the first call to GetChargedClusterContactMap |
affectedClusters | list of those clusters affected by previous cluster merging, for which contact details must be updated |
chargedClusterContactMap | to receive the populated cluster contact map |
|
private |
Get the cluster correction layer. Working from innermost to outermost layer, the correction layer is that in which: i) the number of hit-layers passes m_correctionLayerNHitLayers, or ii) the total calo hit hadronic energy passes (m_correctionLayerEnergyFraction * cluster energy)
pDaughterCluster | address of the daughter cluster candidate |
|
private |
Find the best candidate parent and daughter clusters for fragment removal merging.
chargedClusterContactMap | the populated cluster contact map |
pBestParentCluster | to receive the address of the best parent cluster candidate |
pBestDaughterCluster | to receive the address of the best daughter cluster candidate |
|
private |
Get the required evidence for merging the parent and daughter candidate clusters.
pDaughterCluster | address of the daughter cluster candidate |
chargedClusterContact | the cluster contact details for parent/daughter candidate merge |
correctionLayer | the daughter cluster correction layer |
globalDeltaChi2 | global delta chi2, indicating whether daughter cluster would be better merged with group of all nearby clusters |
|
private |
Get a measure of the total evidence for merging the parent and daughter candidate clusters.
chargedClusterContact | the cluster contact details for parent/daughter candidate merge |
|
private |
Whether candidate parent and daughter clusters are sufficiently in contact to warrant further investigation.
chargedClusterContact | the cluster contact |
|
private |
Whether the candidate parent and daughter clusters pass quick preselection for fragment removal merging.
pDaughterCluster | address of the daughter cluster candidate |
chargedClusterContactVector | list cluster contact details for the given daughter cluster |
globalDeltaChi2 | to receive global delta chi2, indicating whether daughter cluster would be better merged with group of all nearby clusters |