ATLAS Offline Software
SimpleJetTrackSelectionTool.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 // SimpleJetTrackSelectionTool.h
6 
10 
11 #ifndef JETRECTOOLS_SimpleJetTrackSelectionTool_H
12 #define JETRECTOOLS_SimpleJetTrackSelectionTool_H
13 
14 #include "AsgTools/AsgTool.h"
17 
19 
20 #include "AsgTools/ToolHandle.h"
23 
25 
27  : public asg::AsgTool,
28  virtual public IJetExecuteTool,
29  virtual public IJetTrackSelector {
31 
32 public:
33  SimpleJetTrackSelectionTool(const std::string &name);
34 
35  // Inherited interface.
37  int execute() const ;
38  int keep(const xAOD::TrackParticle& trk) const;
39 
41  void selectTracks(const xAOD::TrackParticleContainer& inCont, std::vector<const xAOD::TrackParticle*> outCont) const;
42 
43 protected:
44  template<class T>
45  void selectionLoop(const xAOD::TrackParticleContainer& inCont, T& outCont) const;
46  float m_ptmin;
47 
50 };
51 
52 #endif
SimpleJetTrackSelectionTool::m_outputContainer_key
SG::WriteHandleKey< ConstDataVector< xAOD::TrackParticleContainer > > m_outputContainer_key
Definition: SimpleJetTrackSelectionTool.h:49
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition: AsgTool.h:47
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
SG::ReadHandleKey< xAOD::TrackParticleContainer >
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.
WriteHandleKey.h
Property holding a SG store/key/clid from which a WriteHandle is made.
SimpleJetTrackSelectionTool::keep
int keep(const xAOD::TrackParticle &trk) const
Method to select.
Definition: SimpleJetTrackSelectionTool.cxx:53
DataVector< xAOD::TrackParticle_v1 >
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
IJetTrackSelector.h
SimpleJetTrackSelectionTool::execute
int execute() const
Method to be called for each event.
Definition: SimpleJetTrackSelectionTool.cxx:26
SimpleJetTrackSelectionTool::initialize
StatusCode initialize()
Dummy implementation of the initialisation function.
Definition: SimpleJetTrackSelectionTool.cxx:17
SimpleJetTrackSelectionTool::m_ptmin
float m_ptmin
Definition: SimpleJetTrackSelectionTool.h:46
ConstDataVector
DataVector adapter that acts like it holds const pointers.
Definition: ConstDataVector.h:76
SimpleJetTrackSelectionTool::SimpleJetTrackSelectionTool
SimpleJetTrackSelectionTool(const std::string &name)
Definition: SimpleJetTrackSelectionTool.cxx:9
SimpleJetTrackSelectionTool::m_inputContainer_key
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_inputContainer_key
Definition: SimpleJetTrackSelectionTool.h:48
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition: TrackParticle_v1.h:43
SimpleJetTrackSelectionTool::selectionLoop
void selectionLoop(const xAOD::TrackParticleContainer &inCont, T &outCont) const
Definition: SimpleJetTrackSelectionTool.cxx:58
ToolHandle.h
SimpleJetTrackSelectionTool
class SimpleJetTrackSelectionTool
Definition: SimpleJetTrackSelectionTool.h:29
AsgTool.h
SimpleJetTrackSelectionTool::selectTracks
void selectTracks(const xAOD::TrackParticleContainer &inCont, ConstDataVector< xAOD::TrackParticleContainer > &outCont) const
Definition: SimpleJetTrackSelectionTool.cxx:65
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