tracker2algs.h
Go to the documentation of this file.
1 #ifndef GARSOFT_RECO_TRACKER2ALGS_H
2 #define GARSOFT_RECO_TRACKER2ALGS_H
3 
4 #include <vector>
5 #include <iostream>
6 #include <cstddef>
7 #include <TMath.h>
8 #include <TVector3.h>
10 
11 namespace gar {
12  namespace rec {
13 
14  float capprox(float x1,float y1,
15  float x2,float y2,
16  float x3,float y3,
17  float &xc, float &yc);
18 
19  // from OPAL
20  void ouchef(double *x, double *y, int np, double &xcirccent, double &ycirccent,
21  double &rcirc, double &chisq, int &ifail);
22 
23 
24  int initial_trackpar_estimate(const std::vector<gar::rec::TPCCluster> &TPCClusters,
25  std::vector<int> &TPCClusterlist,
26  float &curvature_init,
27  float &lambda_init,
28  float &phi_init,
29  float &xpos,
30  float &ypos,
31  float &zpos,
32  float &x_other_end,
33  unsigned int initialtpnTPCClusters,
34  int printlevel);
35 
36  void sort_TPCClusters_along_track(const std::vector<gar::rec::TPCCluster> &TPCClusters,
37  std::vector<int> &hlf,
38  std::vector<int> &hlb,
39  int printlevel,
40  float &lengthforwards,
41  float &lengthbackwards,
42  float sorttransweight,
43  float sortdistback);
44 
45  void sort_TPCClusters_along_track2(const std::vector<gar::rec::TPCCluster> &TPCClusters,
46  std::vector<int> &hlf,
47  std::vector<int> &hlb,
48  int printlevel,
49  float &lengthforwards,
50  float &lengthbackwards,
51  float dcut);
52 
53  // utilities to get upper-triangular packed vector indices -- go forwards and backwards
54 
55  size_t ij2idxsort2(size_t nclus, size_t i, size_t j);
56 
57  void idx2ijsort2(size_t nclus, size_t idx, size_t &i, size_t &j);
58 
59  bool sort2_check_cyclic(std::vector<int> &link1, std::vector<int> &link2, int i, int j);
60 
61  }
62 }
63 
64 
65 #endif
bool sort2_check_cyclic(std::vector< int > &link1, std::vector< int > &link2, int i, int j)
rec
Definition: tracks.py:88
void ouchef(double *x, double *y, int np, double &xcirccent, double &ycirccent, double &rcirc, double &chisq, int &ifail)
TH3F * xpos
Definition: doAna.cpp:29
float capprox(float x1, float y1, float x2, float y2, float x3, float y3, float &xc, float &yc)
TH3F * ypos
Definition: doAna.cpp:30
TH3F * zpos
Definition: doAna.cpp:31
General GArSoft Utilities.
void sort_TPCClusters_along_track(const std::vector< gar::rec::TPCCluster > &TPCClusters, std::vector< int > &hlf, std::vector< int > &hlb, int printlevel, float &lengthforwards, float &lengthbackwards, float sorttransweight, float sortdistback)
void sort_TPCClusters_along_track2(const std::vector< gar::rec::TPCCluster > &TPCClusters, std::vector< int > &hlf, std::vector< int > &hlb, int printlevel, float &lengthforwards, float &lengthbackwards, float dcut)
list x
Definition: train.py:276
size_t ij2idxsort2(size_t nclus, size_t i, size_t j)
void idx2ijsort2(size_t nclus, size_t idx, size_t &i, size_t &j)
int initial_trackpar_estimate(const std::vector< gar::rec::TPCCluster > &TPCClusters, std::vector< int > &TPCClusterlist, float &curvature_init, float &lambda_init, float &phi_init, float &xpos, float &ypos, float &zpos, float &x_other_end, unsigned int initialtpnTPCClusters, int printlevel)
Definition: tracker2algs.cxx:8