ATLAS Offline Software
Loading...
Searching...
No Matches
InDetCosmicTrackSelectorTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef InDetTrackSelectorTool_InDetCosmicTrackSelectorTool_H
6#define InDetTrackSelectorTool_InDetCosmicTrackSelectorTool_H
7
9#include "GaudiKernel/ToolHandle.h"
10#include "GaudiKernel/ServiceHandle.h"
15// MagField cache
18
19namespace Trk
20{
21 class Vertex;
23 class Track;
24}
25
26
27namespace InDet
28{
29
31 {
32
33 public:
34
35 virtual StatusCode initialize() override;
36
37 InDetCosmicTrackSelectorTool(const std::string& t, const std::string& n, const IInterface* p);
38
40
41 virtual bool decision(const Trk::Track& track,const Trk::Vertex* vertex) const override;
42
43 virtual bool decision(const Trk::TrackParticleBase& track,const Trk::Vertex* vertex) const override;
44
45 virtual bool decision(const xAOD::TrackParticle&,const xAOD::Vertex*) const override {
46 ATH_MSG_WARNING("xAOD::TrackParticle selection not implemented yet");
47 return false;
48 }
49
50 private:
51
52 static int getNSiHits(const Trk::Track* track, bool top) ;
53 bool decision(const Trk::TrackParameters* track, const Trk::Vertex* vertex, const Trk::ParticleHypothesis) const;
54 DoubleProperty m_maxZ0{this, "maxZ0", 150., "Maximum z0 of tracks"};
55 DoubleProperty m_maxD0{this, "maxD0", 2.5, "Maximum d0 of tracks"};
56 DoubleProperty m_minPt{this, "minPt", 0., "Minimum pT of tracks"};
57 IntegerProperty m_numberOfPixelHits
58 {this, "numberOfPixelHits", 0, "Minimum number of Pixel hits"};
59 IntegerProperty m_numberOfSCTHits
60 {this, "numberOfSCTHits", 0, "Minimum number of SCT hits"};
61 IntegerProperty m_numberOfTRTHits
62 {this, "numberOfTRTHits", 15, "Minimum number of TRT hits"};
63 IntegerProperty m_numberOfSiHits
64 {this, "numberOfSiliconHits", 8, "Minimum number of Silicon hits"};
65 IntegerProperty m_numberOfSiHitsTop{this, "numberOfSiliconHitsTop", -1};
66 IntegerProperty m_numberOfSiHitsBottom{this, "numberOfSiliconHitsBottom", -1};
67
68 ToolHandle<Trk::ITrackSummaryTool> m_trackSumTool{this, "TrackSummaryTool", ""};
70
71 // Read handle for conditions object to get the field cache
72 SG::ReadCondHandleKey<AtlasFieldCacheCondObj> m_fieldCacheCondObjInputKey {this, "AtlasFieldCacheCondObj", "fieldCondObj", "Name of the Magnetic Field conditions object key"};
73
74
75 }; //end of class definitions
76} //end of namespace definitions
77
78#endif //TrkMultipleVertexSeedFinders_PVFindingTrackSelectoTool_H
#define ATH_MSG_WARNING(x)
@ top
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
virtual bool decision(const Trk::Track &track, const Trk::Vertex *vertex) const override
virtual bool decision(const xAOD::TrackParticle &, const xAOD::Vertex *) const override
static int getNSiHits(const Trk::Track *track, bool top)
SG::ReadCondHandleKey< AtlasFieldCacheCondObj > m_fieldCacheCondObjInputKey
ToolHandle< Trk::ITrackSummaryTool > m_trackSumTool
InDetCosmicTrackSelectorTool(const std::string &t, const std::string &n, const IInterface *p)
The abstract interface base class for track selector tools.
This class is a simplest representation of a vertex candidate.
Primary Vertex Finder.
Ensure that the ATLAS eigen extensions are properly loaded.
ParticleHypothesis
Enumeration for Particle hypothesis respecting the interaction with material.
ParametersBase< TrackParametersDim, Charged > TrackParameters
TrackParticle_v1 TrackParticle
Reference the current persistent version:
Vertex_v1 Vertex
Define the latest version of the vertex class.