ATLAS Offline Software
Public Member Functions | Private Attributes | Friends | List of all members
FPGATrackSimTrack Class Reference

#include <FPGATrackSimTrack.h>

Collaboration diagram for FPGATrackSimTrack:

Public Member Functions

 FPGATrackSimTrack ()=default
 
virtual ~FPGATrackSimTrack ()
 
TrackCorrType getTrackCorrType () const
 
TrackStage getTrackStage () const
 
bool getDoDeltaGPhis () const
 
int getBankID () const
 
int getRegion () const
 
int getPatternID () const
 
int getFirstSectorID () const
 
int getSecondSectorID () const
 
int getTrackID () const
 
float getParameter (int) const
 
float getHoughX () const
 
float getHoughY () const
 
float getQOverPt () const
 
float getPt () const
 
float getD0 () const
 
float getPhi () const
 
float getZ0 () const
 
float getEta () const
 
float getTheta () const
 
float getChi2 () const
 
float getOrigChi2 () const
 
float getChi2ndof () const
 
float getOrigChi2ndof () const
 
int getSubRegion () const
 
unsigned getHoughXBin () const
 
unsigned getHoughYBin () const
 
int getNMissing () const
 
unsigned int getTypeMask () const
 
unsigned int getHitMap () const
 
int getNCoords () const
 
signed long getEventIndex () const
 
HepMcParticleLink::barcode_type getBarcode () const
 
HepMcParticleLink::barcode_type getUniqueID () const
 
unsigned long barcode () const
 
float getBarcodeFrac () const
 
const std::vector< FPGATrackSimHit > & getFPGATrackSimHits () const
 
std::vector< float > getCoords (unsigned ilayer) const
 
std::vector< float > computeIdealCoords (unsigned ilayer) const
 
float getEtaCoord (int ilayer) const
 
float getPhiCoord (int ilayer) const
 
double getIdealRadius (int ilayer) const
 
bool isValidCand () const
 
void setTrackCorrType (TrackCorrType v)
 
void setTrackStage (TrackStage v)
 
void setDoDeltaGPhis (bool v)
 
void setBankID (int v)
 
void setPatternID (int v)
 
void setFirstSectorID (int v)
 
void setSecondSectorID (int v)
 
void setTrackID (int v)
 
void setParameter (int, float)
 
void setHoughX (float v)
 
void setHoughY (float v)
 
void setQOverPt (float v)
 
void setD0 (float v)
 
void setPhi (float v, bool ForceRange=true)
 
void setZ0 (float v)
 
void setEta (float v)
 
void setChi2 (float v)
 
void setOrigChi2 (float v)
 
void setNMissing (int v)
 
void setTypeMask (unsigned int v)
 
void setHitMap (unsigned int v)
 
void setEventIndex (const signed long &v)
 
void setBarcode (const HepMcParticleLink::barcode_type &v)
 
void setUniqueID (const HepMcParticleLink::barcode_type &v)
 
void setBarcodeFrac (const float &v)
 
void setSubRegion (unsigned v)
 
void setHoughXBin (unsigned v)
 
void setHoughYBin (unsigned v)
 
void setValidCand (bool v)
 
void setIdealRadii (const std::vector< double > &v)
 
void calculateTruth ()
 
void setNLayers (int)
 set the number of layers in the track. More...
 
void setFPGATrackSimHit (unsigned i, const FPGATrackSimHit &hit)
 
void setPars (FPGATrackSimTrackPars const &pars)
 
unsigned int passedOR () const
 
void setPassedOR (unsigned int)
 

Private Attributes

TrackCorrType m_trackCorrType = TrackCorrType::None
 
TrackStage m_trackStage = TrackStage::FIRST
 
bool m_doDeltaGPhis = false
 
int m_bankID = -1
 
int m_patternID = 0
 
int m_firstSectorID = -1
 
int m_secondSectorID = -1
 
int m_trackID = -1
 
int m_IdealGeoCorr = 0
 
float m_houghX = 0.0F
 
float m_houghY = 0.0F
 
float m_qoverpt = 0.0F
 
float m_d0 = 0.0F
 
float m_phi = 0.0F
 
float m_z0 = 0.0F
 
float m_eta = 0.0F
 
float m_chi2 = 0.0F
 
float m_origchi2 = 0.0F
 
unsigned int m_nmissing = 0
 
unsigned int m_typemask = 0
 
unsigned int m_hitmap = 0
 
int m_subregion = 0
 
unsigned m_xBin = 0
 
unsigned m_yBin = 0
 
std::vector< FPGATrackSimHitm_hits
 
signed long m_eventindex = -1
 
HepMcParticleLink::barcode_type m_barcode = std::numeric_limits<HepMcParticleLink::barcode_type>::max()
 
HepMcParticleLink::barcode_type m_uniqueID = std::numeric_limits<HepMcParticleLink::barcode_type>::max()
 
float m_barcode_frac = 0.0F
 
bool m_isValidCand = true
 
std::vector< double > m_idealRadii
 
unsigned int m_ORcode = 1
 

Friends

std::ostream & operator<< (std::ostream &, const FPGATrackSimTrack &)
 

Detailed Description

Definition at line 18 of file FPGATrackSimTrack.h.

Constructor & Destructor Documentation

