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 *, std::span< float const, 15 >)
 
 SiSpacePointForSeed (const Trk::SpacePoint *, std::span< float const, 15 >, std::span< float const, 15 >)
 
void set (const Trk::SpacePoint *, std::span< float const, 15 >)
 
void set (const Trk::SpacePoint *, std::span< float const, 15 >, std::span< float const, 15 >)
 
void setQuality (float)
 
void setParam (float p)
 
void setDR (float dr)
 
void setDZDR (float dzdr)
 
void setEta (float eta)
 
void setScorePenalty (float score)
 
void setPt (const float pt)
 
float x () const
 
float y () const
 
float z () const
 
float radius () const
 
float phi () const
 
float covr () const
 
float covz () const
 
float param () const
 
float quality () const
 
float dzdr () const
 
float eta () const
 
float pt () const
 
float scorePenalty () 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 34 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 sp,
std::span< float const, 15 >  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 sp,
std::span< float const, 15 >  r,
std::span< float const, 15 >  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 79 of file ITkSiSpacePointForSeed.h.

79 {return m_b0;}

◆ b1()

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

Definition at line 80 of file ITkSiSpacePointForSeed.h.

80 {return m_b1;}

◆ coordinates()

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

Definition at line 127 of file ITkSiSpacePointForSeed.cxx.

128  {
129  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]};
130  float bd = m_b1[0]*d1[0]+m_b1[1]*d1[1]+m_b1[2]*d1[2];
131 
132  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;
133 
134  float s0 = m_dr[0]*(m_b1[1]*d[2]-m_b1[2]*d[1])+
135  m_dr[1]*(m_b1[2]*d[0]-m_b1[0]*d[2])+
136  m_dr[2]*(m_b1[0]*d[1]-m_b1[1]*d[0]);
137  if(std::abs(s0) > std::abs(bd)*1.1) return false;
138 
139  s0/=bd;
140  r[0] = m_r0[0]+m_b0[0]*s0;
141  r[1] = m_r0[1]+m_b0[1]*s0;
142  r[2] = m_r0[2]+m_b0[2]*s0;
143  return true;
144  }

◆ covr()

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

Definition at line 68 of file ITkSiSpacePointForSeed.h.

68 {return m_covr;}

◆ covz()

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

Definition at line 69 of file ITkSiSpacePointForSeed.h.

69 {return m_covz;}

◆ dR()

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

penalty term in the seed score

Definition at line 76 of file ITkSiSpacePointForSeed.h.

76 {return m_dR;}

◆ dr()

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

Definition at line 81 of file ITkSiSpacePointForSeed.h.

81 {return m_dr;}

◆ dzdr()

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

Definition at line 72 of file ITkSiSpacePointForSeed.h.

72 {return m_dzdr;}

◆ eta()

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

Definition at line 73 of file ITkSiSpacePointForSeed.h.

73 {return m_eta;}

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

◆ param()

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

Definition at line 70 of file ITkSiSpacePointForSeed.h.

70 {return m_param;}

◆ phi()

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

Definition at line 67 of file ITkSiSpacePointForSeed.h.

67 {return atan2(m_y,m_x);}

◆ pt()

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

Definition at line 74 of file ITkSiSpacePointForSeed.h.

74 {return m_pt;}

◆ quality()

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

Definition at line 71 of file ITkSiSpacePointForSeed.h.

71 {return m_q ;}

◆ r0()

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

Definition at line 82 of file ITkSiSpacePointForSeed.h.

82 {return m_r0;}

◆ radius()

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

Definition at line 66 of file ITkSiSpacePointForSeed.h.

66 {return m_r;}

◆ scorePenalty()

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

Definition at line 75 of file ITkSiSpacePointForSeed.h.

75 {return m_scorePenalty;}

◆ set() [1/2]

void ITk::SiSpacePointForSeed::set ( const Trk::SpacePoint sp,
std::span< float const, 15 >  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*.08333f; 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.f*f22; m_covr = .1f;}
64  else {m_covr = 8.f*f22; m_covz = .1f;}
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 sp,
std::span< float const, 15 >  r,
std::span< float const, 15 >  sc 
)

Definition at line 83 of file ITkSiSpacePointForSeed.cxx.

