Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Properties
Related Functions
:
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
v
w
x
z
Files
File List
File Members
All
$
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Variables
$
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Enumerations
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
v
x
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Macros
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
GitLab
LXR
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Modules
Pages
PhysicsAnalysis
AnalysisCommon
PMGTools
PMGTools
PMGDecayProductsSelectionTool.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3
*/
4
6
7
8
9
#ifndef PMG_TOOLS__PMG_DECAY_PRODUCTS_SELECTION_TOOL_H
10
#define PMG_TOOLS__PMG_DECAY_PRODUCTS_SELECTION_TOOL_H
11
12
#include <
AsgTools/AsgTool.h
>
13
#include <
PATCore/IAsgSelectionTool.h
>
14
#include <
xAODTruth/TruthParticle.h
>
15
#include <
xAODTruth/TruthParticleContainer.h
>
16
17
18
namespace
PMGTools
19
{
22
23
class
PMGDecayProductsSelectionTool
final
24
:
public
asg::AsgTool
,
virtual
public
IAsgSelectionTool
25
{
26
// Create a proper constructor for Athena
27
ASG_TOOL_CLASS
(
PMGDecayProductsSelectionTool
,
IAsgSelectionTool
)
28
29
30
31
public
:
32
PMGDecayProductsSelectionTool
(
const
std::string&
name
);
33
34
35
36
37
//
38
// inherited interface
39
//
40
41
virtual
StatusCode
initialize
()
override
;
42
43
virtual
const
asg::AcceptInfo
&
getAcceptInfo
()
const override
;
44
45
virtual
asg::AcceptData
accept
(
const
xAOD::IParticle
*
/*part*/
)
const override
;
46
47
48
49
//
50
// private interface
51
//
52
54
private
:
55
asg::AcceptData
hasRequiredInitialParent
(
const
xAOD::TruthParticle
*truthParticle,
asg::AcceptData
& acceptData)
const
;
56
58
private
:
59
size_t
getNParents
(
const
xAOD::TruthParticle
*truthParticle)
const
;
60
62
private
:
63
const
xAOD::TruthParticle
*
getParent
(
const
xAOD::TruthParticle
*truthParticle,
64
size_t
index
)
const
;
65
68
69
private
:
70
std::vector<int>
m_requiredParentPDGIDs
;
71
std::vector<int>
m_allowedIntermediatePDGIDs
;
72
74
75
private
:
77
int
m_truthParticleIndex
{ -1 };
79
int
m_requiredParentIndex
{ -1 };
80
82
private
:
83
asg::AcceptInfo
m_accept
;
84
86
private
:
87
std::unique_ptr<const SG::AuxElement::Accessor<std::vector<ElementLink<xAOD::TruthParticleContainer>>>>
m_parentsAccessor
{};
88
};
89
}
90
91
#endif
PMGTools::PMGDecayProductsSelectionTool::m_requiredParentPDGIDs
std::vector< int > m_requiredParentPDGIDs
tool properties
Definition:
PMGDecayProductsSelectionTool.h:70
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition:
AsgTool.h:47
index
Definition:
index.py:1
PMGTools::PMGDecayProductsSelectionTool::hasRequiredInitialParent
asg::AcceptData hasRequiredInitialParent(const xAOD::TruthParticle *truthParticle, asg::AcceptData &acceptData) const
Helper function to check for required parent particles.
Definition:
PMGDecayProductsSelectionTool.cxx:106
TruthParticleContainer.h
PMGTools::PMGDecayProductsSelectionTool::getNParents
size_t getNParents(const xAOD::TruthParticle *truthParticle) const
Helper function to get the number of parent particles.
Definition:
PMGDecayProductsSelectionTool.cxx:148
PMGTools::PMGDecayProductsSelectionTool::getParent
const xAOD::TruthParticle * getParent(const xAOD::TruthParticle *truthParticle, size_t index) const
Helper function get a parent by index.
Definition:
PMGDecayProductsSelectionTool.cxx:163
PMGTools::PMGDecayProductsSelectionTool::m_accept
asg::AcceptInfo m_accept
the AcceptInfo we are using
Definition:
PMGDecayProductsSelectionTool.h:83
PMGTools::PMGDecayProductsSelectionTool::m_parentsAccessor
std::unique_ptr< const SG::AuxElement::Accessor< std::vector< ElementLink< xAOD::TruthParticleContainer > > > > m_parentsAccessor
common parents accessor
Definition:
PMGDecayProductsSelectionTool.h:87
IAsgSelectionTool
Definition:
IAsgSelectionTool.h:28
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition:
Event/xAOD/xAODBase/xAODBase/IParticle.h:41
IAsgSelectionTool.h
PMGTools::PMGDecayProductsSelectionTool::m_requiredParentIndex
int m_requiredParentIndex
Index for the required parent particles.
Definition:
PMGDecayProductsSelectionTool.h:79
asg::AcceptInfo
Definition:
AcceptInfo.h:28
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition:
PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
xAOD::TruthParticle_v1
Class describing a truth particle in the MC record.
Definition:
TruthParticle_v1.h:37
PMGTools::PMGDecayProductsSelectionTool::initialize
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
Definition:
PMGDecayProductsSelectionTool.cxx:37
PMGTools
Tool providing sample cross-sections and k-factors etc.
Definition:
AnalysisCommon/PMGTools/PMGTools/IPMGSherpaVjetsSysTool.h:16
PMGTools::PMGDecayProductsSelectionTool::m_truthParticleIndex
int m_truthParticleIndex
Index for the truth particle link.
Definition:
PMGDecayProductsSelectionTool.h:77
PMGTools::PMGDecayProductsSelectionTool::getAcceptInfo
virtual const asg::AcceptInfo & getAcceptInfo() const override
Declare the interface ID for this pure-virtual interface class to the Athena framework.
Definition:
PMGDecayProductsSelectionTool.cxx:73
PMGTools::PMGDecayProductsSelectionTool::accept
virtual asg::AcceptData accept(const xAOD::IParticle *) const override
The main accept method: the actual cuts are applied here.
Definition:
PMGDecayProductsSelectionTool.cxx:81
PMGTools::PMGDecayProductsSelectionTool::PMGDecayProductsSelectionTool
PMGDecayProductsSelectionTool(const std::string &name)
standard constructor
Definition:
PMGDecayProductsSelectionTool.cxx:27
name
std::string name
Definition:
Control/AthContainers/Root/debug.cxx:228
columnar::final
CM final
Definition:
ColumnAccessor.h:106
PMGTools::PMGDecayProductsSelectionTool
an IAsgSelectionTool that select particles based on the allowed decay chain
Definition:
PMGDecayProductsSelectionTool.h:25
ASG_TOOL_CLASS
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Definition:
AsgToolMacros.h:68
AsgTool.h
TruthParticle.h
PMGTools::PMGDecayProductsSelectionTool::m_allowedIntermediatePDGIDs
std::vector< int > m_allowedIntermediatePDGIDs
Definition:
PMGDecayProductsSelectionTool.h:71
asg::AcceptData
Definition:
AcceptData.h:30
Generated on Sun Mar 30 2025 21:16:56 for ATLAS Offline Software by
1.8.18