ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
PhysicsAnalysis
AnalysisCommon
IsolationSelection
IsolationSelection
IsolationCondition.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_ISOLATIONCONDITION_H
6
#define ISOLATIONSELECTION_ISOLATIONCONDITION_H
7
8
#include <
IsolationSelection/Defs.h
>
9
#include <
xAODBase/IParticle.h
>
10
#include <
xAODPrimitives/IsolationType.h
>
11
#include <
xAODPrimitives/tools/getIsolationAccessor.h
>
12
13
#include <map>
14
#include <memory>
15
#include <vector>
16
17
#include "
AthContainers/AuxElement.h
"
18
#include "
AsgMessaging/AsgMessaging.h
"
19
20
21
22
namespace
CP
{
23
struct
strObj
{
24
float
pt
{0.f};
25
float
eta
{0.f};
26
std::vector<float>
isolationValues
;
27
xAOD::Type::ObjectType
type
{
xAOD::Type::ObjectType::EventInfo
};
28
};
29
30
class
IsolationCondition
:
public
asg::AsgMessaging
{
31
public
:
32
IsolationCondition
(
const
std::string&
name
,
xAOD::Iso::IsolationType
isoType,
const
std::string& isoDecSuffix =
""
);
33
IsolationCondition
(
const
std::string&
name
,
const
std::vector<xAOD::Iso::IsolationType>& isoTypes,
const
std::string& isoDecSuffix =
""
);
34
IsolationCondition
(
const
std::string&
name
,
const
std::string& isoType,
const
std::string& isoDecSuffix =
""
);
35
IsolationCondition
(
const
std::string&
name
,
const
std::vector<std::string>& isoTypes,
const
std::string& isoDecSuffix =
""
);
36
37
IsolationCondition
(
const
IsolationCondition
& rhs) =
delete
;
38
IsolationCondition
&
operator=
(
const
IsolationCondition
& rhs) =
delete
;
39
virtual
~IsolationCondition
() =
default
;
40
41
const
std::string&
name
()
const
;
42
43
unsigned
int
num_types
()
const
;
44
xAOD::Iso::IsolationType
type
(
unsigned
int
n = 0)
const
;
45
const
FloatAccessor
&
accessor
(
unsigned
int
n = 0)
const
;
46
const
FloatAccessor
&
accessor_noCloseBy
(
unsigned
int
n = 0)
const
;
47
48
virtual
bool
accept
(
const
xAOD::IParticle
&
x
)
const
= 0;
49
virtual
bool
accept
(
const
strObj
&
x
)
const
= 0;
50
51
private
:
52
std::string
m_name
;
53
std::vector<xAOD::Iso::IsolationType>
m_isolationType
;
54
std::vector<FloatAccessor>
m_acc
;
55
std::vector<FloatAccessor>
m_acc_noCloseBy
;
56
57
protected
:
58
std::string
m_isoDecSuffix
{};
59
};
60
}
// namespace CP
61
#endif
AsgMessaging.h
AuxElement.h
Base class for elements of a container that can have aux data.
IParticle.h
IsolationType.h
Defs.h
x
#define x
CP::IsolationCondition::IsolationCondition
IsolationCondition(const std::string &name, xAOD::Iso::IsolationType isoType, const std::string &isoDecSuffix="")
Definition
IsolationCondition.cxx:36
CP::IsolationCondition::m_acc
std::vector< FloatAccessor > m_acc
Definition
IsolationCondition.h:54
CP::IsolationCondition::m_acc_noCloseBy
std::vector< FloatAccessor > m_acc_noCloseBy
Definition
IsolationCondition.h:55
CP::IsolationCondition::IsolationCondition
IsolationCondition(const IsolationCondition &rhs)=delete
CP::IsolationCondition::m_isoDecSuffix
std::string m_isoDecSuffix
Definition
IsolationCondition.h:58
CP::IsolationCondition::accessor_noCloseBy
const FloatAccessor & accessor_noCloseBy(unsigned int n=0) const
Definition
IsolationCondition.cxx:45
CP::IsolationCondition::accept
virtual bool accept(const strObj &x) const =0
CP::IsolationCondition::name
const std::string & name() const
Definition
IsolationCondition.cxx:42
CP::IsolationCondition::num_types
unsigned int num_types() const
Definition
IsolationCondition.cxx:41
CP::IsolationCondition::accept
virtual bool accept(const xAOD::IParticle &x) const =0
CP::IsolationCondition::type
xAOD::Iso::IsolationType type(unsigned int n=0) const
Definition
IsolationCondition.cxx:43
CP::IsolationCondition::m_isolationType
std::vector< xAOD::Iso::IsolationType > m_isolationType
Definition
IsolationCondition.h:53
CP::IsolationCondition::m_name
std::string m_name
Definition
IsolationCondition.h:52
CP::IsolationCondition::operator=
IsolationCondition & operator=(const IsolationCondition &rhs)=delete
CP::IsolationCondition::~IsolationCondition
virtual ~IsolationCondition()=default
CP::IsolationCondition::accessor
const FloatAccessor & accessor(unsigned int n=0) const
Definition
IsolationCondition.cxx:44
asg::AsgMessaging
Class mimicking the AthMessaging class from the offline software.
Definition
AsgMessaging.h:40
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition
Event/xAOD/xAODBase/xAODBase/IParticle.h:41
getIsolationAccessor.h
CP
Select isolated Photons, Electrons and Muons.
Definition
Control/xAODRootAccess/xAODRootAccess/TEvent.h:27
CP::FloatAccessor
SG::AuxElement::ConstAccessor< float > FloatAccessor
Definition
PhysicsAnalysis/AnalysisCommon/IsolationSelection/IsolationSelection/Defs.h:22
xAODType::ObjectType
ObjectType
Type of objects that have a representation in the xAOD EDM.
Definition
ObjectType.h:32
xAODType::EventInfo
@ EventInfo
The object is an event information one.
Definition
ObjectType.h:91
xAOD::Iso::IsolationType
IsolationType
Overall enumeration for isolation types in xAOD files.
Definition
IsolationType.h:26
CP::strObj
Definition
IsolationCondition.h:23
CP::strObj::eta
float eta
Definition
IsolationCondition.h:25
CP::strObj::isolationValues
std::vector< float > isolationValues
Definition
IsolationCondition.h:26
CP::strObj::pt
float pt
Definition
IsolationCondition.h:24
CP::strObj::type
xAOD::Type::ObjectType type
Definition
IsolationCondition.h:27
Generated on
for ATLAS Offline Software by
1.17.0