85  {
86  m_sn = nullptr;
87  spacepoint = sp ;
88  m_x = r[0];
89  m_y = r[1];
90  m_z = r[2];
91  m_r =std::sqrt(m_x*m_x+m_y*m_y);
92  m_q = 100000.;
93 
94  const InDet::SiCluster* c = static_cast<const InDet::SiCluster*>(sp->clusterList().first);
95  const InDetDD::SiDetectorElement* de = c ->detectorElement();
96 
97  if( de->isPixel() ) {
98  const Amg::MatrixX& v = c->localCovariance();
99  float f22 = float(v(1,1));
100  float wid = float(c->width().z());
101  float cov = wid*wid*.08333f; if(cov < f22) cov = f22;
102  cov*=6.;
103  m_covz = cov*(r[3]*r[3]+r[4]*r[4]);
104  m_covr = cov*(r[5]*r[5]);
105  } else {
106  const Amg::MatrixX& v = sp->localCovariance();
107  float f22 = float(v(1,1));
108  if(de->isBarrel()) {m_covz = 8.f*f22*sc[2]; m_covr = .1f;}
109  else {m_covr = 8.f*f22*sc[3]; m_covz = .1f;}
110  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];}
111  }
112  m_su = &sp->clusterList().first->detectorElement()->surface();
113  }

◆ setDR()

void ITk::SiSpacePointForSeed::setDR ( float  dr)
inline

Definition at line 56 of file ITkSiSpacePointForSeed.h.

56 { m_dR = dr;}

◆ setDZDR()

void ITk::SiSpacePointForSeed::setDZDR ( float  dzdr)
inline

Definition at line 57 of file ITkSiSpacePointForSeed.h.

57 { m_dzdr = dzdr; }

◆ setEta()

void ITk::SiSpacePointForSeed::setEta ( float  eta)
inline

Definition at line 58 of file ITkSiSpacePointForSeed.h.

58 { m_eta = eta; }

◆ setParam()

void ITk::SiSpacePointForSeed::setParam ( float  p)
inline

Definition at line 55 of file ITkSiSpacePointForSeed.h.

55 { m_param = p; }

◆ setPt()

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

Definition at line 60 of file ITkSiSpacePointForSeed.h.

60 { m_pt = pt; }

◆ setQuality()

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

Definition at line 115 of file ITkSiSpacePointForSeed.cxx.

116  {
117  if(q <= m_q) m_q = q;
118  }

◆ setScorePenalty()

void ITk::SiSpacePointForSeed::setScorePenalty ( float  score)
inline

Definition at line 59 of file ITkSiSpacePointForSeed.h.

◆ sun()

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

Definition at line 78 of file ITkSiSpacePointForSeed.h.

78 {return m_sn;}

◆ sur()

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

distance between top and central SP

Definition at line 77 of file ITkSiSpacePointForSeed.h.

77 {return m_su;}

◆ x()

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

Definition at line 63 of file ITkSiSpacePointForSeed.h.

63 {return m_x;}

◆ y()

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

Definition at line 64 of file ITkSiSpacePointForSeed.h.

64 {return m_y;}

◆ z()

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

Definition at line 65 of file ITkSiSpacePointForSeed.h.

65 {return m_z;}

Member Data Documentation

◆ m_b0

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

Definition at line 103 of file ITkSiSpacePointForSeed.h.

◆ m_b1

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

Definition at line 104 of file ITkSiSpacePointForSeed.h.

◆ m_covr

float ITk::SiSpacePointForSeed::m_covr {}
private

Definition at line 92 of file ITkSiSpacePointForSeed.h.

◆ m_covz

float ITk::SiSpacePointForSeed::m_covz {}
private

Definition at line 93 of file ITkSiSpacePointForSeed.h.

◆ m_dR

float ITk::SiSpacePointForSeed::m_dR {}
private

penalty term in the seed score

Definition at line 97 of file ITkSiSpacePointForSeed.h.

◆ m_dr

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

Definition at line 105 of file ITkSiSpacePointForSeed.h.

◆ m_dzdr

float ITk::SiSpacePointForSeed::m_dzdr {}
private

Definition at line 100 of file ITkSiSpacePointForSeed.h.

◆ m_eta

float ITk::SiSpacePointForSeed::m_eta {}
private

Definition at line 98 of file ITkSiSpacePointForSeed.h.

◆ m_param

float ITk::SiSpacePointForSeed::m_param {}
private

Definition at line 94 of file ITkSiSpacePointForSeed.h.

◆ m_pt

float ITk::SiSpacePointForSeed::m_pt {}
private

Definition at line 99 of file ITkSiSpacePointForSeed.h.

◆ m_q

float ITk::SiSpacePointForSeed::m_q {}
private

Definition at line 95 of file ITkSiSpacePointForSeed.h.

◆ m_r

float ITk::SiSpacePointForSeed::m_r {}
private

Definition at line 91 of file ITkSiSpacePointForSeed.h.

◆ m_r0

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

Definition at line 106 of file ITkSiSpacePointForSeed.h.

◆ m_scorePenalty

float ITk::SiSpacePointForSeed::m_scorePenalty {}
private

Definition at line 96 of file ITkSiSpacePointForSeed.h.

