APRILContent
Algorithm of Particle Reconstruction for ILC - implementation with PandoraSDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations
ConeBasedMergingAlgorithm.h
Go to the documentation of this file.
1 
8 #ifndef APRIL_CONE_BASED_MERGING_ALGORITHM_H
9 #define APRIL_CONE_BASED_MERGING_ALGORITHM_H 1
10 
11 #include "Pandora/Algorithm.h"
12 
13 namespace pandora { class ClusterFitResult; }
14 
15 //------------------------------------------------------------------------------------------------------------------------------------------
16 
17 namespace april_content
18 {
19 
23 class ConeBasedMergingAlgorithm : public pandora::Algorithm
24 {
25 public:
29  class Factory : public pandora::AlgorithmFactory
30  {
31  public:
32  pandora::Algorithm *CreateAlgorithm() const;
33  };
34 
36 
37 private:
38  pandora::StatusCode Run();
39  pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle);
40 
41  typedef std::map<const pandora::Cluster *, const pandora::ClusterFitResult> ClusterFitResultMap;
42 
50  pandora::StatusCode PrepareClusters(pandora::ClusterVector &daughterVector, ClusterFitResultMap &parentFitResultMap) const;
51 
62  float GetFractionInCone(const pandora::Cluster *const pParentCluster, const pandora::Cluster *const pDaughterCluster,
63  const pandora::ClusterFitResult &parentMipFitResult) const;
64 
66 
69 
70  unsigned int m_minHitsInCluster;
71  unsigned int m_minLayersToShowerStart;
72 
77 
81 
87 };
88 
89 inline pandora::Algorithm *ConeBasedMergingAlgorithm::Factory::CreateAlgorithm() const
90 {
91  return new ConeBasedMergingAlgorithm();
92 }
93 
94 }
95 
96 #endif
unsigned int m_minHitsInCluster
The min number of calo hits in a cluster.
Definition: ConeBasedMergingAlgorithm.h:70
Default constructor.
Definition: ConeBasedMergingAlgorithm.h:29
float m_coneCosineHalfAngle
Cosine of cone half angle.
Definition: ConeBasedMergingAlgorithm.h:76
std::string m_trackClusterAssociationAlgName
The name of the track-cluster association algorithm to run.
Definition: ConeBasedMergingAlgorithm.h:65
float m_canMergeMinMipFraction
The minimum mip fraction for clusters (flagged as photons) to be merged.
Definition: ConeBasedMergingAlgorithm.h:67
float m_cosConeAngleWrtRadialCut2
2nd pair of cuts: Min cosine of angle between cone and radial direction
Definition: ConeBasedMergingAlgorithm.h:85
float m_minHitSeparationCut1
1st pair of cuts: Max separation between cone vertex and daughter cluster hit
Definition: ConeBasedMergingAlgorithm.h:84
float m_minDaughterHadronicEnergy
Minimum daughter hadronic energy for merging (unless chi2 criteria are met)
Definition: ConeBasedMergingAlgorithm.h:78
float m_canMergeMaxRms
The maximum all hit fit rms for clusters (flagged as photons) to be merged.
Definition: ConeBasedMergingAlgorithm.h:68
unsigned int m_minLayersToShowerStart
The min number of layers between parent inner layer and shower start layer.
Definition: ConeBasedMergingAlgorithm.h:71
float m_minHitSeparationCut2
2nd pair of cuts: Max separation between cone vertex and daughter cluster hit
Definition: ConeBasedMergingAlgorithm.h:86
float GetFractionInCone(const pandora::Cluster *const pParentCluster, const pandora::Cluster *const pDaughterCluster, const pandora::ClusterFitResult &parentMipFitResult) const
Get the fraction of hits in a daughter candidate cluster that are contained in a cluster defined by a...
Definition: ConeBasedMergingAlgorithm.cc:212
pandora::StatusCode PrepareClusters(pandora::ClusterVector &daughterVector, ClusterFitResultMap &parentFitResultMap) const
Prepare clusters for the cone based merging algorithm, applying pre-selection cuts and performing a m...
Definition: ConeBasedMergingAlgorithm.cc:159
float m_cosConeAngleWrtRadialCut1
1st pair of cuts: Min cosine of angle between cone and radial direction
Definition: ConeBasedMergingAlgorithm.h:83
float m_maxTrackClusterDChi2
Max diff between chi2 using parent+daughter energies and that using only parent.
Definition: ConeBasedMergingAlgorithm.h:80
float m_maxInnerLayerSeparationNoTrack
Max distance between parent/daughter inner centroids when parent has no associated tracks...
Definition: ConeBasedMergingAlgorithm.h:75
float m_maxInnerLayerSeparation
Max distance between parent and daughter inner layer centroids.
Definition: ConeBasedMergingAlgorithm.h:74
ConeBasedMergingAlgorithm class.
Definition: ConeBasedMergingAlgorithm.h:23
float m_minCosConeAngleWrtRadial
Min cosine of angle between cone and radial direction.
Definition: ConeBasedMergingAlgorithm.h:82
float m_minConeFraction
The min fraction of daughter hits that must lie in parent mip fit cone.
Definition: ConeBasedMergingAlgorithm.h:73
float m_maxTrackClusterChi
Max no. standard deviations between clusters and associated track energies.
Definition: ConeBasedMergingAlgorithm.h:79