◆ FPGATrackSimTrack()

FPGATrackSimTrack::FPGATrackSimTrack ( )
default

◆ ~FPGATrackSimTrack()

FPGATrackSimTrack::~FPGATrackSimTrack ( )
virtual

Definition at line 18 of file FPGATrackSimTrack.cxx.

18 {}

Member Function Documentation

◆ barcode()

unsigned long FPGATrackSimTrack::barcode ( ) const
inline

Definition at line 60 of file FPGATrackSimTrack.h.

60 { return getBarcode(); }

◆ calculateTruth()

void FPGATrackSimTrack::calculateTruth ( )

Definition at line 221 of file FPGATrackSimTrack.cxx.

222 {
223  vector<FPGATrackSimMultiTruth> mtv;
224  mtv.reserve(m_hits.size());
225 
226  // don't loop over coordinates, since we only calculate truth *per hit* and not per coordinate, though hitmap is saved for coordinates, so be careful
227  for (const auto& thishit : m_hits)
228  {
229  if (thishit.isReal())
230  {
231  FPGATrackSimMultiTruth this_mt(thishit.getTruth());
232  this_mt.assign_equal_normalization();
233  if (thishit.isPixel())
234  for ( auto& x : this_mt)
235  x.second *= 2;
236  mtv.push_back(this_mt);
237  }
238  }
239 
240  // compute the best geant match, the barcode with the largest number of hits contributing to the track.
241  // frac is then the fraction of the total number of hits on the track attributed to the barcode.
245  const bool ok = mt.best(tbarcode, tfrac);
246  if (ok)
247  {
248  setEventIndex(tbarcode.first);
249  setBarcode(tbarcode.second);
250  setBarcodeFrac(tfrac);
251  }
252  else
253  {
254  setEventIndex(-1);
255  setBarcode(-1);
256  setBarcodeFrac(0);
257  }
258 }

◆ computeIdealCoords()

std::vector< float > FPGATrackSimTrack::computeIdealCoords ( unsigned  ilayer) const

Definition at line 39 of file FPGATrackSimTrack.cxx.

40 {
41 
42  double target_r = m_idealRadii[ilayer];
43  if (m_hits[ilayer].getHitType() == HitType::spacepoint) {
44  unsigned other_layer = (m_hits[ilayer].getSide() == 0) ? ilayer + 1 : ilayer - 1;
45  target_r = (target_r + m_idealRadii[other_layer]) / 2.;
46  }
47 
48  double hough_x = getHoughX();
49  double hough_y = getHoughY();
50 
51  // Use the centralized computeIdealCoords function from FPGATrackSimFunctions
52  std::vector<float> coords = ::computeIdealCoords(m_hits[ilayer], hough_x, hough_y, target_r, m_doDeltaGPhis, m_trackCorrType);
53 
54  return coords;
55 }

◆ getBankID()

int FPGATrackSimTrack::getBankID ( ) const
inline

Definition at line 28 of file FPGATrackSimTrack.h.

28 { return m_bankID; }

◆ getBarcode()

HepMcParticleLink::barcode_type FPGATrackSimTrack::getBarcode ( ) const
inline

Definition at line 58 of file FPGATrackSimTrack.h.

58 { return m_barcode; }

◆ getBarcodeFrac()

float FPGATrackSimTrack::getBarcodeFrac ( ) const
inline

Definition at line 61 of file FPGATrackSimTrack.h.

61 { return m_barcode_frac; }

◆ getChi2()

float FPGATrackSimTrack::getChi2 ( ) const
inline

Definition at line 44 of file FPGATrackSimTrack.h.

44 { return m_chi2; }

◆ getChi2ndof()

float FPGATrackSimTrack::getChi2ndof ( ) const
inline

Definition at line 46 of file FPGATrackSimTrack.h.

46 { return m_chi2 / (getNCoords() - m_nmissing - 5); }

◆ getCoords()

std::vector< float > FPGATrackSimTrack::getCoords ( unsigned  ilayer) const

Definition at line 20 of file FPGATrackSimTrack.cxx.

21 {
22  std::vector<float> coords;
23  if (ilayer >= m_hits.size())
24  throw std::range_error("FPGATrackSimTrack::getCoords() out of bounds");
25 
27  {
28  coords.push_back(m_hits[ilayer].getEtaCoord());
29  coords.push_back(m_hits[ilayer].getPhiCoord());
30  }
31  else
32  {
33  coords = computeIdealCoords(ilayer);
34  }
35 
36  return coords;
37 }

◆ getD0()

float FPGATrackSimTrack::getD0 ( ) const
inline

Definition at line 39 of file FPGATrackSimTrack.h.

39 { return m_d0; }

◆ getDoDeltaGPhis()

bool FPGATrackSimTrack::getDoDeltaGPhis ( ) const
inline

Definition at line 27 of file FPGATrackSimTrack.h.

27 { return m_doDeltaGPhis; }

◆ getEta()

float FPGATrackSimTrack::getEta ( ) const
inline

Definition at line 42 of file FPGATrackSimTrack.h.

42 { return m_eta; }

◆ getEtaCoord()

float FPGATrackSimTrack::getEtaCoord ( int  ilayer) const

Definition at line 57 of file FPGATrackSimTrack.cxx.

