PandaRoot
PndCAGBTracker Class Reference

#include <PndCAGBTracker.h>

Public Types

enum  { kFastPrimIter, kAllPrimIter, kAllPrimJumpIter, kAllSecIter }
 

Public Member Functions

 PndCAGBTracker ()
 
 ~PndCAGBTracker ()
 
void Init ()
 
void StartEvent ()
 
void SetNSlices (int N)
 
const PndCAGBHitHits () const
 
const PndCAGBHitHit (int index) const
 
int NHits () const
 
double Time () const
 
double StatTime (int iTimer) const
 
int NTimers () const
 
int StatNEvents () const
 
int NTracks () const
 
PndCAGBTrackTracks () const
 
PndCAGBTrackTracks ()
 
const PndCAGBTrackTrack (int i) const
 
int * TrackHits () const
 
int * TrackHits ()
 
int TrackHit (int i) const
 
const PndCAParamGetParameters () const
 
PndCAParamGetParametersNonConst ()
 
int NStations () const
 
void WriteSettings (std::ostream &out) const
 
void ReadSettings (std::istringstream &in)
 
void WriteEvent (FILE *out) const
 
void SaveHitsInFile (string prefix) const
 
bool SaveTracksInFile (string prefix) const
 
bool ReadHitsFromFile (string prefix)
 
double SliceTrackerTime () const
 
double SliceTrackerCpuTime () const
 
void StoreToFile (const char *filename) const
 
void RestoreFromFile (FILE *f)
 
void SetHits (std::vector< PndCAGBHit > &hits)
 
int GetHitsSize () const
 
void FindTracks ()
 
void CATrackFinder ()
 
void Create1Plets (const PndCATarget &target, const PndCAHits &hits, PndCAElementsOnStation< PndCANPletV > &singlets, int iStation)
 
void PickUpHits (PndCAElementsOnStation< PndCANPletV > &a, PndCAElementsOnStation< PndCANPletV > &r, int iS)
 
void CreateNPlets (const PndCATarget &target, const PndCAHits &hits, PndCAElementsOnStation< PndCANPletV > &triplets, int iStation, int cellLength)
 
void FindNeighbours (PndCANPlets &triplets)
 
void CreateTracks (const PndCANPlets &triplets, PndCATracks &tracks)
 
void InvertCholetsky (float a[15]) const
 
void MultiplySS (float const C[15], float const V[15], float K[5][5]) const
 
void MultiplyMS (float const C[5][5], float const V[15], float K[15]) const
 
void MultiplySR (float const C[15], float const r_in[5], float r_out[5]) const
 
void FilterTracks (float const r[5], float const C[15], float const m[5], float const V[15], float R[5], float W[15], float &chi2) const
 
void Merge (PndCATracks &tracks)
 
void FindBestCandidate (int ista, PndCATrack &best_tr, int currITrip, PndCATrack &curr_tr, unsigned char min_best_l, const PndCANPlets &triplets, unsigned int &nCalls)
 

Public Attributes

int fFindIter
 
PndCATarget fTarget
 
float fMaxInvMom
 
float fPick_m
 
float fPick_r
 
float fPick
 
float fPickNeighbour
 
float TRACK_PROB_CUT
 
float TRACK_CHI2_CUT
 
float_v TRIPLET_CHI2_CUT
 
float fMaxDX0
 

Protected Attributes

vector< PndCAGBHitfHits
 
int fNHits
 
int * fTrackHits
 
PndCAGBTrackfTracks
 
int fNTracks
 
double fTime
 
double fStatTime [fNTimers]
 
int fStatNEvents
 
double fSliceTrackerTime
 
double fSliceTrackerCpuTime
 
PndCATFIterTimerInfo fGTi
 
PndCATFTimerInfo fTi
 
PndCATFIterTimerInfo fStatGTi
 
PndCATFTimerInfo fStatTi
 
PndCAParam fParameters
 
PndCAStationSTT fStations [50]
 

Static Protected Attributes

static const int fNTimers = 25
 

Friends

class PndCAPerformance
 Try to group close hits in row formed by one track. After sort hits. More...
 

Detailed Description

Definition at line 45 of file PndCAGBTracker.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
kFastPrimIter 
kAllPrimIter 
kAllPrimJumpIter 
kAllSecIter 

Definition at line 128 of file PndCAGBTracker.h.

128  {
129  kFastPrimIter, // primary fast tracks
130  kAllPrimIter, // primary all tracks
131  kAllPrimJumpIter, // primary tracks with jumped triplets
132  kAllSecIter // secondary all tracks
133  };

Constructor & Destructor Documentation

◆ PndCAGBTracker()

