ATLAS Offline Software
Loading...
Searching...
No Matches
Jet_p6.h
Go to the documentation of this file.
1
2
3/*
4 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
5*/
6
7// Jet_p6.h
8// Header file for class Jet_p6
9// Author: P.A Delsart
10// Date: December 2009
12#ifndef JETEVENTTPCNV_JET_P6_H
13#define JETEVENTTPCNV_JET_P6_H
14
15// STL includes
16#include <vector>
17
18// DataModelAthenaPool includes
20
22
25
26// DataModelAthenaPool
28
30
32
33class Jet_p6
34{
36 // Friend classes
38
39 // Make the templated JetConverterBase class our friend
40 template <class PERS>
41 friend class JetConverterBase;
42
44 // Public methods:
46public:
47
50 Jet_p6() = default;
51
54 ~Jet_p6() = default;
55
56 // copy and move constructor defaulted
57 Jet_p6(const Jet_p6& other) noexcept = default;
58 Jet_p6(Jet_p6&& other) noexcept = default;
59
60 // copy and move assignment defaulted
61 Jet_p6 & operator=(const Jet_p6 &) noexcept = default;
62 Jet_p6 & operator=(Jet_p6 &&) noexcept = default;
63
65 // Private data:
67private:
68
70 Navigable_p2<uint32_t, float> m_nav;
71
73 // P4PxPyPzE_p1 m_momentum;
74 // we'll store the 4 momenta as floats. Additionally, we'll store both signal states
75 // calibrated and uncalibrated, if available. Store in own struct "mom" with 4 floats
76 // float px, py, pz, m;
77 // std::vector<mom> m_momentum;
78 // JetConverterTypes::momentum m_momentum;
79 // JetConverterTypes::signalState_pers_t m_rawSignal;
80
81 // We use a fixed array to store the 3x4-momentum for efficiency reasons
82 // in the form px,py,pz,e and in the order FINAL, EMSCALE, CONSTITSCALE
83 float m_momentum[12] = {0};
84
85
86
87 // The Particle base stuff -- since Jet now inherits from particle base.
88 // ParticleBase_p1 m_partBase;
89 // replace the above by what's only usefull for jets :
90 int m_dataType{0};
93
94
95
99 unsigned int m_RoIword{0};
100
101 unsigned int m_constituentsN{0};
102
104 unsigned int m_author{0};
105
106
107
108
109 short m_jetId{0}; // WARNING the transiant part is a unsigned int. However this index jets.
110 // indexing moments for more than 32768 jets doesn't make sens.
111
113 std::vector<TPObjRef> m_tagJetInfo;
114
116 std::vector<TPObjRef> m_associations;
117
118
119
120};
121
122#endif //> JETEVENTTPCNV_JET_P6_H
This file contains the class definition for the Navigable_p2 class.
short m_jetId
Definition Jet_p6.h:109
unsigned int m_RoIword
Definition Jet_p6.h:99
float m_momentum[12]
the 4-mom part
Definition Jet_p6.h:83
Navigable_p2< uint32_t, float > m_nav
the navigable part
Definition Jet_p6.h:70
~Jet_p6()=default
Destructor:
Jet_p6 & operator=(const Jet_p6 &) noexcept=default
int m_constituentSigState
we store the recoStatus for jets here
Definition Jet_p6.h:98
std::vector< TPObjRef > m_associations
JetAssociationBase objects.
Definition Jet_p6.h:116
Jet_p6(Jet_p6 &&other) noexcept=default
Jet_p6 & operator=(Jet_p6 &&) noexcept=default
friend class JetConverterBase
Definition Jet_p6.h:41
ElementLinkInt_p3 m_origin
link to the particle's origin (vertex)
Definition Jet_p6.h:92
unsigned int m_author
storing what jet algorithm the jet belongs to
Definition Jet_p6.h:104
std::vector< TPObjRef > m_tagJetInfo
JetTagInfoBase objects.
Definition Jet_p6.h:113
Jet_p6()=default
Default constructor:
Jet_p6(const Jet_p6 &other) noexcept=default
unsigned int m_constituentsN
Definition Jet_p6.h:101
int m_dataType
Definition Jet_p6.h:90
#define private