57  {
58  auto coords = getCoords(ilayer);
59  if (coords.size() > 0) {
60  return coords.at(0);
61  }
62  else {
63  throw std::range_error("FPGATrackSimTrack::getCoord(layer,coord) out of bounds");
64  }
65 }

◆ getEventIndex()

signed long FPGATrackSimTrack::getEventIndex ( ) const
inline

Definition at line 57 of file FPGATrackSimTrack.h.

57 { return m_eventindex; }

◆ getFirstSectorID()

int FPGATrackSimTrack::getFirstSectorID ( ) const
inline

Definition at line 31 of file FPGATrackSimTrack.h.

31 { return m_firstSectorID; }

◆ getFPGATrackSimHits()

const std::vector<FPGATrackSimHit>& FPGATrackSimTrack::getFPGATrackSimHits ( ) const
inline

Definition at line 63 of file FPGATrackSimTrack.h.

63 { return m_hits; }

◆ getHitMap()

unsigned int FPGATrackSimTrack::getHitMap ( ) const
inline

Definition at line 54 of file FPGATrackSimTrack.h.

54 { return m_hitmap; } // coordinate mask!!

◆ getHoughX()

float FPGATrackSimTrack::getHoughX ( ) const
inline

Definition at line 35 of file FPGATrackSimTrack.h.

35 { return m_houghX; }

◆ getHoughXBin()

unsigned FPGATrackSimTrack::getHoughXBin ( ) const
inline

Definition at line 49 of file FPGATrackSimTrack.h.

49 { return m_xBin; }

◆ getHoughY()

float FPGATrackSimTrack::getHoughY ( ) const
inline

Definition at line 36 of file FPGATrackSimTrack.h.

36 { return m_houghY; }

◆ getHoughYBin()

unsigned FPGATrackSimTrack::getHoughYBin ( ) const
inline

Definition at line 50 of file FPGATrackSimTrack.h.

50 { return m_yBin; }

◆ getIdealRadius()

double FPGATrackSimTrack::getIdealRadius ( int  ilayer) const
inline

Definition at line 77 of file FPGATrackSimTrack.h.

77 { return m_idealRadii.at(ilayer); };

◆ getNCoords()

int FPGATrackSimTrack::getNCoords ( ) const

Definition at line 90 of file FPGATrackSimTrack.cxx.

90  {
91  int nCoords = 0;
92  for (const auto& hit : m_hits) {
93  nCoords += hit.getDim();
94  }
95  return nCoords;
96 }

◆ getNMissing()

int FPGATrackSimTrack::getNMissing ( ) const
inline

Definition at line 52 of file FPGATrackSimTrack.h.

52 { return m_nmissing; } // missing coordinates

◆ getOrigChi2()

float FPGATrackSimTrack::getOrigChi2 ( ) const
inline

Definition at line 45 of file FPGATrackSimTrack.h.

45 { return m_origchi2; }

◆ getOrigChi2ndof()

float FPGATrackSimTrack::getOrigChi2ndof ( ) const
inline

Definition at line 47 of file FPGATrackSimTrack.h.

47 { return m_origchi2 / (getNCoords() - m_nmissing - 5); }

◆ getParameter()

float FPGATrackSimTrack::getParameter ( int  ipar) const

Definition at line 132 of file FPGATrackSimTrack.cxx.

133 {
134  switch (ipar) {
135  case 0:
136  return m_qoverpt;
137  break;
138  case 1:
139  return m_d0;
140  break;
141  case 2:
142  return m_phi;
143  break;
144  case 3:
145  return m_z0;
146  break;
147  case 4:
148  return m_eta;
149  break;
150  }
151 
152  return 0.;
153 }

◆ getPatternID()

int FPGATrackSimTrack::getPatternID ( ) const
inline

Definition at line 30 of file FPGATrackSimTrack.h.

30 { return m_patternID; }

◆ getPhi()

float FPGATrackSimTrack::getPhi ( ) const
inline

Definition at line 40 of file FPGATrackSimTrack.h.

40 { return m_phi; }

◆ getPhiCoord()

float FPGATrackSimTrack::getPhiCoord ( int  ilayer) const

Definition at line 67 of file FPGATrackSimTrack.cxx.

67  {
68  auto coords = getCoords(ilayer);
69 
70  // If this is a spacepoint, and if this is the "outer" hit on a strip module
71  // (side = 1) then we actually return the z/eta coord.
72  // Since spacepoints are duplicated, this avoids using the same phi coord
73  // twice and alsp avoids having to teach the code that strip spacepoints are
74  // "2D" hits despite being in the strips, which everything assumes is 1D.
75  // This makes it easy to mix and match spacepoints with strip hits that aren't
76  // spacepoints (since the number of strip layers is held fixed).
77  unsigned target_coord = 1;
78  if (m_hits[ilayer].getHitType() == HitType::spacepoint && (m_hits[ilayer].getPhysLayer() % 2) == 1) {
79  target_coord = 0;
80  }
81 
82  if (coords.size() > target_coord) {
83  return coords.at(target_coord);
84  }
85  else {
86  throw std::range_error("FPGATrackSimTrack::getCoord(layer,coord) out of bounds");
87  }
88 }

◆ getPt()

