ATLAS Offline Software
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
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
47
virtual
bool
accept
(
const
xAOD::IParticle
&
x
)
const
= 0;
48
virtual
bool
accept
(
const
strObj
&
x
)
const
= 0;
49
50
private
:
51
std::string
m_name
;
52
std::vector<xAOD::Iso::IsolationType>
m_isolationType
;
53
std::vector<FloatAccessor>
m_acc
;
54
55
protected
:
56
std::string
m_isoDecSuffix
{};
57
};
58
}
// namespace CP
59
#endif
IParticle.h
ObjectType
ObjectType
Definition:
BaseObject.h:11
IsolationType.h
EventInfo
EventInfo
Definition:
EventTPCnv.cxx:47
CP::strObj::isolationValues
std::vector< float > isolationValues
Definition:
IsolationCondition.h:26
SG::ConstAccessor
Helper class to provide constant type-safe access to aux data.
Definition:
ConstAccessor.h:54
Defs.h
CP::IsolationCondition::~IsolationCondition
virtual ~IsolationCondition()=default
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition:
Event/xAOD/xAODBase/xAODBase/IParticle.h:40
CP::IsolationCondition::type
xAOD::Iso::IsolationType type(unsigned int n=0) const
Definition:
IsolationCondition.cxx:37
x
#define x
CP
Select isolated Photons, Electrons and Muons.
Definition:
Control/xAODRootAccess/xAODRootAccess/TEvent.h:48
CP::IsolationCondition::operator=
IsolationCondition & operator=(const IsolationCondition &rhs)=delete
CP::IsolationCondition::num_types
unsigned int num_types() const
Definition:
IsolationCondition.cxx:35
CP::IsolationCondition
Definition:
IsolationCondition.h:30
CP::strObj
Definition:
IsolationCondition.h:23
AsgMessaging.h
CP::IsolationCondition::name
std::string name() const
Definition:
IsolationCondition.cxx:36
CP::IsolationCondition::accept
virtual bool accept(const xAOD::IParticle &x) const =0
beamspotman.n
n
Definition:
beamspotman.py:731
xAOD::Iso::IsolationType
IsolationType
Overall enumeration for isolation types in xAOD files.
Definition:
IsolationType.h:26
CP::IsolationCondition::IsolationCondition
IsolationCondition(const std::string &name, xAOD::Iso::IsolationType isoType, const std::string &isoDecSuffix="")
Definition:
IsolationCondition.cxx:30
CP::IsolationCondition::accessor
const FloatAccessor & accessor(unsigned int n=0) const
Definition:
IsolationCondition.cxx:38
CP::IsolationCondition::m_acc
std::vector< FloatAccessor > m_acc
Definition:
IsolationCondition.h:53
CP::IsolationCondition::m_name
std::string m_name
Definition:
IsolationCondition.h:51
asg::AsgMessaging
Class mimicking the AthMessaging class from the offline software.
Definition:
AsgMessaging.h:40
getIsolationAccessor.h
CP::IsolationCondition::m_isolationType
std::vector< xAOD::Iso::IsolationType > m_isolationType
Definition:
IsolationCondition.h:52
CP::IsolationCondition::m_isoDecSuffix
std::string m_isoDecSuffix
Definition:
IsolationCondition.h:56
CP::IsolationCondition::IsolationCondition
IsolationCondition(const IsolationCondition &rhs)=delete
CP::strObj::pt
float pt
Definition:
IsolationCondition.h:24
CP::IsolationCondition::accept
virtual bool accept(const strObj &x) const =0
AuxElement.h
Base class for elements of a container that can have aux data.
CP::strObj::eta
float eta
Definition:
IsolationCondition.h:25
CP::strObj::type
xAOD::Type::ObjectType type
Definition:
IsolationCondition.h:27
Generated on Tue Jul 2 2024 21:18:02 for ATLAS Offline Software by
1.8.18