LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
PFPUtils.cxx File Reference
#include "larreco/RecoAlg/TCAlg/PFPUtils.h"
#include "messagefacility/MessageLogger/MessageLogger.h"
#include "TDecompSVD.h"
#include "TMatrixD.h"
#include "TVectorD.h"
#include <algorithm>
#include <array>
#include <bitset>
#include <cmath>
#include <iomanip>
#include <iostream>
#include <limits.h>
#include <limits>
#include <stdlib.h>
#include <utility>
#include <vector>
#include "larcorealg/Geometry/GeometryCore.h"
#include "larcorealg/Geometry/PlaneGeo.h"
#include "larcorealg/Geometry/TPCGeo.h"
#include "larcoreobj/SimpleTypesAndConstants/PhysicalConstants.h"
#include "larcoreobj/SimpleTypesAndConstants/geo_types.h"
#include "lardataalg/DetectorInfo/DetectorPropertiesData.h"
#include "lardataobj/RecoBase/Hit.h"
#include "lardataobj/RecoBase/SpacePoint.h"
#include "larreco/Calorimetry/CalorimetryAlg.h"
#include "larreco/RecoAlg/TCAlg/DebugStruct.h"
#include "larreco/RecoAlg/TCAlg/StepUtils.h"
#include "larreco/RecoAlg/TCAlg/TCShower.h"
#include "larreco/RecoAlg/TCAlg/TCVertex.h"
#include "larreco/RecoAlg/TCAlg/Utils.h"

Go to the source code of this file.

Namespaces

 tca
 

Functions

void tca::StitchPFPs ()
 
void tca::FindPFParticles (detinfo::DetectorClocksData const &clockData, detinfo::DetectorPropertiesData const &detProp, TCSlice &slc)
 
void tca::MakePFParticles (detinfo::DetectorClocksData const &clockData, detinfo::DetectorPropertiesData const &detProp, TCSlice &slc, std::vector< MatchStruct > matVec, unsigned short matVec_Iter)
 
bool tca::ReconcileTPs (TCSlice &slc, PFPStruct &pfp, bool prt)
 
void tca::ReconcileTPs (TCSlice &slc)
 
void tca::MakePFPTjs (TCSlice &slc)
 
void tca::FillWireIntersections (TCSlice &slc)
 
bool tca::TCIntersectionPoint (unsigned int wir1, unsigned int wir2, unsigned int pln1, unsigned int pln2, float &y, float &z)
 
void tca::Match3PlanesSpt (TCSlice &slc, std::vector< MatchStruct > &matVec)
 
bool tca::SptInTPC (const std::array< unsigned int, 3 > &sptHits, unsigned int tpc)
 
void tca::Match3Planes (TCSlice &slc, std::vector< MatchStruct > &matVec)
 
void tca::Match2Planes (TCSlice &slc, std::vector< MatchStruct > &matVec)
 
bool tca::Update (detinfo::DetectorPropertiesData const &detProp, const TCSlice &slc, PFPStruct &pfp)
 
bool tca::ReSection (detinfo::DetectorPropertiesData const &detProp, const TCSlice &slc, PFPStruct &pfp, bool prt)
 
void tca::CountBadPoints (const TCSlice &slc, const PFPStruct &pfp, unsigned short fromPt, unsigned short toPt, unsigned short &nBadPts, unsigned short &firstBadPt)
 
bool tca::CanSection (const TCSlice &slc, const PFPStruct &pfp)
 
unsigned short tca::Find3DRecoRange (const TCSlice &slc, const PFPStruct &pfp, unsigned short fromPt, unsigned short min2DPts, short dir)
 
void tca::GetRange (const PFPStruct &pfp, unsigned short sfIndex, unsigned short &fromPt, unsigned short &npts)
 
bool tca::FitSection (detinfo::DetectorPropertiesData const &detProp, const TCSlice &slc, PFPStruct &pfp, unsigned short sfIndex)
 
SectionFit tca::FitTP3Ds (detinfo::DetectorPropertiesData const &detProp, const TCSlice &slc, const std::vector< TP3D > &tp3ds, unsigned short fromPt, short fitDir, unsigned short nPtsFit)
 
bool tca::FitTP3Ds (detinfo::DetectorPropertiesData const &detProp, const TCSlice &slc, PFPStruct &pfp, unsigned short fromPt, unsigned short nPtsFit, unsigned short sfIndex)
 