float FPGATrackSimTrack::getPt ( ) const
inline

Definition at line 38 of file FPGATrackSimTrack.h.

38 { return m_qoverpt != 0 ? std::abs(1 / m_qoverpt) : 99999999.; }

◆ getQOverPt()

float FPGATrackSimTrack::getQOverPt ( ) const
inline

Definition at line 37 of file FPGATrackSimTrack.h.

37 { return m_qoverpt; }

◆ getRegion()

int FPGATrackSimTrack::getRegion ( ) const
inline

Definition at line 29 of file FPGATrackSimTrack.h.

29 { return m_bankID % 100; }

◆ getSecondSectorID()

int FPGATrackSimTrack::getSecondSectorID ( ) const
inline

Definition at line 32 of file FPGATrackSimTrack.h.

32 { return m_secondSectorID; }

◆ getSubRegion()

int FPGATrackSimTrack::getSubRegion ( ) const
inline

Definition at line 48 of file FPGATrackSimTrack.h.

48 { return m_subregion; }

◆ getTheta()

float FPGATrackSimTrack::getTheta ( ) const
inline

Definition at line 43 of file FPGATrackSimTrack.h.

43 { return 2*std::atan(std::exp(-m_eta)); }

◆ getTrackCorrType()

TrackCorrType FPGATrackSimTrack::getTrackCorrType ( ) const
inline

Definition at line 25 of file FPGATrackSimTrack.h.

25 { return m_trackCorrType; }

◆ getTrackID()

int FPGATrackSimTrack::getTrackID ( ) const
inline

Definition at line 33 of file FPGATrackSimTrack.h.

33 { return m_trackID; }

◆ getTrackStage()

TrackStage FPGATrackSimTrack::getTrackStage ( ) const
inline

Definition at line 26 of file FPGATrackSimTrack.h.

26 { return m_trackStage; }

◆ getTypeMask()

unsigned int FPGATrackSimTrack::getTypeMask ( ) const
inline

Definition at line 53 of file FPGATrackSimTrack.h.

53 { return m_typemask; }

◆ getUniqueID()

HepMcParticleLink::barcode_type FPGATrackSimTrack::getUniqueID ( ) const
inline

Definition at line 59 of file FPGATrackSimTrack.h.

59 { return m_uniqueID; }

◆ getZ0()

float FPGATrackSimTrack::getZ0 ( ) const
inline

Definition at line 41 of file FPGATrackSimTrack.h.

41 { return m_z0; }

◆ isValidCand()

bool FPGATrackSimTrack::isValidCand ( ) const
inline

Definition at line 79 of file FPGATrackSimTrack.h.

79 { return m_isValidCand; }

◆ passedOR()

unsigned int FPGATrackSimTrack::passedOR ( ) const
inline

Definition at line 127 of file FPGATrackSimTrack.h.

127 { return m_ORcode; }

◆ setBankID()

void FPGATrackSimTrack::setBankID ( int  v)
inline

Definition at line 84 of file FPGATrackSimTrack.h.

84 { m_bankID = v; }

◆ setBarcode()

void FPGATrackSimTrack::setBarcode ( const HepMcParticleLink::barcode_type v)
inline

Definition at line 103 of file FPGATrackSimTrack.h.

103 { m_barcode = v; }

◆ setBarcodeFrac()

void FPGATrackSimTrack::setBarcodeFrac ( const float &  v)
inline

Definition at line 105 of file FPGATrackSimTrack.h.

105 { m_barcode_frac = v; }

◆ setChi2()

void FPGATrackSimTrack::setChi2 ( float  v)
inline

Definition at line 97 of file FPGATrackSimTrack.h.

97 { m_chi2 = v; }

◆ setD0()

void FPGATrackSimTrack::setD0 ( float  v)
inline

Definition at line 93 of file FPGATrackSimTrack.h.

93 { m_d0 = v; }

◆ setDoDeltaGPhis()

void FPGATrackSimTrack::setDoDeltaGPhis ( bool  v)
inline

Definition at line 83 of file FPGATrackSimTrack.h.

83 { m_doDeltaGPhis = v; }

◆ setEta()

void FPGATrackSimTrack::setEta ( float  v)
inline

Definition at line 96 of file FPGATrackSimTrack.h.

96 { m_eta = v; }

◆ setEventIndex()

void FPGATrackSimTrack::setEventIndex ( const signed long &  v)
inline

Definition at line 102 of file FPGATrackSimTrack.h.

102 { m_eventindex = v; }

◆ setFirstSectorID()

void FPGATrackSimTrack::setFirstSectorID ( int  v)
inline

Definition at line 86 of file FPGATrackSimTrack.h.

86 { m_firstSectorID = v; }

◆ setFPGATrackSimHit()

void FPGATrackSimTrack::setFPGATrackSimHit ( unsigned  i,
const FPGATrackSimHit hit 
)

Definition at line 99 of file FPGATrackSimTrack.cxx.

100 {
101  if (m_hits.size() > i)
102  m_hits[i] = hit;
103  else
104  throw std::range_error("FPGATrackSimTrack::setFPGATrackSimHit() out of bounds");
105 }

◆ setHitMap()

void FPGATrackSimTrack::setHitMap ( unsigned int  v)
inline

