Hall-D Software  alpha
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DTrackHitSelectorALT2.h
Go to the documentation of this file.
1 // $Id$
2 //
3 // File: DTrackHitSelectorALT2.h
4 // Created: Fri Feb 6 08:22:58 EST 2009
5 // Creator: davidl (on Darwin harriet.jlab.org 9.6.0 i386)
6 //
7 
8 #ifndef _DTrackHitSelectorALT2_
9 #define _DTrackHitSelectorALT2_
10 #include <TMath.h>
11 #include <TTree.h>
12 #include <JANA/jerror.h>
13 #include <DANA/DApplication.h>
14 
15 
17 
19  public:
20  DTrackHitSelectorALT2(jana::JEventLoop *loop, int32_t runnumber);
21  virtual ~DTrackHitSelectorALT2();
22 
23  void GetCDCHits(fit_type_t fit_type, const DReferenceTrajectory *rt, const vector<const DCDCTrackHit*> &cdchits_in, vector<const DCDCTrackHit*> &cdchits_out,int N=20) const;
24  void GetFDCHits(fit_type_t fit_type, const DReferenceTrajectory *rt, const vector<const DFDCPseudo*> &fdchits_in, vector<const DFDCPseudo*> &fdchits_out, int N=20) const;
25  void GetCDCHits(double Bz,double q,const vector<DTrackFitter::Extrapolation_t> &extrapolations, const vector<const DCDCTrackHit*> &cdchits_in, vector<const DCDCTrackHit*> &cdchits_out, int N) const;
26  void GetFDCHits(double Bz,double q,
27  const vector<DTrackFitter::Extrapolation_t> &extrapolations, const vector<const DFDCPseudo*> &fdchits_in, vector<const DFDCPseudo*> &fdchits_out,int N) const;
28 
29  private:
31 
40  double MAX_DOCA;
41 
42  TTree *cdchitsel;
43  TTree *fdchitsel;
44 
45  typedef struct{
46  int fit_type;
47  float p;
48  float theta;
49  float mass;
50  float sigma;
51  float x;
52  float y;
53  float z;
54  float s;
55  float itheta02;
56  float itheta02s;
57  float itheta02s2;
58  float dist;
59  float doca;
60  float resi;
61  float chisq;
62  float prob;
63  float sig_phi;
64  float sig_lambda;
65  float sig_pt;
66  }cdchitdbg_t;
68 
69  typedef struct{
70  int fit_type;
71  float p;
72  float theta;
73  float mass;
74  float sigma_anode;
76  float x;
77  float y;
78  float z;
79  float s;
80  float itheta02;
81  float itheta02s;
82  float itheta02s2;
83  float dist;
84  float doca;
85  float resi;
86  float u;
87  float u_cathodes;
88  float resic;
89  float chisq;
90  float prob;
91  float sig_phi;
92  float sig_lambda;
93  float sig_pt;
94  }fdchitdbg_t;
96 };
97 
98 #endif // _DTrackHitSelectorALT2_
99 
DTrackHitSelectorALT2(jana::JEventLoop *loop, int32_t runnumber)
void GetCDCHits(fit_type_t fit_type, const DReferenceTrajectory *rt, const vector< const DCDCTrackHit * > &cdchits_in, vector< const DCDCTrackHit * > &cdchits_out, int N=20) const
The DTrackHitSelector class is a base class for algorithms that will select hits from the drift chamb...
void GetFDCHits(fit_type_t fit_type, const DReferenceTrajectory *rt, const vector< const DFDCPseudo * > &fdchits_in, vector< const DFDCPseudo * > &fdchits_out, int N=20) const
const DMagneticFieldMap * bfield