ATLAS Offline Software
Classes | Public Member Functions | Private Attributes | List of all members
eflowRecTrack Class Reference

This class extends the information about a xAOD::Track. More...

#include <eflowRecTrack.h>

Collaboration diagram for eflowRecTrack:

Classes

class  SortDescendingPt
 

Public Member Functions

 eflowRecTrack (const ElementLink< xAOD::TrackParticleContainer > &trackElemLink, const ToolHandle< eflowTrackExtrapolatorBaseAlgTool > &theTrackExtrapolatorTool)
 
 eflowRecTrack (const eflowRecTrack &originalEflowRecTrack)
 
eflowRecTrackoperator= (const eflowRecTrack &originalEflowRecTrack)
 
virtual ~eflowRecTrack ()
 
const xAOD::TrackParticlegetTrack () const
 
const eflowTrackCaloPointsgetTrackCaloPoints () const
 
ElementLink< xAOD::TrackParticleContainergetTrackElemLink () const
 
void addClusterMatch (eflowTrackClusterLink *clusterMatch)
 
void addDeltaRPrime (const float &dRPrime)
 
void addAlternativeClusterMatch (eflowTrackClusterLink *clusterMatch, const std::string &key)
 
eflowRingSubtractionManagergetCellSubtractionManager ()
 
int getType () const
 
const std::vector< eflowTrackClusterLink * > & getClusterMatches () const
 
const std::vector< float > & getDRPrimes () const
 
void clearClusterMatches ()
 
const std::vector< eflowTrackClusterLink * > * getAlternativeClusterMatches (const std::string &key) const
 
bool hasBin () const
 
void setHasBin (bool hasBin)
 
void setCaloDepthArray (const double *depthArray)
 
const std::vector< double > & getCaloDepthArray () const
 
bool isSubtracted () const
 
void setSubtracted ()
 
void setEExpect (double eExpect, double varEExpect)
 
double getEExpect () const
 
double getVarEExpect () const
 
int getTrackId () const
 
void setTrackId (int trackId)
 
int getLayerHED () const
 
void setLayerHED (int layerHED)
 
const std::vector< int > & getLayerCellOrderVector () const
 
void setLayerCellOrderVector (const std::vector< int > &layerToStoreVector)
 
const std::vector< float > & getRadiusCellOrderVector () const
 
void setRadiusCellOrderVector (const std::vector< float > &radiusToStoreVector)
 
const std::vector< float > & getAvgEDensityCellOrderVector () const
 
void setAvgEDensityCellOrderVector (const std::vector< float > &avgEdensityToStoreVector)
 
bool isInDenseEnvironment () const
 
void setIsInDenseEnvironment ()
 
bool isRecovered () const
 
void setIsRecovered ()
 
void setpull15 (double pull15)
 
double getpull15 () const
 

Private Attributes

int m_trackId
 
ElementLink< xAOD::TrackParticleContainerm_trackElemLink
 
const xAOD::TrackParticlem_track
 
int m_type
 
double m_pull15
 
int m_layerHED {}
 
std::vector< int > m_layerCellOrderVector
 
std::vector< float > m_radiusCellOrderVector
 
std::vector< float > m_avgEdensityCellOrderVector
 
double m_eExpect
 
double m_varEExpect
 
bool m_isInDenseEnvironment
 
bool m_isSubtracted
 
bool m_isRecovered
 Tells us whether this track underwent split shower revovery. More...
 
bool m_hasBin
 
std::vector< double > m_caloDepthArray
 
std::unique_ptr< eflowTrackCaloPointsm_trackCaloPoints
 
eflowRingSubtractionManager m_ringSubtractionManager
 
std::vector< eflowTrackClusterLink * > m_clusterMatches
 
std::vector< float > m_deltaRPrimes
 List of distance measurements between track and cluster used in first pass matching - i.e dRPrime. More...
 
std::map< std::string, std::vector< eflowTrackClusterLink * > > m_alternativeClusterMatches
 
IMessageSvc * m_msgSvc {}
 
std::unique_ptr< MsgStream > m_mlog
 

Detailed Description

This class extends the information about a xAOD::Track.

