PandaRoot
PndHoughTrackFinder Class Reference

#include <PndHoughTrackFinder.h>

Public Member Functions

 PndHoughTrackFinder ()
 
 PndHoughTrackFinder (TClonesArray *tubeArray)
 
virtual ~PndHoughTrackFinder ()
 
virtual void SetBinningX (double bin)
 Sets the number of bins in x direction for the Hough space. More...
 
virtual void SetBinningY (double bin)
 Sets the number of bins in y direction for the Hough space. More...
 
virtual void SetNBinsSeg (Int_t n)
 Sets the number of bins used for the segmentation preselection algorithm. More...
 
virtual void SetBz (double B)
 Sets the z component of the magnetic field. More...
 
virtual void SetCutMergeByHoughSpace (float cut)
 Sets the cut value for the distance of two maxima in the Hough space which have to be merged. More...
 
virtual void SetWithGPU (bool cuda)
 Sets a bool for deciding to use cuda. More...
 
virtual void SetWithGhostReduction (bool ghostred)
 Sets a bool for deciding to use a ghost reduction. More...
 
virtual void SetPreselectedTrackCands (std::vector< PndTrackCand > cands)
 
virtual void SetCombinedSkewed (TClonesArray *skewed)
 
void Init ()
 Initializes the data structure and the Hough space of the HoughtrackFinder. More...
 
void Reset ()
 Resets the data for a new event. More...
 
void AddHits (TClonesArray *hits, TString branchName)
 Adds hits to the data structure of the HoughTrackFinder. More...
 
void CreateNeighborhood ()
 Creates the neighborhood parameters for all investigated hits. More...
 
void FindTracks ()
 Main function of the HoughTrackFinder, which finds the tracks. More...
 
void Preselection ()
 Here all data are preselected in smaller tracklets. More...
 
void FindHoughMaxima ()
 Performs a Hough transformation for all preselected tracklets. The found track parameters are stored in fPreselectedTrackCircles. More...
 
void AddSkewedHits (int i)
 
PndTrackCand GetPreselectedTrackCand (int i)
 Returns a specific preselected track candidate. More...
 
int GetNumPreselectedTrackCands ()
 Returns the number of preselected track candidates. More...
 
TVector3 GetPreselectedTrackCircles (int i)
 Returns a the corresponding circle for a specific preselected track candidate. More...
 
int GetNumPreselectedTrackCircles ()
 Returns the number of preselected circles for track candidates. More...
 
PndTrack GetMergedTrack (int i)
 Returns a specific found track. More...
 
int GetNumMergedTracks ()
 Returns the number of found tracks. More...
 
std::map< FairLink, FairHit * > GetMapFairLinktoFairHit ()
 Returns a specific found track candidate. More...
 
PndHoughDataGetData ()
 Returns the data class of the HoughTrackFinder. More...
 

Detailed Description

PndHoughTrackFinder

Author
Anna Alicke a.ali.nosp@m.cke@.nosp@m.fz-ju.nosp@m.elic.nosp@m.h.de
Since
29.10.2018 23.11.2021
Version
3.1

PANDA class for finding tracks based on a hough transformation Task level RECO

Definition at line 31 of file PndHoughTrackFinder.h.

Constructor & Destructor Documentation

◆ PndHoughTrackFinder() [1/2]

PndHoughTrackFinder::PndHoughTrackFinder ( )
inline

Definition at line 33 of file PndHoughTrackFinder.h.

33 {};

◆ PndHoughTrackFinder() [2/2]

PndHoughTrackFinder::PndHoughTrackFinder ( TClonesArray *  tubeArray)
inline

Definition at line 35 of file PndHoughTrackFinder.h.

35  : fNbins1(450), fNbins2(450), fNBinsSeg(90.), fBz(2.), fCutMergeByHoughSpace(5.), fWithGPU(kFALSE), fWithGhostReduction(kTRUE)
36  {
37  // Generate TrackFinderData-Object
38  fData = new PndHoughData(tubeArray);
39  fCATrackFinder = new PndSttCA(tubeArray);
40  ioman = FairRootManager::Instance();
41  };

◆ ~PndHoughTrackFinder()

virtual PndHoughTrackFinder::~PndHoughTrackFinder ( )
inlinevirtual

Destructor

Definition at line 44 of file PndHoughTrackFinder.h.

45  {
46  delete fData;
47  delete fCATrackFinder;
48 
49  delete fPndHoughTransformation;
50  delete fPndHoughPreprocessing;
51  delete fPndHoughMerge;
52  delete fPndHoughSegment;
53  delete fPndHoughUtilities;
54  delete fPndHoughTrackCorrection;
55  }

