BOSS 6.6.4.p01
BESIII Offline Software System
Loading...
Searching...
No Matches
TFastFinder Class Reference

A class to find tracks with the conformal method. More...

#include <TFastFinder.h>

+ Inheritance diagram for TFastFinder:

Public Member Functions

 TFastFinder ()
 Constructor.
 
virtual ~TFastFinder ()
 Destructor.
 
std::string name (void) const
 returns name.
 
std::string version (void) const
 returns version.
 
void dump (const std::string &message=std::string(""), const std::string &prefix=std::string("")) const
 dumps debug information.
 
void clear (void)
 clear internal information.
 
int doit (const AList< TMDCWireHit > &axialHits, const AList< TMDCWireHit > &stereoHits, AList< TTrack > &tracks)
 finds tracks.
 
- Public Member Functions inherited from TFinderBase
 TFinderBase ()
 Constructor.
 
virtual ~TFinderBase ()
 Destructor.
 
virtual std::string name (void) const =0
 returns name.
 
virtual std::string version (void) const =0
 returns version.
 
virtual void dump (const std::string &message=std::string(""), const std::string &prefix=std::string("")) const
 dumps debug information.
 
virtual int debugLevel (void) const
 returns debug level.
 
virtual void clear (void)=0
 clear internal information.
 
virtual int debugLevel (int)
 sets debug level.
 
virtual bool doStereo (bool)
 sets flag to reconstruct 3D.
 
virtual bool doSalvage (bool)
 sets flag to salvage hits.
 
virtual int doit (const AList< TMDCWireHit > &axialHits, const AList< TMDCWireHit > &stereoHits, AList< TTrack > &tracks3D, AList< TTrack > &tracks2D)=0
 finds tracks. 'hits' are used to reconstruct. 'tracks' can be used for both inputs and outputs. Return value = (0, +, -) means (success, warning, fatal error).
 

Detailed Description

A class to find tracks with the conformal method.

Definition at line 26 of file TFastFinder.h.

Constructor & Destructor Documentation

◆ TFastFinder()

TFastFinder::TFastFinder ( )

Constructor.

Definition at line 20 of file TFastFinder.cxx.

20 : _builder("fast find builder", 30) {
21 _selector.nLinks(4);
22 _selector.nSuperLayers(2);
23 _selector.minPt(0.05);
24 _selector.maxImpact(100.);
25 _selector.maxSigma(30.);
26 _selector.nLinksStereo(3);
27 _selector.maxDistance(30.);
28 _builder.trackSelector(_selector);
29}
const TMSelector & trackSelector(void) const
returns a track selector.
Definition: TBuilder0.h:131
double maxDistance(void) const
returns max. distance required for stereo hits.
Definition: TMSelector.h:235
unsigned nSuperLayers(void) const
returns min. # of super layers required.
Definition: TMSelector.h:150
double maxImpact(void) const
returns max. impact(2D) required.
Definition: TMSelector.h:184
unsigned nLinks(void) const
returns min. # of hits(TMLinks) requried.
Definition: TMSelector.h:133
double maxSigma(void) const
returns max. sigma for each TMLink.
Definition: TMSelector.h:201
unsigned nLinksStereo(void) const
returns min. # of stereo hits(TMLinks) requried.
Definition: TMSelector.h:218
double minPt(void) const
returns min. pt required.
Definition: TMSelector.h:167

◆ ~TFastFinder()

TFastFinder::~TFastFinder ( )
virtual

Destructor.

Definition at line 31 of file TFastFinder.cxx.

31 {
32}

Member Function Documentation

◆ clear()

void TFastFinder::clear ( void  )
virtual

clear internal information.

Implements TFinderBase.

Definition at line 46 of file TFastFinder.cxx.

46 {
47 _axialHits.removeAll();
48 _stereoHits.removeAll();
49 HepAListDeleteAll(_axialLinks);
50 HepAListDeleteAll(_stereoLinks);
51}

◆ doit()

int TFastFinder::doit ( const AList< TMDCWireHit > &  axialHits,
const AList< TMDCWireHit > &  stereoHits,
AList< TTrack > &  tracks 
)

finds tracks.

Definition at line 54 of file TFastFinder.cxx.

56 {
57
58 //...Select good hits...
59 selectHits2(axialHits, stereoHits);
60
61 //...Conformal transformation with IP constraint...
63 _axialHits,
64 _axialLinks);
66 _stereoHits,
67 _stereoLinks);
68
69 //...Make a histogram...
70 THistogram hist(288);
71 hist.fillX(_axialLinks);
72 AList<TSegment0> clusters = hist.clusters0();
73
74 //...Cluster loop...
75 unsigned n = clusters.length();
76 for (unsigned i = 0; i < n; i++) {
77
78 //...2D track...
79 TTrack * t = _builder.buildRphi(clusters[i]->links());
80 if (t == NULL) continue;
81#ifdef TRKRECO_DEBUG_DETAIL
82 std::cout << "TFastFinder::doit ... 2D track found" << std::endl;
83#endif
84
85 //...Make it 3D...
86 TTrack * ts = t;
87 ts = _builder.buildStereo(* t,
88 findCloseHits(_stereoLinks,
89 * t));
90 if (ts == NULL) continue;
91#ifdef TRKRECO_DEBUG_DETAIL
92 std::cout << "TFastFinder::doit ... 3D track found" << std::endl;
93#endif
94
95 //...OK...
96 t->assign(WireHitFastFinder);
97 t->finder(TrackFastFinder);
98// t->assign(WireHitFastFinder, TrackFastFinder);
99 tracks.append(t);
100 _stereoLinks.remove(t->links());
101 }
102
103 //...Termination...
104 HepAListDeleteAll(clusters);
105 return 0;
106}
const Int_t n
const HepPoint3D ORIGIN
Constants.
Definition: TMDCUtil.cxx:47
#define WireHitFastFinder
Definition: TMDCWireHit.h:56
#define TrackFastFinder
Definition: TTrack.h:24
TTrack * buildRphi(const AList< TMLink > &) const
builds a r/phi track from TMLinks or from Segments.
Definition: TBuilder0.cxx:83
virtual TTrack * buildStereo(TTrack &track, const AList< TMLink > &) const
appends stereo hits to a track.
Definition: TBuilder0.cxx:535
static void conformalTransformationRphi(const HepPoint3D &center, const AList< TMDCWireHit > &hits, AList< TMLink > &links)
transforms hits into a conformal plane. 'center' is a center of the transformation....
A class for a histogram used in tracking.
Definition: THistogram.h:34
A class to represent a track in tracking.
Definition: TTrack.h:129
int t()
Definition: t.c:1

◆ dump()

void TFastFinder::dump ( const std::string &  message = std::string(""),
const std::string &  prefix = std::string("") 
) const
virtual

dumps debug information.

Reimplemented from TFinderBase.

Definition at line 40 of file TFastFinder.cxx.

40 {
41 std::cout << pre;
43}
virtual void dump(const std::string &message=std::string(""), const std::string &prefix=std::string("")) const
dumps debug information.
Definition: TFinderBase.cxx:23

◆ name()

std::string TFastFinder::name ( void  ) const
inlinevirtual

returns name.

Implements TFinderBase.

Definition at line 95 of file TFastFinder.h.

95 {
96 return "Fast Finder";
97}

◆ version()

std::string TFastFinder::version ( void  ) const
virtual

returns version.

Implements TFinderBase.

Definition at line 35 of file TFastFinder.cxx.

35 {
36 return "0.00";
37}

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