PndCAGBTracker::PndCAGBTracker ( )

◆ ~PndCAGBTracker()

PndCAGBTracker::~PndCAGBTracker ( )

Member Function Documentation

◆ CATrackFinder()

void PndCAGBTracker::CATrackFinder ( )

Referenced by GetHitsSize().

◆ Create1Plets()

void PndCAGBTracker::Create1Plets ( const PndCATarget target,
const PndCAHits hits,
PndCAElementsOnStation< PndCANPletV > &  singlets,
int  iStation 
)

Referenced by GetHitsSize().

◆ CreateNPlets()

void PndCAGBTracker::CreateNPlets ( const PndCATarget target,
const PndCAHits hits,
PndCAElementsOnStation< PndCANPletV > &  triplets,
int  iStation,
int  cellLength 
)

Referenced by GetHitsSize().

◆ CreateTracks()

void PndCAGBTracker::CreateTracks ( const PndCANPlets triplets,
PndCATracks tracks 
)

Referenced by GetHitsSize().

◆ FilterTracks()

void PndCAGBTracker::FilterTracks ( float const  r[5],
float const  C[15],
float const  m[5],
float const  V[15],
float  R[5],
float  W[15],
float &  chi2 
) const

Referenced by GetHitsSize().

◆ FindBestCandidate()

void PndCAGBTracker::FindBestCandidate ( int  ista,
PndCATrack best_tr,
int  currITrip,
PndCATrack curr_tr,
unsigned char  min_best_l,
const PndCANPlets triplets,
unsigned int &  nCalls 
)

Referenced by GetHitsSize().

◆ FindNeighbours()

void PndCAGBTracker::FindNeighbours ( PndCANPlets triplets)

Referenced by GetHitsSize().

◆ FindTracks()

void PndCAGBTracker::FindTracks ( )

Referenced by GetHitsSize().

◆ GetHitsSize()

int PndCAGBTracker::GetHitsSize ( ) const
inline

◆ GetParameters()

const PndCAParam& PndCAGBTracker::GetParameters ( ) const
inline

Definition at line 77 of file PndCAGBTracker.h.

References fParameters.

77 { return fParameters; }
PndCAParam fParameters

◆ GetParametersNonConst()

PndCAParam& PndCAGBTracker::GetParametersNonConst ( )
inline

Definition at line 78 of file PndCAGBTracker.h.

References fParameters.

78 { return fParameters; }
PndCAParam fParameters

◆ Hit()

const PndCAGBHit& PndCAGBTracker::Hit ( int  index) const
inline

Definition at line 55 of file PndCAGBTracker.h.

References fHits, and fNHits.

56  {
57  if (index < 0 || index >= (int)fHits.size()) {
58  cout << "error hit index ind " << index << " size " << fHits.size() << " nHits " << fNHits << endl;
59  exit(0);
60  }
61  return fHits[index];
62  }
vector< PndCAGBHit > fHits

◆ Hits()

const PndCAGBHit* PndCAGBTracker::Hits ( ) const
inline

Definition at line 54 of file PndCAGBTracker.h.

References fHits.

54 { return &fHits[0]; }
vector< PndCAGBHit > fHits

◆ Init()

void PndCAGBTracker::Init ( )

◆ InvertCholetsky()

void PndCAGBTracker::InvertCholetsky ( float  a[15]) const

Referenced by GetHitsSize().

◆ Merge()

void PndCAGBTracker::Merge ( PndCATracks tracks)

Referenced by GetHitsSize().

◆ MultiplyMS()

void PndCAGBTracker::MultiplyMS ( float const  C[5][5],
float const  V[15],
float  K[15] 
) const

Referenced by GetHitsSize().

◆ MultiplySR()

void PndCAGBTracker::MultiplySR ( float const  C[15],
float const  r_in[5],
float  r_out[5] 
) const

Referenced by GetHitsSize().

◆ MultiplySS()

void PndCAGBTracker::MultiplySS ( float const  C[15],
float const  V[15],
float  K[5][5] 
) const

Referenced by GetHitsSize().

◆ NHits()

int PndCAGBTracker::NHits ( ) const
inline

Definition at line 64 of file PndCAGBTracker.h.

References fNHits.

64 { return fNHits; }

◆ NStations()

int PndCAGBTracker::NStations ( ) const
inline

◆ NTimers()

int PndCAGBTracker::NTimers ( ) const
inline

Definition at line 67 of file PndCAGBTracker.h.

References fNTimers.

67 { return fNTimers; }
static const int fNTimers

◆ NTracks()

int PndCAGBTracker::NTracks ( ) const
inline

Definition at line 69 of file PndCAGBTracker.h.

