ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
PhysicsAnalysis
D3PDMaker
TrackD3PDMaker
src
TrackParticlePerigeeAtBSAssociationTool.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3
*/
10
11
#include "
TrackParticlePerigeeAtBSAssociationTool.h
"
12
13
#include "
AthenaKernel/errorcheck.h
"
14
15
namespace
D3PD
{
16
17
18
StatusCode
TrackParticlePerigeeAtBSAssociationTool::initialize
(){
19
20
CHECK
( Base::initialize() );
21
22
ATH_CHECK
(
m_beamSpotKey
.initialize());
23
24
// Pick up the TrackToVertex tool
25
StatusCode
sc
=
m_trackToVertexTool
.retrieve();
26
if
(
sc
.isFailure()){
27
REPORT_MESSAGE
(MSG::ERROR) <<
"Could not retrieve TrackToVertexTool"
;
28
return
StatusCode::FAILURE;
29
}
30
31
return
StatusCode::SUCCESS;
32
}
33
34
41
const
Trk::TrackParameters
*
42
TrackParticlePerigeeAtBSAssociationTool::get
(
const
xAOD::TrackParticle
& track)
43
{
45
Amg::Vector3D
beamSpot(0,0,0);
46
SG::ReadCondHandle<InDet::BeamSpotData>
beamSpotHandle {
m_beamSpotKey
};
47
beamSpot = beamSpotHandle->beamVtx().position();
48
49
return
m_trackToVertexTool
->perigeeAtVertex(Gaudi::Hive::currentContext(), track, beamSpot).release();
50
}
51
61
void
TrackParticlePerigeeAtBSAssociationTool::releaseObject
(
const
Trk::TrackParameters
* p)
62
{
63
if
(p)
delete
p;
64
}
65
66
}
// namespace D3PD
ATH_CHECK
#define ATH_CHECK
Evaluate an expression and check for errors.
Definition
AthCheckMacros.h:40
errorcheck.h
Helpers for checking error return status codes and reporting errors.
REPORT_MESSAGE
#define REPORT_MESSAGE(LVL)
Report a message.
Definition
Control/AthenaKernel/AthenaKernel/errorcheck.h:365
CHECK
#define CHECK(...)
Evaluate an expression and check for errors.
Definition
Control/AthenaKernel/AthenaKernel/errorcheck.h:422
sc
static Double_t sc
Definition
LArPhysWaveHECTool.cxx:37
TrackParticlePerigeeAtBSAssociationTool.h
Associate from a TrackParticle to its perigee at the beam spot.
D3PD::TrackParticlePerigeeAtBSAssociationTool::m_trackToVertexTool
ToolHandle< Reco::ITrackToVertex > m_trackToVertexTool
Definition
TrackParticlePerigeeAtBSAssociationTool.h:61
D3PD::TrackParticlePerigeeAtBSAssociationTool::initialize
virtual StatusCode initialize() override
Definition
TrackParticlePerigeeAtBSAssociationTool.cxx:18
D3PD::TrackParticlePerigeeAtBSAssociationTool::m_beamSpotKey
SG::ReadCondHandleKey< InDet::BeamSpotData > m_beamSpotKey
Definition
TrackParticlePerigeeAtBSAssociationTool.h:57
D3PD::TrackParticlePerigeeAtBSAssociationTool::get
virtual const Trk::TrackParameters * get(const xAOD::TrackParticle &p) override
Return the target object.
Definition
TrackParticlePerigeeAtBSAssociationTool.cxx:42
D3PD::TrackParticlePerigeeAtBSAssociationTool::releaseObject
virtual void releaseObject(const Trk::TrackParameters *p) override
Release an object retrieved from the association.
Definition
TrackParticlePerigeeAtBSAssociationTool.cxx:61
SG::ReadCondHandle
Definition
ReadCondHandle.h:40
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition
GeoPrimitives.h:47
D3PD
Block filler tool for noisy FEB information.
Definition
CaloCellDetailsFillerTool.cxx:29
Trk::TrackParameters
ParametersBase< TrackParametersDim, Charged > TrackParameters
Definition
Tracking/TrkEvent/TrkParameters/TrkParameters/TrackParameters.h:27
xAOD::TrackParticle
TrackParticle_v1 TrackParticle
Reference the current persistent version:
Definition
Event/xAOD/xAODTracking/xAODTracking/TrackParticle.h:13
Generated on
for ATLAS Offline Software by
1.17.0