BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
Hough2D Class Reference

#include <Hough2D.h>

Public Member Functions

 Hough2D ()
 Hough2D (const Hough2D &other)
 Hough2D (recHitCol hitCol, double bunchtime)
TrkRecoTrkgetTrk () const
double getCirX () const
double getCirY () const
double getCirR () const
double getD0 () const
double getPhi0 () const
double getOmega () const
int getCharge () const
void setCharge (int charge)
void setCirX (double cirx)
void setCirY (double ciry)
void setCirR (double cirr)
void setD0 (double d0)
void setPhi0 (double phi0)
void setOmega (double omega)
void setPt (double pt)
void setBunchT0 (double bunchT0)
void setRecHit (const recHitCol &rechit)
int fitLeast ()
virtual int fit ()
void print ()
void printRecHit () const
double getNfit () const
double getChi2_2D () const
double getPt () const

Static Public Member Functions

static void setContext (TrkContextEv *context)
static void setCalib (const IMdcCalibFunSvc *mdcCalibFunSvc)

Static Public Attributes

static int m_debug = 0
static TrkContextEv_context = NULL
static const IMdcCalibFunSvc_mdcCalibFunSvc = NULL
static int m_qualityFactor = 99999
static double m_dropTrkChi2Cut = 99999.
static double m_dropTrkDrCut = 1
static double m_dropTrkDzCut = 10
static double m_dropTrkNhitCut = 5
static double m_dropTrkChi2NdfCut = 99999.

Detailed Description

Definition at line 24 of file Hough2D.h.

Constructor & Destructor Documentation

◆ Hough2D() [1/3]

Hough2D::Hough2D ( )

Definition at line 14 of file Hough2D.cxx.

14 {
15 //_m_gm = MdcDetector::instance(0);
16 //_m_gm = MdcDetector::instance(0);
17}

Referenced by Hough2D().

◆ Hough2D() [2/3]

Hough2D::Hough2D ( const Hough2D & other)

Definition at line 26 of file Hough2D.cxx.

26 {
27 _circleR = other._circleR;
28 _circleX = other._circleX;
29 _circleY = other._circleY;
30 _d0 = other._d0;
31 _phi0 = other._phi0;
32 _omega = other._omega;
33 _charge = other._charge;
34 _pt = other._pt;
35 _nfit = other._nfit;
36 _chi2_aver2D = other._chi2_aver2D;
37 _bunchT0 = other._bunchT0;
38 //_m_gm = other._m_gm;
39 // _recHitVec=other._recHitVec;
40 _recHitVec = other._recHitVec;
41
42 // for(int i =0;i<other._MdcHitCol.size();i++){
43 // MdcHit* p_hit= new MdcHit( *(other._MdcHitCol[i]));
44 // _MdcHitCol.push_back(p_hit);
45 // }
46}
Index other(Index i, Index j)

◆ Hough2D() [3/3]

Hough2D::Hough2D ( recHitCol hitCol,
double bunchtime )

Definition at line 48 of file Hough2D.cxx.

49 : _recHitVec( hitCol ), _bunchT0( bunchtime ) {
50 //_m_gm = MdcDetector::instance(0);
51}

Member Function Documentation

◆ fit()

int Hough2D::fit ( )
virtual

Definition at line 147 of file Hough2D.cxx.

