ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
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
AcceptData.h
AcceptInfo.h
ASG_TOOL_INTERFACE
#define ASG_TOOL_INTERFACE(CLASSNAME)
Definition
AsgToolMacros.h:40
Electron.h
Photon.h
Muon.h
IAsgTool.h
IsolationType.h
x
#define x
CP::IIsolationSelectionTool
Definition
IIsolationSelectionTool.h:37
CP::IIsolationSelectionTool::accept
virtual asg::AcceptData accept(const xAOD::Muon &x) const =0
CP::IIsolationSelectionTool::setIParticleCutsFrom
virtual StatusCode setIParticleCutsFrom(xAOD::Type::ObjectType ObjType)=0
CP::IIsolationSelectionTool::getObjAcceptInfo
virtual const asg::AcceptInfo & getObjAcceptInfo() const =0
CP::IIsolationSelectionTool::accept
virtual asg::AcceptData accept(const strObj &x) const =0
CP::IIsolationSelectionTool::getElectronWPs
virtual const std::vector< std::unique_ptr< IsolationWP > > & getElectronWPs() const =0
CP::IIsolationSelectionTool::getObjWPs
virtual const std::vector< std::unique_ptr< IsolationWP > > & getObjWPs() const =0
CP::IIsolationSelectionTool::accept
virtual asg::AcceptData accept(const xAOD::IParticle &x) const =0
CP::IIsolationSelectionTool::getElectronAcceptInfo
virtual const asg::AcceptInfo & getElectronAcceptInfo() const =0
CP::IIsolationSelectionTool::getPhotonAcceptInfo
virtual const asg::AcceptInfo & getPhotonAcceptInfo() const =0
CP::IIsolationSelectionTool::getMuonAcceptInfo
virtual const asg::AcceptInfo & getMuonAcceptInfo() const =0
CP::IIsolationSelectionTool::accept
virtual asg::AcceptData accept(const xAOD::Photon &x) const =0
Declare the interface that the class provides.
CP::IIsolationSelectionTool::getMuonWPs
virtual const std::vector< std::unique_ptr< IsolationWP > > & getMuonWPs() const =0
CP::IIsolationSelectionTool::accept
virtual asg::AcceptData accept(const xAOD::Electron &x) const =0
CP::IIsolationSelectionTool::getPhotonWPs
virtual const std::vector< std::unique_ptr< IsolationWP > > & getPhotonWPs() const =0
CP::IsolationWP
Definition
IsolationWP.h:16
asg::AcceptData
Definition
AcceptData.h:31
asg::AcceptInfo
Definition
AcceptInfo.h:28
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:41
CP
Select isolated Photons, Electrons and Muons.
Definition
Control/xAODRootAccess/xAODRootAccess/TEvent.h:27
xAODType::ObjectType
ObjectType
Type of objects that have a representation in the xAOD EDM.
Definition
ObjectType.h:32
xAOD::Muon
Muon_v1 Muon
Reference the current persistent version:
Definition
Event/xAOD/xAODMuon/xAODMuon/Muon.h:13
xAOD::Photon
Photon_v1 Photon
Definition of the current "egamma version".
Definition
Event/xAOD/xAODEgamma/xAODEgamma/Photon.h:17
xAOD::Electron
Electron_v1 Electron
Definition of the current "egamma version".
Definition
Event/xAOD/xAODEgamma/xAODEgamma/Electron.h:17
CP::strObj
Definition
IsolationCondition.h:23
Generated on
for ATLAS Offline Software by
1.17.0