ATLAS Offline Software
TrackParticleVertexAssociationTool.h
Go to the documentation of this file.
1 // This file's extension implies that it's C, but it's really -*- C++ -*-.
2 
3 /*
4  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 // $Id$
14 #ifndef TRACKD3PDMAKER_TRACKPARTICLEVERTEXASSOCIATIONTOOL_H
15 #define TRACKD3PDMAKER_TRACKPARTICLEVERTEXASSOCIATIONTOOL_H
16 
19 #include "xAODTracking/VertexFwd.h"
21 
22 namespace Trk {
23  class VxCandidate;
24 }
25 namespace Rec {
26  class TrackParticle;
27 }
28 
29 namespace D3PD {
30 
35  : public SingleAssociationTool<Types<Rec::TrackParticle, xAOD::TrackParticle>,
36  Types<Trk::VxCandidate, xAOD::Vertex> >
37 {
38 public:
41 
48  TrackParticleVertexAssociationTool (const std::string& type,
49  const std::string& name,
50  const IInterface* parent);
51 
53  virtual StatusCode initialize() override;
54  virtual StatusCode book() final;
55 
56 
63  virtual const Trk::VxCandidate* get (const Rec::TrackParticle& p) override;
64 
65 
72  virtual const xAOD::Vertex* get (const xAOD::TrackParticle& p) override;
73 
74 
75 private:
76 
78  std::string m_targetSGKey;
79 
81  bool m_fast;
82 
84  float *m_weight;
85 
87  SG::ReadHandleKey<xAOD::VertexContainer> m_vertexKey { this, "VertexContainer", "PrimaryVertices", "primary vertex container" };
88 
89 }; // class TrackParticleVertexAssociationTool
90 
91 } // namespace D3PD
92 
93 #endif // not TRACKD3PDMAKER_TRACKPARTICLEVERTEXASSOCIATIONTOOL_H
SG
Forward declaration.
Definition: CaloCellPacker_400_500.h:32
xAOD::Vertex
Vertex_v1 Vertex
Define the latest version of the vertex class.
Definition: Event/xAOD/xAODTracking/xAODTracking/Vertex.h:16
D3PD::TrackParticleVertexAssociationTool::TrackParticleVertexAssociationTool
TrackParticleVertexAssociationTool(const std::string &type, const std::string &name, const IInterface *parent)
Standard Gaudi tool constructor.
Definition: TrackParticleVertexAssociationTool.cxx:32
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition: ICaloAffectedTool.h:24
D3PD::SingleAssociationTool
Type-safe wrapper for single associator tools.
Definition: SingleAssociationTool.h:133
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:560
xAOD::VertexContainer
VertexContainer_v1 VertexContainer
Definition of the current "Vertex container version".
Definition: VertexContainer.h:14
D3PD::Types
std::tuple< WrapType< TYPES >... > Types
A simple tuple of multiple types.
Definition: PhysicsAnalysis/D3PDMaker/D3PDMakerUtils/D3PDMakerUtils/Types.h:61
D3PD::TrackParticleVertexAssociationTool::book
virtual StatusCode book() final
book ntuple variables
Definition: TrackParticleVertexAssociationTool.cxx:55
D3PD::TrackParticleVertexAssociationTool::get
virtual const Trk::VxCandidate * get(const Rec::TrackParticle &p) override
Return the target object.
Definition: TrackParticleVertexAssociationTool.cxx:68
xAOD::TrackParticle
TrackParticle_v1 TrackParticle
Reference the current persistent version:
Definition: Event/xAOD/xAODTracking/xAODTracking/TrackParticle.h:13
SingleAssociationTool.h
Type-safe wrapper for single associator tools.
D3PD
Block filler tool for noisy FEB information.
Definition: CaloCellDetailsFillerTool.cxx:29
D3PD::TrackParticleVertexAssociationTool
Associate from a TrackParticle to its reconstructed vertex.
Definition: TrackParticleVertexAssociationTool.h:37
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
Rec
Name: MuonSpContainer.h Package : offline/Reconstruction/MuonIdentification/muonEvent.
Definition: FakeTrackBuilder.h:10
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
D3PD::TrackParticleVertexAssociationTool::m_targetSGKey
std::string m_targetSGKey
SG key for target collection.
Definition: TrackParticleVertexAssociationTool.h:78
test_pyathena.parent
parent
Definition: test_pyathena.py:15
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
D3PD::TrackParticleVertexAssociationTool::m_fast
bool m_fast
flag to just return whatever is returned by TrackParticle::reconstructedVertex()
Definition: TrackParticleVertexAssociationTool.h:81
private
#define private
Definition: DetDescrConditionsDict_dict_fixes.cxx:13
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
VertexFwd.h
VertexContainer.h
D3PD::TrackParticleVertexAssociationTool::initialize
virtual StatusCode initialize() override
Standard Gaudi initialize method.
Definition: TrackParticleVertexAssociationTool.cxx:46
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
D3PD::TrackParticleVertexAssociationTool::m_vertexKey
SG::ReadHandleKey< xAOD::VertexContainer > m_vertexKey
xAOD vertex container handle key
Definition: TrackParticleVertexAssociationTool.h:87
D3PD::TrackParticleVertexAssociationTool::m_weight
float * m_weight
weight of the track at the associated vertex
Definition: TrackParticleVertexAssociationTool.h:84
TrackParticleContainerFwd.h
D3PD::TrackParticleVertexAssociationTool::Base
SingleAssociationTool< Types< Rec::TrackParticle, xAOD::TrackParticle >, Types< Trk::VxCandidate, xAOD::Vertex > > Base
Definition: TrackParticleVertexAssociationTool.h:40