It stores an ElementLink to a track, a raw pointer to that track, the expected energy deposit (mean and width of the reference distribution) of the track in the calorimeter, the pull15 variable (used to decide whether to run the charged shower subtraction or not), a bool to tag whether this track is in an energy dense calorimeter environment (if it is, then the charged shower subtraction is not run for that track), a bool to signify if the track has already had its shower removed from the calorimeter clusters and a bool to signify if we found a reference e/p bin (which depends on the track eta,pt and LHED). In addition to these variables we store a pointer to an eflowTrackCaloPoints object, a reference to an eflowRingSubtractionManager object and a vector of pointers to eflowTrackClusterLink. There is also an option to store additional vectors in a map using a string as a key (this allows us to store sets of eflowTrackClusterLink for multiple track-cluster matching schemes).

Definition at line 45 of file eflowRecTrack.h.

Constructor & Destructor Documentation

◆ eflowRecTrack() [1/2]

eflowRecTrack::eflowRecTrack ( const ElementLink< xAOD::TrackParticleContainer > &  trackElemLink,
const ToolHandle< eflowTrackExtrapolatorBaseAlgTool > &  theTrackExtrapolatorTool 
)

Definition at line 20 of file eflowRecTrack.cxx.

22  :
23  m_trackId(-1), m_trackElemLink(trackElemLink), m_track(*trackElemLink), m_type(5),
24  m_pull15(0.0),
25  m_layerHED(-1),
26  m_eExpect(1.0),
27  m_varEExpect(0.0),
29  m_isSubtracted(false),
30  m_isRecovered(false),
31  m_hasBin(true),
32  m_trackCaloPoints(theTrackExtrapolatorTool->execute(m_track))
33 {
34  ISvcLocator* svcLoc = Gaudi::svcLocator();
35  StatusCode status = svcLoc->service( "MessageSvc", m_msgSvc );
36  if ( status.isSuccess( ) ) m_mlog = std::make_unique<MsgStream>(m_msgSvc,"eflowRecTrack");
37  else m_mlog = nullptr;
38 }

◆ eflowRecTrack() [2/2]

eflowRecTrack::eflowRecTrack ( const eflowRecTrack originalEflowRecTrack)

Definition at line 40 of file eflowRecTrack.cxx.

53  m_trackCaloPoints (std::make_unique<eflowTrackCaloPoints>(*eflowRecTrack.m_trackCaloPoints))
54 {
55  ISvcLocator* svcLoc = Gaudi::svcLocator();
56  StatusCode status = svcLoc->service( "MessageSvc", m_msgSvc );
57  if ( status.isSuccess( ) ) m_mlog = std::make_unique<MsgStream>(m_msgSvc,"eflowRecTrack");
58  else m_mlog = nullptr;
59 }

◆ ~eflowRecTrack()

eflowRecTrack::~eflowRecTrack ( )
virtualdefault

Member Function Documentation

◆ addAlternativeClusterMatch()

void eflowRecTrack::addAlternativeClusterMatch ( eflowTrackClusterLink clusterMatch,
const std::string &  key 
)
inline

Definition at line 60 of file eflowRecTrack.h.

60 { m_alternativeClusterMatches[key].push_back(clusterMatch); }

◆ addClusterMatch()

void eflowRecTrack::addClusterMatch ( eflowTrackClusterLink clusterMatch)
inline

Definition at line 58 of file eflowRecTrack.h.

58 { m_clusterMatches.push_back(clusterMatch); }

◆ addDeltaRPrime()

void eflowRecTrack::addDeltaRPrime ( const float &  dRPrime)
inline

Definition at line 59 of file eflowRecTrack.h.

59 { m_deltaRPrimes.push_back(dRPrime);}

◆ clearClusterMatches()

void eflowRecTrack::clearClusterMatches ( )
inline

Definition at line 69 of file eflowRecTrack.h.

69 { m_clusterMatches.clear(); m_deltaRPrimes.clear(); }

◆ getAlternativeClusterMatches()

const std::vector< eflowTrackClusterLink * > * eflowRecTrack::getAlternativeClusterMatches ( const std::string &  key) const

Definition at line 92 of file eflowRecTrack.cxx.

