26 #ifndef TRACK3DKALMANHITALG_H 27 #define TRACK3DKALMANHITALG_H 77 const std::vector<Hits> &pfseedhits,
78 std::vector<recob::Seed>& seeds,
79 std::vector<Hits>& hitsperseed);
82 const std::vector<recob::Seed>& seeds,
83 const std::vector<Hits >& hitsperseed,
86 std::deque<KGTrack>& kalman_tracks);
92 std::deque<KGTrack>& kgtracks);
95 Hits &seedhits)
const;
102 std::deque<KGTrack>& kalman_tracks);
105 unsigned int prefplane,
106 std::deque<KGTrack>& kalman_tracks);
109 unsigned int prefplane,
113 Hits& seederhits)
const;
141 std::unique_ptr<const Propagator>
fProp;
TrackDirection
Track direction enum.
A KHitContainer for KHitWireLine type measurements.
bool fetchPFParticleSeeds(const art::PtrVector< recob::Seed > &pfseeds, const std::vector< Hits > &pfseedhits, std::vector< recob::Seed > &seeds, std::vector< Hits > &hitsperseed)
Fetch Seeds method.
A KHitContainer for KHitWireX type measurements.
size_t fMinSeedHits
Minimum number of hits per track seed.
Declaration of signal hit object.
void filterHitsOnKalmanTrack(const KGTrack &trg, Hits &hits, Hits &seederhits) const
Filter hits that are on kalman tracks.
std::vector< trkf::KalmanOutput > makeTracks(KalmanInputs &kalman_inputs)
bool fDoDedx
Global dE/dx enable flag.
std::unique_ptr< const Propagator > fProp
Propagator.
void growSeedsIntoTracks(const bool pfseed, const std::vector< recob::Seed > &seeds, const std::vector< Hits > &hitsperseed, Hits &unusedhits, Hits &hits, std::deque< KGTrack > &kalman_tracks)
Grow Seeds method.
double fMaxSeedChiDF
Maximum seed track chisquare/dof.
Track3DKalmanHitAlg(const fhicl::ParameterSet &pset)
Constructor.
int fMinSeedChopHits
Potentially chop seeds that exceed this length.
void chopHitsOffSeeds(Hits const &hpsit, bool pfseed, Hits &seedhits) const
Chop hits off of the end of seeds.
double fInitialMomentum
Initial (or constant) momentum.
bool extendandsmoothLoop(KGTrack &trg1, unsigned int prefplane, Hits &trackhits)
SMooth and extend a track in a loop.
Kalman filter measurement class template.
Propagate between any two surfaces.
bool smoothandextendTrack(KGTrack &trg0, const Hits hits, unsigned int prefplane, std::deque< KGTrack > &kalman_tracks)
SMooth and extend track.
Declaration of cluster object.
Provides recob::Track data product.
void reconfigure(const fhicl::ParameterSet &pset)
Reconfigure method.
KalmanFilterAlg fKFAlg
Kalman filter algorithm.
Utility object to perform functions of association.
int fNumTrack
Number of tracks produced.
bool testSeedSlope(const double *dir) const
bool fLineSurface
Line surface flag.
void growSeedIntoTracks(const bool pfseed, const recob::Seed &seed, const Hits &hpsit, Hits &unusedhits, Hits &hits, std::deque< KGTrack > &kgtracks)
recob::Seed makeSeed(const Hits &hits) const
Make seed method.
std::unique_ptr< KHitContainer > fillHitContainer(const Hits &hits) const
Fill hit container with either seedhits or filtered hits i.e. recob::Hit.
SeedFinderAlgorithm fSeedFinderAlg
Seed finder.
bool qualityCutsOnSeedTrack(const KGTrack &trg0) const
Quality cuts on seed track.
int fMaxChopHits
Maximum number of hits to chop from each end of seed.
void fitnupdateMomentum(KGTrack &trg1, KGTrack &trg2)
fit and update method, used twice.
std::vector< KalmanInput > KalmanInputs
bool fSelfSeed
Self seed flag.
art framework interface to geometry description
double fMinSeedSlope
Minimum seed slope (dx/dz).
double fMaxTcut
Maximum delta ray energy in MeV for restricted dE/dx.
std::shared_ptr< Surface > makeSurface(const recob::Seed &seed, double *dir) const
method to return a seed to surface.
bool makeKalmanTracks(const std::shared_ptr< trkf::Surface > psurf, const Surface::TrackDirection trkdir, Hits &seedhits, Hits &hits, std::deque< KGTrack > &kalman_tracks)