147 {
148 // replace in houghTrack
149 // if(_charge==-1){
150 // _d0=_d0;
151 // _omega=-1.*fabs(_omega);
152 // }
153 // if(_charge==1){
154 // _d0=-_d0;
155 // _omega=1.*fabs(_omega);
156 // _phi0=_phi0-M_PI;
157 // }
158 TrkExchangePar tt( _d0, _phi0, _omega, 0, 0 );
159 if ( m_debug > 0 )
160 cout << "q d0 phi0 omega: " << _charge << " " << _d0 << " " << _phi0 << " " << _omega
161 << endl;
162 TrkCircleMaker circlefactory;
163 float chisum = 0.;
164 newTrack = circlefactory.makeTrack( tt, chisum, *_context, _bunchT0 );
165 bool permitFlips = true;
166 bool lPickHits = true;
167 circlefactory.setFlipAndDrop( *newTrack, permitFlips, lPickHits );
168 // int nDigi = digiToHots(newTrack);
169 TrkHitList* trkHitList = newTrack->hits();
170 int digiId = 0;
171 vector<MdcHit*> t_hitCol;
172 std::vector<HoughRecHit>::iterator iter = _recHitVec.begin();
173 for ( ; iter != _recHitVec.end(); iter++, digiId++ )
174 {
175 if ( ( *iter ).getflag() != 0 ) continue;
176 // if( (*iter).getOuter()==1) continue;
177 // const MdcDetector* mgm = Global::m_gm;
178 const MdcDigi* aDigi = ( *iter ).digi();
179 // MdcHit *hit = new MdcHit(aDigi, _m_gm);
180 // MdcHit *hit = new MdcHit(aDigi, mgm);
181 MdcHit* hit = new MdcHit( aDigi, Global::m_gm );
182 // MdcHit mdcHit(aDigi,_m_gm);
183 // MdcHit *hit = &mdcHit;
184 t_hitCol.push_back( hit );
185 Identifier id = aDigi->identify();
186 int layer = MdcID::layer( id );
187 int wire = MdcID::wire( id );
188 // if(layer>=12) continue;
189 // if ((layer>=0&&layer<=7)||(layer>=20&&layer<=35)) {continue;}
191 hit->setCountPropTime( true );
192 // new fltLen and ambig
193 int newAmbig = 0;
194 // calc. position of this point
195 MdcRecoHitOnTrack temp( *hit, newAmbig, _bunchT0 * 1.e9 ); // m_bunchT0 nano second here
196 MdcHitOnTrack* newhot = &temp;
197 newhot->setFltLen( ( *iter ).getRet().second ); // caculate by mc
198 double distoTrack = ( *iter ).getDisToTrack();
199
200 // double ddCut=1.0;
201 double ddCut = 1.0;
202 int use_in2d = 1;
203 if ( hit->driftTime( _bunchT0, 0 ) > 1000 ) use_in2d = 0; // >1000or800?
204 if ( hit->driftDist( _bunchT0, 0 ) > ddCut ) use_in2d = 0;
205 // if(m_debug>0) cout<<"flt : "<<(*iter).getRet().second <<endl;
206 if ( m_debug > 0 )
207 std::cout << " (" << layer << "," << wire << ",rt " << hit->rawTime() << ",dt "
208 << hit->driftTime( _bunchT0, 0 ) << ",dd " << hit->driftDist( _bunchT0, 0 )
209 << ") T0 " << _mdcCalibFunSvc->getT0( layer, wire ) << " timewalk "
210 << _mdcCalibFunSvc->getTimeWalk( layer, aDigi->getChargeChannel() )
211 << "dist: " << hit->driftDist( _bunchT0, 0 ) << " disToTrk " << distoTrack
212 << " use?: " << use_in2d << endl;
213 if ( use_in2d == 0 ) continue;
214 trkHitList->appendHot( newhot );
215 }
216 // newTrack->printAll(std::cout);
217
218 TrkHitList* qhits = newTrack->hits();
219 TrkErrCode err = qhits->fit();
220 const TrkFit* newFit = newTrack->fitResult();
221 int nActiveHit = newTrack->hots()->nActive();
222 int fit_stat = false;
223 double chi2 = -999.;
224 if ( !newFit || ( newFit->nActive() < 3 ) || err.failure() != 0 )
225 {
226 if ( m_debug > 0 )
227 {
228 cout << " global 2d fit failed ";
229 if ( newFit ) cout << " nAct " << newFit->nActive();
230 cout << "ERR1 failure =" << err.failure() << endl;
231 fit_stat = 0;
232 }
233 }
234 else
235 {
236 TrkExchangePar par = newFit->helix( 0. );
237 if ( abs( 1 / ( par.omega() ) ) > 0.03 )
238 {
239 fit_stat = 1;
240 chi2 = newFit->chisq();
241 if ( m_debug > 0 ) cout << "chi2 " << chi2 << endl;
242 }
243 else
244 {
245 fit_stat = 0;
246 chi2 = -999;
247 }
248
249 bool badQuality = false;
250 if ( fabs( chi2 ) > m_qualityFactor * m_dropTrkChi2Cut )
251 {
252 if ( m_debug > 0 )
253 {
254 std::cout << __FILE__ << " " << __LINE__ << " drop track by chi2 " << chi2 << " > "
255 << m_qualityFactor << " * " << m_dropTrkChi2Cut << std::endl;
256 }
257 badQuality = 1;
258 }
259 if ( fabs( par.d0() ) > m_qualityFactor * m_dropTrkDrCut )
260 {
261 if ( m_debug > 0 )
262 {
263 std::cout << __FILE__ << " " << __LINE__ << " drop track by d0 " << par.d0() << " > "
264 << m_qualityFactor << " * " << m_dropTrkDrCut << std::endl;
265 }
266 badQuality = 1;
267 }
268 if ( ( fabs( chi2 ) / qhits->nHit() ) > m_qualityFactor * m_dropTrkChi2NdfCut )
269 {
270 if ( m_debug > 0 )
271 {
272 std::cout << __FILE__ << " " << __LINE__ << " drop track by chi2/ndf"
273 << ( fabs( chi2 ) / qhits->nHit() ) << " > " << m_qualityFactor << " * "
274 << m_dropTrkChi2NdfCut << std::endl;
275 }
276 badQuality = 1;
277 }
278 if ( nActiveHit <= m_dropTrkNhitCut )
279 {
280 if ( m_debug > 0 )
281 {
282 std::cout << __FILE__ << " " << __LINE__ << " drop track by nhit" << nActiveHit
283 << " <= " << m_dropTrkNhitCut << std::endl;
284 }
285 badQuality = 1;
286 }
287 if ( badQuality ) fit_stat = 0;
288 }
289 if ( fit_stat == 1 )
290 {
291 if ( m_debug > 0 )
292 {
293 cout << " global 2d fit success" << endl;
294 cout << __FILE__ << __LINE__ << "AFTER fit 2d " << endl;
295 newTrack->print( std::cout );
296 }
297 TrkExchangePar par = newFit->helix( 0. );
298 double d0 = par.d0();
299 double phi0 = par.phi0();
300 double omega = par.omega();
301 double r_temp = -1. / par.omega();
302 double x_cirtemp = sin( par.phi0() ) * ( par.d0() + 1 / par.omega() ) *
303 -1.; // z axis verse,x_babar = -x_belle
304 double y_cirtemp = -1. * cos( par.phi0() ) * ( par.d0() + 1 / par.omega() ) * -1; //???
305 if ( m_debug > 0 )
306 {
307 cout << " circle after globle 2d: "
308 << "(" << x_cirtemp << "," << y_cirtemp << "," << r_temp << ")" << endl;
309 cout << "pt_rec: " << 1. / omega / 333.567 << endl;
310 }
311 _pt = 1. / omega / 333.567;
312 _circleX = x_cirtemp;
313 _circleY = y_cirtemp;
314 _circleR = _charge / omega;
315 _d0 = par.d0();
316 _phi0 = par.phi0();
317 _omega = par.omega();
318
319 int nfit2d = 0;
320 if ( m_debug > 1 ) cout << " hot list:" << endl;
321 TrkHotList::hot_iterator hotIter = qhits->hotList().begin();
322 int lay = ( (MdcHit*)( hotIter->hit() ) )->layernumber();
323 int wir = ( (MdcHit*)( hotIter->hit() ) )->wirenumber();
324 int hittemp = lay * 1000 + wir;
325 while ( hotIter != qhits->hotList().end() )
326 {
327 if ( m_debug > 1 )
328 {
329 cout << "(" << ( (MdcHit*)( hotIter->hit() ) )->layernumber() << ","
330 << ( (MdcHit*)( hotIter->hit() ) )->wirenumber() << ":" << hotIter->isActive()
331 << ") ";
332 }
333 if ( hotIter->isActive() == 1 ) nfit2d++;
334 hotIter++;
335 }
336 _nfit = nfit2d;
337 }
338 _chi2_aver2D = chi2 / _nfit;
339
340 for ( int i = 0; i < t_hitCol.size(); i++ ) { delete t_hitCol[i]; }
341 delete newTrack;
342
343 if ( m_debug > 0 ) cout << " in 2D fit number of Active hits : " << _nfit << endl;
344 return fit_stat;
345}
EvtStreamInputIterator< typename Generator::result_type > iter(Generator gen, int N=0)
TrkSimpleMaker< TrkCircleRep > TrkCircleMaker
static double m_dropTrkChi2NdfCut
Definition Hough2D.h:78
static TrkContextEv * _context
Definition Hough2D.h:69
static int m_qualityFactor
Definition Hough2D.h:73
static int m_debug
Definition Hough2D.h:68
static double m_dropTrkChi2Cut
Definition Hough2D.h:74
static const IMdcCalibFunSvc * _mdcCalibFunSvc
Definition Hough2D.h:70
static double m_dropTrkNhitCut
Definition Hough2D.h:77
static double m_dropTrkDrCut
Definition Hough2D.h:75
double driftTime(double tof, double z) const
Definition MdcHit.cxx:142
double driftDist(double, int, double, double, double) const
Definition MdcHit.cxx:157
void setCalibSvc(const IMdcCalibFunSvc *calibSvc)
Definition MdcHit.cxx:136
static int layer(const Identifier &id)
Values of different levels (failure returns 0).
Definition MdcID.cxx:47
static int wire(const Identifier &id)
Definition MdcID.cxx:52
virtual Identifier identify() const
Definition RawData.cxx:15
unsigned int getChargeChannel() const
Definition RawData.cxx:35
virtual double chisq() const =0
virtual int nActive() const =0
virtual TrkExchangePar helix(double fltL) const =0
TrkErrCode fit()
TrkHitOnTrk * appendHot(const TrkHitOnTrk *theHot)
const TrkHotList & hotList() const
TrkHitOnTrkIter< TrkHotList::const_iterator_traits > hot_iterator
bool setFlipAndDrop(TrkRecoTrk &, bool allowFlips, bool allowDrops) const
TrkRecoTrk * makeTrack(const TrkExchangePar &helix, const double chi2, const TrkContext &, double trackT0) const
const MdcDetector * m_gm

◆ fitLeast()

int Hough2D::fitLeast ( )

Definition at line 69 of file Hough2D.cxx.

69 {
70 double x_sum = 0;
71 double y_sum = 0;
72 double x2_sum = 0;
73 double y2_sum = 0;
74 double x3_sum = 0;
75 double y3_sum = 0;
76 double x2y_sum = 0;
77 double xy2_sum = 0;
78 double xy_sum = 0;
79 double a1 = 0;
80 double a2 = 0;
81 double b1 = 0;
82 double b2 = 0;
83 double c1 = 0;
84 double c2 = 0;
85 // double x_aver,y_aver,r2;
86 int hitCandiSize = _recHitVec.size();
87 if ( hitCandiSize >= 3 )
88 {
89 for ( int i = 0; i < hitCandiSize; i++ )
90 {
91 // if( _recHitVec[i].getflag()!=0 ) continue;
92 // cout<<"size of hit in least2d "<<hitCandiSize<<endl;
93 // if(_recHitVec[i]->getSlayerType() !=0 ) continue;
94 x_sum = x_sum + ( _recHitVec[i].getMidX() );
95 y_sum = y_sum + ( _recHitVec[i].getMidY() );
96 x2_sum = x2_sum + ( _recHitVec[i].getMidX() ) * ( _recHitVec[i].getMidX() );
97 y2_sum = y2_sum + ( _recHitVec[i].getMidY() ) * ( _recHitVec[i].getMidY() );
98 x3_sum = x3_sum + ( _recHitVec[i].getMidX() ) * ( _recHitVec[i].getMidX() ) *
99 ( _recHitVec[i].getMidX() );
100 y3_sum = y3_sum + ( _recHitVec[i].getMidY() ) * ( _recHitVec[i].getMidY() ) *
101 ( _recHitVec[i].getMidY() );
102 x2y_sum = x2y_sum + ( _recHitVec[i].getMidX() ) * ( _recHitVec[i].getMidX() ) *
103 ( _recHitVec[i].getMidY() );
104 xy2_sum = xy2_sum + ( _recHitVec[i].getMidX() ) * ( _recHitVec[i].getMidY() ) *
105 ( _recHitVec[i].getMidY() );
106 xy_sum = xy_sum + ( _recHitVec[i].getMidX() ) * ( _recHitVec[i].getMidY() );
107 }
108 // hitCandiSize+=1000; //0 constrain
109 a1 = x2_sum - x_sum * x_sum / hitCandiSize;
110 a2 = xy_sum - x_sum * y_sum / hitCandiSize;
111 b1 = a2;
112 b2 = y2_sum - y_sum * y_sum / hitCandiSize;
113 c1 = ( x3_sum + xy2_sum - x_sum * ( x2_sum + y2_sum ) / hitCandiSize ) / 2.;
114 c2 = ( y3_sum + x2y_sum - y_sum * ( x2_sum + y2_sum ) / hitCandiSize ) / 2.;
115 // cout<<"a1 a2 b1 b2 c1 c2 "<<a1<<" "<<a2<<" "<<b1<<" "<<b2<<" "<<c1<<" "<<c2<<endl;
116
117 // x_aver=x_sum/hitCandiSize;
118 // y_aver=y_sum/hitCandiSize;
119
120 _circleX = ( b1 * c2 - b2 * c1 ) / ( b1 * b1 - a1 * b2 );
121 _circleY = ( b1 * c1 - a1 * c2 ) / ( b1 * b1 - a1 * b2 );
122 _circleR = sqrt( ( x2_sum + y2_sum - 2 * _circleX * x_sum - 2 * _circleY * y_sum ) /
123 hitCandiSize +
124 _circleX * _circleX + _circleY * _circleY );
125 // double r_temp=sqrt(r2);
126 // cout<<"circle: ("<<_circleX<<","<<_circleY<<","<<_circleR<<endl;
127
128 _d0 = sqrt( _circleX * _circleX + _circleY * _circleY ) - _circleR;
129 _phi0 = atan2( _circleY, _circleX ) + M_PI / 2.;
130 _omega = 1 / _circleR; // according with Q
131 double pt_temp = _circleR / 333.567;
132 if ( m_debug > 0 ) cout << " pt: " << pt_temp << endl;
133 if ( m_debug > 0 ) cout << "par: (" << _d0 << "," << _phi0 << "," << _omega << ")" << endl;
134 _pt = pt_temp;
135
136 _circleX_least = ( b1 * c2 - b2 * c1 ) / ( b1 * b1 - a1 * b2 );
137 _circleY_least = ( b1 * c1 - a1 * c2 ) / ( b1 * b1 - a1 * b2 );
138 _circleR_least = sqrt( ( x2_sum + y2_sum - 2 * _circleX * x_sum - 2 * _circleY * y_sum ) /
139 hitCandiSize +
140 _circleX * _circleX + _circleY * _circleY );
141 _pt_least = pt_temp;
142 return 1;
143 }
144 else { return 0; }
145}
#define M_PI
Definition TConstant.h:4

