ATLAS Offline Software
IClassificationTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 
7 
8 #ifndef ICLASSIFICATIONTOOL_H_
9 #define ICLASSIFICATIONTOOL_H_
10 
11 #include <AsgTools/IAsgTool.h>
12 #include <xAODBase/IParticle.h>
13 
14 namespace CP
15 {
16 
19 class IClassificationTool : virtual public asg::IAsgTool
20 {
22 
23 public:
24  virtual ~IClassificationTool() = default;
25 
28  unsigned int &classification) const = 0;
29 };
30 
31 } // namespace CP
32 
33 #endif // ICLASSIFICATIONTOOL_H_
Trk::ParticleSwitcher::particle
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses
Definition: ParticleHypothesis.h:76
IParticle.h
asg::IAsgTool
Base class for the dual-use tool interface classes.
Definition: IAsgTool.h:41
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition: Event/xAOD/xAODBase/xAODBase/IParticle.h:40
CP
Select isolated Photons, Electrons and Muons.
Definition: Control/xAODRootAccess/xAODRootAccess/TEvent.h:48
CP::IClassificationTool::classify
virtual StatusCode classify(const xAOD::IParticle &particle, unsigned int &classification) const =0
classify a particle and pass the classification as an integer
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ASG_TOOL_INTERFACE
#define ASG_TOOL_INTERFACE(CLASSNAME)
Definition: AsgToolMacros.h:40
IAsgTool.h
CP::IClassificationTool::~IClassificationTool
virtual ~IClassificationTool()=default
CP::IClassificationTool
a tool interface to classify particles into multiple categories by assigning them an unsigned integer
Definition: IClassificationTool.h:20