92  {
93 
94  std::map<std::string,std::vector<eflowTrackClusterLink*> >::const_iterator thisIterator = m_alternativeClusterMatches.find(key);
95  if (thisIterator != m_alternativeClusterMatches.end()) return &m_alternativeClusterMatches.at(key);
96  else return nullptr;
97 
98  return nullptr;
99 
100 }

◆ getAvgEDensityCellOrderVector()

const std::vector<float>& eflowRecTrack::getAvgEDensityCellOrderVector ( ) const
inline

Definition at line 112 of file eflowRecTrack.h.

◆ getCaloDepthArray()

const std::vector<double>& eflowRecTrack::getCaloDepthArray ( ) const
inline

Definition at line 77 of file eflowRecTrack.h.

77 { return m_caloDepthArray; }

◆ getCellSubtractionManager()

eflowRingSubtractionManager& eflowRecTrack::getCellSubtractionManager ( )
inline

Definition at line 62 of file eflowRecTrack.h.

62 { return m_ringSubtractionManager; }

◆ getClusterMatches()

const std::vector<eflowTrackClusterLink*>& eflowRecTrack::getClusterMatches ( ) const
inline

Definition at line 66 of file eflowRecTrack.h.

66 { return m_clusterMatches; }

◆ getDRPrimes()

const std::vector<float>& eflowRecTrack::getDRPrimes ( ) const
inline

Definition at line 67 of file eflowRecTrack.h.

67 { return m_deltaRPrimes;}

◆ getEExpect()

double eflowRecTrack::getEExpect ( ) const
inline

Definition at line 97 of file eflowRecTrack.h.

97 { return m_eExpect; }

◆ getLayerCellOrderVector()

const std::vector<int>& eflowRecTrack::getLayerCellOrderVector ( ) const
inline

Definition at line 106 of file eflowRecTrack.h.

106 { return m_layerCellOrderVector; }

◆ getLayerHED()

int eflowRecTrack::getLayerHED ( ) const
inline

Definition at line 103 of file eflowRecTrack.h.

103 { return m_layerHED; }

◆ getpull15()

double eflowRecTrack::getpull15 ( ) const
inline

Definition at line 123 of file eflowRecTrack.h.

123 { return m_pull15; }

◆ getRadiusCellOrderVector()

const std::vector<float>& eflowRecTrack::getRadiusCellOrderVector ( ) const
inline

Definition at line 109 of file eflowRecTrack.h.

109 { return m_radiusCellOrderVector; }

◆ getTrack()

const xAOD::TrackParticle* eflowRecTrack::getTrack ( ) const
inline

Definition at line 53 of file eflowRecTrack.h.

53 { return m_track; }

◆ getTrackCaloPoints()

const eflowTrackCaloPoints& eflowRecTrack::getTrackCaloPoints ( ) const
inline

Definition at line 55 of file eflowRecTrack.h.

55 { return *m_trackCaloPoints; }

◆ getTrackElemLink()

ElementLink<xAOD::TrackParticleContainer> eflowRecTrack::getTrackElemLink ( ) const
inline

Definition at line 57 of file eflowRecTrack.h.

57 { return m_trackElemLink; }

◆ getTrackId()

int eflowRecTrack::getTrackId ( ) const
inline

Definition at line 99 of file eflowRecTrack.h.

99 { return m_trackId; }

◆ getType()

int eflowRecTrack::getType ( ) const
inline

Definition at line 64 of file eflowRecTrack.h.

64 { return m_type; }

◆ getVarEExpect()

double eflowRecTrack::getVarEExpect ( ) const
inline

Definition at line 98 of file eflowRecTrack.h.

98 { return m_varEExpect; }

◆ hasBin()

bool eflowRecTrack::hasBin ( ) const
inline

Definition at line 73 of file eflowRecTrack.h.

73 { return m_hasBin; }

◆ isInDenseEnvironment()

bool eflowRecTrack::isInDenseEnvironment ( ) const
inline

Definition at line 116 of file eflowRecTrack.h.

116 { return m_isInDenseEnvironment;}

◆ isRecovered()

bool eflowRecTrack::isRecovered ( ) const
inline

Definition at line 119 of file eflowRecTrack.h.

119 { return m_isRecovered;}

◆ isSubtracted()

bool eflowRecTrack::isSubtracted ( ) const
inline

Definition at line 79 of file eflowRecTrack.h.

79 { return m_isSubtracted; }