void tca::ReconcileVertices (TCSlice &slc, PFPStruct &pfp, bool prt)
 
void tca::FillGaps3D (detinfo::DetectorClocksData const &clockData, detinfo::DetectorPropertiesData const &detProp, TCSlice &slc, PFPStruct &pfp, bool prt)
 
bool tca::ValidTwoPlaneMatch (detinfo::DetectorPropertiesData const &detProp, const TCSlice &slc, const PFPStruct &pfp)
 
void tca::AddPointsInRange (detinfo::DetectorClocksData const &clockData, detinfo::DetectorPropertiesData const &detProp, TCSlice &slc, PFPStruct &pfp, unsigned short fromPt, unsigned short toPt, CTP_t inCTP, float maxPull, unsigned short &nWires, unsigned short &nAdd, bool prt)
 
unsigned short tca::InsertTP3D (PFPStruct &pfp, TP3D &tp3d)
 
bool tca::SortSection (PFPStruct &pfp, unsigned short sfIndex)
 
void tca::Recover (detinfo::DetectorPropertiesData const &detProp, TCSlice &slc, PFPStruct &pfp, bool prt)
 
bool tca::MakeTP3Ds (detinfo::DetectorPropertiesData const &detProp, TCSlice &slc, PFPStruct &pfp, bool prt)
 
bool tca::MakeSmallAnglePFP (detinfo::DetectorPropertiesData const &detProp, TCSlice &slc, PFPStruct &pfp, bool prt)
 
void tca::Reverse (PFPStruct &pfp)
 
void tca::FillmAllTraj (detinfo::DetectorPropertiesData const &detProp, TCSlice &slc)
 
TP3D tca::MakeTP3D (detinfo::DetectorPropertiesData const &detProp, const TrajPoint &itp, const TrajPoint &jtp)
 
double tca::DeltaAngle (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 (detinfo::DetectorClocksData const &clockData, detinfo::DetectorPropertiesData const &detProp, const TCSlice &slc, PFPStruct &pfp)
 
void tca::Average_dEdX (detinfo::DetectorClocksData const &clockData, detinfo::DetectorPropertiesData const &detProp, const TCSlice &slc, PFPStruct &pfp, float &dEdXAve, float &dEdXRms)
 
float tca::dEdx (detinfo::DetectorClocksData const &clockData, detinfo::DetectorPropertiesData const &detProp, const TCSlice &slc, TP3D &tp3d)
 
TP3D tca::CreateTP3D (detinfo::DetectorPropertiesData const &detProp, const TCSlice &slc, int tjID, unsigned short tpIndex)
 
bool tca::SetSection (detinfo::DetectorPropertiesData const &detProp, PFPStruct &pfp, TP3D &tp3d)
 
float tca::PointPull (const TP3D &tp3d)
 
PFPStruct tca::CreatePFP (const TCSlice &slc)
 
void tca::PFPVertexCheck (TCSlice &slc)
 
void tca::DefinePFPParents (TCSlice &slc)
 
bool tca::StorePFP (TCSlice &slc, PFPStruct &pfp)
 
bool tca::InsideFV (const TCSlice &slc, const PFPStruct &pfp, unsigned short end)
 
bool tca::InsideTPC (const 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)
 
float tca::ChgFracBetween (detinfo::DetectorPropertiesData const &detProp, const TCSlice &slc, Point3_t pos1, Point3_t pos2)
 
float tca::ChgFracNearEnd (detinfo::DetectorPropertiesData const &detProp, const TCSlice &slc, const PFPStruct &pfp, unsigned short end)
 
Vector3_t tca::DirAtEnd (const PFPStruct &pfp, unsigned short end)
 
Point3_t tca::PosAtEnd (const PFPStruct &pfp, unsigned short end)
 
float tca::Length (const PFPStruct &pfp)
 
bool tca::SectionStartEnd (const PFPStruct &pfp, unsigned short sfIndex, unsigned short &startPt, unsigned short &endPt)
 
unsigned short tca::FarEnd (const PFPStruct &pfp, const Point3_t &pos)
 
int tca::PDGCodeVote (detinfo::DetectorClocksData const &clockData, detinfo::DetectorPropertiesData const &detProp, const TCSlice &slc, PFPStruct &pfp)
 
void tca::PrintTP3Ds (detinfo::DetectorClocksData const &clockData, detinfo::DetectorPropertiesData const &detProp, std::string someText, const TCSlice &slc, const PFPStruct &pfp, short printPts)