LArSoft  v07_13_02
Liquid Argon Software toolkit - http://larsoft.org/
CosmicTrackerAlg.h
Go to the documentation of this file.
1 // CosmicTrackerAlg.h
3 //
4 // tjyang@fnal.gov
5 //
6 // Use Bruce's TrackTrajectoryAlg to reconstruct track
7 //
8 // Input: a vector of recob::hits
9 // output: a vector of 3D points and their assocations wit the hits
10 //
12 #ifndef COSMICTRACKERALG_H
13 #define COSMICTRACKERALG_H
14 #include "fhiclcpp/ParameterSet.h"
16 
22 
23 #include <vector>
24 
25 namespace trkf
26 {
28 
29  public:
30 
32 
33  void reconfigure(fhicl::ParameterSet const& pset);
34 
36 
37  //trajectory position and direction returned by TrackTrajectoryAlg
38  std::vector<TVector3> trajPos;
39  std::vector<TVector3> trajDir;
40  std::vector<std::vector<art::Ptr<recob::Hit>>> trajHit;
41 
42  //position and direction of each point on a track trajectory
43  std::vector<TVector3> trkPos;
44  std::vector<TVector3> trkDir;
45 
46  private:
47 
48  int fSPTAlg; //0: Use TrackTrajectoryAlg
49  //1: Use only Track3DReco alg
50 
51  bool fTrajOnly; //if true, only return trajectory points, if false, return a 3D point for every hit
52 
53  //use TrackTrajectoryAlg to get trajectory points
55 
56  //use algorithm in Track3DReco
58  double ftmatch;
59  double fsmatch;
60 
61  //create one 3D point for each hit using trajectory points
63 
64  // track trajectory for a track under construction
66 
67  //projection of trajectory points on wire planes
68  std::vector<std::vector<std::vector<std::vector<double>>>> vw;
69  std::vector<std::vector<std::vector<std::vector<double>>>> vt;
70  std::vector<std::vector<std::vector<std::vector<unsigned int>>>> vtraj;
71 
72 
76 
77 
78  }; //class CosmicTrackerAlg
79 }// namespace trkf
80 
81 #endif //ifndef COSMICTRACKERALG_H
std::vector< std::vector< std::vector< std::vector< double > > > > vw
void SPTReco(std::vector< art::Ptr< recob::Hit > > &fHits)
std::vector< std::vector< std::vector< std::vector< double > > > > vt
double ftmatch
tolerance for time matching (in ticks)
Declaration of signal hit object.
std::vector< TVector3 > trajPos
std::vector< TVector3 > trkDir
auto vector(Vector const &v)
Returns a manipulator which will print the specified array.
Definition: DumpUtils.h:265
std::vector< std::vector< std::vector< std::vector< unsigned int > > > > vtraj
void reconfigure(fhicl::ParameterSet const &pset)
TrackTrajectoryAlg fTrackTrajectoryAlg
CosmicTrackerAlg(fhicl::ParameterSet const &pset)
double fsmatch
tolerance for distance matching (in cm)
void TrackTrajectory(std::vector< art::Ptr< recob::Hit > > &fHits)
const detinfo::LArProperties * larprop
std::vector< TVector3 > trkPos
void Track3D(std::vector< art::Ptr< recob::Hit > > &fHits)
void MakeSPT(std::vector< art::Ptr< recob::Hit > > &fHits)
art::ServiceHandle< geo::Geometry > geom
std::vector< TVector3 > trajDir
art framework interface to geometry description
const detinfo::DetectorProperties * detprop
std::vector< std::vector< art::Ptr< recob::Hit > > > trajHit