CGEM BOSS 6.6.5.i
BESIII Offline Software System
Loading...
Searching...
No Matches
Hough.h
Go to the documentation of this file.
1#ifndef HOUGHFINDER_H
2#define HOUGHFINDER_H
3
4#include "GaudiKernel/Algorithm.h"
5#include "GaudiKernel/INTupleSvc.h"
6#include "GaudiKernel/NTuple.h"
11#include "BField/BField.h"
16#include "TH2D.h"
17#include "TGraph.h"
19
20#include <unordered_set>
21
22class HoughFinder:public Algorithm
23{
24 public:
25 HoughFinder(const std::string& name, ISvcLocator* pSvcLocator);
26 //~HoughFinder();
27 StatusCode initialize();
28 StatusCode execute();
29 StatusCode finalize();
30 StatusCode bookTuple();
31 StatusCode registerTrack(RecMdcTrackCol*& trackList_tds, RecMdcHitCol*& hitList_tds);
32
33 int makeHoughHitList();
35 int getMcHitCol();
36 int getMcParticleCol();
37 //int findTrack(vector<HoughHit> &hitList, vector<HoughTrack*>& trackVector, double x, double y, double dx, double dy, int charge, int step, int mapType);
38 //TH2D* buildMap(vector<HoughHit> &hitList, map<int,TH2D*>& hitMapList, double x, double y, double dx, double dy, int charge, int step, int mapType);
39 int fillHistogram(HoughHit* hit, TH2D* hitMap, int charge, int vote);
40 int fillHistogram(HoughHit* hit, TH2D* hitMap, HoughTrack* trkCandi, int vote);
41 int fillHistogram(vector<HoughHit*> &hitList, TH2D* hitMap, int charge, int vote, HoughTrack* trkCandi=NULL);
42 //int findPeak(vector<HoughHit> &hitList, map<int,TH2D*>& hitMapList, TH2D* houghMap, vector<HoughTrack*>& trackVector, int charge, int step, int mapType);
43 //int centroid(TH2D* houghMap, int xInclude, int yInclude, double &xc, double &yc);
44 //double mapDev(TH2D* houghMap,double nRMS);
45 //int removeHitMap(map<int,TH2D*>& hitMapList, TH2D* houghMap, vector<HoughTrack*>& trackVector);
46 //int removeHitMap(map<int,TH2D*>& hitMapList, TH2D* houghMap, HoughTrack* track);
47 //int removeHitMap(map<int,TH2D*>& hitMapList, TH2D* houghMap,int binx, int biny);
48 //int clearMap(TH2D* houghMap, map<int,TH2D*>& hitMapList);
49 int checkHot(vector<HoughTrack>& trackVector);//check track by hots, remove the shorter track with too many shared hits
50 int checkTrack(vector<HoughTrack>& trackVector);//check track by track parameters
51 void clearTrack(vector<HoughTrack>& trackVector);//clear tracks
52 //int checkTrack(MdcTrackList& mdcTrackList);
53 //int completeTrack(vector<HoughTrack*>& trackVector);
54 int storeTrack(vector<HoughTrack>& trackVector, RecMdcTrackCol*& recMdcTrackCol ,RecMdcHitCol*& recMdcHitCol);
55 int storeTracks(RecMdcTrackCol* trackList, RecMdcHitCol* hitList, vector<HoughTrack>& trackVector);
56 int storeRecTracks(RecMdcTrackCol* trackList, RecMdcHitCol* hitList, vector<HoughTrack>& trackVector);
57 void printHitList();
58 int activeUnusedCgemHitsOnly(vector<HoughHit*>& hitPntList);// llwang 2018-12-24
59 void solveSharedHits(vector<HoughHit*>& hitList);// re-associate shard hits, llwang 2018-12-26
60 //void combineCircles(vector<HoughTrack>& trackVector);// combine circle segments, llwang 2020-09-11
61 vector<HoughTrack>::iterator getHoughTrkIt(vector<HoughTrack>& houghTrkList, int trkId); // llwang 2018-12-31
62 //void updateXHitsStatistics(vector<HoughTrack>& trackVector);
63
64 void clearMemory();
65
66 int Layer;
70 int printTdsTrack();
72
73 private:
74 RawDataProviderSvc* m_rawDataProviderSvc;
75 MdcGeomSvc* m_mdcGeomSvc;
76 MdcCalibFunSvc* m_mdcCalibFunSvc;
77 CgemGeomSvc* m_cgemGeomSvc;
78 CgemCalibFunSvc* m_cgemCalibFunSvc;
79 IMagneticFieldSvc* m_pIMF;
80 TrkContextEv* m_trkContextEv;
81 const BField* m_bfield;
82 const MdcDetector* m_mdcDetector;
83 std::string m_pdtFile;
84 //IBesTimerSvc* m_timersvc;
85 //BesTimer* m_timer_all;
86 //MdcPrintSvc* m_mdcPrintSvc;
87 //RecCgemCluster* m_recCgemCluster;
88
89 int m_run;
90 int m_event;
91 int m_totEvtProcessed;
92 double m_bunchT0;
93
94 int m_debug;
95 int m_cgem;
96 int m_mcTruth;
97 int m_fillNTuple;
98
99 bool m_keepBadTdc;
100 bool m_dropHot;
101 bool m_keepUnmatch;
102
103 double m_driftTimeUpLimit;
104
105 int m_checkHits;
106 double m_shareHitRate;
107 double m_drCut;
108 double m_phi0Cut;
109 double m_kappaCut;
110 double m_dzCut;
111 double m_tanlCut;
112
113 double m_chi2CutHits;
114
115 int m_trackCharge;
116 int m_findPeakMethod;// 0:DFS, 1:BFS
117 int m_maxFireLayer;
118 int m_removeNOuterHits;
119
120 //int m_nStep_xy;
121 ////vector<int> m_xBin_xy;
122 //vector<int> m_yBin_xy;
123 //vector<int> m_xExtend_xy;
124 //vector<int> m_yExtend_xy;
125 //vector<int> m_nVote_xy;
126 //vector<int> m_nRMS_xy;
127 //int m_xInclude_xy;
128 //int m_yInclude_xy;
129
130 //int m_nStep_sz;
131 //vector<int> m_xBin_sz;
132 //vector<int> m_yBin_sz;
133 //vector<int> m_xExtend_sz;
134 //vector<int> m_yExtend_sz;
135 //vector<int> m_nVote_sz;
136 //vector<int> m_nRMS_sz;
137 //int m_xInclude_sz;
138 //int m_yInclude_sz;
139
140 //int m_nStep;
141 //vector<int> m_xBin;
142 //vector<int> m_yBin;
143 //vector<int> m_xExtend;
144 //vector<int> m_yExtend;
145 //vector<int> m_nVote;
146 //vector<int> m_nRMS;
147 //int m_xInclude;
148 //int m_yInclude;
149
150 RecCgemClusterCol::iterator m_recCgemClusterColBegin;
151
152
153 vector<MdcHit*> m_mdcHitCol;
154 vector<HoughHit> m_mcHitCol;
155 vector<HoughHit> m_houghHitList;
156 vector<HoughTrack> m_mcTrackCol; //make from McParticle
157 vector<HoughTrack> m_houghTrackList; //reconstruct from CgemCluster and MdcDigi
158 //vector<HoughTrack> m_recMcTrackList; //reconstruct form McHit
159 vector<HoughHit*> m_XHoughHitList;
160 vector<HoughHit*> m_VHoughHitList;
161 vector<HoughHit*> m_VHoughHitListOnSZmap;
162 int m_nVClusterOnSZmap;
163
164 unordered_set<HoughHit*> m_HoughHitSet;
165
166 int m_filter;
167 std::string m_evtFile;
168 int m_fitFlag;//0:Taubin, 1:X, 2:V, 3:XV
169
170 // tests by llwang
171 int m_nBinTheta;
172 int m_nBinRho;
173 double m_XGapFractionCutHough;
174 double m_XGapFractionCutFit;
175 double m_rhoRange;
176 TH2D m_roughRhoThetaMap;
177 vector<int> m_triedCellInRoughMap;
178 TH2D m_fineRhoThetaMap;
179 int searchCircle();
180 int searchCircle2();
181 void getWeightedPeak(TH2D& h, double& x_peak, double& y_peak, double& x_weight, double& y_weight, int x_ext=2, int y_ext=1);
182 void getLocalPeaks(TH2D& h, int minCut=3);
183 int m_ExtPeak_theta;
184 int m_ExtPeak_rho;
185 int nFineBinTheta(double rho);
186 int nFineBinRho(double rho);
187 TGraph* m_cut1_cgem, *m_cut2_cgem;
188 TGraph* m_cut1_ODC1, *m_cut2_ODC1;
189 TGraph* m_cut1_ODC2, *m_cut2_ODC2;
190 void XhitCutWindow(double rho, int ilayer, double charge, double& cut1, double &cut2);
191 RecMdcTrackCol* m_trackList_tds;
192 RecMdcHitCol* m_hitList_tds;
193 //RecCgemClusterCol* m_recCgemClusterCol;
194
195 // add by Huang Zhen
196 int m_nBinTanl;
197 int m_nBinDz;
198 double m_tanlRange;
199 double m_dzRange;
200 TH2D m_roughTanlDzMap;
201 TH2D m_fineTanlDzMap;
202 int associateVHits();
203 int m_ExtPeak_tanl;
204 int m_ExtPeak_dz;
205 int nFineBinTanl(double tanl);
206 int nFineBinDz(double tanl);
207 void XVhitCutWindow(double tanl, int ilayer, double charge, double& cut1, double &cut2);
208
209
210 // --- global Helix/circle fitter for CGEM/MDC
211 DotsHelixFitter myDotsHelixFitter;
212 double m_circle_chiCut;
213
214 void findMcTrack(HoughTrack* track);
215 int dumpHit();
216 int dumpHoughTrack();
217 int dumpHoughEvent();
218 int dumpTdsTrack();
219 int dumpTdsEvent();
220
221 // --- Ntuple
222 NTuple::Tuple* ntuple_hit;
223 NTuple::Item<int> m_hit_run;
224 NTuple::Item<int> m_hit_event;
225 NTuple::Item<int> m_hit_nhit;
226
227 NTuple::Array<int> m_hit_hitID;
228 NTuple::Array<int> m_hit_hitType;
229 NTuple::Array<int> m_hit_layer;
230 NTuple::Array<int> m_hit_wire;
231 NTuple::Array<int> m_hit_flag;
232 NTuple::Array<int> m_hit_halfCircle;
233 NTuple::Array<double> m_hit_x;
234 NTuple::Array<double> m_hit_y;
235 NTuple::Array<double> m_hit_z;
236 NTuple::Array<double> m_hit_drift;
237
238 NTuple::Array<int> m_mcHit_hitID;
239 NTuple::Array<int> m_mcHit_hitType;
240 NTuple::Array<int> m_mcHit_layer;
241 NTuple::Array<int> m_mcHit_wire;
242 NTuple::Array<int> m_mcHit_flag;
243 NTuple::Array<int> m_mcHit_halfCircle;
244 NTuple::Array<double> m_mcHit_x;
245 NTuple::Array<double> m_mcHit_y;
246 NTuple::Array<double> m_mcHit_z;
247 NTuple::Array<double> m_mcHit_drift;
248
249
250
251 NTuple::Tuple* ntuple_track;
252 NTuple::Item<int> m_trk_run;
253 NTuple::Item<int> m_trk_event;
254 NTuple::Item<int> m_trk_nTrack;
255 NTuple::Item<int> m_trk_trackID;
256 NTuple::Item<int> m_trk_charge;
257 NTuple::Item<int> m_trk_flag;
258 NTuple::Item<double> m_trk_angle;
259 NTuple::Item<double> m_trk_rho;
260 NTuple::Item<double> m_trk_dAngle;
261 NTuple::Item<double> m_trk_dRho;
262 NTuple::Item<double> m_trk_dTanl;
263 NTuple::Item<double> m_trk_dDz;
264 NTuple::Item<double> m_trk_Xc;
265 NTuple::Item<double> m_trk_Yc;
266 NTuple::Item<double> m_trk_R;
267 NTuple::Item<double> m_trk_dr;
268 NTuple::Item<double> m_trk_phi0;
269 NTuple::Item<double> m_trk_kappa;
270 NTuple::Item<double> m_trk_dz;
271 NTuple::Item<double> m_trk_tanl;
272 NTuple::Item<double> m_trk_pxy;
273 NTuple::Item<double> m_trk_px;
274 NTuple::Item<double> m_trk_py;
275 NTuple::Item<double> m_trk_pz;
276 NTuple::Item<double> m_trk_p;
277 NTuple::Item<double> m_trk_phi;
278 NTuple::Item<double> m_trk_theta;
279 NTuple::Item<double> m_trk_cosTheta;
280 NTuple::Item<double> m_trk_vx;
281 NTuple::Item<double> m_trk_vy;
282 NTuple::Item<double> m_trk_vz;
283 NTuple::Item<double> m_trk_vr;
284 NTuple::Item<double> m_trk_chi2;
285 NTuple::Item<double> m_trk_fiTerm;
286 NTuple::Item<int> m_trk_nhit;
287 NTuple::Item<int> m_trk_ncluster;
288 NTuple::Item<int> m_trk_stat;
289 NTuple::Item<int> m_trk_ndof;
290 NTuple::Item<int> m_trk_nster;
291 NTuple::Item<int> m_trk_nlayer;
292 NTuple::Item<int> m_trk_firstLayer;
293 NTuple::Item<int> m_trk_lastLayer;
294 NTuple::Item<int> m_trk_nCgemXClusters;
295 NTuple::Item<int> m_trk_nCgemVClusters;
296 NTuple::Item<int> m_trk_nHot;
297
298 NTuple::Array<int> m_hot_hitID;
299 NTuple::Array<int> m_hot_hitType;
300 NTuple::Array<int> m_hot_layer;
301 NTuple::Array<int> m_hot_wire;
302 NTuple::Array<int> m_hot_flag;
303 NTuple::Array<int> m_hot_halfCircle;
304 NTuple::Array<double> m_hot_x;
305 NTuple::Array<double> m_hot_y;
306 NTuple::Array<double> m_hot_z;
307 NTuple::Array<double> m_hot_drift;
308 NTuple::Array<double> m_hot_residual;
309
310 NTuple::Array<int> m_mcHot_hitID;
311 NTuple::Array<int> m_mcHot_hitType;
312 NTuple::Array<int> m_mcHot_layer;
313 NTuple::Array<int> m_mcHot_wire;
314 NTuple::Array<int> m_mcHot_flag;
315 NTuple::Array<int> m_mcHot_halfCircle;
316 NTuple::Array<double> m_mcHot_x;
317 NTuple::Array<double> m_mcHot_y;
318 NTuple::Array<double> m_mcHot_z;
319 NTuple::Array<double> m_mcHot_drift;
320
321 NTuple::Item<int> m_mcTrk_trackID;
322 NTuple::Item<int> m_mcTrk_charge;
323 NTuple::Item<int> m_mcTrk_flag;
324 NTuple::Item<double> m_mcTrk_angle;
325 NTuple::Item<double> m_mcTrk_rho;
326 NTuple::Item<double> m_mcTrk_dAngle;
327 NTuple::Item<double> m_mcTrk_dRho;
328 NTuple::Item<double> m_mcTrk_dTanl;
329 NTuple::Item<double> m_mcTrk_dDz;
330 NTuple::Item<double> m_mcTrk_Xc;
331 NTuple::Item<double> m_mcTrk_Yc;
332 NTuple::Item<double> m_mcTrk_R;
333 NTuple::Item<double> m_mcTrk_dr;
334 NTuple::Item<double> m_mcTrk_phi0;
335 NTuple::Item<double> m_mcTrk_kappa;
336 NTuple::Item<double> m_mcTrk_dz;
337 NTuple::Item<double> m_mcTrk_tanl;
338 NTuple::Item<double> m_mcTrk_pxy;
339 NTuple::Item<double> m_mcTrk_px;
340 NTuple::Item<double> m_mcTrk_py;
341 NTuple::Item<double> m_mcTrk_pz;
342 NTuple::Item<double> m_mcTrk_p;
343 NTuple::Item<double> m_mcTrk_phi;
344 NTuple::Item<double> m_mcTrk_theta;
345 NTuple::Item<double> m_mcTrk_cosTheta;
346 NTuple::Item<double> m_mcTrk_vx;
347 NTuple::Item<double> m_mcTrk_vy;
348 NTuple::Item<double> m_mcTrk_vz;
349 NTuple::Item<double> m_mcTrk_vr;
350 NTuple::Item<double> m_mcTrk_chi2;
351 NTuple::Item<double> m_mcTrk_fiTerm;
352 NTuple::Item<int> m_mcTrk_nhit;
353 NTuple::Item<int> m_mcTrk_ncluster;
354 NTuple::Item<int> m_mcTrk_stat;
355 NTuple::Item<int> m_mcTrk_ndof;
356 NTuple::Item<int> m_mcTrk_nster;
357 NTuple::Item<int> m_mcTrk_nlayer;
358 NTuple::Item<int> m_mcTrk_firstLayer;
359 NTuple::Item<int> m_mcTrk_lastLayer;
360 NTuple::Item<int> m_mcTrk_nCgemXClusters;
361 NTuple::Item<int> m_mcTrk_nCgemVClusters;
362 NTuple::Item<int> m_mcTrk_nHot;
363
364 NTuple::Array<int> m_mcTrkHot_hitID;
365 NTuple::Array<int> m_mcTrkHot_hitType;
366 NTuple::Array<int> m_mcTrkHot_layer;
367 NTuple::Array<int> m_mcTrkHot_wire;
368 NTuple::Array<int> m_mcTrkHot_flag;
369 NTuple::Array<int> m_mcTrkHot_halfCircle;
370 NTuple::Array<double> m_mcTrkHot_x;
371 NTuple::Array<double> m_mcTrkHot_y;
372 NTuple::Array<double> m_mcTrkHot_z;
373 NTuple::Array<double> m_mcTrkHot_drift;
374
375
376
377 NTuple::Tuple* ntuple_event;
378 NTuple::Item<int> m_evt_run;
379 NTuple::Item<int> m_evt_event;
380 NTuple::Item<int> m_evt_nXCluster;
381 NTuple::Item<int> m_evt_nVCluster;
382 NTuple::Item<int> m_evt_nXVCluster;
383 NTuple::Item<int> m_evt_nCGEMCluster;
384 NTuple::Item<int> m_evt_nAxialHit;
385 NTuple::Item<int> m_evt_nStereoHit;
386 NTuple::Item<int> m_evt_nODCHit;
387 NTuple::Item<int> m_evt_nHit;
388 NTuple::Item<int> m_evt_nTrack;
389
390 NTuple::Array<int> m_evtTrk_trackID;
391 NTuple::Array<int> m_evtTrk_charge;
392 NTuple::Array<int> m_evtTrk_flag;
393 NTuple::Array<double> m_evtTrk_angle;
394 NTuple::Array<double> m_evtTrk_rho;
395 NTuple::Array<double> m_evtTrk_dAngle;
396 NTuple::Array<double> m_evtTrk_dRho;
397 NTuple::Array<double> m_evtTrk_dTanl;
398 NTuple::Array<double> m_evtTrk_dDz;
399 NTuple::Array<double> m_evtTrk_Xc;
400 NTuple::Array<double> m_evtTrk_Yc;
401 NTuple::Array<double> m_evtTrk_R;
402 NTuple::Array<double> m_evtTrk_dr;
403 NTuple::Array<double> m_evtTrk_phi0;
404 NTuple::Array<double> m_evtTrk_kappa;
405 NTuple::Array<double> m_evtTrk_dz;
406 NTuple::Array<double> m_evtTrk_tanl;
407 NTuple::Array<double> m_evtTrk_pxy;
408 NTuple::Array<double> m_evtTrk_px;
409 NTuple::Array<double> m_evtTrk_py;
410 NTuple::Array<double> m_evtTrk_pz;
411 NTuple::Array<double> m_evtTrk_p;
412 NTuple::Array<double> m_evtTrk_phi;
413 NTuple::Array<double> m_evtTrk_theta;
414 NTuple::Array<double> m_evtTrk_cosTheta;
415 NTuple::Array<double> m_evtTrk_vx;
416 NTuple::Array<double> m_evtTrk_vy;
417 NTuple::Array<double> m_evtTrk_vz;
418 NTuple::Array<double> m_evtTrk_vr;
419 NTuple::Array<double> m_evtTrk_chi2;
420 NTuple::Array<double> m_evtTrk_fiTerm;
421 NTuple::Array<int> m_evtTrk_nhit;
422 NTuple::Array<int> m_evtTrk_ncluster;
423 NTuple::Array<int> m_evtTrk_stat;
424 NTuple::Array<int> m_evtTrk_ndof;
425 NTuple::Array<int> m_evtTrk_nster;
426 NTuple::Array<int> m_evtTrk_nlayer;
427 NTuple::Array<int> m_evtTrk_firstLayer;
428 NTuple::Array<int> m_evtTrk_lastLayer;
429 NTuple::Array<int> m_evtTrk_nCgemXClusters;
430 NTuple::Array<int> m_evtTrk_nCgemVClusters;
431
432 NTuple::Array<int> m_mcEvtTrk_trackID;
433 NTuple::Array<int> m_mcEvtTrk_charge;
434 NTuple::Array<int> m_mcEvtTrk_flag;
435 NTuple::Array<double> m_mcEvtTrk_angle;
436 NTuple::Array<double> m_mcEvtTrk_rho;
437 NTuple::Array<double> m_mcEvtTrk_dAngle;
438 NTuple::Array<double> m_mcEvtTrk_dRho;
439 NTuple::Array<double> m_mcEvtTrk_dTanl;
440 NTuple::Array<double> m_mcEvtTrk_dDz;
441 NTuple::Array<double> m_mcEvtTrk_Xc;
442 NTuple::Array<double> m_mcEvtTrk_Yc;
443 NTuple::Array<double> m_mcEvtTrk_R;
444 NTuple::Array<double> m_mcEvtTrk_dr;
445 NTuple::Array<double> m_mcEvtTrk_phi0;
446 NTuple::Array<double> m_mcEvtTrk_kappa;
447 NTuple::Array<double> m_mcEvtTrk_dz;
448 NTuple::Array<double> m_mcEvtTrk_tanl;
449 NTuple::Array<double> m_mcEvtTrk_pxy;
450 NTuple::Array<double> m_mcEvtTrk_px;
451 NTuple::Array<double> m_mcEvtTrk_py;
452 NTuple::Array<double> m_mcEvtTrk_pz;
453 NTuple::Array<double> m_mcEvtTrk_p;
454 NTuple::Array<double> m_mcEvtTrk_phi;
455 NTuple::Array<double> m_mcEvtTrk_theta;
456 NTuple::Array<double> m_mcEvtTrk_cosTheta;
457 NTuple::Array<double> m_mcEvtTrk_vx;
458 NTuple::Array<double> m_mcEvtTrk_vy;
459 NTuple::Array<double> m_mcEvtTrk_vz;
460 NTuple::Array<double> m_mcEvtTrk_vr;
461 NTuple::Array<double> m_mcEvtTrk_chi2;
462 NTuple::Array<double> m_mcEvtTrk_fiTerm;
463 NTuple::Array<int> m_mcEvtTrk_nhit;
464 NTuple::Array<int> m_mcEvtTrk_ncluster;
465 NTuple::Array<int> m_mcEvtTrk_stat;
466 NTuple::Array<int> m_mcEvtTrk_ndof;
467 NTuple::Array<int> m_mcEvtTrk_nster;
468 NTuple::Array<int> m_mcEvtTrk_nlayer;
469 NTuple::Array<int> m_mcEvtTrk_firstLayer;
470 NTuple::Array<int> m_mcEvtTrk_lastLayer;
471 NTuple::Array<int> m_mcEvtTrk_nCgemXClusters;
472 NTuple::Array<int> m_mcEvtTrk_nCgemVClusters;
473};
474
475#endif
476
ObjectVector< RecMdcHit > RecMdcHitCol
Definition RecMdcHit.h:99
ObjectVector< RecMdcTrack > RecMdcTrackCol
int printTdsTrack()
Definition Hough.cxx:4519
StatusCode execute()
Definition Hough.cxx:299
int storeFlag
Definition Hough.h:69
int Layer
Definition Hough.h:66
int separateHoughHitByPhi()
int activeUnusedCgemHitsOnly(vector< HoughHit * > &hitPntList)
Definition Hough.cxx:3228
int checkTrack(vector< HoughTrack > &trackVector)
Definition Hough.cxx:1700
int storeRecTracks(RecMdcTrackCol *trackList, RecMdcHitCol *hitList, vector< HoughTrack > &trackVector)
Definition Hough.cxx:1922
int makeHoughHitList()
Definition Hough.cxx:456
StatusCode finalize()
Definition Hough.cxx:444
void solveSharedHits(vector< HoughHit * > &hitList)
Definition Hough.cxx:3252
int printFlag
Definition Hough.h:71
int storeTrack(vector< HoughTrack > &trackVector, RecMdcTrackCol *&recMdcTrackCol, RecMdcHitCol *&recMdcHitCol)
Definition Hough.cxx:1881
int storeTracks(RecMdcTrackCol *trackList, RecMdcHitCol *hitList, vector< HoughTrack > &trackVector)
Definition Hough.cxx:2207
vector< HoughTrack >::iterator getHoughTrkIt(vector< HoughTrack > &houghTrkList, int trkId)
Definition Hough.cxx:3297
StatusCode bookTuple()
Definition Hough.cxx:3603
int getMcHitCol()
Definition Hough.cxx:523
int m_useCgemInGlobalFit
Definition Hough.h:67
StatusCode initialize()
Definition Hough.cxx:108
void clearTrack(vector< HoughTrack > &trackVector)
Definition Hough.cxx:3199
HoughFinder(const std::string &name, ISvcLocator *pSvcLocator)
Definition Hough.cxx:31
int getMcParticleCol()
Definition Hough.cxx:741
int checkHot(vector< HoughTrack > &trackVector)
Definition Hough.cxx:1655
void printHitList()
Definition Hough.cxx:2717
int fillHistogram(HoughHit *hit, TH2D *hitMap, int charge, int vote)
Definition Hough.cxx:956
int m_clearTrack
Definition Hough.h:68
StatusCode registerTrack(RecMdcTrackCol *&trackList_tds, RecMdcHitCol *&hitList_tds)
Definition Hough.cxx:1828
void clearMemory()
Definition Hough.cxx:3212