BOSS 7.1.1
BESIII Offline Software System
Loading...
Searching...
No Matches
Hough3D.h
Go to the documentation of this file.
1#ifndef Hough3D_H
2#define Hough3D_H
3
5//#include "Hough/HoughCircle.h"
10
12#include "BField/BField.h"
13#include "MdcGeom/MdcDetector.h"
14#include "TrkBase/TrkFit.h"
15#include "TrkBase/TrkHitList.h"
20//typedef std::vector<const HoughHit*> HitPtrCol;
21typedef std::vector<HoughRecHit> recHitCol;
22extern vector<MdcHit*> vec_for_clean;
23extern vector<TrkRecoTrk*> vectrk_for_clean;
24
25class Hough3D {
26 public:
27 Hough3D();
28 Hough3D(const Hough3D& other);
29 Hough3D(const Hough2D& hough2D,recHitCol hitCol,double bunchtime,double tanl,double z0);
30 Hough3D(const Hough2D& hough2D,recHitCol hitCol,double bunchtime,double tanl,double z0,const vector<MdcHit*>* mdchit);
31 //TrkRecoTrk* getTrk() const {return p_trk;}
32 TrkRecoTrk* getTrk() const {return newTrack;}
33// Hough3D(const Hough2D& hough2D,recHitCol hitCol,double bunchtime,double d0,double phi0,double omega,double tanl,double z0);
34 double getCirX() const {return _circleX;}
35 double getCirY() const {return _circleY;}
36 double getCirR() const {return _circleR;}
37 double getD0() const {return _d0;}
38 double getPhi0() const {return _phi0;}
39 double getOmega() const {return _omega;}
40 double getZ0() const {return _z0;}
41 double getTanl() const {return _tanl;}
42 int getCharge() const {return _charge;}
43 int getNfit() const {return _nfit;}
44 vector<MdcHit*>& getVecForClean() {return vec_for_clean;}
45
46 void setD0(double d0) {_d0=d0;}
47 void setPhi0(double phi0) {_phi0=phi0;}
48 void setOmega(double omega) {_omega=omega;}
49 void setZ0(double z0) {_z0=z0;}
50 void setTanl(double tanl) {_tanl=tanl;}
51
52 void setBunchT0(double bunchT0) {_bunchT0=bunchT0;}
53 void setRecHit(const recHitCol& rechit) {_recHitVec=rechit;}
54 void setCharge(int charge) {_charge=charge;}
55 static void setContext(TrkContextEv* context) {_context=context;}
56 static void setCalib(const MdcCalibFunSvc *mdcCalibFunSvc) {_mdcCalibFunSvc=mdcCalibFunSvc;}
57
58 int fit();
59 void outerHit();
60 //int digiToHots(TrkRecoTrk *newTrack);
61 void printRecHit() const;
62 double getPt() const {return _pt;}
63 double getPz() const {return _pz;}
64 double getP() const {return _p;}
65 double getChi2() const {return _chi2_aver;}
66
67 static int m_debug;
70 //fit status
71 static int m_qualityFactor;
72 static double m_dropTrkChi2Cut;
73 static double m_dropTrkDrCut;
74 static double m_dropTrkDzCut;
75 static double m_dropTrkNhitCut;
76 static double m_dropTrkChi2NdfCut;
77 void print();
78
79 private:
80
81 double _circleR;
82 double _circleX;
83 double _circleY;
84 int _charge;
85 double _d0;
86 double _phi0;
87 double _omega;
88 double _tanl;
89 double _z0;
90
91 double _pt;
92 double _pz;
93 double _p;
94 int _nfit;
95 double _chi2_aver;
96
97 double _bunchT0;
98 const MdcDetector* _m_gm;
99 recHitCol _recHitVec;
100 TrkRecoTrk* newTrack;
101 const vector<MdcHit*>* vec_mdcHit;
102
103};
104#endif
vector< TrkRecoTrk * > vectrk_for_clean
Definition Hough3D.cxx:4
std::vector< HoughRecHit > recHitCol
Definition Hough3D.h:21
vector< MdcHit * > vec_for_clean
Definition Hough3D.cxx:3
void print()
Definition Hough3D.cxx:267
static double m_dropTrkDzCut
Definition Hough3D.h:74
double getPz() const
Definition Hough3D.h:63
static double m_dropTrkNhitCut
Definition Hough3D.h:75
static int m_debug
Definition Hough3D.h:67
double getP() const
Definition Hough3D.h:64
double getCirY() const
Definition Hough3D.h:35
int fit()
Definition Hough3D.cxx:76
static TrkContextEv * _context
Definition Hough3D.h:68
void outerHit()
Definition Hough3D.cxx:276
vector< MdcHit * > & getVecForClean()
Definition Hough3D.h:44
static void setContext(TrkContextEv *context)
Definition Hough3D.h:55
static double m_dropTrkDrCut
Definition Hough3D.h:73
double getPt() const
Definition Hough3D.h:62
double getD0() const
Definition Hough3D.h:37
double getOmega() const
Definition Hough3D.h:39
static void setCalib(const MdcCalibFunSvc *mdcCalibFunSvc)
Definition Hough3D.h:56
void setBunchT0(double bunchT0)
Definition Hough3D.h:52
static const MdcCalibFunSvc * _mdcCalibFunSvc
Definition Hough3D.h:69
double getChi2() const
Definition Hough3D.h:65
double getCirR() const
Definition Hough3D.h:36
void printRecHit() const
double getPhi0() const
Definition Hough3D.h:38
double getZ0() const
Definition Hough3D.h:40
void setD0(double d0)
Definition Hough3D.h:46
int getCharge() const
Definition Hough3D.h:42
void setRecHit(const recHitCol &rechit)
Definition Hough3D.h:53
TrkRecoTrk * getTrk() const
Definition Hough3D.h:32
void setZ0(double z0)
Definition Hough3D.h:49
double getTanl() const
Definition Hough3D.h:41
void setPhi0(double phi0)
Definition Hough3D.h:47
void setCharge(int charge)
Definition Hough3D.h:54
Hough3D()
Definition Hough3D.cxx:16
static double m_dropTrkChi2NdfCut
Definition Hough3D.h:76
double getCirX() const
Definition Hough3D.h:34
static double m_dropTrkChi2Cut
Definition Hough3D.h:72
static int m_qualityFactor
Definition Hough3D.h:71
void setTanl(double tanl)
Definition Hough3D.h:50
void setOmega(double omega)
Definition Hough3D.h:48
int getNfit() const
Definition Hough3D.h:43
float charge