10 #define PFO_CREATOR_H 1
12 #include "ClusterShapes.h"
13 #include "Api/PandoraApi.h"
15 namespace IMPL {
class ClusterImpl;
class ReconstructedParticleImpl; }
16 namespace EVENT {
class LCEvent; }
86 void InitialiseSubDetectorNames(pandora::StringVector &subDetectorNames)
const;
99 void SetClusterSubDetectorEnergies(
const pandora::StringVector &subDetectorNames, IMPL::ClusterImpl *
const pLcioCluster,
100 const pandora::CaloHitList &pandoraCaloHitList, pandora::FloatVector &hitE, pandora::FloatVector &hitX, pandora::FloatVector &hitY,
101 pandora::FloatVector &hitZ)
const;
111 void SetClusterEnergyAndError(
const pandora::ParticleFlowObject *
const pPandoraPfo,
const pandora::Cluster *
const pPandoraCluster,
112 IMPL::ClusterImpl *
const pLcioCluster,
float &clusterCorrectEnergy)
const;
125 void SetClusterPositionAndError(
const unsigned int nHitsInCluster, pandora::FloatVector &hitE, pandora::FloatVector &hitX,
126 pandora::FloatVector &hitY, pandora::FloatVector &hitZ, IMPL::ClusterImpl *
const pLcioCluster, pandora::CartesianVector &clusterPositionVec)
const;
134 pandora::StatusCode CalculateTrackBasedReferencePoint(
const pandora::ParticleFlowObject *
const pPandoraPfo, pandora::CartesianVector &referencePoint)
const;
142 void SetRecoParticleReferencePoint(
const pandora::CartesianVector &referencePoint, IMPL::ReconstructedParticleImpl *
const pReconstructedParticle)
const;
150 void AddTracksToRecoParticle(
const pandora::ParticleFlowObject *
const pPandoraPfo, IMPL::ReconstructedParticleImpl *
const pReconstructedParticle)
const;
158 void SetRecoParticlePropertiesFromPFO(
const pandora::ParticleFlowObject *
const pPandoraPfo, IMPL::ReconstructedParticleImpl *
const pReconstructedParticle)
const;
168 bool IsValidParentTrack(
const pandora::Track *
const pPandoraTrack,
const pandora::TrackList &allTrackList)
const;
178 bool HasValidSiblingTrack(
const pandora::Track *
const pPandoraTrack,
const pandora::TrackList &allTrackList)
const;
188 bool IsClosestTrackToIP(
const pandora::Track *
const pPandoraTrack,
const pandora::TrackList &allTrackList)
const;
198 bool AreAnyOtherSiblingsInList(
const pandora::Track *
const pPandoraTrack,
const pandora::TrackList &allTrackList)
const;
200 const Settings m_settings;
201 const pandora::Pandora *m_pPandora;
204 #endif // #ifndef PFO_CREATOR_H
std::string m_clusterCollectionName
The name of the cluster output collection.
Definition: PfoCreator.h:37
PfoCreator class.
Definition: PfoCreator.h:23
float m_emStochasticTerm
The stochastic term for EM shower energy resolution.
Definition: PfoCreator.h:41
std::string m_startVertexAlgName
The name of the algorithm to fill the start vertex output collection.
Definition: PfoCreator.h:40
float m_emConstantTerm
The constant term for EM shower energy resolution.
Definition: PfoCreator.h:43
Settings()
Default constructor.
Definition: PfoCreator.cc:420
PfoCreator(const Settings &settings, const pandora::Pandora *const pPandora)
Constructor.
Definition: PfoCreator.cc:37
Settings class.
Definition: PfoCreator.h:29
float m_hadStochasticTerm
The stochastic term for Hadronic shower energy resolution.
Definition: PfoCreator.h:42
float m_hadConstantTerm
The constant term for Hadronic shower energy resolution.
Definition: PfoCreator.h:44
std::string m_pfoCollectionName
The name of the pfo output collection.
Definition: PfoCreator.h:38
std::string m_startVertexCollectionName
The name of the start vertex output collection.
Definition: PfoCreator.h:39
pandora::StatusCode CreateParticleFlowObjects(EVENT::LCEvent *pLCEvent)
Create particle flow objects.
Definition: PfoCreator.cc:51
~PfoCreator()
Destructor.
Definition: PfoCreator.cc:45