14#ifndef TRKPARTICLECREATOR_PARTICLECREATORTOOL_H
15#define TRKPARTICLECREATOR_PARTICLECREATORTOOL_H
19#include "GaudiKernel/ToolHandle.h"
72 :
public extends<AthAlgTool, ITrackParticleCreatorTool>
89 const EventContext& ctx,
106 const EventContext& ctx,
124 const EventContext& ctx,
132 const EventContext& ctx,
137 const std::vector<const Trk::TrackParameters*>& parameters,
138 const std::vector<xAOD::ParameterPosition>& positions,
143 const EventContext& ctx)
const override final;
186 const EventContext& ctx,
188 const std::vector<const Trk::TrackParameters*>& parameters,
189 const std::vector<xAOD::ParameterPosition>& positions)
const;
209 const EventContext& ctx,
214 const std::vector<const Trk::TrackParameters*>& parameters,
215 const std::vector<xAOD::ParameterPosition>& positions,
234 "Trk::TrackSummaryTool/AtlasTrackSummaryTool"
240 "Reco::TrackToVertex/TrackToVertex"
259 "AtlasFieldCacheCondObj",
261 "Name of the Magnetic Field conditions object key"
266 "TRT_ElectronPidTool",
270 ToolHandle<IPixelToTPIDTool>
m_dedxtool{
this,
"PixelToTPIDTool",
"",
"" };
274 "TestPixelLayerTool",
281 {
"eProbabilityComb",
"eProbabilityHT",
"eProbabilityNN",
282 "TRTTrackOccupancy",
"TRTdEdx",
"TRTdEdxUsedHits"}};
299 BooleanProperty
m_doITk{
this,
"DoITk",
false};
329 DoubleProperty
m_minPt{
this,
"MinPtForCaloExtrap", 1000.};
Base class for elements of a container that can have aux data.
This is an Identifier helper class for the Pixel subdetector.
This is an Identifier helper class for the SCT subdetector.
This is an Identifier helper class for the TRT subdetector.
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
ElementLink implementation for ROOT usage.
This is an Identifier helper class for the Pixel subdetector.
This is an Identifier helper class for the SCT subdetector.
SG::Accessor< T, ALLOC > Accessor
Property holding a SG store/key/clid from which a ReadHandle is made.
This is an Identifier helper class for the TRT subdetector.
Class to represent and store fit qualities from track reconstruction in terms of and number of degre...
Contains information about the 'fitter' of this track.
BooleanProperty m_updateTrackSummary
ServiceHandle< ITrackingVolumesSvc > m_trackingVolumesSvc
BooleanProperty m_runningTIDE_Ambi
static const SG::AuxElement::Accessor< uint8_t > s_trtdEdxUsedHitsDecoration
IntegerProperty m_minSiHits
virtual const InDet::BeamSpotData * CacheBeamSpotData(const EventContext &ctx) const override final
void addOutlierHitInformation(const Trk::TrackStates *trackStates, xAOD::TrackParticle &tp) const
Add outlier hit info not computed in Trk::TrkSummary anymore.
TrackParticleCreatorTool(const std::string &, const std::string &, const IInterface *)
StringArrayProperty m_copyExtraSummaryName
Configurable to set the eProbabilities and extra track summary types which are to be copied from the ...
void setTrackSummary(xAOD::TrackParticle &tp, const TrackSummary &summary) const
Method to set TrackSummary of a xAOD::TrackParticle.
std::vector< std::string > m_perigeeOptions
void addPIDInformation(const EventContext &ctx, const Track *track, xAOD::TrackParticle &tp) const
Add Pixel and TRT PID information to the track particle.
ToolHandle< Muon::IMuonHitSummaryTool > m_hitSummaryTool
SG::ReadCondHandleKey< AtlasFieldCacheCondObj > m_fieldCacheCondObjInputKey
BooleanProperty m_keepParameters
the following keep options are mutually exclusive
void setTrackInfo(xAOD::TrackParticle &tp, const TrackInfo &trackInfo, xAOD::ParticleHypothesis prtOrigin) const
Method to set TrackInfo of a xAOD::TrackParticle.
virtual xAOD::TrackParticle * createParticle(const EventContext &ctx, const Rec::TrackParticle &trackParticle, xAOD::TrackParticleContainer *container) const override final
Method to construct a xAOD::TrackParticle from a Rec::TrackParticle.
static const std::string s_trtdEdxUsedHitsDecorationName
Name used for the decoration of the track particle with TRT dE/dx .
static void addDummyEndcapSharedHitInformation(xAOD::TrackParticle &tp)
Add dummy endcap shared hit info as AuxDyn variable in case nominal shared hit info not computed (for...
void addDetailedHitInformation(const Trk::TrackStates *trackStates, xAOD::TrackParticle &tp) const
Add extra detailed hit summary info not computed in Trk::TrkSummary.
BooleanProperty m_doITk
if the track contains a summary, the shared, expected hit, and PID information will be recomputed.
static void setHitPattern(xAOD::TrackParticle &tp, unsigned long hitpattern)
ServiceHandle< IIBLParameterSvc > m_IBLParameterSvc
SG::ReadCondHandleKey< InDet::BeamSpotData > m_beamSpotKey
BooleanProperty m_computeAdditionalInfo
static void setNumberOfOverflowHits(xAOD::TrackParticle &tp, int overflows)
BooleanProperty m_doSharedSiHits
BooleanProperty m_keepFirstParameters
void addSharedHitInformation(const Track *track, xAOD::TrackParticle &tp) const
Add shared hit info not computed in Trk::TrkSummary anymore.
SG::ReadHandleKey< Trk::ClusterSplitProbabilityContainer > m_clusterSplitProbContainer
std::vector< Trk::eProbabilityType > m_copyEProbabilities
Enums of an eProbability which are set in the xAOD::TrackSummary.
void addExpectedHitInformation(const Perigee *perigee, xAOD::TrackParticle &tp) const
Add expected hit info for innermost pixel layers not computed in Trk::TrkSummary.
PublicToolHandle< IExtendedTrackSummaryTool > m_trackSummaryTool
SG::ReadHandleKey< Trk::PRDtoTrackMap > m_assoMapContainer
static void setTilt(xAOD::TrackParticle &tp, float tiltx, float tilty)
const Trk::ClusterSplitProbabilityContainer::ProbabilityInfo & getClusterSplittingProbability(const InDet::PixelCluster *pix) const
static const std::string & trtdEdxUsedHitsAuxName()
Get the name used for the decoration of the track particle with the number of used hits for TRT dE/dx...
StringProperty m_perigeeExpression
ToolHandle< InDet::IInDetTestPixelLayerTool > m_testPixelLayerTool
tool to calculate expected hit information in innermost layers
void setParameters(const EventContext &ctx, xAOD::TrackParticle &tp, const std::vector< const Trk::TrackParameters * > ¶meters, const std::vector< xAOD::ParameterPosition > &positions) const
Method to set parameters of a xAOD::TrackParticle.
void setDefiningParameters(xAOD::TrackParticle &tp, const Perigee &perigee) const
Method to set Defining parameters of a xAOD::TrackParticle.
const AtlasDetectorID * m_detID
atlas id helper
const PixelID * m_pixelID
virtual StatusCode initialize() override
BooleanProperty m_keepAllPerigee
keep all MeasuredPerigee parameters (e.g.
void compare(const Rec::TrackParticle &tp, const xAOD::TrackParticle &tpx) const
ToolHandle< ITRT_ElectronPidTool > m_eProbabilityTool
tool to calculate electron probabilities
static void setNumberOfUsedHits(xAOD::TrackParticle &tp, int hits)
IntegerProperty m_badclusterID
ToolHandle< Reco::ITrackToVertex > m_trackToVertex
std::vector< std::pair< SG::AuxElement::Accessor< float >, Trk::eProbabilityType > > m_decorateEProbabilities
The pairs if enums of an eProbability which is added as a decoration to the track particle and the na...
void setFitQuality(xAOD::TrackParticle &tp, const FitQuality &fq) const
Method to set FitQuality of a xAOD::TrackParticle.
std::vector< std::pair< SG::AuxElement::Accessor< uint8_t >, Trk::SummaryType > > m_decorateSummaryTypes
ToolHandle< IPixelToTPIDTool > m_dedxtool
tool to calculate dE/dx using pixel clusters
virtual ~TrackParticleCreatorTool()=default
BooleanProperty m_doSharedTRTHits
BooleanProperty m_checkConversion
A summary of the information contained by a track.
Ensure that the ATLAS eigen extensions are properly loaded.
DataVector< const Trk::TrackStateOnSurface > TrackStates
ParametersT< TrackParametersDim, Charged, PerigeeSurface > Perigee
ParametersBase< TrackParametersDim, Charged > TrackParameters
SummaryType
enumerates the different types of information stored in Summary.
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".