ATLAS Offline Software
Loading...
Searching...
No Matches
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):
12
13// EDM include(s):
16
17// forward declarations
18namespace asg {
19 class AcceptInfo;
20 class AcceptData;
21}
22#ifndef XAOD_ANALYSIS
23namespace Trk {
24 class Track;
25 class Vertex;
27 class FitQuality;
28}
29#endif
30
31namespace 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.
44
51{
54
55 public:
57 virtual StatusCode initialize() = 0;
59 virtual StatusCode finalize() = 0;
60
62 virtual const asg::AcceptInfo& getAcceptInfo() const = 0;
63
65 virtual asg::AcceptData accept( const xAOD::IParticle* p ) const = 0;
66
69 const xAOD::Vertex* vertex = 0 ) const = 0;
70
71#ifndef XAOD_ANALYSIS
72 virtual asg::AcceptData accept( const Trk::Track& track,
73 const Trk::Vertex* vertex = 0 ) const = 0;
74#endif
75
77 // This function should not be public in Athena, as the cut level should be
78 // set in the job options. Allow it for now, so as to not break compatibility
79 virtual void setCutLevel( InDet::CutLevel level, bool overwrite = true )
80 __attribute__ ((deprecated("The cut level should be set in the job options through the \"CutLevel\" property.")))
81 = 0;
82
83 }; // class IInDetTrackSelectionTool
84
85} // namespace InDet
86
87#endif // INDETTRACKSELECTIONTOOL_IINDETTRACKSELECTIONTOOL_H
#define ASG_TOOL_INTERFACE(CLASSNAME)
__attribute__((always_inline)) inline uint16_t TileCalibDrawerBase
Interface for track selection tool.
virtual const asg::AcceptInfo & getAcceptInfo() const =0
Get an object describing the "selection steps" of the tool.
virtual StatusCode finalize()=0
Function finalizing the tool.
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.
virtual asg::AcceptData accept(const Trk::Track &track, const Trk::Vertex *vertex=0) const =0
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.
virtual StatusCode initialize()=0
Declare the interface that the class provides.
virtual asg::AcceptData accept(const xAOD::IParticle *p) const =0
Get the decision using a generic IParticle pointer.
Class to represent and store fit qualities from track reconstruction in terms of and number of degre...
Definition FitQuality.h:97
This class is a simplest representation of a vertex candidate.
Class providing the definition of the 4-vector interface.
Primary Vertex Finder.
Ensure that the ATLAS eigen extensions are properly loaded.
TrackParticle_v1 TrackParticle
Reference the current persistent version:
Vertex_v1 Vertex
Define the latest version of the vertex class.