8 #ifndef LAR_SHOWER_PFO_H
9 #define LAR_SHOWER_PFO_H 1
11 #include "Objects/ParticleFlowObject.h"
13 #include "Pandora/ObjectCreation.h"
14 #include "Pandora/ObjectFactory.h"
42 class LArShowerPfo :
public object_creation::ParticleFlowObject::Object
124 class LArShowerPfoFactory :
public pandora::ObjectFactory<object_creation::ParticleFlowObject::Parameters, object_creation::ParticleFlowObject::Object>
140 pandora::StatusCode
Read(
Parameters ¶meters, pandora::FileReader &fileReader)
const;
148 pandora::StatusCode
Write(
const Object *
const pObject, pandora::FileWriter &fileWriter)
const;
156 pandora::StatusCode
Create(
const Parameters ¶meters,
const Object *&pObject)
const;
163 object_creation::ParticleFlowObject::Object(parameters),
164 m_showerLength(parameters.m_showerLength.Get()),
165 m_showerCentroid(parameters.m_showerCentroid.Get()),
166 m_showerOpeningAngle(parameters.m_showerOpeningAngle.Get()),
167 m_showerDirection(parameters.m_showerDirection.Get()),
168 m_showerSecondaryVector(parameters.m_showerSecondaryVector.Get()),
169 m_showerTertiaryVector(parameters.m_showerTertiaryVector.Get()),
170 m_showerEigenValues(parameters.m_showerEigenValues.Get()),
171 m_showerVertex(parameters.m_showerVertex.Get())
245 return pandora::STATUS_CODE_SUCCESS;
254 return pandora::STATUS_CODE_SUCCESS;
263 return pandora::STATUS_CODE_SUCCESS;
268 #endif // #ifndef LAR_SHOWER_PFO_H
pandora::StatusCode Create(const Parameters ¶meters, const Object *&pObject) const
Create an object with the given parameters.
const pandora::CartesianVector & GetShowerSecondaryVector() const
Get the shower secondary eigen vector from 3d shower fit.
pandora::InputFloat m_showerOpeningAngle
Shower opening angle.
const pandora::CartesianVector & GetShowerDirection() const
Get the shower direction, also the primary eigen vector from 3d shower fit.
pandora::InputCartesianVector m_showerCentroid
Shower centroid from 3d shower fit.
pandora::InputCartesianVector m_showerTertiaryVector
Shower teriary eigen vector.
pandora::CartesianVector m_showerDirection
Shower direction, primary eigen vector.
pandora::StatusCode Read(Parameters ¶meters, pandora::FileReader &fileReader) const
Read any additional (derived class only) object parameters from file using the specified file reader...
pandora::StatusCode Write(const Object *const pObject, pandora::FileWriter &fileWriter) const
Persist any additional (derived class only) object parameters using the specified file writer...
pandora::InputCartesianVector m_showerVertex
Shower starting point.
pandora::CartesianVector m_showerEigenValues
Shower eigenvalues from 3d PCA.
pandora::InputCartesianVector m_showerDirection
Shower direction, also the primary eigen vector.
LArShowerPfo(const LArShowerPfoParameters ¶meters)
Constructor.
lar pfo object factory responsible for pfo creation
const pandora::CartesianVector & GetShowerTertiaryVector() const
Get the shower tertiary eigen vector from 3d shower fit.
pandora::CartesianVector m_showerLength
Shower length and widths from 3d shower fit.
pandora::InputCartesianVector m_showerEigenValues
Shower eigenvalues from 3d PCA.
const pandora::CartesianVector & GetShowerLength() const
Get the shower length and width from 3d shower fit.
pandora::InputCartesianVector m_showerLength
Shower length and widths from 3d shower fit.
Parameters * NewParameters() const
Create new parameters instance on the heap (memory-management to be controlled by user) ...
fhicl::Table< sbnd::crt::CRTDetSimParams > Parameters
float m_showerOpeningAngle
Shower opening angle.
float GetShowerOpeningAngle() const
Get the shower opening angle from 3d shower fit.
pandora::InputCartesianVector m_showerSecondaryVector
Shower secondary eigen vector.
pandora::CartesianVector m_showerCentroid
Shower centroid from 3d shower fit.
const pandora::CartesianVector & GetShowerCentroid() const
Get the shower centroid from the 3d shower fit.
const pandora::CartesianVector & GetShowerVertex() const
Get the shower starting point from 3d shower fit.
const pandora::CartesianVector & GetShowerEigenValues() const
Get the shower eigen values from 3d PCA.
pandora::CartesianVector m_showerSecondaryVector
Shower secondary eigen vector.
pandora::CartesianVector m_showerVertex
Shower starting point.
pandora::CartesianVector m_showerTertiaryVector
Shower tertiary eigen vector.