ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
InnerDetector
InDetRecTools
InDetTrackSelectionTool
InDetTrackSelectionTool
IInDetTrackSelectionTool.h
Go to the documentation of this file.
1
// -*- c++ -*-
2
3
/*
4
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
5
*/
6
7
#ifndef INDETTRACKSELECTIONTOOL_IINDETTRACKSELECTIONTOOL_H
8
#define INDETTRACKSELECTIONTOOL_IINDETTRACKSELECTIONTOOL_H
9
10
// Framework include(s):
11
#include "
PATCore/IAsgSelectionTool.h
"
12
13
// EDM include(s):
14
#include "
xAODTracking/TrackParticleFwd.h
"
15
#include "
xAODTracking/VertexFwd.h
"
16
17
// forward declarations
18
namespace
asg
{
19
class
AcceptInfo
;
20
class
AcceptData
;
21
}
22
#ifndef XAOD_ANALYSIS
23
namespace
Trk
{
24
class
Track
;
25
class
Vertex
;
26
class
TrackParticleBase
;
27
class
FitQuality
;
28
}
29
#endif
30
31
namespace
InDet
{
32
33
// define the flags to select cut level of tool
34
// see https://twiki.cern.ch/twiki/bin/view/AtlasProtected/InDetTrackingPerformanceGuidelines
35
// if you add levels, make sure to add entries to the map in InDetTrackSelectionTool.cxx
36
// so that they can be set from athena as well.
37
enum class
38
CutLevel
{
39
NoCut, Loose, LoosePrimary, TightPrimary,
40
LooseMuon, LooseElectron, LooseTau,
41
MinBias, HILoose, HITight,
42
HITightOptimized, HILooseOptimized,
43
HILoosePixMod
44
};
45
51
class
IInDetTrackSelectionTool
:
public
virtual
IAsgSelectionTool
52
{
54
ASG_TOOL_INTERFACE
(
InDet::IInDetTrackSelectionTool
)
55
56
public
:
58
virtual
StatusCode
initialize
() = 0;
60
virtual
StatusCode
finalize
() = 0;
61
63
virtual
const
asg::AcceptInfo
&
getAcceptInfo
()
const
= 0;
64
66
virtual
asg::AcceptData
accept
(
const
xAOD::IParticle
* p )
const
= 0;
67
69
virtual
asg::AcceptData
accept
(
const
xAOD::TrackParticle
& track,
70
const
xAOD::Vertex
* vertex = 0 )
const
= 0;
71
72
#ifndef XAOD_ANALYSIS
73
virtual
asg::AcceptData
accept
(
const
Trk::Track
& track,
74
const
Trk::Vertex
* vertex = 0 )
const
= 0;
75
#endif
76
78
// This function should not be public in Athena, as the cut level should be
79
// set in the job options. Allow it for now, so as to not break compatibility
80
virtual
void
setCutLevel
( InDet::CutLevel level,
bool
overwrite =
true
)
81
__attribute__
((deprecated(
"The cut level should be set in the job options through the \"CutLevel\" property."
)))
82
= 0;
83
84
};
// class IInDetTrackSelectionTool
85
86
}
// namespace InDet
87
88
#endif
// INDETTRACKSELECTIONTOOL_IINDETTRACKSELECTIONTOOL_H
ASG_TOOL_INTERFACE
#define ASG_TOOL_INTERFACE(CLASSNAME)
Definition
AsgToolMacros.h:40
IAsgSelectionTool.h
__attribute__
__attribute__((always_inline)) inline uint16_t TileCalibDrawerBase
Definition
TileCalibDrawerBase.h:192
TrackParticleFwd.h
VertexFwd.h
IAsgSelectionTool
Definition
IAsgSelectionTool.h:28
InDet::IInDetTrackSelectionTool
Interface for track selection tool.
Definition
IInDetTrackSelectionTool.h:52
InDet::IInDetTrackSelectionTool::getAcceptInfo
virtual const asg::AcceptInfo & getAcceptInfo() const =0
Get an object describing the "selection steps" of the tool.
InDet::IInDetTrackSelectionTool::finalize
virtual StatusCode finalize()=0
Function finalizing the tool.
InDet::IInDetTrackSelectionTool::accept
virtual asg::AcceptData accept(const xAOD::TrackParticle &track, const xAOD::Vertex *vertex=0) const =0
Decide whether the track in question is a "good track" or not.
InDet::IInDetTrackSelectionTool::accept
virtual asg::AcceptData accept(const Trk::Track &track, const Trk::Vertex *vertex=0) const =0
InDet::IInDetTrackSelectionTool::setCutLevel
virtual void setCutLevel(InDet::CutLevel level, bool overwrite=true) __attribute__((deprecated("The cut level should be set in the job options through the \"CutLevel\" property.")))=0
Set the selection to a pre-defined standard set of cuts.
InDet::IInDetTrackSelectionTool::initialize
virtual StatusCode initialize()=0
Declare the interface that the class provides.
InDet::IInDetTrackSelectionTool::accept
virtual asg::AcceptData accept(const xAOD::IParticle *p) const =0
Get the decision using a generic IParticle pointer.
InDet::CutLevel
CutLevel
Definition
IInDetTrackSelectionTool.h:38
Trk::FitQuality
Class to represent and store fit qualities from track reconstruction in terms of and number of degre...
Definition
FitQuality.h:97
Trk::TrackParticleBase
Definition
TrackParticleBase.h:41
Trk::Track
The ATLAS Track class.
Definition
Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h:73
Trk::Vertex
This class is a simplest representation of a vertex candidate.
Definition
Tracking/TrkEvent/VxVertex/VxVertex/Vertex.h:26
asg::AcceptData
Definition
AcceptData.h:31
asg::AcceptInfo
Definition
AcceptInfo.h:28
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition
Event/xAOD/xAODBase/xAODBase/IParticle.h:41
InDet
Primary Vertex Finder.
Definition
VP1ErrorUtils.h:36
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition
FakeTrackBuilder.h:9
asg
Definition
DataHandleTestTool.h:28
xAOD::TrackParticle
TrackParticle_v1 TrackParticle
Reference the current persistent version:
Definition
Event/xAOD/xAODTracking/xAODTracking/TrackParticle.h:13
xAOD::Vertex
Vertex_v1 Vertex
Define the latest version of the vertex class.
Definition
Event/xAOD/xAODTracking/xAODTracking/Vertex.h:16
Generated on
for ATLAS Offline Software by
1.17.0