ATLAS Offline Software
JetTrackSelectionTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 // JetTrackSelectionTool.h
6 
10 
11 #ifndef JETRECTOOLS_JETTRACKSELECTIONTOOL_H
12 #define JETRECTOOLS_JETTRACKSELECTIONTOOL_H
13 
14 #include "AsgTools/AsgTool.h"
17 
20 
23 
24 #include "AsgTools/ToolHandle.h"
26 
28  : public asg::AsgTool,
29  virtual public IJetExecuteTool,
30  virtual public IJetTrackSelector {
32 
33 public:
34 
35  JetTrackSelectionTool(const std::string &name);
36 
37  // Inherited interface.
39  int execute() const ;
40  int keep(const xAOD::TrackParticle& trk) const;
41 
43  void selectTracks(const xAOD::TrackParticleContainer& inCont, std::vector<const xAOD::TrackParticle*> outCont) const;
44 
45 protected:
46 
47  template<class T>
48  void selectionLoop(const xAOD::TrackParticleContainer& inCont, T& outCont) const;
49 
50  ToolHandle<InDet::IInDetTrackSelectionTool> m_hidselector;
51 
55 };
56 
57 #endif
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition: AsgTool.h:47
JetTrackSelectionTool::keep
int keep(const xAOD::TrackParticle &trk) const
Method to select.
Definition: JetTrackSelectionTool.cxx:63
ASG_TOOL_CLASS2
#define ASG_TOOL_CLASS2(CLASSNAME, INT1, INT2)
Definition: AsgToolMacros.h:77
ConstDataVector.h
DataVector adapter that acts like it holds const pointers.
IJetExecuteTool
IJetExecuteTool is a dual-use tool interface for generic tools, i.e. those that behave like algorithm...
Definition: IJetExecuteTool.h:19
JetTrackSelectionTool::m_inCont_key
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_inCont_key
Definition: JetTrackSelectionTool.h:52
SG::ReadHandleKey< xAOD::TrackParticleContainer >
JetTrackSelectionTool::selectionLoop
void selectionLoop(const xAOD::TrackParticleContainer &inCont, T &outCont) const
Definition: JetTrackSelectionTool.cxx:68
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition: StoreGate/StoreGate/WriteHandleKey.h:40
IJetExecuteTool.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
JetTrackSelectionTool::JetTrackSelectionTool
JetTrackSelectionTool(const std::string &name)
Definition: JetTrackSelectionTool.cxx:9
WriteHandleKey.h
Property holding a SG store/key/clid from which a WriteHandle is made.
DataVector< xAOD::TrackParticle_v1 >
IInDetTrackSelectionTool.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
IJetTrackSelector.h
JetTrackSelectionTool::selectTracks
void selectTracks(const xAOD::TrackParticleContainer &inCont, ConstDataVector< xAOD::TrackParticleContainer > &outCont) const
Definition: JetTrackSelectionTool.cxx:74
JetTrackSelectionTool
class JetTrackSelectionTool
Definition: JetTrackSelectionTool.h:30
JetTrackSelectionTool::initialize
StatusCode initialize()
Dummy implementation of the initialisation function.
Definition: JetTrackSelectionTool.cxx:17
ConstDataVector
DataVector adapter that acts like it holds const pointers.
Definition: ConstDataVector.h:76
JetTrackSelectionTool::execute
int execute() const
Method to be called for each event.
Definition: JetTrackSelectionTool.cxx:33
JetTrackSelectionTool::m_hidselector
ToolHandle< InDet::IInDetTrackSelectionTool > m_hidselector
Definition: JetTrackSelectionTool.h:50
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition: TrackParticle_v1.h:43
ToolHandle.h
AsgTool.h
JetTrackSelectionTool::m_outCont_key
SG::WriteHandleKey< ConstDataVector< xAOD::TrackParticleContainer > > m_outCont_key
Definition: JetTrackSelectionTool.h:54
TrackParticleContainer.h
TSU::T
unsigned long long T
Definition: L1TopoDataTypes.h:35
IJetTrackSelector
ITrackSelector is a dual-use tool interface for a tool that selects a track particle.
Definition: IJetTrackSelector.h:19