ATLAS Offline Software
PhysicsAnalysis
AnalysisCommon
IsolationSelection
IsolationSelection
IIsolationSelectionTool.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef ISOLATIONSELECTION_IISOLATIONSELECTIONTOOL_H
6
#define ISOLATIONSELECTION_IISOLATIONSELECTIONTOOL_H
7
8
// Framework include(s):
9
#include "
AsgTools/IAsgTool.h
"
10
#include "
PATCore/AcceptData.h
"
11
#include "
PATCore/AcceptInfo.h
"
12
13
// EDM include(s):
14
#include "
xAODEgamma/Electron.h
"
15
#include "
xAODEgamma/Photon.h
"
16
#include "
xAODMuon/Muon.h
"
17
#include "
xAODPrimitives/IsolationType.h
"
18
// #include "IsolationSelection/strMuon.h"
19
20
// std include(s):
21
#include <map>
22
#include <memory>
23
32
33
34
namespace
CP
{
35
struct
strObj;
36
class
IsolationWP;
37
class
IIsolationSelectionTool
:
virtual
public
asg::IAsgTool
{
39
ASG_TOOL_INTERFACE
(
CP::IIsolationSelectionTool
)
40
41
public
:
42
// Cut on object
43
virtual
asg::AcceptData
accept
(
const
xAOD::Photon
&
x
)
const
= 0;
44
virtual
asg::AcceptData
accept
(
const
xAOD::Electron
&
x
)
const
= 0;
45
virtual
asg::AcceptData
accept
(
const
xAOD::Muon
&
x
)
const
= 0;
46
virtual
asg::AcceptData
accept
(
const
strObj
&
x
)
const
= 0;
47
virtual
asg::AcceptData
accept
(
const
xAOD::IParticle
&
x
)
const
= 0;
48
virtual
StatusCode
setIParticleCutsFrom
(
xAOD::Type::ObjectType
ObjType) = 0;
49
50
virtual
const
asg::AcceptInfo
&
getPhotonAcceptInfo
()
const
= 0;
51
virtual
const
asg::AcceptInfo
&
getElectronAcceptInfo
()
const
= 0;
52
virtual
const
asg::AcceptInfo
&
getMuonAcceptInfo
()
const
= 0;
53
virtual
const
asg::AcceptInfo
&
getObjAcceptInfo
()
const
= 0;
54
55
virtual
const
std::vector<std::unique_ptr<IsolationWP>>&
getMuonWPs
()
const
= 0;
56
virtual
const
std::vector<std::unique_ptr<IsolationWP>>&
getElectronWPs
()
const
= 0;
57
virtual
const
std::vector<std::unique_ptr<IsolationWP>>&
getPhotonWPs
()
const
= 0;
58
virtual
const
std::vector<std::unique_ptr<IsolationWP>>&
getObjWPs
()
const
= 0;
59
};
60
}
// namespace CP
61
#endif
CP::IIsolationSelectionTool::accept
virtual asg::AcceptData accept(const xAOD::Electron &x) const =0
CP::IIsolationSelectionTool::getPhotonAcceptInfo
virtual const asg::AcceptInfo & getPhotonAcceptInfo() const =0
CP::IIsolationSelectionTool::accept
virtual asg::AcceptData accept(const strObj &x) const =0
ObjectType
ObjectType
Definition:
BaseObject.h:11
Muon.h
IsolationType.h
CP::IIsolationSelectionTool::accept
virtual asg::AcceptData accept(const xAOD::IParticle &x) const =0
asg::IAsgTool
Base class for the dual-use tool interface classes.
Definition:
IAsgTool.h:41
CP::IIsolationSelectionTool::accept
virtual asg::AcceptData accept(const xAOD::Photon &x) const =0
Declare the interface that the class provides.
CP::IIsolationSelectionTool::getObjWPs
virtual const std::vector< std::unique_ptr< IsolationWP > > & getObjWPs() const =0
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition:
Event/xAOD/xAODBase/xAODBase/IParticle.h:41
x
#define x
CP
Select isolated Photons, Electrons and Muons.
Definition:
Control/xAODRootAccess/xAODRootAccess/TEvent.h:48
CP::IIsolationSelectionTool::getMuonWPs
virtual const std::vector< std::unique_ptr< IsolationWP > > & getMuonWPs() const =0
xAOD::Muon_v1
Class describing a Muon.
Definition:
Muon_v1.h:38
CP::strObj
Definition:
IsolationCondition.h:23
asg::AcceptInfo
Definition:
AcceptInfo.h:28
Photon.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition:
PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
CP::IIsolationSelectionTool::setIParticleCutsFrom
virtual StatusCode setIParticleCutsFrom(xAOD::Type::ObjectType ObjType)=0
CP::IIsolationSelectionTool::getElectronWPs
virtual const std::vector< std::unique_ptr< IsolationWP > > & getElectronWPs() const =0
CP::IIsolationSelectionTool::accept
virtual asg::AcceptData accept(const xAOD::Muon &x) const =0
CP::IIsolationSelectionTool
Definition:
IIsolationSelectionTool.h:37
ASG_TOOL_INTERFACE
#define ASG_TOOL_INTERFACE(CLASSNAME)
Definition:
AsgToolMacros.h:40
IAsgTool.h
AcceptData.h
CP::IIsolationSelectionTool::getElectronAcceptInfo
virtual const asg::AcceptInfo & getElectronAcceptInfo() const =0
CP::IIsolationSelectionTool::getObjAcceptInfo
virtual const asg::AcceptInfo & getObjAcceptInfo() const =0
xAOD::Electron_v1
Definition:
Electron_v1.h:34
AcceptInfo.h
CP::IIsolationSelectionTool::getMuonAcceptInfo
virtual const asg::AcceptInfo & getMuonAcceptInfo() const =0
xAOD::Photon_v1
Definition:
Photon_v1.h:37
Electron.h
asg::AcceptData
Definition:
AcceptData.h:30
CP::IIsolationSelectionTool::getPhotonWPs
virtual const std::vector< std::unique_ptr< IsolationWP > > & getPhotonWPs() const =0
Generated on Sun Dec 22 2024 21:11:28 for ATLAS Offline Software by
1.8.18