Definition at line 101 of file FPGATrackSimTrack.h.

101 { m_hitmap = v; }

◆ setHoughX()

void FPGATrackSimTrack::setHoughX ( float  v)
inline

Definition at line 90 of file FPGATrackSimTrack.h.

90 { m_houghX = v; }

◆ setHoughXBin()

void FPGATrackSimTrack::setHoughXBin ( unsigned  v)
inline

Definition at line 108 of file FPGATrackSimTrack.h.

108 { m_xBin = v; }

◆ setHoughY()

void FPGATrackSimTrack::setHoughY ( float  v)
inline

Definition at line 91 of file FPGATrackSimTrack.h.

91 { m_houghY = v; }

◆ setHoughYBin()

void FPGATrackSimTrack::setHoughYBin ( unsigned  v)
inline

Definition at line 109 of file FPGATrackSimTrack.h.

109 { m_yBin = v;}

◆ setIdealRadii()

void FPGATrackSimTrack::setIdealRadii ( const std::vector< double > &  v)
inline

Definition at line 112 of file FPGATrackSimTrack.h.

112 { m_idealRadii = v; }

◆ setNLayers()

void FPGATrackSimTrack::setNLayers ( int  dim)

set the number of layers in the track.

=0 is used to clear the track

Definition at line 108 of file FPGATrackSimTrack.cxx.

109 {
110  if (m_hits.size() > 0) m_hits.clear();
111  m_hits.resize(dim);
112 }

◆ setNMissing()

void FPGATrackSimTrack::setNMissing ( int  v)
inline

Definition at line 99 of file FPGATrackSimTrack.h.

99 { m_nmissing = v; }

◆ setOrigChi2()

void FPGATrackSimTrack::setOrigChi2 ( float  v)
inline

Definition at line 98 of file FPGATrackSimTrack.h.

98 { m_origchi2 = v; }

◆ setParameter()

void FPGATrackSimTrack::setParameter ( int  ipar,
float  val 
)

Definition at line 156 of file FPGATrackSimTrack.cxx.

157 {
158  switch (ipar) {
159  case 0:
160  m_qoverpt = val;
161  break;
162  case 1:
163  m_d0 = val;
164  break;
165  case 2:
166  m_phi = val;
167  break;
168  case 3:
169  m_z0 = val;
170  break;
171  case 4:
172  m_eta = val;
173  break;
174  }
175 }

◆ setPars()

void FPGATrackSimTrack::setPars ( FPGATrackSimTrackPars const pars)
inline

Definition at line 117 of file FPGATrackSimTrack.h.

118  {
119  setQOverPt(pars.qOverPt);
120  setPhi(pars.phi, false);
121  setEta(pars.eta);
122  setD0(pars.d0);
123  setZ0(pars.z0);
124  }

◆ setPassedOR()

void FPGATrackSimTrack::setPassedOR ( unsigned int  code)

Definition at line 260 of file FPGATrackSimTrack.cxx.

261 {
262  m_ORcode = code;
263 }

◆ setPatternID()

void FPGATrackSimTrack::setPatternID ( int  v)
inline

Definition at line 85 of file FPGATrackSimTrack.h.

85 { m_patternID = v; }

◆ setPhi()

void FPGATrackSimTrack::setPhi ( float  v,
bool  ForceRange = true 
)

Definition at line 116 of file FPGATrackSimTrack.cxx.

116  {
117  if (ForceRange) {
118  // when phi is ridiculously large, there is no point in adjusting it
119  if (std::abs(phi) > 100) {
120  if (m_chi2 < 100) { // this is a BAD track, so fail it if chi2 hasn't done so already
121  m_chi2 += 100; // we want to fail this event anyway
122  }
123  }
124  else {
125  while (phi >= M_PI) phi -= (2. * M_PI);
126  while (phi < -M_PI) phi += (2. * M_PI);
127  }
128  }
129  m_phi = phi;
130 }

◆ setQOverPt()

void FPGATrackSimTrack::setQOverPt ( float  v)
inline

Definition at line 92 of file FPGATrackSimTrack.h.

92 { m_qoverpt = v; }

◆ setSecondSectorID()

void FPGATrackSimTrack::setSecondSectorID ( int  v)
inline

Definition at line 87 of file FPGATrackSimTrack.h.

87 { m_secondSectorID = v; }

◆ setSubRegion()

void FPGATrackSimTrack::setSubRegion ( unsigned  v)
inline

Definition at line 107 of file FPGATrackSimTrack.h.

107 { m_subregion = v; }

◆ setTrackCorrType()

void FPGATrackSimTrack::setTrackCorrType ( TrackCorrType  v)
inline

Definition at line 81 of file FPGATrackSimTrack.h.

81 { m_trackCorrType = v; }

◆ setTrackID()

void FPGATrackSimTrack::setTrackID ( int  v)
inline

Definition at line 88 of file FPGATrackSimTrack.h.

88 { m_trackID = v; }

◆ setTrackStage()

void FPGATrackSimTrack::setTrackStage ( TrackStage  v)
inline

Definition at line 82 of file FPGATrackSimTrack.h.

82 { m_trackStage = v; }

◆ setTypeMask()

void FPGATrackSimTrack::setTypeMask ( unsigned int  v)
inline

