ATLAS Offline Software
Loading...
Searching...
No Matches
ITrackParticleCreatorTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4
6// ITrackParticleCreatorTool.h, (c) ATLAS Detector software
8#ifndef ITRKTRACKPARTICLECREATORTOOL_H
9#define ITRKTRACKPARTICLECREATORTOOL_H
10
11#include "AthLinks/ElementLink.h"
12#include "GaudiKernel/EventContext.h"
13#include "GaudiKernel/IAlgTool.h"
14#include "GaudiKernel/ThreadLocalContext.h"
15#include "TrkParticleBase/TrackParticleBase.h" // to know TrackParticleOrigin enum
17
22namespace Rec {
23class TrackParticle;
24}
25
26namespace InDet {
27class BeamSpotData;
28}
29
30namespace Trk {
31class Track;
32class VxCandidate;
33
38class ITrackParticleCreatorTool : virtual public IAlgTool
39{
40
41public:
45
46
53 const EventContext& ctx,
54 const Rec::TrackParticle& trackParticle,
55 xAOD::TrackParticleContainer* container = nullptr) const = 0;
56
58 const Rec::TrackParticle& trackParticle,
60 {
61 return createParticle(
62 Gaudi::Hive::currentContext(), trackParticle, container);
63 }
64
75 const EventContext& ctx,
76 const Trk::Track& track,
78 const xAOD::Vertex* vxCandidate = nullptr,
79 xAOD::ParticleHypothesis prtOrigin = xAOD::noHypothesis) const = 0;
80
82 const Trk::Track& track,
84 const xAOD::Vertex* vxCandidate = nullptr,
86 {
87 return createParticle(Gaudi::Hive::currentContext(),
88 track,
90 vxCandidate,
91 prtOrigin);
92 }
93
102 const EventContext& ctx,
103 const ElementLink<TrackCollection>& trackLink,
105 const xAOD::Vertex* vxCandidate = nullptr,
106 xAOD::ParticleHypothesis prtOrigin = xAOD::noHypothesis) const = 0;
107
109 const ElementLink<TrackCollection>& trackLink,
111 const xAOD::Vertex* vxCandidate = nullptr,
113 {
114 return createParticle(Gaudi::Hive::currentContext(),
115 trackLink,
116 container,
117 vxCandidate,
118 prtOrigin);
119 }
120
124 const EventContext& ctx,
125 const Perigee* perigee,
126 const FitQuality* fq,
127 const TrackInfo* trackInfo,
128 const TrackSummary* summary,
129 const std::vector<const Trk::TrackParameters*>& parameters,
130 const std::vector<xAOD::ParameterPosition>& positions,
132 xAOD::TrackParticleContainer* container = nullptr) const = 0;
133
135 const Perigee* perigee,
136 const FitQuality* fq,
137 const TrackInfo* trackInfo,
138 const TrackSummary* summary,
139 const std::vector<const Trk::TrackParameters*>& parameters,
140 const std::vector<xAOD::ParameterPosition>& positions,
143 {
144 return createParticle(Gaudi::Hive::currentContext(),
145 perigee,
146 fq,
147 trackInfo,
148 summary,
149 parameters,
150 positions,
151 prtOrigin,
152 container);
153 }
154
157 const EventContext& ctx) const = 0;
158};
159
160} // end of namespace
161
162#endif
Class to represent and store fit qualities from track reconstruction in terms of and number of degre...
Definition FitQuality.h:97
Interface for constructing TrackParticles from complete tracks.
DeclareInterfaceID(ITrackParticleCreatorTool, 1, 0)
InterfaceID.
virtual xAOD::TrackParticle * createParticle(const EventContext &ctx, const Rec::TrackParticle &trackParticle, xAOD::TrackParticleContainer *container=nullptr) const =0
Method to construct a xAOD::TrackParticle from a Rec::TrackParticle.
xAOD::TrackParticle * createParticle(const Rec::TrackParticle &trackParticle, xAOD::TrackParticleContainer *container=nullptr) const
xAOD::TrackParticle * createParticle(const Perigee *perigee, const FitQuality *fq, const TrackInfo *trackInfo, const TrackSummary *summary, const std::vector< const Trk::TrackParameters * > &parameters, const std::vector< xAOD::ParameterPosition > &positions, xAOD::ParticleHypothesis prtOrigin=xAOD::noHypothesis, xAOD::TrackParticleContainer *container=nullptr) const
virtual xAOD::TrackParticle * createParticle(const EventContext &ctx, const ElementLink< TrackCollection > &trackLink, xAOD::TrackParticleContainer *container=nullptr, const xAOD::Vertex *vxCandidate=nullptr, xAOD::ParticleHypothesis prtOrigin=xAOD::noHypothesis) const =0
Method to construct a TrackParticle from a passed Track.
virtual const InDet::BeamSpotData * CacheBeamSpotData(const EventContext &ctx) const =0
Convenience method to retrieve Beamspot Data object.
virtual xAOD::TrackParticle * createParticle(const EventContext &ctx, const Perigee *perigee, const FitQuality *fq, const TrackInfo *trackInfo, const TrackSummary *summary, const std::vector< const Trk::TrackParameters * > &parameters, const std::vector< xAOD::ParameterPosition > &positions, xAOD::ParticleHypothesis prtOrigin=xAOD::noHypothesis, xAOD::TrackParticleContainer *container=nullptr) const =0
create a xAOD::TrackParticle out of constituents (please don't use this
xAOD::TrackParticle * createParticle(const ElementLink< TrackCollection > &trackLink, xAOD::TrackParticleContainer *container=nullptr, const xAOD::Vertex *vxCandidate=nullptr, xAOD::ParticleHypothesis prtOrigin=xAOD::noHypothesis) const
virtual xAOD::TrackParticle * createParticle(const EventContext &ctx, const Trk::Track &track, xAOD::TrackParticleContainer *container=nullptr, const xAOD::Vertex *vxCandidate=nullptr, xAOD::ParticleHypothesis prtOrigin=xAOD::noHypothesis) const =0
Method to construct a TrackParticle from a passed Track.
xAOD::TrackParticle * createParticle(const Trk::Track &track, xAOD::TrackParticleContainer *container=nullptr, const xAOD::Vertex *vxCandidate=nullptr, xAOD::ParticleHypothesis prtOrigin=xAOD::noHypothesis) const
Contains information about the 'fitter' of this track.
A summary of the information contained by a track.
Primary Vertex Finder.
Gaudi Tools.
Ensure that the ATLAS eigen extensions are properly loaded.
ParametersT< TrackParametersDim, Charged, PerigeeSurface > Perigee
TrackParticle_v1 TrackParticle
Reference the current persistent version:
Vertex_v1 Vertex
Define the latest version of the vertex class.
TrackParticleContainer_v1 TrackParticleContainer
Definition of the current "TrackParticle container version".
@ noHypothesis
For material collection.