Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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 
8 
9 using namespace xAOD;
10 
11 // Static accessors
15 namespace {
16  // register attributes' types early (before I/O) for schema evolution
18 }
19 
20 MissingET_v1::MissingET_v1( bool createStore )
21  : SG::AuxElement() {
22 
23  if( createStore ) {
25  setName(this->name());
26  }
27 }
28 
29 MissingET_v1::MissingET_v1( const std::string& name,
31  : SG::AuxElement() {
32 
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,
42  : SG::AuxElement() {
43 
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,
54  : SG::AuxElement() {
55 
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 ??
64  : SG::AuxElement(met) {
65 
66  this->makePrivateStore(&met);
67  updateHash();
68 }
69 
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 
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 
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 
122 
126  clear();
127 }
xAOD::name
name
Definition: TriggerMenuJson_v1.cxx:29
test_pyathena.px
px
Definition: test_pyathena.py:18
SG
Forward declaration.
Definition: CaloCellPacker_400_500.h:32
xAOD::MissingET_v1::f_sumet
float & f_sumet()
Returns reference to store.
SG::Accessor
Helper class to provide type-safe access to aux data.
Definition: Control/AthContainers/AthContainers/Accessor.h:68
WriteCellNoiseToCool.src
src
Definition: WriteCellNoiseToCool.py:513
xAOD::MissingET_v1::sumet
float sumet() const
Returns.
xAOD::MissingET_v1::~MissingET_v1
~MissingET_v1()
Implementation class destructor.
Definition: MissingET_v1.cxx:70
MissingET_v1.h
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
MissingETBase::Types::bitmask_t
uint64_t bitmask_t
Type for status word bit mask.
Definition: MissingETBase.h:39
xAOD::MissingET_v1::m_acc_mpy
static const SG::AuxElement::Accessor< float > m_acc_mpy
Definition: MissingET_v1.h:120
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition: Event/xAOD/xAODBase/xAODBase/IParticle.h:41
yodamerge_tmp.scale
scale
Definition: yodamerge_tmp.py:138
xAOD::MissingET_v1::setSource
void setSource(MissingETBase::Types::bitmask_t src)
Set the source of the MET object.
EXTRACT_SCALED_PY
#define EXTRACT_SCALED_PY(_T_, _V_, _P_, _S_)
Definition: MissingETBase.h:20
xAOD::py
py
Definition: CompositeParticle_v1.cxx:160
xAOD::MissingET_v1::MissingET_v1
MissingET_v1(bool createStore=false)
Default constructor.
Definition: MissingET_v1.cxx:20
xAOD::MissingET_v1::setName
void setName(const std::string &name)
Set the name of the MET object.
met
Definition: IMETSignificance.h:24
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.
MissingETBase::Source::unknown
static Types::bitmask_t unknown()
Definition: MissingETBase.h:412
xAOD::MissingET_v1
Principal data object for Missing ET.
Definition: MissingET_v1.h:25
xAOD::MissingET_v1::mpx
float mpx() const
Returns .
xAOD::MissingET_v1::m_acc_sumet
static const SG::AuxElement::Accessor< float > m_acc_sumet
Definition: MissingET_v1.h:121
python.xAODType.dummy
dummy
Definition: xAODType.py:4
EXTRACT_PX
#define EXTRACT_PX(_T_, _V_, _P_)
Definition: MissingETBase.h:11
EXTRACT_SCALED_PX
#define EXTRACT_SCALED_PX(_T_, _V_, _P_, _S_)
Definition: MissingETBase.h:17
xAOD::MissingET_v1::name
const std::string & name() const
Identifier getters.
MissingETBase.h
xAOD::IParticle::pt
virtual double pt() const =0
The transverse momentum ( ) of the particle.
xAOD::MissingET_v1::add
void add(const IParticle *particle)
Add particle kinematics to MET.
Definition: MissingET_v1.cxx:77
xAOD::MissingET_v1::operator-=
MissingET_v1 & operator-=(const IParticle *part)
Remove particle kinematics to MET.
Definition: MissingET_v1.cxx:109
xAOD::MissingET_v1::m_acc_mpx
static const SG::AuxElement::Accessor< float > m_acc_mpx
Definition: MissingET_v1.h:119
SG::AuxElement::makePrivateStore
void makePrivateStore()
Create a new (empty) private store for this object.
Definition: AuxElement.cxx:192
xAOD::MissingET_v1::operator=
MissingET_v1 & operator=(const MissingET_v1 &met)
Add particle kinematics to MET.
Definition: MissingET_v1.cxx:99
xAOD::MissingET_v1::mpy
float mpy() const
Returns .
xAOD::MissingET_v1::clear
void clear()
Clear/reset the data store.
MissingETBase::Strings::unknownString
static const std::string & unknownString()
Access unknown string indicator.
Definition: MissingETBase.h:135
xAOD::MissingET_v1::f_mpy
float & f_mpy()
Returns reference to store.
xAOD::MissingET_v1::f_mpx
float & f_mpx()
Returns reference to store.
EXTRACT_PY
#define EXTRACT_PY(_T_, _V_, _P_)
Definition: MissingETBase.h:14