ATLAS Offline Software
Public Member Functions | Public Attributes | Private Attributes | List of all members
ITk::SiSpacePointForSeed Class Referencefinal

#include <ITkSiSpacePointForSeed.h>

Collaboration diagram for ITk::SiSpacePointForSeed:

Public Member Functions

 SiSpacePointForSeed ()=default
 
 SiSpacePointForSeed (const SiSpacePointForSeed &)=default
 
SiSpacePointForSeedoperator= (const SiSpacePointForSeed &)=default
 
 SiSpacePointForSeed (SiSpacePointForSeed &&) noexcept=default
 
SiSpacePointForSeedoperator= (SiSpacePointForSeed &&) noexcept=default
 
 ~SiSpacePointForSeed ()=default
 
 SiSpacePointForSeed (const Trk::SpacePoint *const &, const float *)
 
 SiSpacePointForSeed (const Trk::SpacePoint *const &, const float *, const float *)
 
void set (const Trk::SpacePoint *const &, const float *)
 
void set (const Trk::SpacePoint *const &, const float *, const float *)
 
void setQuality (float)
 
void setParam (const float &)
 
void setDR (const float &)
 
void setDZDR (const float &)
 
void setEta (const float &)
 
void setScorePenalty (const float &)
 
void setPt (const float &)
 
const float & x () const
 
const float & y () const
 
const float & z () const
 
const float & radius () const
 
float phi () const
 
const float & covr () const
 
const float & covz () const
 
const float & param () const
 
const float & quality () const
 
const float & dzdr () const
 
const float & eta () const
 
const float & pt () const
 
const float & scorePenalty () const
 
const float & dR () const
 penalty term in the seed score More...
 
const Trk::Surfacesur () const
 distance between top and central SP More...
 
const Trk::Surfacesun () const
 
const float * b0 () const
 
const float * b1 () const
 
const float * dr () const
 
const float * r0 () const
 
bool coordinates (const float *, float *)
 

Public Attributes

const Trk::SpacePointspacepoint = nullptr
 

Private Attributes

float m_x {}
 
float m_y {}
 
float m_z {}
 
float m_r {}
 
float m_covr {}
 
float m_covz {}
 
float m_param {}
 
float m_q {}
 
float m_scorePenalty {}
 
float m_dR {}
 penalty term in the seed score More...
 
float m_eta {}
 
float m_pt {}
 
float m_dzdr {}
 
float m_b0 [3] {}
 
float m_b1 [3] {}
 
float m_dr [3] {}
 
float m_r0 [3] {}
 
const Trk::Surfacem_su = nullptr
 
const Trk::Surfacem_sn = nullptr
 

Detailed Description

Definition at line 33 of file ITkSiSpacePointForSeed.h.

Constructor & Destructor Documentation

◆ SiSpacePointForSeed() [1/5]

ITk::SiSpacePointForSeed::SiSpacePointForSeed ( )
default

◆ SiSpacePointForSeed() [2/5]

ITk::SiSpacePointForSeed::SiSpacePointForSeed ( const SiSpacePointForSeed )
default

◆ SiSpacePointForSeed() [3/5]

ITk::SiSpacePointForSeed::SiSpacePointForSeed ( SiSpacePointForSeed &&  )
defaultnoexcept

◆ ~SiSpacePointForSeed()

ITk::SiSpacePointForSeed::~SiSpacePointForSeed ( )
default

◆ SiSpacePointForSeed() [4/5]

ITk::SiSpacePointForSeed::SiSpacePointForSeed ( const Trk::SpacePoint *const sp,
const float *  r 
)

Definition at line 19 of file ITkSiSpacePointForSeed.cxx.

21  {
22  set(sp,r); m_param = 0.;
23  }

◆ SiSpacePointForSeed() [5/5]

ITk::SiSpacePointForSeed::SiSpacePointForSeed ( const Trk::SpacePoint *const sp,
const float *  r,
const float *  sc 
)

