BOSS 7.1.2
BESIII Offline Software System
Loading...
Searching...
No Matches
Hough2D.h
Go to the documentation of this file.
1#ifndef Hough2D_H
2#define Hough2D_H
3
4#include <vector>
5#include "MdcData/MdcHit.h"
11
13#include "BField/BField.h"
14#include "MdcGeom/MdcDetector.h"
15#include "TrkBase/TrkFit.h"
16#include "TrkBase/TrkHitList.h"
21//typedef std::vector<const HoughHit*> HitPtrCol;
22typedef std::vector<HoughRecHit> recHitCol;
23
24class Hough2D{
25 public:
26 Hough2D();
27// ~Hough2D();
28 Hough2D(const Hough2D& other);
29// Hough2D(double d0,double phi0,double omega,recHitCol recHitVec);
30 //Hough2D(HitPtrCol hitCol,double bunchtime);
31 Hough2D(recHitCol hitCol,double bunchtime);
32 TrkRecoTrk* getTrk() const {return newTrack;}
33 double getCirX() const {return _circleX;}
34 double getCirY() const {return _circleY;}
35 double getCirR() const {return _circleR;}
36 double getD0() const {return _d0;}
37 double getPhi0() const {return _phi0;}
38 double getOmega() const {return _omega;}
39 int getCharge() const {return _charge;}
40// vector<MdcHit*>& getVecForClean() {return vec_for_clean;}
41
42 void setCharge(int charge) {_charge=charge;}
43 void setCirX(double cirx ) {_circleX=cirx;}
44 void setCirY(double ciry ) {_circleY=ciry;}
45 void setCirR(double cirr ) {_circleR=cirr;}
46
47 void setD0(double d0) {_d0=d0;}
48 void setPhi0(double phi0) {_phi0=phi0;}
49 void setOmega(double omega) {_omega=omega;}
50 void setPt(double pt) {_pt=pt;}
51
52 void setBunchT0(double bunchT0) {_bunchT0=bunchT0;}
53 void setRecHit(const recHitCol& rechit) {_recHitVec=rechit;}
54 static void setContext(TrkContextEv* context) {_context=context;}
55 static void setCalib(const MdcCalibFunSvc *mdcCalibFunSvc) {_mdcCalibFunSvc=mdcCalibFunSvc;}
56
57 int fitLeast();
58 virtual int fit();
59 //virtual int digiToHots(TrkRecoTrk *newTrack);
60 void print();
61 void printRecHit() const;
62 double getNfit() const {return _nfit;}
63 double getChi2_2D() const {return _chi2_aver2D;}
64 //int initial_det();
65 double getPt() const {return _pt;}
66 static int m_debug;
69
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
78 private:
79 double _circleR_least;
80 double _circleX_least;
81 double _circleY_least;
82 double _pt_least;
83
84 double _circleR;
85 double _circleX;
86 double _circleY;
87
88 int _charge;
89 double _d0;
90 double _phi0;
91 double _omega;
92
93 double _pt;
94 double _nfit;
95 double _chi2_aver2D;
96
97 double _bunchT0;
98// const MdcDetector* _m_gm;
99 recHitCol _recHitVec;
100 TrkRecoTrk* newTrack;
101 vector<MdcHit*> _MdcHitCol;
102
103};
104
105#endif
std::vector< HoughRecHit > recHitCol
Definition Hough2D.h:22
static double m_dropTrkChi2NdfCut
Definition Hough2D.h:76
static double m_dropTrkDzCut
Definition Hough2D.h:74
static const MdcCalibFunSvc * _mdcCalibFunSvc
Definition Hough2D.h:68
static TrkContextEv * _context
Definition Hough2D.h:67
static void setContext(TrkContextEv *context)
Definition Hough2D.h:54
double getD0() const
Definition Hough2D.h:36
double getCirR() const
Definition Hough2D.h:35
int fitLeast()
Definition Hough2D.cxx:68
void printRecHit() const
double getChi2_2D() const
Definition Hough2D.h:63
Hough2D()
Definition Hough2D.cxx:14
void setPhi0(double phi0)
Definition Hough2D.h:48
static int m_qualityFactor
Definition Hough2D.h:71
static int m_debug
Definition Hough2D.h:66
void setCirX(double cirx)
Definition Hough2D.h:43
void setCirY(double ciry)
Definition Hough2D.h:44
void setCirR(double cirr)
Definition Hough2D.h:45
double getPt() const
Definition Hough2D.h:65
void setPt(double pt)
Definition Hough2D.h:50
void setBunchT0(double bunchT0)
Definition Hough2D.h:52
void setD0(double d0)
Definition Hough2D.h:47
static double m_dropTrkChi2Cut
Definition Hough2D.h:72
void print()
Definition Hough2D.cxx:341
void setCharge(int charge)
Definition Hough2D.h:42
double getOmega() const
Definition Hough2D.h:38
double getCirX() const
Definition Hough2D.h:33
virtual int fit()
Definition Hough2D.cxx:136
double getCirY() const
Definition Hough2D.h:34
void setRecHit(const recHitCol &rechit)
Definition Hough2D.h:53
double getNfit() const
Definition Hough2D.h:62
static double m_dropTrkNhitCut
Definition Hough2D.h:75
void setOmega(double omega)
Definition Hough2D.h:49
double getPhi0() const
Definition Hough2D.h:37
int getCharge() const
Definition Hough2D.h:39
static void setCalib(const MdcCalibFunSvc *mdcCalibFunSvc)
Definition Hough2D.h:55
static double m_dropTrkDrCut
Definition Hough2D.h:73
TrkRecoTrk * getTrk() const
Definition Hough2D.h:32
float charge