6#ifndef TAURECTOOLS_TAUTRACKFINDER_H
7#define TAURECTOOLS_TAUTRACKFINDER_H
10#include "GaudiKernel/ToolHandle.h"
77 const std::vector<const xAOD::TrackParticle*>& vecTrackParticles,
79 const bool& useGhostTracks,
81 std::vector<const xAOD::TrackParticle*> &tauTracks,
82 std::vector<const xAOD::TrackParticle*> &wideTracks,
83 std::vector<const xAOD::TrackParticle*> &otherTracks)
const;
87 std::vector<const xAOD::TrackParticle*> &wideTracks,
88 std::vector<const xAOD::TrackParticle*> &otherTracks,
90 double maxDeltaZ0)
const;
101 ToolHandle<Trk::IParticleCaloExtensionTool>
m_caloExtensionTool {
this,
"ParticleCaloExtensionTool",
"Trk::ParticleCaloExtensionTool/ParticleCaloExtensionTool",
"Tool for the extrapolation of charged tracks"};
108 Gaudi::Property<bool>
m_applyZ0cut {
this,
"removeTracksOutsideZ0wrtLeadTrk",
false};
109 Gaudi::Property<float>
m_z0maxDelta {
this,
"maxDeltaZ0wrtLeadTrk", 1000.};
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a ReadHandle is made.
SG::ReadHandleKey< CaloExtensionCollection > m_ParticleCacheKey
SG::ReadCondHandleKey< InDet::BeamSpotData > m_beamSpotKey
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_trackPartInputContainer
TauTrackType tauTrackType(const xAOD::TauJet &tauJet, const xAOD::TrackParticle &trackParticle, const xAOD::Vertex *primaryVertex) const
Gaudi::Property< double > m_ghostTrackDR
float getZ0(const xAOD::TrackParticle *track, const xAOD::Vertex *vertex) const
Some internally used functions.
virtual StatusCode initialize() override
Algorithm functions.
void getTauTracksFromPV(const xAOD::TauJet &tauJet, const std::vector< const xAOD::TrackParticle * > &vecTrackParticles, const xAOD::Vertex *primaryVertex, const bool &useGhostTracks, const xAOD::JetContainer *jetContainer, std::vector< const xAOD::TrackParticle * > &tauTracks, std::vector< const xAOD::TrackParticle * > &wideTracks, std::vector< const xAOD::TrackParticle * > &otherTracks) const
std::set< CaloSampling::CaloSample > m_HadSamplings
StatusCode extrapolateToCaloSurface(xAOD::TauJet &pTau, xAOD::TauTrackContainer &tauTrackCon) const
Extrapolate track eta and phi to the calorimeter middle surface.
ToolHandle< Trk::ITrackToVertexIPEstimator > m_trackToVertexIPEstimator
void removeOffsideTracksWrtLeadTrk(std::vector< const xAOD::TrackParticle * > &tauTracks, std::vector< const xAOD::TrackParticle * > &wideTracks, std::vector< const xAOD::TrackParticle * > &otherTracks, const xAOD::Vertex *tauOrigin, double maxDeltaZ0) const
SG::ReadHandleKey< xAOD::JetContainer > m_jetContainer
std::set< CaloSampling::CaloSample > m_EMSamplings
TauTrackType
Enumerator defining type of tau track.
ToolHandle< Trk::ITrackSelectorTool > m_trackSelectorTool_tau
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_largeD0TracksInputContainer
Gaudi::Property< double > m_maxJetDr_wide
ASG_TOOL_CLASS2(TauTrackFinder, TauRecToolBase, ITauToolBase)
Gaudi::Property< float > m_z0maxDelta
virtual StatusCode executeTrackFinder(xAOD::TauJet &pTau, xAOD::TauTrackContainer &tauTrackCon) const override
Gaudi::Property< bool > m_applyZ0cut
Gaudi::Property< double > m_maxJetDr_tau
Gaudi::Property< bool > m_bypassExtrapolator
Gaudi::Property< bool > m_useGhostTracks
TauTrackFinder(const std::string &name)
Constructor and Destructor.
ToolHandle< Trk::IParticleCaloExtensionTool > m_caloExtensionTool
tools
Gaudi::Property< bool > m_removeDuplicateCoreTracks
bool isLargeD0Track(const xAOD::TrackParticle *track) const
ToolHandle< Reco::ITrackToVertex > m_trackToVertexTool
TrackParticle_v1 TrackParticle
Reference the current persistent version:
Vertex_v1 Vertex
Define the latest version of the vertex class.
TauJet_v3 TauJet
Definition of the current "tau version".
TauTrackContainer_v1 TauTrackContainer
Definition of the current TauTrack container version.
JetContainer_v1 JetContainer
Definition of the current "jet container version".