LArSoft  v06_85_00
Liquid Argon Software toolkit - http://larsoft.org/
PFPUtils.h File Reference
#include <array>
#include <vector>
#include <bitset>
#include <utility>
#include <cmath>
#include <iostream>
#include <iomanip>
#include <algorithm>
#include "TVectorD.h"
#include "TDecompSVD.h"
#include "TMatrixD.h"
#include "messagefacility/MessageLogger/MessageLogger.h"
#include "larcoreobj/SimpleTypesAndConstants/geo_types.h"
#include "larreco/RecoAlg/TCAlg/DataStructs.h"
#include "larreco/RecoAlg/TCAlg/DebugStruct.h"
#include "larreco/RecoAlg/TCAlg/Utils.h"

Go to the source code of this file.

Namespaces

 tca
 

Functions

void tca::UpdateMatchStructs (TjStuff &tjs, int oldTj, int newTj)
 
void tca::UpdateTp3s (TjStuff &tjs, PFPStruct &pfp, int oldTj, int newTj)
 
void tca::FillmAllTraj (TjStuff &tjs, const geo::TPCID &tpcid)
 
bool tca::SetStart (TjStuff &tjs, PFPStruct &pfp, bool prt)
 
void tca::FollowTp3s (TjStuff &tjs, PFPStruct &pfp, bool prt)
 
bool tca::FitTp3s (TjStuff &tjs, const std::vector< TrajPoint3 > &tp3s, Point3_t &pos, Vector3_t &dir, float &rCorr)
 
bool tca::FitTp3s (TjStuff &tjs, const std::vector< TrajPoint3 > &tp3s, unsigned short fromPt, unsigned short toPt, Point3_t &pos, Vector3_t &dir, float &rCorr)
 
bool tca::FitTp3 (TjStuff &tjs, TrajPoint3 &tp3, const std::vector< Tj2Pt > &tj2pts)
 
void tca::FindCompleteness (TjStuff &tjs, PFPStruct &pfp, bool doFit, bool fillTp3s, bool prt)
 
void tca::FindMissedTjsInTp3s (TjStuff &tjs, PFPStruct &pfp, std::vector< int > &missTjs, std::vector< float > &missFrac)
 
bool tca::SharesHighScoreVx (TjStuff &tjs, const PFPStruct &pfp, const Trajectory &tj)
 
void tca::Fit3D (unsigned short mode, Point3_t point, Vector3_t dir, Point3_t &fitPos, Vector3_t &fitDir)
 
float tca::AspectRatio (TjStuff &tjs, std::vector< int > &tjids, CTP_t inCTP)
 
unsigned short tca::WiresSkippedInCTP (TjStuff &tjs, std::vector< int > &tjids, CTP_t inCTP)
 
float tca::LengthInCTP (TjStuff &tjs, std::vector< int > &tjids, CTP_t inCTP)
 
bool tca::AddMissedTj (TjStuff &tjs, PFPStruct &pfp, unsigned short itj, bool looseCuts, bool prt)
 
void tca::CleanTjs (TjStuff &tjs, PFPStruct &pfp, bool prt)
 
bool tca::MergePFPTjs (TjStuff &tjs, PFPStruct &pfp, bool prt)
 
void tca::FindXMatches (TjStuff &tjs, unsigned short numPlanes, short maxScore, std::vector< MatchStruct > &matVec, bool prt)
 
bool tca::MakeTp3 (TjStuff &tjs, const TrajPoint &itp, const TrajPoint &jtp, TrajPoint3 &tp3, bool findDirection)
 
double tca::DeltaAngle (const Vector3_t v1, const Vector3_t v2)
 
double tca::DotProd (const Vector3_t &v1, const Vector3_t &v2)
 
Vector3_t tca::PointDirection (const Point3_t p1, const Point3_t p2)
 
double tca::PosSep (const Point3_t &pos1, const Point3_t &pos2)
 
double tca::PosSep2 (const Point3_t &pos1, const Point3_t &pos2)
 
bool tca::SetMag (Vector3_t &v1, double mag)
 
void tca::FilldEdx (TjStuff &tjs, PFPStruct &pfp)
 
void tca::FilldEdx (TjStuff &tjs, TrajPoint3 &tp3)
 
float tca::PFPDOCA (const PFPStruct &pfp1, const PFPStruct &pfp2, unsigned short &close1, unsigned short &close2)
 
bool tca::Split3DKink (TjStuff &tjs, PFPStruct &pfp, double sep, bool prt)
 
std::vector< unsigned short > tca::FindKinks (const TjStuff &tjs, PFPStruct &pfp, double sep, bool prt)
 
double tca::KinkAngle (const TjStuff &tjs, const std::vector< TrajPoint3 > &tp3s, unsigned short atPt, double sep)
 
PFPStruct tca::CreatePFP (const TjStuff &tjs, const geo::TPCID &tpcid)
 
void tca::FindPFParticles (TjStuff &tjs, const geo::TPCID &tpcid, bool prt)
 
bool tca::DefinePFP (std::string inFcnLabel, TjStuff &tjs, PFPStruct &pfp, bool prt)
 
bool tca::PFPVxTjOK (TjStuff &tjs, PFPStruct &pfp, bool prt)
 
void tca::PFPVertexCheck (TjStuff &tjs)
 
bool tca::AnalyzePFP (TjStuff &tjs, PFPStruct &pfp, bool prt)
 
void tca::DefinePFPParents (TjStuff &tjs, const geo::TPCID &tpcid, bool prt)
 
void tca::DefinePFPParentsTestBeam (TjStuff &tjs, const geo::TPCID &tpcid, bool prt)
 
bool tca::StorePFP (TjStuff &tjs, PFPStruct &pfp)
 
bool tca::InsideTPC (const TjStuff &tjs, Point3_t &pos, geo::TPCID &inTPCID)
 
void tca::FindAlongTrans (Point3_t pos1, Vector3_t dir1, Point3_t pos2, Point2_t &alongTrans)
 
bool tca::PointDirIntersect (Point3_t p1, Vector3_t p1Dir, Point3_t p2, Vector3_t p2Dir, Point3_t &intersect, float &doca)
 
bool tca::LineLineIntersect (Point3_t p1, Point3_t p2, Point3_t p3, Point3_t p4, Point3_t &intersect, float &doca)
 
void tca::ReversePFP (TjStuff &tjs, PFPStruct &pfp)
 
float tca::ChgFracBetween (TjStuff &tjs, Point3_t pos1, Point3_t pos2, geo::TPCID tpcid)
 
float tca::ChgFracNearEnd (TjStuff &tjs, PFPStruct &pfp, unsigned short end)
 
unsigned short tca::FarEnd (const TjStuff &tjs, const PFPStruct &pfp, const Point3_t &pos)
 
void tca::PrintTp3 (std::string someText, const TjStuff &tjs, const TrajPoint3 &tp3)
 
void tca::PrintTp3s (std::string someText, const TjStuff &tjs, const PFPStruct &pfp, short printPts)