Member Function Documentation

◆ AddHits()

void PndHoughTrackFinder::AddHits ( TClonesArray *  hits,
TString  branchName 
)

Adds hits to the data structure of the HoughTrackFinder.

Referenced by Reset().

◆ AddSkewedHits()

void PndHoughTrackFinder::AddSkewedHits ( int  i)

Referenced by CreateNeighborhood().

◆ CreateNeighborhood()

void PndHoughTrackFinder::CreateNeighborhood ( )
inline

Creates the neighborhood parameters for all investigated hits.

Definition at line 96 of file PndHoughTrackFinder.h.

References AddSkewedHits(), PndHoughData::CreateGEMNeighborhoodData(), PndHoughData::CreateSTTNeighborhoodData(), FindHoughMaxima(), FindTracks(), i, and Preselection().

97  {
100  }
void CreateSTTNeighborhoodData()
For all STT hits all other STT neighbors are counted and stored in a map.
void CreateGEMNeighborhoodData()
For all GEM hits all other GEM hits in a certain distance (hier 1.5 cm) are counted and stored as nei...

◆ FindHoughMaxima()

void PndHoughTrackFinder::FindHoughMaxima ( )

Performs a Hough transformation for all preselected tracklets. The found track parameters are stored in fPreselectedTrackCircles.

Referenced by CreateNeighborhood().

◆ FindTracks()

void PndHoughTrackFinder::FindTracks ( )

Main function of the HoughTrackFinder, which finds the tracks.

Referenced by CreateNeighborhood().

◆ GetData()

PndHoughData* PndHoughTrackFinder::GetData ( )
inline

Returns the data class of the HoughTrackFinder.

Definition at line 138 of file PndHoughTrackFinder.h.

138 { return fData; };

◆ GetMapFairLinktoFairHit()

std::map<FairLink, FairHit *> PndHoughTrackFinder::GetMapFairLinktoFairHit ( )
inline

Returns a specific found track candidate.

Returns the number of found track candidates. Returns a map linking FairLinks to the corresponding FairHits.

Definition at line 135 of file PndHoughTrackFinder.h.

References PndHoughData::GetMapFairLinktoFairHit().

135 { return fData->GetMapFairLinktoFairHit(); };
std::map< FairLink, FairHit * > GetMapFairLinktoFairHit() const
Returns the map linking FairLinks to FairHits.
Definition: PndHoughData.h:90

◆ GetMergedTrack()

PndTrack PndHoughTrackFinder::GetMergedTrack ( int  i)
inline

Returns a specific found track.

Definition at line 123 of file PndHoughTrackFinder.h.

References PndHoughMerge::GetMergedTrack().

123 { return fPndHoughMerge->GetMergedTrack(i); };
unsigned int i
Definition: P4_F32vec4.h:21
PndTrack GetMergedTrack(int i)
Returns a specific merged track.
Definition: PndHoughMerge.h:66

◆ GetNumMergedTracks()

int PndHoughTrackFinder::GetNumMergedTracks ( )
inline

Returns the number of found tracks.

Definition at line 126 of file PndHoughTrackFinder.h.

References PndHoughMerge::GetNumMergedTracks().

126 { return fPndHoughMerge->GetNumMergedTracks(); };
int GetNumMergedTracks()
Returns a specific merged track candidate.
Definition: PndHoughMerge.h:70

◆ GetNumPreselectedTrackCands()

int PndHoughTrackFinder::GetNumPreselectedTrackCands ( )
inline

Returns the number of preselected track candidates.

Definition at line 114 of file PndHoughTrackFinder.h.

114 { return fPreselectedTrackCands.size(); };

◆ GetNumPreselectedTrackCircles()

int PndHoughTrackFinder::GetNumPreselectedTrackCircles ( )
inline

Returns the number of preselected circles for track candidates.

Definition at line 120 of file PndHoughTrackFinder.h.

120 { return fPreselectedTrackCircles.size(); };

◆ GetPreselectedTrackCand()

PndTrackCand PndHoughTrackFinder::GetPreselectedTrackCand ( int  i)
inline

Returns a specific preselected track candidate.

Definition at line 111 of file PndHoughTrackFinder.h.

References i.

111 { return fPreselectedTrackCands[i]; };
unsigned int i
Definition: P4_F32vec4.h:21

◆ GetPreselectedTrackCircles()