◆ operator=()

eflowRecTrack & eflowRecTrack::operator= ( const eflowRecTrack originalEflowRecTrack)

Definition at line 61 of file eflowRecTrack.cxx.

61  {
62  if (this == &originalEflowRecTrack) return *this;
63  //if not assigning to self, then we copy the data to the new object
64  else{
65  m_trackId = originalEflowRecTrack.m_trackId;
66  m_trackElemLink = originalEflowRecTrack.m_trackElemLink;
68  m_type = originalEflowRecTrack.m_type;
69  m_pull15 = originalEflowRecTrack.m_pull15;
70  m_eExpect = originalEflowRecTrack.m_eExpect;
71  m_varEExpect = originalEflowRecTrack.m_varEExpect;
72  m_isInDenseEnvironment = originalEflowRecTrack.m_isInDenseEnvironment;
73  m_isSubtracted = originalEflowRecTrack.m_isSubtracted;
74  m_isRecovered = originalEflowRecTrack.m_isRecovered;
75  m_hasBin = originalEflowRecTrack.m_hasBin;
76  m_trackCaloPoints = std::make_unique<eflowTrackCaloPoints>(*originalEflowRecTrack.m_trackCaloPoints);
77  ISvcLocator* svcLoc = Gaudi::svcLocator();
78  StatusCode status = svcLoc->service( "MessageSvc", m_msgSvc );
79  if ( status.isSuccess( ) ) m_mlog = std::make_unique<MsgStream>(m_msgSvc,"eflowRecTrack");
80  else m_mlog = nullptr;
81  m_layerHED = originalEflowRecTrack.m_layerHED;
82  return *this;
83  }//if not assigning to self, then we have copied the data to the new object
84 }

◆ setAvgEDensityCellOrderVector()

void eflowRecTrack::setAvgEDensityCellOrderVector ( const std::vector< float > &  avgEdensityToStoreVector)
inline

Definition at line 113 of file eflowRecTrack.h.

113 { m_avgEdensityCellOrderVector = avgEdensityToStoreVector; }

◆ setCaloDepthArray()

void eflowRecTrack::setCaloDepthArray ( const double *  depthArray)

Definition at line 88 of file eflowRecTrack.cxx.

88  {
89  m_caloDepthArray.assign(depthArray, depthArray + eflowDepthCalculator::NDepth() + 1);
90 }

◆ setEExpect()

void eflowRecTrack::setEExpect ( double  eExpect,
double  varEExpect 
)
inline

Definition at line 96 of file eflowRecTrack.h.

96 { m_eExpect = eExpect; m_varEExpect = varEExpect; }

◆ setHasBin()

void eflowRecTrack::setHasBin ( bool  hasBin)
inline

Definition at line 74 of file eflowRecTrack.h.

74 { m_hasBin = hasBin; }

◆ setIsInDenseEnvironment()

void eflowRecTrack::setIsInDenseEnvironment ( )
inline

Definition at line 117 of file eflowRecTrack.h.

117 { m_isInDenseEnvironment = true; }

◆ setIsRecovered()

void eflowRecTrack::setIsRecovered ( )
inline

Definition at line 120 of file eflowRecTrack.h.

120 { m_isRecovered= true; }

◆ setLayerCellOrderVector()

void eflowRecTrack::setLayerCellOrderVector ( const std::vector< int > &  layerToStoreVector)
inline

Definition at line 107 of file eflowRecTrack.h.

107 { m_layerCellOrderVector = layerToStoreVector; }

◆ setLayerHED()

void eflowRecTrack::setLayerHED ( int  layerHED)
inline

Definition at line 104 of file eflowRecTrack.h.

104 { m_layerHED = layerHED; }

◆ setpull15()

void eflowRecTrack::setpull15 ( double  pull15)
inline

Definition at line 122 of file eflowRecTrack.h.

122 { m_pull15 = pull15; }

◆ setRadiusCellOrderVector()

void eflowRecTrack::setRadiusCellOrderVector ( const std::vector< float > &  radiusToStoreVector)
inline

Definition at line 110 of file eflowRecTrack.h.

110 { m_radiusCellOrderVector = radiusToStoreVector; }

◆ setSubtracted()

void eflowRecTrack::setSubtracted ( )
inline

