ATLAS Offline Software
List of all members
ActsTrk::PixelSpacePointFormationTool Class Reference

#include <PixelSpacePointFormationTool.h>

Inheritance diagram for ActsTrk::PixelSpacePointFormationTool:
Collaboration diagram for ActsTrk::PixelSpacePointFormationTool:

Public Member Functions

AthAlgTool methods
 PixelSpacePointFormationTool (const std::string &type, const std::string &name, const IInterface *parent)
 
virtual ~PixelSpacePointFormationTool ()=default
 
virtual StatusCode initialize () override
 
Production of space points
virtual StatusCode producePixelSpacePoint (const xAOD::PixelCluster &cluster, xAOD::SpacePoint &sp, const InDetDD::SiDetectorElement &element) const override
 

Private Attributes

Id helpers
const PixelIDm_pixelId {}
 

Static Private Attributes

Static constant expression

Values used in calculating covariance terms

static constexpr double s_oneOverTwelve {0.08333}
 

Detailed Description

Tool to produce pixel space points. Pixel space points are obtained directly from the clusters, with needed evaluation of the space point covariance terms Space points are then recorded to storegate as ActsTrk::SpacePoint into an ActsTrk::SpacePointContainer in the PixelSpacePointFormationAlgorithm

Definition at line 28 of file PixelSpacePointFormationTool.h.

Constructor & Destructor Documentation

◆ PixelSpacePointFormationTool()

ActsTrk::PixelSpacePointFormationTool::PixelSpacePointFormationTool ( const std::string &  type,
const std::string &  name,
const IInterface *  parent 
)

Definition at line 14 of file PixelSpacePointFormationTool.cxx.

17  : base_class(type, name, parent)
18  {}

◆ ~PixelSpacePointFormationTool()

virtual ActsTrk::PixelSpacePointFormationTool::~PixelSpacePointFormationTool ( )
virtualdefault

Member Function Documentation

◆ initialize()

StatusCode ActsTrk::PixelSpacePointFormationTool::initialize ( )
overridevirtual

Definition at line 20 of file PixelSpacePointFormationTool.cxx.

20  {
21 
22  ATH_CHECK(detStore()->retrieve(m_pixelId,"PixelID"));
23 
24  return StatusCode::SUCCESS;
25  }

◆ producePixelSpacePoint()

StatusCode ActsTrk::PixelSpacePointFormationTool::producePixelSpacePoint ( const xAOD::PixelCluster cluster,
xAOD::SpacePoint sp,
const InDetDD::SiDetectorElement element 
) const
overridevirtual

Definition at line 28 of file PixelSpacePointFormationTool.cxx.

31  {
32  // this is the width expressed in mm
33  float width = cluster.widthInEta();
34 
35  // using width to scale the cluster covariance for space points
36  float covTerm = width*width*s_oneOverTwelve;
37  auto localCov = cluster.localCovariance<2>();
38  if( covTerm < localCov(1, 1) )
39  covTerm = localCov(1, 1);
40 
41  // use xz, yz, zz terms of rotation matrix to scale the covariance term
42  const Amg::Transform3D &Tp = element.surface().transform();
43  float cov_z = 6.*covTerm*static_cast<float>(Tp(0, 2)*Tp(0, 2)+Tp(1, 2)*Tp(1, 2));
44  float cov_r = 6.*covTerm*static_cast<float>(Tp(2, 2)*Tp(2, 2));
45 
46  std::vector< const xAOD::UncalibratedMeasurement* > measLinks({&cluster});
47  sp.setSpacePoint(cluster.identifierHash(),
48  cluster.globalPosition(),
49  cov_r,
50  cov_z,
51  measLinks);
52 
53  return StatusCode::SUCCESS;
54  }

Member Data Documentation

◆ m_pixelId

const PixelID* ActsTrk::PixelSpacePointFormationTool::m_pixelId {}
private

Definition at line 49 of file PixelSpacePointFormationTool.h.

◆ s_oneOverTwelve

constexpr double ActsTrk::PixelSpacePointFormationTool::s_oneOverTwelve {0.08333}
staticconstexprprivate

Definition at line 54 of file PixelSpacePointFormationTool.h.


The documentation for this class was generated from the following files:
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
xAOD::UncalibratedMeasurement_v1::identifierHash
DetectorIDHashType identifierHash() const
Returns the IdentifierHash of the measurement (corresponds to the detector element IdentifierHash)
ActsTrk::PixelSpacePointFormationTool::s_oneOverTwelve
static constexpr double s_oneOverTwelve
Definition: PixelSpacePointFormationTool.h:54
ActsTrk::PixelSpacePointFormationTool::m_pixelId
const PixelID * m_pixelId
Definition: PixelSpacePointFormationTool.h:49
xAOD::PixelCluster_v1::widthInEta
float widthInEta() const
Returns the width of the cluster in phi (x) and eta (y) directions, respectively.
InDetDD::SolidStateDetectorElementBase::surface
Trk::Surface & surface()
Element Surface.
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition: GeoPrimitives.h:46
test_pyathena.parent
parent
Definition: test_pyathena.py:15
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
xAOD::UncalibratedMeasurement_v1::localCovariance
ConstMatrixMap< N > localCovariance() const
Returns the local covariance of the measurement.
xAOD::SpacePoint_v1::setSpacePoint
void setSpacePoint(DetectorIDHashType idHash, const Eigen::Matrix< float, 3, 1 > &globPos, float cov_r, float cov_z, const std::vector< const xAOD::UncalibratedMeasurement * > &measurementIndexes)
Definition: SpacePoint_v1.cxx:103
python.PyKernel.detStore
detStore
Definition: PyKernel.py:41
xAOD::PixelCluster_v1::globalPosition
ConstVectorMap< 3 > globalPosition() const
Returns the global position of the pixel cluster.
Definition: PixelCluster_v1.cxx:15
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
Base_Fragment.width
width
Definition: Sherpa_i/share/common/Base_Fragment.py:59
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
Trk::Surface::transform
const Amg::Transform3D & transform() const
Returns HepGeom::Transform3D by reference.