◆ getCharge()

int Hough2D::getCharge ( ) const
inline

Definition at line 39 of file Hough2D.h.

39{ return _charge; }

Referenced by Hough3D::Hough3D(), Hough3D::Hough3D(), and HoughStereo::HoughStereo().

◆ getChi2_2D()

double Hough2D::getChi2_2D ( ) const
inline

Definition at line 65 of file Hough2D.h.

65{ return _chi2_aver2D; }

◆ getCirR()

double Hough2D::getCirR ( ) const
inline

Definition at line 35 of file Hough2D.h.

35{ return _circleR; }

Referenced by Hough3D::Hough3D(), and Hough3D::Hough3D().

◆ getCirX()

double Hough2D::getCirX ( ) const
inline

Definition at line 33 of file Hough2D.h.

33{ return _circleX; }

Referenced by Hough3D::Hough3D(), and Hough3D::Hough3D().

◆ getCirY()

double Hough2D::getCirY ( ) const
inline

Definition at line 34 of file Hough2D.h.

34{ return _circleY; }

Referenced by Hough3D::Hough3D(), and Hough3D::Hough3D().

◆ getD0()

double Hough2D::getD0 ( ) const
inline

Definition at line 36 of file Hough2D.h.

36{ return _d0; }

Referenced by Hough3D::Hough3D(), and Hough3D::Hough3D().

