ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
PhysicsAnalysis
Algorithms
AsgAnalysisAlgorithms
AsgAnalysisAlgorithms
AsgNumDecorationSelectionTool.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef ASG_ANALYSIS_ALGORITHMS__ASG_NUM_DECORATION_SELECTION_TOOL_H
6
#define ASG_ANALYSIS_ALGORITHMS__ASG_NUM_DECORATION_SELECTION_TOOL_H
7
8
#include <
AsgTools/AsgTool.h
>
9
#include <
AthContainers/AuxElement.h
>
10
#include <
PATCore/IAsgSelectionTool.h
>
11
#include <
AsgTools/PropertyWrapper.h
>
12
#include <
AsgMessaging/StatusCode.h
>
13
#include <memory>
14
#include <typeinfo>
15
16
#include <
xAODBase/IParticle.h
>
17
18
namespace
CP
19
{
22
23
template
<
typename
T>
24
class
AsgNumDecorationSelectionTool
25
:
public
asg::AsgTool
,
public
virtual
IAsgSelectionTool
26
{
27
public
:
28
#ifndef XAOD_STANDALONE
29
AsgNumDecorationSelectionTool
(
const
std::string&
type
,
30
const
std::string& myname,
31
const
IInterface* parent);
32
virtual
~AsgNumDecorationSelectionTool
();
33
#else
34
AsgNumDecorationSelectionTool
(
const
std::string& myname);
35
#endif
36
37
virtual
StatusCode
initialize
()
override
;
38
virtual
const
asg::AcceptInfo
&
getAcceptInfo
()
const override
;
39
virtual
asg::AcceptData
accept
(
const
xAOD::IParticle
*particle)
const override
;
40
41
private
:
42
// Helper function to generate type-dependent default name
43
static
std::string
getDefaultDecorationName
() {
44
std::string typeName =
typeid
(T).
name
();
45
return
"dummy_"
+ typeName;
46
}
47
48
Gaudi::Property<std::string>
m_name
{
this
,
"decorationName"
,
getDefaultDecorationName
(),
"name of the decoration on which the cuts are applied"
};
49
Gaudi::Property<bool>
m_doEqual
{
this
,
"doEqual"
,
false
,
"require to equal a value"
};
50
Gaudi::Property<bool>
m_doMin
{
this
,
"doMin"
,
false
,
"require a min value"
};
51
Gaudi::Property<bool>
m_doMax
{
this
,
"doMax"
,
false
,
"require a max value"
};
52
Gaudi::Property<float>
m_equal
{
this
,
"equal"
, 0.0f,
"equal value to require"
};
53
Gaudi::Property<float>
m_min
{
this
,
"min"
, 0.0f,
"minimum value to require"
};
54
Gaudi::Property<float>
m_max
{
this
,
"max"
, 0.0f,
"maximum value to require"
};
55
56
int
m_equalCutIndex
{ -1 };
57
int
m_minCutIndex
{ -1 };
58
int
m_maxCutIndex
{ -1 };
59
60
std::unique_ptr<SG::ConstAccessor<T>>
m_accessor
;
61
62
asg::AcceptInfo
m_accept
;
63
};
64
65
class
AsgNumDecorationSelectionToolInt
final
66
:
public
AsgNumDecorationSelectionTool
<int>
67
{
68
public
:
69
#ifndef XAOD_STANDALONE
70
AsgNumDecorationSelectionToolInt
(
const
std::string&
type
,
71
const
std::string& myname,
72
const
IInterface* parent);
73
#else
74
AsgNumDecorationSelectionToolInt
(
const
std::string& myname);
75
#endif
76
};
77
78
class
AsgNumDecorationSelectionToolUInt8
final
79
:
public
AsgNumDecorationSelectionTool
<uint8_t>
80
{
81
public
:
82
#ifndef XAOD_STANDALONE
83
AsgNumDecorationSelectionToolUInt8
(
const
std::string&
type
,
84
const
std::string& myname,
85
const
IInterface* parent);
86
#else
87
AsgNumDecorationSelectionToolUInt8
(
const
std::string& myname);
88
#endif
89
};
90
}
91
92
#endif
AsgTool.h
AuxElement.h
Base class for elements of a container that can have aux data.
StatusCode.h
IParticle.h
IAsgSelectionTool.h
PropertyWrapper.h
CP::AsgNumDecorationSelectionToolInt::AsgNumDecorationSelectionToolInt
AsgNumDecorationSelectionToolInt(const std::string &type, const std::string &myname, const IInterface *parent)
Definition
AsgNumDecorationSelectionTool.cxx:104
CP::AsgNumDecorationSelectionToolUInt8::AsgNumDecorationSelectionToolUInt8
AsgNumDecorationSelectionToolUInt8(const std::string &type, const std::string &myname, const IInterface *parent)
Definition
AsgNumDecorationSelectionTool.cxx:111
CP::AsgNumDecorationSelectionTool::getAcceptInfo
virtual const asg::AcceptInfo & getAcceptInfo() const override
Declare the interface ID for this pure-virtual interface class to the Athena framework.
Definition
AsgNumDecorationSelectionTool.cxx:62
CP::AsgNumDecorationSelectionTool::m_min
Gaudi::Property< float > m_min
Definition
AsgNumDecorationSelectionTool.h:53
CP::AsgNumDecorationSelectionTool::m_doMax
Gaudi::Property< bool > m_doMax
Definition
AsgNumDecorationSelectionTool.h:51
CP::AsgNumDecorationSelectionTool::accept
virtual asg::AcceptData accept(const xAOD::IParticle *particle) const override
The main accept method: the actual cuts are applied here.
Definition
AsgNumDecorationSelectionTool.cxx:68
CP::AsgNumDecorationSelectionTool::~AsgNumDecorationSelectionTool
virtual ~AsgNumDecorationSelectionTool()
Definition
AsgNumDecorationSelectionTool.cxx:21
CP::AsgNumDecorationSelectionTool::getDefaultDecorationName
static std::string getDefaultDecorationName()
Definition
AsgNumDecorationSelectionTool.h:43
CP::AsgNumDecorationSelectionTool::m_equal
Gaudi::Property< float > m_equal
Definition
AsgNumDecorationSelectionTool.h:52
CP::AsgNumDecorationSelectionTool::m_max
Gaudi::Property< float > m_max
Definition
AsgNumDecorationSelectionTool.h:54
CP::AsgNumDecorationSelectionTool::m_name
Gaudi::Property< std::string > m_name
Definition
AsgNumDecorationSelectionTool.h:48
CP::AsgNumDecorationSelectionTool::AsgNumDecorationSelectionTool
AsgNumDecorationSelectionTool(const std::string &type, const std::string &myname, const IInterface *parent)
Definition
AsgNumDecorationSelectionTool.cxx:12
CP::AsgNumDecorationSelectionTool::m_equalCutIndex
int m_equalCutIndex
Definition
AsgNumDecorationSelectionTool.h:56
CP::AsgNumDecorationSelectionTool::m_doMin
Gaudi::Property< bool > m_doMin
Definition
AsgNumDecorationSelectionTool.h:50
CP::AsgNumDecorationSelectionTool::m_doEqual
Gaudi::Property< bool > m_doEqual
Definition
AsgNumDecorationSelectionTool.h:49
CP::AsgNumDecorationSelectionTool::m_maxCutIndex
int m_maxCutIndex
Definition
AsgNumDecorationSelectionTool.h:58
CP::AsgNumDecorationSelectionTool::initialize
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
Definition
AsgNumDecorationSelectionTool.cxx:33
CP::AsgNumDecorationSelectionTool::m_minCutIndex
int m_minCutIndex
Definition
AsgNumDecorationSelectionTool.h:57
CP::AsgNumDecorationSelectionTool::m_accept
asg::AcceptInfo m_accept
Definition
AsgNumDecorationSelectionTool.h:62
CP::AsgNumDecorationSelectionTool::m_accessor
std::unique_ptr< SG::ConstAccessor< T > > m_accessor
Definition
AsgNumDecorationSelectionTool.h:60
IAsgSelectionTool
Definition
IAsgSelectionTool.h:28
asg::AcceptData
Definition
AcceptData.h:31
asg::AcceptInfo
Definition
AcceptInfo.h:28
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition
AsgTool.h:47
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
xAOD::name
name
Definition
TriggerMenuJson_v1.cxx:29
type
Generated on
for ATLAS Offline Software by
1.17.0