Definition at line 100 of file FPGATrackSimTrack.h.

100 { m_typemask = v; }

◆ setUniqueID()

void FPGATrackSimTrack::setUniqueID ( const HepMcParticleLink::barcode_type v)
inline

Definition at line 104 of file FPGATrackSimTrack.h.

104 { m_uniqueID = v; }

◆ setValidCand()

void FPGATrackSimTrack::setValidCand ( bool  v)
inline

Definition at line 111 of file FPGATrackSimTrack.h.

111 { m_isValidCand = v; }

◆ setZ0()

void FPGATrackSimTrack::setZ0 ( float  v)
inline

Definition at line 95 of file FPGATrackSimTrack.h.

95 { m_z0 = v; }

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  out,
const FPGATrackSimTrack track 
)
friend

Definition at line 178 of file FPGATrackSimTrack.cxx.

179 {
180 
181  out << "TRACK: ID=" << std::left << setw(8) << track.m_trackID;
182  out << " SECTOR1=" << std::left << setw(8) << track.m_firstSectorID;
183  out << " BANK=" << std::left << setw(8) << track.m_bankID;
184  out << " BARCODE=" << std::left << setw(6) << track.m_barcode;
185  out << " BARCODE_F=" << std::left << setw(9) << track.m_barcode_frac;
186  out << " EVENT=" << std::left << setw(6) << track.m_eventindex;
187  out << " HITMAP=" << std::left << setw(8) << track.getHitMap();
188  out << " TYPE=" << std::left << setw(3) << track.m_typemask;
189  out << " NMISS=" << std::left << setw(3) << track.getNMissing();
190  out << "\n";
191  streamsize oldprec = out.precision();
192  out.precision(4);
193  out << " PHI=" << std::left << setw(10) << track.m_phi;
194  out.setf(ios_base::scientific);
195  out.precision(2);
196  out << " Q/PT=" << std::left << setw(10) << track.m_qoverpt;
197  out.unsetf(ios_base::scientific);
198  out.precision(4);
199  out << " d0=" << std::left << setw(10) << track.m_d0;
200  out << " ETA=" << std::left << setw(10) << track.m_eta;
201  out << " z0=" << std::left << setw(10) << track.m_z0;
202  out << " Chi2=" << std::left << setw(12) << track.m_chi2;
203  out << " OChi2=" << std::left << setw(12) << track.m_origchi2;
204 
205  out << endl;
206  out.precision(oldprec);
207 
208  out << endl;
209 
210  // print the hits
211  int iter = 0;
212  for (const auto& hit : track.m_hits) {
213  out << "Hit " << iter << ": " << hit << "\n";
214  iter++;
215  }
216 
217  return out;
218 }

Member Data Documentation

◆ m_bankID

int FPGATrackSimTrack::m_bankID = -1
private

Definition at line 138 of file FPGATrackSimTrack.h.

◆ m_barcode

HepMcParticleLink::barcode_type FPGATrackSimTrack::m_barcode = std::numeric_limits<HepMcParticleLink::barcode_type>::max()
private

Definition at line 171 of file FPGATrackSimTrack.h.

◆ m_barcode_frac

float FPGATrackSimTrack::m_barcode_frac = 0.0F
private

Definition at line 174 of file FPGATrackSimTrack.h.

◆ m_chi2

float FPGATrackSimTrack::m_chi2 = 0.0F
private

Definition at line 153 of file FPGATrackSimTrack.h.

◆ m_d0

float FPGATrackSimTrack::m_d0 = 0.0F
private

Definition at line 149 of file FPGATrackSimTrack.h.

◆ m_doDeltaGPhis

bool FPGATrackSimTrack::m_doDeltaGPhis = false
private

Definition at line 136 of file FPGATrackSimTrack.h.

◆ m_eta

float FPGATrackSimTrack::m_eta = 0.0F
private

Definition at line 152 of file FPGATrackSimTrack.h.

◆ m_eventindex

signed long FPGATrackSimTrack::m_eventindex = -1
private

Definition at line 170 of file FPGATrackSimTrack.h.

◆ m_firstSectorID

int FPGATrackSimTrack::m_firstSectorID = -1
private

Definition at line 140 of file FPGATrackSimTrack.h.

◆ m_hitmap

unsigned int FPGATrackSimTrack::m_hitmap = 0
private

Definition at line 159 of file FPGATrackSimTrack.h.

◆ m_hits

std::vector<FPGATrackSimHit> FPGATrackSimTrack::m_hits
private

Definition at line 168 of file FPGATrackSimTrack.h.

◆ m_houghX

float FPGATrackSimTrack::m_houghX = 0.0F
private

Definition at line 146 of file FPGATrackSimTrack.h.

◆ m_houghY

float FPGATrackSimTrack::m_houghY = 0.0F
private

Definition at line 147 of file FPGATrackSimTrack.h.

◆ m_IdealGeoCorr

int FPGATrackSimTrack::m_IdealGeoCorr = 0
private

Definition at line 144 of file FPGATrackSimTrack.h.

◆ m_idealRadii

std::vector<double> FPGATrackSimTrack::m_idealRadii
private

Definition at line 185 of file FPGATrackSimTrack.h.

◆ m_isValidCand