◆ m_sn

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

Definition at line 109 of file ITkSiSpacePointForSeed.h.

◆ m_su

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

Definition at line 108 of file ITkSiSpacePointForSeed.h.

◆ m_x

float ITk::SiSpacePointForSeed::m_x {}
private

Definition at line 88 of file ITkSiSpacePointForSeed.h.

◆ m_y

float ITk::SiSpacePointForSeed::m_y {}
private

Definition at line 89 of file ITkSiSpacePointForSeed.h.

◆ m_z

float ITk::SiSpacePointForSeed::m_z {}
private

Definition at line 90 of file ITkSiSpacePointForSeed.h.

◆ spacepoint

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

Definition at line 62 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:672
ITk::SiSpacePointForSeed::m_dzdr
float m_dzdr
Definition: ITkSiSpacePointForSeed.h:100
Amg::MatrixX
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
Definition: EventPrimitives.h:27
ITk::SiSpacePointForSeed::m_scorePenalty
float m_scorePenalty
Definition: ITkSiSpacePointForSeed.h:96
ITk::SiSpacePointForSeed::eta
float eta() const
Definition: ITkSiSpacePointForSeed.h:73
hist_file_dump.d
d
Definition: hist_file_dump.py:142
ITk::SiSpacePointForSeed::m_r0
float m_r0[3]
Definition: ITkSiSpacePointForSeed.h:106
plotBeamSpotVxVal.cov
cov
Definition: plotBeamSpotVxVal.py:200
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:105
ITk::SiSpacePointForSeed::m_y
float m_y
Definition: ITkSiSpacePointForSeed.h:89
ITk::SiSpacePointForSeed::dzdr
float dzdr() const
Definition: ITkSiSpacePointForSeed.h:72
ITk::SiSpacePointForSeed::m_sn
const Trk::Surface * m_sn
Definition: ITkSiSpacePointForSeed.h:109
ITk::SiSpacePointForSeed::pt
float pt() const
Definition: ITkSiSpacePointForSeed.h:74
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
PyPoolBrowser.bd
bd
Definition: PyPoolBrowser.py:125
ITk::SiSpacePointForSeed::m_pt
float m_pt
Definition: ITkSiSpacePointForSeed.h:99
ITk::SiSpacePointForSeed::m_su
const Trk::Surface * m_su
Definition: ITkSiSpacePointForSeed.h:108
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:209
ITk::SiSpacePointForSeed::spacepoint
const Trk::SpacePoint * spacepoint
Definition: ITkSiSpacePointForSeed.h:62
lumiFormat.i
int i
Definition: lumiFormat.py:85
ITk::SiSpacePointForSeed::dr
const float * dr() const
Definition: ITkSiSpacePointForSeed.h:81
ITk::SiSpacePointForSeed::m_z
float m_z
Definition: ITkSiSpacePointForSeed.h:90
ITk::SiSpacePointForSeed::m_q
float m_q
Definition: ITkSiSpacePointForSeed.h:95
ITk::SiSpacePointForSeed::m_x
float m_x
Definition: ITkSiSpacePointForSeed.h:88
ITk::SiSpacePointForSeed::m_param
float m_param
Definition: ITkSiSpacePointForSeed.h:94
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:97
ITk::SiSpacePointForSeed::m_eta
float m_eta
Definition: ITkSiSpacePointForSeed.h:98
ITk::SiSpacePointForSeed::m_covz
float m_covz
Definition: ITkSiSpacePointForSeed.h:93
xAOD::score
@ score
Definition: TrackingPrimitives.h:514
ITk::SiSpacePointForSeed::set
void set(const Trk::SpacePoint *, std::span< float const, 15 >)
Definition: ITkSiSpacePointForSeed.cxx:36
python.PyAthena.v
v
Definition: PyAthena.py:154
ITk::SiSpacePointForSeed::m_covr
float m_covr
Definition: ITkSiSpacePointForSeed.h:92
extractSporadic.q
list q
Definition: extractSporadic.py:97
ITk::SiSpacePointForSeed::m_b1
float m_b1[3]
Definition: ITkSiSpacePointForSeed.h:104
ITk::SiSpacePointForSeed::m_b0
float m_b0[3]
Definition: ITkSiSpacePointForSeed.h:103
python.compressB64.c
def c
Definition: compressB64.py:93
InDet::SiCluster
Definition: InnerDetector/InDetRecEvent/InDetPrepRawData/InDetPrepRawData/SiCluster.h:40
ITk::SiSpacePointForSeed::m_r
float m_r
Definition: ITkSiSpacePointForSeed.h:91
python.LArMinBiasAlgConfig.float
float
Definition: LArMinBiasAlgConfig.py:65