◆ getNfit()

double Hough2D::getNfit ( ) const
inline

Definition at line 64 of file Hough2D.h.

64{ return _nfit; }

◆ getOmega()

double Hough2D::getOmega ( ) const
inline

Definition at line 38 of file Hough2D.h.

38{ return _omega; }

Referenced by Hough3D::Hough3D(), and Hough3D::Hough3D().

◆ getPhi0()

double Hough2D::getPhi0 ( ) const
inline

Definition at line 37 of file Hough2D.h.

37{ return _phi0; }

Referenced by Hough3D::Hough3D(), and Hough3D::Hough3D().

◆ getPt()

double Hough2D::getPt ( ) const
inline

Definition at line 67 of file Hough2D.h.

67{ return _pt; }

◆ getTrk()

TrkRecoTrk * Hough2D::getTrk ( ) const
inline

Definition at line 32 of file Hough2D.h.

32{ return newTrack; }

◆ print()

void Hough2D::print ( )

Definition at line 388 of file Hough2D.cxx.

388 {
389 cout << " print hough2d " << endl;
390 cout << "par: " << _d0 << " " << _phi0 << " " << _omega << endl;
391}

◆ printRecHit()

void Hough2D::printRecHit ( ) const

◆ setBunchT0()

void Hough2D::setBunchT0 ( double bunchT0)
inline