Definition at line 25 of file ITkSiSpacePointForSeed.cxx.

27  {
28  set(sp,r,sc); m_param = 0.;
29  }

Member Function Documentation

◆ b0()

const float* ITk::SiSpacePointForSeed::b0 ( ) const
inline

Definition at line 78 of file ITkSiSpacePointForSeed.h.

78 {return m_b0;}

◆ b1()

const float* ITk::SiSpacePointForSeed::b1 ( ) const
inline

Definition at line 79 of file ITkSiSpacePointForSeed.h.

79 {return m_b1;}

◆ coordinates()

bool ITk::SiSpacePointForSeed::coordinates ( const float *  d,
float *  r 
)

Definition at line 157 of file ITkSiSpacePointForSeed.cxx.

158  {
159  float d1[3] = {m_b0[1]*d[2]-m_b0[2]*d[1],m_b0[2]*d[0]-m_b0[0]*d[2],m_b0[0]*d[1]-m_b0[1]*d[0]};
160  float bd = m_b1[0]*d1[0]+m_b1[1]*d1[1]+m_b1[2]*d1[2];
161 
162  if(std::abs(m_dr[0]*d1[0]+m_dr[1]*d1[1]+m_dr[2]*d1[2]) > std::abs(bd)*1.1) return false;
163 
164  float s0 = m_dr[0]*(m_b1[1]*d[2]-m_b1[2]*d[1])+
165  m_dr[1]*(m_b1[2]*d[0]-m_b1[0]*d[2])+
166  m_dr[2]*(m_b1[0]*d[1]-m_b1[1]*d[0]);
167  if(std::abs(s0) > std::abs(bd)*1.1) return false;
168 
169  s0/=bd;
170  r[0] = m_r0[0]+m_b0[0]*s0;
171  r[1] = m_r0[1]+m_b0[1]*s0;
172  r[2] = m_r0[2]+m_b0[2]*s0;
173  return true;
174  }

◆ covr()

const float& ITk::SiSpacePointForSeed::covr ( ) const
inline

Definition at line 67 of file ITkSiSpacePointForSeed.h.

67 {return m_covr;}

◆ covz()

const float& ITk::SiSpacePointForSeed::covz ( ) const
inline

Definition at line 68 of file ITkSiSpacePointForSeed.h.

68 {return m_covz;}

◆ dR()

const float& ITk::SiSpacePointForSeed::dR ( ) const
inline

penalty term in the seed score

Definition at line 75 of file ITkSiSpacePointForSeed.h.

75 {return m_dR;}

◆ dr()

const float* ITk::SiSpacePointForSeed::dr ( ) const
inline

Definition at line 80 of file ITkSiSpacePointForSeed.h.

80 {return m_dr;}

◆ dzdr()

const float& ITk::SiSpacePointForSeed::dzdr ( ) const
inline

Definition at line 71 of file ITkSiSpacePointForSeed.h.

71 {return m_dzdr;}

◆ eta()

const float& ITk::SiSpacePointForSeed::eta ( ) const
inline

Definition at line 72 of file ITkSiSpacePointForSeed.h.

72 {return m_eta;}

◆ operator=() [1/2]

SiSpacePointForSeed& ITk::SiSpacePointForSeed::operator= ( const SiSpacePointForSeed )
default

◆ operator=() [2/2]

SiSpacePointForSeed& ITk::SiSpacePointForSeed::operator= ( SiSpacePointForSeed &&  )
defaultnoexcept

◆ param()

const float& ITk::SiSpacePointForSeed::param ( ) const
inline

Definition at line 69 of file ITkSiSpacePointForSeed.h.

69 {return m_param;}

◆ phi()

float ITk::SiSpacePointForSeed::phi ( ) const
inline

Definition at line 66 of file ITkSiSpacePointForSeed.h.

66 {return atan2(m_y,m_x);}

◆ pt()

const float& ITk::SiSpacePointForSeed::pt ( ) const
inline

Definition at line 73 of file ITkSiSpacePointForSeed.h.

73 {return m_pt;}

◆ quality()

const float& ITk::SiSpacePointForSeed::quality ( ) const
inline

Definition at line 70 of file ITkSiSpacePointForSeed.h.

70 {return m_q ;}

◆ r0()

const float* ITk::SiSpacePointForSeed::r0 ( ) const
inline

Definition at line 81 of file ITkSiSpacePointForSeed.h.

81 {return m_r0;}

◆ radius()

const float& ITk::SiSpacePointForSeed::radius ( ) const
inline

Definition at line 65 of file ITkSiSpacePointForSeed.h.

65 {return m_r;}

◆ scorePenalty()

const float& ITk::SiSpacePointForSeed::scorePenalty ( ) const
inline

Definition at line 74 of file ITkSiSpacePointForSeed.h.

74 {return m_scorePenalty;}

◆ set() [1/2]

void ITk::SiSpacePointForSeed::set ( const Trk::SpacePoint *const sp,
const float *  r 
)

Definition at line 35 of file ITkSiSpacePointForSeed.cxx.

37  {
38  spacepoint = sp ;
39  m_x = r[0];
40  m_y = r[1];
41  m_z = r[2];
42  m_r =std::sqrt(m_x*m_x+m_y*m_y);
43  m_q = 100000.;
44 
45  const InDet::SiCluster* c = static_cast<const InDet::SiCluster*>(sp->clusterList().first);
46  const InDetDD::SiDetectorElement* de = c ->detectorElement();
47 
48  if( de->isPixel() ) {
49 
50  const Amg::MatrixX& v = c->localCovariance();
51  float f22 = float(v(1,1) );
52  float wid = float(c->width().z());
53  float cov = wid*wid*.08333; if(cov < f22) cov = f22;
54  m_sn = nullptr;
55  cov*=6.;
56  m_covz = cov*(r[3]*r[3]+r[4]*r[4]);
57  m_covr = cov*(r[5]*r[5]);
58  }
59  else {
60 
61  const Amg::MatrixX& v = sp->localCovariance();
62  float f22 = float(v(1,1));
63  if(de->isBarrel()) {m_covz = 8.*f22; m_covr = .1;}
64  else {m_covr = 8.*f22; m_covz = .1;}
65  m_sn = &sp->clusterList().second->detectorElement()->surface();
66 
67  for(int i=0; i!=3; ++i) {
68  m_b0[i]=r[3 +i]; m_b1[i]=r[6 +i]; m_dr[i]=r[9 +i]; m_r0[i]=r[12+i];
69  }
70  }
71  m_su = &sp->clusterList().first->detectorElement()->surface();
72  }

◆ set() [2/2]

void ITk::SiSpacePointForSeed::set ( const Trk::SpacePoint *const sp,
const float *  r,
const float *  sc 
)

Definition at line 109 of file ITkSiSpacePointForSeed.cxx.

111  {
112  m_sn = nullptr;
113  spacepoint = sp ;
114  m_x = r[0];
115  m_y = r[1];
116  m_z = r[2];
117  m_r =std::sqrt(m_x*m_x+m_y*m_y);
118  m_q = 100000.;
119 
120  const InDet::SiCluster* c = static_cast<const InDet::SiCluster*>(sp->clusterList().first);
121  const InDetDD::SiDetectorElement* de = c ->detectorElement();
122 
123  if( de->isPixel() ) {
124  const Amg::MatrixX& v = c->localCovariance();
125  float f22 = float(v(1,1));
126  float wid = float(c->width().z());
127  float cov = wid*wid*.08333; if(cov < f22) cov = f22;
128  cov*=6.;
129  m_covz = cov*(r[3]*r[3]+r[4]*r[4]);
130  m_covr = cov*(r[5]*r[5]);
131  } else {
132  const Amg::MatrixX& v = sp->localCovariance();
133  float f22 = float(v(1,1));
134  if(de->isBarrel()) {m_covz = 8.*f22*sc[2]; m_covr = .1;}
135  else {m_covr = 8.*f22*sc[3]; m_covz = .1;}
136  for(int i=0; i!=3; ++i) {m_b0[i]=r[3 +i]; m_b1[i]=r[6 +i]; m_dr[i]=r[9 +i]; m_r0[i]=r[12+i];}
137  }
138  m_su = &sp->clusterList().first->detectorElement()->surface();
139  }

◆ setDR()

void ITk::SiSpacePointForSeed::setDR ( const float &  dr)

Definition at line 75 of file ITkSiSpacePointForSeed.cxx.

76  {
77  m_dR = dr;
78  }

◆ setDZDR()

void ITk::SiSpacePointForSeed::setDZDR ( const float &  dzdr)

Definition at line 85 of file ITkSiSpacePointForSeed.cxx.

86  {
87  m_dzdr = dzdr;
88  }

◆ setEta()

void ITk::SiSpacePointForSeed::setEta ( const float &  eta)

Definition at line 80 of file ITkSiSpacePointForSeed.cxx.

81  {
82  m_eta = eta;
83  }

◆ setParam()

void ITk::SiSpacePointForSeed::setParam ( const float &  p)

Definition at line 141 of file ITkSiSpacePointForSeed.cxx.

142  {
143  m_param = p;
144  }

◆ setPt()

void ITk::SiSpacePointForSeed::setPt ( const float &  pt)

Definition at line 90 of file ITkSiSpacePointForSeed.cxx.

91  {
92  m_pt = pt;
93  }

◆ setQuality()

void ITk::SiSpacePointForSeed::setQuality ( float  q)

Definition at line 145 of file ITkSiSpacePointForSeed.cxx.

146  {
147  if(q <= m_q) m_q = q;
148  }

◆ setScorePenalty()

void ITk::SiSpacePointForSeed::setScorePenalty ( const float &  score)

Definition at line 95 of file ITkSiSpacePointForSeed.cxx.

96  {
98  }

◆ sun()

const Trk::Surface* ITk::SiSpacePointForSeed::sun ( ) const
inline

Definition at line 77 of file ITkSiSpacePointForSeed.h.

77 {return m_sn;}

◆ sur()

const Trk::Surface* ITk::SiSpacePointForSeed::sur ( ) const
inline

distance between top and central SP

Definition at line 76 of file ITkSiSpacePointForSeed.h.

76 {return m_su;}

◆ x()

const float& ITk::SiSpacePointForSeed::x ( ) const
inline

Definition at line 62 of file ITkSiSpacePointForSeed.h.

62 {return m_x;}

◆ y()

const float& ITk::SiSpacePointForSeed::y ( ) const
inline

Definition at line 63 of file ITkSiSpacePointForSeed.h.

63 {return m_y;}

◆ z()

const float& ITk::SiSpacePointForSeed::z ( ) const
inline

Definition at line 64 of file ITkSiSpacePointForSeed.h.

64 {return m_z;}

Member Data Documentation

◆ m_b0

float ITk::SiSpacePointForSeed::m_b0[3] {}
private

Definition at line 102 of file ITkSiSpacePointForSeed.h.

◆ m_b1

float ITk::SiSpacePointForSeed::m_b1[3] {}
private

Definition at line 103 of file ITkSiSpacePointForSeed.h.

◆ m_covr

float ITk::SiSpacePointForSeed::m_covr {}
private

Definition at line 91 of file ITkSiSpacePointForSeed.h.

◆ m_covz

float ITk::SiSpacePointForSeed::m_covz {}
private

Definition at line 92 of file ITkSiSpacePointForSeed.h.

◆ m_dR

