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 PndCAGBHit * Hits () const
 
const PndCAGBHit & Hit (int index) const
 
int NHits () const
 
double Time () const
 
double StatTime (int iTimer) const
 
int NTimers () const
 
int StatNEvents () const
 
int NTracks () const
 
PndCAGBTrack * Tracks () const
 
PndCAGBTrack * Tracks ()
 
const PndCAGBTrack & Track (int i) const
 
int * TrackHits () const
 
int * TrackHits ()
 
int TrackHit (int i) const
 
const PndCAParam & GetParameters () const
 
PndCAParam & GetParametersNonConst ()
 
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< PndCAGBHit > fHits
 
int fNHits
 
int * fTrackHits
 
PndCAGBTrack * fTracks
 
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: