11#ifndef TRKVERTEXSEEDFINDERUTILS_GAUSSIANDENSITYTESTALG_H
12#define TRKVERTEXSEEDFINDERUTILS_GAUSSIANDENSITYTESTALG_H 1
21#include "GaudiKernel/ToolHandle.h"
22#include "GaudiKernel/ServiceHandle.h"
23#include "GaudiKernel/ITHistSvc.h"
77 const std::vector<Trk::ITrackLink*>& trackVector,
78 std::vector<Amg::Vector3D>& truth,
80 TH1* h_modeCheck)
const;
89 static void analyzeTracks(
const std::vector<Trk::ITrackLink*> & trackVector, std::vector<const Trk::TrackParameters*>& perigeeList);
97 "SignificanceTruthCut",
99 "Reco track must pass within this many sigma of pp vertex to be good" };
102 "MinTruthVertexTracks",
104 "Minimum associated reconstructed tracks for vertex to be considered visible" };
110 ToolHandle< InDet::IInDetTrackSelectionTool >
m_trackFilter {
this,
"TrackSelector",
111 "InDet::InDetTrackSelectionTool/InDetDetailedTrackSelectionTool",
112 "Track selection tool" } ;
114 ToolHandle< Trk::IVertexTrackDensityEstimator >
m_estimator {
this,
"Estimator",
"Trk::GaussianTrackDensity",
115 "Track density function" };
117 ToolHandle< Trk::ITrackToVertexIPEstimator >
m_ipEstimator {
this,
"IPEstimator",
"Trk::TrackToVertexIPEstimator",
118 "Impact point estimator" };
127 "Input track particle collection" };
130 "Key for truth event collection" };
133 "Key for truth pileup event collection" };
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
Property holding a SG store/key/clid from which a ReadHandle is made.
virtual StatusCode finalize()
TH1 * m_h_density
Histograms and trees.
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_trackParticlesKey
Data handle keys.
ToolHandle< Trk::IVertexTrackDensityEstimator > m_estimator
virtual ~GaussianDensityTestAlg()
Destructor:
StatusCode findTruth(double mode, const std::vector< Trk::ITrackLink * > &trackVector, std::vector< Amg::Vector3D > &truth, TH1 *h_truthDensity, TH1 *h_modeCheck) const
ToolHandle< InDet::IInDetTrackSelectionTool > m_trackFilter
GaussianDensityTestAlg(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
virtual StatusCode execute()
SG::ReadHandleKey< xAOD::TruthPileupEventContainer > m_pileupEventsKey
SG::ReadCondHandleKey< InDet::BeamSpotData > m_beamSpotKey
ToolHandle< Trk::ITrackToVertexIPEstimator > m_ipEstimator
Gaudi::Property< int > m_truthVertexTracks
void selectTracks(const xAOD::TrackParticleContainer *trackParticles, std::vector< Trk::ITrackLink * > &trackVector)
SG::ReadHandleKey< xAOD::TruthEventContainer > m_truthEventsKey
virtual StatusCode initialize()
static void analyzeTracks(const std::vector< Trk::ITrackLink * > &trackVector, std::vector< const Trk::TrackParameters * > &perigeeList)
ServiceHandle< ITHistSvc > m_iTHistSvc
Gaudi::Property< double > m_significanceTruthCut
double ipSignificance(const Trk::TrackParameters *params, const Amg::Vector3D *vertex) const
An abstract class which is meant to represent an element link to the Trk::Track or Trk::TrackParticle...
Eigen::Matrix< double, 3, 1 > Vector3D
Ensure that the ATLAS eigen extensions are properly loaded.
ParametersBase< TrackParametersDim, Charged > TrackParameters
TrackParticleContainer_v1 TrackParticleContainer
Definition of the current "TrackParticle container version".