Definition at line 81 of file eflowRecTrack.h.

81  {
82  if (isSubtracted()){
83  MsgStream* mlog = m_mlog.get();
84  std::string errorString = "Invoke setSubtracted() on track that is subtracted already!";
85  if (mlog) (*mlog) << MSG::WARNING << errorString << endmsg;
86  else {
87  std::string errorPrefix = "eflowRecTrack: WARNING";
88  std::cerr << errorPrefix << " - have invalid pointer to MsgStream service " << std::endl;
89  std::cerr << errorPrefix << errorString << std::endl;
90  }//if don't have valid pointer to mlog service, warn and use cerr
91  return;
92  }//if track was already subtracted then print a warning to the user about that and return
93  m_isSubtracted = true;
94  }

◆ setTrackId()

void eflowRecTrack::setTrackId ( int  trackId)
inline

Definition at line 100 of file eflowRecTrack.h.

100 { m_trackId = trackId; }

Member Data Documentation

◆ m_alternativeClusterMatches

std::map<std::string,std::vector<eflowTrackClusterLink*> > eflowRecTrack::m_alternativeClusterMatches
private

Definition at line 154 of file eflowRecTrack.h.

◆ m_avgEdensityCellOrderVector

std::vector<float> eflowRecTrack::m_avgEdensityCellOrderVector
private

Definition at line 136 of file eflowRecTrack.h.

◆ m_caloDepthArray

std::vector<double> eflowRecTrack::m_caloDepthArray
private

Definition at line 147 of file eflowRecTrack.h.

◆ m_clusterMatches

std::vector<eflowTrackClusterLink*> eflowRecTrack::m_clusterMatches
private

Definition at line 151 of file eflowRecTrack.h.

◆ m_deltaRPrimes

std::vector<float> eflowRecTrack::m_deltaRPrimes
private

List of distance measurements between track and cluster used in first pass matching - i.e dRPrime.

Definition at line 153 of file eflowRecTrack.h.

◆ m_eExpect

double eflowRecTrack::m_eExpect
private

Definition at line 138 of file eflowRecTrack.h.

◆ m_hasBin

bool eflowRecTrack::m_hasBin
private

Definition at line 145 of file eflowRecTrack.h.

◆ m_isInDenseEnvironment

bool eflowRecTrack::m_isInDenseEnvironment
private

Definition at line 141 of file eflowRecTrack.h.

◆ m_isRecovered

bool eflowRecTrack::m_isRecovered
private

Tells us whether this track underwent split shower revovery.

Definition at line 144 of file eflowRecTrack.h.

◆ m_isSubtracted

bool eflowRecTrack::m_isSubtracted
private

Definition at line 142 of file eflowRecTrack.h.

◆ m_layerCellOrderVector

std::vector<int> eflowRecTrack::m_layerCellOrderVector
private

Definition at line 134 of file eflowRecTrack.h.

◆ m_layerHED

int eflowRecTrack::m_layerHED {}
private

Definition at line 133 of file eflowRecTrack.h.

◆ m_mlog

std::unique_ptr<MsgStream> eflowRecTrack::m_mlog
private

Definition at line 157 of file eflowRecTrack.h.

◆ m_msgSvc

IMessageSvc* eflowRecTrack::m_msgSvc {}
private

Definition at line 156 of file eflowRecTrack.h.

◆ m_pull15

double eflowRecTrack::m_pull15
private

Definition at line 131 of file eflowRecTrack.h.

◆ m_radiusCellOrderVector

std::vector<float> eflowRecTrack::m_radiusCellOrderVector
private

Definition at line 135 of file eflowRecTrack.h.

◆ m_ringSubtractionManager

eflowRingSubtractionManager eflowRecTrack::m_ringSubtractionManager
private

Definition at line 150 of file eflowRecTrack.h.

◆ m_track

const xAOD::TrackParticle* eflowRecTrack::m_track
private

Definition at line 129 of file eflowRecTrack.h.

◆ m_trackCaloPoints

std::unique_ptr<eflowTrackCaloPoints> eflowRecTrack::m_trackCaloPoints
private

Definition at line 149 of file eflowRecTrack.h.

◆ m_trackElemLink

ElementLink<xAOD::TrackParticleContainer> eflowRecTrack::m_trackElemLink
private

