ATLAS Offline Software
Jet_p6.h
Go to the documentation of this file.
1 
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 
31 class JetAssociationBase;
32 
33 class 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:
46 public:
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:
67 private:
68 
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
Jet_p6::m_RoIword
unsigned int m_RoIword
Definition: Jet_p6.h:99
Jet_p6::m_momentum
float m_momentum[12]
the 4-mom part
Definition: Jet_p6.h:83
Jet_p6::m_dataType
int m_dataType
Definition: Jet_p6.h:90
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
Jet_p6::m_author
unsigned int m_author
storing what jet algorithm the jet belongs to
Definition: Jet_p6.h:104
Jet_p6::m_constituentsN
unsigned int m_constituentsN
Definition: Jet_p6.h:101
Navigable_p2.h
This file contains the class definition for the Navigable_p2 class.
Jet_p6::operator=
Jet_p6 & operator=(Jet_p6 &&) noexcept=default
Jet_p6::m_nav
Navigable_p2< uint32_t, float > m_nav
the navigable part
Definition: Jet_p6.h:70
Jet_p6::m_constituentSigState
int m_constituentSigState
we store the recoStatus for jets here
Definition: Jet_p6.h:98
Jet_p6::Jet_p6
Jet_p6(Jet_p6 &&other) noexcept=default
Jet_p6::Jet_p6
Jet_p6(const Jet_p6 &other) noexcept=default
JetConverterBase
Definition: JetConverterBase.h:32
Jet_p6::m_associations
std::vector< TPObjRef > m_associations
JetAssociationBase objects.
Definition: Jet_p6.h:116
JetAssociationBase
Definition: JetAssociationBase.h:21
private
#define private
Definition: DetDescrConditionsDict_dict_fixes.cxx:13
Jet_p6::~Jet_p6
~Jet_p6()=default
Destructor:
Jet_p6::m_origin
ElementLinkInt_p3 m_origin
link to the particle's origin (vertex)
Definition: Jet_p6.h:92
TPObjRef.h
AthenaBarCode_p1.h
Jet_p6::Jet_p6
Jet_p6()=default
Default constructor:
InDetDD::other
@ other
Definition: InDetDD_Defs.h:16
Jet_p6::m_tagJetInfo
std::vector< TPObjRef > m_tagJetInfo
JetTagInfoBase objects.
Definition: Jet_p6.h:113
Jet_p6
Definition: Jet_p6.h:34
python.CaloScaleNoiseConfig.default
default
Definition: CaloScaleNoiseConfig.py:79
Navigable_p2
Definition: Navigable_p2.h:22
JetConverterBase.h
Jet_p6::m_jetId
short m_jetId
Definition: Jet_p6.h:109
Jet_p6::operator=
Jet_p6 & operator=(const Jet_p6 &) noexcept=default