FairRoot/PandaRoot
|
Implementation of the QA for the Hough transform based FTS PR. Use this for parameter optimization. More...
#include <PndFtsHoughTrackFinderQA.h>
Public Member Functions | |
PndFtsHoughTrackFinderQA (PndFtsHoughTrackerTask *trackerTask) | |
Set pointer to tracker task (super important as it provides an I/O interface to PandaRoot) More... | |
virtual | ~PndFtsHoughTrackFinderQA () |
Destructor. More... | |
virtual void | FindTracks () |
Performs the track finding. More... | |
void | OverwriteTrackFinderParams (PndFtsHoughTrackFinderParams newParams) |
Int_t | NTracks () const |
PndTrack | GetPndTrack (int i) |
Returns the number of found tracks. More... | |
PndTrackCand | GetPndTrackCand (int i) |
Returns the track cand. with index i. More... | |
PndFtsHoughTrackCand | GetHoughTrack (int i) const |
Returns the track cand. with index i. More... | |
Int_t | getNLinesBeforeDipoleFound () const |
Int_t | getNLinesBehindDipoleFound () const |
Int_t | getNParabolasFound () const |
Int_t | getNTracksFound () const |
Protected Member Functions | |
void | throwError (const TString s) const |
For error reporting. More... | |
Bool_t | FilterTrackletsBasedOnSharedHits (UInt_t maxAcceptableSharedHits, std::vector< PndFtsHoughTracklet > &tracklets) |
Filters a vector of tracklets based on the number of shared hits. More... | |
std::vector< PndFtsHoughTracklet > | FindLinesBehindDipoleZx () |
std::vector< PndFtsHoughTracklet > | FindLinesBeforeDipoleZx () |
void | FindMatchingParabolaToLineBeforeDipoleZxAndAddLineBehindDipole (const std::vector< PndFtsHoughTracklet > &trackletsLineBeforeDipole, const std::vector< PndFtsHoughTracklet > &trackletsLineBehindDipole) |
Bool_t | LineBehindDipoleMatchesToLinePlusParabola (const PndFtsHoughTrackCand &lineParabola, const PndFtsHoughTracklet &lineBehindDipole) const |
void | FindZyLineMatchingToLineParabolaLineInZx () |
Protected Attributes | |
PndFtsHoughTrackerTask * | fTrackerTask |
Task which handles PandaRoot input/output and provides settings for FTS PR. Has to be set using the constructor. More... | |
PndFtsHoughTrackFinderParams | fParams |
std::vector< PndFtsHoughTrackCand > | fHoughTrackCandsComplete |
For internal storing of complete track cands. More... | |
std::vector< PndFtsHoughTrackCand > | fHoughTrackCandsZxPlaneOnly |
For internal storing of track cands. (zx plane track model only) More... | |
const UInt_t | fMinPeakHeightZxLineBeforeDipole |
Minimum required height for peaks in Hough spaces. More... | |
const UInt_t | fMinPeakHeightZxParabola |
Minimum required height for peaks in Hough spaces. More... | |
const UInt_t | fMinPeakHeightZxLineBehindDipole |
Minimum required height for peaks in Hough spaces. More... | |
const UInt_t | fMinPeakHeightZyLine |
zy line More... | |
Int_t | fNLinesBeforeDipoleFound |
Int_t | fNLinesBehindDipoleFound |
Int_t | fNParabolasFound |
Int_t | fNTracksFound |
Static Protected Attributes | |
static const Double_t | fThetaRadLineBehindDipoleMatchesToParabolaIfBelow = 5*TMath::DegToRad() |
Minimum required height for peaks in Hough spaces. More... | |
Private Member Functions | |
ClassDef (PndFtsHoughTrackFinderQA, 1) | |
Implementation of the QA for the Hough transform based FTS PR. Use this for parameter optimization.
Created: 09.02.2014
Definition at line 47 of file PndFtsHoughTrackFinderQA.h.
PndFtsHoughTrackFinderQA::PndFtsHoughTrackFinderQA | ( | PndFtsHoughTrackerTask * | trackerTask | ) |
Set pointer to tracker task (super important as it provides an I/O interface to PandaRoot)
Definition at line 8 of file PndFtsHoughTrackFinderQA.cxx.
References PndFtsHoughTrackFinder::fTrackerTask, and PndFtsHoughTrackerTask::GetVerbose().
|
virtual |
Destructor.
Definition at line 19 of file PndFtsHoughTrackFinderQA.cxx.
References PndFtsHoughTrackerTask::fLogger, PndFtsHoughTrackFinder::fTrackerTask, and PndFtsHoughTrackerTask::GetVerbose().
|
private |
|
protectedinherited |
Filters a vector of tracklets based on the number of shared hits.
It will only keep the heighest peaks if 2 or more peaks share more than maxAcceptableSharedHits hits. If two peaks have the same height, both are kept.
maxAcceptableSharedHits | Defines how many hits two tracklets / peaks are allowed to share. | |
[in,out] | tracklets | Vector containing tracklets which are supposed to be filtered. The vector will be modified. |
Definition at line 372 of file PndFtsHoughTrackFinder.cxx.
References Double_t, PndFtsHoughTrackFinder::fTrackerTask, PndFtsHoughTracklet::getNSharedHits(), PndFtsHoughTracklet::getPeakHeightFromPeakFinder(), and PndFtsHoughTrackerTask::GetVerbose().
|
protectedinherited |
Definition at line 82 of file PndFtsHoughTrackFinder.cxx.
References Double_t, PndFtsHoughSpace::FillHoughSpace(), PndFtsHoughTrackFinder::fMinPeakHeightZxLineBeforeDipole, PndFtsHoughTrackFinder::fParams, PndFtsHoughTrackFinder::fTrackerTask, and PndFtsHoughTrackFinderParams::getZLineParabola().
Referenced by PndFtsHoughTrackFinder::FindTracks().
|
protectedinherited |
Definition at line 40 of file PndFtsHoughTrackFinder.cxx.
References Double_t, PndFtsHoughSpace::FillHoughSpace(), PndFtsHoughTrackFinder::fMinPeakHeightZxLineBehindDipole, PndFtsHoughTrackFinder::fParams, PndFtsHoughTrackFinder::fTrackerTask, and PndFtsHoughTrackFinderParams::getZParabolaLine().
Referenced by PndFtsHoughTrackFinder::FindTracks().
|
protectedinherited |
Definition at line 131 of file PndFtsHoughTrackFinder.cxx.
References Bool_t, Double_t, PndFtsHoughTrackFinder::fHoughTrackCandsZxPlaneOnly, PndFtsHoughSpace::FillHoughSpace(), PndFtsHoughTrackFinder::fMinPeakHeightZxParabola, PndFtsHoughTrackFinder::fParams, PndFtsHoughTrackFinder::fTrackerTask, PndFtsHoughTrackerTask::GetEventNr(), PndFtsHoughTrackFinderParams::getParabolaHwScan(), PndFtsHoughTrackFinderParams::getParabolaNBinsPzxInv(), PndFtsHoughTrackFinderParams::getParabolaQDivPzxArgMax(), PndFtsHoughTrackFinderParams::getParabolaStepsPerThetaDeg(), PndFtsHoughTrackerTask::GetVerbose(), PndFtsHoughTrackFinderParams::getZLineParabola(), PndFtsHoughTrackFinder::LineBehindDipoleMatchesToLinePlusParabola(), PndFtsHoughTrackCand::SetZxLineBeforeDipole(), PndFtsHoughTrackCand::SetZxLineBehindDipole(), and PndFtsHoughTrackCand::SetZxParabola().
Referenced by PndFtsHoughTrackFinder::FindTracks().
|
virtual |
Performs the track finding.
Reimplemented from PndFtsHoughTrackFinder.
Definition at line 25 of file PndFtsHoughTrackFinderQA.cxx.
References PndFtsHoughTrackFinder::FindTracks().
Referenced by PndFtsHoughTrackerTask::Exec().
|
protectedinherited |
Definition at line 236 of file PndFtsHoughTrackFinder.cxx.
References PndFtsHoughTrackFinder::fHoughTrackCandsComplete, PndFtsHoughTrackFinder::fHoughTrackCandsZxPlaneOnly, PndFtsHoughSpace::FillHoughSpace(), PndFtsHoughSpace::FindAllPeaksScanPathsMergeBins(), PndFtsHoughTrackFinder::fMinPeakHeightZyLine, PndFtsHoughTrackFinder::fParams, PndFtsHoughTrackFinder::fTrackerTask, PndFtsHoughTrackerTask::GetVerbose(), PndFtsHoughTrackFinderParams::getZLineParabola(), and PndFtsHoughTrackCand::SetZyLine().
Referenced by PndFtsHoughTrackFinder::FindTracks().
|
inlineinherited |
Returns the track cand. with index i.
Note: For debugging only.
i | Index of requested track cand. |
Definition at line 103 of file PndFtsHoughTrackFinder.h.
References PndFtsHoughTrackFinder::fHoughTrackCandsComplete, and i.
Referenced by PndFtsHoughTrackerTask::Exec().
|
inlineinherited |
Definition at line 106 of file PndFtsHoughTrackFinder.h.
References PndFtsHoughTrackFinder::fNLinesBeforeDipoleFound.
|
inlineinherited |
Definition at line 107 of file PndFtsHoughTrackFinder.h.
References PndFtsHoughTrackFinder::fNLinesBehindDipoleFound.
|
inlineinherited |
Definition at line 108 of file PndFtsHoughTrackFinder.h.
References PndFtsHoughTrackFinder::fNParabolasFound.
Referenced by PndFtsHoughTrackerTaskQA::Exec().
|
inlineinherited |
Definition at line 109 of file PndFtsHoughTrackFinder.h.
References PndFtsHoughTrackFinder::fNTracksFound.
|
inlineinherited |
Returns the number of found tracks.
Returns the track cand. with index i.
Note: Method calculates first and last parameters of the PndTrack object, but uses an empty PndTrackCand which has to be set lateron using SetTrackCandRef!
i | Index of requested track cand. |
Definition at line 89 of file PndFtsHoughTrackFinder.h.
References PndFtsHoughTrackFinder::fHoughTrackCandsComplete, and i.
Referenced by PndFtsHoughTrackerTask::Exec().
|
inlineinherited |
Returns the track cand. with index i.
Note: Use this to add a PndTrackCand to the corresponding PndTrack object with SetTrackCandRef!
i | Index of requested track cand. |
Definition at line 96 of file PndFtsHoughTrackFinder.h.
References PndFtsHoughTrackFinder::fHoughTrackCandsComplete, and i.
Referenced by PndFtsHoughTrackerTask::Exec().
|
inlineprotectedinherited |
Definition at line 189 of file PndFtsHoughTrackFinder.h.
References Double_t, fabs(), PndFtsHoughTrackFinder::fThetaRadLineBehindDipoleMatchesToParabolaIfBelow, PndFtsHoughTracklet::getThetaRadVal(), PndFtsHoughTrackCand::getThetaZyRad(), and PndFtsHoughTracklet::getZRefLabSys().
Referenced by PndFtsHoughTrackFinder::FindMatchingParabolaToLineBeforeDipoleZxAndAddLineBehindDipole().
|
inlineinherited |
Definition at line 82 of file PndFtsHoughTrackFinder.h.
References PndFtsHoughTrackFinder::fHoughTrackCandsComplete.
Referenced by PndFtsHoughTrackerTask::Exec().
|
inlineinherited |
Definition at line 76 of file PndFtsHoughTrackFinder.h.
References PndFtsHoughTrackFinder::fParams.
Referenced by PndFtsHoughTrackerTaskQA::Exec().
|
inlineprotectedinherited |
|
protectedinherited |
For internal storing of complete track cands.
Definition at line 129 of file PndFtsHoughTrackFinder.h.
Referenced by PndFtsHoughTrackFinder::FindTracks(), PndFtsHoughTrackFinder::FindZyLineMatchingToLineParabolaLineInZx(), PndFtsHoughTrackFinder::GetHoughTrack(), PndFtsHoughTrackFinder::GetPndTrack(), PndFtsHoughTrackFinder::GetPndTrackCand(), and PndFtsHoughTrackFinder::NTracks().
|
protectedinherited |
For internal storing of track cands. (zx plane track model only)
Definition at line 130 of file PndFtsHoughTrackFinder.h.
Referenced by PndFtsHoughTrackFinder::FindMatchingParabolaToLineBeforeDipoleZxAndAddLineBehindDipole(), PndFtsHoughTrackFinder::FindTracks(), and PndFtsHoughTrackFinder::FindZyLineMatchingToLineParabolaLineInZx().
|
protectedinherited |
Minimum required height for peaks in Hough spaces.
zx line before dipole field
Definition at line 137 of file PndFtsHoughTrackFinder.h.
Referenced by PndFtsHoughTrackFinder::FindLinesBeforeDipoleZx(), and PndFtsHoughTrackFinder::FindTracks().
|
protectedinherited |
Minimum required height for peaks in Hough spaces.
zx line after dipole field
Definition at line 141 of file PndFtsHoughTrackFinder.h.
Referenced by PndFtsHoughTrackFinder::FindLinesBehindDipoleZx().
|
protectedinherited |
Minimum required height for peaks in Hough spaces.
zx parabola within dipole field
Definition at line 139 of file PndFtsHoughTrackFinder.h.
Referenced by PndFtsHoughTrackFinder::FindMatchingParabolaToLineBeforeDipoleZxAndAddLineBehindDipole(), and PndFtsHoughTrackFinder::FindTracks().
|
protectedinherited |
zy line
Definition at line 143 of file PndFtsHoughTrackFinder.h.
Referenced by PndFtsHoughTrackFinder::FindZyLineMatchingToLineParabolaLineInZx().
|
protectedinherited |
Definition at line 148 of file PndFtsHoughTrackFinder.h.
Referenced by PndFtsHoughTrackFinder::FindTracks(), and PndFtsHoughTrackFinder::getNLinesBeforeDipoleFound().
|
protectedinherited |
Definition at line 149 of file PndFtsHoughTrackFinder.h.
Referenced by PndFtsHoughTrackFinder::FindTracks(), and PndFtsHoughTrackFinder::getNLinesBehindDipoleFound().
|
protectedinherited |
Definition at line 150 of file PndFtsHoughTrackFinder.h.
Referenced by PndFtsHoughTrackFinder::FindTracks(), and PndFtsHoughTrackFinder::getNParabolasFound().
|
protectedinherited |
Definition at line 151 of file PndFtsHoughTrackFinder.h.
Referenced by PndFtsHoughTrackFinder::FindTracks(), and PndFtsHoughTrackFinder::getNTracksFound().
|
protectedinherited |
Definition at line 117 of file PndFtsHoughTrackFinder.h.
Referenced by PndFtsHoughTrackFinder::FindLinesBeforeDipoleZx(), PndFtsHoughTrackFinder::FindLinesBehindDipoleZx(), PndFtsHoughTrackFinder::FindMatchingParabolaToLineBeforeDipoleZxAndAddLineBehindDipole(), PndFtsHoughTrackFinder::FindZyLineMatchingToLineParabolaLineInZx(), and PndFtsHoughTrackFinder::OverwriteTrackFinderParams().
|
staticprotectedinherited |
Minimum required height for peaks in Hough spaces.
Definition at line 134 of file PndFtsHoughTrackFinder.h.
Referenced by PndFtsHoughTrackFinder::LineBehindDipoleMatchesToLinePlusParabola().
|
protectedinherited |
Task which handles PandaRoot input/output and provides settings for FTS PR. Has to be set using the constructor.
Definition at line 109 of file PndFtsHoughTrackFinder.h.
Referenced by PndFtsHoughTrackFinder::FilterTrackletsBasedOnSharedHits(), PndFtsHoughTrackFinder::FindLinesBeforeDipoleZx(), PndFtsHoughTrackFinder::FindLinesBehindDipoleZx(), PndFtsHoughTrackFinder::FindMatchingParabolaToLineBeforeDipoleZxAndAddLineBehindDipole(), PndFtsHoughTrackFinder::FindTracks(), PndFtsHoughTrackFinder::FindZyLineMatchingToLineParabolaLineInZx(), PndFtsHoughTrackFinder::PndFtsHoughTrackFinder(), PndFtsHoughTrackFinderQA(), PndFtsHoughTrackFinder::~PndFtsHoughTrackFinder(), and ~PndFtsHoughTrackFinderQA().