59 mf::LogError(
"ShowerLengthPercentile") <<
"Start position not set, returning " << std::endl;
74 std::vector<art::Ptr<recob::SpacePoint>> spacePoints = fmspp.at(pfparticle.
key());
75 if (spacePoints.empty()) {
77 mf::LogError(
"ShowerLengthPercentile") <<
"No Spacepoints, returning" << std::endl;
83 mf::LogError(
"ShowerLengthPercentile") <<
"Direction not set, returning " << std::endl;
92 spacePoints, ShowerStartPosition, ShowerDirection);
99 spacePoints[lengthIter], ShowerStartPosition, ShowerDirection);
101 spacePoints[spacePoints.size() - 1], ShowerStartPosition, ShowerDirection);
103 double ShowerLengthError = ShowerMaxProjection - ShowerLength;
107 spacePoints, ShowerStartPosition, ShowerDirection);
114 spacePoints[perpIter], ShowerStartPosition, ShowerDirection);
118 double ShowerAngle = std::atan(ShowerWidth / ShowerLength);
119 double ShowerAngleError = -999;
void OrderShowerSpacePointsPerpendicular(std::vector< art::Ptr< recob::SpacePoint >> &showersps, geo::Point_t const &vertex, geo::Vector_t const &direction) const
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double >, ROOT::Math::GlobalCoordinateSystemTag > Vector_t
Type for representation of momenta in 3D space.
void SetElement(T &dataproduct, const std::string &Name, bool checktag=false)
MaybeLogger_< ELseverityLevel::ELsev_error, false > LogError
double SpacePointPerpendicular(art::Ptr< recob::SpacePoint > const &sp, geo::Point_t const &vertex, geo::Vector_t const &direction) const
key_type key() const noexcept
bool CheckElement(const std::string &Name) const
int GetElement(const std::string &Name, T &Element) const
double SpacePointProjection(art::Ptr< recob::SpacePoint > const &sp, geo::Point_t const &vertex, geo::Vector_t const &direction) const
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< double >, ROOT::Math::GlobalCoordinateSystemTag > Point_t
Type for representation of position in physical 3D space.
ValidHandle< PROD > getValidHandle(InputTag const &tag) const
decltype(auto) get(T &&obj)
ADL-aware version of std::to_string.
void OrderShowerSpacePoints(std::vector< art::Ptr< recob::SpacePoint >> &showersps, geo::Point_t const &vertex, geo::Vector_t const &direction) const
const art::FindManyP< T1 > & GetFindManyP(const art::ValidHandle< std::vector< T2 >> &handle, const art::Event &evt, const art::InputTag &moduleTag)