References fNTracks.

69 { return fNTracks; }

◆ PickUpHits()

void PndCAGBTracker::PickUpHits ( PndCAElementsOnStation< PndCANPletV > &  a,
PndCAElementsOnStation< PndCANPletV > &  r,
int  iS 
)

Referenced by GetHitsSize().

◆ ReadHitsFromFile()

bool PndCAGBTracker::ReadHitsFromFile ( string  prefix)

Referenced by NStations().

◆ ReadSettings()

void PndCAGBTracker::ReadSettings ( std::istringstream &  in)

Referenced by NStations().

◆ RestoreFromFile()

void PndCAGBTracker::RestoreFromFile ( FILE *  f)

Referenced by SliceTrackerCpuTime().

◆ SaveHitsInFile()

void PndCAGBTracker::SaveHitsInFile ( string  prefix) const

Referenced by NStations().

◆ SaveTracksInFile()

bool PndCAGBTracker::SaveTracksInFile ( string  prefix) const

Referenced by NStations().

◆ SetHits()

void PndCAGBTracker::SetHits ( std::vector< PndCAGBHit > &  hits)

Referenced by SliceTrackerCpuTime().

◆ SetNSlices()

void PndCAGBTracker::SetNSlices ( int  N)

◆ SliceTrackerCpuTime()

double PndCAGBTracker::SliceTrackerCpuTime ( ) const
inline

Definition at line 95 of file PndCAGBTracker.h.

References f, fSliceTrackerCpuTime, RestoreFromFile(), SetHits(), and StoreToFile().

95 { return fSliceTrackerCpuTime; }
double fSliceTrackerCpuTime

◆ SliceTrackerTime()

double PndCAGBTracker::SliceTrackerTime ( ) const
inline

Definition at line 94 of file PndCAGBTracker.h.

References fSliceTrackerTime.

94 { return fSliceTrackerTime; }
double fSliceTrackerTime

◆ StartEvent()

void PndCAGBTracker::StartEvent ( )

◆ StatNEvents()

int PndCAGBTracker::StatNEvents ( ) const
inline

Definition at line 68 of file PndCAGBTracker.h.

References fStatNEvents.

68 { return fStatNEvents; }

◆ StatTime()

double PndCAGBTracker::StatTime ( int  iTimer) const
inline

Definition at line 66 of file PndCAGBTracker.h.

References fStatTime.

66 { return fStatTime[iTimer]; }
double fStatTime[fNTimers]

◆ StoreToFile()

void PndCAGBTracker::StoreToFile ( const char *  filename) const

Referenced by SliceTrackerCpuTime().

◆ Time()

double PndCAGBTracker::Time ( ) const
inline

Definition at line 65 of file PndCAGBTracker.h.

References fTime.

65 { return fTime; }

◆ Track()

const PndCAGBTrack& PndCAGBTracker::Track ( int  i) const
inline

Definition at line 72 of file PndCAGBTracker.h.

References fTracks, and i.

72 { return fTracks[i]; }
unsigned int i
Definition: P4_F32vec4.h:21
PndCAGBTrack * fTracks

◆ TrackHit()

int PndCAGBTracker::TrackHit ( int  i) const
inline

Definition at line 75 of file PndCAGBTracker.h.

References fTrackHits, and i.

75 { return fTrackHits[i]; }
unsigned int i
Definition: P4_F32vec4.h:21

◆ TrackHits() [1/2]

int* PndCAGBTracker::TrackHits ( ) const
inline

Definition at line 73 of file PndCAGBTracker.h.

References fTrackHits.

73 { return fTrackHits; }

◆ TrackHits() [2/2]

int* PndCAGBTracker::TrackHits ( )
inline

Definition at line 74 of file PndCAGBTracker.h.

References fTrackHits.

74 { return fTrackHits; }

◆ Tracks() [1/2]

PndCAGBTrack* PndCAGBTracker::Tracks ( ) const
inline

Definition at line 70 of file PndCAGBTracker.h.

References fTracks.

70 { return fTracks; }
PndCAGBTrack * fTracks

◆ Tracks() [2/2]

PndCAGBTrack* PndCAGBTracker::Tracks ( )
inline

Definition at line 71 of file PndCAGBTracker.h.

References fTracks.

71 { return fTracks; }
PndCAGBTrack * fTracks

◆ WriteEvent()

void PndCAGBTracker::WriteEvent ( FILE *  out) const

Referenced by NStations().

◆ WriteSettings()

void PndCAGBTracker::WriteSettings ( std::ostream &  out) const

Referenced by NStations().

Friends And Related Function Documentation

◆ PndCAPerformance

friend class PndCAPerformance
friend

