63 pfoParameters.m_energy = 0.f;
64 pfoParameters.m_momentum = pInputPfo->
GetMomentum();
76 PANDORA_THROW_RESULT_IF(STATUS_CODE_SUCCESS, !=, PandoraContentApi::ParticleFlowObject::Create(*
this, pfoParameters, pOutputPfo, pfoFactory));
84 const Vertex *pOutputVertex =
nullptr;
86 PandoraContentApi::Vertex::Parameters vtxParameters;
91 PANDORA_THROW_RESULT_IF(STATUS_CODE_SUCCESS, !=, PandoraContentApi::Vertex::Create(*
this, vtxParameters, pOutputVertex));
96 if (STATUS_CODE_FAILURE == statusCodeException.
GetStatusCode())
97 throw statusCodeException;
Header file for the cluster helper class.
Header file for the geometry helper class.
Header file for the principal curve analysis helper class.
Header file for the pfo helper class.
Header file for the lar pfo class.
Header file for the lar three dimensional sliding fit result class.
Header file for the neutrino event creation algorithm class.
#define PANDORA_THROW_RESULT_IF(StatusCode1, Operator, Command)
#define PANDORA_RETURN_RESULT_IF_AND_IF(StatusCode1, StatusCode2, Operator, Command)
static pandora::StatusCode ReplaceCurrentList(const pandora::Algorithm &algorithm, const std::string &newListName)
Replace the current list with a pre-saved list; use this new list as a permanent replacement for the ...
virtual pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)
Read the algorithm settings.
static bool IsFinalState(const pandora::ParticleFlowObject *const pPfo)
Whether a pfo is a primary parent particle.
static bool IsShower(const pandora::ParticleFlowObject *const pPfo)
Return shower flag based on Pfo Particle ID.
static bool IsNeutrino(const pandora::ParticleFlowObject *const pPfo)
Whether a pfo is a neutrino or (antineutrino)
static LArShowerPCA GetPrincipalComponents(const pandora::CartesianPointVector &pointVector, const pandora::CartesianVector &vertexPosition)
Perform PCA analysis on a set of 3D points and return results.
static bool IsNeutrinoFinalState(const pandora::ParticleFlowObject *const pPfo)
Whether a pfo is a final-state particle from a neutrino (or antineutrino) interaction.
static const pandora::Vertex * GetVertex(const pandora::ParticleFlowObject *const pPfo)
Get the pfo vertex.
const pandora::CartesianVector & GetPrimaryAxis() const
Return primary axis.
const pandora::CartesianVector & GetTertiaryAxis() const
Return tertiary axis.
const pandora::CartesianVector & GetEigenValues() const
Return vector of eigenvalues.
const pandora::CartesianVector & GetAxisLengths() const
Return vector of lengths.
float GetPrimaryLength() const
Return primary length.
float GetSecondaryLength() const
Return secondary length.
const pandora::CartesianVector & GetCentroid() const
Return centroid.
const pandora::CartesianVector & GetSecondaryAxis() const
Return secondary axis.
lar pfo object factory responsible for pfo creation
pandora::InputCartesianVector m_showerTertiaryVector
Shower teriary eigen vector.
pandora::InputCartesianVector m_showerCentroid
Shower centroid from 3d shower fit.
pandora::InputCartesianVector m_showerEigenValues
Shower eigenvalues from 3d PCA.
pandora::InputCartesianVector m_showerLength
Shower length and widths from 3d shower fit.
pandora::InputCartesianVector m_showerVertex
Shower starting point.
pandora::InputCartesianVector m_showerSecondaryVector
Shower secondary eigen vector.
pandora::InputCartesianVector m_showerDirection
Shower direction, also the primary eigen vector.
pandora::InputFloat m_showerOpeningAngle
Shower opening angle.
PcaShowerParticleBuildingAlgorithm()
Default constructor.
void CreatePfo(const pandora::ParticleFlowObject *const pInputPfo, const pandora::ParticleFlowObject *&pOutputPfo) const
Create specialised Pfo from an generic input Pfo.
unsigned int m_layerFitHalfWindow
pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)
Read the algorithm settings.
ParticleFlowObject class.
const PropertiesMap & GetPropertiesMap() const
Get the map from registered property name to floating point property value.
int GetParticleId() const
Get the particle flow object id (PDG code)
const CartesianVector & GetMomentum() const
Get particle flow object momentum vector.
static float GetParticleMass(const int pdgCode)
Get the mass of a particle type.
static int GetParticleCharge(const int pdgCode)
Get the charge of a particle type.
StatusCodeException class.
StatusCode GetStatusCode() const
Get status code.
VertexType GetVertexType() const
Get the vertex type.
CartesianVector m_position
The vertex position.
const CartesianVector & GetPosition() const
Get the vertex position.
VertexLabel GetVertexLabel() const
Get the vertex label.
static StatusCode ReadValue(const TiXmlHandle &xmlHandle, const std::string &xmlElementName, T &t)
Read a value from an xml element.
StatusCode
The StatusCode enum.