float ITk::SiSpacePointForSeed::m_dR {}
private

penalty term in the seed score

Definition at line 96 of file ITkSiSpacePointForSeed.h.

◆ m_dr

float ITk::SiSpacePointForSeed::m_dr[3] {}
private

Definition at line 104 of file ITkSiSpacePointForSeed.h.

◆ m_dzdr

float ITk::SiSpacePointForSeed::m_dzdr {}
private

Definition at line 99 of file ITkSiSpacePointForSeed.h.

◆ m_eta

float ITk::SiSpacePointForSeed::m_eta {}
private

Definition at line 97 of file ITkSiSpacePointForSeed.h.

◆ m_param

float ITk::SiSpacePointForSeed::m_param {}
private

Definition at line 93 of file ITkSiSpacePointForSeed.h.

◆ m_pt

float ITk::SiSpacePointForSeed::m_pt {}
private

Definition at line 98 of file ITkSiSpacePointForSeed.h.

◆ m_q

float ITk::SiSpacePointForSeed::m_q {}
private

Definition at line 94 of file ITkSiSpacePointForSeed.h.

◆ m_r

float ITk::SiSpacePointForSeed::m_r {}
private

Definition at line 90 of file ITkSiSpacePointForSeed.h.

◆ m_r0

float ITk::SiSpacePointForSeed::m_r0[3] {}
private

Definition at line 105 of file ITkSiSpacePointForSeed.h.

◆ m_scorePenalty

float ITk::SiSpacePointForSeed::m_scorePenalty {}
private

Definition at line 95 of file ITkSiSpacePointForSeed.h.

◆ m_sn

const Trk::Surface* ITk::SiSpacePointForSeed::m_sn = nullptr
private

Definition at line 108 of file ITkSiSpacePointForSeed.h.

◆ m_su

const Trk::Surface* ITk::SiSpacePointForSeed::m_su = nullptr
private

Definition at line 107 of file ITkSiSpacePointForSeed.h.

◆ m_x

float ITk::SiSpacePointForSeed::m_x {}
private

Definition at line 87 of file ITkSiSpacePointForSeed.h.

◆ m_y

float ITk::SiSpacePointForSeed::m_y {}
private

Definition at line 88 of file ITkSiSpacePointForSeed.h.

◆ m_z

float ITk::SiSpacePointForSeed::m_z {}
private

Definition at line 89 of file ITkSiSpacePointForSeed.h.

◆ spacepoint

const Trk::SpacePoint* ITk::SiSpacePointForSeed::spacepoint = nullptr

Definition at line 61 of file ITkSiSpacePointForSeed.h.


