ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Event
xAOD
xAODMissingET
Root
MissingET_v1.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
6
#include "
xAODMissingET/versions/MissingET_v1.h
"
7
#include "
xAODMissingET/versions/MissingETBase.h
"
8
9
using namespace
xAOD
;
10
11
// Static accessors
12
const
SG::Accessor<float>
MissingET_v1::m_acc_mpx
(
"mpx"
);
13
const
SG::Accessor<float>
MissingET_v1::m_acc_mpy
(
"mpy"
);
14
const
SG::Accessor<float>
MissingET_v1::m_acc_sumet
(
"sumet"
);
15
namespace
{
16
// register attributes' types early (before I/O) for schema evolution
17
static
const
SG::Accessor<MissingETBase::Types::bitmask_t>
dummy
(
"source"
);
18
}
19
20
MissingET_v1::MissingET_v1
(
bool
createStore )
21
:
SG
::AuxElement() {
22
23
if
( createStore ) {
24
createPrivateStore
();
25
setName
(this->
name
());
26
}
27
}
28
29
MissingET_v1::MissingET_v1
(
const
std::string&
name
,
30
MissingETBase::Types::bitmask_t
src )
31
:
SG
::AuxElement() {
32
33
createPrivateStore
();
34
setName
(
name
);
35
setSource
( src );
36
37
}
38
39
MissingET_v1::MissingET_v1
(
float
mpx
,
float
mpy
,
float
sumet
,
40
const
std::string&
name
,
41
MissingETBase::Types::bitmask_t
src )
42
:
SG
::AuxElement() {
43
44
createPrivateStore
();
45
setName
(
name
);
46
setSource
( src );
47
this->
f_mpx
() = mpx;
48
this->
f_mpy
() = mpy;
49
this->
f_sumet
() = sumet;
50
}
51
52
MissingET_v1::MissingET_v1
(
const
IParticle
* particle,
const
std::string&
name
,
53
MissingETBase::Types::bitmask_t
src )
54
:
SG
::AuxElement() {
55
56
createPrivateStore
();
57
setName
(
name
);
58
setSource
( src );
59
add
( particle->p4().Px(), particle->p4().Py(), particle->pt() );
60
}
61
62
// CHECK use makePrivateStore to control that behaviour ??
63
MissingET_v1::MissingET_v1
(
const
MissingET_v1
&
met
)
64
:
SG
::AuxElement(
met
) {
65
66
this->makePrivateStore(&
met
);
67
updateHash
();
68
}
69
70
MissingET_v1::~MissingET_v1
()
71
{ }
72
74
// Note: the add(...) methods are virtual and should therefore not be inlined.
76
77
void
MissingET_v1::add
(
const
IParticle
* particle)
78
{
79
// retrieve kinematics
80
EXTRACT_PX
(
float
, px, (*particle) );
81
EXTRACT_PY
(
float
,
py
, (*particle) );
82
// add
83
this->
add
(px,
py
,particle->pt());
84
}
85
86
void
MissingET_v1::add
(
const
IParticle
* particle,
float
scale)
87
{
88
// retrieve kinematics
89
EXTRACT_SCALED_PX
(
float
, px, (*particle), scale);
90
EXTRACT_SCALED_PY
(
float
,
py
, (*particle), scale);
91
float
pt
(particle->pt()*scale);
92
// add
93
this->
add
(px,
py
,
pt
);
94
}
95
96
void
xAOD::MissingET_v1::add
(
float
px,
float
py
,
float
pt
)
97
{ this->
f_mpx
() -= px; this->
f_mpy
() -=
py
; this->
f_sumet
() +=
pt
; }
98
99
MissingET_v1
&
MissingET_v1::operator=
(
const
MissingET_v1
&
met
)
100
{
101
setName
(
met
.name() );
102
setSource
(
met
.source() );
103
this->
f_mpx
() = met.
mpx
();
104
this->
f_mpy
() = met.
mpy
();
105
this->
f_sumet
() = met.
sumet
();
106
return
*
this
;
107
}
108
109
MissingET_v1
&
MissingET_v1::operator-=
(
const
IParticle
* particle)
110
{
111
EXTRACT_PX
(
float
, px, (*particle) );
112
EXTRACT_PY
(
float
,
py
, (*particle) );
113
this->
add
(-px,-
py
,-particle->pt());
114
return
*
this
;
115
}
116
121
void
MissingET_v1::createPrivateStore
() {
122
123
makePrivateStore();
124
setName
(
MissingETBase::Strings::unknownString
() );
125
setSource
(
MissingETBase::Source::unknown
() );
126
clear
();
127
}
MissingETBase.h
EXTRACT_SCALED_PY
#define EXTRACT_SCALED_PY(_T_, _V_, _P_, _S_)
Definition
MissingETBase.h:20
EXTRACT_SCALED_PX
#define EXTRACT_SCALED_PX(_T_, _V_, _P_, _S_)
Definition
MissingETBase.h:17
EXTRACT_PY
#define EXTRACT_PY(_T_, _V_, _P_)
Definition
MissingETBase.h:14
EXTRACT_PX
#define EXTRACT_PX(_T_, _V_, _P_)
Definition
MissingETBase.h:11
MissingET_v1.h
SG::Accessor
Helper class to provide type-safe access to aux data.
Definition
Control/AthContainers/AthContainers/Accessor.h:68
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition
Event/xAOD/xAODBase/xAODBase/IParticle.h:41
xAOD::MissingET_v1::sumet
float sumet() const
Returns.
xAOD::MissingET_v1::operator-=
MissingET_v1 & operator-=(const IParticle *part)
Remove particle kinematics to MET.
Definition
MissingET_v1.cxx:109
xAOD::MissingET_v1::clear
void clear()
Clear/reset the data store.
xAOD::MissingET_v1::add
void add(const IParticle *particle)
Add particle kinematics to MET.
Definition
MissingET_v1.cxx:77
xAOD::MissingET_v1::setSource
void setSource(MissingETBase::Types::bitmask_t src)
Set the source of the MET object.
xAOD::MissingET_v1::f_mpy
float & f_mpy()
Returns reference to store.
xAOD::MissingET_v1::m_acc_sumet
static const SG::Accessor< float > m_acc_sumet
Definition
MissingET_v1.h:121
xAOD::MissingET_v1::~MissingET_v1
~MissingET_v1()
Implementation class destructor.
Definition
MissingET_v1.cxx:70
xAOD::MissingET_v1::createPrivateStore
void createPrivateStore()
Function initialising the object to work in standalone mode.
Definition
MissingET_v1.cxx:121
xAOD::MissingET_v1::updateHash
void updateHash()
Update the hash to match the current name.
xAOD::MissingET_v1::MissingET_v1
MissingET_v1(bool createStore=false)
Default constructor.
Definition
MissingET_v1.cxx:20
xAOD::MissingET_v1::m_acc_mpy
static const SG::Accessor< float > m_acc_mpy
Definition
MissingET_v1.h:120
xAOD::MissingET_v1::m_acc_mpx
static const SG::Accessor< float > m_acc_mpx
Definition
MissingET_v1.h:119
xAOD::MissingET_v1::f_mpx
float & f_mpx()
Returns reference to store.
xAOD::MissingET_v1::name
const std::string & name() const
Identifier getters.
xAOD::MissingET_v1::mpx
float mpx() const
Returns .
xAOD::MissingET_v1::operator=
MissingET_v1 & operator=(const MissingET_v1 &met)
Add particle kinematics to MET.
Definition
MissingET_v1.cxx:99
xAOD::MissingET_v1::setName
void setName(const std::string &name)
Set the name of the MET object.
xAOD::MissingET_v1::f_sumet
float & f_sumet()
Returns reference to store.
xAOD::MissingET_v1::mpy
float mpy() const
Returns .
CalibDbCompareRT.dummy
dummy
Definition
CalibDbCompareRT.py:59
MissingETBase::Types::bitmask_t
uint64_t bitmask_t
Type for status word bit mask.
Definition
MissingETBase.h:39
SG
Forward declaration.
Definition
CaloCellPacker_400_500.h:32
met
Definition
IMETSignificance.h:24
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition
ICaloAffectedTool.h:24
xAOD::pt
setRcore setEtHad setFside pt
Definition
TrigPhoton_v1.cxx:106
xAOD::py
py
Definition
CompositeParticle_v1.cxx:160
MissingETBase::Source::unknown
static Types::bitmask_t unknown()
Definition
MissingETBase.h:412
MissingETBase::Strings::unknownString
static const std::string & unknownString()
Access unknown string indicator.
Definition
MissingETBase.h:135
Generated on
for ATLAS Offline Software by
1.17.0