TVector3 PndHoughTrackFinder::GetPreselectedTrackCircles ( int  i)
inline

Returns a the corresponding circle for a specific preselected track candidate.

Definition at line 117 of file PndHoughTrackFinder.h.

References i.

117 { return fPreselectedTrackCircles[i]; };
unsigned int i
Definition: P4_F32vec4.h:21

◆ Init()

void PndHoughTrackFinder::Init ( )
inline

Initializes the data structure and the Hough space of the HoughtrackFinder.

Definition at line 74 of file PndHoughTrackFinder.h.

References PndHoughData::Init(), and PndSttCA::SetUseGPU().

75  {
76  fData->Init(fNbins1, fNbins2);
77  fCATrackFinder->SetUseGPU(fWithGPU);
78  }
void Init(int NBins1=450, int NBins2=450)
Initializes the Hough space.
Definition: PndHoughData.h:53
void SetUseGPU(Bool_t val)
Definition: PndSttCA.h:49

◆ Preselection()

void PndHoughTrackFinder::Preselection ( )

Here all data are preselected in smaller tracklets.

Referenced by CreateNeighborhood().

◆ Reset()

void PndHoughTrackFinder::Reset ( )
inline

Resets the data for a new event.

Definition at line 81 of file PndHoughTrackFinder.h.

References AddHits(), PndHoughData::clear(), PndSttCA::Reset(), and PndSttCA::SetUseGPU().

82  {
83  fData->clear();
84 
85  fCATrackFinder->SetUseGPU(fWithGPU);
86  fCATrackFinder->Reset();
87 
88  fPreselectedTrackCands.clear();
89  fPreselectedTrackCircles.clear();
90  }
void clear()
Clears all data maps.
Definition: PndHoughData.h:62
void Reset()
Definition: PndSttCA.h:76
void SetUseGPU(Bool_t val)
Definition: PndSttCA.h:49

◆ SetBinningX()

virtual void PndHoughTrackFinder::SetBinningX ( double  bin)
inlinevirtual

Sets the number of bins in x direction for the Hough space.

Definition at line 58 of file PndHoughTrackFinder.h.

58 { fNbins1 = bin; };

◆ SetBinningY()

virtual void PndHoughTrackFinder::SetBinningY ( double  bin)
inlinevirtual

Sets the number of bins in y direction for the Hough space.

Definition at line 60 of file PndHoughTrackFinder.h.

60 { fNbins2 = bin; };

◆ SetBz()

virtual void PndHoughTrackFinder::SetBz ( double  B)
inlinevirtual

Sets the z component of the magnetic field.

Definition at line 64 of file PndHoughTrackFinder.h.

64 { fBz = B; };

◆ SetCombinedSkewed()

virtual void PndHoughTrackFinder::SetCombinedSkewed ( TClonesArray *  skewed)
inlinevirtual

Definition at line 72 of file PndHoughTrackFinder.h.

72 { fCombinedSkewed = skewed; };

◆ SetCutMergeByHoughSpace()

virtual void PndHoughTrackFinder::SetCutMergeByHoughSpace ( float  cut)
inlinevirtual

Sets the cut value for the distance of two maxima in the Hough space which have to be merged.

Definition at line 66 of file PndHoughTrackFinder.h.

References cut.

66 { fCutMergeByHoughSpace = cut; }

◆ SetNBinsSeg()

virtual void PndHoughTrackFinder::SetNBinsSeg ( Int_t  n)
inlinevirtual

Sets the number of bins used for the segmentation preselection algorithm.

Definition at line 62 of file PndHoughTrackFinder.h.

62 { fNBinsSeg = n; };

◆ SetPreselectedTrackCands()

virtual void PndHoughTrackFinder::SetPreselectedTrackCands ( std::vector< PndTrackCand cands)
inlinevirtual

Definition at line 71 of file PndHoughTrackFinder.h.

71 { fPreselectedTrackCands = cands; };

◆ SetWithGhostReduction()

virtual void PndHoughTrackFinder::SetWithGhostReduction ( bool  ghostred)
inlinevirtual

Sets a bool for deciding to use a ghost reduction.

Definition at line 70 of file PndHoughTrackFinder.h.

70 { fWithGhostReduction = ghostred; }

◆ SetWithGPU()

virtual void PndHoughTrackFinder::SetWithGPU ( bool  cuda)
inlinevirtual

Sets a bool for deciding to use cuda.

Definition at line 68 of file PndHoughTrackFinder.h.

68 { fWithGPU = cuda; }

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