Definition at line 52 of file Hough2D.h.

52{ _bunchT0 = bunchT0; }

◆ setCalib()

void Hough2D::setCalib ( const IMdcCalibFunSvc * mdcCalibFunSvc)
inlinestatic

Definition at line 55 of file Hough2D.h.

55 {
56 _mdcCalibFunSvc = mdcCalibFunSvc;
57 }

Referenced by MdcHoughFinder::initialize().

◆ setCharge()

void Hough2D::setCharge ( int charge)
inline

Definition at line 42 of file Hough2D.h.

42{ _charge = charge; }

◆ setCirR()

void Hough2D::setCirR ( double cirr)
inline

Definition at line 45 of file Hough2D.h.

45{ _circleR = cirr; }

◆ setCirX()

void Hough2D::setCirX ( double cirx)
inline

Definition at line 43 of file Hough2D.h.

43{ _circleX = cirx; }

◆ setCirY()

void Hough2D::setCirY ( double ciry)
inline

Definition at line 44 of file Hough2D.h.

44{ _circleY = ciry; }

◆ setContext()

void Hough2D::setContext ( TrkContextEv * context)
inlinestatic

Definition at line 54 of file Hough2D.h.

54{ _context = context; }

Referenced by MdcHoughFinder::initialize().

◆ setD0()

void Hough2D::setD0 ( double d0)
inline

Definition at line 47 of file Hough2D.h.

47{ _d0 = d0; }

◆ setOmega()

void Hough2D::setOmega ( double omega)
inline

Definition at line 49 of file Hough2D.h.

49{ _omega = omega; }

◆ setPhi0()

void Hough2D::setPhi0 ( double phi0)
inline

Definition at line 48 of file Hough2D.h.

48{ _phi0 = phi0; }

◆ setPt()

void Hough2D::setPt ( double pt)
inline

Definition at line 50 of file Hough2D.h.

50{ _pt = pt; }

◆ setRecHit()

void Hough2D::setRecHit ( const recHitCol & rechit)
inline

Definition at line 53 of file Hough2D.h.

53{ _recHitVec = rechit; }

Member Data Documentation

◆ _context

TrkContextEv * Hough2D::_context = NULL
static

Definition at line 69 of file Hough2D.h.

Referenced by fit(), and setContext().

◆ _mdcCalibFunSvc

const IMdcCalibFunSvc * Hough2D::_mdcCalibFunSvc = NULL
static

Definition at line 70 of file Hough2D.h.

Referenced by fit(), and setCalib().

◆ m_debug

int Hough2D::m_debug = 0
static

Definition at line 68 of file Hough2D.h.

Referenced by fit(), fitLeast(), and MdcHoughFinder::initialize().

◆ m_dropTrkChi2Cut

double Hough2D::m_dropTrkChi2Cut = 99999.
static

Definition at line 74 of file Hough2D.h.

Referenced by fit().

◆ m_dropTrkChi2NdfCut

double Hough2D::m_dropTrkChi2NdfCut = 99999.
static

Definition at line 78 of file Hough2D.h.

Referenced by fit().

◆ m_dropTrkDrCut

double Hough2D::m_dropTrkDrCut = 1
static

Definition at line 75 of file Hough2D.h.

Referenced by fit().

◆ m_dropTrkDzCut

double Hough2D::m_dropTrkDzCut = 10
static

Definition at line 76 of file Hough2D.h.

◆ m_dropTrkNhitCut

double Hough2D::m_dropTrkNhitCut = 5
static

Definition at line 77 of file Hough2D.h.

Referenced by fit().

◆ m_qualityFactor

int Hough2D::m_qualityFactor = 99999
static

Definition at line 73 of file Hough2D.h.

Referenced by fit().


The documentation for this class was generated from the following files: