ATLAS Offline Software
VertexTrackParticleAssociationTool.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 #ifndef TRACKD3PDMAKER_VERTEXTRACKPARTICLEASSOCIATIONTOOL_H
8 #define TRACKD3PDMAKER_VERTEXTRACKPARTICLEASSOCIATIONTOOL_H
9 
11 #include "Particle/TrackParticle.h"
13 #include "xAODTracking/Vertex.h"
14 
15 #include <vector>
16 
17 namespace Trk{
18 class VxCandidate;
19 class VxTrackAtVertex;
20 }
21 
22 namespace D3PD {
23 
24 
26  : public MultiAssociationTool<Types<Trk::VxCandidate, xAOD::Vertex>,
27  Types<Rec::TrackParticle, xAOD::TrackParticle> >
28 {
29 public:
32  using Base::next;
33 
34  VertexTrackParticleAssociationTool (const std::string& type,
35  const std::string& name,
36  const IInterface* parent);
37 
38 
40  virtual StatusCode book() final;
41 
42 
47  virtual StatusCode reset (const Trk::VxCandidate& p) override;
48 
49 
54  virtual StatusCode reset (const xAOD::Vertex& p) override;
55 
56 
62  virtual const Rec::TrackParticle* next (const Trk::VxCandidate* dummy) override;
63 
64 
70  virtual const xAOD::TrackParticle* next (const xAOD::Vertex* dummy) override;
71 
72 
73 private:
75  float* m_weight;
76 
77  const Trk::VxCandidate* m_aod_vx;
79  size_t m_itrack;
80 };
81 
82 
83 } // namespace D3PD
84 
85 
86 #endif // not TRACKD3PDMAKER_VERTEXTRACKPARTICLEASSOCIATIONTOOL_H
MultiAssociationTool.h
Type-safe wrapper for multiple-target associator tools.
TrackParticle.h
xAOD::Vertex
Vertex_v1 Vertex
Define the latest version of the vertex class.
Definition: Event/xAOD/xAODTracking/xAODTracking/Vertex.h:16
D3PD::VertexTrackParticleAssociationTool::book
virtual StatusCode book() final
Book variables for this block.
Definition: VertexTrackParticleAssociationTool.cxx:32
D3PD::VertexTrackParticleAssociationTool::Base
MultiAssociationTool< Types< Trk::VxCandidate, xAOD::Vertex >, Types< Rec::TrackParticle, xAOD::TrackParticle > > Base
Definition: VertexTrackParticleAssociationTool.h:31
D3PD::MultiAssociationTool
Type-safe wrapper for multiple-target associator tools.
Definition: MultiAssociationTool.h:158
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition: ICaloAffectedTool.h:24
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:560
D3PD::Types
std::tuple< WrapType< TYPES >... > Types
A simple tuple of multiple types.
Definition: PhysicsAnalysis/D3PDMaker/D3PDMakerUtils/D3PDMakerUtils/Types.h:61
D3PD::VertexTrackParticleAssociationTool::m_itrack
size_t m_itrack
Definition: VertexTrackParticleAssociationTool.h:79
xAOD::TrackParticle
TrackParticle_v1 TrackParticle
Reference the current persistent version:
Definition: Event/xAOD/xAODTracking/xAODTracking/TrackParticle.h:13
D3PD::MultiAssociationToolTo< Types< Rec::TrackParticle, xAOD::TrackParticle > >::next
virtual const Types< Rec::TrackParticle, xAOD::TrackParticle > * next()=0
Return a pointer to the next element in the association.
D3PD::VertexTrackParticleAssociationTool::VertexTrackParticleAssociationTool
VertexTrackParticleAssociationTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition: VertexTrackParticleAssociationTool.cxx:17
D3PD
Block filler tool for noisy FEB information.
Definition: CaloCellDetailsFillerTool.cxx:29
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
test_pyathena.parent
parent
Definition: test_pyathena.py:15
python.xAODType.dummy
dummy
Definition: xAODType.py:4
D3PD::VertexTrackParticleAssociationTool::reset
virtual StatusCode reset(const Trk::VxCandidate &p) override
Start the iteration for a new association.
Definition: VertexTrackParticleAssociationTool.cxx:43
D3PD::VertexTrackParticleAssociationTool::m_xaod_vx
const xAOD::Vertex * m_xaod_vx
Definition: VertexTrackParticleAssociationTool.h:78
Vertex.h
D3PD::VertexTrackParticleAssociationTool
Definition: VertexTrackParticleAssociationTool.h:28
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
D3PD::VertexTrackParticleAssociationTool::m_aod_vx
const Trk::VxCandidate * m_aod_vx
Definition: VertexTrackParticleAssociationTool.h:77
private
#define private
Definition: DetDescrConditionsDict_dict_fixes.cxx:13
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
TrackParticle.h
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
D3PD::VertexTrackParticleAssociationTool::m_weight
float * m_weight
Variable: Track weight.
Definition: VertexTrackParticleAssociationTool.h:75