12 #ifndef TrackShowerSeparationAlg_hxx
13 #define TrackShowerSeparationAlg_hxx
16 #include "canvas/Persistency/Common/Ptr.h"
17 #include "canvas/Persistency/Common/FindManyP.h"
18 namespace fhicl {
class ParameterSet; }
30 class TrackShowerSeparationAlg;
76 const std::vector<art::Ptr<recob::Hit> >&
Hits()
const {
return fHits; }
130 return TMath::Mean(distances.begin(), distances.end()); }
140 std::vector<art::Ptr<recob::Hit> >
fHits;
171 const std::vector<art::Ptr<recob::SpacePoint> >& spacePoints,
172 const art::FindManyP<recob::Hit>& fmht,
173 const art::FindManyP<recob::Track>& fmth,
174 const art::FindManyP<recob::SpacePoint>& fmspt,
175 const art::FindManyP<recob::Track>& fmtsp)
const;
183 TVector3
Gradient(
const std::vector<TVector3>& points,
const std::unique_ptr<TVector3>&
dir)
const;
186 TVector3
Gradient(
const art::Ptr<recob::Track>&
track)
const;
193 TVector3
ProjPoint(
const TVector3& point,
const TVector3& direction,
const TVector3&
origin = TVector3(0,0,0))
const;
196 TVector3
SpacePointPos(
const art::Ptr<recob::SpacePoint>& spacePoint)
const;
void SetDirection(TVector3 direction)
bool ShowerTrackCandidate() const
const std::vector< art::Ptr< recob::SpacePoint > > & SpacePoints() const
std::vector< int > InitialTrackLikeSegment(std::map< int, std::unique_ptr< ReconTrack > > &reconTracks) const
void SetEnd(TVector3 end)
const std::vector< int > & ForwardConeTracks() const
ClusterModuleLabel join with tracks
void reconfigure(fhicl::ParameterSet const &pset)
Read in configurable parameters from provided parameter set.
double CylinderSpacePointRatio() const
const std::vector< int > & ShowerTracks() const
void AddForwardSpacePoint(int spacePoint)
Declaration of signal hit object.
void SetLength(double length)
void AddBackwardTrack(int track)
double IsolationSpacePointDistance() const
int NumCylinderSpacePoints() const
int ForwardSpacePoints() const
std::map< int, double > fIsolationSpacePoints
TVector3 ProjPoint(const TVector3 &point, const TVector3 &direction, const TVector3 &origin=TVector3(0, 0, 0)) const
process_name use argoneut_mc_hitfinder track
void SetSpacePoints(std::vector< art::Ptr< recob::SpacePoint > > spacePoints)
void AddForwardTrack(int track)
std::vector< int > fBackwardSpacePoints
TVector3 SpacePointPos(const art::Ptr< recob::SpacePoint > &spacePoint) const
Return 3D point of this space point.
bool IsShowerTrack() const
auto vector(Vector const &v)
Returns a manipulator which will print the specified array.
void SetVertex(TVector3 vertex)
double SpacePointsRMS(const std::vector< art::Ptr< recob::SpacePoint > > &spacePoints) const
double distance(geo::Point_t const &point, CathodeDesc_t const &cathode)
Returns the distance of a point from the cathode.
std::vector< int > fForwardConeTracks
TrackShowerSeparationAlg(fhicl::ParameterSet const &pset)
std::vector< art::Ptr< recob::Hit > > SelectShowerHits(int event, const std::vector< art::Ptr< recob::Hit > > &hits, const std::vector< art::Ptr< recob::Track > > &tracks, const std::vector< art::Ptr< recob::SpacePoint > > &spacePoints, const art::FindManyP< recob::Hit > &fmht, const art::FindManyP< recob::Track > &fmth, const art::FindManyP< recob::SpacePoint > &fmspt, const art::FindManyP< recob::Track > &fmtsp) const
std::vector< art::Ptr< recob::SpacePoint > > fSpacePoints
const std::vector< art::Ptr< recob::Hit > > & Hits() const
auto end(FixedBins< T, C > const &) noexcept
return match has_match and(match.match_pdg==11 or match.match_pdg==-11)
std::vector< int > fSphereSpacePoints
void SetVertexDir(TVector3 vertexDir)
Provides recob::Track data product.
void AddCylinderSpacePoint(int spacePoint)
std::vector< int > fShowerTracks
std::vector< int > fForwardSpacePoints
TVector3 VertexDirection() const
bool IsUndetermined() const
double SphereSpacePointDensity(double scale) const
std::vector< art::Ptr< recob::Hit > > fHits
TVector3 Gradient(const std::vector< TVector3 > &points, const std::unique_ptr< TVector3 > &dir) const
void AddSphereSpacePoint(int spacePoint)
void AddIsolationSpacePoint(int spacePoint, double distance)
void SetHits(std::vector< art::Ptr< recob::Hit > > hits)
int TrackConeSize() const
TVector3 Direction() const
void AddShowerTrack(int track)
void AddBackwardSpacePoint(int spacePoint)
bool IsShowerCone() const
std::vector< int > fCylinderSpacePoints
constexpr Point origin()
Returns a origin position with a point of the specified type.
std::vector< int > fBackwardConeTracks
int NumSphereSpacePoints() const