The documentation for this class was generated from the following files:
Trk::SpacePoint::clusterList
const std::pair< const PrepRawData *, const PrepRawData * > & clusterList() const
return the pair of cluster pointers by reference
Definition: Tracking/TrkEvent/TrkSpacePoint/TrkSpacePoint/SpacePoint.h:127
beamspotman.r
def r
Definition: beamspotman.py:676
ITk::SiSpacePointForSeed::m_dzdr
float m_dzdr
Definition: ITkSiSpacePointForSeed.h:99
Amg::MatrixX
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
Definition: EventPrimitives.h:29
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
ITk::SiSpacePointForSeed::m_scorePenalty
float m_scorePenalty
Definition: ITkSiSpacePointForSeed.h:95
ITk::SiSpacePointForSeed::pt
const float & pt() const
Definition: ITkSiSpacePointForSeed.h:73
hist_file_dump.d
d
Definition: hist_file_dump.py:137
ITk::SiSpacePointForSeed::m_r0
float m_r0[3]
Definition: ITkSiSpacePointForSeed.h:105
plotBeamSpotVxVal.cov
cov
Definition: plotBeamSpotVxVal.py:201
MCP::ScaleSmearParam::s0
@ s0
dq_defect_virtual_defect_validation.d1
d1
Definition: dq_defect_virtual_defect_validation.py:79
ITk::SiSpacePointForSeed::m_dr
float m_dr[3]
Definition: ITkSiSpacePointForSeed.h:104
ITk::SiSpacePointForSeed::m_y
float m_y
Definition: ITkSiSpacePointForSeed.h:88
ITk::SiSpacePointForSeed::m_sn
const Trk::Surface * m_sn
Definition: ITkSiSpacePointForSeed.h:108
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
PyPoolBrowser.bd
bd
Definition: PyPoolBrowser.py:125
ITk::SiSpacePointForSeed::m_pt
float m_pt
Definition: ITkSiSpacePointForSeed.h:98
ITk::SiSpacePointForSeed::m_su
const Trk::Surface * m_su
Definition: ITkSiSpacePointForSeed.h:107
ITk::SiSpacePointForSeed::spacepoint
const Trk::SpacePoint * spacepoint
Definition: ITkSiSpacePointForSeed.h:61
lumiFormat.i
int i
Definition: lumiFormat.py:92
ITk::SiSpacePointForSeed::dr
const float * dr() const
Definition: ITkSiSpacePointForSeed.h:80
ITk::SiSpacePointForSeed::m_z
float m_z
Definition: ITkSiSpacePointForSeed.h:89
ITk::SiSpacePointForSeed::m_q
float m_q
Definition: ITkSiSpacePointForSeed.h:94
ITk::SiSpacePointForSeed::eta
const float & eta() const
Definition: ITkSiSpacePointForSeed.h:72
ITk::SiSpacePointForSeed::set
void set(const Trk::SpacePoint *const &, const float *)
Definition: ITkSiSpacePointForSeed.cxx:36
ITk::SiSpacePointForSeed::m_x
float m_x
Definition: ITkSiSpacePointForSeed.h:87
ITk::SiSpacePointForSeed::m_param
float m_param
Definition: ITkSiSpacePointForSeed.h:93
Trk::MeasurementBase::localCovariance
const Amg::MatrixX & localCovariance() const
Interface method to get the localError.
Definition: MeasurementBase.h:138
InDetDD::SiDetectorElement::isPixel
bool isPixel() const
InDetDD::SiDetectorElement
Definition: SiDetectorElement.h:109
InDetDD::SiDetectorElement::isBarrel
bool isBarrel() const
ITk::SiSpacePointForSeed::m_dR
float m_dR
penalty term in the seed score
Definition: ITkSiSpacePointForSeed.h:96
ITk::SiSpacePointForSeed::m_eta
float m_eta
Definition: ITkSiSpacePointForSeed.h:97
ITk::SiSpacePointForSeed::m_covz
float m_covz
Definition: ITkSiSpacePointForSeed.h:92
xAOD::score
@ score
Definition: TrackingPrimitives.h:513
python.PyAthena.v
v
Definition: PyAthena.py:157
ITk::SiSpacePointForSeed::m_covr
float m_covr
Definition: ITkSiSpacePointForSeed.h:91
extractSporadic.q
list q
Definition: extractSporadic.py:98
ITk::SiSpacePointForSeed::dzdr
const float & dzdr() const
Definition: ITkSiSpacePointForSeed.h:71
ITk::SiSpacePointForSeed::m_b1
float m_b1[3]
Definition: ITkSiSpacePointForSeed.h:103
ITk::SiSpacePointForSeed::m_b0
float m_b0[3]
Definition: ITkSiSpacePointForSeed.h:102
python.compressB64.c
def c
Definition: compressB64.py:93
readCCLHist.float
float
Definition: readCCLHist.py:83
InDet::SiCluster
Definition: InnerDetector/InDetRecEvent/InDetPrepRawData/InDetPrepRawData/SiCluster.h:40
ITk::SiSpacePointForSeed::m_r
float m_r
Definition: ITkSiSpacePointForSeed.h:90