Try to group close hits in row formed by one track. After sort hits.

Definition at line 148 of file PndCAGBTracker.h.

Member Data Documentation

◆ fFindIter

int PndCAGBTracker::fFindIter

Definition at line 134 of file PndCAGBTracker.h.

◆ fGTi

PndCATFIterTimerInfo PndCAGBTracker::fGTi
protected

Definition at line 164 of file PndCAGBTracker.h.

◆ fHits

vector<PndCAGBHit> PndCAGBTracker::fHits
protected

Definition at line 150 of file PndCAGBTracker.h.

Referenced by GetHitsSize(), Hit(), and Hits().

◆ fMaxDX0

float PndCAGBTracker::fMaxDX0

Definition at line 145 of file PndCAGBTracker.h.

◆ fMaxInvMom

float PndCAGBTracker::fMaxInvMom

Definition at line 137 of file PndCAGBTracker.h.

◆ fNHits

int PndCAGBTracker::fNHits
protected

Definition at line 151 of file PndCAGBTracker.h.

Referenced by Hit(), and NHits().

◆ fNTimers

const int PndCAGBTracker::fNTimers = 25
staticprotected

Definition at line 158 of file PndCAGBTracker.h.

Referenced by NTimers().

◆ fNTracks

int PndCAGBTracker::fNTracks
protected

Definition at line 155 of file PndCAGBTracker.h.

Referenced by NTracks().

◆ fParameters

PndCAParam PndCAGBTracker::fParameters
protected

Definition at line 169 of file PndCAGBTracker.h.

Referenced by GetParameters(), GetParametersNonConst(), and NStations().

◆ fPick

float PndCAGBTracker::fPick

Definition at line 138 of file PndCAGBTracker.h.

◆ fPick_m

float PndCAGBTracker::fPick_m

Definition at line 138 of file PndCAGBTracker.h.

◆ fPick_r

float PndCAGBTracker::fPick_r

Definition at line 138 of file PndCAGBTracker.h.

◆ fPickNeighbour

float PndCAGBTracker::fPickNeighbour

Definition at line 141 of file PndCAGBTracker.h.

◆ fSliceTrackerCpuTime

double PndCAGBTracker::fSliceTrackerCpuTime
protected

Definition at line 163 of file PndCAGBTracker.h.

Referenced by SliceTrackerCpuTime().

◆ fSliceTrackerTime

double PndCAGBTracker::fSliceTrackerTime
protected

Definition at line 162 of file PndCAGBTracker.h.

Referenced by SliceTrackerTime().

◆ fStatGTi

PndCATFIterTimerInfo PndCAGBTracker::fStatGTi
protected

Definition at line 166 of file PndCAGBTracker.h.

◆ fStations

PndCAStationSTT PndCAGBTracker::fStations[50]
protected

Definition at line 170 of file PndCAGBTracker.h.

◆ fStatNEvents

int PndCAGBTracker::fStatNEvents
protected

Definition at line 160 of file PndCAGBTracker.h.

Referenced by StatNEvents().

◆ fStatTi

PndCATFTimerInfo PndCAGBTracker::fStatTi
protected

Definition at line 167 of file PndCAGBTracker.h.

◆ fStatTime

double PndCAGBTracker::fStatTime[fNTimers]
protected

Definition at line 159 of file PndCAGBTracker.h.

Referenced by StatTime().

◆ fTarget

PndCATarget PndCAGBTracker::fTarget

Definition at line 136 of file PndCAGBTracker.h.

◆ fTi

PndCATFTimerInfo PndCAGBTracker::fTi
protected

Definition at line 165 of file PndCAGBTracker.h.

◆ fTime

double PndCAGBTracker::fTime
protected

Definition at line 157 of file PndCAGBTracker.h.

Referenced by Time().

◆ fTrackHits

int* PndCAGBTracker::fTrackHits
protected

Definition at line 153 of file PndCAGBTracker.h.

Referenced by TrackHit(), and TrackHits().

◆ fTracks

PndCAGBTrack* PndCAGBTracker::fTracks
protected

Definition at line 154 of file PndCAGBTracker.h.

Referenced by Track(), and Tracks().

◆ TRACK_CHI2_CUT

float PndCAGBTracker::TRACK_CHI2_CUT

Definition at line 143 of file PndCAGBTracker.h.

◆ TRACK_PROB_CUT

float PndCAGBTracker::TRACK_PROB_CUT

Definition at line 142 of file PndCAGBTracker.h.

◆ TRIPLET_CHI2_CUT

float_v PndCAGBTracker::TRIPLET_CHI2_CUT

Definition at line 144 of file PndCAGBTracker.h.


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