bool FPGATrackSimTrack::m_isValidCand = true
private

Definition at line 180 of file FPGATrackSimTrack.h.

◆ m_nmissing

unsigned int FPGATrackSimTrack::m_nmissing = 0
private

Definition at line 157 of file FPGATrackSimTrack.h.

◆ m_ORcode

unsigned int FPGATrackSimTrack::m_ORcode = 1
private

Definition at line 189 of file FPGATrackSimTrack.h.

◆ m_origchi2

float FPGATrackSimTrack::m_origchi2 = 0.0F
private

Definition at line 154 of file FPGATrackSimTrack.h.

◆ m_patternID

int FPGATrackSimTrack::m_patternID = 0
private

Definition at line 139 of file FPGATrackSimTrack.h.

◆ m_phi

float FPGATrackSimTrack::m_phi = 0.0F
private

Definition at line 150 of file FPGATrackSimTrack.h.

◆ m_qoverpt

float FPGATrackSimTrack::m_qoverpt = 0.0F
private

Definition at line 148 of file FPGATrackSimTrack.h.

◆ m_secondSectorID

int FPGATrackSimTrack::m_secondSectorID = -1
private

Definition at line 141 of file FPGATrackSimTrack.h.

◆ m_subregion

int FPGATrackSimTrack::m_subregion = 0
private

Definition at line 162 of file FPGATrackSimTrack.h.

◆ m_trackCorrType

TrackCorrType FPGATrackSimTrack::m_trackCorrType = TrackCorrType::None
private

Definition at line 134 of file FPGATrackSimTrack.h.

◆ m_trackID

int FPGATrackSimTrack::m_trackID = -1
private

Definition at line 142 of file FPGATrackSimTrack.h.

◆ m_trackStage

TrackStage FPGATrackSimTrack::m_trackStage = TrackStage::FIRST
private

Definition at line 135 of file FPGATrackSimTrack.h.

◆ m_typemask

unsigned int FPGATrackSimTrack::m_typemask = 0
private

Definition at line 158 of file FPGATrackSimTrack.h.

◆ m_uniqueID

HepMcParticleLink::barcode_type FPGATrackSimTrack::m_uniqueID = std::numeric_limits<HepMcParticleLink::barcode_type>::max()
private

Definition at line 172 of file FPGATrackSimTrack.h.

◆ m_xBin

unsigned FPGATrackSimTrack::m_xBin = 0
private

Definition at line 165 of file FPGATrackSimTrack.h.

◆ m_yBin

unsigned FPGATrackSimTrack::m_yBin = 0
private

Definition at line 166 of file FPGATrackSimTrack.h.

◆ m_z0

float FPGATrackSimTrack::m_z0 = 0.0F
private

Definition at line 151 of file FPGATrackSimTrack.h.


