2 #define PFO_CREATOR_H 1 6 #include "Api/PandoraApi.h" 18 namespace gar_pandora {
167 #endif // #ifndef PFO_CREATOR_H void SetRecoParticleReferencePoint(const pandora::CartesianVector &referencePoint, gar::rec::PFParticle &pReconstructedParticle) const
Set reference point of the reconstructed particle.
bool AreAnyOtherSiblingsInList(const pandora::Track *const pPandoraTrack, const pandora::TrackList &allTrackList) const
Whether at least one track sibling track is associated to the reconstructed particle.
bool IsClosestTrackToIP(const pandora::Track *const pPandoraTrack, const pandora::TrackList &allTrackList) const
Whether the track is the closest (of those associated with the same pfo) to the interaction point...
std::unique_ptr< std::vector< rec::PFParticle > > PFParticleCollection
pandora::StatusCode CalculateTrackBasedReferencePoint(const pandora::ParticleFlowObject *const pPandoraPfo, pandora::CartesianVector &referencePoint) const
Calculate reference point for pfo with tracks.
float m_hadConstantTerm
The constant term for HAD shower energy resolution.
bool IsValidParentTrack(const pandora::Track *const pPandoraTrack, const pandora::TrackList &allTrackList) const
Whether parent and daughter tracks are associated with the same pfo.
void SetClusterEnergyAndError(const pandora::ParticleFlowObject *const pPandoraPfo, const pandora::Cluster *const pPandoraCluster, gar::rec::Cluster &pCluster, float &clusterCorrectEnergy) const
Set cluster energies and errors.
PfoCreator(const Settings &settings, const pandora::Pandora *const pPandora, const RotationTransformation *const pRotation)
std::set< const gar::rec::Track * > TrackList
float m_hadStochasticTerm
The stochastic term for HAD shower energy resolution.
const pandora::Pandora & m_pandora
Reference to the pandora object from which to extract the pfos.
const RotationTransformation & m_rotation
float m_emConstantTerm
The constant term for EM shower energy resolution.
void SetRecoParticlePropertiesFromPFO(const pandora::ParticleFlowObject *const pPandoraPfo, gar::rec::PFParticle &pReconstructedParticle) const
Set properties of reconstructed particle from pandora pfo.
bool HasValidSiblingTrack(const pandora::Track *const pPandoraTrack, const pandora::TrackList &allTrackList) const
Whether sibling tracks are associated with the same pfo.
void SetClusterSubDetectorEnergies(const pandora::StringVector &subDetectorNames, const pandora::CaloHitList &pandoraCaloHitList, pandora::FloatVector &hitE, pandora::FloatVector &hitX, pandora::FloatVector &hitY, pandora::FloatVector &hitZ) const
Set sub detector energies for a cluster.
float m_emStochasticTerm
The stochastic term for EM shower energy resolution.
void SetClusterPositionAndError(const unsigned int nHitsInCluster, pandora::FloatVector &hitE, pandora::FloatVector &hitX, pandora::FloatVector &hitY, pandora::FloatVector &hitZ, gar::rec::Cluster &pCluster, pandora::CartesianVector &clusterPositionVec) const
Set cluster position, errors and other shape info, by calculating culster shape first.
General GArSoft Utilities.
void InitialiseSubDetectorNames(pandora::StringVector &subDetectorNames) const
initialise sub detector name strings
void AddTracksToRecoParticle(const pandora::ParticleFlowObject *const pPandoraPfo, gar::rec::PFParticle &pReconstructedParticle) const
Add tracks to reconstructed particle.
pandora::StatusCode CreateParticleFlowObjects(art::Event &pEvent)
std::vector< string > StringVector
std::unique_ptr< std::vector< rec::Cluster > > ClusterCollection
TrackCollectionProxyElement< TrackCollProxy > Track
Proxy to an element of a proxy collection of recob::Track objects.
Dft::FloatVector FloatVector
const Settings m_settings
The pfo creator settings.