ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
InnerDetector
InDetRecEvent
SiSpacePoint
src
SCT_SpacePoint.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
SiSpacePoint/SCT_SpacePoint.h
"
6
7
#include <memory>
8
#include <ostream>
9
#include <sstream>
10
11
#include "
EventPrimitives/EventPrimitivesToStringConverter.h
"
12
#include "
GeoPrimitives/GeoPrimitivesToStringConverter.h
"
13
#include "
TrkEventPrimitives/LocalParameters.h
"
14
#include "
TrkPrepRawData/PrepRawData.h
"
15
#include "
TrkSurfaces/Surface.h
"
16
17
namespace
InDet
{
18
//-------------------------------------------------------------
19
20
SCT_SpacePoint::SCT_SpacePoint
(
21
const
std::pair<IdentifierHash, IdentifierHash>&
elementIdList
,
22
const
Amg::Vector3D
& position,
23
const
std::pair<const Trk::PrepRawData*, const Trk::PrepRawData*>& clusList)
24
:
Trk
::
SpacePoint
() {
25
setup
(
elementIdList
, position, clusList);
26
setupLocalCovarianceSCT
();
27
setupGlobalFromLocalCovariance
();
28
}
29
30
//-------------------------------------------------------------
31
32
void
SCT_SpacePoint::setup
(
33
const
std::pair<IdentifierHash, IdentifierHash>&
elementIdList
,
34
const
Amg::Vector3D
& position,
35
const
std::pair<const Trk::PrepRawData*, const Trk::PrepRawData*>&
36
clusList) {
37
m_clusList
= clusList;
38
m_position
= position;
39
m_elemIdList
.first =
elementIdList
.first;
40
m_elemIdList
.second =
elementIdList
.second;
41
assert((clusList.first != 0) && (clusList.second != 0));
42
assert(clusList.first->detectorElement());
43
std::optional<Amg::Vector2D> locpos{
44
clusList.first->detectorElement()->surface().globalToLocal(position)};
45
assert(locpos);
46
Trk::MeasurementBase::m_localParams
=
Trk::LocalParameters
(*locpos);
47
}
48
49
//-------------------------------------------------------------
50
51
void
SCT_SpacePoint::setupLocalCovarianceSCT
() {
52
53
/* For performance reason only, the error is assumed constant.
54
numbers are taken from
55
Trigger/TrigTools/TrigOfflineSpacePointTool/OfflineSpacePointProviderTool
56
*/
57
constexpr
double
deltaY = 0.0004;
// roughly pitch of SCT (80 mu) / sqrt(12)
58
constexpr
double
offdiag = 25. * deltaY;
59
constexpr
double
elem11 = 1600. * deltaY;
60
Amg::MatrixX
cov(2, 2);
61
cov << deltaY, offdiag,
62
offdiag, elem11;
63
64
Trk::MeasurementBase::m_localCovariance
= std::move(cov);
65
}
66
67
//-------------------------------------------------------------
68
69
MsgStream&
SCT_SpacePoint::dump
(MsgStream& out)
const
{
70
std::ostringstream os;
71
dump
(os);
72
out << os.str();
73
return
out;
74
}
75
76
//-------------------------------------------------------------
77
78
std::ostream&
SCT_SpacePoint::dump
(std::ostream& out)
const
{
79
const
std::string lf{
"\n"
};
// linefeed
80
out <<
"SCT_SpacePoint contains: "
<< lf;
81
out <<
"Identifier Hashes ( "
<< int(this->
elementIdList
().first) <<
" , "
;
82
out << int(this->
elementIdList
().second) <<
" ) "
<< lf;
83
out <<
"Global Position: "
<<
Amg::toString
(this->
globalPosition
(), 3) << lf;
84
out <<
"Global Covariance Matrix "
<<
Amg::toString
(this->globCovariance(), 3)
85
<< lf;
86
out <<
"Local Parameters "
<< this->
localParameters
() << lf;
87
out <<
"Local Covariance "
<<
Amg::toString
(this->
localCovariance
()) << lf;
88
out <<
"Cluster 1 :"
<< lf << (*this->
clusterList
().first) << lf;
89
out <<
"Cluster 2 :"
<< lf << (*this->
clusterList
().second) << std::endl;
90
91
return
out;
92
}
93
94
}
// end of namespace InDet
95
EventPrimitivesToStringConverter.h
GeoPrimitivesToStringConverter.h
LocalParameters.h
PrepRawData.h
SCT_SpacePoint.h
Surface.h
InDet::SCT_SpacePoint::dump
virtual MsgStream & dump(MsgStream &out) const override final
Interface method for output, to be overloaded by child classes*.
Definition
SCT_SpacePoint.cxx:69
InDet::SCT_SpacePoint::SCT_SpacePoint
SCT_SpacePoint()=default
Default constructor.
InDet::SCT_SpacePoint::setup
void setup(const std::pair< IdentifierHash, IdentifierHash > &elementIdList, const Amg::Vector3D &position, const std::pair< const Trk::PrepRawData *, const Trk::PrepRawData * > &clusList)
common method used in constructors.
Definition
SCT_SpacePoint.cxx:32
InDet::SCT_SpacePoint::setupLocalCovarianceSCT
void setupLocalCovarianceSCT()
method to set up the local Covariance Matrix.
Definition
SCT_SpacePoint.cxx:51
Trk::LocalParameters
Definition
LocalParameters.h:100
Trk::MeasurementBase::localParameters
const LocalParameters & localParameters() const
Interface method to get the LocalParameters.
Definition
MeasurementBase.h:132
Trk::MeasurementBase::localCovariance
const Amg::MatrixX & localCovariance() const
Interface method to get the localError.
Definition
MeasurementBase.h:138
Trk::MeasurementBase::m_localParams
LocalParameters m_localParams
Definition
MeasurementBase.h:111
Trk::MeasurementBase::m_localCovariance
Amg::MatrixX m_localCovariance
Definition
MeasurementBase.h:112
Trk::SpacePoint::m_position
Amg::Vector3D m_position
Definition
Tracking/TrkEvent/TrkSpacePoint/TrkSpacePoint/SpacePoint.h:99
Trk::SpacePoint::SpacePoint
SpacePoint()
Definition
Tracking/TrkEvent/TrkSpacePoint/src/SpacePoint.cxx:30
Trk::SpacePoint::setupGlobalFromLocalCovariance
void setupGlobalFromLocalCovariance()
set up the global covariance matrix by rotating the local one
Definition
Tracking/TrkEvent/TrkSpacePoint/src/SpacePoint.cxx:63
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
Trk::SpacePoint::m_elemIdList
std::pair< IdentifierHash, IdentifierHash > m_elemIdList
Definition
Tracking/TrkEvent/TrkSpacePoint/TrkSpacePoint/SpacePoint.h:98
Trk::SpacePoint::globalPosition
virtual const Amg::Vector3D & globalPosition() const override final
Interface method to get the global Position.
Definition
Tracking/TrkEvent/TrkSpacePoint/TrkSpacePoint/SpacePoint.h:146
Trk::SpacePoint::elementIdList
const std::pair< IdentifierHash, IdentifierHash > & elementIdList() const
return the pair of Ids of the element by reference
Definition
Tracking/TrkEvent/TrkSpacePoint/TrkSpacePoint/SpacePoint.h:122
Trk::SpacePoint::m_clusList
std::pair< const PrepRawData *, const PrepRawData * > m_clusList
Definition
Tracking/TrkEvent/TrkSpacePoint/TrkSpacePoint/SpacePoint.h:97
Amg::toString
std::string toString(const Translation3D &translation, int precision=4)
GeoPrimitvesToStringConverter.
Definition
GeoPrimitivesToStringConverter.h:40
Amg::MatrixX
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
Definition
EventPrimitives.h:27
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition
GeoPrimitives.h:47
InDet
Primary Vertex Finder.
Definition
VP1ErrorUtils.h:36
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition
FakeTrackBuilder.h:9
dump
-event-from-file
Generated on
for ATLAS Offline Software by
1.17.0