The documentation for this class was generated from the following files:
FPGATrackSimTrack::m_trackStage
TrackStage m_trackStage
Definition: FPGATrackSimTrack.h:135
FPGATrackSimTrack::getPhiCoord
float getPhiCoord(int ilayer) const
Definition: FPGATrackSimTrack.cxx:67
make_hlt_rep.pars
pars
Definition: make_hlt_rep.py:90
FPGATrackSimTrack::setD0
void setD0(float v)
Definition: FPGATrackSimTrack.h:93
yodamerge_tmp.dim
dim
Definition: yodamerge_tmp.py:239
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:67
FPGATrackSimTrack::getBarcode
HepMcParticleLink::barcode_type getBarcode() const
Definition: FPGATrackSimTrack.h:58
FPGATrackSimTrack::m_trackCorrType
TrackCorrType m_trackCorrType
Definition: FPGATrackSimTrack.h:134
FPGATrackSimMultiTruth::Weight
float Weight
Definition: FPGATrackSimMultiTruth.h:50
FPGATrackSimTrack::m_eta
float m_eta
Definition: FPGATrackSimTrack.h:152
FPGATrackSimTrack::getCoords
std::vector< float > getCoords(unsigned ilayer) const
Definition: FPGATrackSimTrack.cxx:20
accumulate
bool accumulate(AccumulateMap &map, std::vector< module_t > const &modules, FPGATrackSimMatrixAccumulator const &acc)
Accumulates an accumulator (e.g.
Definition: FPGATrackSimMatrixAccumulator.cxx:22
python.AthDsoLogger.out
out
Definition: AthDsoLogger.py:71
M_PI
#define M_PI
Definition: ActiveFraction.h:11
HitType::spacepoint
@ spacepoint
FPGATrackSimTrack::m_hitmap
unsigned int m_hitmap
Definition: FPGATrackSimTrack.h:159
FPGATrackSimTrack::getNCoords
int getNCoords() const
Definition: FPGATrackSimTrack.cxx:90
drawFromPickle.exp
exp
Definition: drawFromPickle.py:36
x
#define x
FPGATrackSimTrack::getHoughY
float getHoughY() const
Definition: FPGATrackSimTrack.h:36
FPGATrackSimTrack::m_chi2
float m_chi2
Definition: FPGATrackSimTrack.h:153
drawFromPickle.atan
atan
Definition: drawFromPickle.py:36
FPGATrackSimTrack::setZ0
void setZ0(float v)
Definition: FPGATrackSimTrack.h:95
FPGATrackSimTrack::setPhi
void setPhi(float v, bool ForceRange=true)
Definition: FPGATrackSimTrack.cxx:116
histSizes.code
code
Definition: histSizes.py:129
FPGATrackSimTrack::m_z0
float m_z0
Definition: FPGATrackSimTrack.h:151
FPGATrackSimTrack::m_phi
float m_phi
Definition: FPGATrackSimTrack.h:150
FPGATrackSimTrack::m_patternID
int m_patternID
Definition: FPGATrackSimTrack.h:139
FPGATrackSimTrack::m_uniqueID
HepMcParticleLink::barcode_type m_uniqueID
Definition: FPGATrackSimTrack.h:172
lumiFormat.i
int i
Definition: lumiFormat.py:85
FPGATrackSimTrack::m_barcode_frac
float m_barcode_frac
Definition: FPGATrackSimTrack.h:174
FPGATrackSimMultiTruth::Barcode
std::pair< unsigned long, unsigned long > Barcode
Definition: FPGATrackSimMultiTruth.h:49
FPGATrackSimTrack::m_barcode
HepMcParticleLink::barcode_type m_barcode
Definition: FPGATrackSimTrack.h:171
FPGATrackSimTrack::m_qoverpt
float m_qoverpt
Definition: FPGATrackSimTrack.h:148
FPGATrackSimTrack::getEtaCoord
float getEtaCoord(int ilayer) const
Definition: FPGATrackSimTrack.cxx:57
FPGATrackSimTrack::m_firstSectorID
int m_firstSectorID
Definition: FPGATrackSimTrack.h:140
FPGATrackSimTrack::m_houghX
float m_houghX
Definition: FPGATrackSimTrack.h:146
FPGATrackSimTrack::m_bankID
int m_bankID
Definition: FPGATrackSimTrack.h:138
FPGATrackSimTrack::setBarcodeFrac
void setBarcodeFrac(const float &v)
Definition: FPGATrackSimTrack.h:105
FPGATrackSimTrack::setBarcode
void setBarcode(const HepMcParticleLink::barcode_type &v)
Definition: FPGATrackSimTrack.h:103
FPGATrackSimTrack::m_ORcode
unsigned int m_ORcode
Definition: FPGATrackSimTrack.h:189
FPGATrackSimTrack::setEventIndex
void setEventIndex(const signed long &v)
Definition: FPGATrackSimTrack.h:102
FPGATrackSimMultiTruth
Definition: FPGATrackSimMultiTruth.h:46
FPGATrackSimMultiTruth::AddAccumulator
Definition: FPGATrackSimMultiTruth.h:57
FPGATrackSimTrack::m_idealRadii
std::vector< double > m_idealRadii
Definition: FPGATrackSimTrack.h:185
FPGATrackSimTrack::m_d0
float m_d0
Definition: FPGATrackSimTrack.h:149
TrackCorrType::None
@ None
FPGATrackSimTrack::m_secondSectorID
int m_secondSectorID
Definition: FPGATrackSimTrack.h:141
FPGATrackSimTrack::setQOverPt
void setQOverPt(float v)
Definition: FPGATrackSimTrack.h:92
FPGATrackSimTrack::setEta
void setEta(float v)
Definition: FPGATrackSimTrack.h:96
FPGATrackSimTrack::m_trackID
int m_trackID
Definition: FPGATrackSimTrack.h:142
FPGATrackSimTrack::m_hits
std::vector< FPGATrackSimHit > m_hits
Definition: FPGATrackSimTrack.h:168
FPGATrackSimTrack::m_subregion
int m_subregion
Definition: FPGATrackSimTrack.h:162
python.PyAthena.v
v
Definition: PyAthena.py:154
FPGATrackSimTrack::m_houghY
float m_houghY
Definition: FPGATrackSimTrack.h:147
Pythia8_RapidityOrderMPI.val
val
Definition: Pythia8_RapidityOrderMPI.py:14
FPGATrackSimTrack::m_doDeltaGPhis
bool m_doDeltaGPhis
Definition: FPGATrackSimTrack.h:136
FPGATrackSimTrack::m_nmissing
unsigned int m_nmissing
Definition: FPGATrackSimTrack.h:157
FPGATrackSimTrack::m_yBin
unsigned m_yBin
Definition: FPGATrackSimTrack.h:166
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
FPGATrackSimTrack::m_isValidCand
bool m_isValidCand
Definition: FPGATrackSimTrack.h:180
FPGATrackSimTrack::computeIdealCoords
std::vector< float > computeIdealCoords(unsigned ilayer) const
Definition: FPGATrackSimTrack.cxx:39
FPGATrackSimTrack::getHoughX
float getHoughX() const
Definition: FPGATrackSimTrack.h:35
FPGATrackSimTrack::m_eventindex
signed long m_eventindex
Definition: FPGATrackSimTrack.h:170
FPGATrackSimTrack::m_xBin
unsigned m_xBin
Definition: FPGATrackSimTrack.h:165
FPGATrackSimTrack::m_origchi2
float m_origchi2
Definition: FPGATrackSimTrack.h:154
FPGATrackSimTrack::m_typemask
unsigned int m_typemask
Definition: FPGATrackSimTrack.h:158