29 #ifndef RECLUSTERHELPER_H
30 #define RECLUSTERHELPER_H
32 #include "Pandora/PandoraInputTypes.h"
33 #include "Pandora/PandoraInternal.h"
35 namespace april_content
54 float GetChi2()
const;
59 float GetChiPerDof()
const;
64 float GetChi2PerDof()
const;
69 float GetNeutralEnergy()
const;
74 float GetChargedEnergy()
const;
79 float GetChiWorstAssociation()
const;
84 void SetChi(
float chi);
89 void SetChi2(
float chi2);
94 void SetChiPerDof(
float chiPerDof);
99 void SetChi2PerDof(
float chi2PerDof);
104 void SetNeutralEnergy(
float neutralEnergy);
109 void SetChargedEnergy(
float chargedEnergy);
114 void SetChiWorstAssociation(
float chiWorstAssociation);
121 float m_neutralEnergy;
122 float m_chargedEnergy;
123 float m_chiWorstAssociation;
144 const pandora::TrackList &trackList);
146 static float GetTrackClusterCompatibility(
const pandora::Pandora &pandora,
const pandora::Cluster *
const pClusterToEnlarge,
const pandora::Cluster *
const pClusterToMerge,
const pandora::TrackList &trackList);
180 const pandora::Cluster *
const pOriginalCluster,
const pandora::Cluster *&pSeparatedTreeCluster,
const std::string &originalClusterListName =
"");
191 pandora::ClusterVector &treeClusterVector);
197 inline float ReclusterResult::GetChi()
const
204 inline float ReclusterResult::GetChi2()
const
211 inline float ReclusterResult::GetChiPerDof()
const
218 inline float ReclusterResult::GetChi2PerDof()
const
225 inline float ReclusterResult::GetNeutralEnergy()
const
227 return m_neutralEnergy;
232 inline float ReclusterResult::GetChargedEnergy()
const
234 return m_chargedEnergy;
239 inline float ReclusterResult::GetChiWorstAssociation()
const
241 return m_chiWorstAssociation;
246 inline void ReclusterResult::SetChi(
float chi)
253 inline void ReclusterResult::SetChi2(
float chi2)
260 inline void ReclusterResult::SetChiPerDof(
float chiPerDof)
262 m_chiPerDof = chiPerDof;
267 inline void ReclusterResult::SetChi2PerDof(
float chi2PerDof)
269 m_chi2PerDof = chi2PerDof;
274 inline void ReclusterResult::SetNeutralEnergy(
float neutralEnergy)
276 m_neutralEnergy = neutralEnergy;
281 inline void ReclusterResult::SetChargedEnergy(
float chargedEnergy)
283 m_chargedEnergy = chargedEnergy;
288 inline void ReclusterResult::SetChiWorstAssociation(
float chiWorstAssociation)
290 m_chiWorstAssociation = chiWorstAssociation;
295 #endif // RECLUSTERHELPER_H
static pandora::StatusCode SplitTreeFromCluster(const pandora::Algorithm &algorithm, const april_content::CaloHit *const pSeedCaloHit, const pandora::Cluster *const pOriginalCluster, const pandora::Cluster *&pSeparatedTreeCluster, const std::string &originalClusterListName="")
Create a separated tree cluster from a seed calo hit contained in an original cluster. Possible only if the original cluster contains more than one tree (more than one seed calo hit). Calo hits of the newly created tree cluster are removed from the original one.
Definition: ReclusterHelper.cc:198
CaloHit class.
Definition: CaloHit.h:52
ReclusterResult class.
Definition: ReclusterHelper.h:43
static pandora::StatusCode ExtractReclusterResults(const pandora::Pandora &pandora, const pandora::ClusterList &clusterList, ReclusterResult &reclusterResult)
Extract the recluster result.
Definition: ReclusterHelper.cc:147
static float GetTrackClusterCompatibility(const pandora::Pandora &pandora, const pandora::Cluster *const pCluster, const pandora::TrackList &trackList)
Evaluate the compatibility of a cluster with its associated tracks. Reclustering can be used to split...
Definition: ReclusterHelper.cc:39
static pandora::StatusCode SplitClusterIntoTreeClusters(const pandora::Algorithm &algorithm, const pandora::Cluster *const pCluster, pandora::ClusterVector &treeClusterVector)
Create a cluster list for each tree contained in the cluster Possible only if the cluster contains mo...
Definition: ReclusterHelper.cc:264
ReclusterHelper class.
Definition: ReclusterHelper.h:129