Definition at line 128 of file eflowRecTrack.h.

◆ m_trackId

int eflowRecTrack::m_trackId
private

Definition at line 127 of file eflowRecTrack.h.

◆ m_type

int eflowRecTrack::m_type
private

Definition at line 130 of file eflowRecTrack.h.

◆ m_varEExpect

double eflowRecTrack::m_varEExpect
private

Definition at line 139 of file eflowRecTrack.h.


The documentation for this class was generated from the following files:
eflowRecTrack::m_track
const xAOD::TrackParticle * m_track
Definition: eflowRecTrack.h:129
eflowRecTrack::m_mlog
std::unique_ptr< MsgStream > m_mlog
Definition: eflowRecTrack.h:157
eflowRecTrack::m_isSubtracted
bool m_isSubtracted
Definition: eflowRecTrack.h:142
eflowRecTrack::m_varEExpect
double m_varEExpect
Definition: eflowRecTrack.h:139
eflowRecTrack::m_type
int m_type
Definition: eflowRecTrack.h:130
eflowRecTrack::hasBin
bool hasBin() const
Definition: eflowRecTrack.h:73
eflowRecTrack::m_layerCellOrderVector
std::vector< int > m_layerCellOrderVector
Definition: eflowRecTrack.h:134
eflowRecTrack::m_trackElemLink
ElementLink< xAOD::TrackParticleContainer > m_trackElemLink
Definition: eflowRecTrack.h:128
eflowRecTrack::m_clusterMatches
std::vector< eflowTrackClusterLink * > m_clusterMatches
Definition: eflowRecTrack.h:151
eflowRecTrack::m_eExpect
double m_eExpect
Definition: eflowRecTrack.h:138
eflowRecTrack::m_hasBin
bool m_hasBin
Definition: eflowRecTrack.h:145
eflowRecTrack
This class extends the information about a xAOD::Track.
Definition: eflowRecTrack.h:45
python.InDetPriVxFinderConfig.mlog
mlog
Definition: InDetPriVxFinderConfig.py:134
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
eflowRecTrack::isSubtracted
bool isSubtracted() const
Definition: eflowRecTrack.h:79
eflowRecTrack::m_ringSubtractionManager
eflowRingSubtractionManager m_ringSubtractionManager
Definition: eflowRecTrack.h:150
eflowRecTrack::m_deltaRPrimes
std::vector< float > m_deltaRPrimes
List of distance measurements between track and cluster used in first pass matching - i....
Definition: eflowRecTrack.h:153
eflowRecTrack::m_layerHED
int m_layerHED
Definition: eflowRecTrack.h:133
eflowDepthCalculator::NDepth
static int NDepth()
Definition: eflowDepthCalculator.h:42
eflowRecTrack::m_msgSvc
IMessageSvc * m_msgSvc
Definition: eflowRecTrack.h:156
eflowRecTrack::m_caloDepthArray
std::vector< double > m_caloDepthArray
Definition: eflowRecTrack.h:147
eflowRecTrack::m_isRecovered
bool m_isRecovered
Tells us whether this track underwent split shower revovery.
Definition: eflowRecTrack.h:144
eflowRecTrack::m_pull15
double m_pull15
Definition: eflowRecTrack.h:131
eflowRecTrack::m_radiusCellOrderVector
std::vector< float > m_radiusCellOrderVector
Definition: eflowRecTrack.h:135
eflowRecTrack::m_alternativeClusterMatches
std::map< std::string, std::vector< eflowTrackClusterLink * > > m_alternativeClusterMatches
Definition: eflowRecTrack.h:154
merge.status
status
Definition: merge.py:17
eflowRecTrack::m_avgEdensityCellOrderVector
std::vector< float > m_avgEdensityCellOrderVector
Definition: eflowRecTrack.h:136
eflowRecTrack::m_isInDenseEnvironment
bool m_isInDenseEnvironment
Definition: eflowRecTrack.h:141
eflowRecTrack::m_trackCaloPoints
std::unique_ptr< eflowTrackCaloPoints > m_trackCaloPoints
Definition: eflowRecTrack.h:149
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37
eflowRecTrack::m_trackId
int m_trackId
Definition: eflowRecTrack.h:127